使用 Mailcow 自建邮件服务器

Mailcow 是一个可以使用 Docker 容器化部署的邮件服务器。 GitHub: https://github.com/mailcow/mailcow-dockerized Mailcow 的优点 [[Mailcow]] 相较于 [[Mailu]] 整体比较完整,功能相对比较丰富。 支持二步验证,甚至支持 macOS 指纹验证 Webmail 使用 SOGo 支持给每个域名增加管理员 有良好的日志查看系统 Sync job 功能可以快速、简单地迁移到另外的提供商 Web 界面上可以下载 profile,快速在 ma Read more ...

2022-04-23 mailcow , mail , email , email-server , linux , docker , smtp , spf

法官能为民主做什么 读书笔记

这是 [[20220417-21 天计划]] 中的第一本书,记录一下读书笔记。 这本书的作者是最高法院[[斯蒂芬-布雷耶大法官]],英文的标题是 Making our Democracy Work: A Judge’s View 可以看到这是布雷耶大法官多年的观察记录。 三句话总结书的内容 本书主要分为三个部分: 第一部分通过具体的案例介绍民众是如何建立起对最高法院的信任,并接受他们心中不认同的判决的过程。 [[马伯里案]] 中确立了[[司法审查权]] 切诺基印第安人土地纷争中涉及到了「判决的可执行性」,如 Read more ...


使用 Docker 安装 Mastodon 实例搭建自己的社交网络

早之前就对 Mastodon 有所耳闻,当时 Google+ 关闭的时候就想着自建一个 Mastodon 实例,但是一直因为没有服务器,也没抽出时间就耽搁了,期间一直在寻找一个比较合适的栖息地,但国内的豆瓣越来越封闭,动不动就删贴,Twitter 是进来使用比较多的社交媒体,但也并没有怎么深入的用,只是在上面关注了一些行业里面的大佬。最近正好 So you Start 服务器中的资源很有剩余,就尝试安装一下 Mastodon。 [[Mastodon]] 是一个开源的、分布式社交网络,他创立的目的就是用来代替 Twitter。和 Twitter 一样,用 Read more ...


使用 Husky 来管理 git hook

今天在 GitHub 上看到一个 repo,在其根目录中包含了一个 .husky 的文件夹,好奇之下就去搜索了以,于是发现了 husky 这个项目,这是一个使用 JavaScript 实现的用来管理 Git hooks 的工具。 GitHub: https://github.com/typicode/husky 什么是 Git hook 首先要先了解一下 Git hooks,对于 git 已经是现代开发中必不可少的一个工具了,大家应该都比较熟悉,但是可能很多人在项目中并没有使用过 Git 的 hooks。 Git 的 hooks 允许用户在特定的时 Read more ...

2022-04-15 husky , git-hook , git

每天学习一个命令:tail 输出文件的最后部分内容

tail 命令是一个日常查看日志非常常用的命令,用来在终端显示文件的最后部分内容。 用例 tail 不加任何参数的情况下,默认显示文件最后 10 行内容。 tail /path/to/file.log 显示文件追加的内容 通常业务系统中以文件形式记录日志时会一直追加到文件末尾,可以使用 -f 来显示新追加的内容: tail -f /path/to/file.log 显示文件结尾 100 行 tail -100 mail.log tail -n 100 mail.log 显示文件第20行至末尾 tail -n +20 mail.log Read more ...

2022-04-12 linux , tail , log

Gatsby 静态站点使用入门

Gatsby 是一个基于 [[React]] 的、免费开源的、用于搭建静态站点的框架。Gatsby 虽然是一个静态站点框架,但其数据却可以从任何地方获取之后渲染。 Gatsby 是基于 React 和 [[GraphQL]]。 结合了 webpack, babel, react-router 等前端领域中最先进的工具。 对开发人员来说开发体验非常好。 Gatsby 采用数据层和 UI 层分离的现代前端开发模式。静态 HTML 访问快,对 SEO 非常友好。 数据来源多样化: Headless CMS, markdown, API 等多种方式获取数据。 Read more ...


Nginx 中数据 Buffer size 相关配置

client_body_buffer_size Nginx 分配给请求数据的 Buffer 大小,如果请求的数据小于 client_body_buffer_size ,那么 Nginx 会在内存中存储数据,如果请求的内容大小大于 client_body_buffer_size,但是小于 client_max_body_size,会先将数据存储到临时文件中。 默认的情况下,这个缓存大小是等于两个 memory pages,也就是在 x86 机器上是 8K,在 64-bit 平台上是 16K。 这个空间只有当请求有上传的时候才会被用到,一旦数据被传输到 Read more ...

