Coding your future

Get Stated

NodeBB 升级迁移总结

前言

青云用户社区使用了开源的 NodeBB 论坛,部署之初使用0.7版本,因为没有跟随官方进度进行更新,导致论坛版本长期停滞。一方面无法享受到官方的BUG Fix,另一方面也无法使用很多业务需求的插件。思量再三后决定对社区进行升级迁移,不在原论坛直接升级,而是部署一套新的环境,将原有的数据全部导出。

Read more

新博客上线&Hexo主题开发入门

前言

曾经看过我的博客的同学大概都会发现,我的博客再一次大变样了~
这一次的更新其实酝酿了很久,早在刚开始用Hexo的时候就想着要有一个自己的主题。但是那个时候觉得这是一件很难的事情,要懂HTML,CSS,JavaScript,还要懂Swig,Ejs等模板语言,还要懂Hexo的内部原理,于是就一直搁置了。在独立实现了一个完整的项目之后,我认为自己已经有这样的能力了,于是决定正式开始。
在我看来的话,Hexo的使用者大概分为三个层次:第一种用别人的主题,第二种模仿现有的主题,第三种自己独立开发。我原来是第一种,在Next的基础上做了很多改动,这一次进入到了第二个层次。我找了一套自我感觉还不错的模板,然后套用它的CSS设定和页面结构,就成了我现在的主题。
利用两天学习和工作的闲暇时间,我大体上完成了这个主题。做得比较糙,很多细节还有待优化,但是我已经急不可耐地想要正式上线了,笑。在未来的话,我希望能把一些配置都能整理出来,优化一下代码,然后开源这个主题,希望大家能够喜欢~
庆祝的话已经说的差不多了,下面来讲一讲如何开发一个Hexo主题。

Read more

马可波罗珠宝进销存系统开发手记

前言

这个项目从我们这个学期开了系统分析与设计这门课之后就开始了,首次创建这个项目是在3月26号,实际上真正的开发时间集中在6月上旬。差不多用两个星期的闲暇时间时间完成了这个简单的进销存系统。这个系统基于Flask框架,使用SQLite3数据库,前端则是使用Bootstrap框架,实现了包括客户,库存,销售,进货等管理子系统。说是管理,其实也就是简单的增加和删除而已。
前人经常说,不要重复造轮子。既然有类似于Odoo这样强大的ERP系统珠玉在前,我为什么要再自己造一个功能简单,甚至根本不会有人用的轮子呢?从前我确实是这么想的,但是稍微有一点工作经验之后发现再造轮子的原因有两条:

  • 作为一个处在知识积累阶段的学生而言,再造轮子很有必要。不造一次轮子,你就永远不会明白轮子内部的真实构造。很多技术虽然看起来简单,但是想要有一个完善且健壮的实现却有很多坑需要踩。踩这些坑的过程,也正是一个技术人员成长最快的过程。
  • 别人的轮子终究是别人的。你不知道这个轮子最大能承受多少压力,你也不知道这个轮子在什么样的情况下会爆胎。当一个轮子装上企业呼呼向前的列车,再要想把它替换下来是一件很难且成本很高的事情。

接下来,讲讲造这个轮子的一些经历吧~

Read more

在QingCloud上部署弹性扩容的OwnCloud

前言

因为实在不满意百度云的一些缺陷,我们最终决定部署一套团队内部使用的云存储平台,用于团队协作及资料长期存储。希望能够达到如下目标:

  • 数据安全性高
  • 权限控制能力强
  • 分享功能更强,可以设置密码和过期时间等
  • 允许匿名第三方上传数据
  • 没有文件上传大小限制
  • 支持多平台同步功能

综合考量各开源项目之后,我最终选定基于QingCloud部署一套开源存储项目OwnCloud。

Read more

我从Qingchat中学到的教训

前言

之前的一段时间一直在从事Qingchat的相关开发工作,这个项目是一个基于Mojo-Weixin提供的Rest API开发的一个微信机器人,承担了十余个群,上千人的微信直播活动。秉承着ACM训练出来的“暴力加乱搞”风格,我花了大概一个星期的课余时间,搞出了一个可用的版本。期间也迭代了很多次,既欣慰于Coding的力量,也苦恼于当初设计的不完善带来的种种问题。在这个项目即将大规模重构的前夕,我总结一下开发Qingchat的过程中的经验教训,希望自己能成为一个更好更聪明的Coder。

Read more

基于MSP430G2553的打铃系统开发手记

前言

我萌萌哒的妹纸是一个代码苦手,完全无法理解 C 语言,所以每一次到单片机上机需要交作业的时候都是愁眉苦脸的样子。而我又总是因为自己确实不懂单片机里面的种种奇怪定义(中断,串口,P1.x 之类),所以也一直没有什么好办法去帮她。这一次的作业对编码能力要求较高,但是涉及到的硬件比较少,于是决定以此为契机,开始我的嵌入式开发之旅。

Read more

Gitlab部署和汉化以及简单运维

起因

在跟网络中心的老师沟通成立镜像站的相关事宜的时候,意外地接下来搭建一套校内的 Git 服务的任务。
@怡红公子 曾经搭建过一套类似的服务,但由于服务器端没有开启 VT 虚拟化导致不能安装 64 位的操作系统,再加上 Gitlab 不提供 32 位的安装包,所以长期以来怡红公子一直都是自行编译并配置 Gitlab 。考虑到后续维护的方便,我们决定趁着这个机会使用另一台支持安装 64 位操作系统的服务器,一劳永逸地解决这个问题。
我们的服务器环境是 CentOS 7.2 64bit ,以下所有操作均以此为基准。

Read more