欢迎来到大明酱的网络博客📚

一个技术宅的网络博客┗|`O′|┛ ~~

Wednesday, July 26, 2023 | think | copy

作揖主义

沈二先生与我们谈天,常说生平服膺《红》《老》之学。《红》,就是《红楼梦》;《老》,就是《老子》。这《红》《老》之学的主旨,简便些说,就是无论什么事,都听其自然。

Monday, February 21, 2022 | c++

使用c++的新特性来替代宏

要说c++或者c中最容易滥用的特性,莫不过于宏。

事实上,宏有很多缺点,比如难以调试,容易造成污染。(比如Windows.h里就定义了max和min宏,毫无避讳。如果调用xxx.max()之类的函数,那么恭喜你的max被替换了)

所幸,C++为我们提供了一套机制来减少宏的使用。

Sunday, February 6, 2022 | algorithm

拓扑排序算法(依赖排序)

笔者曾经实现过几个toy build system。这些构建系统都离不开拓扑排序算法:一个将一个有向无环图进行排序的算法。

哈哈,这么说可能有点抽象。举个例子,就是:吃饭前要做饭,做饭前要洗手,遵循一个特定的顺序,不能乱来。拓扑排序正是排序此类事务的算法。

Saturday, January 15, 2022 | native | java

Java17新Native API初体验

最近在使用Java编写程序,需要和c++进行交互。正好碰到了Java17新添加的Native API(类似JNI)。来自JEP 412

Saturday, November 6, 2021 | log4j2 | java

通过编程配置log4j2

最近在使用Log4j2的时候,碰到了一些问题:无论是使用Configurator.initialize还是LogManager.getContext().reconfigure()都无法完全更新log4j2的配置。

在查看了Log4j2的源代码过后,笔者找到了解决方案。

Sunday, October 31, 2021 | gradle | java

Gradle代码片段总结

汇总了一些gradle常用代码片段,包括:

  • 汇集所有子项目的javadoc
  • 汇集所有子项目的source/javadoc jar

至于汇集所有依赖到同一个jar包里的,笔者依然是使用插件的方式(shadowJar)实现。

Older