Ivan Li 的个人博客

  1. MacOS 使用日常记录

  2. Gitea 无法使用 ssh-rsa 密钥

    昨天,我在为我的项目提交代码时,惊讶地发现我没有权限进行 pull/push 操作了,所有项目都是如此。在重新配置 SSH 证书后依然不行。目前看,起因是一年前 `ssh-rsa` 被弃用后,openSSH 在 8.8 版本中也禁用了它。最优解应该就是换个靠谱的签名算法。我将使用 `ed25519` 算法帮助我提交代码~

  3. 我与 PostgreSQL 的日常

  4. TypeORM 运用技巧

    本文长期更新,总结 TypeORM 在日常开发、运用过程中遇到的问题、使用到的解决方案。

  5. ES Module 入坑 —— 只因引入纯 ESM Package

    最近在开发一个 package,添加了一个以 ESM 构建的 package。结果翻车了……终于,在激进的上游开发者面前,我接受了他~~真诚~~强力的邀请,步入了 ESM 的天堂中……先说结论:确实可冲,虽然有传染性,但是下游改成 ESM 成本并不会特别大。Nest.js 框架是能支持 ESM 的,目前用着还行,Emmm

  6. NestJS 踩坑实录

    NestJS 在我心目中是个优秀的框架,非常适合作为有一定规模的项目的底层框架。我目前主要使用这一框架开发项目,本文就记录遇到的问题和解决方案,开启单机 Q&A 模式~~

  7. I18n 开发注意事项

    直接使用预定义的 key 读取内容。

  8. 在 MacOS 中使用 PostgreSQL

    本文将在 MacOS 中,将 PostgreSQL 作为一个开发依赖,配置一个方便可用(但不安全)的 PostgreSQL。

  9. 开发一个 API Gateway

    之前一直以为 PM2 能够实现零停机发版的,现在发现似乎不行……那就只能用经典的招数来解决这个问题了——蓝绿部署。目前,微服务当道,我自己也在研究多服务 / 微服务相关的东西,网关早就进入了我的视野。这次就让我来开发一只简单的 API 网关吧。

  10. Arch Linux ARM 入教指南(RPI 4B 为例)

    从前,我是半个(甚至可能不被未来的我承认)Arch 教徒。现在,我要正式入教了。Arch 拥有非常庞大、特别新鲜的软件包,从 Manjaro 过来的我,表示十分舒服。年初装的 Manjaro ARM 好像一直没办法成为一个软路由的操作系统,教程都摸烂了还是成功不得,这次,换系统 + 迁移数据,希望能够给我带来惊喜。

  11. JWTs 在 React + GraphQL 的使用

    最近开了个脑洞,搞了个按需鉴权的方案。大概就是在接口返回 401 或 403 的时候要求用户输入账号和密码进行登录,登录成功后再对原先的请求进行重试。这样做的话系统的灵活性应该会更好,安全性嘛,估计是有一点点的下降……就像家里大门没锁,只锁了卧室一样……不过锁都是同样的锁,只要锁没问题,安全性还是有保证的。

  12. etcd 入门

    etcd, 读音 /ˈɛtsiːdiː/,使用全小写字母拼写。意为“分布式 `etc` 目录(distributed `etc` directory)”。他提供分布式、可靠的键值存储服务,还具备观察键值创建、修改等功能。可用于数据存储、共享配置、服务发现等场景。本文主要基于 etcd 3.5,使用 v3 API。

  13. 流水账:Nest.js 的 GraphQL 鉴权模块

    作为一个天天写代码的男人,在下多次对比考虑,决定用 npm 来处理 js 代码复用的问题~ 虽然算不上“厚积”,但是现阶段,代码风格算是比较稳定了。正好,目前在开发的服务端程序,大部分会遇到一个常见的功能模块——鉴权。既然如此,开发我的第一个 Nest.js 模块算是个顺理成章的事情吧。这次鉴权模块主要适配 GraphQL 的服务,提供基于 HTTP 的 Query、Mutation,以及基于 Websocket 的 Subscription 的鉴权功能。仰仗 Nest.js 的抽象级别,后续支持 RESTful 也是没得问题的。

  14. JSX 在 Vue 中的应用

    以下内容中,如未特殊说明,提及的 Vue 均特指 Vue 2.x。Vue 3 编码规则存在一定差异,不参与讨论。

  15. 好搞定的 GraphQL —— Web 篇

    从 2019 年第一次接触 GraphQL 开始,就被 GraphQL 和 Apollo GraphQL 的魅力吸引。使用过程中也遇到了不少的问题。现在 2021 年了,回头看看,GraphQL 社区和生态也日益完善,基于 Apollo 开发前后端项目也越来越顺畅,今天分享下我在个人项目的实际开发中遇到的问题及采用的解决方案。

  16. CentOS 8 服务器装机备忘

    最近闲来无事,入手了俩服务器来搞点事情。新 VPS 到手,少不了各种环境和服务的安装。虽说装了这么多次,大题流程是八九不离十了,不过具体命令还是没办法记得那么清楚。写个备忘录来记录下,免得记忆偏差加上搜索到过时文章又把步骤带偏了。

  17. Ubuntu 20.04 装机备忘

    大部队还是比较香的!Ubuntu 作为流行的 Linux 发行版,也是我第一次接触 Linux 所安装的发行版本。各个软件发行组织在发行通用软件时,也经常为 Ubuntu 提供预编译版本,能为使用者减少从源码构建带来的繁琐操作和不确定性。这次我赶了个“黑五”促销,又双叒叕买了个“小鸡”….接下来又到了欢乐的装机时间了。

  18. Zsh 配置备忘(使用 Zinit)

    我来了,昨天重装完用了近两年的 Macbook Pro,数据全部清空啦(居然忘记备份 ssh key,失策失策),准备花几个晚上来搞定开发环境~ 现在,开始为命令行润给色吧~我准备在 Mac 上抛弃 Oh My Zsh 了(感觉有点臃肿),开始拥抱简单的东西(当然也不会放弃 OMZ 的优秀插件)~

  19. TinyMCE 自托管(Self-hosted)食用方式

    Tiny 作为功能强大,拓展性高的 Web WYSIWYG Editor,十分适合定制开发适合业务的富文本编辑器。Tiny 提供了云服务,能够方便地通过 Tiny Cloud 快速构建一个编辑器,并提供全球的 CDN 资源。但为了确保项目自治,在 X-MAM 中仍使用自托管(Self-hosted)的方式来使用 TinyMCE。

  20. 我的在线服务规划

    我的在线服务,主要用于给自己提供一套可控、合适的辅助工具与分享媒介。尤其是在购买了一块树莓派硬件后,我意识到其中蕴含着更多的可能。之前之所以没怎么想着搞多应用、多服务,主要也是因为线上服务器多少有点贵(感知上觉得划不来),不太有这条件。现在先不谈硬件相关的东西,只谈软件,~性能靠买树莓派堆就好了~,内网访问速度也快,硬盘随便加,现在机械还是很便宜的。那基于这么个有利环境,再加上一台外网服务器配的配合,实现内网穿透,那对于个人服务而言,应该还是足够了,毕竟停电断网什么的,在基建狂魔面前,将越来越少~

  21. 测试文章

    你好呀可爱的你