0%

Overview

微信网页版聊天,未采用websocket,而是基于long polling(长轮询)。

客户端消息发送

客户端消息接收(伪服务端推送)

  1. 客户端间隔性发送http请求sync(每隔)源码; beauty后的源码
  2. 服务端对该请求延时返回,强制建立长连接
  3. 当服务端有需要推送的消息,即时在已建立的长连接中返回http response
  4. 客户端收到response后,立即发送一个新的http request
  5. goto 2
阅读全文 »

Python 对象初探

在 Python 的世界一切皆对象,不论是整数,还是字符串,甚至连类型、函数等都是一种对象。

对象的分类

以下是 Python 对象的大致的一个分类

  • Fundamental 对象: 类型对象
  • Numeric 对象: 数值对象
  • Sequence 对象: 容纳其他对象的序列集合对象
  • Mapping 对象: 类似 C++中的 map 的关联对象
  • Internal 对象: Python 虚拟机在运行时内部使用的对象
阅读全文 »

简介

首先,这不是一个git命令教程,这是一个用于快速理解git命令的辅助文档。

用了git几年了,每次遇到疑难杂症都要现查,归其原因,是不了解git命令背后到底做了什么。

于是决定整理一下思路。

术语

阅读全文 »

git gist wiki 区别

  • git: 这里指 github.com中的repo
  • gist: gist.github.com
  • wiki: github.com/ wiki

三者都是repo,都记录历史。详细对比如下

github repo gist wiki 注解
markup支持 .md .textile .org .rst .wiki … 同上 同上
previw_所见即所得 × 可在gist的comment中preview
MathJax × × × gitpage支持
private space 收费 gist的private repo不能设置密码。不知道搜索引擎能不能搜到
anonymous × × Gist提供匿名发布,有时候被用来议论政府,政府害怕所以给墙掉了(DNS污染)
directory × gist是平行文档(一般只一个page),不支持子目录
fork & clone
comments × × issue可视为git和wiki的comments,
多人协作
直接用途、设计思想 代码版本管理、协作 分享代码片断 写文档 snippet什么用?
博客 github.io gist的embed方式很适合博客,但是多数网站不支持嵌入js
搜索引擎友好性 gist 在google搜索的 rank较高(据说)
缺点 不易归类

其他特征

阅读全文 »

关于github提供的http server

ping 几个不同账号的gitpage(比如colah.github.io,xu-song.github.io),发现对应的是同一个ip。为什么返回的页面不同呢?

github pages 的 CNAME 是绑定 pages.github.io,不是${username}.github.io

coding.net 的 CNAME 是绑定 pages.coding.me

显然,Github肯定在后台做了处理。即github自身会维护一个映射,host_name --> www_path,这样就可以根据不同的host信息返回不同的html了。

阅读全文 »