《GEB》中的第一章,有这样一道题:

有一个 WJU 系统,由字符集为 W, J, U 的字符串组成。其中包含四条字符串变换规则(其中 x, y 表示任意合法字符串且可以为空):

  • xJ => xJU
  • Wx => Wxx
  • xJJJy => xUy
  • xUUy => xy

从 WJ 出发,能不能得到 WU?

推导如下:

Read more »

对于 Linux 用户来说,由于用户群体相当小,作为软件开发商,往往不愿意支持或者滞后支持 Linux。对于网盘来说更是如此,网上的测评都是站在 Windows 或者 Mac 用户的角度,而对于 Linux 用户,网盘客户端的功能是否丰富(正常)才是考量的重点。

由于这篇文章的时效性较强,请留意发布时间。

Update on Dec. 2021: 增加了可以 self-hosted 的网盘 seafile。

Read more »

2021 年我在【TEG技术工程事业群 - 安全平台部】的某个侧重开发的组实习了两个月,体验优秀(甚至是我至今为止的实习中体验最优秀的)。

好的公司/组总是相似的,而不好的则各有各的不同。

Read more »

场景

1
2
3
4
5
// CMakeLists.txt
add_library(api SHARED api.cpp)

add_executable(main main.cpp)
target_link_libraries(main PRIVATE api)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// main.cpp
#include <cstdio>

void f() {
puts("f in main!");
}

void g();

int main() {
g();
return 0;
}
// api.cpp
#include <cstdio>

void f() {
puts("f in api!");
}

void g() {
f();
}

执行输出的结果是 f in main!,一定程度上出乎意料且违背预期了。我希望自己编译出的动态链接库给别人用,但是我又不能控制别人的可执行程序(或者其它动态链接库)中有什么符号,因此我希望自己的动态链接库是自包含 (self-contained) 的。

Read more »
0%