呓语 | 杨英明的个人博客

专注于c++、Python,欢迎交流

By

[顶] 一个基于 Golang + React 的定时任务可视化配置网站的设计与实现

这个项目的初衷是为了监控我正在看的网络小说的更新情况,我希望在小说更新时就给我发一封 email 邮件,这样就能在第一时间看到热乎乎刚出炉的小说咯!

最初的时候我写了个 Python 脚本快速实现我的思路,借助 Linux 自带的 crontab 定时运行脚本抓取更新情况,有更新时就发送邮件给我。这个早期项目的地址见:elliotxx/RenewRemind

通过 Python 脚本 + crontab 的方式实现起来确实快速,运行也算稳定(使用了一年),但是也有缺点:要添加新的监控目标时,需要直接改代码;要添加新的通知邮箱时,也要改代码;总的来说,就是配置&维护不方便,直面代码,对用户不友好。

正巧最近在学习 Golang 和 React,于是就计划将以上想法做成一个可视化配置的 Web 工具。同时也加入了 Dockerfile 和 webhooks 技术实现了持续集成&持续交付(CICD),方便部署和发布,也算实践了一些想法,下面分享这个简单项目的设计和实现思路。

项目命名为 watchman(更夫),开源地址见:elliotxx/watchman

在线 Demohttp://watch.yangyingming.com

默认登录账号:admin 密码:12345

By

[顶] 一个 Vue+Django 小型 web 应用的 Docker 化实践案例

由于经常在部署应用上花费时间,前段时间学习了一下 Docker,其中踩了不少坑。这里分享一个 Vue 作前端,Django 作后端的小型 web 项目 Docker 化的实践案例以及一些心得。

By

[顶] Docker 入门指北(踩坑心得)

自从上次在一台陌生服务器上部署一个比较简单的web服务花了我半个多小时之后,我就觉得是时候学一下这个闻名已久的大鲸鱼(Docker)了。

By

对于 12-Factor 开发规范的一些理解

12-Factor 是 Heroku 的工程师结合大量实践经验总结出的软件开发规范,它包含 12 条开发规范。在当前万物上“云”的时代,不管对于开发人员还是运维人员,12-Factor 都十分有借鉴作用。而遵循 12-Factor 规范开发的应用程序,被称为 12-Factor App。

官方文档(中文):https://12factor.net/zh_cn/

这篇英文博文总结的很精炼:"12-FACTOR APP" SUMMARY

由于官方文档翻译的不太流畅,所以笔者在这里结合原文聊聊个人的粗浅理解。

By

使用 Docker 部署基于 Nginx + uWSGI + Django 的大POST请求应用

这段时间用 Django 写了个接口,需要处理大POST请求,比如请求中带有10M甚至100M的数据。

由于我采用的应用框架是 Nginx + uWSGI + Django,所以需要修改 Nginx 和 uWSGI 的配置文件,将其中的 POST 限制调大。

查了相关资料,Nginx 中与请求大小限制相关的字段是 client_max_body_size,直接在配置文件中调大这个字段的值就好了;uWSGI 比较麻烦,配置字段比较多,最后确定了几个相关的大小限制字段,调大了它们就好了。uWSGI配置文档可参考:uWSGI配置文档翻译

刚开始当时测试的时候只调大了 Nginx 的大小限制,但是一直报 502 错误,看了下日志发现是上游服务器(也就是 uWSGI)的问题,这部分浪费了不少时间。