为什么设计良好的软件没能成为主流?
按照一般的直觉,一款好的软件具有以下特点:
简洁 - 接口和实现都应当简洁,接口简洁优先于实现简洁
正确 - 功能必须正确,Bug 越少越好
一致 - 接口以及用法应当一致,不应当有零零散散,格格不入的接口
完整 - 功能应当完整,设计时应考虑到尽可能多的使用场景
继续阅读 »
很多时候,我需要写脚本去做一些自动化操作,简单的可以直接写 Shell 脚本,但一些稍复杂的情况,
比如要用到分支语句,循环语句,或者调用一些高级函数,用 Shell 就太费劲了。
我更喜欢用一种完整的语言(比如 Python),调用 Shell 程序并获取它的输出,执行复杂操作。
继续阅读 »
先说说转Java的事
我实习回来没几天, @佛爷 和 @子健 就找我谈换技术栈,我当时还挺郁闷的。
刚转 Python 不到两年,而且 Python 本身就很适合小团队,为啥要换呢?
聊完之后我明白了,关键是 Java “方便找工作”。 @子健 也提到,他在阿里实习生群里统计了一下:
总共两百多人,三十多个前端,七八十个 Java,一百多个算法。Python 在国内还是太小众了,
工作岗位太少,大公司用 Python 也只是做运维之类的工作。
大公司用的后端语言主要还是 Java 和 C++,笔试面试除了考算法,主要也就考这两门语言,
毕业后想去 BAT 的话,转 Java 有很大优势。
继续阅读 »
技术人不能只埋头做技术。
两年前,我们做的还是 PC 端的网站。每年做一个XX周年活动,每年做一个XX届家园节,每年做一个XX届
校运会,每年做一个招新页面。为什么呢?因为是网站的传统,要沿袭下去,去年就是这样做的,前年也是
这样做的,所以今年也这样做。
继续阅读 »
缓存 - 拒敌千里
缓存可以应对两种敌人,一种是结构化数据查询,另一种是静态文件下载。
数据库是一个网站的核心,存储着网站所有的结构化数据,还要应对海量的查询请求。
静态文件决定了网站的界面,它需要第一时间展现在用户眼前,还要吃掉海量的带宽。
继续阅读 »
其实我是一个月前,也就是寒假的时候就读完了这本书,受益匪浅。当时就想写篇博客总结一下,结果一直
拖到今天,实在是惭愧!
《代码大全》是一本非常厚实的书,总共有八百多页,读完用了一个月时间,大概每天读1~2章。
这本书从变量命名,循环语句,到代码质量,团队协作等等,对涉及到写代码的方方面面都做了讨论,
结合学术界研究和业界实践,告诉你什么是好代码,以及如何写出好代码。
继续阅读 »
frp是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。
可以在 https://github.com/fatedier/frp 找到文档和下载地址。
继续阅读 »
本文介绍如何使用 Docker 构建一个高效的 Web 开发环境(Linux+Docker+Python+JavaScript),这也是我的日常开发环境。
准备Docker
安装Docker
https://docker.github.io/engine/installation/linux/
不要漏了阅读 Create a Docker group 部分。
安装Docker Compose
继续阅读 »
在实现 flask-restaction 的自动生成API文档功能时,用到
https://highlightjs.org/ 实现代码高亮。
首先按照文档用的是这个方法:
继续阅读 »
Flask应用中通常会用工厂模式
来创建应用对象,这样方便配置和测试。
应用代码
```python
app/init.py
from flask import Flask
from flask_xxxext import Xxx
from flask_yyyext import Yyy
... 一些flask拓展
xx = Xxx()
yy = Yyy()
继续阅读 »