安固途径

知识来源于感觉和经验

sae 上部署django 1.8

2015-06-27, 星期六|
python

原先在sina app engine部署django=1.8,真不是一件容易的事,主要是因为sae不直接支持最新版的django。要想使用django 1.8,只有使用 site-packages。而sae通常使用 svn 部署代码,而如果加上一个25M的 site-packages ,其代码部署速度可想而知。幸好部署代码的方式不只一种,sae 还为我们提供网页上传代码压缩包的方式。

上传代码压缩包的网页是 sae 应用的控制面板

1. 先压缩

cd feat/2
tar -czf 2.tar.gz *

2.再上传

通过操作按钮上传对应版本的代码压缩包。需要注意的是压缩包中的内容须为本地版本号文件夹中的所有内容,不要将版本号根文件夹也上传了,否则上传后服务器中的代码将会多出一个版本号文件夹,文件结构就不对了。尽管上传完成后,sae 总是会提示上传失败,但是不用丧气,其实sae上面已经上传成功了,只需要稍等片刻上传的代码就会生效。

当然,sae 提供了工具 saecloud 部署代码(saecloud deploy)和安装第三方库(saecloud install package),但

...
阅读全文

svn checkout 指定目录

2015-06-27, 星期六|
软件

svn有时只想检出指定目录,对于其他的大文件目录则不想检出,如不想检出python代码中的site-packages。可以用以下的方法。

1.检出feat/2中的所有文件(但不包括文件夹)到本地feat/2中,并在feat/2中建立.svn目录等相关配置。

svn checkout --depth files http://svn.sinaapp.com/feat/2 feat/2

2.检出需要的文件夹及其迭代的所有子文件夹及文件,如feat/2下的feat和blog,及其子文件夹和文件等。

svn update --depth infinity feat
svn update --depth infinity blog

3.检出不想包括文件的空目录,如site-packages

svn update --depth empty site-packages
...
阅读全文

linux 返回到历史目录

2015-06-22, 星期一|
linux

linux 经常会更改非上下级目录,有时又想返回,以前只知道先打印pwd,更改目录后返回则复制上次的目录再cd,这样用着多了也觉着不方便,应该有更方便的更换目录方式。于是查了一下命令的manual。

$ man cd

找到这么一句话:

An argument of - is equivalent to $OLDPWD.

于是尝试cd -

$ cd /opt/eclipse
$ cd -

果然返回了旧目录。 其实类似的使用场景还有,在当前目录登录到super user

$ su -

其它例如

~

表示当前用户目录也是经常用到,在此顺便一提。

...
阅读全文

安卓手机端中文输入法的选择

2015-06-19, 星期五|
软件系统设置

对于多数安卓端手机用户来说,习惯了几宫格下的拼音输入法,因此输入法的品牌倒不是一件紧要的事。

然而对于追求极致的人来说,输入法用最顺手的最舒心。

从输入体验,输入功能来探讨,有三款输入法可以入得了法眼。

  • No1. 谷歌拼音输入法
  • No2. 讯飞输入法
  • No3. 百度输入法

大概看到谷歌拼音输入法的人笑了吧,这么简陋功能的输入法还来出来用,词库简陋不说,还没有云库,连符号中都没有网址的。然而我为什么会考虑谷歌拼音输入法(以下简称谷输),甚至将其排在首位?有几个主要原因。首先是谷输的界面承袭了谷歌产品的一惯特性,简洁美观赏心悦目。其次,谷输为原生安卓系统所集成,是自带的输入法,兼容性自然好。其三,谷输推出滑行输入的新体验,输入效果佳,为独有之设计,令人难以忘怀。然而谷输亦有其不足,这便是其他输入法还有入选的原因。针对谷输只能用拼音、笔画、手写输入的现状,讯飞在其语音识别的优势上推出的讯飞输入法可提供极负盛名的语音输入方式,识别率极识别速度都是极高,一技独秀。百度输入法则提供五笔输入方法,兼有语音输入方式,为输入法功能之集大成者。然多则杂,百输多密终有一陋,界面丑其一,更新烦其二。

本来

...
阅读全文

django之ListView的简单用法

2015-06-19, 星期五|
python开发

Django的built-in Class-based-view中有一个是ListView,它在 django.views.generic.list 中, 它的具体用法参见Django documentation后发现有几个文件需要修改。

  • app/views.py
  • app/urls.py
  • app/templates/app/modelname_list.html

修改views.py

#app/views.py
from .models import Article
from django.views.generic.list import ListView

class ArticleListView(ListView):
    model = Article
    #template_name = "article_list.html"

修改urls.py

#app/urls.py
from django.conf.urls import url, patterns, include
from .views import ArticleListView

urlpatte
...
阅读全文