在搭建了自己的邮件服务器之后,经常收到 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 中如何上传,并展示图片。
拆分开来主要分为如下几个步骤:
创建数据库 Model,用一个 Model 实体来保存上传图片的路径以及相关的 meta 信息
添加 Controller 层用来处理保存图片逻辑,以及持久化的过程
创建前端 Form 表单,并提交 POST 请求,提交图片
创建数据库 Model
首先使用 artisan 创建一个 Model 和 migration:
php artisan make:model Photo -m
这行命令会创建
Read more ...
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 ...
从上周开始和朋友进行一个以 21 天为一个周期的计划,每个人都制定了一个 21 天的目标,从计划到完成每一个步骤都计分,最后按照打分给每个小伙伴奖励或者惩罚。
所以我从我的计划列表中搜寻了一下大致看了一些 TODO,很多细碎的任务大都花不了一两天时间,所以就思考了一下有没有什么目标适合这个时间段,后来发现最近自建的一些项目好像都是用一个框架写成的,比如有一个可以自建的 PT 站 [[UNIT3D]],比如非常轻量的论坛 [[Flarum]],还有 [[Koel]] 一个在线的音乐播放器,还有很多很多。所以想来 21 天可以用来熟悉一下这个框架,也可以用
Read more ...
Warp 是一个 Rust 编写,使用 GPU 渲染的终端(terminal)应用。目标是提升开发者的效率。
最近 Warp 发布了新闻稿,筹集了 2300 万美元的资金全力用来构建这个终端。
它之前筹集了 600 万美元的种子轮融资,由 GV 领投,Neo 和 BoxGroup 参投。还筹集了 1700 万美元的 A 轮融资,由 Figma 的联合创始人兼首席执行官 Dylan Field 领投。由企业家主导的这一轮投资,其参与者包括 Elad Gil、LinkedIn 前首席执行官 Jeff Weiner 和 Salesforce 的联合创始人兼
Read more ...
一台新的 Ubuntu 服务器通常时区可能不是想要的时区,可以通过如下步骤设定时区。
检查当前时区,在命令行下输入 date:
date
可以查看当前的时间。
输入 timedatectl 可以查看更具体的时区。
使用 timedatectl
修改为东八区北京时间。
sudo timedatectl set-timezone "Asia/Shanghai"
ln
也可以通过软链接来修改系统的时区,在 Linux 下 /etc/localtime 中定义了系统要使用的时区。正确的配置在 /usr/share/zonefine 目录中
m
Read more ...
DMARC 是 Domain-based Message Authentication Reporting & Conformance 的缩写,是一个标准的电子邮件验证标准。1 DMARC 帮助邮箱管理员防止黑客或其他攻击者伪装(Spoofing)其组织和域名。Spoofing(伪装)是一种电子邮件攻击方式,攻击者通过伪装邮件地址中的 From 字段,来假装发件人。DMARC 会检查电子邮件是否来自邮件中声称的发送者。
DMARC 构建在 [[SPF]] 和 [[DKIM]] 基础之上,来防止域名欺诈。
之前提到过自建域名邮箱 的文章中就配置
Read more ...
常见的语句:
condition,条件
for-loop,循环
goto,跳转(特殊)
statement vs expression
下文中使用 statement 和 expression 来表达一些语句的区别:
statement, 通常用来指代一个操作,可以是赋值操作,等等
expression 通常用来指代一个值,这个值可以是一个语句的返回,也可以是一个函数的返回
条件语句
通用:
if InitSimpleStatement; Condition {
// do something
} else
Read more ...
最近收到 Oracle(甲骨文) 一封名为「Oracle Cloud Infrastructure Compute - Resource Maintenance Reminder」 的邮件,大致意思就是如果 Oracle Always Free 的机器使用率比较低的话,Oracle 就会判定 Compute Instances 处于 Idle (闲置)状态,Oracle 将保留回收实例的权力。
如何判定机器是处于闲置状态呢,在 Oracle 给出的官方文档 是这样描述的:
• CPU utilization for the 95th percenti
Read more ...
Koel 是著名的个人音乐在线播放与电台程序。
Prerequisite
硬件要求:一台最低内存为 1G 的服务器
系统:Ubuntu20.04 LTS,或其他任何 Linux 发行版
数据库:MySQL,MariaDB,PostgreSQL,SQLite
一个域名
基础架构
Koel 后端使用 Laravel PHP 框架,前端使用 Vue,还使用了 SASS 的 CSS 框架。数据库使用 MariaDB(MySQL)。
Docker 安装
使用 Docker compose:
version: '3'
servic
Read more ...