Yifei Kong

Jun 22, 2018

Jun 22, 2018

《算法设计与分析基础》笔记

http://blog.csdn.net/wangyunyun00/article/details/23464359

差值查找

折半查找这种查找方式,还是有改进空间的,并不一定是折半的! mid = (low+high)/ 2, 即 mid = low + 1/2 * (high - low); 改进为 下面的计算机方案(不知道具体过程): mid = low + (key - a[low]) / (a[high] - a[low]) * (high - low), 也就是将上述的比例参数1/2改进了,根据关键字在整个有序表中所处的位置,让mid值的变化更靠近关键字key,这样也就间接地减少了比较次 数。

Jun 22, 2018

Andrew Ng 的公开课笔记

http://www.johnwittenauer.net/machine-learning-exercises-in-python-part-1/

Andrew ng 课程的 python 解法

拟合曲线也是机器学习 ICA independent component analysis 用于解决鸡尾酒宴会问题(分离独立声源)

梯度下降法 两种 Batch Random

Jun 22, 2018

搜索阅读笔记

文档评分

索引的类型(参数化索引和域zone索引)

对于每个文档来说,除了一个字符串作为正文之外,还有其他的metadata,比如一篇文章就会有 title publish_time author 等等。

其中 publish_time 这种是有取值范围的,我们称之为参数化索引。而对于title和author这种可以是任意的自有文本,因此我们也可以对它建立倒排。

在这里建立倒排有两种数据结构,目的都是把 term 和 zone 都标注到倒排上:

  1. 把 term 和 zone 合起来作为新的term
wiliam.abstrct -> [11], [122], [1441]
william.title -> [2], [4], [8]
william.author -> [2], [3], [5]
  1. 把 zone 和 docID 一起记录
william -> [2 …

Jun 22, 2018

APUE 阅读笔记

使用sysconf来动态地在运行时获取 INT_MAX 等常量地值

IO

不带缓冲的IO

read write open close lseek 函数

stdio

标准IO库是围绕stream来的,而read/write 等系统函数则是面向文件描述符。

缓冲

缓冲分为三种,全缓冲、行缓冲、不缓冲。标准错误是不带缓冲的,标准输入输出等终端设备是行缓冲的,其他是全缓冲的。可以使用 setvbuf 函数更改缓冲类型。使用fflush 函数强制写入。

文件操作

使用 fopen/freopen/fdopen 来打开文件,使用fclose关闭文件。使用fseek和ftell来定位文件。

字符IO

使用 getc/fgetc 读取单个文件,使用 putc/fputc 写入单个字符。注意其中getc 可以实现为宏,而fgetc往往实现为函数,这样方便传递指针 …

Jun 22, 2018

学习 Startup Engineering

https://gist.github.com/dideler/5796745

Startups vs. Small Businesses:

  • A startup is about growth and usually involves new technology and unproven business models.
  • A small business, by contrast, does not have ambitions of world domination and is usually geared towards a particular geographical area or limited market where it …

Mar 10, 2018

《结网》阅读笔记

  1. Alan Key:热爱软件的人应该制造自己的硬件。
  2. 不要自以为是,要通过 A/B 测来进行

比如有用户反馈糗百审核界面将“通过”按钮改成“笑了”按钮很不好,因为这样的话,感人的温情帖不容易就通过了。 3. 在美团之前,过期不退是团购行业的创收的商业模式之一,而美团提供了退款服务,做到了理念领先,没有放弃为用户创造价值的初衷。 4. 大多数时候,你想到的原创概念可能早就有其他人想到了,所以不要拘泥于非要有一个原创概念才能碾压别人。如果能找到已经存在的实现,通过研究它可以节省很多探索的时间。 5. 既有概念的转化:比如从博客简化一点就到了微博,再从微博降低门槛就得到了快手。 6. Web 2.0 公司的 7 种能力 1. 服务,而不是打包的软件 2. 控制独特的难以再造的数据源,并且用户越多内容越丰富 3. 把用户当做共同开发者来信任 4. 借力于集体智慧 5. 通过用户的自助服务来发挥长尾的力量 …

Jan 07, 2018

读《数学之美》

  1. 文字只是信息的载体,而非信息本身
  2. 翻译之所以能够进行,是因为人类的语言本质上都是等价的
  3. 信息的冗余是信息安全的保障
  4. 自然语言是上下文相关文法,而人工语言往往是上下文无关文法。

May 29, 2017

读 Web Scraping with Python

Chapter I Introduction

为什么要写爬虫?

  1. 每个网站都应该提供 API,然而这是不可能的
  2. 即使提供了 API,往往也会限速,不如自己找接口

注意已知条件(robots.txt 和 sitemap.xml)

  1. robots.txt 中可能会有陷阱
  2. sitemap 中可能提供了重要的链接

估算网站的大小

一个简便方法是使用 site:example.com 查询,然而这种方法对于大站不适用

识别网站所使用的技术

  1. builtwith 模块
pip install builtwith
builtwith.parse(url) # returns a dict
  1. python-whois 模块
pip install python-whois
import whois
whois …