Live Note

Remain optimistic

Factory

缺点:对象无法区分,所有的实例指向一个原型

1
2
3
4
5
6
7
8
9
10
11
12
13
function Person(name) {
let o = new Object()
o.name = name
o.getName = function () {
return this.name
}

return o
}

let person = new Person("Edward")
console.log(person instanceof Person) // false
console.log(person instanceof Object) // true
Read more »

同源策略

  • 同源策略(MDN 解释):限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。
  • 源:协议、域名、端口。
  • 限制:无法获取 Cookie 、 LocalStorage 和 IndexDB ,无法操作 dom ,不能发送 Ajax 。
Read more »

Functional Programming

经过这几天的了解,越觉得 FP 十分有趣
给个例子:

1
2
3
4
5
6
7
8
// a simple function
function add(a, b) {
return a + b
}
/// the same as
let add = function (a, b) {
return a + b
}

在 ES6 中,存在着箭头函数。所以上面的函数可以写成这个形式:

1
let add = (a, b) => a + b
Read more »

.gitignore 文件的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Numerous always-ignore extensions

_.bak
_.patch
_.diff
_.err

# temp file for git conflict merging

_.orig
_.log
_.rej
_.swo
_.swp
_.zip
_.vi
_~
_.sass-cache
_.tmp.html
\*.dump

# OS or Editor folders

.DS*Store
.*_
.cache
.project
.settings
.tmproj
_.esproj
_.sublime-project
_.sublime-workspace
nbproject
thumbs.db
\*.iml

# Folders to ignore

.hg
.svn
.CVS
.idea
node_modules/
jscoverage_lib/
bower_components/
dist/

区块链是什么?

区块链是一种分布式的、数字化的、不可篡改的账本,用于以安全透明的方式记录交易和存储数据。它基于一个去中心化的节点网络,这些节点共同维护一个唯一的真实来源,使参与者能够在无需中介的情况下与系统进行交互。

区块是一个数据容器结构,用于聚合交易并将其包含在公共账本中,即区块链。链中的每个区块包含一组已通过共识过程由节点网络验证和记录的交易。一旦区块被添加到链中,它就不能被更改或删除,从而创建了一个网络上所有交易的不可篡改的记录。

区块链因匿名人士(或团体)中本聪(Satoshi Nakamoto)在 2009 年发布比特币网络时而普及。比特币是一种加密货币网络,主要处理 BTC 资产在网络上的转移,无需可信中介或权威,同时确保网络本身的安全且不可被黑客攻击。(附注:比特币网络也可能是世界上最大的漏洞赏金项目——如果你能破解它,你将立即成为万亿富翁)。

随着时间的推移,比特币的设计激发了其他更强大的区块链网络的出现,例如以太坊(Ethereum)。

Read more »