###一些自己的心得记录,不论对错都记录


##对钩子的误解 以为钩子越多越复杂,诸如阅读pelican文档时

其实一旦你知道架构/原理,1个钩子和10个钩子没有区别,越多反而越方便

需要时查阅文档就行,而不是一来就阅读所有钩子文档。

看文档重在看原理/结构。琐事的东西忽视它,需要时再来查询

如何让钩子不污染命名空间,通过架构时设计实现,平时不要把他们暴露出来,把它们集中丢到某个命名空间里。需要时才去引用


##消除对mongo的恐惧 对mongo的恐惧来自于认为一种误解,认为文档(基本的存储单位,类似json对象)是随意丢进数据库的

实际上逻辑上mongo的数据依然是树状结构,可以类比关系数据库,mongo/db/collection/document,对应于DB/databsse/table/field/,认识到结构清晰,那么就知道如何操作了,恐惧感消失


##用好一门语言 的确有许多东西是语言无关的,而且这些东西往往也比语言本身重要得多。

但这不代表你可以不深入一门语言

良好的策略是两者兼修,而不是放弃一个

语言往往是载体,你最终的表达要落实到具体某门语言上,虽然用其他语言也是没问题的,但尽量有一门你擅长的。能用它自如地表达你的想法。

能做到表达的时候,不会被语法细节之类的琐事打断

我用中文和和英文当然都能写东西,但是表达起来的舒适感是不同的,你写着很难受,频繁被语法等琐事打断,很可能导致你没心情写下去。


##关于算法 算法是一种思想(解决方案)的表现形式

机器本身只能进行纯粹的运算,她不理解背后的意义。算法使计算拥有意义,可以用来解决特定问题

##关于存储 存储的物理本质是保持某种状态


##算法意义 算法进行动作,最终数据到达某种状态

如果将现实状态映射到数据状态,那么现实问题就可以通过算法解决,可运算。

映射通过函数实现

这是个极好的框架


##关于规范 当数据结构稳定下来的时候,面对变化需求,还可以考虑采用约定(规范)来解决问题