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 ...


利用 Cloudflare 和 Gmail 配置域名邮箱的收发

早在 2022 年年初的时候 Cloudflare 就推出了 Email Routing 的服务,在第一时间就从 Google Domains 中迁移到了 Cloudflare,中间好像也没有遇到什么问题,正常的收到域名邮箱的邮件,转发到 Gmail。 Cloudflare Email Routing (beta) is designed to simplify the way you create and manage email addresses, without needing to keep an eye on additional m Read more ...


使用 ed25519 SSH Key 代替 RSA 密钥

什么是 ed25519 ed25519 是一个相对较新的加密算法,实现了 Edwards-curve Digital Signature Algorithm(EdDSA)。但实际上 ed25519 早已经在 5 年前就被 OpenSSH 实现,并不算什么前沿科技。但很多人,即使是每天都使用 SSH/SCP 的人可能并不清楚这个新类型 key。 不过要注意的是并不是所有的软件目前都实现了 ed25519,但是大多数最近的操作系统 SSH 都已经支持了。 ed25519 的好处 相较于 RSA key,最明显的一个好处就是 ed25519 ke Read more ...

2022-04-05 ssh , ssh-keygen , key

Laravel 学习笔记:Model Factoris 批量创建假数据

在开发环节要测试的时候,如果想要在数据库中批量插入一些假数据,这个时候就可以使用 model factories。 在 database/factories/ 目录下面默认定义了一个 UserFactory.php namespace Database\Factories; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Str; class UserFactory extends Factory { /** * Defin Read more ...

2022-04-05 laravel , database , fake

Laravel 学习笔记:分页

Laravel 的分页实现集成了 Query Builder 和 Eloquent ORM,提供了一种非常方便的分页接口。 基础使用 最简单的方式就是使用 query builder 和 Eloquent query 的 paginate 方法,这个方法会自动处理请求的 limit 和 offset 参数。 默认情况下,当前页面的参数使用 page 表示。 所以在 Controller 中直接指定一页请求的条数即可: <?php namespace App\Http\Controllers; use App\Http\Control Read more ...

2022-04-04 laravel , php , laravel-pagination

Laravel 学习笔记:Model 之间关系

Laravel 使用的 Eloquent ORM 中的 Model 可以用一种非常易读的方式去定义 Model 和 Model 之间的关系。 1 对 1 关系 比如 User 和 Phone 都是一个 Model,要去表示用户和 Phone 的关系,可以: <?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { /** * Get the phone associated with Read more ...

2022-04-03 laravel , orm , laravel-orm , php

最近文章

  • 我购买了 Sony WH-1000XM6 我的第一代 [[Sony WH-1000XM]] 终于在陪伴了我将近七年之后光荣退役了——准确地说,是左耳彻底不出声了。耳罩虽然还算完整,充电也正常,就是左边悄无声息地沉默了。单边失声的降噪耳机拿来当装饰品实在是太可惜,就这样,我的 XM1 结束了它漫长的使命。
  • 花了一个多小时认真听李录在哥大的演讲,对价值投资新的理解 昨天花了一个多小时,认真把李录在 2006 年哥伦比亚大学商学院的演讲从头听到尾。说实话,最开始点开这个视频的时候,我以为只是一节普通的投资课,听完之后发现远不止于此——李录几乎是把自己二十多年的思考框架,通过两个亲身经历的真实案例,完整地摊开在你面前。那种感觉不像是在听一堂课,更像是在听一个老朋友坦诚地聊他是怎么看待这个世界、怎么做决策的。
  • screen.garden:让 Obsidian 拥有 Google Docs 般的实时协作体验 之前我介绍过 Fast Note Sync,这是一款开源的 Obsidian 笔记同步方案,可以实现多设备之间的笔记同步和实时协作。Fast Note Sync 的优势在于完全开源、数据自主可控,但它有一个门槛——你需要自己搭建和维护服务器。对于有技术背景并且享受折腾的朋友来说这不是问题,但如果你不想操心服务器的事情,或者团队里有非技术背景的成员,那么一个开箱即用的托管服务可能是更好的选择。这就是我今天要介绍的 screen.garden,一个为 Obsidian 设计的付费实时协作服务。
  • Clawdbot 深度调研:打造完全属于自己的全平台 AI 助手 最近在折腾各种 AI 工具的时候,发现了一个有意思的现象:市面上大部分 AI 助手要么被牢牢绑定在某个特定平台上(比如只能在 Discord 里用的机器人),要么就是完全依赖某家公司的 SaaS 服务,你的对话数据都在别人的服务器上。作为一个对隐私比较在意的人,我一直在想,能不能有一个完全由自己掌控、可以在所有常用聊天软件里使用的 AI 助手呢?直到我在 GitHub 上发现了 [[Clawdbot]] 这个项目,才发现原来真的有人在认真解决这个问题。
  • 推荐我使用的 Agent Skills 随着 AI 编程助手的快速发展,[[Claude Code]]、[[Codex]]、[[Gemini CLI]] 等工具已经成为开发者日常工作中不可或缺的伙伴。然而,这些工具的默认功能往往只是冰山一角。通过安装和配置 Agent Skills,我们可以大幅扩展这些 AI 助手的能力,让它们更加智能、更加专业。