- Redis哨兵模式(Sentinel、1主2从3哨兵6台服务器配置实战、客户端调用、日志解析、主观下线、客观下线、仲裁、脑裂问题、哨兵长与从节点投票选举过程与原理)
小松聊PHP进阶
Redisredis服务器运维nosql后端架构数据库
哨兵模式官方文档:https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel关联博客:Redis主从复制(下文能用到)极简概括:自动监控Redis主节点是否故障的一种方案,若主节点故障,则Redis会根据投票数自动将从库切换为主库(这个过程,叫仲裁)。解决问题:在主从复制的架构模式下,Redis主节点挂掉后,从节点无
- 华为和华三交换机堆叠002
韩公子的Linux大集市
二网络AiOps华为网络运维
文章目录一、网络拓扑图(通用)拓扑图说明:关键特性图示:二、华为交换机堆叠(Stack)配置方案1:专用堆叠卡(推荐)方案2:业务口堆叠(无专用卡时)步骤3:验证堆叠状态三、华三交换机堆叠(IRF)配置方案1:专用IRF卡配置方案2:业务口堆叠步骤3:验证IRF状态四、关键安全配置(必做!)防脑裂:多主检测(MAD)堆叠分裂恢复流程:五、部署注意事项以下是华为(Stack)与华三(IRF)交换机堆
- 高可用系统:让服务永不中断的秘密
爱吃青菜的大力水手
linux运维服务器
高可用系统:让服务永不中断的秘密在数字化时代,系统的高可用性(HighAvailability,HA)至关重要。无论是电商平台还是金融服务,系统宕机都可能带来巨大损失。那么,什么是高可用系统?它又是如何实现的呢?本文将为您揭开高可用系统的神秘面纱,带您了解集群、节点、脑裂等核心概念,并推荐最经济实用的集群架构。什么是集群与节点?集群(Cluster)集群是一组协同工作的服务器,共同完成任务。它们就
- day043-负载均衡算法与高可用keepalived
孙克旭
老男孩教育Linux运维99期负载均衡算法运维linux
文章目录0.老男孩思想-运维能为公司创造的价值1.负载均衡轮询算法1.1加权轮询1.2ip哈希1.3url哈希2.负载均衡模块指令补充3.高可用4.keepalived4.1部署keepalived服务4.2脑裂故障4.2.1脑裂故障常见原因4.2.2脑裂故障解决方法5.思维导图0.老男孩思想-运维能为公司创造的价值省钱:服务器设备、机房带宽、云主机云服务减少CDN流量优化、架构改造,当流量增加时
- 详解Redission分布式锁脑裂问题
码上库利南
redis分布式
Redisson在RedisCluster模式下实现的分布式锁(基于RedLock思想),理论上仍然存在脑裂(NetworkPartition)导致锁失效的风险。这是由其依赖的“多数派”(Quorum)机制和分布式系统的不可能三角(CAP)决定的。一、脑裂发生的核心场景:假设一个拥有5个主节点(A,B,C,D,E)的RedisCluster:网络分区发生:集群被分裂成两个独立且无法通信的子集:分区
- 如何设计ES的冷热数据分离架构?Elasticsearch 集群如何实现高可用?如何避免脑裂问题?如果出现脑裂如何恢复?
搞不懂语言的程序员
elasticsearch中间件elasticsearch架构大数据
以下为Elasticsearch架构设计与高可用方案详细说明:冷热架构一、冷热数据分离架构设计(文字描述模拟架构图)[HotLayer]│├─SSD节点组(3节点)│├─角色:ingest/data/hot│├─存储:近7天数据│└─策略:索引自动滚动│[WarmLayer]│├─HDD节点组(5节点)│├─角色:data/warm│├─存储:历史数据│└─策略:ILM策略自动迁移│[Coordi
- 手把手教你搭建 Hadoop Namenode 高可用集群(HA)
线条1
hadoop大数据分布式
一、注意事项免密登录:确保所有节点间SSH免密登录正常,否则故障转移会失败。路径一致性:所有节点的Hadoop安装路径、数据目录需完全一致。端口冲突:检查9820、9870、8485等端口是否被占用。ZooKeeper集群:确保ZK集群稳定运行,至少3个节点避免脑裂。二、环境准备1.服务器规划节点角色软件依赖bigdata01Namenode1、JournalNode、ZooKeeperHadoo
- 分布式系统-脑裂,redis的解决方案
LeonNo11
redisredisphp数据库
感谢你的反馈!很高兴能帮到你。关于你提到的“脑裂”(split-brain),这是一个分布式系统中的常见术语,尤其在像RedisCluster这样的高可用集群中会涉及。既然你问到了,我会从头解释“脑裂”的含义、RedisCluster中可能出现的相关场景,以及如何避免它,尽量通俗易懂,同时保持技术深度,帮助你加深理解。1.脑裂的定义“脑裂”是指在分布式系统中,由于网络分区(networkparti
- galera mysql5.7_MySQL Galera集群搭建流程(Percona XtraDB Cluster 5.7)
overlogged
galeramysql5.7
避免创建偶数节点数量的集群,因为这样会导致脑裂。Linux版本:CentOS6.5IP信息:NodeIPNode110.20.30.10Node210.20.30.20Node310.20.30.30关掉selinux和防火墙,否则后面初始化集群会失败[root@localhostmysql_log_57]#vim/etc/selinux/configSELINUX=disabled1.在所有节点
- ElasticSearch集群搭建
可乐加可乐冰
服务器elasticsearchesdockerlinux搜索引擎
参考文档:docker搭建ElasticSearch集群ES脑裂问题及解决Elasticsearch学习SpringBoot整合ElasticsearchLinux系统下安装es中ik分词器docker安装的ES和Kibana设置账号密码使用postman访问带密码的esjavaESRestHighLevelClient客户端“单机“、集群配置前提条件:Linux服务器,已经安装好了docker。
- 感受一下『迅雷』的面试强度
后端go
今天还是分享一下组织内部成员最近的面经,是来自迅雷的go后端开发面经,内容涵盖Redis、分布式锁(SETNX/RedLock/可重入锁)、高可用(故障转移、脑裂防护)、数据一致性方案(事务消息、延迟双删、幂等设计)、消息队列可靠性(持久化、副本机制)等等面经详解1.逃逸分析定义与作用逃逸分析是Go编译器在编译阶段自动判断变量应分配到栈(函数结束时自动回收)还是堆(需GC回收)的优化技术。其核心目
- Elasticsearch运维常见问题与调试指南
IT成长日记
运维elasticsearchjenkins
在Elasticsearch维护过程中,我们经常会遇到分片未分配、内存溢出(OOM)、集群脑裂(Split-Brain)和索引损坏等问题。本文将介绍这些常见问题的排查方法、解决方案及预防措施,帮助你高效管理你的Elasticsearch集群。1分片未分配问题排查1.1问题现象分片长期处于UNASSIGNED状态集群健康状态为yellow或red1.2常见原因节点资源不足(磁盘、CPU、内存)分片分
- Oracle RAC 三种心跳机制
数据库急诊日记
故障处理oracle数据库databaselinuxjavapythonc语言
在OracleRAC(RealApplicationClusters)中,心跳(Heartbeat)是集群节点间用于检测存活状态的核心机制,确保节点间的通信正常并避免脑裂(SplitBrain)问题。以下是RAC的三种关键心跳机制及其作用:1.网络心跳(NetworkHeartbeat)作用:通过私有网络互联(PrivateInterconnect)实时检测节点间的通信状态。工作原理:每个节点周期
- MySQL Heartbeat+drbd高可用
脚灬印
MySQLmysql
MySQLHeartbeat+drbd高可用环境--具体的配置信息如下所示:角色ip地址主机名字server-idprimary心跳及传输IP:192.168.0.51data-11管理及对外IP:10.0.0.51VIP:10.0.0.151standby心跳及传输IP:192.168.0.52data-21管理及对外IP:10.0.0.51VIP:10.0.0.152Heartbeat安装配置
- 【每日八股】Redis篇(七):集群
YGGP
数据库redis数据库
目录Redis集群模式有哪些?Redis切片集群的工作原理?哈希槽和Redis节点如何对应?主从模式的同步过程?全量同步增量同步主服务器如何知道要将哪些增量数据发送给从服务器?如何避免主从数据不一致?主从架构中过期key如何处理?主从模式是同步复制还是异步复制?哨兵机制是什么?哨兵机制的工作原理?什么是集群的脑裂?如何减少主从切换带来的数据丢失?Redis集群模式有哪些?主从(Replicatio
- 深入解析Zookeeper脑裂问题与CAP取舍:从原理到实战
guihong004
java面试题zookeeper分布式云原生
1.说说Zookeeper中的脑裂?在分布式系统中,Zookeeper是一种常用于维护配置信息、命名、提供分布式同步和组服务的协调服务。“脑裂”(Split-brain)现象是指在一个分布式集群中,由于网络分区等原因,导致集群中的节点被分割成两个或多个独立的部分,每个部分都认为自己是唯一活跃的服务提供者。这种情况对于依赖单一真实数据源的服务来说是非常危险的,因为它可能导致数据不一致或其他并发问题。
- RabbitMQ的脑裂(网络分区)问题
劉煥平CHN
RabbitMQrabbitmq网络分布式
问题描述:MnesiareportsthatthisRabbitMQclusterhasexperiencedanetworkpartition.Thereisariskoflosingdata一、什么是MQ脑裂?网络分区如果另一个节点在一段时间内(默认为60秒)无法与其联系,则节点会确定其对等方是否关闭。如果两个节点重新接触,并且都认为另一个节点已关闭,则节点将确定发生了分区。当网络分区就位时,
- Zookeeper是如何解决脑裂问题的?
java1234_小锋
javazookeeper分布式云原生
大家好,我是锋哥。今天分享关于【Zookeeper是如何解决脑裂问题的?】面试题。希望对大家有帮助;Zookeeper是如何解决脑裂问题的?1000道互联网大厂Java工程师精选面试题-Java资源分享网Zookeeper通过多种机制来解决脑裂(Split-brain)问题,确保集群中各节点间的一致性和协调性。脑裂问题通常发生在分布式系统中,当网络分区或节点故障导致系统中的一些节点无法与其他节点通
- mysql高可用集群MGR组复制的介绍、部署及配置说明
lytcreate.
Mysql大数据mysql数据库
前言MGR全称MySQLGroupReplication(Mysql组复制),是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案。MGR提供了高可用、高扩展、高可靠的MySQL集群服务。高一致性:基于分布式paxos协议实现组复制,保证数据一致性;高容错性:自动检测机制,只要不是大多数节点都宕机就可以继续工作,内置防脑裂保护机制;高扩展性:节点的增加与移除会自动更新组成员信
- 架构学习第四周--高可用与NoSQL数据库
Mr.王835
nosqllinux
目录一、HAProxy介绍二、HAProxy基本使用2.1,HAProxy调度算法2.2,HAProxy高级用法三、高可用Keepalived介绍3.1,Keepalived介绍3.2,Keepalived单主架构实现3.3,脑裂四、Keepalived实例--实现单主架构的LVS-DR模型五、实例--通过Keepalived实现HAProxy高可用六、NoSQL数据库Redis6.1,Redis
- Redis集群部署详解:主从复制、Sentinel哨兵模式与Cluster集群的工作原理与配置
niaonao
[软件工程]框架redisredis集群
集群部署形式1、主从复制1.1工作机制1.2配置实现1.3优缺点1.4部署形式1.5主从复制优化2、Sentinel哨兵模式2.1工作机制2.2配置实现2.3优缺点2.4哨兵机制选举流程2.5脑裂问题解决方案3、RedisCluster3.1工作机制3.2配置实现3.3优缺点3.4故障转移3.5哈希槽为什么是16384个槽3.6集群扩容1、主从复制Redis主从复制方案是Redis最基本的集群方案
- mysql 双主 脑裂_mysql双主+keepalived
weixin_39789206
mysql双主脑裂
环境OS:centos7Mysql版本:mysql5.7Keepalived:keepalived-1.2.20Mysql-vip:192.168.41.100Mysql-master1:192.168.41.10Mysql-master2:192.168.41.11实验环境关闭防火墙规则firewall-cmd一、配置两台mysql互为主从该过程的第一部分就是master记录二进制日志。在每个事
- keepalived mysql双主架构图_MySQL双主+keepalived实现高可用
如果有片海
keepalivedmysql双主架构图
mysql+keepalived实现高可用+主主复制模式为了解决mysql的单点故障问题,衍生出很多mysql的高可用方案:keepalived+双主、MHA、PXC、MMM、Hearbeat+DRBD等,比较常用的一般是keepalived+双主,MHA和PXC在此搭建实验环境,实现keepalived+mysql双主模式。实验思路:两台MySQL互为主从关系(双主),通过keepalived配
- ElasticSearch 相关面试题
_Sincerely
ElasticSearchelasticsearch搜索引擎全文检索
ElasticSearch相关面试题为什么要使用Elasticsearch?Elasticsearch的master选举流程?Elasticsearch集群脑裂问题?为什么要使用Elasticsearch?系统中的数据,随着业务的发展,时间的推移,将会非常多,而业务中往往采用模糊查询进行数据的搜索,而模糊查询会导致查询引擎放弃索引,导致系统查询数据时都是全表扫描。在百万级别的数据库中,查询效率是非
- 突破Java面试(23-8) - Redis哨兵主备切换的数据丢失问题
JavaEdge
Github1数据丢失的两个场景主备切换的过程,可能会导致数据丢失1.1异步复制由于master=>slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机,于是这些数据就丢失了image1.2脑裂导致脑裂,也就是说,某个master所在节点突然脱离正常的网络,无法和其他slave机器连接,但实际上master还运行着此时哨兵可能就会认为master宕机了,然后开启选举
- 产品经理关键思维和沟通主体
MaxWen
正所谓思维决定高度,格局决定结局。产品经理应该将换位思考作为自己第一思维模式,用户角度考虑产品的使用场景,辅助业务解决产品的推广问题,重点关注市场调研、推广和产品开发落地。IT项目建设过程中,大量的业务人员一遇到系统对接就需要拉上技术人员沟通谈交互谈接口,对于同一个功能开发人员总会收到矛盾需求。高额的沟通和支持成本加上错综负责的需求,系统还没脑裂程序员自己先脑裂了,业务说系统没有实现自己的功能,开
- keepalived
Dream visit
企业服务keepalived高可用
文章目录一、Keepalived高可用概述VRRP原理二、Keepalived高可用安装配置安装keepalived配置master配置backup对比master与Backup的keepalived配置区别启动Master和Backup节点的keepalived三、高可用keepalived抢占式与非抢占式四、高可用keepalived故障脑裂脑裂故障原因脑裂故障现象解决脑裂故障方案五、高可用k
- mysql脑裂原因及解决方法
柯西极限存在准则
数据库mysql数据库
MySQL这种关系型数据库,在高并发环境下,可能会出现脑裂问题。一、MySQL脑裂的原因MySQL脑裂是由于分布式系统中多个MySQL实例之间出现网络分区而导致的。具体来说,当网络分区发生时,不同的MySQL实例可能会在相同的时间内接收到相同的请求,但由于网络分区的存在,这些实例之间无法进行通信和同步,因此会导致数据不一致的情况出现。二、MySQL脑裂的解决方法1.配置MySQL高可用性集群为了防
- Redis核心技术与实战【学习笔记】 - 24.Redis 脑裂
陈建111
Redis核心技术学习redisRedis脑裂
简述所谓脑裂,就是指在主从集群中,同时有两个主节点,它们都能接收写请求。而脑裂最直接的影响就是客户端不知道该往哪个主节点写入数据,结果就是不同的客户端会往不同的主机诶点上写入数据。而且,严重的话,脑裂会导致数据丢失。在使用主从集群时,曾遇到过这样一个问题:主从集群有1个主库、5个从库和3个哨兵实例,在使用过程中,发现客户端发送的一些数据丢失了,这直接影响了业务层的数据可靠性。通过一系列的问题排查,
- Keepalived + DR 集群
HuaLuLemon
LVSLVSKeepalived
目录1、KeepaliveVRRP说明故障切换工作原理核心组件2、Keepalived+DR集群拓扑规划前期准备配置Httpd服务配置Nginx服务配置LVS主node_01配置LVS从node_02测试LVS集群测试主备切换3、Keepalived脑裂现象4、Keepalived心态检测TCP_CHECK检测HTTP_GET检测MISC_CHECK检测5、非抢占模式1、KeepaliveKeep
- 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