loading

自分用備忘録(メモ)

Linux
  • シンボリックリンク
    ln -s 元 先
    確かWindowsだと逆だったと思う
  • port使用中pid検索
    lsof -i
  • 定期的なcron
    #5分おきに実行する
    */5 * * * * コマンド
  • findのPermission denied削除
    find / -name hoge 2>/dev/null
  • curlでPOST
    単にPOSTメソッドに投げたいだけなら「curl -X POST http......」
    パラメータは「curl -F hoge=hoge http.......」
    ファイルは「curl -F my_photo=@path_to_my_file http.......」
    パラメータが複数ある場合は「curl -F hoge1=hoge1 -F hoge2=hoge2 http.......」
  • シェルで気をつけること
    変数に入れる時は「=」の前後にスペースを入れない
    × hoge = "hoge"
    ◯ hoge="hoge"
    逆に「if」はスペースを入れる
    × if [$status -eq 200]; then
    ◯ if [ $status -eq 200 ]; then
  • mkdirオプション
    一気にディレクトリを作る場合は「-p」
  • lsで秒表示
    ls -l --time-style=+'%Y/%m/%d %H:%M:%S'
MySQL
  • 実行計画取得
    EXPLAIN SELECT.....
  • 容量確認
    スキーマ全体
    select round(sum(data_length)/1024/1024) as 'data_volume(MB)' from information_schema.tables where table_schema = 'my_schema';

    テーブルごと
    select table_name, round(data_length/1024/1024, 2) as 'data_size(MB)', round(index_length/1024/1024, 2) as 'index_size(MB)' from information_schema.tables where table_schema='my_schema';
Markdown
  • リンク
    [text](url)
  • 画像
    ![代替テキスト](画像のURL "画像タイトル")
PHP
  • brew環境構築
    brew tap homebrew/versions
    brew tap homebrew/dupes
    brew tap homebrew/php
    brew install homebrew/php/php56
    brew install homebrew/php/composer
Heroku
  • アカウント切り替え
    heroku accounts:set [アカウント名]
  • アカウント追加
    heroku accounts:add [アカウント名]
  • 登録されるURL
    https://git.heroku.com/[APP-NAME].git
  • 複数アカウントツール
    heroku plugins:install heroku-accounts
  • CLIインストール
    brew install heroku
  • エラー対応
    Failed to detect app matching no buildpack
    heroku buildpacks:clear
Elixir
  • Phoenix起動
    対象のディレクトリに移動してから「mix phoenix.server」
Ruby
  • インストール
    bundle install --path vendor/bundle
  • Rackの起動
    bundle exec rackup config.ru
  • 新しいRubyのインストール
    brew update
    brew upgrade ruby-build
    rbenv install -l
    rbenv install 2.4.0
    (エラーが出たらxcode-select --installとか)
    rbenv global 2.4.0
  • Bundlerのインストール
    gem install bundler
  • unicorn起動
    bundle exec unicorn -c unicorn.conf -D
git
  • リベース
    git rebase -i HEAD~4
    まとめる時は「pick」を「squash」に変更
    事前にリモートブランチを消すとキレイになるけど、コミット用と分けるのが望ましい。
  • コミットメッセージ編集
    git commit --amend
  • Gitユーザを切り替える方法
    git config --global --list
    git config --global user.name XXXXX
    git config --global user.email xxxx@xxxx.xxx
  • .gitignoreにファイル追加
    git rm -r --cached 対象ファイル
  • コミット自体を無しにする
    git reset (必要があれば--soft --hard) ブランチ(HEADとか)
Shell
  • 自分のディレクトリに移動
    cd `dirname $0`
Docker
  • イメージ作成
    sudo docker build -t リポジトリ:タグ .
  • 起動
    sudo docker run -i -t -d --name 起動名 -p 8009:8009 -v ホストOSdir:コンテナdir イメージID
  • 状態確認
    sudo docker ps (-a -q)
  • 削除
    sudo docker rm(i)
  • attach以外の接続方法
    docker exec -it <コンテナID> /bin/bash
  • 抜ける
    「Ctrl+p」「Ctrl+q」
  • VOLUMEと-vの違い
    VOLUMEはコンテナ間での共有するディレクトリ
    だからマウント先がない
    -vはホストOSとの共有ディレクトリ
    だからマウント先がある
Java
  • ランダム整数作成
    (int) (Math.random() * 作成したい数字)
  • メール正規表現(簡易)
    ^[a-zA-Z0-9!#$%&'_`/=~\\*\\+\\-\\?\\^\\{\\|\\}]+(\\.[a-zA-Z0-9!#$%&'_`/=~\\*\\+\\-\\?\\^\\{\\|\\}]+)*+(.*)@[a-zA-Z0-9][a-zA-Z0-9\\-]*(\\.[a-zA-Z0-9\\-]+)+$
  • URL正規表現(簡易)
    ^[a-zA-Z0-9-\\._~\\!\\%#\\$&'\\(\\)\\*\\+,\\/:;\\=\\?@\\[\\]]+$
  • DateTimeFormatter
    yyyy/MM/dd HH:mm:ss.SSS
  • メモリ使用量確認
    Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()
Vim
  • 最短一致
    \{-}
  • レジストリ操作
    "を付ける
    "ay6lとか"apとか
  • 含む行を削除
    :g/abc/d
    逆に含まない行は:v/abc/d
  • 選択範囲を折りたたむ
    Vjjjzf
  • xml整形
    :%s/></>\r</g | filetype indent on | setf xml | normal gg=G
  • 分割
    :sp
    その際の移動は「Ctrl + ww」とか「Ctrl + w(hjkl)」
  • 表示されている範囲の移動
    H:トップ
    M:真ん中
    L:ラスト
    zz:自分を中央にする(ページ移動)
  • 文字コードを指定して開き直す
    :e ++enc=文字コード
  • 文字コード設定
    :set fileencoding=文字コード