Oracle 给了我两个 1C 1G 的永久免费服务器,正好用来搭建 mastodon,也把 fuckyou.plus 这个域名用上。
mastodon 给出的 docker-compose.yml 里有三个服务,其中较为吃内存的是使用 ruby 编写的 web …
版权申明
本文从 StackOverflow 里 How do SO_REUSEADDR and SO_REUSEPORT differ? 的回答翻译而来。
欢迎来到奇妙的可移植性世界......或者说缺乏可移植性的世界。在我们开始详细分析这两个选项并深入研究不同操作系统如何处理它们之前,应该注意到BSD的套接字实现是所有套接字实现之母。基本上所有其他系统都在某个时间点上复制了BSD的套接字实现(或者至少是它的接口),然后开始自行演化。当然,BSD的套接字实现也是在同一时间进化的 …
从 SQLite version 3.38.0 (2022-02-22) 开始,它默认携带了JSON支持。使用Python标准库sqlite3处理JSON结构的数据是十分简单的。
根据文档sqlite3 - 注册可调用的适配器可以知道,如果我们需要把dict
或list …
在设计 MíngShé 的字典解构赋值语法时,我遇到了一个问题,在半年之后的今天终于想到了如何解决。
字典解构赋值语法右侧的表达式是十分自由且无法控制的,它可以是一个简单的变量名,也可以是一个复杂的管道和偏函数运算结果,有的时候其计算成本十分的高。作为一个编程语言,肯定不能愚蠢地重复计算右侧的值。那么如何保存变量的值且不把作用域扩散到单条语句外?
由于当时已经写完了空值合并语法,我思维上出现了明显的路径依赖,不停在想如何使用 :=
绑定右侧对象,但始终没有想出来。直到昨天漫无目的的刷新着 Telegram Group …
在优化 Windows Terminal 的使用体验之前,首先需要去微软在 GitHub 上的仓库里下载图标,存在电脑上一个固定的位置,我存在图片下的 Icons 文件里,路径为 C:\Users\AberS\Pictures\Icons\terminal …
Traefik 是一个很好用的反向代理服务器,它可以自动发现 Docker 容器中的服务,然后进行反向代理(不再需要手动指定映射到宿主机端口再去配置代理服务器),并且还可以自动申请 TLS 证书,自动提供 HTTP2 服务。十分爽。
但一旦 Traefik 和多个 network 的服务一起工作,它就会随机的出问题 …
在国内,有许多厂商的 PyPi 镜像,或许是为了监管,他们均选择了定时拉取同步的设计。这就会经常出现很多新的库/版本没有同步到的问题,并且有时候速度并不是很理想(毕竟那么多人在用)。
用自己处于大陆外的闲置服务器带宽搭建一个反向代理 PyPi 不仅能做到高实时性,还能通过正常的网站来掩盖某些特殊流量。
搭建镜像
使用 PyPi-mirror 这个仓库来搭建。执行 …
oh-my-zsh 里的主题,我最喜欢是 ys,它简洁优雅,没有非 ASCII 符号。
但唯一的问题是 Python 虚拟环境提示符不能正常显示,在 poetry 创建的虚拟环境下,它总是会把 (.venv)
输出到每个命令的结果之后。
一番搜索之下先是找到了 https://github …
由于程序需要,购买了一些提供代理 IP 的服务。本文会持续更新,直到买到合适的代理 IP 服务为止。另外,本文不是做推广骗黑心钱的,不信你看我下面贴的地址,只贴了官网,不是推广链接。
最后更新时间请看上面。
阿布云
最开始买的就是这家,原因是 PM 的朋友推荐的。这家代理用起来很简单 …
浏览器自带的滚动条相当丑,我在一段时间之前魔改了一下perfect-scrollbar的CSS代码,做了一个更好看的滚动条,我现在的博客代码块用的就是它。
使用方法
先引入JS与CSS:
<script src="https://abersheeran.com/templates/static/components/prefect-scrollbar/main.min …
最近在忙项目的同时,也想把自己的小工具用自己的index.py重写一下。为了从实践中完善index.py。
但在尝试使用docker运行index.py的时候,出了问题。
问题
众所周知,docker容器在正常终止时会向主进程(pid 1)发送一个SIGTERM信号。一般来说,程序是能正常接收这个信号,并且退出的。
但 …
关于什么是元类(metaclass)、怎么用元类,我查了很多资料。中文的英文的都有,但是似乎都是讲理论,没有实际的给出一个整体的代码。
理论
几乎所有教程里都会谈到这一点:
类也是一个对象,元类就是创建这个对象的类。
参考metaclass的官方文档
By default, classes are constructed using …
由于服务器的带宽与存储问题,图片不得不上七牛云了。
模型
以下是一个很简单的图片模型,之前我有写过一篇Django多图片上传,所以在此不赘述如何处理图片上传部分了。
class Image(models.Model):
file = models.ImageField(upload_to='upload/', verbose_name="路径")
message …
Django部署到线上之后,出现一些奇怪的500错误。但是关了DEBUG,uwsgi里没得详细日志可以看。于是谷歌了一番,发现有这个疑惑的不止我一个。
在stackoverflow.com关于此的问答中可以看到,配置很简单。在settings
里配置
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters' …
由于我写的网站样式在频繁的更改,每次我都要去服务器上执行git pull
,很麻烦,于是查了一下Coding的文档写了WebHook。
WebHook是什么?
WebHook 是Coding/Github之类的网站,提供的一个服务。
以Coding为例,它可以为你的库设定五种监听事件,在这些事件发生的时候就会发送一个POST请求到最上方指定的网址。
编写
根据Coding开发者文档,在项目的settings.py …
我们在开发pdk365的时候,前端开发的机子突然无法访问他本机架起的Django服务器的静态文件了。
报错就类似于下面的,但我遇见的问题不同的是,它们的根路径是一样的。
The joined path (/var/folders/t9/7v8mki3s3h39fzylxfpsk9640000nn/T/tmpmvb9wxq6) is located outside …
由于众所周知的原因,Windows上部分Python库需要的依赖很难搞。pip install mysqlclient
你可能遇见这种错误
直接去https://dev.mysql.com/downloads/connector/python/下载对应的包
最近在手写分布式爬虫的时候遇到一个问题,就是负责任务分发的服务器在关掉试图重启的时候总显示端口被占用,但又查不到端口被占用的进程号。
[ERROR] Address already in use
一番谷歌之后得知,操作系统的网络栈会非常谨慎的处理连接的关闭,仅仅用于监听的服务器套接字是可以立即关闭并操作系统忽略的,但是对于实际与客户端进行通信的连接套接字就不行了。即使客户端和服务器都关闭了连接并向对方发从了FIN数据包,连接套接字也无法立即取消。为什么呢?因为即使网络栈发送了最后一个数据包将套接字关闭,也还是无法确认该数据包是否可以被接收。如果数据包正好被网络丢弃了,那么另一方无法得知该数据包长时间无法传达的原因,可能会重新发送FIN数据包 …
下载Nginx,uwsgi, Mysql
我用的是CentOS7和Python3.5,所以如下(安装新版Python参照我另一篇CentOS7安装Python3。
yum install -y nginx
yum install -y mariadb mariadb-devel mariadb-server
pip3 install …
安装Python,mod_wsgi,Apache
使用Apache直接部署Django,版本搭配很重要。
在好心人已经帮我们编译好之后的包的发布网站可以找到需要的版本。
因为我的系统是64位,Python是35,所以选择mod_wsgi‑4.5.17+ap24vc14‑cp35‑cp35m‑win_amd64.whl …