Ivan Li 的个人博客

  1. JWTs 在 React + GraphQL 的使用

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

  2. etcd 入门

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

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

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

  4. JSX 在 Vue 中的应用

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

  5. 好搞定的 GraphQL —— Web 篇

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

  6. CentOS 8 服务器装机备忘

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

  7. Ubuntu 20.04 装机备忘

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

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

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

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

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

  10. 我的在线服务规划

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

  11. 测试文章

    你好呀可爱的你