`
xiaoyu966
  • 浏览: 254338 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
1. 前言        2005年,我怀着对大学生活无限的憧憬,上了某大学的软件工程专业。从报这个专业的第一天起,就听过无数软件行业是“青春饭”的言论。时至今日,当年青涩的毛头小子也已工作了8年之久,转眼就步入了而立之年,并且成为了一个孩子的父亲。        现在说IT行业是“青春饭”的言论已经少了很多,但是对于IT行业”中年危机“的讨论越来越多,尤其是前端时间华为那个34岁员工被裁员的事儿,引爆了大小媒体。           最近几年对于”中年危机“这方面也思考了很多,下面分享一下自己应对中年危机的一些目标和规划。   2. 目标与规划    总目标:平稳的度过”中年 ...
背景 很多人在同步异步、阻塞非阻塞这2组概念上不能讲的很清楚,而且网络上也有几种完全不同的看法,总之这个部分有不少争议。 笔者也在这部分困惑过,花了一些时间去弄透这个问题,以下是个人理解的一些总结。希望能帮到大家。 1. 通用概念 例子:”我”烧水(注意:这里的主语是”我”,也就是我们讨论的who) 1.1. 同步异步 1.1.1. 例子 关注点:是否需要”我主动”去看水烧开没(注意,”我”和”主动”这两个词) 同步:“我”要主动看水烧开没 异步:不需要”我”主动去看水烧开,水壶响了通知”我” 1.1.2. 概念 抽象概念:事情执行者对事情结果的获取机 ...
从决定买房到签约,历时5天,和做梦似得就完成了自己第一次买房子。至今心情还是没那么平静(主要是太快了!都没反应过来,原谅我脆弱的小心灵= =#),所以整理整理心情后,决定分享一下自己买房的经历和自己的一些心得,希望帮助到一些朋友!   一部曲:背景  楼主毕业6年,外地户口。2015年刚刚具有买房资格,手里头攒了不到50万现钱,另外公积金账户有20万。  
   前言 Tornado是很优秀的非阻塞式服务器,我们一般用它来写Web 服务器,据说知乎就是用Tornado写的。 为了更好的用Tornado来编写程序,用了点时间把它的源码详细阅读了一下。主要关注的是Tornado如何实现的异步Server和异步Client。这里我先把分析异步client时跟踪源码的记录整理之后放上来,便于以后回忆和翻阅。   读者可以通过我这篇文章作为阅读Tornado源码的一个参考,如果你希望比较透彻的了解Tornado,切记不要放过任何你觉得有疑问的地方,实在不懂的部分,可以先放过,之后再回头儿看。   如果对tornado源码不是很了解,可以先 ...
开始之前,推荐一个专栏:http://developer.51cto.com/developer/top10Architect/   我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?将下列原则应用到你的软件工程中,你会获得立杆见影的成果。 1. 人 ...
============================================================================ 原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。 请注明转自:http://yunjianfei.iteye.com/blog/ ============================================================================   问题描述   1.开启多个GearmanServer,端口号分别为4730、4731 2.使用python-gearm ...
============================================================================ 原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。 请注明转自:http://yunjianfei.iteye.com/blog/ ============================================================================   一.状态机简单介绍 软件设计中的状态机概念,一般是指有限状态机(英语:finite-state machine,缩写:FS ...
============================================================================ 原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。 请注明转自:http://yunjianfei.iteye.com/blog/ ============================================================================        最近在用tornado写一个基于Rest的WebService服务端,只提供后端服务,其他webserver应用通 ...
  一. 结论:   1. nginx最多只能维持(65535*后端服务器IP个数)条websocket的长连接,如果后端websocket服务器IP只有一个,那么就只能最多支持65535条连接。瓶颈就产生在了nginx上。   2. 建议采用LVS的DR模式来做负载均衡,这样最大 ...
问题描述 相关组件: 1. WebService:对外提供web接口服务,这里启动了5个(端口分别为:9001-9005) 2. nginx:反向代理5个webService做负载均衡(nginx对外提供9999端口服务) 3. httpclient:调用nginx的9999端口访问webService提供的http接口 ...
问题现象 手头一个系统上线后,节点机中agent应用在运行10天后,占用系统内存居然高达10GB以上,这显然是发生了严重内存泄露。   问题原因 python是动态语言,对用动态语言的内存分析不是很容易,尝试了一下比较经典的内存分析工具meliae,但是发现不是很好用。查了很多资料后,发现了https://github.com/pympler/pympler 这个工具,官方文档地址为: http://pythonhosted.org/Pympler/tutorials/muppy_tutorial.html 具体的分析过程我就不在这里描述了,大家可以通过pympler的官方文档去 ...
问题描述 Nginx的日志出现大量的upstream time out, dmesg 和 /var/log/messages查看系统日志后,发现很多的错误日志:ip_conntrack: table full, dropping packet   问题原因 nf_conntrack工作在3层,查看当前连接数的命令如下: # grep conntrack /proc/slabinfo nf_conntrack 跟 nat 有关,用来跟踪连接条目,它会使用一个哈希表来记录 established 的记录。nf_conntrack 在 2.6.15 被引入,如果该哈希表满了,就会出现: ...
什么是systemtap SystemTap 是监控和跟踪运行中的 Linux 内核的操作的动态方法。   假如现在有这么一个需求:需要获取正在运行的 Linux 系统的信息,如我想知道系统什么时候发生系统调用,发生的是什么系统调用等这些信息,有什么解决方案呢? 最原始的方法是,找到内核系统调用的代码,加上我们需要获得信息的代码、重新编译内核、安装、选择我们新编译的内核重启。这种做法对于内核开发人员简直是梦魇,因为一遍做下来至少得需要1个多小时,不仅破坏了原有内核代码,而且如果换了一个需求又得重新做一遍上面的工作。所以,这种调试内核的方法效率是极其底下的。 之后内核引入了一种Kpr ...
前言 在下面这个博客里,介绍了tornado的异步TCPServer和TCPClient。 http://yunjianfei.iteye.com/blog/2186646 那么,tornado的性能到底怎么样呢?让我们来做一个性能测试吧。   这里推荐关于C10K问题的一个文章:http://www.kegel.com/c10k.html   ...
背景 关于tornado,我这里就不详细讲了,有兴趣的同学可以通过以下两篇博客了解一下:  http://yunjianfei.iteye.com/blog/2185476 http://yunjianfei.iteye.com/blog/2185446 我们一般用tornado来编写web程序,但实际上,tornado底层的代码非常优秀,也可以用这些代码来编写TCP应用。   github地址:https://github.com/yunjianfei/tornado-async-tcp   代码 tornado最突出的特点就是“异步”,所以,我这里编写了一个异步的TC ...
Global site tag (gtag.js) - Google Analytics