07 September 2015

架设 v2 版本的 Docker Hub Mirror

在上次 docker 更新至 1.8.x 后,docker 默认使用 v2 版本的 registry api 来拉取镜像,目的是提供更安全更便捷的方式。 但是在 docker 1.8.1 的源码中,对于 api 的选择是这样的,先从设置的--registry-mirror=

18 August 2015

在 Docker Machine 中使用 Mirror 服务

Docker Machine 是 Docker 官方推出用来取代原来 boot2docker 的工具,其实我感觉就是把原来的 boot2docker 再次包装了一层?给了一个统一化的管理方式,但是这下问题来了,原来我们使用的 DaoCloud 的加速器服务在这里该怎么使用了呢? 先看了下docker-machine的大概操作,里面有个 ssh Log into or run a command on

17 August 2015

Flask 中的 Long Polling

Long Polling 并不是什么稀奇的东西,其实就是一个普通的 HTTP 请求,只不过在没数据时我们直接把他阻塞掉,直到有数据直接返回完成本次请求。 那么说白了代码其实就像是下面这样: from flask import Flask, jsonify from time import sleep app = Flask(__name__) app.debug = True @app.

16 August 2015

iPTV 终极方案

iPTV 是电信推出的针对家庭宽带用户的数字电视业务,其实也就是一个普通的网络电视机顶盒,只不过源是电信自己维护的,所以稳定性要比很多其他机顶盒好很多。 但是最麻烦的是经过几次更新之后,这个网络电视的机顶盒只能通过一次 PPPoE 才能成功连上电信的服务器(以前确实可以直接改 DHCP 就信了),但是我们之前还有一个路由器已经完成了 PPPoE 的过程,怎么做才能让路由下面的设备一就能够进行拨号呢? 最早是改变了一个接线方式,将猫上的 LAN 与路由上的一个 LAN 相连,然后路由再从一个 LAN 连至

15 July 2015

pip 缓存坑

Python 下常用的一个包管理工具就是 pip,今天我在一台服务器上部署 uWSGI 的时候遇到了这么个坑。 uWSGI 的 internal routing 依赖于 pcre,第一次用 pip 安装好后运行 uwsgi 时会出一个 !!! no internal routing support, rebuild with pcre support

11 July 2015

迁移到 Ghost

本着学习折腾 NodeJS 的目的,我打算把博客从 WordPress 迁移到 Ghost。Ghost 还有一个吸引我的地方就是他的默认主题就非常漂亮,用了好久的 WP 我越来越发现其实那么多功能我都不怎么需要,就需要一个平台来给你写东西就够了,Ghost 就是那么一个平台其实 Ghost 上很多功能都没有。 迁移的时候因为我打算一些图片什么的都放在自己服务器上,所以并没有给静态资源上 CDN,因此迁移的时候需要把文章里的图片链接都修正好花费了一些时间。还好,WP 上一个插件导出后是一个 JSON

02 July 2015

10.10.4 下第三方 SSD 开启 Trim 的正确姿势

在 10.10.4 之后已经有苹果官方推出的trimforce了,相当于使用较官方的方式开启 trim,但是开启 trim 后所造成的问题与 Apple 无关。 其实就是一条命令 $ sudo trimforce enable 然后等着自动重启就行。

19 June 2015

班主任参考

本周我们老师请来了定海一中的周晓飞老师来给我们组织一次班主任工作的分享。周晓飞老师今年带的高三刚刚完成了高考,高中这一特殊时期的班主任工作想必一定是比较复杂的,不过这次分享的重点是班主任工作,并不是高中时期的工作。 智慧型班主任 智慧型的班主任的智慧我觉得是体现在巧妙地推动学生去帮助自己工作,二并不是像诸葛亮一般万事都亲力亲为。比如在学生军训时期就全面了解学生个人情况,指派好每个职务,安排值日表、座位表与临时班长。这些不仅仅对自己以后的工作能降低复杂度,也对同学们的互相了解有帮助。这是每个新班主任接手自己班级学生时都必须重视的项目,虽然万事开头难,但是相信在学生养成习惯后能对其一生受益。 班级各项活动 每个班级都应该生成自己的班级文化。周老师给我们提出,班级文化建设时要解决的三大问题: 有气无力 —— 有气势没力量 两张皮 —— 文化与道德的分离

30 May 2015

在 Flask 中使用 EventSource

EventSource 是 HTML5 新带进来的特性,用途是可以单方向的接收从服务端推送过来的消息,要双向通信的话估计要使用 WebSocket 的了。 Flask 中需要使用yield来进行 Stream 类型的通信,我们今天的主角是EventSource。 我们先来入入门 这是app.py from flask import Flask, Response, render_template import time

28 May 2015

Flask-Admin 小坑之 dynamic

比如有两个 SQLAlchemy 模型,Post 和 Tag,两者之间是 Many-to-Many 的关系,因为我想在渲染页面时传个 Pagination 对象过去方便分页,所以在定义关系时用了lazy='dynamic'参数,返回的是一个BaseQuery对象。 在使用Flask-Admin时我想在Tag的管理页面上每一条纪录都能出现一个Posts的字段用来显示当前Tag中Post的数量,所以我们简单的这么表示: class RBTagAdmin(ModelView): column_list = ('topic', 'posts') column_

Page 2 / 9