Jiyin Yiyong avatar Jiyin Yiyong committed 997cb4c

about require at front-end

Comments (0)

Files changed (3)

posts/linux/vim/autocomplete-and-save.md

 set shiftwidth=2
 set expandtab
 ```
+
+接着, 自动补全也加上吧, 虽然我觉得不会怎么好的
+```vimscript
+imap " <C-V>"<C-V>"<Left>
+imap { <C-V>{<C-V>}<Left>
+imap ( <C-V>(<C-V>)<Left>
+imap [ <C-V>[<C-V>]<Left>
+```
+http://stackoverflow.com/questions/4904898/vim-auto-complete-with-cursor-adjustment

posts/thought/history/read-von-meumann.md

+
+## 一份关于 John Von Neumann 的 PDF
+
+几个细节我觉得比较有意义记录一下
+
+当初记得 emerge 说原本计算机是并行的, 因为冯诺伊曼而变成了串行
+书里提到相关的东西, 真的是并行的:
+
+> 为了获得更高的计算速度,所有 10(或者 20)位
+的十进制数字需要并行地处理;并且得建立大量的计算单元,每一个都需要一些局部编程,
+这样才能让总的主控程序单元协调很多计算来同时进行。在 ENIAC 中有 30 个基本单元:20
+个加速器(每一个都可以完成 10 个数字的加法和存储运算),1 个乘法器,1 个除法器以及
+1 个平方根运算器,3 个函数表单元,一个输入单元,一个输出单元,一个主控编程器,以
+及 2 个控制单元。所有这些单元都可以同时运行。
+
+不过后来改传串行的原因, 一方面是计算模型的改变,
+还有技术方面的问题, 而不是因为一个人而偏离了并行的方向:
+
+> 在 ENIAC 中,同步和异步两种工作方式并存。现在,
+利用水银延迟线储存脉冲信息,我们可以建造一种完全同步的,由我们称之为“时钟”的中
+央脉冲源控制所有电路的机器。Eckert 和 Mauchly 设计了一种电路,他们充分地考虑了水银
+延迟线机器的设计,可以以 1 兆的主频速度(相当于 ENIAC 的 10 倍)工作。最终,他们使
+用了二进制系统。由于延迟线是串行操作的,最简单地处理这些顺序到来的数据的方法就是
+串行。
+
+关于计算机的模拟, 他的比喻很有意思:
+
+> 大致说来,模拟计算就是当你对一个物理过程感兴趣的时候,正好有另外一个比较简单
+的过程被同样的数学方程所支配,你就可以研究那个比较简单的过程,也就是用物理方式来
+模拟物理过程。当然,两者只是相似,而并非完全相同,否则就没有必要作计算了。
+
+> 最简单的模拟计算仅仅是对于比例尺的改变,在一些问题上可以这样做;稍微复杂的模
+拟则不仅仅改变比例,还要调节其他的参数。举例来说,在风洞实验中间,我们用按比例缩
+小的模型来做模拟,但是缩小的不仅仅是零件的长度,还需要对音速也做出修改,降低音速
+的唯一办法就是降低温度。那么,就必须确定我们研究的现象同温度无关,这样的话,通过
+在低温下进行模拟,就可以用很小的零件达到常温下的大型零件的同样实验结果。风洞也就
+成了一台“模拟计算机”。这样说也许有些不恰当,因为风洞不仅仅可以用来做模拟计算,
+但是在一大半的情况下,风洞的确就是被当作一台模拟计算机使用的。
+
+当时内存是制约计算能力的极大的瓶颈
+
+提到"McCulloch & Pitts 的神经网络", 当时神经网络的研究已经开始了
+但达到的只是模拟电路的功能, 人工智能直到今天也没法完成
+
+里边提到程序的自我复制, 我看不懂, 但是后面又看到写自身代码的程序了
+也许所谓复制就是写一遍自己的代码, 那按我的理解代码又是关键了
+当从外部时节读取数据时, 要分解成规则的数据, 然后数据才能成为程序

posts/web/modular/impressions-about-problem.md

+
+## 关于图形编程的模块化的印象
+
+DOM 以外的平台我尝试去看但学不进去
+主要的考虑是操作要足够灵活, 而只有 DOM 结构目前是最灵活的
+"灵活"我理解是尽量能快得完成日常频繁做的所有事情
+我接触到的小项目人都是编程的瓶颈, 因此改变代码适应人的思维
+对于编程我经验太少, 且执念太深, 所以其中夹杂很多抱怨
+
+看@邓侃 的博客里说到浏览器更应该是制定而不是语言
+看现状, 浏览器是源于文档浏览器, 浏览器的开发出于商业目的
+而不是有人设计了未来的 Web, 于是对应发明了浏览器
+前端编程也不是为了编程的便利和高效, 只是后来希望能做到
+
+现在前端代码的模块化雨后春笋般出现了各种方案
+国内的大公司间接了解是各自一套, 国外当然更多
+主要的 AMD CMD 方案, 还有 Component 这样编译代码的方案
+一个 Web, 我们当做是一个巨大的文件系统, 代码任意调用
+但问题是, 顺序加载代码速度不会快, 对代码逻辑也是障碍
+在浏览器本身不成熟的时候, 就需要额外的代码来解决这个问题
+
+关于代码, 我的想法是用阻塞的 `require` 函数加本地缓存
+模块发布到源仓库, 然后浏览器根据使用频率同步常用模块
+Google 发布的前端模块管理工具是 Yeoman, 兼容多种方案
+推测是 Chrome 团队的声音了, 或者以后应该看 Dart 才对
+通过浏览器缓存模块的版本需要考虑, `require` 同时是必须的
+
+跳出这个问题, 如果浏览器能重来, 我希望不要有官方语言
+浏览器更应该像是 X11, 提供协议, 而不是提供实现
+客户端操作的语言应该允许改变, 就像桌面应用程序的编写
+我感兴趣的是 Wayland 广泛应用后能否有替代 DOM 的技术
+建立在通用数据格式基础上的 Web, 比建立在 JSON HTML 上好得多
+
+下午看了一个前端 `require` 的实现, 打算自己尝试看看
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.