Eliyar's Blog

大有空间,可容;强有余力,有度。弱无依仗,赖横。真有信奉的人,可以强到从容,大到由他。

0%

虽然Rasp-camera拍照功能实现了,但在做网站时候如果直接调用原文件会非常慢。

所以考虑每次拍照时候同时产生缩略图文件存放,这样就能有效加快网站加载速度。

安装PIL,Python Imaging Library

1
sudo apt-get install python-imaging
Read more »

需求

把最近一周每天拍摄照片(探访人员)数目统计出来,数组形式返回。

需要的基本代码

日期格式转换

1
2
3
4
5
6
7
# data -> string
now = datetime.datetime.now()
now.strftime('%Y-%m-%d %H:%M:%S')

# string -> data
date_str = '2012-03-05 16:26:23'
date = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')
Read more »

GitHub简介

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git是目前世界上最先进的分布式版本控制系统(没有之一)。

GitHub于2008年上线,目前,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub的用户活跃度很高,在开源世界里享有深远的声望,形成了所谓的社交化编程文化(Social Coding)。

Github大名听了很久,上次注册账号刚准备用,就开始忙托福一直没时间研究。不过Github Student Pack中Digitalocean 的$100优惠劵倒一直在用[笑]。

Read more »

早上开始用Flask架设一个简单的API Server,中午把基本的GET请求处理完以后,发现按照我的方法处理POST、PUT、DELETE请求会很麻烦。刚好这个时候发现使用Flask扩展Flask-RESTful的话能大幅度简化API开发过程。

Read more »

关于Flask-SQLAlchemy以前就写过一篇Flask数据库扩展Flask-SQLALchemy,不过当时并没能搞懂具体如何使用。现在阅读了不少相关英文材料后,最终还是选择了它。

关于Flask-SQLAlchemy的介绍及管网教程等可以看上面那一片。这里主要讲一下如何使用他管理数据库。

配置数据库

1
2
3
4
5
6
7
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////root/test/monitorDB.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
Read more »

更新

本文介绍的实现方法略麻烦,更简单的方法请参照:使用Flask实现一个RESTful API Server

REST的六个特性

  • Client-Server:服务器端与客户端分离。
  • Stateless(无状态):每次客户端请求必需包含完整的信息,换句话说,每一次请求都是独立的。
  • Cacheable(可缓存):服务器端必需指定哪些请求是可以缓存的。
  • Layered System(分层结构):服务器端与客户端通讯必需标准化,服务器的变更并不会影响客户端。
  • Uniform Interface(统一接口):客户端与服务器端的通讯方法必需是统一的。
  • Code on demand(按需执行代码):服务器端可以在上下文中执行代码或者脚本。
Read more »

关于服务器后台,网站前端和手机APP怎么通讯,怎么同步信息之前一直没有想清楚。

昨天通过Angular.js课程了解到了这一部分,一下子思路非常清晰。准备用以下方式来实现整个应用。

后端:服务器端继续用Python,Python GPIO 及 Picamera模块来控制硬件。用Flask来做API server。

前端:网页前端用Angular.js来写

APP:等写完完整的后端及前端,再开始研究IOS开发。

嘿嘿,开工咯~

1.通过config命令

1
2
npm config set registry https://registry.npm.taobao.org
npm info underscore

(如果上面配置正确这个命令会有字符串response)

2.命令行指定

1
npm --registry https://registry.npm.taobao.org info underscore

3.编辑 ~/.npmrc加入下面内容

1
registry = https://registry.npm.taobao.org

搜索镜像: https://npm.taobao.org

建立或使用镜像,参考: https://github.com/cnpm/cnpmjs.org

虽然不完美,但监控程序基本功能还是用Python写完了来着,但这颗爱折腾的心停不下来呀。

前两天看了个网站管理面板,风格甚是喜欢,想拿来用在监控程序,把后端写完没了再去写IOS APP。

安装Node.js

1
2
sudo wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb

安装完成后运行node -v查看是否安装成功

Read more »