BLOG
Enjoy when you can, and endure when you must.
香蕉派(BPI)的又一次蜕变 —— 用 Linux 自主打造路由器

经过了一个多月的逐步尝试,我的香蕉派已经工作得很好了。其实在购买之初,我的想法就是将其打造为一个“家庭网关”来满足各种个性化的需求,所以首要目标就是将其变身为一个路由器。刚开始自然而然的想到了 OpenWrt 这种成熟的系统作为基础。不过在一段时间的折腾之后就发现,OpenWrt 固然好用,但因为它是一个极小化系统,要想实现一些其他的功能,虽说可以通过 SDK 来进行交叉编译,但过程着实比较繁杂,其他的一些如针对 GPIO 的操作也并不很方便。思考了许久之后,终于还是下定决心直接用 Linux 系统来打造路由功能,虽然在这上面花的功夫多一些,但在另一些方面则省事不少,也可以把对于开发板来说还算强大的硬件真正用起来,也算是一种权衡。

香蕉派(BPI)加装 OLED 屏幕并使用 Python 进行控制

话说自从买了一个 BPI M1+ 之后,这折腾就是根本停不下来的节奏。之前已经成功尝试为其编译了一个专属的 OpenWrt 15.05.1 版本,并实现了如文件共享、下载机等诸多小功能,当然还有更重要的一点 ... 你懂的。不过再怎么说这也是个开发板,就这么放着当路由器,不再玩玩其他的,感觉是有那么点对不起他吧。虽然我不太擅长搞硬件,小玩一些简单的还是可以的。所以还是决定把强大的 GPIO 口用起来。起初简单玩了玩距离传感器,熟悉了下 GPIO 的基本使用。然后就想到了何不在上面拓展一个小屏幕,显示些基本信息,还是挺有趣的。比如我一般不会外接显示器什么的来使用 BPI,要经过网络找到他还真得费些功夫(当然也不算啥事),搞不好还间歇性失联。如果能让他在启动以后通过小屏幕自己显示一下 IP 地址,不就省事多了嘛。于是淘宝搜罗了一番,最终考虑入手一个 BPI 官方的 OLED 屏 ... 接下来开启“装逼”模式。

香蕉派(BPI)的 OpenWrt 之旅

一直想要折腾下路由器,虽说如今市场上的中高端家用路由器功能已经越来越强大了,但从实质上来讲,我觉得他们解决的很多是易用性的问题,真正在功能性上,确实也称不上强大,并不能真正满足我的需求。而且路由器自身现在也越来越不纯洁了,各种隐私泄露的曝光此起彼伏,真是不忍直视啊。虽说互联网没有什么隐私可言,但就脚跟前这一环节,还是值得去重视一下。所以就想到用一个开源系统(OpenWrt)和开源硬件(Banana Pi)来定制需求并实现一些有趣的应用。

MAY 09, 2016/Python
Python 应用剖析工具介绍

编码之初,我们的首要目标是实现既定的任务。而到了进阶阶段,找出性能瓶颈,再尽可能地提高其运行效率,这样的工作变得日益重要。此时,利用 cProfile、PyCallGraph 这样的工具可以帮助我们确定最佳的程序优化方案。这里就让我们一起来探索。

MAY 05, 2016/平台与系统运维
搭建个人云存储:OwnCloud + CentOS 6 + Nginx + MySQL

最近,国内的各大免费云存储提供商纷纷倒下,是时候搭建一个自己的云存储平台来满足自己的需求了。当然这首先需要你拥有一个或多个还算靠谱的 VPS 才能保证最基本的数据安全。今天我要使用的是一个开源云存储服务,并且支持同步和分享,在 PC、iOS、Android 等平台也都有官方提供的同步软件。可以实现类似于 DropBox 的体验。应该说还是非常有趣且实用的。

利用 OpenWrt SDK 编译自定义软件

OpenWrt 是一个非常有趣的 Linux 系统,可以利用它完成许多有趣的工作。OpenWrt 本身提供了很多软件包,但如果需要单独编译自己的软件呢?这时就可以让其 SDK 登场来帮助我们完成该任务。

APR 24, 2016/心得与分享
StartSSL 登录证书的续期

StartSSL 提供 Class1 的免费证书,因此受到很多个人站长的青眯(我也算其中一个)。StartCom 网站的账户则是通过 Email Certificate (S/MIME) 进行认证的。不过该证书只有一年的有效期,临近过期了该如何续期呢?

APR 21, 2016/后端开发与架构
移动应用的第三方平台登录在服务端的授权验证

如今,很多移动应用在做用户注册/登录的时候,为减少用户的交互成本,会考虑引入常用的第三方平台的开放登录授权来快速的将用户倒流到自己的平台中。在原来的第三方登录中,很多是采用基于 Web 的 Oauth 登录授权机制,在这种情况下,用户需要在 APP 弹出的网页中输入第三方平台的账号和密码进行登录,然后授权当前应用允许访问自己的账号。而现在更多的则采用的是所谓 SSO 授权机制,用户在点击第三方登录按钮后,应用会将用户引导至对应的第三方应用中,接下来只需点击授权按钮即可完成授权过程,大大增强了操作的便捷性和账号的安全性。但对于服务端开发者来说此时可能会发现,之前基于 Web 的 Oauth 登录授权会产生一个回调,服务器可以基于此来做授权验证。但在 SSO 这种机制下,回调会直接返回给应用本身而不经过服务器。这种时候应如何处理授权验证的问题呢?

APR 16, 2016/Django
用 Django 构建简易博客(五):添枝加叶

在我建立这个网站之初,我就发了一个系列的博客《Django 博客系统开发》,当时的想法是将自己所学和所实践的一些东西整理一下、记录下来。时至今日,三年的时光已在眨眼间过去,我发现这几篇文章在我网站的访问量排行中依然居高不下。说明这几年大家对 Python 和 Django 的关注度确实比较高并且有很多新的开发者加入其中,这当然要数是一个非常好的趋势。但技术是不断发展的,特别 Python 和 Django 都一直处于快速发展期,当年的文章中提到的方法很多已不再适用。因此萌发了做一个更新的想法,让更多的朋友关注最新的技术,而不是面对一个旧版冥思苦想。

本文一共分为五篇。在前四篇中,我们已经实现了一个非常简易的博客,本文作为最后一篇则意在引导如何去“添枝加叶”让博客真正成为一个成型的网站。

APR 13, 2016/Django
用 Django 构建简易博客(四):专注功能的实现之博客详情与评论

在我建立这个网站之初,我就发了一个系列的博客《Django 博客系统开发》,当时的想法是将自己所学和所实践的一些东西整理一下、记录下来。时至今日,三年的时光已在眨眼间过去,我发现这几篇文章在我网站的访问量排行中依然居高不下。说明这几年大家对 Python 和 Django 的关注度确实比较高并且有很多新的开发者加入其中,这当然要数是一个非常好的趋势。但技术是不断发展的,特别 Python 和 Django 都一直处于快速发展期,当年的文章中提到的方法很多已不再适用。因此萌发了做一个更新的想法,让更多的朋友关注最新的技术,而不是面对一个旧版冥思苦想。

本文一共分为五篇。本文为第四篇,主要关注博客详情及评论功能的实现。了解 Django Form 的基本使用。

< 1 2 3 4 > >>