2017-06-18 12:34:02

tips 各种小记录

hide win

go build -ldflags "-H windowsgui"

###

go build -ldflags "-s -w" 

-s 去掉符号表,然后 panic 的时候 stack trace 就没有任何文件名/行号信息了。 -w 去掉 DWARF 调试信息,得到的程序就不能用 gdb调试。

查看汇编

go tool compile -S main.go

static file

http.Handle("/", http.FileServer(http.Dir(".")))

http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static/"))))

echo mod

module test

require (
    github.com/labstack/echo v3.3.7+incompatible
    github.com/mattn/go-isatty v0.0.4 // indirect
    github.com/valyala/bytebufferpool v1.0.0 // indirect
)

replace (
    golang.org/x/crypto v0.0.0-20180312195533-182114d58262 => github.com/golang/crypto v0.0.0-20181030102418-4d3f4d9ffa16
    golang.org/x/sys v0.0.0-20180312081825-c28acc882ebc => github.com/golang/sys v0.0.0-20181031143558-9b800f95dbbc
)

cookie

    http.HandleFunc("/one", func(w http.ResponseWriter, r *http.Request) {
        cookie := &http.Cookie{Name: "cookie", Value: "zxysilent", Path: "/", HttpOnly: true}
        http.SetCookie(w, cookie)
    })
    http.HandleFunc("/two", func(w http.ResponseWriter, r *http.Request) {
        cookie, _ := r.Cookie("cookie")
        w.Write([]byte(cookie.String()))
    })

跨域

w.Header().Set(`Access-Control-Allow-Origin`, `*`)

中间件

http.Handle(`/`, mid(http.HandlerFunc(fn)))
func mid(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        //中间件的逻辑
        w.Header().Set("Content-Type", "application/json")
        w.Header().Set(`Access-Control-Allow-Origin`, `*`)
        next.ServeHTTP(w, r)
    })
}

npm

prefix = D:\Program Files\nodejs\node_global
cache = D:\Program Files\nodejs\node_cache

cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org
// --history-api-fallback 解决本地开发 vue-router-history模式 404 错误
"scripts": {
    "dev": "webpack-dev-server --content-base ./ --open --inline --hot  --port=82 --history-api-fallback --compress --config build/webpack.dev.config.js",
    "build": "webpack --progress --hide-modules --config build/webpack.prod.config.js"
  },

install git

sudo apt-get install git git-core git-doc

node

npm install --registry=https://registry.npm.taobao.org

prod

npm run webpack.build.production

dev

npm run webpack

thinkjs

前执行 npm run compile命令,将 src/ 目录编译到 app/ 目录,然后将 app/ 目录下的文件上线

ssh

// 不加入邮箱 自定义git 服务部署会失败
ssh-keygen -t rsa -C "zxysilent@foxmail.com"

mysql

uid:pass@tcp(host:port)/dbname?charset=utf8&parseTime=true

jquery

  1. $('#id').siblings() 当前元素所有的兄弟节点
  2. $('#id').prev()当前元素前一个兄弟节点
  3. $('#id').prevaAll()当前元素之前所有的兄弟节点
  4. $('#id').next()当前元素之后第一个兄弟节点
  5. $('#id').nextAll() 当前元素之后所有的兄弟节点\

caddy

-service install -name caddy -agree -log "E:\Caddy\logs\caddy.log" -conf "E:\Caddy\conf" -email "zxysilent@foxmail.com"

mysql

update 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') where 设定条件;

npm

npm cache clean --force

vue

render

{
  // 和`v-bind:class`一样的 API
  'class': {
    foo: true,
    bar: false
  },
  // 和`v-bind:style`一样的 API
  style: {
    color: 'red',
    fontSize: '14px'
  },
  // 正常的 HTML 特性
  attrs: {
    id: 'foo'
  },
  // 组件 props
  props: {
    myProp: 'bar'
  },
  // DOM 属性
  domProps: {
    innerHTML: 'baz'
  },
  // 事件监听器基于 `on`
  // 所以不再支持如 `v-on:keyup.enter` 修饰器
  // 需要手动匹配 keyCode。
  on: {
    click: this.clickHandler
  },
  // 仅对于组件,用于监听原生事件,而不是组件内部使用 `vm.$emit` 触发的事件。
  nativeOn: {
    click: this.nativeClickHandler
  },
  // 自定义指令。注意事项:不能对绑定的旧值设值
  // Vue 会为您持续追踪
  directives: [
    {
      name: 'my-custom-directive',
      value: '2',
      expression: '1 + 1',
      arg: 'foo',
      modifiers: {
        bar: true
      }
    }
  ],
  // Scoped slots in the form of
  // { name: props => VNode | Array<VNode> }
  scopedSlots: {
    default: props => createElement('span', props.text)
  },
  // 如果组件是其他组件的子组件,需为插槽指定名称
  slot: 'name-of-slot',
  // 其他特殊顶层属性
  key: 'myKey',
  ref: 'myRef'
}

本文链接:https://www.paishouba.com/post/tips.html

-- EOF --

Comments