2022-04-09 nginx , linux , web-server , buffer-size

Laravel 学习笔记:Blade Component

Blade 模板中的 Components 提供了和 section, layout 和 includes 相似的机制。都可以用来复用构造的 Blade 模板。 但 Component 更容易理解,提供了两种方式: class based components anonymous components 使用命令创建: php artisan make:component Alert 创建的文件在 App\View\Components 目录。 make:component 命令会创建一个 template 在 resources Read more ...

2022-04-08 laravel , blade , php

Laravel 学习笔记:部署到生产环境

在本地开发调试的时候使用了 Laravel 提供的 Sail 依赖本地的 Docker 环境,Sail 提供了 Nginx,MySQL,Redis,等等容器,还提供了一个用于测试的 SMTP mailhog,但是生产环境可以使用更加稳定的组件。 Requirements Laravel 应用需要一些基础的系统依赖,需要确保Web 服务器有如下的最低要求: PHP >= 8.0 BCMath PHP Extension Ctype PHP Extension cURL PHP Extension DOM PHP Extens Read more ...

2022-04-07 laravel , php , laravel-deploy

Laravel 学习笔记:多语言及本地化

通过 Laravel 的样例项目也应该能看到 Laravel 对本地化多语言的支持代码了。 观察一下项目的目录结构就能猜出来语言文件在 resources/lang 中。目录结构需要按照 ISO 15897 标准来命令,简体中文 zh_CN /resources /lang /en messages.php /es messages.php 可以看到所有的语言文件都是返回一个 key-value 结构。 JSON 文件 Laravel 还可以定义 JSON Read more ...


最近文章

  • AI 浏览器 Comet 初体验 前两天刚介绍完 Dia 浏览器,就听说了 Dia 浏览器的母公司 The Browser Company 被 Atlanssian 以 6.1 亿美元现金收购,而另外一边,Google 的反垄断案也告一段落,不需要拆分 Chrome 和 Android,这边,Perplexity 就推出了以 Perplexity AI 为核心的网页浏览器 Comet。
  • 我买了一条 Thunderbolt 数据线 这两天使用 macOS 的 Migration Assistant 迁移系统,按照应用中的提示,连接同一个 WiFi,或者使用 Peer-to-Peer 方式,但是在使用的过程中 macOS 提交使用 Thunderbolt Cable 连接两台 macOS 的 Type-C 可以将速度提升到 3000MB~4000MB/s 左右。
  • 清理 macOS 上的一些低频使用的应用 之前的几台 MacBook Pro 都是因为钱包有限,所以只购买了 512GB 的空间。虽然也是够用的,但是如果安装的应用比较多的情况下,就会发现存储总是告警的情况。所以想着安装了 CleanMyMac 应用之后,就打开了它的 Uninstaller 功能,然后把我之前所有安装的应用列表都列出来,清理一下其中不是非常高频使用但是却又能解决特定需求的应用。
  • JetBrain AI Agent Junie 使用体验 今天更新了一下 JetBrains IntelliJ IDEA 和 PyCharm,在更新日志中发现 JetBrains 新增了 Junie 代码助手的功能,就顺手安装了,虽然我一直在用 JetBrains AI Assistant,但 AI Assistant 更像是一个常驻 IDEA 侧边栏的代码问答,虽然可以辅助生成代码,但是更偏重代码的自动提示,回答用户的问题,对错误进行解释,以及相关的文档工作,更像是一个更偏向代码的 AI 聊天伴侣(Companion)。但是 Junie 则更像是一个全智能的 Coding Agent,适合用来处理更大规模的,支持多个步骤,可以独立完成编码任务的 AI Agent,功能上更偏向于 Claude Code,Gemini CLI 这样完全自助完成任务的智能体。
  • 突破 Claude Code 5小时限制:利用 GitHub Copilot 代理 Claude Code 请求 如果大家高频使用 Claude Code 进行代码对话和生成工作的话, 经常会遇到 5 小时的限制。 幸运的是,如果你已经订阅了 GitHub Copilot,现在有一个巧妙的解决方案:通过本地代理将 GitHub Copilot 的 Claude Sonnet 4 模型转换为 Anthropic API 格式,从而绕过 Claude Code 的使用限制,继续享受顶级的 AI 编程体验。

赞助