miyabihitoの日記

個人的な技術メモ

Bashまとめ

操作

キーバインド 効果
[Ctrl] + b カーソルを一文字左へ移動
[Ctrl] + f カーソルを一文字右へ移動
[Ctrl] + a カーソルを行頭へ移動
[Ctrl] + e カーソルを行末へ移動
[Ctrl] + d カーソルの次の文字を削除
[Ctrl] + h カーソルの前の文字を削除
[Ctrl] + u カーソルから行頭までを切り取り
[Ctrl] + k カーソルから行末までを切り取り
[Ctrl] + [ ESC
ESC, b カーソルを一単語左へ移動
ESC, f カーソルを一単語右へ移動
ESC, d カーソルの次の単語を削除
ESC, [Ctrl] + h カーソルの前の単語を削除
[Ctrl] + l 画面クリア(clearコマンドと同効果)
[Ctrl] + p 入力履歴の上り
[Ctrl] + n 入力履歴の下り
[Ctrl] + r 入力履歴からの検索
[Ctrl] + g 検索のキャンセル

設定ファイル

.bash_profile

ログイン時、読み込まれる。
ログイン時に一度設定されれば良い、環境変数の設定を記載する。
( + 下の.bashrcも読み込む。)

.bashrc

Bashの起動時に、読み込まれる。
起動の度に設定する必要のある、シェル変数やaliasの設定を記載する。

.bash_logout

ログアウト時、読み込まれる。

使えるChrome Extensions and Apps

Chrome Extensions

Chrome Apps

開発支援サービス

スタートアップの真似事をして、Webアプリを作ってみることにする。
そのための開発支援サービス調査。
使用後に、感想等の詳細を追記予定。

コミュニケーションツール

HipChat

Slack

連携できる他サービスが多い。
それらの人気のある他サービスが、どういったものなのかにも興味がでてくる。

iOS/Androidアプリだけでなく、Mac/Windowsデスクトップアプリも用意されている。

普通の開発者のためのリーンスタートアップ手順書(5):実録! チーム開発が捗り過ぎるSlack+GitHub+Trelloの使い方 (1/2) - @IT

idobata

クラウドCI

Travis CI

CircleCI

Snap CI

drone.io

Coveralls

Codeship

デプロイも

タスク管理

Trello

PivotalTracker

アジャイルプロジェクト管理ツール

waffle.io

ZenHub.io

ソースコード管理

GitHub

Bitbucket

WebUIからタグを打てない。。。

インフラ

AWS

Heroku

Node.js PaaS - miyabihitoの日記

サーバ監視

New Relic

Boundary

Macアプリ

先日、Mac Book ProのHDDが壊れて、環境を構築し直す事になったので、
使用している(する予定)のアプリをまとめておく。

下記のツールでセットアップできるようにしておいてもいいかも。

Homebrew Cask

Chrome

使えるChrome Extensions and Apps - miyabihitoの日記

Xcode

ESET Cyber Security Pro

セキュリティ対策ソフト

iTerm2

ターミナルアプリ
デフォルトのターミナルだと、tmuxのマウスモードが効かないので。

BetterTouchTool

トラックパッドのジェスチャー等をカスタマイズできるアプリ

  • Gestures

    • Three Finger Swipe Down : Minimize Window Below Cursor

      表示しているウィンドウの最小化

    • Single Finger Tap Top Middle : URL: http://search.yahoo.co.jp/search?p=%@

      テキスト選択状態で、トラックパッドの上部中央をタップすると、選択文字列が検索される

  • Action Settings

    • Window Snapping Enabledを有効にする

      ウィンドウをスクリーンの隅へドラッグすることで、リサイズできる。

Hoster

hostsをGUIで管理できるアプリ
yosemiteではインストールできない。。。

Kopypasta

コピー履歴を記録しておけるアプリ。コピペが捗る。

Evernote

Skitch

画像編集
キャプチャの加工に使える

MySQL Workbench

MySQL - miyabihitoの日記

Redis Desktop Manager

VLC

マルチメディアプレイヤー

必要性を感じたら入れるアプリ

Alfred

FormatMatch

Kiritori

Dash (Docs & Snippets)

http://www.mirovideoconverter.com/(要確認)

MySQL

概要

2015.1.11時点でのGAリリースの5.6.22に関して。

起動・停止

MacPortsMacへインストールした場合の起動・停止コマンド

  • 起動

    sudo /opt/local/lib/mysql56/bin/mysqld_safe --user=_mysql &
    
  • 停止

    sudo /opt/local/lib/mysql56/bin/mysqladmin -uroot shutdown
    

各種コマンド

mysqld

MySQLサーバ本体

  • 設定グループ
    • mysqld
  • オプション
    • basedir
    • datadir
    • port
    • socket
    • pid-file
    • user
    • skip-networking
    • sql-mode
    • max-connections
    • query-cache-size
    • table-cache
    • tmp-table-size
    • thread-cache-size
  • innoDB設定オプション

mysql_install_db

データベース(データベースディレクトリ)の初期化
MySQLのインストール直後に実行する。

mysqladmin

MySQLサーバの管理コマンド

  • 設定グループ

    • mysqladmin
    • client
  • オプション

    特記なし

  • コマンド

    • ping

      死活確認

    • password

      パスワードの変更

    • shutdown

      MySQLサーバのシャットダウン

mysql_secure_installation

インストール直後の、緩い権限管理状況を修正するスクリプト

mysqld_safe

MySQLサーバの起動

  • 設定グループ
    • mysqld_safe
  • オプション
    • --open-files-limit

    ulimit -n の値
    同時接続数に関わる。

mysqlコマンド

クライアントコマンド

  • 設定グループ
  • オプション

    • --show-warnings

      Warningの内容を毎回表示する。
      「SHOW WARNINGS」を、都度実行する必要がなくなる。

    • -N

      SELECTの結果で、カラム名を出力しない。
      ファイルへのダンプ時に使える。

  • 対話モード中のコマンド

    • help: ヘルプ表示(引数にSQLも指定できる)
    • \c: 入力中の文のキャンセル
    • \G: SELECT文の行末に入力すると、縦表示になる。
    • tee: 入出力をファイルにも記録する(作業ログを取るのに使えるかも)

mysqldump

データ型

SERIAL

下記のエイリアス
BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE

関数

VERSION()

NOW()

GUIクライアント

MySQL Workbench

データモデリング(ER図作成等)・SQL開発・サーバ設定・ユーザ管理等を統合的に行えるツール

ダウンロードページの「No thanks, just start my download.」から
アカウントを作らずにダウンロードできることに、
アカウントを作ってから気づいた。。。

Sequel Pro

Workbenchに対する利点は、日本語化されている点くらいか。
データの修正が即時反映なので、ちょっと怖い。

フォーク

MariaDB

MySQLのオリジナル作者らがフォークして、開発を始めたプロダクト。
コミュニティベースでオープンに開発が進められている。

フロントエンド パッケージ管理・ビルドツール

component

JavaScriptCSS等を対象としたパッケージ管理・ビルドツール
一時、ReadmeでDuoへの移行を推奨していたが、
現在はその記載が無くなり、代わりにv1.0.0のリリースが告知されている。
メインの開発者がDuoやnormalize.ioの開発へ移ってしまったが、メンテナンスは継続される模様。

Duo

componentとbrowserifyのいい所を取っているパッケージ管理ツール
componetとの互換性を持っている。
利用に際し、設定ファイルを書かなくていよい。
GitHubをパッケージのリポジトリとして扱っている。

normalize.io

現在beta

browserify

Node.jsのrequire()をブラウザ用のJSでも使えるようにするツール
対象は、あくまでJavaScriptCSS等は対象としていない)
npmをリポジトリとしているので、サーバサイドとパッケージ管理が混ざりそう。

webpack

調査中

Bower

フロントエンド用パッケージ管理ツール
JQuery等のライブラリの使用を開始する際に、
公式サイトからソースをダウンロードしてきて、
所定のディレクトリに配置する作業が、コマンド一発で済むようになる。
(ただ、それだけとも言える)

総括

色々あって、どれを使えばいいのか分からないが、とりあえずDuoを使ってみる。
そもそも、これらパッケージ管理・ビルドツールは、
「ES6 modules」「Web Components」が標準となるまでの繋ぎのようなので、
今のうちに、それらがどういった物なのか理解しておきたい。

JavaScript ビルドツール

概要

Node.jsを実行環境とするビルドツール・タスクランナーについて
直近では、gulpを把握する予定だが、
時間があれば、Broccoliとかも見てみるかも。
Gruntはgulpより学習コストが高そうなので、gulpとの比較記事を見てみるくらいにしようか。

gulp.js

http://gulpjs.com/

Grunt

http://gruntjs.com/

Broccoli

https://github.com/broccolijs/broccoli

Brunch

http://brunch.io/