-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
443 lines (227 loc) · 18.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="Hugo 0.138.0">
<title>Space Looming</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Echoes from Beyond the Stars" />
<meta name="keywords" content="" />
<meta name="robots" content="noodp" />
<link rel="canonical" href="https://www.gtdstudy.com/" />
<link rel="stylesheet" href="https://www.gtdstudy.com/css/buttons.min.2bc533403a27dfe0e93105a92502b42ce4587e2e4a87d9f7d349e51e16e09478.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/code.min.00125962708925857e7b66dbc58391d55be1191a3d0ce2034de8c9cd2c481c36.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/fonts.min.90c955c31dd7c0e05aae3d4f583d4d8a2af799d69c961337eaf2a825063a55dd.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/footer.min.2e3eb191baee58dd05a9f0104ac1fab0827bca7c64dafe0b2579f934c33a1d69.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/gist.min.a751e8b0abe1ba8bc53ced52a38b19d8950fe78ca29454ea8c2595cf26aad5c0.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/header.min.b6fb4423cf82a9f9d7abc9cd010223fa3d70a6526a3f28f8e17d814c06e18f9e.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/main.min.1d8be2dd1b5de9fdaed058c8c59fcf4485f36619574abfb47ed0cfda4812c16d.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/menu.min.83637a90d903026bc280d3f82f96ceb06c5fc72b7c1a8d686afb5bbf818a29f7.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/pagination.min.82f6400eae7c7c6dc3c866733c2ec0579e4089608fea69400ff85b3880aa0d3c.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/post.min.fc74ca360273c1d828da3c02b8174eba435607b369d98418ccc6f2243cd4e75d.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/prism.min.9023bbc24533d09e97a51a0a42a5a7bfe4c591ae167c5551fb1d2191d11977c0.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/syntax.min.cc789ed9377260d7949ea4c18781fc58959a89287210fe4edbff44ebfc1511b6.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/terminal.min.e62f50ff2fb6063fbd9a70fc579fdf5adfd78e34563025dc923f2c380d17ea18.css">
<link rel="stylesheet" href="https://www.gtdstudy.com/css/terms.min.b81791663c3790e738e571cdbf802312390d30e4b1d8dc9d814a5b5454d0ac11.css">
<link rel="shortcut icon" href="https://www.gtdstudy.com/favicon.png">
<link rel="apple-touch-icon" href="https://www.gtdstudy.com/apple-touch-icon.png">
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="" />
<meta name="twitter:creator" content="" />
<meta property="og:locale" content="en" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Space Looming">
<meta property="og:description" content="Echoes from Beyond the Stars" />
<meta property="og:url" content="https://www.gtdstudy.com/" />
<meta property="og:site_name" content="Space Looming" />
<meta property="og:image" content="https://www.gtdstudy.com/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="627">
<link href="/index.xml" rel="alternate" type="application/rss+xml" title="Space Looming" />
</head>
<body>
<div class="container center">
<header class="header">
<div class="header__inner">
<div class="header__logo">
<a href="/">
<div class="logo">
学无止境
</div>
</a>
</div>
<ul class="menu menu--mobile">
<li class="menu__trigger">Menu ▾</li>
<li>
<ul class="menu__dropdown">
<li><a href="/about">About</a></li>
<li><a href="/friends">Friends</a></li>
<li><a href="/now">Now</a></li>
<li><a href="/posts">Posts</a></li>
<li><a href="/til">TIL</a></li>
</ul>
</li>
</ul>
</div>
<nav class="navigation-menu">
<ul class="navigation-menu__inner menu--desktop">
<li><a href="/about" >About</a></li>
<li><a href="/friends" >Friends</a></li>
<li><a href="/now" >Now</a></li>
<li><a href="/posts" >Posts</a></li>
<li><a href="/til" >TIL</a></li>
</ul>
</nav>
</header>
<div class="content">
<div class="posts">
<article class="post on-list">
<h2 class="post-title">
<a href="https://www.gtdstudy.com/posts/our-interpretation-of-the-analects-remains-so-one-dimensional/">时至今日, 我们对论语的解读是如此单一</a>
</h2>
<div class="post-meta"><time class="post-date">2024-11-10</time><span class="post-author">[Steve Chan]</span></div>
<div class="post-content">
<p>在了解西方人如何解读《论语》,以及为什么认为《论语》是思想经典后。会发现,《论语》的内涵如此丰富,</p>
<p>我想《论语》之所以可以流传下来,绝非是因为它摘录了孔夫子的语录,而是学徒们觉得孔夫子这些话很重要,才摘录。</p>
<p>重要,就是信息密度,以及可解读的信息层次。</p>
<p>但上下五千年,对它的解读角度,却如此单一,一直延续到现在。不得不让人有一种历史的悲怆感。</p>
<p>制造轮回的,不光是别人,也包括了自己。以及那个看似强大,而实则脆弱的篱笆。</p>
</div>
<div>
<a class="read-more button inline" href="/posts/our-interpretation-of-the-analects-remains-so-one-dimensional/">Read more</a>
</div>
</article>
<article class="post on-list">
<h2 class="post-title">
<a href="https://www.gtdstudy.com/posts/learned-from-using-ai-develop-software-2/">用 AI 辅助开发的经验二三则(2)</a>
</h2>
<div class="post-meta"><time class="post-date">2024-11-07</time><span class="post-author">[Steve Chan]</span></div>
<div class="post-content">
<p>最新发布的 org-zettel-ref-mode (以下简称 OZR)版本号从 0.3.3 跳到 0.4,在这一轮冲刺中,我实现了比之前更加复杂的功能,更多的代码行数,更加复杂的结构。而所花费的时间,是过去的三分之一,我认为自己取得了可喜的进步。</p>
<p>OZR 新的版本,增加了一个新功能,用于管理引用来源文件的可视化面板。这句话看上去很简单,但背后的工作量并不小。前端改一个词,足以让后端跑断腿。出现产品经理被砍这样的新闻,也不必奇怪了。</p>
<p>可视化面板,是很多产品里常见的特性,它的功能就是,让用户更加舒服地查看、管理特定的对象。在 OZR 里,其管理对象是,一个个被充当引用来源的参考文件。</p>
<p>如果让你来设计这个面板,你觉得第一个问题会是什么?我一开始的反映是,文件应该以什么样的方式进行展示?但实际上,在我真正着手开发时,真正重要的问题是: <strong>在面板里展示的数据源来自哪里?</strong> <strong>在数据源发生了改动之后,如何确保原来的文件映射关系不变?</strong></p>
<p>继续追问这两个问题,会发现,从工程上需要实现:</p>
<ol>
<li>将原本非格式化的数据转换成格式化数据,保存到数据库中,面板访问数据库才能既快又好地展现文件信息</li>
<li>由于用户会在面板上编辑文件信息,因此面板上更新的数据,需要同步到数据库对应的字段中,进行信息层面的对齐,这样子才能确保面板在重新加载之后不会出现错误的信息</li>
</ol>
<p>从这 2 个问题继续追问,就会出现大量需要实现的工程细节。但最重要的一个问题是,需要使用一个怎么样的数据库,才能够满足以上需求。再深挖这个问题,就是数据库应当使用什么结构,能够满足当前的业务需求?再追问这个问题,就会回到业务层面上,实际业务的情景是什么?</p>
<p><strong>设计数据库之前需要先探明业务情景</strong></p>
<p>在没弄清楚实际业务发生的情形之前,我所尝试的各种实现数据库的方法,都是错的,各种 Bug 层出不穷,按下葫芦浮起瓢。最后我冷静下来,深究原因——保存与存取,总是出现问题。我得感谢之前<a href="https://www.gtdstudy.com/posts/learned-from-using-ai-develop-software/">开发的经验里</a>,让我牢牢记住一个原则:一个 Bug 如果修改 3 次都不成功,一定要转换思路,不要继续重复原来的方法。</p>
<p>所以,我和 AI 对话,对实际的业务情景进行分析,寻找最适合的数据库结构。这个问题决定了数据库的读写方法——</p>
<p>我:
overview-id 一定对应一个 ref-id (必需关系) 也未必会有对应的一个 ref-id,因为有的 overview 文件不是从 ref 源文件夹中的文件创建。不过,从严格意义上来讲,一个 overview 文件,必须对应有一个 source 文件</p>
<p>AI:
明白了,让我重新梳理这个关系:
从数据库角度:
ref-id 可以没有对应的 overview-id
overview-id 可以没有对应的 ref-id
但如果存在映射,则是一对一的关系
从业务逻辑角度:
overview 文件必须对应一个 source 文件(业务规则)
但这个对应关系可能还未在数据库中建立(数据状态)
映射关系的建立是一个渐进的过程
Map 表的职责:
记录已建立的映射关系
确保映射的一对一性
不强制要求所有实体都必须有映射
但提供检查机制发现"孤立"的 overview
这样的理解更准确了吗?</p>
</div>
<div>
<a class="read-more button inline" href="/posts/learned-from-using-ai-develop-software-2/">Read more</a>
</div>
</article>
<article class="post on-list">
<h2 class="post-title">
<a href="https://www.gtdstudy.com/posts/the-minimum-practice-unit/">最小练习单位</a>
</h2>
<div class="post-meta"><time class="post-date">2024-11-05</time><span class="post-author">[Steve Chan]</span></div>
<div class="post-content">
<p>之前, 我发展了一个概念, 叫 “<a href="https://www.gtdstudy.com/posts/minimum-creation-unit/">最小创造单位</a>”. 它大概面对的情景是, 自己闲着, 不知道自己干点什么的时候, 想一想能够在很有限的时间里, 捣鼓点什么出来, 是一个无中生有的过程.</p>
<p>今天我想把 “最小单位” 这个概念, 再延伸一点, 叫 “最小练习单位”. 起因是, 每天需要学习的东西很多, 有时候会陷入犹豫, 在确定自己练习什么的时候, 太阳西下, 天色也昏沉. 此时惊觉, 一天已过.</p>
<p>“犹豫就会败北!” 所以, 我刻意地想提 “最小练习单位”, 将自己从踌躇不决的境地里拯救出来.</p>
<p>然后我观察了放多大牛的学习方式, 其中 Django 框架的作者(之一) Simon Willams 令我印象深刻.</p>
<p>他的博客内容量极大, 有好几个栏目, 可以从他自己制作的<a href="https://simonwillison.net/2024/Oct/30/monthnotes/">月报</a>看到, 有包含观点的文章, 有记录自己新实验或者练习 TIL, 还有自己的开源项目的新版本更新等等. 这些还不止, 在博客的侧边栏, 还有他分享的, 自己每天看过觉得不错的网络文章.</p>
<p>如果说, 我想在现代社会里, 找到一个人, 像 Zettelkasten 发明人那么高产, 那么可能就是 Simon Willams 了.</p>
<p>在他的 <a href="https://til.simonwillison.net/">TIL</a> (就是 Today I Learned 的意思) 栏目里, 会看到他从不间断地练习记录 – 这些练习有的长, 有的很短. 在他繁忙的日常里, 他总会抽出一点时间出来, 去探索新鲜的玩意, 去掌握自己之前不知道的知识.</p>
</div>
<div>
<a class="read-more button inline" href="/posts/the-minimum-practice-unit/">Read more</a>
</div>
</article>
<article class="post on-list">
<h2 class="post-title">
<a href="https://www.gtdstudy.com/posts/blog-the-complementation-of-humanity/">博客 = 人性的补完</a>
</h2>
<div class="post-meta"><time class="post-date">2024-10-19</time><span class="post-author">[Steve Chan]</span></div>
<div class="post-content">
<p>其实我很不愿意写关于博客本身的任何话题. 反复自证, 非我所好. 再说, 博客也断断续续, 写了老长一段时间, 即便是不写的那些日子里, 域名费也乖乖地交了.</p>
<p>博客, 于我而言, 是再自然不过的, 我无需为它解释什么, 更不用解释 “为什么写博客” 这种问题. 而且, 既然已经上线一个博客, 老是写关于博客的话题是有点奇怪的 – 一个自留地, 访客来去自如, 不必为流量烦扰. 毕竟, 博客的原始词义, 是线上日记本.</p>
<p>日记本, 就不是给外人看的. 保持这一份纯粹, 在一个越来越呈现 “繁荣性贫乏” 的互联网里, 反而难淂. 无所图, 必有获.</p>
<p>但我还是有强烈地冲动, 写下这一段文字. 是因为有一个念头, 老在脑海里转来转去, 不吐不快. 博客, 对于每一位作者而言, 可能都有着不同的价值. 我来谈谈我的版本.</p>
<p>我觉得阴阳学说, 是这个世界上最能体现本质运动规律的古代学说. 尽管我的理解未必正确 – 事物有正面, 则必有反面, 这个正反关系, 并非对立, 只是描述一个事物上存在两种矛盾特性的客观现象. 就如我们自己, 在工作生活中, 也存在着很多的方面. 就好想多棱镜一样, 不同角度的光照射, 会照应出不同的色彩.</p>
<p>正因为, 在社会公众生活中, 我们需要向社会妥协, 戴上不同的面具, 保护自己, 也保护他人. 然而, 就如阴阳理论所说, 如果这种戴面具的行为是 “阳”, 那么于个人而言, 则存在一个相反的 “阴” – 一个不戴面具, 更加纯粹的自我. 我们的心境, 往往在这一 “阴” 一 “阳” 之间摆动. 但, 只陷入某个极端, 都会有失偏颇.</p>
</div>
<div>
<a class="read-more button inline" href="/posts/blog-the-complementation-of-humanity/">Read more</a>
</div>
</article>
<article class="post on-list">
<h2 class="post-title">
<a href="https://www.gtdstudy.com/posts/minimum-creation-unit/">最小创造单位</a>
</h2>
<div class="post-meta"><time class="post-date">2024-10-18</time><span class="post-author">[Steve Chan]</span></div>
<div class="post-content">
<p>很多事情都可视为「最小创造单位」:</p>
<pre><code>认真的写一篇帖子
学习新的菜
散步时绕多一个弯,试一试不同的路线
随手拍一张自己觉得不错的照片
把衣服叠整齐放好
记录一个不成熟的灵感
记住一个今天新学习到的词,或者句子
研究一个今天才听说过的人
看一个之前完全没兴趣的电影或电视剧
看看最近流行的艺术形式
为今天的穿着想新的搭配
……
</code></pre>
<p>有一个豆瓣小组,叫《做一个具体的人》,我加入这个小组纯粹是被名字所吸引。我之前也不知道怎么做一个具体的人,像项飙所说的,当代人的生活在别处,不在此时,不在此地。在逐步探究这个问题的时候,愈发感觉到,自己主动、积极地创造生活,才能让自己作为一个人变得越来越具体。</p>
<p>而创造自己的生活,最小的落脚点,就是我刚才举例的「最小创造单位」。</p>
<p>生活不是线性叙事,它是一时一刻组成的。而我觉得,在正常的工作之余,用「最小创造单位」填满柴米油盐之外的时刻,可以一石三鸟:</p>
<pre><code>为自己提供一个高创意的环境/心境,我相信心境也是环境要素之一
越实践「最小创造单位」,越能提高对自己的肯定,自信心大增
更多的创造,让自己拥有更多与别人分享的故事,经验,是提高自己社会价值的好方法
最后一点也是最重要的一点,能够让自己的生活有滋有味,心情开朗
</code></pre>
<p>最后一句话,让自己活得有意思,开开心心,我以为是对自己负责的最大体现,关于这一点,我坚信「最小创造单位」是最小基石。</p>
<p>注:豆瓣小组的正确名字是《「做具体的人」共进会》,之前凭印象名字写错了,但为了不影响原文的阅读,以备注的方式进行提醒。</p>
</div>
<div>
<a class="read-more button inline" href="/posts/minimum-creation-unit/">Read more</a>
</div>
</article>
<div class="pagination">
<div class="pagination__buttons">
<a href="/page/2/" class="button next">
<span class="button__text">Older posts</span>
<span class="button__icon">→</span>
</a>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="footer__inner">
<div class="copyright">
<span>© 2024 Powered by <a href="https://gohugo.io">Hugo</a></span>
<span>:: <a href="https://github.com/panr/hugo-theme-terminal" target="_blank">Theme</a> made by <a href="https://github.com/panr" target="_blank">panr</a></span>
</div>
</div>
</footer>
<script type="text/javascript" src="/bundle.min.js"></script>
</div>
</body>
</html>