SaltStack/Ansible/Fabric 的选择

2016-12-19 更新: 增加一些对 Salt 文档的理解
2017-04-16 更新: 增加一些对 SaltStack 简单上手


运维自动化管理必须要提上日程了。因为 Python 语言的关系,我将选择的目标定在 SaltStackAnsibleFabric 上。

我的选择是 Salt继续阅读SaltStack/Ansible/Fabric 的选择

HTTPS 小白知识(一)

10月发生的 Apple 在iOS 可信根证书列表中屏蔽其对中级CA WoSign(沃通) CA Free SSL Certificate G2 的信任 让许多普通人第一次接触到了 HTTPS 这个已经陪伴了我们很久的技术。作为程序员,我们应该更多地了解 HTTPS 的相关知识。

HTTPS 到了应该全面普及的时候了。 继续阅读HTTPS 小白知识(一)

开发一个 Flask 网站:基础知识

十一期间,我花了大概 5 天时间(每天3-4小时),用 Flask 开发了一个内部工具用来管理团队 KPI 。这个工具会交给其他同学继续开发,为了方便交流,我用几篇文章来描述一下如何从零开始快速上手 Flask 的开发流程。我会提供包括参考资料,书籍链接,学习顺序和方法,最佳实践等内容。 继续阅读开发一个 Flask 网站:基础知识

在 Python 中得到类属性的列表

2017-03-01: 加入获取模块内部的方法。


今天有个需求要得到一个类的静态属性,也就是说有个类 Type ,我要动态获取 Type.FTE 这个属性的值。

最简单的方案有两个:

  • getattr(Type, 'FTE')
  • Type.__dict__['FTE']

那么,如果要获取类属性的列表,该怎么做呢? 继续阅读在 Python 中得到类属性的列表

Karabiner 在 macOS Sierra 下的解决方案

  • 2016-09-26更新: HHKB支持。
  • 2016-10-04更新: 蓝牙鼠标支持。
  • 2016-10-10 更新: macOS Sierra 兼容软件列表。

今天手贱升级了 macOS Sierra ,进入新系统后发现 Karabiner 不能用了。

Karabiner 用来映射按键,我在 OS X 技巧与软件选择 一文中提到过。对于我这种使用 HHKB 键位的小众人群来说,所有的按键都必须一致,否则效率奇低。使用 Karabiner 把我常用的键盘定义存成 Profile 就行了。

Karabiner

但由于 macOS Sierra 大幅修改了鼠标和键盘驱动,导致 Karabiner 在该系统下无法工作。我定义的所有 Profile 都失效了。 继续阅读Karabiner 在 macOS Sierra 下的解决方案

桌面软件GUI开发框架: Electron 和 NW.js

2014年底,我在开发给策划使用的游戏工具时,曾短暂地研究了几个月 Qt,当时感觉用 Qt 来写桌面程序还是挺方便的,生成的界面也比 Swing 要漂亮许多, QML 则让 Qt 的易用性得到了进一步增强。

不过这两年来,Javascript 如日中天,开源世界基于 Chrominum 创造了类似 Chrome App 的桌面应用开发工具,可以使用 Javascript+CSS+HTML 来开发桌面程序。除了安装包大一点之外,看起来似乎还不赖。AtomVisual Studio Code 都是使用这种方式开发的。 继续阅读桌面软件GUI开发框架: Electron 和 NW.js