教 @pan🍳 從零開始做信息 OS Day 1

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. 瞭解怎麼在網頁中嵌入輸出;

⚠️ 在一開始就應該建立的理念:

  • 凡事皆記錄的習慣,包括學習的過程(這樣可以在一開始對日誌記錄的必要性沒有認識的情況下冷啓動。當然,日後也會收穫數據遷移的痛苦🤣)。同時,還可以從日誌中抽取文檔。

  1. 主要是我忘了怎麼用原生庫實現了😓;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章