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

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

最近文章

  • JustRecap 将视频转成图文 今天分享一个特别有意思的项目 JustRecap,一句话来概括就是通过 AI 技术提取视频关键信息,直接生成摘要以及笔记。
  • 语言:思想的边界和桥梁 今天在浏览网页时,我偶然间被一句话深深震撼:”语言是思想的边界”。这句话引发了我对日常语言使用的深入思考。我们每天都在使用语言,接触无数信息,与他人交流,创造内容。然而,我们却很少关注自己用词的准确性,更少去思考语言与思想之间的紧密联系。
  • VideoLingo:一键自动将视频翻译成中文字幕 我之前的文章和视频中也介绍过好几款,或收费或开源的视频翻译工具,包括
  • 每天学习一个命令:wrk 单机性能测试工具 wrk 是一个使用 C 编写的 HTTP 压力测试工具,性能基准测试工具。可以在单机多核 CPU 的条件下,充分利用系统的高性能 IO,epoll,kqueue 等,通过多线程和事件,对目标机产生大量的负载。
  • 爱沙尼亚电子公民身份启动及邮件转发 今年 6 月份的时候申请 了爱沙尼亚电子居民卡,其实一个月左右就已经审批通过了,但是一直懒得没有去拿,直到 9 月底,终于抽出空来去了趟东京的爱沙尼亚大使馆,领取了实体卡片。