Scott's Blog

明生写字的地方

创造「必要难度」来增强学习

2022 年这一年,我的软件设计能力有了很大的增长,但英文水平的提升却极其有限,这跟我时间精力投入肯定有关系,但更重要的是学习方法和策略很有问题。直到春节的时候读到这篇论文—-Making Things Hard on Yourself, But in a Good Way: Creating Desirable Difficulties to Enhance Learning 20111 ...

Exploring fp-ts through the composition

Exploring FP-TS through the Composition Suppose you have checked the documentation of fp-ts. In that case, you will find that there are dozens of modules, many of them with dozens of functions, and...

2022 年读书小结

2022 年读书总结 2022 读了不少技术图书,这一年编程功力之所以能质变,离不开他们,当然,更重要的是很幸运加入了 ops 这个团队,让我能在实践中对很多理论和原则进行融汇贯通。 如一个朋友所言,有些书读完就忘了,而有些书则让你记忆深刻,甚至能改变你的人生轨迹—-这些书是神作。 书 1:Unit Testing Principles, Practices, and Patte...

How to use Apollo Federation in Elixir

Scaling GraphQL in Absinthe

What’s and Why Apollo Federation Let get started from a small question, what’s the differences between Federation and Stitching? Schema stitching was an early option for creating a GraphQL gat...

程序员的大脑(1)

当编程遇上认知科学

讲编程的书很多,说大脑认知的书也很多,而 《程序员的大脑》 是为数不多两者结合一起讲的好书。前司是一家创新驱动的脑与认知科学的公司,所以「认知科学」接触已久,而在读本书时,常有「啊哈」之感。 这书主要是从认知的角度讲了 4 个部分的内容: 认知科学如何帮助你更好地阅读代码 认知科学如何帮助你更好地对代码进行思考 认知科学如何帮助你写出更好的代码 认知科学如何帮助你更好地...

单元测试的原则、最佳实践和模式

这是一篇书评,同时也是笔记。年初到现在,看了不少技术图书,但这本 Unit Testing 是最让我震撼的。作者开篇就提到 学习单元测试不应该仅仅停留在技术层面,比如你喜欢的测试框架,mocking 库等等,单元测试远远不止「写测试」这件事,你需要一直努力在单元测试中投入的时间回报最大化,尽量减少你在测试中投入的精力,并最大化测试提供的好处,实现这两点并不容易。 这说出了我们这些...

办公族自救指南

用工具改善你的坐姿

这是一篇很早就想写的文章,因为自己做程序员也有 4 年时间了。各种毛病积累了不少:键盘手,腰突,近视增长,肥胖,掉头发……,但是大部分这类问题在最近半年都得到了解决,所以记录一下我的解决方案,希望对其他人也有所帮助。 我们一天中大部分时间都是坐着度过的,做地铁或公交去公司,坐着上班,坐地铁或公交下班,回家坐着吃饭,坐着休息,然后躺着睡觉。而坐姿不对的话,容易导致各种各样的问题,拿我身边的朋...

关于 joi

一个用 Elixir 写成的验证库

背景 去年在公司做一个基于 CQRS 的项目时,需要用到验证库,因为 CQRS 强调读写分离,而且不是普通数据库层的读写分离,所以写那端显然不适合再继续使用 Ecto.Changeset 的那种验证了。 在探索和使用了 Vex,Skooma 等库后,发现他们都不能达成我的期望,Vex 是类 Rails ActiveModel Validations 型的验证,在自定义一些模块的时候,不够...

用 Absinthe 构建 GraphQL API

本文是上周 Tubi TV 在北京举办「Elixir Meetup 第二期」分享之 <从 Django 到 Phoenix + Absinthe> 的部分内容文字稿。 什么是 GraphQL A query language for your API 按照 GraphQL 官方的解释,它无非就是一种用于 api 的查询语言而已。 拿这个查询所有文章的 title ...

如何安装 Debian 9?

上周 GPU 服务器抽风,老是突然卡死。Ubuntu 总是充满了不稳定,而 Debian 则是稳定的代名词,于是趁周末时间+周一,把服务器重装为 Debian 9。特别感谢 ibrother,没有他的帮助,搞不定这么复杂的配置。 下载 Debian 发型版 建议准备两个 U 盘做启动盘,一个用于体验,一个用于安装系统。 制作 U 盘工具推荐 Rufus - Create bootabl...