<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[juzejian的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/juzejian</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; juzejian]]></copyright><item><title><![CDATA[systemtap用户态堆栈符号解析不到的问题]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84657299</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84657299</guid><author>juzejian</author><pubDate>Fri, 26 Sep 2014 11:30:34 +0800</pubDate><description><![CDATA[
在做性能profile的时候，直观上感觉应该在profile的时候只记录基本数据，在最终记录完成后一次性进行符号解析，防止对系统性能造成影响。所以写的probe脚本是这样的：
systemtap script:

global bts; // backtracesprobe timer.profile {    ​if (pid() == target()) {    ​    ​bts[...]]></description><category></category></item><item><title><![CDATA[skynet任务调度分析]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84595889</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84595889</guid><author>juzejian</author><pubDate>Fri, 02 May 2014 02:06:33 +0800</pubDate><description><![CDATA[
    云风同学开源的skynet，当前规模是8K+ C代码和2K+ lua代码，实现了一个多线程高并发的在线游戏后台服务框架，提供定时器、并发调度、服务扩展框架、异步消息队列、命名服务等基础能力，支持lua脚本。单服务器支持10K+客户端接入和处理。
 
    我个人比较关注高性能和并发调度这块，这两天分析了一下skynet的代码，简单总结一下。
 
1. 总体架构
 
   ...]]></description><category></category></item><item><title><![CDATA[【转】 职场潜规则]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84366025</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84366025</guid><author>juzejian</author><pubDate>Sun, 09 Dec 2012 22:41:10 +0800</pubDate><description><![CDATA[

人生就象一场游戏，有赢有输，有得有失，没有人会一帆风顺的走完所有的路。而任何游戏都有自己游戏规则，违背这个规则的人，虽然不一定遗臭万年，又或者被黑道、国家机器追杀，但是人言可畏、三人成虎还是会的。尤其是在中国这个孙子兵法的故乡，一贯崇尚“上兵罚谋”。作为一个人，总是要出来“混”的，打工也好、雇工也罢，很少有人只是吃吃喝喝的过一辈子。且不说老祖宗一贯教导我们，儒家‘有为’，道家‘入世’；就是想...]]></description><category></category></item><item><title><![CDATA[WebIM第一版本及下一步工作]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84365850</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84365850</guid><author>juzejian</author><pubDate>Sun, 09 Dec 2012 00:20:10 +0800</pubDate><description><![CDATA[一个月前打算写一个web版本的IM，杂事缠身，出差/部门PK，断断续续用零碎时间开发，到今天为止，才分别用node.js和php完成了两个版本。代码都在github上（nodejs版，php版），对于这种需要实时获取状态变更的web应用，用nodejs特别合适。第一个版本使用nodejs实现后，奈何市面上便宜的虚拟空间都是LAMP的，只得写一个php版本的。LAMP不适合支持long pollin...]]></description><category></category></item><item><title><![CDATA[CSS布局]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84361143</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84361143</guid><author>juzejian</author><pubDate>Tue, 27 Nov 2012 02:37:32 +0800</pubDate><description><![CDATA[看了很多资料，css中display，position，float这几个属性如何控制布局还是不是很清楚。

看了W3C CSS2.1的文档，其中说的太学术化，有些晦涩难懂，看了几遍没搞清楚。还是w3schools的好懂。

整个document的布局，默认是页面元素流从上往下，从左到右排列（流动）。每个块内可以有水平的行内元素，这是正常的布局，称为normal flow。

displ...]]></description><category></category></item><item><title><![CDATA[markdown语言]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84360250</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84360250</guid><author>juzejian</author><pubDate>Sat, 24 Nov 2012 00:15:31 +0800</pubDate><description><![CDATA[终于解决了WebIM的一个很弱智的问题：使用res.writeHead()写HTTP头属性，导致除了chrome之外其他所有浏览器都报错的问题。WebIM可以放到github上了。res.writeHead()方法是用来写响应的状态行的，第一个参数是状态码，如200／404之类，第二个参数如果是字符串的话，就是状态字符串，比如OK／Not Found，如果第二个参数是对象，或者第二个参数是字符串时...]]></description><category></category></item><item><title><![CDATA[javascript和redis使用中的一点小问题]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84359334</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84359334</guid><author>juzejian</author><pubDate>Thu, 22 Nov 2012 00:48:06 +0800</pubDate><description><![CDATA[redis的get／hget等操作中，返回的数据都是string。即使往里存数字，返回的还是string。这一点在javascript中尤其要注意。
 
而javascript中，使用字符串进行加减法时，会有不同效果：
加号既可以作为加法运算，也可以作为字符串连接。如果两个操作数中的任何一个是字符串，则是字符串连接，否则就是加法；
而减号永远是做减法，不会字符串删除。
 
没有搞懂以上...]]></description><category></category></item><item><title><![CDATA[nodejs＋express的session使用]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84357972</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84357972</guid><author>juzejian</author><pubDate>Sun, 18 Nov 2012 21:36:34 +0800</pubDate><description><![CDATA[
今天终于使用nodejs＋redis把网页版即时聊天框架zenkim搭了起来，非常简陋，不过登录／用户管理／实时消息推送／消息缓存／用户单实例登录控制deng基本能力都有，待完成的功能包括：消息持久化及活动用户队列周期扫描／加强事务能力／消息排序／界面美化／移动版本支持。再优化一下后放到github上。
 
今天花了一下午时间，都用在了处理session上。nodejs本身不管session...]]></description><category></category></item><item><title><![CDATA[OS X常用快捷键和触控板操作使用总结]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84357941</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84357941</guid><author>juzejian</author><pubDate>Sun, 18 Nov 2012 20:02:45 +0800</pubDate><description><![CDATA[前两天刚刚买了一台MacBook Air，系统是OS X 10.8（Mountain Lion）。对于用惯了Windows GUI的我来说，很多命令找不到了，很不习惯。经过这几天的摸索，越来越感觉苹果系统的好用了。尤其是触控板，完全替代了鼠标，并且可用性远超鼠标。现在基本不用鼠标了，连触控板下方的左右键也基本不用了。看网上很多帮助文档都是以快捷键为中心组织的，实际上我更想做某个操作时查找一个快捷键...]]></description><category></category></item><item><title><![CDATA[js对象结构类图]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84355068</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84355068</guid><author>juzejian</author><pubDate>Sat, 10 Nov 2012 23:30:02 +0800</pubDate><description><![CDATA[js通过prototype来实现继承，通过&quot;new Constructor函数&quot;创建新对象。js中的对象是什么？Array、String、Object、Funtion这些是构造函数，但通过new Array()这种方法创建对象，怎么Array这么像类？和类有什么相同点和不同点？prototype又是什么？是怎么使用的？
 
通过查看当前最新的ECMA规范，终于搞明白了js中这些东东是什么关系。...]]></description><category></category></item><item><title><![CDATA[node.js为什么不用coroutine？]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84355065</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84355065</guid><author>juzejian</author><pubDate>Sat, 10 Nov 2012 23:15:34 +0800</pubDate><description><![CDATA[node.js中大量用了异步回调，完全没有阻塞，单线程实现但并发超高。这段时间感觉node.js的IO一多，异步让人看的很头疼。虽然有人很喜欢这种异步回调方式，但我觉得这种做法真的有违人性。
 
也有很多人像我一样对这种回调不感冒，Tim CasWell写了Step，试图对node.js的控制流程进行人性化处理，但是他现在放弃了，github上的Step基本上有一两年没有更新了。我臆测java...]]></description><category></category></item><item><title><![CDATA[最近打算写个web IM应用]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84353866</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84353866</guid><author>juzejian</author><pubDate>Wed, 07 Nov 2012 23:21:49 +0800</pubDate><description><![CDATA[web IM应用最有前途的技术应该是WebSocket，这是HTML5的新标准，是未来的方向。但据说当前浏览器支持并不是很好。除了WebSocket，还有Server-Sent Events，Polling，Long Polling这些方案。综合考虑浏览器兼容性以及减少带宽消耗，选用Long Polling方案实现。
 
开始打算选用nginx+php实现。但对于long polling这种服...]]></description><category></category></item><item><title><![CDATA[从后台到前台]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84341599</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84341599</guid><author>juzejian</author><pubDate>Tue, 30 Oct 2012 07:24:06 +0800</pubDate><description><![CDATA[很多Web后台开发人员对前台开发人员有一种天生的优越感，感觉前台开发就是做做Web界面，没什么技术含量；前台开发人员不懂技术，就是美工。我就是这些后台人员之一。
 
不过有意思的是，虽然后台开发人员总是觉得自己高人一等，可让他们去做前台页面，却很少见他们能搞定。这方面我有亲身的经历。实际上我和一般后台人员还有点不同，我喜欢排版，喜欢做清爽的界面。我做的Word文档要比很多人结构清晰，层次分明。...]]></description><category></category></item><item><title><![CDATA[淘宝聚石塔]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84321199</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84321199</guid><author>juzejian</author><pubDate>Mon, 22 Oct 2012 00:37:02 +0800</pubDate><description><![CDATA[很多人不清楚淘宝的聚石塔是什么。据百度百科，这是今年7月10号淘宝内部的天猫（tmall）、阿里云和万网共同推出的电子商务云平台。登录其网站http://cloud.tmall.com，可以看到实际上就是提供了虚拟机和关系数据库的云服务。另外当前还提供了订单管理和资源（vm/rds)监控管理。
 
从这些点上来看，聚石塔实际上就是通过天猫的人气来卖阿里云。目前大家都在讲云计算，我个人也从事云计...]]></description><category></category></item><item><title><![CDATA[学习做网站]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84321120</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84321120</guid><author>juzejian</author><pubDate>Sun, 21 Oct 2012 20:38:43 +0800</pubDate><description><![CDATA[一直对做网站发憷。看到那些漂亮的网页，总觉得必须要专业美术人员才能做得出来，我这样的土鳖永远做不出好的网站来。
 
一直打算学习wordpress，也装上去了，也用他的twentyeleven theme了，也看了很多文档，看了一些wordpress的代码，但总是感觉自己没有准备好，不知怎么下手。
 
直到今天把wordpress生成的html源码看了一下，才豁然开朗：php或者jsp，或...]]></description><category></category></item><item><title><![CDATA[wordpress语义]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84297179</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84297179</guid><author>juzejian</author><pubDate>Thu, 04 Oct 2012 11:10:03 +0800</pubDate><description><![CDATA[wordpress是一个博客系统，博客是内容管理系统（CMS）的一种。
 
内容相关的术语：
wordpress中的word指的是构成了Post的word。post是一篇blog的基本组成部分，包括文章内容，评论，争吵的文字等等。post是blog存在的理由，没有post，就没有blog。
 
为了方便些post的过程，wordpress提供了功能完善的authoring工具，其中的一些...]]></description><category></category></item><item><title><![CDATA[php手册阅读笔记（2）]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84296359</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84296359</guid><author>juzejian</author><pubDate>Fri, 28 Sep 2012 22:47:31 +0800</pubDate><description><![CDATA[表达式、语句的语法与C/C++语言极其相似，基本上可以当做C语言来用。
 
点号(.)在PHP中用来连接两个字符串，因此，成员方法的引用使用-&amp;gt;而非点号。
 
面向对象部分，与C++、Java非常类似。...]]></description><category></category></item><item><title><![CDATA[php手册阅读笔记（1）]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84295926</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84295926</guid><author>juzejian</author><pubDate>Fri, 28 Sep 2012 01:28:18 +0800</pubDate><description><![CDATA[1. Language Reference | Basic Syntax
    php文件尾部的结束标记(?&amp;gt;)最好省略，防止文件尾部添加多余的空格和回车
    可以使用/* */, //, #方式的注释
 
2. 类型
    支持四种标量：boolean、integer、float（与double相同）、string
    支持两种结构：array、object
  ...]]></description><category></category></item><item><title><![CDATA[drupal 7.15安装]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84293953</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84293953</guid><author>juzejian</author><pubDate>Sun, 23 Sep 2012 22:43:50 +0800</pubDate><description><![CDATA[drupal是非常著名的开源内容管理系统，使用php开发。
 
其安装非常简单，假定nginx+php+mysql已经安装完成，并且正常启动。关于nginx+php+mysql在windows上的安装和配置，参考上一篇博客：windows上nginx + php配置
 
环境：Windows 7 32bit，nginx 1.2.3，php-5.4.7-Win32-VC9-x86，mysql...]]></description><category></category></item><item><title><![CDATA[windows上nginx + php配置]]></title><link>https://blog.youkuaiyun.com/juzejian/article/details/84293729</link><guid>https://blog.youkuaiyun.com/juzejian/article/details/84293729</guid><author>juzejian</author><pubDate>Sun, 23 Sep 2012 00:48:45 +0800</pubDate><description><![CDATA[apache下载失败，正好对apache那种把php解释器做成module当动态库加载到自身进程的默认做法不太满意，网上大家又都说nginx好，就使用nginx+php+mysql配置一下。
 
环境：Windows 7 32bit
版本：nginx 1.2.3，php-5.4.7-Win32-VC9-x86，mysql 5.5.27
 
nginx和php都是下载后解压缩就可以用，my...]]></description><category></category></item></channel></rss>