查看原文
其他

手写一个入门级编译器!YYDS!

IT服务圈儿 2023-02-06

The following article is from JavaGuide Author Guide

来源丨JavaGuide(ID:JavaGuide)
作者丨Guide

本期项目概览:

  • Mini-Compiler:手写入门级编译器
  • HummerRisk:云原生安全平台
  • oms-erp:开源的订单管理系统
  • Dynamic Tp:轻量级动态线程池
  • hertzbeat:易用友好的监控告警系统

Mini-Compiler:手写入门级编译器

项目介绍 :

  • 一个 Mini 版本的入门级编译器。
  • 基于 Java 语言编写,有助于初学者了解面向对象编程语言编译器的运行原理。

代码示例 :

可以看到,代码注释还是非常清晰的,一共只有 7 个类。

不过,想要搞懂这个项目难度会远大于普通的业务类型项目,像核心类 Parser (语法解析器)的代码量接近有 2000 行(其它 6 个类代码量比较少)。

项目地址 :https://github.com/chenyuwangjs/A-tutorial-compiler-written-in-Java 。

相关资料 :

  • 写给小白的开源编译器[1]
  • 700 行手写编译器(视频)[2]
  • 《编译器设计》[3]

HummerRisk:云原生安全平台

项目介绍 :

  • 一个开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题。
  • 支持混合云安全治理、K8S 容器云安全治理。

混合云安全治理:

  • 对主流的公(私)有云资源(几乎支持所有云)进行安全合规检测
  • 快速查看混合云的各种资源态势与云资源拓扑图
  • 漏洞检测
  • 一键获取合规报告
  • ......

K8S 容器云安全治理:

  • 关联多个 K8S 集群,统一查看各个关联环境的资源态势
  • 检测底层主机/虚机中存在的问题
  • 检测 K8S 的部署编排文件
  • ......

相关地址 :

  • 项目地址:https://github.com/HummerRisk/HummerRisk
  • 文档:https://docs.hummerrisk.com/

oms-erp:开源的订单管理系统

项目介绍 :

  • 一站式中台系统包括订单管理系统 OMS/电商 ERP、库存 WMS 统一管理系统和 SAP 财务管理系统等。
  • 云原生,基于微服务架构、容器、DevOps 等技术。

业务架构 :

技术架构 :

技术架构.png

相关地址 :

  • 项目地址:https://github.com/FJ-OMS/oms-erp
  • 官网:www.flightsteed.com/

Dynamic Tp:轻量级动态线程池

Dynamic Tp 概览

项目介绍 :

  • 一款基于 SpringBoot 的轻量级动态线程池,参考美团线程池实践[4],内置监控告警功能,提供多种报警维度。
  • 支持主流配置中心(支持 Nacos、Apollo,ZooKeeper、Consul、Etcd),并且,所有配置都放在配置中心,对业务代码零侵入。

技术架构 :

Dynamic Tp 技术架构

相关地址 :

  • 项目地址:https://github.com/dromara/dynamic-tp
  • 官网:https://dynamictp.cn/

hertzbeat:易用友好的监控告警系统

项目介绍 :

  • 一款开箱即用的监控告警系统,由 Dromara 孵化,目前已是码云 GVP 项目。
  • 支持网站,API,PING,端口,数据库,操作系统等监控类型,支持邮箱,短信,webhook,钉钉,企业微信,飞书机器人等告警通知,拥有易用友好的可视化操作界面。

项目故事 :

hertzbeat 的作者本人目前已经离职,这个项目是其全职维护的第一个开源项目,值得点赞和鼓励!

如果你也想参与到这个项目开发的话,建议可以去看看这个项目的项目看板有哪些 todo,看板地址:https://github.com/dromara/hertzbeat/projects/1 。

相关地址 :

  • Github 地址:https://github.com/dromara/hertzbeat
  • Gitee 地址:https://gitee.com/dromara/hertzbeat
  • 官网:https://hertzbeat.com/

你可以通过 awesome-java (非常棒的 Java 开源项目集合,找 Java 项目必备)找到更多优质的 Java 开源项目。

  • Github 地址:https://github.com/CodingDocs/awesome-java
  • Gitee 地址:https://gitee.com/SnailClimb/awesome-java
  • 在线阅读:https://javaguide.cn/open-source-project/

参考资料

[1]

写给小白的开源编译器: https://www.cnblogs.com/xueweihan/p/16283249.html

[2]

700 行手写编译器(视频): https://www.bilibili.com/video/BV1Kf4y1V783/

[3]

《编译器设计》: https://book.douban.com/subject/20436488/

[4]

美团线程池实践: https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html

1、

2、再有人问你什么是MVCC,就把这篇文章发给他!

3、7.2K Star!把数据库的每一行都监控到的强大数据流平台

4、MySQL 啥时候用记录锁,啥时候用间隙锁?

5Linux进程是如何创建出来的?

点分享

点点赞

点在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存