Day 1
和 @pan🍳 讨论「如何从零开始实现一个自己的日志系统?」。
✅ TODO
- ☑️ D1.1. 用
.txt
记录日志; - ☑️ D1.2. 汇总
.txt
; - ☑️ D1.3. 导入到服务器中,并响应;
📝 过程记录
D1.1. 其实是在考察「对规范 / 约定的理解」:
- 记录形式:是用文本,还是 Excel ?
- 记录粒度:是通通放在一个文件中,还是每天一个?
D1.2. 是在引入「解析」的概念;
db = []
Dir.each_child("./") do |f|
next unless /\.md$/ =~ f
db << File.read(f)
end
pp db
用 Python 实现也很简单:
import os
md_files = [name for name in os.listdir('./')
if name.endswith('.md')]
db = []
for fname in md_files:
with open(fname, 'rt') as f:
db.append(f.read())
print("\n".join(db))
D1.3. 可以直接引入「Web 框架」[1]。同时,介绍「路由🚏」的概念。这里用的是 Sinatra
(GitHub)。
require "sinatra"
get '/foo' do
db.join("<br />")
end
Python 实现也不难:
# save this as app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "<br />".join(db)
装好 Flask 以后( pip install -U Flask
),运行 flask run
,然后打开 localhost:5000
就可以看到了。
现在,借助浏览器的 ⌘ + F
已经可以实现日志搜索🔍了。
📄 课后习题:
- ☑️ D1.4. 了解 MarkDown ;
- ☑️ D1.5. 了解怎么在网页中嵌入输出;
⚠️ 在一开始就应该建立的理念:
- 凡事皆记录的习惯,包括学习的过程(这样可以在一开始对日志记录的必要性没有认识的情况下冷启动。当然,日后也会收获数据迁移的痛苦🤣)。同时,还可以从日志中抽取文档。
-
主要是我忘了怎么用原生库实现了😓; ↩
网友评论