2013/12/02

UNIXという考え方。その設計思想と哲学を読んだ

 The UNIX Philosophy
UNIXという考え方。
その設計思想と哲学。


普段Linuxを使用しているので、
読んでみました。

普段、使用しているツールの裏側の考え方について書いた本はほとんどないので、
新鮮です。


1.Small is beautiful.
小さいものは美しい。
小さい物同士であれば、組み合わせることが容易になる。

2.Make each program do one thing well.
ひとつのプログラムにはひとつのことをうまくやらせる。

3.Build a prototype as soon as possible.
できるだけ早く試作する。
すべてを完璧に設計してからでは遅い。

4.Choose portability over efficiency
効率より移植性を優先する

5.Store numerical data in flat ASCII files.
数値データはASCIIフラットファイルに保存する。

6.Use software leverage to your advantage.
ソフトウェアを梃子として使う

7.Use shell scripts to increase leverage and portability.
シェルスクリプトによって梃子の効果と移植性を高める

8.Avoid captive user interfaces.
過度の対話的インタフェースを避ける


9.Make every program a filter
すべてのプログラムをフィルタとして設計する

ソフトウェアの本質はデータを生成することではなく、
処理すること。


以下、重要度の低い小定理


1.Allow the user to tailor the environment.
ユーザごとに環境を好きに調整できるようにする

2.Make operating system kernels small anf lightweight.
オペレーティング・システムのカーネルを小さく、軽く。

3.Use lower case and keep it short.
小文字を使い、短く
4.Save trees.
森林を守る。

5.Silence is golden.
沈黙は金

6.Think parallel.
同時に考える
並列処理

7.The sum of the parts is greater than the whole.
部分の総和は全体よりも大きい

8.Look for the 90 percent solution.
90%の解を目指す

9.Worse is better.
劣る方が優れている。


10.Think hierarchically.
階層的に考える。


その通りと納得するものばかりでした。

UNIXという考え方―その設計思想と哲学









2013/11/10

テーブル定義書作成Script



テーブル定義書を一から書くのってめんどくさいなって思うことありますよね?
てことで、githubにあげました。
これでさくっと定義書作れます。
DBはMySQLです。

https://github.com/manchan/TableDefineScript


使い方

1.generate_document.sh
下記コマンドをコンソール上で実行
bash generate_document.sh DB名 > tableDefineDoc.html
root でパスワードなしで
※適宜書き換え必須
指定したDB名のテーブルすべてを
show full columns form $table 
2.mysql_db_document.sh
bash mysql_db_document.sh DB名
MYSQL_USERとMYSQL_PASSを適宜書き換えてください。

htmlでテーブル定義書が出力されます。
.xlsに変更でエクセル形式でも見れます。
cron定期実行も便利。

2013/11/04

Syntax Highlighter導入


BloggerにてSyntax Highlighter導入しました。
ソースコードをeditorでの表示のようにしてくれるものです。
以下を<head/>の直前に貼り付け。
ニ行目が表示する際のスタイル、テーマとなります。

テーマはいろいろあるようです。
http://syntaxhighlighter.dohow.jp/theme/theme.shtml


























使い方は以下です。

 <pre class="brush: html;">
// 表示したい内容をここに記述
 </pre>

Git Flow コマンド手順

Git Flowとは


[A successful Git branching model] を運用しやすくする git プラグインです。

git flowコマンド手順、あくまでも初歩です。
git flow initとかは省いてます。

1,まず自分が今どこで作業しているかの確認
git branch

2, ブランチを最新の状態にする
git pull origin demo

3, 新機能を追加するor何か作業する場合はブランチをきる
  hotfixの場合はfeatureの部分をhotfixとする
git flow feature start ブランチ名(仮にtestとする)

4, testブランチにて、作業をする

5, 編集ファイルの確認
git status

6, 差分の確認,標準diffでは見難いのでレスにパイプ処理
git diff | less

7, 新規で追加したファイルがあれば、追加
git add (ファイルパス)

8, 編集完了したらコミット(コミットの感覚は区切りのいいところで)
git commit -a -m "コミットメッセージ"

9, コミットされたか、ログを確認
git log

10, デモへうつる
git branch demo

11, デモ上で先ほどの作業したブランチをマージ
git merge feature/test

12, 無事マージできたら、変更内容をリモートにpush
git pull origin demo
git push origin demo




参考になるページ


Qiita Git Flowのメモ書き
A successful Git branching model を補助する git-flow を使ってみた
git flow cheatsheet


2013/11/02

MavericksにアップグレードしたらVitualboxの仮想マシンが起動しない


仮想マシン"debian"のセッションを開けませんでした。
Nonexistent host networking interface, name 'vboxnet0'

仮想マシンを起動しようとしたら、上記のようなエラーメッセージ。

ホストオンリーアダプタが無効になっている。
Virtualboxを再インストールしたらOK。
4.3系なら大丈夫みたいです。
https://www.virtualbox.org/wiki/Downloads

昔からこれ系のバグ報告がされているようです。
https://www.virtualbox.org/ticket/7067