使用 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

Laravel 学习笔记:事件

Laravel Event 提供了一个最简单的观察者模式实现,可以订阅监听应用中发生的事件。事件通常放在 app/Events 目录,监听器放在 app/Listeners。 事件是应用功能模块之间解耦的有效方法。单个事件可以有多个监听器,监听器之间相互没有影响。 比如说每次有订单产生时,发送给用户一个 Slack 通知,通过事件,可以将处理订单的代码和 Slack 通知代码解耦,只需要发起一个事件,监听器监听订单产生事件,然后触发响应的动作即可。 注册事件/监听器 可以使用如下的命令创建 Event php artisan event:gen Read more ...


Laravel 学习笔记:队列

当需要构建一个网络应用的时候,可能有一些任务,比如解析、存储、传输 CSV 文件等等,可能需要花费较长的时间。Laravel 提供了一个非常简单的队列 API,可以让这些操作可以在后台进行。让这些繁重的任务在后台执行可以有效的提高应用的响应速度,提升用户使用体验。 Laravel 队列提供了一个统一的 API 访问入口,可以支持不同的队列: [[Amazon SQS]] [[Redis]] [[Beanstalk]] 甚至关系型数据库 Laravel 队列的配置在 config/queue.php 中。 Laravel 还提供 Read more ...


Laravel 学习笔记:发送邮件

在我最初的设计中一共有两个地方需要发送邮件: 第一就是用户注册,发送邮件激活 第二就是当用户订阅一个书单的时候,自动给所有订阅的用户发送带有附件的电子书到其设定的邮箱中 所以接下来就记录一下使用 Laravel 发送邮件。 在 Laravel 中发送邮件并不是那么复杂。Laravel 通过 Symfony Mailer 实现了一套非常简洁的邮件 API。 Laravel 中提供了很多种方式来发送邮件: [[SMTP]] 直接配置 SMTP服务器 [[Mailgun]] 通过 Mailgun 等发送邮件的服务提供商 [[ Read more ...

2022-03-29 laravel , email , sendmail , mailer , mailgun , smtp

DMARC 报告

在搭建了自己的邮件服务器之后,经常收到 Gmail 和 Outlook 的 Report,类似: Report domain: example.com Submitter: google.com Report-ID: 73941XXXXX 或 Report Domain: example.com Submitter: protection.outlook.com Report-ID: 200aa9XXXXXXXXXX 所以再整理一下 DMARC 报告。 在之前介绍 DMARC 的文章中介绍过其中 rua 和 ruf 两个配置的作用,这两个配 Read more ...


Laravel 学习笔记:文件上传

上传文件是一个网页应用必不可少的一部分,这里就记录一下 Laravel 中如何上传,并展示图片。 拆分开来主要分为如下几个步骤: 创建数据库 Model,用一个 Model 实体来保存上传图片的路径以及相关的 meta 信息 添加 Controller 层用来处理保存图片逻辑,以及持久化的过程 创建前端 Form 表单,并提交 POST 请求,提交图片 创建数据库 Model 首先使用 artisan 创建一个 Model 和 migration: php artisan make:model Photo -m 这行命令会创建 Read more ...

2022-03-28 laravel , file-upload

Laravel 学习笔记:开发环境搭建

Laravel 提供了多种安装方式: 可以通过官方提供的 [[Laravel Sail]] 初始化环境,Laravel Sail 是一个轻量的命令行工具可以和 Docker 开发环境交互。这意味着如果要使用 Sail 本地需要安装 Docker 环境。 通过 [[Composer]] 安装,Composer 是一个 PHP 环境下的依赖管理器工具 Laravel Installer Laravel Sail Sail 的核心是项目中的 docker-compose.yml 文件。 curl -s "https://laravel.b Read more ...

2022-03-26 laravel , php , dev , ide , phpstorm , jetbrains , docker

最近文章

  • HomeShare 让本地电脑文件夹成为文件分享服务器 前些天出门拍了很多照片,回来从 SD 卡导出之后就想有一个可以快速一键分享出去的方法,通过微信传,虽然可以通过笔记一次发送超过 9 张图片,但是还是需要将照片上传到微信的笔记里面,虽然我之前也有使用自己的在线图库,但依然避免不了上传等待的过程,并且如果照片比较大时,等待的时间会很长。所以这几天我一直再想能不能有一个方法可以直接将本地的文件夹共享出来,或者直接让别人将图片一次性发送到我本地。
  • Dola 你的私人智能 AI 助手轻松管理日程 我个人一直使用 Google Calendar 作为日程管理,很久以前也购买了一个叫做 Checker Plus 的 Chrome 插件,可以直接在 Chrome 的插件栏查看日程,并且还可以直接通过自然语言来创建日程,以及在日程之前弹窗提醒,实话说这款插件已经能满足我 90% 的日程安排了。
  • K3s 部署 Bitwarden 我之前一直是在一台机器上使用 Docker compose 安装了 Bitwarden,但是这样存在一个隐患,那就是如果这一台机器宕机了,或者发生任何意外,那么我可能有一段时间无法访问我的所有密码仓库,所以为了避免这样的问题,尤其是在我已经稳定运行 K3s 一段时间之后,我就想着将 Bitwarden 迁移到 K3s 上,并且我希望直接使用 Bitwarden 历史的数据,并且也直接使用原来的域名,密码等等,这样就不需要让我所有的设备重新再登录一遍。那么本文就记录一下我在 K3s 上搭建 Bitwarden ,以及将历史数据迁移到 K3s 中的过程。
  • K3s 中给节点添加标签并实现 Pod 调度控制 给 K3s 中的节点添加标签并实现 Pod 调度是一个非常常见的需求,特别是当你希望某些 Pod 只在特定地理位置的节点,比如美国,日本,上运行的时候。
  • 使用 Claw Cloud 免费部署 Gemini 反向代理教程 前两天介绍过永久免费的 Claw Cloud Run,本文将介绍一下如何使用 Claw Cloud Run 来免费部署一个 Gemini API 反向代理服务。