Rei

@Rei

Ruby 程序员,Ruby China 管理员,GeekNote 创建者。

加入于 2021年6月

用 HTTP + JSON 直接访问 GraphQL API

有一天我需要访问 Fly 的 API 以支持自动签发 SSL 证书,Fly API 基于 GraphQL。我一向不太喜欢 GraphQL,精神洁癖让我不想增加一个 GraphQL Client 依赖。我想到 GraphQL 底层基于 HTTP 和 JSON,为何不直接访问接...

Avatar
Rei
·
0
1

Rails 开发者应该拥抱 Web Component

Rails 8 将会继续将 Hotwire 作为默认,我觉得这很好。Hotwire 是以服务端渲染为核心的前端方案,由于服务端是数据的根源,大部分应用可以通过服务端渲染解决问题而不用考虑数据同步。

# Ruby on Rails # Lit
Avatar
Rei
·
0
0

Importmap 还是 jsbundling?我全都要

从 Rails 7 开始,Importmap 成为处理 JavaScript 加载的默认机制。它可以充分利用 HTTP/2 的并行下载和缓存机制,避免打一个大包每次改动都需要下载所有代码。

Avatar
Rei
·
0
0

《黑神话:悟空》个人测评

我的综合评价是:9分。(作为参考,荒野之息10分,法环9分,仁王9分,巫师三8分,FF7重制版5分)

Avatar
Rei
·
0
0

Lit - 适合 Ruby on Rails 默认栈的前端组件框架

一个 Web 应用的界面内容根据交互复杂程度可以分为三类:

Avatar
Rei
·
4
2

更新日志 › Geeknote 现在支持视频附件和嵌入 YouTube/Bilibili 视频

有时视频比文字的表现力更强,很高兴宣布 Geeknote 增加了嵌入视频的支持。

Avatar
Rei Geeknote
·
2
3

Material Design 的尴尬

最近无意中发现,Google 的 Material Design Web Components 项目又被放弃了。为什么说”又“呢?因为之前有个 Material Components Web 也是被放弃了。这也意味着 Material Design 从发布至今,根本没有一个...

Avatar
Rei
·
0
0

使用 imgproxy 处理 ActiveStorage 图片变换

最近将 Geeknote 的图片处理换到了 imgproxy,记录一下过程。

# imgproxy # Ruby on Rails # ActiveStorage
Avatar
Rei
·
0
1

Rails 构建时下载 importmap 资源的方法

Importmap-rails 默认的加载来源是 CDN,但是公共 CDN 在国内访问不稳定。另一个方法是将 JavaScript 下载到 vender/javascript 目录,但是这个方法需要将外部 JavaScript 签入源码管理工具,导致源码体积变大。

# Ruby on Rails # Importmap
Avatar
Rei
·
0
0

更新日志 › 合集功能已经被书签替代

原合集功能借鉴了 YouTube 的 playlist 功能,通过设置公开或者私有同时承担了收藏和分享的功能。经过观察,在实际使用中合集功能主要作用还是收藏,分享功能并不实用。

# GeekNote
Avatar
Rei Geeknote
·
0
2

用 Caddy 自动申请主域名、子域名和自定义域名的 HTTPS 证书

SaaS 支持客户子域名和自定义域名是很常见的需求。Caddy 是一个支持自动申请 HTTPS 证书的 Web server。最近用 Caddy 实现了子域名和自定义域名的自动 HTTPS 配置,记录如下以供参考。

# Caddy Server # Web
Avatar
Rei
·
3
4

用 CSS 控制页面内容对部分用户可见

写 Web 应用的时候,经常需要写这样的 HTML 片段:

# CSS # Ruby on Rails
Avatar
Rei
·
2
3

在 Fly.io 部署 Meilisearch

最近在 Fly.io 部署了一个 Meilisearch,记录一下过程。

# Fly.io # Meilisearch
Avatar
Rei
·
0
1

GeekNote 一些设计更新

今天 GeekNote 上线了一些设计更新,本文列出有什么变化以及背后的思考。

# GeekNote
Featured image
Avatar
Rei Geeknote
·
5
4

Tailwind CSS,从入坑到退坑

Tailwind CSS 是一个实用类优先的 CSS 框架。跟其他 CSS 框架的主要不同是它不提供组件层面的样式,而是全部都是实用类。我之前写过一个简单的介绍:Tailwind CSS 浅析。

# TailwindCSS
Featured image
Avatar
Rei
·
7
6

Turbo frame 的 lazy loading 会在什么时候执行

最近 GeekNote 发现了一个 Bug,所有未登录用户在访问文章页面时会跳转到登陆页面。这看起来就像那些封闭花园式的发布平台那样,导致流失了很多潜在用户。

# Hotwire # Ruby on Rails # JavaScript
Featured image
Avatar
Rei
·
0
3

用 Puppeteer 生成网页预览图

现在社交网络一般都支持网站设置预览图,有预览图的网页能更占据更大的展示空间,提高点击率。

# Ruby on Rails # GeekNote # Puppeteer
Avatar
Rei
·
2
4

处理 Cloudflare 与 Let's Encrypt DNS-01 验证冲突的问题

上个月某一天,GeekNote 的 Cloudflare 代理提示 Error 526。Error 526 是指 CloudFlare 的节点无法验证源服务的 SSL 证书。相关文档如下:

# Cloudflare # Fly.io # Let's Encrypt
Featured image
Avatar
Rei
·
0
1

更新日志 › 更大的编辑界面,以及一些 UI 调整

在上一次的 UI 改动中,编辑界面改得像个论坛编辑器,这收到了一些负面的反馈,认为编辑体验倒退了,我觉得说得有道理。GeekNote 的长期目标是建立一个写作社区,但它首先应该是一个体验良好的写作工具,所以现在编辑器改回了以往的全屏沉浸式界面:

# GeekNote
Avatar
Rei Geeknote
·
11
4

用 Postal 搭建邮件服务器

最近我用 Postal 搭建了一个邮件服务器,体验比想象中更好,迫不及待分享一下经验。

# Postal # Email # Ruby on Rails
Featured image
Avatar
Rei
·
1
3