- 设计一个基于flask的高并发高可用的查询ip的http服务
职场亮哥
其他
结构设计基础架构为flask+gunicorn+负载均衡,负载均衡分为阿里云硬件负载均衡服务和软负载nginx。gunicorn使用supervisor进行管理。使用nginx软件负载结构图使用阿里云硬件负载均衡服务结构图因为flaskapp需要在内存中保存ip树以及国家、省份、城市相关的字典,因此占用内存较高。gunicorn的1个worker需要占用300M内存,nginx的4个worker内
- 高并发系统的艺术:如何在流量洪峰中游刃有余
架构
作者:京东物流赵勇萍前言我们常说的三高,高并发、高可用、高性能,这些技术是构建现代互联网应用程序所必需的。对于京东618备战来说,所有的中台系统服务,无疑都是围绕着三高来展开的。而对于京东庞大的客户群体,高并发的要求尤为重要。用户对在线服务的需求和期望不断提高,系统的并发处理能力成为衡量其性能和用户体验的关键指标之一。高并发系统不仅仅是大型互联网企业的专利,对于任何希望在市场中占据一席之地的公司来
- MySQL的双主互备
zhz5214
数据同步mysql数据库
参考:Windows下mysql双主搭建https://www.cnblogs.com/chenyixun/p/13810156.htmlMySQL的双机互备(又称为MySQL高可用)是一种数据库系统部署策略,可以实现在两台服务器之间实现高可用性和容错能力。具体而言,MySQL的双机互备将MySQL数据库部署在两台服务器上,其中一台作为主服务器(Master),另一台作为备用服务器(Slave)。
- Go语言实战,HTTP和gRPC多服务启动与关闭的最佳实践
zhuyasen
go后端httprpc
在Go开发中,构建健壮的应用程序不仅需要关注核心业务逻辑,还要考虑服务的优雅启动与关闭。特别是在微服务架构中,如何优雅地启动和停止多个服务成为了系统设计中的一个重要议题。今天我们来深入探讨一款基于Go语言开发的app库,该库利用errgroup实现了服务的并发启动,并能在系统关闭时优雅地释放各项资源。一、设计原理解析在一个复杂的系统中,通常会有多个服务并行运行,如HTTP服务、gRPC服务等。如何
- OpenGauss查看当前数据容量的深度探索
字节熊猫
openGauss数据库数据库开发华为‘’
OpenGauss查看当前数据容量的深度探索在数据库管理中,了解和监控数据库的容量是一项至关重要的任务。OpenGauss作为一款高性能、高可用性的开源关系型数据库管理系统,提供了丰富的内置函数和工具来帮助数据库管理员(DBA)完成这一任务。本文将深入探讨如何使用OpenGauss提供的工具和SQL语句来查看当前数据库的容量,并通过详细的实现代码来展示这一过程。一、OpenGauss数据库容量概述
- C#实现动态验证码生成器:安全防护与实际应用场景
WangMing_X
C#实现各种功能工具集c#安全开发语言验证码图片
一、核心应用场景用户登录/注册验证:防止恶意程序批量注册表单提交防护:确保关键操作由真人执行API接口限流:抵御自动化脚本攻击敏感操作验证:如支付、信息修改等关键步骤数据防爬机制:保护网站内容不被爬虫抓取二、技术实现方案1.基础架构设计//验证码服务架构+------------------------+|验证码生成模块|←随机字符|(CaptchaGenerator)|+------------
- Spring Cloud 与微服务学习总结(14)—— 云原生时代,如何从 Java 开发者转型微服务?
一杯甜酒
SpringCloud与微服务java云原生springcloud微服务微服务架构
前言根据维基百科定义,微服务不是整体应用程序中的一个层。相反,微服务是一个独立的业务功能,具有清晰的接口,并且可以通过内部组件实现分层架构。从战略角度来看,微服务架构基本上遵循“做一件事,就要做得好”的Unix哲学。为了应对传统单体架构的缺陷,微服务架构被企业广泛应用。然而,实践之前有很多问题都需要提前考虑清楚,比如Java背景的开发者是否更有优势?微服务、容器化、DevOps和CI/CD之间的关
- 如何合理拆分微服务
微服务
**在微服务架构中,要想做到合理拆分,需要重点关注:服务边界划分、业务耦合度控制、数据隔离策略、服务自治能力、团队组织协调。它们共同决定了微服务架构的灵活度与可维护性,其中,服务边界划分是最基础且最关键的一步。它要求我们从业务领域出发,将高度聚合、密切相关的功能抽离成单独服务,避免粗放的“大而全”式切分。在实际落地时,应当以业务语义、数据交互频率等为出发点,力求服务粒度既不会过细导致管理成本飙升,
- Oracle RAC 三种心跳机制
数据库急诊日记
故障处理oracle数据库databaselinuxjavapythonc语言
在OracleRAC(RealApplicationClusters)中,心跳(Heartbeat)是集群节点间用于检测存活状态的核心机制,确保节点间的通信正常并避免脑裂(SplitBrain)问题。以下是RAC的三种关键心跳机制及其作用:1.网络心跳(NetworkHeartbeat)作用:通过私有网络互联(PrivateInterconnect)实时检测节点间的通信状态。工作原理:每个节点周期
- 【硬核实战】ETCD源码暴改指南!从日志魔改到Raft协议调优,手撕高可用集群!
码农突围计划
etcd数据库
一、源码暴改前的准备工作1.环境搭建与源码获取源码下载:从GitHub克隆ETCD源码并切换至目标分支(如release-3.5)gitclone--branchrelease-3.5https://github.com/etcd-io/etcd.gitGo环境配置:确保Go版本≥1.16,设置GOPATH和GOBIN环境变量exportGOPATH=$HOME/goexportGOBIN=$GO
- Eureka 介绍与原理详解
AllenBright
#Eurekaeureka云原生
在微服务架构中,服务发现(ServiceDiscovery)是一个至关重要的组件。随着服务数量的增加,手动管理服务的地址和端口变得不切实际。Eureka是Netflix开源的一款服务发现工具,旨在解决微服务架构中的服务注册与发现问题。本文将详细介绍Eureka的基本概念、工作原理以及如何在微服务架构中使用它。1.什么是Eureka?Eureka是Netflix开源的一个基于REST的服务发现组件,
- 浅显易懂——连接池、分布式系统、微服务等概念
十五春会
分布式微服务
文章目录连接池比喻技术层面关键参数实际应用示例分布式系统概念实现方式实际应用场景关键概念分布式会话管理分布式计数器分布式锁分布式事务(DistributedTransaction)分布式追踪集群环境比喻优缺微服务架构比喻优缺实际场景服务间通信负载均衡服务发现连接池比喻想象你是一家餐厅的顾客,你想点餐。每次点餐时,服务员需要去厨房取一个厨师来为你准备食物。如果每次点餐都重新找一个新厨师,不仅浪费时间
- Linux---sqlite3数据库
磨十三
数据库linuxsqlite
一、数据库分类1.按数据关系分类类型特点代表产品关系型数据库-使用SQL(结构化查询语言)-数据以行列形式存储,支持事务和复杂查询MySQL、Oracle、SQLite非关系型数据库-无固定表结构(如键值对、文档、图)-高扩展性,适合非结构化数据MongoDB、Redis2.按功能规模分类类型特点代表产品大型数据库高并发、高可用性,支持企业级应用Oracle、DB2中型数据库适用于中小型企业,跨平
- 开源项目的企业级性能优化服务:高价值咨询
AI天才研究院
计算DeepSeekR1&大数据AI人工智能大模型AI大模型企业级应用开发实战javapythonjavascriptkotlingolang架构人工智能大厂程序员硅基计算碳基计算认知计算生物计算深度学习神经网络大数据AIGCAGILLM系统架构设计软件哲学Agent程序员实现财富自由
文章标题《开源项目的企业级性能优化服务:高价值咨询》关键词:开源项目、企业级性能优化、性能评估、性能瓶颈、高可用性、性能优化服务、案例研究、优化策略摘要:本文章深入探讨了开源项目在企业环境中的性能优化问题,详细介绍了企业级性能优化服务的核心概念、方法、策略和实战案例。文章结构清晰,内容丰富,旨在为企业和开发人员提供高价值的性能优化咨询。目录第一部分:背景与核心概念第1章:开源项目的企业级性能优化概
- 基于 Flink 的海量日志实时处理系统的实践
zhisheng_blog
大数据实时计算引擎Flink实战与性能优化
海量日志实时处理需求分析在11.5节中讲解了Flink如何实时处理异常的日志,在那节中对比分析了几种常用的日志采集工具。我们也知道通常在排查线上异常故障的时候,查询日志总是必不可缺的一部分,但是现在微服务架构下日志都被分散到不同的机器上,日志查询就会比较困难,所以统一的日志收集几乎也是每家公司必不可少的。据笔者调研,不少公司现在是有日志统一的收集,也会去做日志的实时ETL,利用一些主流的技术比如E
- MongoDB副本集介绍与部署
寒秋丶
数据库数据库mongodb运维linux运维开发性能测试数据仓库
MongoDB副本集(ReplicaSet)作为MongoDB数据库的核心功能之一,为开发人员提供了一种简单而有效的方式来实现数据的高可用性和冗余备份。在本文中,我们将探讨MongoDB副本集的概念、工作原理以及如何配置和管理一个稳健的副本集环境。关于MongoDB分片介绍与部署,可以参考:MongoDB分片介绍与部署一、副本集介绍1、副本集(replicaset)MongoDB的副本集(Repl
- MongoDB介绍与部署使用
zhangleijiutian
mongodb
MongoDB的功能特性MongoDB是一个高性能、开源、无模式的文档型数据库,设计用于提供高性能、水平可扩性、高可用性和高级可查询性,为Web应用提供可扩展的高性能数据存储解决方案。MongoDB的名称取自单词”humogous”中间的几个字符,是很大、巨大的意思。该数据库由10gen公司开发并提供技术支持,它属于NoSQL数据库家族中的一员,在许多场景下可以用来替代传统关系型数据库或key/v
- Zookeeper性能优化与调优技巧精讲
AI天才研究院
AI大模型企业级应用开发实战DeepSeekR1&大数据AI人工智能大模型计算科学神经计算深度学习神经网络大数据人工智能大型语言模型AIAGILLMJavaPython架构设计AgentRPA
Zookeeper性能优化与调优技巧精讲1.背景介绍1.1什么是Zookeeper?ApacheZooKeeper是一个开源的分布式协调服务,为分布式应用程序提供高可用性和强一致性的协调服务。它主要用于解决分布式环境中的数据管理问题,如统一命名服务、配置管理、分布式锁、集群管理等。ZooKeeper的设计目标是构建一个简单且高效的核心,以确保最大程度的可靠性和可扩展性。1.2Zookeeper的应
- 【k8s集群部署篇】在openEuler环境下部署多master高可用kubernetes集群详细教程(V1.30版本)
江湖有缘
kubernetes容器云原生
【k8s集群部署篇】在openEuler环境下部署多master高可用kubernetes集群详细教程(V1.30版本)一、相关名词介绍1.1k8s简介1.2Keepalived简介1.3HAProxy简介二、本次实践介绍2.1环境规划介绍2.2本次实践简介三、所有节点基础环境配置3.1主机配置工作3.2关闭防火墙和selinux3.3关闭swap3.4清空iptables3.5配置时间同步3.6
- 【Linux】-Pve下的Nginx安装
前鼻音太阳熊
Linuxlinuxnginx运维
linuxpve系统安装nginxpve系统和普通系统的区别核心定位与功能差异PVE:是专为虚拟化场景设计的Linux发行版,内置KVM虚拟机和LXC容器管理功能,提供统一的Web界面及集群管理能力,支持高可用性、虚拟机迁移等企业级特性23。普通Linux:作为通用操作系统,需通过手动安装KVM、Docker等工具实现虚拟化/容器化功能,缺乏原生的集中式虚拟化平台管理界面67。系
- ClickHouse优化技巧实战指南:从原理到案例解析
AAEllisonPang
Clickhouseclickhouse
目录ClickHouse优化核心思想表结构设计优化查询性能优化技巧数据写入优化方案系统配置调优实战高可用与集群优化真实案例解析总结与建议1.ClickHouse优化核心思想ClickHouse作为OLAP领域的明星引擎,其优化需遵循列式存储特性,把握以下原则:批量操作优于单行处理预计算替代实时计算数据有序存储提升检索效率利用硬件资源最大化吞吐量2.表结构设计优化2.1分区键选择选择低基数且高频过滤
- Redis Sentinel (哨兵模式)深度解析:构建高可用分布式缓存系统的核心机制
月落星还在
redis缓存redissentinel
一、传统主从复制的痛点在分布式系统架构中,Redis作为高性能缓存和数据存储解决方案,其可用性直接关系到整个系统的稳定性。传统的主从复制架构虽然实现了数据冗余,但在面临节点故障时仍存在明显缺陷:手动故障转移:需要人工介入执行SLAVEOFNOONE命令服务中断风险:故障发现到处理期间服务不可用配置同步困难:客户端需要手动更新连接信息监控盲区:缺乏系统化的健康检查机制这些痛点直接催生了RedisSe
- C++设计模式-中介者模式:从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析
牵牛老人
C++专栏c++设计模式中介者模式
一、基本介绍:对象世界的"通信指挥官"1.1模式定义与价值中介者模式(MediatorPattern)是一种行为型设计模式,其核心思想是通过中介对象封装一组对象的交互规则,使各对象不再显式相互引用。如同现实中的机场塔台调度飞机起降,该模式将原本复杂的网状通信结构转化为星型结构,很大程度上降低了对象的耦合度。1.2模式演进历程从早期GUI事件处理到现代微服务架构,中介者模式始终扮演着关键角色。在Qt
- 面试基础---分布式架构基础消息队列Kafka vs RabbitMQ vs RocketMQ 对比
WeiLai1112
分布式架构面试分布式架构java后端dubbospringboot
分布式架构消息队列深度解析:KafkavsRabbitMQvsRocketMQ引言在高并发、高可用的分布式系统中,消息队列是实现异步通信、流量削峰、系统解耦的核心组件。Kafka、RabbitMQ和RocketMQ是当前最主流的消息中间件,各自在性能、可靠性、生态支持等方面有独特优势。本文将深入探讨三者的设计原理、核心特性及适用场景,结合电商、金融等实际案例与源码分析,为技术选型提供全面指导。1.
- HarmonyOS Next ohpm-repo多实例部署与数据迁移
harmonyos
在企业级开发环境中,随着业务规模的扩大和项目数量的增多,对ohpm-repo的性能和可靠性要求也越来越高。单点部署可能无法满足高并发、高可用性的需求,这时多实例部署就成为了一种更为合适的选择。今天,我们就来深入探讨ohpm-repo在企业级环境中的多实例部署方案,以及如何进行数据迁移。单点部署vs多实例部署本地单机模式(单点部署)单点部署是ohpm-repo最简单的部署方式,它仅部署在一台机器上。
- Docker+Flask 实战:打造高并发微服务架构
TechStack 创行者
#服务器容器Linuxdocker运维微服务容器架构
Docker+Flask实战:打造高并发微服务架构今天我们要深入探讨一个非常热门且实用的主题:基于Docker部署PythonFlask应用。Docker作为当下最流行的容器化技术,已经广泛应用于各种开发和部署场景,尤其是在微服务架构中。而Flask作为Python世界里轻量级的Web框架,同样备受开发者青睐。将二者结合,能极大地提高我们应用的部署效率和可移植性。接下来,我们就一起通过一个完整的实
- 面试基础---微服务架构深度解析:服务拆分、数据一致性与服务调用
WeiLai1112
后端架构面试微服务职场和发展java后端分布式
微服务架构深度解析:服务拆分、数据一致性与服务调用引言:从抖音日活7亿看微服务架构的重要性在2023年,抖音日活用户突破7亿,其核心系统通过微服务架构实现了高并发、高可用的业务支撑。本文将深入探讨微服务架构的设计与实现,结合工业级实践与源码解析,揭示高并发场景下的微服务之道。一、微服务拆分原则1.1拆分策略业务能力:按业务领域划分数据边界:确保数据独立性团队结构:匹配团队职责1.2拆分流程单体应用
- Spring Cloud Alibaba 实战:Sentinel 保障微服务的高可用性与流量防护
扣丁梦想家
微服务sentinel服务监控熔断降级springcloud微服务
1.1Sentinel作用Sentinel是阿里巴巴开源的一款流量控制和熔断降级框架,主要用于:流量控制:限制QPS,防止流量暴增导致系统崩溃熔断降级:当某个服务不可用时自动降级,避免故障扩散热点参数限流:根据参数值进行精细化流控(例如VIP用户限流策略)系统自适应保护:根据系统负载自动调整限流规则授权规则:根据来源服务进行限流API网关防护:结合SpringCloudGateway保护微服务1.
- Spring Boot在java领域中有哪些优势
ios
哈喽,大家好呀,淼淼又来和大家见面啦,随着云计算、微服务架构的兴起,Java开发领域迫切需要一套高效、灵活且易于上手的框架来应对日益复杂的业务需求。正是在这样的背景下,SpringBoot应运而生,以其独特的魅力迅速成为了Java开发者手中的利器。这一期淼淼将深入剖析SpringBoot在Java领域中的十大显著优势,揭示它为何成为现代软件开发不可或缺的一部分。1.零配置起航:约定优于配置Spri
- 3.1 Spring Boot性能优化:从线程池调优到JVM参数配置
Sendingab
Springboot从入门到精通零基础7天精通SpringBootspringboot性能优化jvm
markdown#SpringBoot性能优化:从线程池调优到JVM参数配置##引言在微服务架构中,SpringBoot作为主流开发框架,其性能直接影响系统的吞吐量和响应速度。本文将深入探讨从**线程池调优**到**JVM参数配置**的全链
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s