NOTE
网瘾周记源于我一个想法:把每周在电脑上看到的好玩的记录下来。内容主要集中在健康知识、计算机、设计、音乐和 Framer JS。
本版为 β 版,版本号 V0.1:优化排版,提升阅读体验。
健康知识
绝大部分过敏都是外部过敏原导致的,尽可能记录下过敏前一小时内接触的所有东西,一一排查找到过敏原。若对某种食物过敏,身体会很快做出反应,一般不超过半小时。过敏不严重时,尽量使用外用激素,谨慎使用内服激素药物,因为长期乱服用会造成耐药性,导致无药可治。严重时可内服「第二代抗组胺药」,以避免一代老药带来的嗜睡副作用。绝大多数的抗过敏药在哺乳期使用是安全的,比如氯雷他定。
咳嗽本身不是一种病,而是很多种病都会表现出的一种症状。因此止咳嗽不能靠止咳药,需要治疗引起咳嗽的疾病本身。若是细菌感染引起的咳嗽,需要使用抗生素;若是过敏引起的咳嗽,需要使用抗过敏药物;若是病毒性感冒引起的咳嗽,无法用药物消除病因,得耐心等待身体形成对抗病毒的免疫力。
@和睦家药师冀连梅
计算机
URI 是用于标识互联网资源名称的字符串,它包含 URL 和 URN。URL 标识一个互联网资源,并指定对其进行操作或取得该资源的方法;URN 则是 URI 的历史名称,用于定义资源的身份。通过 HTTP / HTTPS 协议请求的资源由 URI 标识。
URI: Uniform Resource Identifiers(统一资源标识符)
URL: Uniform / Universal Resource Locator(统一资源定位符)
URN: Uniform Resource Name(统一资源名称)
HTTP Status Code 是用来表示服务器响应状态的 3 位数字码,所有状态码的第一个数字代表了响应的五种状态之一:
- 1XX 请求已被接受
- 2XX 请求成功
- 3XX 重定向
- 4XX 客户端错误
- 5XX 服务器错误
HTTPS 比 HTTP 安全是因为前者在后者基础上多了一层 TLS / SSL,配合公开密钥加密[1]的方法和 CA 认证的数字证书[2]可以有效防止窃听 / 中间人的攻击[3]。
SSH 是另一种常与 TLS / SSL 混淆的安全协议。两者都建立在 OSI 模型中的应用层之上,差别在于 SSH 常用于 FTP / Telnet 等,TLS / SSL 常用于 HTTPS,两者都有各自的长短板。简而言之,这是两个服务于不同场景的安全协议。
HTTP: Hypertext Transfer Protocol(超文本传输协议)
HTTPS: Hypertext Transfer Protocol Secure(超文本传输安全协议)
TLS / SSL: Transport Layer Security / Secure Sockets Layer(传输层安全协议 / 安全套接层)
CA: Certificate Authority(数字证书认证中心)
SSH: Secure Shell
Parameter 和 Argument 之间的关系维基百科说的非常定义性,有些晦涩:
In computer programming, a parameter is a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine. These pieces of data are called arguments.
The terms parameter and argument are sometimes used interchangeably, and the context is used to distinguish the meaning. The term parameter (sometimes called formal parameter) is often used to refer to the variable as found in the function definition, while argument (sometimes called actual parameter) refers to the actual input passed.
Parameter - Wikipedia
在中文语境下,当我们定义一个函数(Function)时,定义的参数即 Parameter;但当我们实际调用函数时,提供给函数使用的参数(也就是传入 Parameter 的值)就是 Argument。所以,Parameter 往往被称为「形参」,而 Argument 常被称为「实参」。微软说得好:
You can think of the parameter as a parking space and the argument as an automobile.
Differences Between Parameters and Arguments - Microsoft
DNS 是将域名和 IP 地址相互「映射」的分布式数据库,简单来说:人们记忆域名,计算机识别背后的 IP 地址,DNS 就是把两者对应起来的桥梁。A 记录和 CNAME 记录是 DNS 最常见的资源记录类型。A 记录让域名(主机名)和 IP 地址相互映射,CNAME 记录则是将多个域名指向 A 记录,达到跳转的目的。这两种记录类型都可以有多个。
域名解析的步骤:
以查询 zh.wikipedia.org 为例:
客户端发送查询报文 "query zh.wikipedia.org" 至 DNS 服务器,DNS 服务器首先检查自身缓存,如果存在记录则直接返回结果。
如果记录老化或不存在,则:
- DNS 服务器向根域名服务器发送查询报文 "query zh.wikipedia.org",根域名服务器返回 .org 域的权威域名服务器地址,这一级首先会返回的是顶级域名的权威域名服务器。
- DNS 服务器向 .org 域的权威域名服务器发送查询报文 "query zh.wikipedia.org",得到 .wikipedia.org 域的权威域名服务器地址。
- DNS 服务器向 .wikipedia.org 域的权威域名服务器发送查询报文 "query zh.wikipedia.org",得到主机 zh 的 A 记录,存入自身缓存并返回给客户端。
DNS 污染是指一些有意无意制造出來的封包污染 DNS 服务器缓存,将域名指向错误的 IP 地址。DNS 污染发生在第一步用户请求上,直接从协议上对用户的 DNS 请求进行干扰。
DNS 劫持则是通过劫持 DNS 服务器取得域名的解析记录控制权,将域名指向修改后的 IP 地址。DNS 劫持发生在第二步返回查询结果上。推荐阅读:《扫盲 DNS 原理》。
DNS:Domain Name System(域名系统)
A 记录:Address record
CNAME 记录:Canonical Name record
DNS 污染:DNS cache pollution
映射:指两个元素的集之间元素相互对应的关系
Framer JS
Framer 官方文档中关于 Events
返回参数的描述:
When an event is called, the first argument is the event information. Depending on the event, this can contain mouse positions, mouse deltas etc. The second argument is always the layer that the event occurred to.
Events - Framer Docs
之后我在 twitter 上向创始人之一 Benjamin den Boer 请教了一下:
我:
So this means “offset” is one of the “event information” that return back? @koenbok @benjaminnathan @framerjs
Benjamin den Boer:
Yes, so in case of the Move event, it contains three arguments: (offset, draggable, layer). Offset = (x, y).
确认后得知 Events
返回的参数中至少包含以下三个:
- offset:事件对象较原先位置的偏移值,包含 x,y 两个值
- draggable:事件对象是否可拖动
- layer:事件对象