-
本文介绍通过搭建git服务器实现提交代码到
master
分支时完成网站应用代码的部署。创建SSH-Public-Key
本地计算机需要创建SSH公钥与服务器通信。使用
ssh-keygen
生产公钥以及私钥。$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/finalize/.ssh/id_rsa): demo Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in demo. Your public key has been saved in demo.pub. The key fingerprint is: 6d:07:2c:56:48:aa:0d:08:ad:c1:db:ce:0f:bf:4e:6b finalize@junjie The key's randomart image is: +--[ RSA 2048]----+ |o. .... | |.o.. ..o | | o+ . . o o | |.. . + . o . | | o . . S o . | | + . . | | +. | | .E. | | o+. | +-----------------+
然后在
ssh
的配置文件中加入demo.pub
的配置$ vi ~/.ssh/config $ chmod 600 ~/.ssh/config
-
语法分析其实就是按照事先定义好的语法,对词法分析器返回的
Token
与语法元素进行匹配,若是发现不匹配则报错。本程序采用递归下降语法分析器进行分析。那么该如何与预定义的语法进行匹配呢?这就要用到
FIRST
集合与FOLLOW
集合了。其实也并没有辣么理论化,只需要根据当前读取到的Token
判断应该进入哪个处理函数就行了。比如读到while
就知道要进入while
的处理函数;读到if
就知道要处理if
了。进入处理函数之后,我们定义一个
expect(Token)
函数来期待接下来的Token
。传入期待的Token
,要是与接下来读取到的Token
匹配,就继续往下分析,要是不匹配,就抛出异常,停止分析。
-
先将Cookie及用户写入
config.json
中,格式如下{ "shuoshuo":"<shuoshuo_cookie>", "friends":"<friends_cookie>", "user":"<your_qq_number>", "host_user":"<the_owner_qq>" }
然后
python shuoshuo.py config.json
示例
-
-
遇到一个有趣的C语言习题,题目很好地考察了数据在内存中的存储方式以及函数调用时的stack管理。题目如下:
-
按照之前写的Build A Website With Python and Nginx一文中的方法,在树莓派中搞了一个website,通过ssh反向隧道的方法,将校园网内网中的树莓派与公网中的一台VPS建立ssh连接,并建立反向隧道。将公网80端口映射到树莓派的某端口,从而可以直接从外网访问内网中的树莓派。地址为raspi.hejunjie.net,23:30-6:30由于断电会无法访问。