编程

【译】Roam Research 自定义组件 —— 跟 {{roam/render}} 来一次亲密接触!

Roam Research 采用的是 Clojure 技术栈的 Datomic/datascript Datalog 数据库,能够将内容同步到不同的设备,并管理非常复杂的撤销操作,还能够支持各种程度的自定义组件和插件功能定制,方便开发者利用 Reagent 渲染组件,并支持与 JavaScript 互操作。本文就将硬核解析 Roam 背后原理,发掘 Roam 基于 Block 的深层技术优势,帮助你迎接 Roam API 时代的到来! 原文地址:A closer look at {roam/render} —— Zsolt Viczián Roam 就好像一把优秀的瑞士军刀,竟然包含一个完整的 ClojureScript 开发环境。在过去两周里,我逐渐熟悉了 ` {{roam/render}} `。这篇文章可以算作我自己的笔记,总结整理一下我的所见所学。
吕立青

【译】深度解析 Roam 数据结构 —— 为什么 Roam 远不只是一个笔记应用

随着 Roam Research 的大热,双向链接和基于 Block 的笔记软件层出不穷,而他们(葫芦笔记、logseq、Athens)无一例外都采用了 Clojure 技术栈的 Datomic/datascript Datalog 数据库,这不免让我感到好奇想要深入探索一番。本文就将硬核解析 Roam 背后原理,发掘 Roam 基于 Block 的深层技术优势,帮助你迎接 Roam API 时代的到来! 原文地址:Deep Dive Into Roam’s Data Structure - Why Roam is Much More Than a Note Taking App
吕立青

Serverless 实战:打造个人阅读追踪系统

阅读习惯和个人知识管理体系 在互联网时代,知识可以说从未像如此一般廉价,但是再好的知识若是对个人没有产生价值的话,那也只不过是一种信息噪音而已。我在 个人知识管理:知识的三种形态 这篇文章中使用 材料 -> 资料 -> 知识 这样的路径来解释信息的流通,如何方便快捷并且有效地收集材料,再将其整理转化为有价值的个人知识体系结构,在这个信息严重碎片化的时代变得尤为重要。而在 去伪存真的知识管理之路 一文中也详细阐述了如何将网络上的碎片化文章纳入统一的稍后阅读体系,比如说有时候在朋友圈看到一篇好文章,但暂时没时间直接看,或是这篇文章值得再读一遍,细读一遍,那么我就会将其存入稍后阅读工具即 Instapaper 当中,诸如此类的还有 Pocket、收趣等等。 稍后阅读永远读不完的痛点:缺乏追踪 随着时间的推移,Instapaper 里面的文章将会变得越来越多,就像我们在代码中所注释的 TODO: 可能就变成了 Never Do,稍后读也是一样地被人广为诟病:Read it Later = Read Never。其实我发现文章堆积的一个永恒痛点就是没有有效的方式追踪自己的阅读需求与能力,
吕立青

WorkShop 笔记:Linux shell 命令密室逃脱之旅

Thanks to 讲师/谈一秀、杜屹东 内容前瞻 在日常工作中,命令行工具已凭借其强大的功能和简洁的交互形式称霸类 Unix 操作系统。 你是否在使用命令行工具的时候为找不到合适的工具而烦恼?是否在面对复杂任务的时候感到力不从心? 本次 workshop 将为你揭开 shell command 的神秘面纱!通过本次 Linux 密室逃脱之旅,你将会掌握一些实用的 shell 技能,超越 GUI 限制,提升工作效率。 正式开工 场景:vagrant 启动虚拟机,使用 ssh「快速」登录 Linux 机器,发现 Tomcat 没启动,启动后发现端口被占用 http://192.168.33.20:8080/,然后 kill
吕立青

使用 Gradle 快速构建项目以及 Gradle 速度优化

内容简介 对于一款构建工具来说,首要的使命便是将项目构建起来,然后才是考虑如何加快构建的速度。毕竟在持续集成的开发理念之下,跑ci就是程序员日常最经常要做的事情,而等待的过程往往是非常漫长的,甚至于有童鞋专门去买了本字帖,以便于在每次等ci的时候打发时间。 这篇文章首先会从如何使用 Gradle 插件开始,毕竟要先干活,然后进阶到如何写一个自定义 Task,以及 Incremental Task 的原理。当然,最后总结几个可以直接用于加快 Gradle 构建速度的优化技巧,简单粗暴,立马生效! 如何使用 Gradle 插件 我们在 Java 项目根目录下会有一个build.gradle文件,Gradle 的所有配置都可以放在这个文件里面。首先从最基本的 Java 插件说起,大部分的项目构建流程都是:编译 Java 源文件,运行单元测试,最终生成一个包含所有 class 文件的 JAR 包,而 Gradle 使用插件的形式来使整个过程自动化,
吕立青

什么才是真正的 RESTful 架构?

更多内容请看我最近在写的一本小书:《Microservice 最佳实践之路》,实为项目上的踩坑手册。 What? Wikipedia: 表征性状态传输(英文:Representational State Transfer,简称 REST)是 Roy Fielding 博士于 2000 年在他的博士论文中提出来的一种软件架构风格。 Roy Fielding 是 HTTP 协议(1.0 版和 1.1 版)的主要设计者,事实上 HTTP 1.1 规范正是基于 REST 架构风格的指导原理来设计的。需要注意的是,REST 是一种设计风格而不是标准,如果一个架构符合 REST 原则,我们就称它为 RESTful 架构。 Why? 在「远古时代」
吕立青