"alloca" vs "placement new"

WHAT?!

For most time, we use malloc or new for memory allocation, which will get it on heap.

However, access memory on heap is not as effective as the memory on stack, because the heap is "free-floating region of memory". To the contrary, memory on stack is managed by CPU …

more ...

Quartile and Normal Distribution

What is Quartile?

Quartile is a concept of descriptive statics. The quartiles of a ranked data set are the three points that divide the data set into four equal groups, each group comprising a quarter of data.

Definitions

first quartile (Q1)

First quartile, also known as lower quartile, splits off …

more ...

破解节操的下限

啥?

节操精选

节操精选是一个没有下限的文字图片聚合类移动应用,现在支持Android/iOS移动平台。

界面

本人是一个非常懒的人,有电脑就不想碰手机。。。于是萌生了一个在PC端使用这个应用的想法。。。

HowTo

从界面上我们可以看出,这个App的逻辑其实比较简单。重要的部分有如下几个:

  • 获取CS通信协议(最重要)

  • 频道间切换(精选 - 热门 - 音频- 阅读)

  • 展示某一条精选

  • 在某一条精选中播放语音

获取通信协议

节操还是非常良心的!并没有在后台数据通信中进行任何加密的措施。

抓包工具我使用的是在Windows环境下的Fiddler

这个工具可以建立一个HTTP代理,手机通过代理上网,在电脑上就可以截获所有的数据包进行分析。

在Linux下,可以使用TinyProxy + Wireshark进行抓包,不过配置小麻烦。不过我一直是在Windows下抓包,然后在Linux下做分析和开发的。=。=。。。

图就不上了,如果大家有兴趣自己来搞的话,可以抓来试试。

简而言之,我们从HTTP包中的Content-type字段中,发现了我们想要的信息 —— application/xprotobuf

我去!真良心~

Protobuf简介 …

more ...

GeoHash算法

GeoHash

Geohash is a latitude/longitude geocode system invented by Gustavo Niemeyer when writing the web service at geohash.org, and put into the public domain. It is a hierarchical spatial data structure which subdivides space into buckets of grid shape.

简单说,GeoHash是一个将经纬度信息编码成一个string的算法。从而便于储存、查找。

GeoHash算法的步骤

GeoHash对经度纬度分别编码,原理是迭代做二分,进而逼近真实值。

我们以纬度举例 …

more ...

如何判断一个网站的地理信息

啥?

面试题:

有一个网站,如何判断这个网站的地理信息

方法

使用反向DNS

当我们只有网站的IP地址时,我们可以使用反向DNS来获得这个IP地址对应的域名。

反向域名解析,Reverse DNS。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应。

我们可以使用dig -x来进行查询

$ dig -x 75.126.43.235

; <<>> DiG 9.8.1-P1 <<>> -x 75.126.43.235
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26688
;; flags: qr rd …
more ...