StarBlog博客开发笔记:前端开发(1)准备篇
环境准备 NodeJs 首先需要安装NodeJs 下载地址:http://nodejs.cn/download/ 安装前端工具链 国内使用NPM需要设置国内镜像才能正常安装,之前常用的淘宝镜像说是要停止解析了,可以用这个npmmirror 中国镜像,命令如下: npm config set registry https://registry.npmmirror.com npmmirror 中国镜像
STARBLOG / 技术与日常的文字存档
写下实践中的发现,也留住那些值得回看的想法。
环境准备 NodeJs 首先需要安装NodeJs 下载地址:http://nodejs.cn/download/ 安装前端工具链 国内使用NPM需要设置国内镜像才能正常安装,之前常用的淘宝镜像说是要停止解析了,可以用这个npmmirror 中国镜像,命令如下: npm config set registry https://registry.npmmirror.com npmmirror 中国镜像
在生成唯一 ID 这件事上,Django 和其他后端框架没啥不同的,思路都是类似的,只不过可以借助 Python 生态偷懒一下…
CodeStats 是一款将编程过程游戏化的插件和配套网站。每当你编写代码时,它都会为你累计经验值,帮助你在不同的编程语言中提升等级。你可以直观地看到自己在哪些语言上表现突出,哪些领域还有提升空间。
本文记录一下 StarBlog 项目的当前状态与接下来 v2 版本的开发规划。
前端框架层出不穷,项目越做越大,alpine.js 和 htmx 这种库是反其道而行,可以用最简单的方法来开发现代化的 web 应用。
部署SSH蜜罐?改个端口,装fakessh白嫖密码字典,sshesame当电子蛐蛐记录操作。typora插件更新麻烦,安全测试才是真本事。
后端DjangoStarter v3秒杀开发,ninja API写起来真香。前端Taro做微信小程序?呵呵,微信烂得一坨但居然有护城河?django-filer和tailwindcss还行,分享搞定,就是拖太久没动代码。
python-slim镜像用PostgreSQL?报错libpq.so.5缺失,谁在乎?换psycopg2-binary搞定,或者手动安装库,麻烦死了。slim镜像小,PostgreSQL却不行,缺库谁管?用预编译包省事点。
这个只是简单的demo,实际上生产还得考虑很多问题,本文就是为 channels 的应用开了个头,后续有新的研究成果会持续更新博客~
多阶段构建Docker镜像,自动处理Python和前端依赖,优化大小——终于不用手动折腾了。从uWSGI换到Daphne,支持ASGI,但静态文件共享真是心累,靠volume才搞定。部署方案整合进DjangoStarter,但折腾过程就像无情的网络搬运工。
PDM在Docker里替代pip?改Dockerfile调compose,禁用虚拟环境设路径,uwsgi要gcc镜像slim不行。PDM比poetry顺,勉强能用。
配置Linux多用户共享环境?无非是组权限和SGID设置。SSH公钥认证,共享conda环境,复制进度用rsync。这些操作,简单高效,但何必如此折腾?
MatterMost,开源协作平台,自托管安全可控?部署折腾Docker配置,SSO集成文档坑爹。手机App不支持Play Store,界面劝退,何必自虐?SaaS更省心。
无非继承MP_Node配置TreeAdmin,拖拽编辑树节点。可视化?也就django-treebeard能用,其他要么停更要么功能拉胯。初始化数据?手动导入,否则admin连按钮都没有,bug。接口输出无非path和depth,自己实现更舒服。
上一篇文章说了重启 sentry 的事 因为过程太折腾了,一度想过放弃 sentry 换成其他比较轻量级的开源监控系统
折腾的过程真的是究极折磨,写这篇文章仿佛又被折磨了一遍……
国内docker访问慢?Cloudflare Worker代理加速,代码现成,边缘搞定。开发者不用爬墙了?感谢Cloudflare还活着,自建去。
这次把邮件功能、域名、外观啥的配置好了,写篇文章记录一下
最近做的这个项目大量使用了 python 及其相关的生态,因此自然而然选择了我的 DjangoStarter 作为后端框架
之前看到有个叫 `django-tailwind` 的 python包,不过可能配套的 `tailwind` 版本不方便更新,再加上 **DjangoStarter** 很早就使用 NPM 和 gulp 来管理前端静态资源了,所以还是手动来添加 tailwind 比较好。
差点放弃的单点认证项目,硬撑着做完了。计划重构开源,叫StarSSO。其他项目如EchoSubs、SnapMix?随缘。
试用了一下,感觉还是太折腾,用回原来的 AspNetCoreRateLimit 组件得了
既要在项目发布后访问 SwaggerUI ,又要保证一定的安全性,本文提供的思路或许是一种比较简单又有效的解决方案。
用ActionFilterAttribute搞非侵入校验,省得重复写代码。支持Query、Body、Route、Header,HttpContext共享数据,但OAuth2.0边学边做,项目乱糟糟,功能凑合。