Skip to content

Instantly share code, notes, and snippets.

@ThaddeusJiang
ThaddeusJiang / mac_apache2_guide.md
Last active November 22, 2017 01:57
使用 Mac 自带 Apache2 运行文件本地服务器

查看 MacOS 自带 Apache2 版本

$ apachectl -v

启动 Apache2 后,浏览器打开http://localhost ,显示It works!说明Apache已经启动。

$ apachectl start

Apache的默认根目录/Library/WebServer/Documents

@ThaddeusJiang
ThaddeusJiang / css_module.md
Last active August 6, 2018 06:30
CSS Modules 入门

为什么需要CSS模块化?

CSS 问题:

  1. 全局污染
  2. 命名混乱
  3. JS CSS 无法共享变量 复杂的组件有时需要使用 JS 和 CSS 共同处理样式
  4. 代码压缩不彻底 因为全局污染问题,超长 class 名,无法压缩到极限。
@ThaddeusJiang
ThaddeusJiang / testable_js.md
Created November 10, 2017 00:34
如何写出可测试的 JS 代码

不好的例子

const db = require('db').connect();
const mailer = require('mailer');

module.exports.saveUser = (event, context, callback) => {
  const user = {
    email: event.email,
    created_at: Date.now()
  }
@ThaddeusJiang
ThaddeusJiang / CI_info.md
Last active May 31, 2018 05:58
CI 做什么?怎么做?

What

CI(Continuous integration) 频繁的将代码集成到主干。

一般流程:提交、测试(单体)、构建、测试(第二轮,无法自动化的测试用例,需要人工测试)、部署。一旦当前版本发生问题,要回滚到上一个版本的构建结果。

集成到主干,这步应该是一个 PR。 部署(上传代码,重启应用)

我的要求

@ThaddeusJiang
ThaddeusJiang / mac_host.md
Last active June 8, 2018 05:24
设置 host

设置 hosts

编辑文件 /etc/hosts

格式 ip name

127.0.0.1 localhost
@ThaddeusJiang
ThaddeusJiang / bug_fix_issue_template.md
Last active May 31, 2018 06:01
bug fix 设计书
  1. 一句话说明 bug 内容
  2. bug 现象(截图)
  3. bug 原因
  4. fix 方法
  5. fix 具体修改(commit link) GitHub 自动关联 issue 和 commit
  6. 集成测试影响范围
  7. 集成测试用例
@ThaddeusJiang
ThaddeusJiang / modify_mac_terminal_prefix.md
Last active April 1, 2019 08:39
修改 Mac Terminal 前缀

修改 Mac 终端, 隐藏主机名和用户名

让你的 Terminal 变得干净,简洁。

vim ~/.bash_profile

export PS1="\W \$ "
@ThaddeusJiang
ThaddeusJiang / getUrlParam
Created November 20, 2017 02:59
获取URL的参数
```js
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return decodeURI(r[2]); return null; //返回参数值
}
```
@ThaddeusJiang
ThaddeusJiang / getParam
Created November 21, 2017 06:06
获取唯一参数,参数可以包含特殊字符和 &
```js
function getParam(name) {
var reg = new RegExp("(^)" + name + '=([\\s\\S]*)($)');
var r = window.location.search.substr(1).match(reg);
return r != null ? r[2] : null;
}
```
@ThaddeusJiang
ThaddeusJiang / reg.md
Created November 21, 2017 07:23
使用正则表达式取出字符串中特定部分。

()表示子表达式,子表达式可以获取供以后使用。

function getParam(value) {
  var reg = new RegExp('^name=([\\s\\S]*)$');
  var result = value.match(reg);
  return result != null ? result[1] : null;
}

console.log(getParam('name=jifa'));