前言:最近需要给自己的VPS重装系统,由于之前自己使用apt的方式手动搭建了LNMP环境,需要导出一份数据备份。手动搭建的LNMP默认没有配置任何自动化备份工具,所以我快速遍历了一下LNMP的目录结构,选择使用基础、而又简单粗暴的方式导出数据备份。
创建备份终端窗口
先使用...
·
1 赞
·
0 评论
Golang 语言语法中,错误处理机制是一个非常有特色的设计,它是基于防御性编程思想的设计。不过今天这篇文章不讨论 Golang 错误处理的语法设计问题,相反,今天想思考的是,Golang 里的错误日志应该怎样处理以及打印比较好。
Golang 中错误处理和日志打印的 5...
·
1 赞
·
0 评论
Command-line time tracker to help focus.
tt-focus 有两大特点:
是一个纯命令行程序
主要用途不是记录时间使用情况,而是帮助集中注意力
比如吃饭、睡觉、做运动、娱乐等的时间记录 不适合 使用本软件。
而写作、学习、编程等,...
·
2 赞
·
2 评论
日常工作中,可能由于各种各样的信息干扰和诱惑,人在保持高效工作与专注上要面对的挑战其实不小。回顾我自己的一些工作经验和体会,我总结了 5 个能帮助我保持专注和高效的习惯:
拒绝注意力迷宫——不要在电脑上登录微信等常用的 IM 工具,关闭手机通知提醒
异步沟通——直接留言与...
·
3 赞
·
1 评论
最近折腾NAS发现一个叫 Lychee 的开源、自托管网络相册应用,它基于PHP开发,简洁美观,支持多种图片格式、识别信息,甚至是Live Photo动态照片,极其适合摄影玩家使用。有一个 Demo 可供参考。
不过仔细研究了下,话说在前头,Lychee 并不适合部署在NA...
·
1 赞
·
5 评论
我的 ai42.xyz 域名即将到期, GoDaddy 去年收我 ¥100, 今年涨价到 ¥120, 我觉得不合理,而且也比 namecheap 贵。刚好我也想把 VPS 从 Vultr 转到 AWS Lightsail, 索性域名也注册一个新的吧。
万万没想到,我把域名迁...
·
1 赞
·
2 评论
最近研究了新的Nginx版本配置,发现 Nginx 1.19.4+ 新增了一个 ssl_reject_handshake 配置项,可以直接切断拒绝SSL握手请求,类似于返回444请求。而且它不需要强制要求SSL证书,这样也就无法通过https握手请求获取服务器的SSL信息了。
·
1 赞
·
0 评论
上个月给VPS重装了系统,研究了关于LNMP环境的搭建,通过apt/PPA的方式安装了LNMP + Redis建站环境,顺便写成文章记录一下,作为一篇备忘笔记。这篇文章记录了使用apt/PPA的方式,安装Nginx + MariaDB + PHP 8.0 + Compose...
·
1 赞
·
0 评论
在之前的 Fly.io 部署教程中,web 进程和 worker 进程是分开部署的。这会造成一些问题:
设置环境变量需要两边重复设置。
需要分别部署或分别回滚,过程可能产生错误。
我在 fly.io 的社区中发现,单个 app 部署多个进程的方法已经作为预览状态提供,有...
·
1 赞
·
2 评论
离上一次写周刊已经过去了十个月了。写作这种事情就是这样,一旦中断,就很难接上,得不停的写写写才行。但是持续写周刊又有压力,感觉没那么多可写的东西,又不能为了写而写。总之,这是个很矛盾的事情。好在我之前就留了余地,将周刊定义为不定期周刊,心里稍微心安理得些了。不过,看到很多博...
·
1 赞
·
6 评论
GeekNote 在 2022-04-24 ~ 2022-04-25 期间遇到了两个服务器机房的故障,分别是:
机房资源被耗尽(链接)
储存卷磁盘损坏(链接)
恰好这段时间我身边没有电脑,要跨越时差和服务器技术支持沟通,导致这个问题解决花了很长时间。期间用户不是看到 C...
·
2 赞
·
2 评论
这几天因为忙着其他的事情,没有更新NAS折腾日记的系列文章,且同时GeekNote也宕机了几天,总感觉自己把日记写成了教程;加上最近入了暴风的NAS,又重拾VPS建虚拟主机搭建博客,等等忙了许多事情。同时对于用Docker部署应用的方案,让我也思考了好一阵子。
为何选择Do...
·
1 赞
·
0 评论
我是看到了这个贴子发现这个编辑器的: 《尝试使用 helix 作为文本编辑器的爽点和痛点》
https://v2ex.com/t/848997
立即下载试用,第一印象很不错。
优点一:零配置开箱即用
安装后,完全不需要写配置文件,也不用安装插件,直接就拥有带预览功能的 fi...
·
1 赞
·
0 评论
Newsletter在如今的信息网络中越来越流行,创建自己的Newsletter也成为一个趋势,但作为一个自托管应用爱好者,我更倾向于自建方案。这几天也研究了Newsletter的架构模式,包括从邮件系统、业务整合等多个角度进行了分析。
话先说在前头,这不是一篇教程! 正与...
·
2 赞
·
0 评论
警告: 本文介绍的工具仅用于开发工作,若使用者违反国家法律法规,后果自负,与本文无关。
前言
肉身在国内的话,配置开发环境是一种折磨。
yarn install 特别慢;npm install 特别慢;bundle install 特别慢。为了提高下载速度,你必须把各种...
·
1 赞
·
0 评论
Join Zoom Meeting
https://us04web.zoom.us/j/72358911786?pwd=OScDs3rdFTjs
Meeting ID: 723580786
Passcode: vu3128e
我儿子每周用 Zoom 上网课,老师会提前...
·
1 赞
·
1 评论
避免修改全局共享的对象
非必要的情况下尽量避免修改全局共享的对象,包括 $ 开头的全局变量、单实例对象、AST、类变量/方法等。
下面的写法是线程安全的,因为它没有修改全局的状态:
class RainyCloudFactory
def self.generate
...
·
1 赞
·
0 评论
之前分享过关于手动搭建FileBrowser的教程记录,不过当时重启之后就发现Docker搭建的FileBrowser也可以实时监测文件更改(推测是镜像或者目录挂载的问题)。
这次重装系统之后,我又尝试了用Portainer的应用模板 (App Templates) 安装搭...
·
1 赞
·
0 评论
随着高帧率手机的普及,在很多APP内需要限制手机的帧率来进行省电优化。今天的例子就是视频(直播/点播)播放的软件限帧距离。
推流优化
首先我们说,在视频采集时,有两种采集方式:屏幕采集和camera采集。
camera采集
这里我们可以直接限制camera的采集频率。这里...
·
1 赞
·
0 评论
基础理解
我们可以直接把v-a/b分区理解成,当你在使用手机,进行系统升级,系统会把升级内容存放在A分区,你继续使用B分区,前面的V就是虚拟的意思(virtual)。在尽量不影响你使用的开机情况下进行升级,取消了在rec分区进行升级的复杂操作。
详细理解(我的浅见)
首先...
·
2 赞
·
2 评论