google linux mysql wordpress HTML5 开源 Python Firefox linux命令 Ubuntu 程序员 Android php Windows centos java 微软 apache nginx shell

如何在云端搭建反社交APP

世界变化太快,我们总在担心错过。关注的人越来越多,订阅的RSS泛滥成灾。相反,身边朋友无话可说,创作能力大幅退化。错过的原来是时光,最美好的年华,浪费在别人的家长里短、八卦横飞中。

是时候结束这种游戏了。在一个人的微博中,分享了相关理念。现在,让我们动起手来,在云端搭建反社交APP:一个人的RSS阅读器、一个人的微博、一个人的维基、一个人的科学笔记...

何谓反社交APP

反社交并不意味反人类,而是将关注点从输入转为输出;行为模式从转发到创作。

  • 无需将原本用于创作的时间再去过滤噪音
  • 隐私的APP,仅向特定好友开放
  • 数据完全由自己掌握的APP

如何选择恰到好处的反社交APP?我的挑选标准如下:

  • 代码开源
  • 代码简洁、简洁、简洁
  • 代码基于Ruby、Python等运行,能够直接发布在heroku上
  • 代码库在Github上关注人上千,持续维护与更新
  • 没有明显错误
  • 移动端支持优良或者修改容易

本文前提条件

假设你已熟悉:

RSS阅读器

安装

首选介绍的是RSS阅读器stringer。搭建无需特殊方法,直接按照官方教程处理即可。

cd ~/dev/antisocial
git clone git://github.com/swanson/stringer.git
cd stringer
heroku create
git push heroku master

然后配置即可。

heroku config:set SECRET_TOKEN=`openssl rand -hex 20`

heroku run rake db:migrate
heroku restart

在heroku添加信用卡信息,以获得免费调度插件shceduler的使用权限。

heroku addons:add scheduler
heroku addons:open scheduler

Google Reader导入

请特别注意,stringer目前尚在开发中,不建议直接将大量rss导入,先手动添加一两条RSS,测试效果。等全部完工后,大量导入。移动端配置,同样请参考官方文档。

更新代码库

由于stringer尚在急剧开发中,需要经常更新代码库,按照官方介绍,命令如下:

git pull
git push heroku master
heroku run rake db:migrate
heroku restart

搭建完后效果如图:

Stringer

微博

一个人的微博旧文中,介绍过一些实践与开源库。事实上,推荐使用flask官方实例中的minitwit,简洁优雅,改动、新增功能容易。

flask的Git 库 clone下来之后,请不要直接在flask目录下面进行操作,以避免冲突,将minitwit文件复制到一个目录下面。假设是:miniweibo。在miniweibo目录下面新增文件:.gitignore,内容如下:

venv
*.pyc

再删掉原来minitwit目录下的minitwit.pyc文件,新增Procfile文件,内容如下:

web: gunicorn minitwit:app

继续新增requirements.txt文件,内容为:

flask

将minitwit.py的数据库地址改为:

DATABASE = 'minitwit.db'

并运行目录下的相应sql文件,生成保存微博用的sqlite数据库。

然后对本目录运行:

git inti           # 初始化git库
git add .          # 初始化git库
git commit -am"first commit" # 初始化git库

再提交到heroku上即可。

heroku create
git push heroku master

事实上,这么多小修改,如果不熟悉,容易出错,你可以采取更简单的办法,git clone 我们练习时已经做了上述修改之后的库。

git clone git://github.com/ouyangzhiping/miniweibo.git

然后直接推送到heroku上去即可。此时,只需要运行:

heroku create
git push heroku master

搭建完后效果如图:

Miniweibo

维基

请参考前文: 基于Git的维基管理:gollum。需要特别提醒的是,gollum新版已支持多级版本嵌套。更优雅的管理方式是,每个学习主题是一个目录,比如,假设近期在学习Python,那么,在维基的Home页中这么写:

`[[python/home]]`

当你点击它并保存新创建的页面后,gollum会自动在wiki根目录下创建一个名为Python的二级根目录。

如果希望生成在线网站的维基形式,参见gollum-site

搭建完后效果如图:

Wiki

gollum写作也是一种享受:

Wiki Example

博客

无需多言,请参见:理想的写作环境:Git+Github+Markdown+Jekyll

科学笔记

Markx是一个基于Pandoc的Flask应用,它的优点非常明显,并可直接支持推送到Github上。

云端搭建流程仍然是:

  • git clone库
  • 推送到heroku

相应命令仍然为:

第一步:复制

cd ~/dev/antisocial
git clone git://github.com/yoavram/markx.git

第二步:推送

cd markx
heroku create
git push heroku master

搭建完后,比如,写数学公式的效果如图:

Markx

更多效果可在线访问:Pandoc Markdown

区分度

以上各个应用的区别在哪?最佳使用流程与实践怎样?

  • RSS阅读器: 用于收藏一些高质量信息来源,可参见:认知科学与心理科学优质资源索引
  • 微博:用于收录平时零散想法,想到什么,就记下什么
  • 维基:用于收藏非正式论文的网页资料、零散知识点,将其整理出来,同时写书、写长文档用维基也非常合适
  • 博客:用于输出
  • 科学笔记:用于较正式的论文、科技笔记、算法笔记

所有上述一切!都保存在你的Git库中!也就意味着你同时可以拥有Git带来的一切好处:

  • 不再担心写废与写错,任意版本更迭均有记录
  • 测试新分支的成本低廉到不可思议地步
  • 离线工作与在线工作自然融合,当脱机时,保存到本地;联机时,推送即可

延伸阅读

评论