使用 GitHub Actions 实现博客自动化部署
如果大家以前是用过静态博客,比如 Hugo、Hexo,可能配置过自动部署,也就是提交代码到源文件分支,自动生成静态文件提交到静态分支。静态博客的部署都是基于文件,目标只是一个 Git 仓库,一切都比较自然。那么如果是喜欢折腾,使用了动态博客呢?这里就涉及到服务器远程登录了。下面介绍一下我使用的方法。 <!-- more…
如果大家以前是用过静态博客,比如 Hugo、Hexo,可能配置过自动部署,也就是提交代码到源文件分支,自动生成静态文件提交到静态分支。静态博客的部署都是基于文件,目标只是一个 Git 仓库,一切都比较自然。那么如果是喜欢折腾,使用了动态博客呢?这里就涉及到服务器远程登录了。下面介绍一下我使用的方法。 <!-- more…
PDM 实现 PEP 582 遇到的坑
安装即生效的插件
可选配的插件
题按:本文写给那些有志于加入到开源的世界的人们,主要以我的主力语言 Python 作为例子,但可适用于任何语言。 <!-- more --> 开源并不等于免费和开放源代码而已 相信各位搬砖工在公司里都有面对过屎山的经历,千奇百怪的编码风格、神出鬼没的注释和「卧槽,这也行」的骚操作充斥其间,我相信就算是 FLAGM 大厂…
自己的轮子,自己做主
昨天某个新手又抛出来个问题:为什么找不到 django-admin 可执行程序?我一看这不是 Python 高频问题之一吗[^1]。 <!-- more --> 就问他PATH是怎么设置的,结果他把django-admin 复制到了site-packages/django/bin下面。这就相当荒谬了,lib/site-…
我日常会在 TG 群、QQ 群、微信群和知乎上解答新手问题,一贯给人的印象都是态度不是很好,冷嘲热讽。这并不是因为我鄙视菜鸟,我也曾是菜鸟。除了一些我好为人师的性格之外,更多时候我希望提问者能自己意识到问题所在,为什么错了,这比他直接得到一个答案有帮助得多。这么久在社区里摸爬滚打以来,我发现一些问答上不好的行为,不吐不…
2019 即将画上句号,犹豫了很久要不要写个总结。因为别人写总结都是获得了很大的收获,或是有很丰富的体验。而我不然,原来的小确幸已消磨殆尽,这一年只剩迁延时日。 编程 有很多技术,没用过不算真正学会,今年算是真正掌握了 Django 这个框架。原来我一直是 Flask 党的,会用 Django(特别是 DRF)以后发现…
在上一篇文章中我留了一部分内容,就是如何给评论登录接入第三方登录。我不希望来访问我博客的用户有太大的登录成本,否则本想留下些话的人,就会被挡在这个门槛之外。 Flask 不像 Django 一样有各种现成的组件可以选用,Flask 的各种扩展也不那么「开箱即用」。在我的博客项目中,我选用的是Authlib,它是国内的一…
一个简单但很多人没注意的细节
2024.1.2 更新: 本文中的评论系统已经迁移到了 Artalk 因为我博客使用的 Disqus 代理服务下线,博客的评论系统可能有一阵子没有工作了。惭愧的是我竟然最近才发现,我的工作环境一直是没有 GFW 存在的,发现是因为有个朋友为了留言给我不惜通过赞赏 1 元钱的方式。赞赏功能也是我最近才上的功能,但我怎么是…
2020年我使用的Python工具
CSRF防护与后端鉴权
Django+Django REST Framework下的DRY实践
小时候,我有一大半的休闲时间,都是在外公家度过的。二层的小楼,红色的砖墙。阳光透过法桐的巨大树叶,洒在葡萄藤上,孕育着一颗颗碧绿的葡萄。一只聒噪的蝉,不知趴在哪里吱呀个不停。老旧的吊扇转得不快,发出阵阵嗡嗡的声音。 外公的房间就在东头,二层的光线不算明亮,白墙下刷着绿漆,房间里弥漫着一种神秘的香味。那是一种收藏的气味,…
问题定位 一日我在 Pipenv 上收到一个issue: 用户说 Pipenv 执行的 pip 命令中--trusted-host缺少了 port 部分。然后我去扒源码,结果发现有两处同样的函数:[1][2]逻辑不一致。顿时感觉事情没那么简单。于是我本地搞了一个pypi server, 并用自签名支持了 https,然…
又一篇Pipenv文章
我的个人博客从 Hexo 迁移到自建主机,主要是为了能自由的增减特性,和随时随地的更新博客(然而并没有)。所以考虑用 Python 的 Web 框架来写,由于我最开始是从 Flask 入门的,对它的源码也最了解,所以就选择了 Flask。总的来说,一个个人博客网站,主要包含以下几个功能: 文章的保存和展示 文章的分类和…
HDIW系列文章之二