GitBook for LeetCode Solutions

每次写leetcode题解都要新发一篇post,感觉timeline显得特别杂乱,于是打算用GitBook整理一下。

效果:http://lszero.com/leetcode

GitHub:https://github.com/lszero/gitbook-leetcode-solutions

Getting started

首先确保已经配置了Node.js环境。

参见官方文档:Setup and Installation of GitBook

(1) Install GitBook with NPM

$ npm install gitbook-cli -g

(2) Create a book

$ gitbook init ./directory
$ gitbook serve
# 或者
$ gitbook build
Read More

搭建Isso评论服务

与其借助第三方服务天天担心挂,还不如将自己的服务器资源利用起来。Isso就是自建评论系统的一种方式。(官网需要fq.)

Install Isso

测试自Ubuntu服务器。本来官网文档里没那么多戏,但是我一直报错。。又安了很多其它包。

$ sudo apt-get install python3-dev
$ sudo pip install isso
$ sudo apt-get install sqlite3

# 可能需要:
$ sudo pip install werkzeug
$ sudo apt-get install libffi-dev
$ sudo pip install misaka
Read More

利用Apache进行多站点配置

用了静态网页之后,主机就空闲了,当初辛辛苦苦跟工信部折腾了好几个月连案都备好了。。总感觉特别亏(其实就是舍不得wordpress的搜索功能。。)转念一想,拿wp当图片上传服务也是不错啊,这样就省去找第三方图床了。

我的目标:

  • www.lszero.com 显示主页面。
  • blog.lszero.com 对应静态site。
  • wp.lszero.com 对应wordpress。

我这里用的是apache来实现的,也可以用nginx。

因为我的测试平台是Ubuntu,故跟网上的配置文件有些不一样。如网上说的apache配置文件http.conf,在我的平台下是/etc/apache2/apache2.conf

Read More

从WordPress到静态网站

作为一个极简主义者,越来越受不了WordPress的臃肿。主要自己平时都是用Markdown来做记录,而WordPress支持的不是很好,另外有时写的md长文通过三方软件导出的html也不造放在wp的什么地方才合适,管理起来还不如几个静态页面来得方便。于是有了某天来个大整顿的想法。

对前端只停留在css的我,花了整三天时间,从Hexo到Jekyll再到Bootstrap,以及各种markdown2html解析器…最后基本算是从头写了一个基于Jekyll的website theme 😓 在此记录了各种前端坑,自认为还算详细吧。

Read More

计算几何

点和线

基础

向量 $\vec{a} = (x_1, y_1), \vec{b} = (x_2, y_2)$.

(1) 点积:

(2) 叉积 (cross product):

.

$\vec{a}\times \vec{b} = - \vec{b}\times \vec{a}$

看作由点(0, 0), $\vec{a}$, $\vec{b}$ 和 $\vec{a}+\vec{b}=(x_1+x_2, y_1+y_2)$所形成的平行四边形的有向面积.

右手定则判断方向.

(3) 向量 $\vec{a}, \vec{b}$ 共线: $\vec{a}\times \vec{b} = x_1y_2 - x_2y_1 = 0$

向量 $\vec{a}, \vec{b}$ 垂直: $\vec{a}\cdot \vec{b} = x_1x_2 + y_1y_2 = 0$

(4) 点 $P_1 = (x_1, y_1), P2 = (x_2, y_2)$, 则 $\overrightarrow{P_1P_2} = (x_2-x_1, y_2-y_1)$.

(5) 判断三点共线: 叉乘==0.

(6) 判断点P在线段$P_1P_2$上:

叉乘==0 && (P1.x-P.x)*(P2.x-P.x)<0 && (P1.y-P.y)*(P2.y-P.y)<0

(7) 判断两直线平行: 叉乘==0.

Read More

^