Docker 部署 Mastodon - 一个去中心化的社交平台

在当今互联网时代,社交媒体已经成为人们生活的重要一部分,然而,传统社交媒体平台通常集中于单一中央服务器,这引发了一些问题,包括隐私担忧、数据泄露风险以及广告和跟踪滥用。然而,现在有一种新的社交网络正在崭露头角,它将互联网的去中心化精神引入了社交媒体世界 - 那就是 Mastodon。 Mastodon 是一种开源、分布式的社交网络平台,以其强调去中心化、用户隐私和自主控制而引起了广泛的关注。与传统社交媒体巨头如 Twitter 和 Facebook 不同,Mastodon 的去中心化设计使其不依赖于单一中央服务器。相反,它由许多相互连接的服务器(或称为实例)组成,每个实例都是一个独立的社交网络...

CeSI - 管理多个 Supervisor 的Web界面

CeSI(Centralized Supervisor Interface),它是一个用于管理多个监督者(Supervisor)的Web界面。监督者本身具有自己的Web用户界面,但是使用单独的界面来管理多个监督者安装是复杂的。CeSI的目标是通过基于监督者的RPC接口创建一个集中式的Web用户界面,以解决这个问题。 docker-compose.yml https://github.com/chudaozhe/docker-compose-samples/tree/main/cesi 关于ui 这个项目的前端部分是用React写的,正常情况构建镜像 需要先yarn build,然后把构建好的...

PM2 - 进程管理工具

PM2 是具有内置负载均衡器的 Node.js 应用程序的生产过程管理器。它允许您使应用程序永远保持活动状态,在不停机的情况下重新加载它们,并促进常见的系统管理任务。 全局安装pm2 npm install pm2 -g 启动监听模式 自动监听文件变化 pm2 start app.js --watch 常用命令 pm2 start app.js # 启动 pm2 stop app.js # 停止 pm2 logs # 日志 pm2 stop all # 停止全部 pm2 delete all # 杀死全部进程 pm2 startup # 开机自启 pm2 update pm2 # 更新 ...

sqlx - golang database/sql 的通用扩展

go 操作数据库有多种方式,比如之前介绍的 gorm:go gin 封装gorm ,gorm 基本操作 今天介绍的sqlx,是Go的另一个包,它在优秀的内置database/sql包之上提供了一组扩展。 安装 go get github.com/jmoiron/sqlx init package db import ( "fmt" "github.com/jmoiron/sqlx" ) var Conn *sqlx.DB func InitDB() (err error) { dsn := "root:@tcp(127.0.0.1:3306)/ent?charset=utf8m...

gin 全局的异常处理

panic类比其他语言中的异常处理 有的人把 Go 中的 panic/recover类比 PHP 中的 throw/try catch,类比 Python 中的raise/try except,类比 Java 中的 throw/try catch 当然也有的人不这么认为。比如:“用户名密码错误”时,在PHP中使用throw语句来抛出异常,大家都觉得很合理,属于“遇到无法处理的错误或异常” 但在Go语言中,"用户名密码错误"这样的预料之中的错误,使用 panic 来处理并不是一个好的选择。panic 适用于无法恢复的严重错误或异常情况,它会立即停止程序执行并触发异常处理机制。而"用户名密码错误"...

gin 模型绑定和验证

缺点 无法设置默认值 比如需要分页的接口,页码和条数是非必传的,如果不传页码默认1,条数默认10,但是go-playground/validator/v10做不到 无法同时获取路径参数和(查询参数或正文参数) restful风格的路由中会遇到这个问题,比如:有如下路由 r.GET("/:user_id/category/:category_id/article", myFunc) 请求如下 curl 'localhost:7097/v1/user/0/category/4/article?page=1&max=10' 我该如何用一个模型同时取到category_id,page,max参数呢...

NLTK 的安装

Natural Language Toolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库。 自动安装 如果您不确定需要哪些数据集/模型,可以安装流行的 python -m nltk.downloader popular //或者 import nltk; nltk.download('popular') 手动安装 已知的原因,自动安装会失败 手动下载这些包https://github.com/nltk/nltk_data/tree/gh-pages/packages,放在nltk_data目录,然后移动到正确的位置。 比如我的: ~/Library/Caches/...

openai whisper 语音识别,语音翻译

简介 Whisper 是openai开源的一个通用的语音识别模型,同时支持把各种语言的音频翻译为成英文(音频->文本)。 安装 apt install ffmpeg pip install -U openai-whisper 使用 指令 whisper video.mp4 whisper audio.flac audio.mp3 audio.wav --model medium whisper japanese.wav --language Japanese whisper chinese.mp4 --language Chinese --task translate whisper --...

Jupyter Notebook 安装 PHP 内核

普通安装 安装zmq扩展 官方的zmq已多年不维护了,并且在php7.4中报错,所以只能选择第三方的了 wget https://github.com/stijnvdb88/php-zmq/archive/refs/tags/v4.3.4.tar.gz tar -xvzf php-zmq-4.3.4.tar.gz mv php-zmq-4.3.4 /usr/src/php/ext/php-zmq #安装依赖 apt-get install -y libzmq3-dev #安装扩展 docker-php-ext-install php-zmq 安装Jupyter-PHP-Install...

Jupyter Notebook 安装 GO 内核

普通安装 https://github.com/janpfeifer/gonb#linux-and-mac-installation go install github.com/janpfeifer/gonb@latest && go install golang.org/x/tools/cmd/goimports@latest && go install golang.org/x/tools/gopls@latest && gonb --install 接着我用PyCharm/VS Code测试,报错了 fmt: package fmt is not in GOROOT (/usr/loc...