Blog
Blog
PHODAL

在我当前所在项目里,其中的某一个子系统是用 Groovy 中的 Gradle 插件。Groovy 作为一个运行在 JVM 上的脚本语言,天生具有胶水的特性。加之,它支持 DSL 与其程式的简洁语法。嗯,如果不考虑性能问题,这真的是不一个不错的语言。

一年前,在公司大佬的指点之下,我开始写系统级重构工具 Coca (https://github.com/phodal/coca) 。哦,不,不对,是刚开始学习 Golang,因为我的第一次提交是从一个 Go 的 hello, world 写起的。

现有的项目里,一次功能变更可能带来了大量的缺陷。于是乎,我试着回溯项目的开发过程,寻找出导致问题的根因。现阶段,我只能想到时的只有实施技术战略性投资,也暂时也想不到更好的方法,以在开发初期解决问题。

或许是出自于对编写编程语言的兴趣,又或许是对于创建 IDE/编辑器的兴趣,对于『IDE/编辑器是如何提供编程语言的支持』,我充满了兴趣。其中的一个主要原因是,这是每天我们打交道最多的工具,另外一个原因可能是,咦,我们怎么没有国产的 IDE(手动狗头)。

最近的几个月里,一直在编写代码识别引擎 Scie ,好不容易解决了各种奇怪的问题。随后,在尝试做了一次 benchmark 之后,发现我写了的这么一些 Rust 代码,运行起来的速度非常慢。同样是对一个代码文件的分析,Scie 差不多要 12S 完成,而同样的 Node.js Addons 则只需要 200ms。于是,我开始了我的性能优化之旅。

最近一直在编写 Gradle 以及 Intellij IDEA 相关的东西。由于市面上最复杂的相关的开源软件就是 Android 相关的,即 Android Studio 和 Android Gradle Plugin,于是我也在不断学习相关地源码。所以,我写了很多相关的文章,在介绍相关的内容。文章中包含了大量的技术细节和实现,所以这些技术文章也就只能在我的博客上看到了。

最近在为新的工具 Scie 设计一个模型,以用于描述一个具体的代码工程。而刚好最近也在学习 Gradle 相关的项目模型,便想写一篇文章记录一下相关的模型,以支撑起 Scie 的开发。

最近和同事在使用 Rust 编写 Scie,即重写 vscode-textmate,期间遇到一个严重的 bug,需要调试一下 vscode-textmate 的底层的 vscode-oniguruma WASM 绑定。

项目上需要使用 R8 来对 Java 代码进行压缩、混淆,并转换为多个 dex 的形式。由于种种原因,需要从头编译源码,并通过 jar 包引用。考虑到可重复过程的问题,我决定写一篇文章记录一下这个过程。

软件开发是一个非常有意思的复制 + 粘贴活动。开发业务代码的时候,大部分人都不会不加思索地添加代码。毕竟,聪明的产品经理/项目经理们,天才式地想出了用代码行数的方式来计算 KPI,又或者是通过提交次数来进行考核 —— 虽然小步提交是个好东西,但是吧,大部分人不经过练习还是掌握不会的。

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

最近的一些事

  • 最近我和我的同事们,一起在创建一个新的编程语言:Charj 。它是一个使用 Rust 编写的描述式、中间编程语言。GitHub: https://github.com/datum-lang/datum

    Nov. 14, 2020, 9:27 p.m. | China

存档

分类

标签

作者