美文网首页
教 @pan🍳 从零开始做信息 OS

教 @pan🍳 从零开始做信息 OS

作者: Pope怯懦懦地 | 来源:发表于2022-07-16 15:35 被阅读0次

    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. 主要是我忘了怎么用原生库实现了😓;

    相关文章

      网友评论

          本文标题:教 @pan🍳 从零开始做信息 OS

          本文链接:https://www.haomeiwen.com/subject/luihirtx.html