0%

他没有做过数据开发,但是对新技术很有兴趣。项目刚开始,正是需要有能力的开发人员加入的时候,他加入了团队。

将数据实时接入数据平台可以提升数据导入性能。当前已经有一个实现,但是性能问题很突出。在数据量激增时,延迟会变得很高。他接受了这个挑战。

“搭建一套环境,重现这个性能问题,应该就能解决。”团队初步确定了思路。数据开发用到了很多技术,Oracle、OGG、Kafka、StreamSet、Kudu等等,对于他而言,都是全新的。

阅读全文 »

早上送完人回到家,快两岁的小孩子已经起床穿好了衣裳,家里人正在准备早餐。

“要吃饼饼”,小孩子指着一袋子蛋卷说。看看给他准备的牛奶马上就要好了,就对他说,“我们先喝牛牛好不好,喝完牛牛再吃饼饼”。小孩子一改以往得不到就吵闹的样子,嘴上说着“喝完牛牛再吃饼饼”,往摇奶器那边走过去。

阅读全文 »

一个故事

最近有一次我观察项目组中一位经验较浅的小伙伴写代码,发现:

  1. 快捷键用得少,缺乏一点去研究快捷键的意识
  2. 自动补全功能没有充分利用,基本靠记忆+手敲
  3. 使用mac笔记本自带的并不好用的键盘

这带来的结果就是手上的速度跟不上思维的速度。

阅读全文 »

上周的某一天,我在浏览IT新闻的时候,无意间被一篇来自阿里团队的文章刷屏了。关注的好几个平台都转发了名为“阿里 & 蚂蚁自研 IDE 研发框架 OpenSumi 正式开源”的文章。

OpenSumi定位是垂直领域的IDE研发框架。请注意,它本身不是IDE,而是一个辅助开发IDE的框架。除了内置常用的开发工具,如资源管理器、编辑器、调试、Git 面板、搜索面板等模块,重要的是,它可以支持开发者通过简单配置就搭建属于自己的本地或云端IDE产品。

OpenSumi的思路竟和我之前分享的“开发者工作台”的思路如出一辙。

阅读全文 »

新的一期技术雷达如期发布,仔细阅读了这一期的所有条目,CUPID这一条尤其让我产生共鸣。

CUPID出自Daniel的一篇名为《CUPID—for joyful coding》的博文,即《CUPID-为了快乐编程》。CUPID是Composable/Unix philosophy/Predictable/Idiomatic/Domain based几个单词的缩写,有经验的同学一看就知道这是好代码的一些属性。知道Cupid这个单词的同学还能感受到这一组属性所蕴含的对于软件工程的热情。Cupid的中文是丘比特,是指古罗马的爱神,其意象是一个长有翅膀的小孩,拿着弓箭射向人们,以便人们可以相互爱上对方。

CUPID for joyful coding

阅读全文 »

背景

在最近的一个项目上,我们再次碰到了需要处理长时任务的场景。事实上,随着要处理的业务问题越来越复杂,要集成的系统越来越多,在Web服务器端开发中,长时任务处理已经成为了一个普遍的问题。

以下场景均可看作长时任务场景:

  • GitHub提交了一个PR,要分别向上百个相关用户单独发送邮件
  • 用户上传了一个文件,需要扫描这个文件是不是带病毒
  • 用户想以pdf格式下载某一个文档,需要先将文档转换为pdf格式
阅读全文 »

前段时间,咱们CTO八叉在极客时间做了一次关于用Smart Domain实现DDD的分享(点击这里回看)。一个新词Smart Domain进入大家的视野。

Smart Domain解析

Smart Domain是啥?为什么可以用Smart Domain实现DDD?本文尝试结合以往对DDD的学习和实践的经验,跟大家分享一下个人的理解。

八叉在分享中提到Smart Domain这个名字来源于Smart UI。我们都知道Smart UI是DDD中提到的一种反模式,只能用于解决简单问题。这里的命名略带反讽戏谑的意味。

阅读全文 »

前面的文章《我理解的Smart Domain与DDD》中,我们分析了 Smart Domain 的设计,尝试回答了为什么 Smart Domain 可以用于实现 DDD,并对Smart Domain和DDD进行了一些扩展性的讨论。

虽然 Smart Domain 作为一种设计范式,可以辅助我们实现 DDD。但是具体到真实项目中,建模这个过程还得结合实际的领域问题,深入思考,大量尝试,大声建模,才能得到好的模型。有哪些值得参考的案例呢?下面分享几个个人在项目中觉得还不错的建模实践。

阅读全文 »

随着数据在越来越多的企业中被应用,数据技术的发展可谓突飞猛进。不仅基于Hadoop的大数据生态在持续完善,我们也能看到很多新兴的分布式技术如潮水般涌现。以下是来自中国信通院《大数据白皮书(2020年)》整理的大数据技术体系图谱:

Data Tech Stack

阅读全文 »

前文讨论了敏捷数据工程实践的相关概念。有哪些具体的敏捷数据工程实践呢?本文将分享“代码化一切”的实践。

Everything as code

代码化XX

在应用软件开发中,“代码化一切”被讨论得很多。常见的代码化XX有:

阅读全文 »