[返回] [最新] [最热门] [最高评价]

港股实时行情系统设计

做一下记录。

做了一个可靠传输层,优点是层次分明,缺点是当丢包时价格更新不及时。可以优化成只重传不排序,Aggregator 区分是否是最新包,不是最新包则不更新最新价。

对外提供推和拉接口,两种都有适用场景,不能只提供一种。Query Server 采用 HTTP 协议,Push Server 可以用 WebSocket 协议。

把图改成 stack 形式。

Related posts:
...

ideawu 2018-07-26 16:24 | 查看: 365

炮打TCP – 关于一而再再而三的粘包拆包问题的大字报

TCP 所谓的粘包和拆包问题,是技术圈里最奇葩的问题之一!

一而再,再而三,就跟傻逼的中国球迷支持中国足球队一样,前赴后继。有时候同一个人多次在犯同一个错误,有时候是前脚一个犯错了后脚又来一个还犯同样的错。即使是最优秀的程序员,也会在这个问题上面栽跟头,思维甚至很难转过弯,很久才能意识到自己的错误。而低水平的程序员就更不用说了,很多人到死都没有理解这个错误并解决掉,只是逃掉了而已。

我们固然可
...

ideawu 2018-06-13 15:05 | 查看: 539

PHP 获取周一,上个月的正确做法

如果你理所当然地认为在 PHP 中获取周一,上周一,上个月,下个月这些时间能简单地用 strtotime() 函数来获取的话,那你就大错特错了!

$now = strtotime('2018-01-31');
echo date('Y-m-d', strtotime('+1 month', $now)) . "\n";

输出的结果是:

2018-03-03

并不是期望的返回2月份的某一天,
...

ideawu 2018-05-31 19:09 | 查看: 329

给Nginx设置默认主机

给Nginx设置默认主机,让所有没有明确设置的Host的访问,都落到特定的配置下。

1. 生成证书

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl.key -out /etc/nginx/ssl.crt

2. 配置Nginx

server {
listen 80 d
...

ideawu 2018-05-21 17:40 | 查看: 843

快速排序算法(QuickSort)的代码实现

快速排序算法,也即快排,是递归和分而治之这两种计算机基本思想的应用,再加上其实现逻辑复杂度较好,性能较快,所以快速排序算法非常经典。

快速排序算法经常作为面试算法题。快速排序算法本身并不复杂,其本身的逻辑非常简单,要掌握其思想不是难事,甚至基于其实现代码的形而上学的表面形状背下来也很轻松。但是,如果仅掌握了快速排序的思想以及代码表面形状,就认为自己懂了快速排序,就是没有真正地理解。

快速排序算
...

ideawu 2018-05-10 19:46 | 查看: 478

Mac 下最好用的看图软件 Tovi 免费下载了!

众所周知,Mac 系统自带的图片浏览软件主要 Preview 预览和在 Finder 里按空格键,前者无法播放 GIF 动画,而后者的浏览方式非常不自然,例如不支持鼠标滚轮缩放操作。

我在 2013 年开发出了 Mac 系统使用的看图软件 Tovi - Total Image Viewer for Mac,自发布以来,以后被安装超过 10000 次,大部分是收费用户,其中有过一次限时免费。


...

ideawu 2018-03-03 17:24 | 查看: 583

NSView NSImage NSData转换

NSBitmapImageRep *bitmap = [view bitmapImageRepForCachingDisplayInRect:[view visibleRect]];
[view cacheDisplayInRect:[view visibleRect] toBitmapImageRep:bitmap];

NSImage *image = [[NSImage alloc] in
...

ideawu 2018-02-07 16:10 | 查看: 641

国内公有云(云主机)服务商选择

几年来,已经用过的公有云服务商的产品,将近十家。从最早的 Linode,AWS,到国内的阿里云,青云,腾讯云,UCloud 等,目前来说,国内靠谱只有那一家。具体哪家我不点名,下面分析之后相信你也有自己的答案。

公有云服务,首先是一个高度沉重的技术活,决不是表面功夫,不是资本牵头整合一下就能做成。

一方面,厂商必须有相关领域的技术积累,形成深厚的底蕴,最好在虚拟化技术刚出现时就尽早参与。据我所
...

ideawu 2017-09-05 18:53 | 查看: 1003

国内某品牌云主机SSH远程后无法在终端显示远程路径的问题

如果你用 Mac 自带的 Terminal SSH 远程登录远程主机,那边会在 Terminal 的窗口标题栏显示出类似

user -- user@host:~

这样的信息。这个信息包含远程主机的用户名,主机名,远程路径等等。非常有用。

但是,国内某品牌的云主机,却无法显示这些信息。经查,原来该品牌使用的 Linux 系统,/etc/bashrc 文件与其它的不同,我怀疑是该公司的工程师私自
...

ideawu 2017-09-04 16:58 | 查看: 840

基于 TCP UDP 协议的实时流媒体的实时性分析

直播,电话通话,视频聊天都是实时流媒体的范畴。无论使用 TCP 还是 UDP,都会有延时。有个过时的观点是 UDP 更实时,但我不认为是这样。

实时流媒体的延时主要有几个因素:发送方缓冲,接收方缓冲,网络延时。缓冲包括网络缓冲,录制缓和冲播放缓冲。假设发送方缓冲是 10ms,接收方缓冲都是 50ms,网络延时是 100ms,那么就有至少 160ms 的播放延时。接收方缓冲比发送方多,是为了解决所
...

ideawu 2017-06-19 20:31 | 查看: 840

SIP INVITE 会话建立过程

运行于 UDP 之上的 SIP,因为 UDP 是不可靠传输的,所以 SIP 协议本身要自己实现可靠传输。对于如何可靠传输,SIP 的 RFC 文档没有要求实现独立的传输层,而是将可靠传输隐含于交互过程本身。如果像 TCP/IP 协议那样分层,特点是清晰。而将可靠传输隐含于交互,则可控程度更高,当然也更复杂。

所以,RFC 中创造了一些概念,如 Transaction 等等,对于有经验的程序员来说
...

ideawu 2017-06-19 19:05 | 查看: 622

自建一个电话呼叫中心要多少钱?

我十分看不惯任何行业的潜规则行为。自建一个电话呼叫中心的报价是多少钱?没有人敢公开报价。我明说吧,自建一个电话呼叫中心,只需要3万元左右,而且还能更省钱。

这个报价是针对小型企业的,也就是广大人民群众。至于大型企业,它们自己去定制,钱不是问题。

3万元建一个电话呼叫中心,包括什么?包括硬件设备,软件。软件是硬件设备上免费赠送的,不要钱!有了这个呼叫中心,你可以有语音导航功能(也就是按0转人工客
...

ideawu 2017-06-18 00:46 | 查看: 1188

...更多...