微醺岁月

Results 44 issues of 微醺岁月

1. [如何看待node.js中使用typescript的趋势?](https://www.zhihu.com/question/328675949/answer/722324545)

### 受控组件和非受控组件 ### 纯函数组件和状态组件 ### 展示组件和容器组件 展示组件(Presentational Component)与容器组件(Container Component)。所有的React组件都可以被被分为这两种组件,顾名思义,前者专注于界面的展示,而后者为前者提供容器。下面将借助这些特点来帮助我们更明确地区分这两个概念。 **展示组件** * 关心应用的外观。 * 可能会包含展示组件或容器组件,除此之外常常还会包含属于组件自身的DOM节点与样式信息。 * 常常允许通过this.props.children 实现嵌套。 * 对应用的其余部分( 如Flux action及store)没有依赖。 * 不会指定数据如何加载或改变。 * 只通过props获取数据与行为(回调函数)。 * 极少会包含自身的状态(state),如果有,一定是界面状态而非数据。 * 一般都写成函数式组件( functional...

## 1. 版本号的命名 ### SemVer 根据国际主流的惯例,我们使用「语义化版本([Semantic Versioning](http://semver.org/))」的命名方式,有时简称 SemVer。 语义化版本号(以下简称「版本号」)的格式是:`..`。即使用三位非负整数,以点号 `.` 连接。 如:`1.4.15`、`6.2.0`。 ### 每一位版本号的含义 1. `` 即主版本号,俗称大版本升级。改动到主版本号时,标志着 API 发生了巨大变化,包括但不限于新增特性、修改机制、删除功能, **一般不兼容上一个主版本号**。 2. `` 即次版本号,俗称小版本升级。当我们进行常规的新增或修改功能时,改动次版本号,但是 **必须是向前兼容的**。这也意味着我们 **不能直接删除某个功能**。如若必要,我们可以在 [changelog](http://guide.taobao.net/6.changelog.php) 中标记某项功能为「即将删除(Deprecated)」,然后在下一个大版本中将其彻底删除。 3. `` 即修订号,俗称...

### Mac命令行 首先本文要介绍的工具基本都是原来工具的增强版,也就是说原来工具有的,增强版也都有。因为习惯很难改变,所以完全可以用 alias 替换掉。但是如果某些情况下想用原版的程序的话,可以使用下面的命令: >\cat \# ignore aliases named "cat" - [explanation]( https://stackoverflow.com/a/16506263/22617) >command cat \# ignore functions and aliases * **exa:** >替代 **ls** 的现代文件列表工具,下载地址:[网页链接](https://the.exa.website/) 搭配 alias ls="exa"更方便 *...

#### 1. 引入 React ```tsx import * as React from 'react'; import * as ReactDOM from 'react-dom'; ``` 在 [TypeScript 2.7+ ](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html)中,你可以将 Typescript 配置 `--allowSyntheticDefaultImports` (或者在 tsconfig 中添加 `"allowSyntheticDefaultImports": true` ...

#### create-react-app 跨域问题 使用 **create-react-app** 时候,把 cdn 静态资源代理到本地时候,就会出现 Access to script at 'http://localhost:3000/app.js' (redirected from 'http://g-assets.daily.taobao.net/app.js') from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present...

### React 实现 * [React 16.0 源码分析](https://link.juejin.im?target=http%3A%2F%2Fzxc0328.github.io%2F2017%2F09%2F28%2Freact-16-source%2F) * [完全理解 React Fiber](https://link.juejin.im?target=http%3A%2F%2Fwww.ayqy.net%2Fblog%2Fdive-into-react-fiber%2F) * [React DOM Diff 算法](https://link.juejin.im?target=https%3A%2F%2Freactjs.org%2Fdocs%2Freconciliation.html%23the-diffing-algorithm) * [React 如何区分 Class 和 Function](https://link.juejin.im?target=https%3A%2F%2Foverreacted.io%2Fhow-does-react-tell-a-class-from-a-function%2F) * [react-redux 的实现沿革](https://link.juejin.im?target=https%3A%2F%2Fblog.isquaredsoftware.com%2F2018%2F11%2Freact-redux-history-implementation%2F) ### React 相关接口设计 * [React...

[vim-awesome-plugins](https://vimawesome.com/)

## [作为程序员的你,常用的工具软件有哪些?](https://www.zhihu.com/question/22867411) 1. [ PegasusWang的回答 - 知乎](https://www.zhihu.com/question/22867411/answer/463974547)

# 别名 ## 场景1 当我同时并行好几个前端项目时候,有时候 3000 端口经常被占用,但是我不想去找到那个项目去关闭此时的 3000 端口,有时候我代理的静态资源的端口就是 3000,所以我也不想更换成 3001 启动,这样频繁改动很麻烦。 ### 解决方案 **1. 第一个想到的就是使用命令行,查出占用此端口的进程,然后 kill 掉。** * 查看端口 > 终端输入:`lsof -i tcp:port` 将 `port` 换成被占用的端口(如:8086、9998) 将会出现占用端口的进程信息 * kill...