macOS Mojave 下,Charles 捕捉不到 http://localhost
下的流量,需要使用 http://localhost.charlesproxy.com
形式的域名,并添加绑定 127.0.0.1 localhost.charlesproxy.com
。这是因为可能有些系统设置了 localhost 不通过代理。
properties 文件中,取值(键)时会做 trim 来去掉头尾的空白,如果是在需要在两端有空白,可以用 \u0020
来替代。
参考
包含块
一个元素的占用面积大小以及布局定位通常受到包含块(Containing Block)的影响,比如 top
和 left
取百分比时相对的长度是什么长度,width
和 height
取百分比时相对的长度是什么长度?
包含块一般情况下是当前元素的最近的祖先块元素1的内容区域,但具体还需要分情况来确定。
布局区域
浏览器渲染文档时,对于每一个元素,都会有一个布局盒子,该盒子又被划分为四个区域。
- 内容区域——Content Area
- 内边距区域——Padding Area
- 边框区域——Border Area
- 外边距区域——Margin Area
box-sizing 设为 border-box,会影响 width 和 height 的计算,但不影响布局区域的划分。
视窗百分比长度
视窗百分比长度是指相对于视窗1的尺寸,包含了 vw
、vh
、vmin
和 vmax
。
vw
:视窗宽度的 1%vh
:视窗高度的 1%vmin
:min(vw, vh)
vmax
:max(vh, vh)
其中,视窗一般是指浏览器文档渲染窗口,但对于 iframe 里的文档而言,它们的视窗是 iframe 元素的 内容区域(content area)
的大小。
参考资料
NBSP
,全称是 non-breaking space,除了表示空白,还含有告诉渲染引擎不要在此换行的意义。
可用于空间足够时和别的文本在同一行内展示,空间不够时,整串字符串(如 0800 3000 9974
这样的通过空白符来让电话号码等更易读的情况)不会在在空白符处换行,而是整串换行(需要把空白符替换为
)。当然,也可以通过设置这个串为不折行来解决:white-space: nowrap;
。
此为示例代码。
参考
React Context
Context 的目的是对于全局的需要多处使用的数据,不希望通过 prop 一层层传递下去,而是可以直接使用。
childContextTypes & getChildContext
该方案在 16.3 后不再是推荐方案。
React 最初提供的 context 方案是提供 context 数据的组件通过静态的 childContextType
来定义 context 中各字段的数据类型,通过 getChildContext
成员方法来提供实际的 context 数据,其中,返回的数据可以搭配 prop 和 state 来提供响应式的数据。而消费 context 数据的组件通过静态的 contextTypes
来指定需要消费的 context 字段的类型集合,然后即可通过 this.context[fieldName]
来使用。
注意,消费 context 的组件只需要定义需要的字段的类型即可,不需要是全部。同时,也不需要是提供 context 的组件的直接子组件。
import PropTypes from 'prop-types';
class Button extends React.Component {
static contextTypes = {
color: PropTypes.string
};
render() {
return (
<button style={{background: this.context.color}}>
{this.props.children}
</button>
);
}
}
class Message extends React.Component {
render() {
return (
<div>
{this.props.text} <Button>Delete</Button>
</div>
);
}
}
class MessageList extends React.Component {
static childContextTypes = {
color: PropTypes.string
};
getChildContext() {
return {color: "purple"};
}
render() {
const children = this.props.messages.map((message) =>
<Message text={message.text} />
);
return <div>{children}</div>;
}
}
青春猪头少年不会梦到兔女郎学姐
这部作品是 18 年比较喜欢的一部作品,故事情节以及表达方式上都是容易理解和接受的。渴望被关注、被爱、被认同、融入群体、有三五知己、开始需要直面社会背面的恶,由此而带来的属于青春的烦恼和情感。
由于是小说改编,也还不是完全改编——不知道是否是想留做第二季,所以 TV 版情节上有些不完整,比如比较关键的翔子的故事没能展示出来。但依然是一个好作品,相比之下,《我喜欢的妹妹但不是妹妹》的故事则完全没有吸引力。
海峡两岸
台湾问题,以前没关注过,最近才听到「九二共识」这个概念。
虽然有着各自的政治倾向,但个人浅薄的理解是,希望能在认同都是中华民族血脉的前提下谋求当下合作共存,展望未来的统一——大陆的收复台湾和台湾的反攻大陆。所以,终极目的是大一统。
这个终极目的,在蔡英文当局以及其所在的民进党以「台独」为目的的存在来说,这是不可能接受的。
查明 git 中文件被哪条规则 ignore
如果配置了复杂的项目以及全局 ignore 规则,那么在文件被意外 ignore 的时候很难马上查明被哪条规则 ignore 了,这个时候可以用 git check-ignore
来查明。
git check-ignore -v pathname...
$ git check-ignore node_modules
node_modules
$ git check-ignore node_modules -v
.gitignore:4:/node_modules node_modules
$ git check-ignore a.tmp
a.tmp
$ git check-ignore a.tmp -v
/Users/xx/.gitignore_global:14:*.tmp a.tmp
References
二十年前的法律就不适用了?
今年到今天为止看到的最讶异的话语是“怎么能拿二十年前的法律来判今天的人?”。
在我的认知中,只要法律还没修订、还没失效,那么不管多少年,那都是有效的。如果觉得不与时俱进,那么合理的做法是推动其修订或废弃,而不是自认为不是有效地就当其不存在。
当然,我其实是觉得那个案子震慑了那群公开无视黄赌毒相关法律的所谓的爱好者,怕顺藤摸瓜抓到自己,所以打着“法不责众”的小九九在睁眼说瞎话。
上述前提,自己还没详细去看庭审记录
计划了解一点的法律知识,至少了解日常生活中自己的权利和法律禁区。