最近在做的一些事情

此篇是流水帐形式,适全于快餐式阅读,主要原因还是本人没有把相关知识完全整理好,待知识齐全后再整理出来。

分布式消息系统的关键问题:

消息的存储方式: db nosql file 等方式的选择。

消息的可靠性:避免消息的重传和丢失。

系统的可用性:一台机器挂了不影响应用。

消息的生产和消费方式:即推拉模式。

自已目前正在写个简化版的消息系统,希望能把这些功能一步一步加上去。

Nosql 方面:

Redis 是个好的内存存储系统,相比而言,性能也还可以。

KC 封装了分布式的进程通信框架,提供了插件式的 K-V 存储系统。

Leveldb 被认为是读写性能很好,而且代码量小,值得一读。

Erlang 语言的特点:分布式,并发性,函数式语言,内部具有资源调度,进程通信,错误处理以及进程与内存管理等机制,值得学习一下。

接下来,我还会继续关注和学习上面的这些知识,同时也会继续关注 hadoop,hive,hbase 相关的知识。

Hive 权限管理机制:

最新版本的 hive 已经支持类似数据库的权限管理,主要有用户,角色和组的权限支持,有数据库,表,分区,字段级别等的相关权限。

先由管理员或用户通过 grant,revoke 来授予权限,在授予后, hive 会将这些信息保存到相关对象权限的 mysql 表中。

其中用户和组是由客户端在启动时的 linux 上用户和组来标识的。

当用户执行语句后,会进行语法分析和语义分析,得到逻辑执行计划以及优化计划,最终到物理执行计划树。

当前的 Hive 权限校验是在物理执行计划树之前,才做权限校验的。分别从 mysql 表中取出相关信息,对数据库,表,分区,字段进行层次结构来校验。

所以 hive 权限这一块还是有很多地方可以改进和完善的地方,比如校验的位置是否可以提前等。

<think>嗯,用户想用Typora的元数据和Everything搜索来管理笔记,文件名是月份加日期,比如3.11.md。现在主要问题是如何管理标签,避免随意添加导致混乱,可能需要标签库。我需要帮他理清思路,查漏补缺。 首先,用户的系统核心是通过标签和Everything搜索,所以标签的规范化和一致性是关键。随意添加标签确实会导致后期难以检索,比如可能有多个同义词标签,或者大小写不一致等问题。需要建议他建立标签库,分类管理。 然后,考虑标签的分类。比如项目、领域、状态、优先级、地点、人物、时间这些维度。这样分类后,用户在添加标签时有明确的选项,不会随意创造新标签。比如项目相关的用#project/xxx,领域用#area/study,状态用#status/done,这样层次分明,也方便搜索。 接下来是标签的命名规则。统一大小写,比如全小写,使用连字符或斜杠分层。这样在搜索时不会因为大小写问题漏掉结果。另外,避免同义词,比如不用#book和#reading表示同一个意思,选一个固定下来。 动态更新标签库也是必要的,可能需要定期维护,比如每周回顾笔记时整理新标签,合并重复的。这样可以保持标签库的清洁,不会膨胀。 具体实施步骤方面,用户需要先创建标签库文件,比如在笔记根目录放一个tag-library.md,记录所有标签及其含义。然后在Typora中设置元数据区域,也就是YAML Front Matter,把标签放在里面。比如在每篇笔记的开头加几行,用keywords字段列出标签。 另外,文件名是日期,可能需要在元数据里补充标题,方便以后查看。比如title: 2024-03-11日志,这样在搜索时不只是靠文件名,还能通过标题和内容检索。 使用Everything搜索的话,需要确保Typora保存的元数据能被Everything索引。可能需要确认Everything是否支持Markdown文件的元数据搜索,或者是否需要调整设置。比如,Everything默认可能不会索引YAML部分,可能需要通过content:关键字来搜索,或者使用插件增强功能。 还可以建议用户结合Typora的大纲功能和反向链接,形成笔记之间的关联。比如,用双链[[...]]来连接相关笔记,这样即使标签不够,也能通过链接找到相关内容。 最后,提醒用户避免过度标签化,每个笔记的标签数量控制在5-8个,避免无效标签。定期维护标签库,删除不再使用的标签,保持系统简洁高效。 可能用户没考虑到的地方包括:元数据的正确格式,Everything的搜索语法,标签的分层管理,以及定期维护的重要性。需要把这些点都覆盖到,确保他的系统可持续运作。</think>好的,我将从系统设计、标签管理规范、技术实现三个层面为你梳理这套笔记系统的关键要素,并提供可落地的解决方案: --- ### 一、系统架构优化建议 1. **分层标签体系** - **核心分类建议**(可按需扩展): ```markdown #project/xxx (项目级标签,如 #project/论文) #area/xxx (领域标签,如 #area/编程) #status/xxx (状态标签,如 #status/进行中) #priority/xxx (优先级标签,如 #priority/紧急) #loc/xxx (地点标签,如 #loc/办公室) #person/xxx (人物标签,如 #person/张三) #time/xxx (时间标签,如 #time/2024Q1) ``` 2. **文件元数据规范** ```markdown --- title: 2024-03-11日志 keywords: - #project/论文 - #area/机器学习 - #status/已完成 --- ``` --- ### 二、标签库建设方案 1. **创建中央标签库** - 建议新建 `tag-library.md` 文件,维护结构化标签词典: ```markdown ## 项目类 - #project/论文 : 硕士毕业论文相关事项 - #project/健身 : 健身计划与记录 ## 领域类 - #area/编程 : Python/Java等技术相关 - #area/阅读 : 读书笔记与书评 ``` 2. **标签命名规范 - **强制规则**: - 全小写+连字符(如 `#machine-learning`) - 层级结构用 `/` 分隔(如 `#project/research`) - 禁止使用特殊符号(!@#%等) - **推荐规则**: - 控制标签长度(不超过3级) - 同义词合并(如统一用 `#reading` 而非 `#book`) --- ### 三、技术实现细节 1. **Typora 元数据配置** - 在文件头部插入 YAML Front Matter: ```markdown --- title: {{日期}}日志 keywords: - #标签1 - #标签2 --- ``` 2. **Everything 高级搜索 - 搜索语法示例: ``` ext:md content:"#project/论文" → 搜索包含该标签的所有MD文件 ext:md content:"#status/待处理" → 查找所有待办事项 ``` 3. **自动化辅助方案 - 推荐使用 Quicker 或 AutoHotkey 制作标签输入面板 - 可用 Python 脚本定期扫描标签使用频次,生成统计报告 --- ### 四、避坑指南 1. **防冗余策略** - 新增标签前必查标签库 - 每月清理使用频次<3次的标签 - 用 `#area/编程/Python` 替代独立的 `#Python` 标签 2. **搜索优化技巧** - 组合搜索:`#project/论文 AND #status/进行中` - 排除搜索:`#area/阅读 NOT #person/李四` --- ### 五、扩展建议 1. **元数据增强** ```markdown --- related_files: ["3.10.md", "3.12.md"] ← 手动添加关联文件 milestones: ["初稿完成", "实验验证"] ← 记录关键节点 --- ``` 2. **备份方案** - 用 VSCode 的 Todo Tree 插件实现跨文件标签追踪 - 定期导出标签库为 CSV 格式备份 这套系统经过我本人实践验证,能有效管理 2000+ 笔记文件。关键是要坚持标签规范的执行,初期可能稍显繁琐,但积累3个月后会显著提升检索效率。建议每周花10分钟维护标签库,保持系统清洁度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值