Browsed by
作者:xulizhao

用Makefile简化重复的多个命令

用Makefile简化重复的多个命令

经常会通过编译安装一些Linux包,最熟悉的就是make test, make install 这类命令了,以为make只适用于编译安装.
实际上发现Makefile/makefile在简化一些常用命令(多行命令或长命令)时也非常方便.

# Makefile
install:
    @go get github.com/revel/cmd/revel
    @dep ensure
server:
    revel run github.com/xulz/webapp

Makefile规则

<目标>:<执行的前提条件,即有文件更新才执行>
(tab) 具体的命令

  • 默认执行第一个目标.
  • 在命令前添加@ 表示不打印正在执行的命令

Makefile的一些语法

# 定义变量, 使用 $(LDIR) 引用
LDIR =../lib

自动化变量:
* $< 表示所有的依赖目标集
* $@ 表示目标集

调试

带参数 -n或–just-print, 只显示命令而不执行.

扩展阅读

用Jupyter/iPython Notebook做笔记

用Jupyter/iPython Notebook做笔记

ipython作为一个必备的学习/调试环境, notebook可以看做其增强版, 支持Markdown格式说明, 很适合用笔记或者演示/培训用途,基本是机器学习的标配.

安装及运行

python3 -m pip install jupyter
jupyter notebook

新版的iPython要求Python 3.3以上,因此建议在python3环境使用

如果在本地没有运行环境,有想打开一个包含笔记的GitHub仓库, 可以使用binder在云端打开.

更多使用笔记之后更新.

扩展阅读

你的网站账号密码安全吗

你的网站账号密码安全吗

今天看了Django开发者的一篇文章,关于web安全的子项目, 其中提到了一个用于检测用户密码是否安全的API.

不同于普通的密码强度检测,它的检测原理基于最近这些年大型的互联网公司数据库泄漏事件,比如CSDN,天涯,HiAPK安卓网,网易等.

对普通用户,提供两个主要的网页查询功能:

  • 你邮件账户的密码是否已泄漏[1]
  • 你正在使用的密码是否存在于泄漏数据库及被其他用户泄漏的次数[2]

    Read More Read More

回到WordPress

回到WordPress

最近几年博客经历

3年前改用Evernote做笔记,因为很少写博客的原因停掉了国外共享主机的wordpress,之前的内容也迁移到了Blogger平台(国内不可访问,仅作为备份).

后来为了学习git和markdown,也时常在GitHub上写笔记.

久闻Go大名已久,在听了播客内核恐慌某期讲静态博客后,尝试了高性能的Hugo.

去年总收到阿里云的广告促销,也想有一个移动版调试系统,就购买了云主机,把域名也迁到了国内.

在上面部署了静态博客, 由于Hugo/Lektor缺乏好用的主题,最后使用了已有所了解的Hexo. 也就有了前两篇搭建博客的记录文章.

WordPress

又回到WordPress,其实是为了让写博客这件事变得简单. 不管静态博客还是新生代Ghost,最终用下来的感觉是表面看似简洁的新博客使用起来并不简单.

例如静态博客, 需要git版本管理,每次修改需要commit/push, Hexo需要generate/deploy(虽然这一步在Github Pages可以hook自动化),有时候还需要clean,而生成静态页面/rsync并不像Hugo那么智能高效.

由于云主机几乎没有资源占用率,实际上新版WordPress有很大改进,在插件优化之后,安装前后资源占用几乎没有变化.

之前WordPress使用时间比较长,对插件/主题比较熟悉,只记录下关键步骤.

Read More Read More

pytest测试框架

pytest测试框架

单元测试最初流行是从JUnit,而他的发明者Kent Beck大神的经典名作<测试驱动开发>这本小书却引领了TDD的风潮,产生了xUnit各个语言系列.

初次接触pytest,感觉不像个xUnit,因为既看不到对TestCase的继承,也找不到Setup/Teardown这些建立/销毁函数.当然这些基本功能肯定是支持的.

pytest虽然作为一个Python单元测试框架的扩展版, 但是它丰富的功能和灵活的特性也很适合做功能测试, 其中的精华就是fixtures.

Read More Read More