2016-01-01から1年間の記事一覧

JavaScript 分割代入

developer.mozilla.org 分割代入について。 配列からデータを変数に代入する、さまざまな方法が書いてあった。 テンポラリ変数を作らずに変数同士をスワップできる。 不要な戻り値は無視し、必要なもののみ選択して受け取れる。「正規表現のマッチから値を取…

モジュール、凝集度、結合度

モジュール ソフトウェアは複雑だ。すぐ人間に管理できなくなる。 言い換えると、仕様変更があったとき、どこを変更すればいいのか、すぐわからなくなる。 そうならないために、プログラムを分割して複雑さを低く保つという考えがある。分割したひとつひとつ…

Rails MySQL ストレージエンジン

MySQLでは、テーブルごとに「テーブル型」を設定できる。これをストレージエンジンと呼ぶ。 ストレージエンジンが違うと、データの格納、取り出しの内部的な処理が変わる。 各々のエンジンに特徴があり、開発者は目的に応じて使い分けるのが望ましい。 スト…

UNIX系OS アクセス権

UNIX系OSでは、ファイルごとにアクセス権(パーミッション、モードなどとも呼ばれる)が設定されている。 これらアクセス権により、ユーザーからのファイルの見え方、操作できることが決まる。 アクセス権は基本的に3種類ある。Read、Write、eXecuteだ。また、…

PHP アクセス権

クラスのメンバーにはプロパティとメソッドがある。 キーワードを指定することで各メンバーへのアクセス権を設定できる。 キーワードはpublic,private,protectedの3種類。定義時にキーワードを宣言する。 あるクラスのメソッドを呼び出したいとき、 メソッ…

ビルド関係の言葉

ビルド 実行可能なファイルを生成すること。機械語やデータの羅列になっていることが多い。ソースコードをコンパイルし、必要な外部ライブラリや初期化コードをリンクする。 cc,gcc コンパイルに使われるコマンド。ソースコードを解析してオブジェクトファイ…

テスト駆動開発

テスト駆動開発とは、Test-Driven Development(TDD)のこと。 ふつう、コードを書いてからテストを書くところを、まずテストを書いて、それからコードを書こうという開発手法。 ふつうの書き方の場合は、設計と実装をコードを書くときにまとめてやる必要があ…

リファクタリング

仕事では、時間がなかったり、技術力が足りなかったりして、やっつけでコードを書いてしまいがち。結果、コードが汚くなっていく。コピペの重複コードとか、不適切な変数名とか。 そういうのが積み重なって、コードがわからなくなっていく。それを技術的負債…

ユニットテスト

小さな単位で行うテストテストのこと。小さな単位とは、たとえばメソッドである。 昨今はユニットテストを自動化するのが一般的になっている。自動化すると、テスト実行の負担がほぼゼロになる。(そのかわり、テスト自動化のコードを書くため、コードを書く…

vim ちょっとした繰り返し

使い捨てのちょっとした繰り返し作業は、レジスタにマクロを保存すると楽。 q{register}で保存開始。qで終了。@{regiser}で呼び出し。 たとえば、.erbファイル編集中、コマンドを<%= %>で囲みたいとする。 qaI<%= <ESC>A %><ESC>q でI<%= <ESC>A %><ESC>をレジスタaに記録できる</esc></esc></esc></esc>…

ssh

ssh(Secure SHell)の、もっとも単純な使い方は以下のとおり。 $ ssh username@hostname たとえば職場で、会議室のPCから自分のPCを操作したいとき。まずは自分のPCのhostnameを調べる。自分のPCでifconfig(CONFIGure network InterFace parameters)をすればI…

アジャイル、スクラム、XP

ってなんだろう。 ちょっと調べた感じ、アジャイルは理念で、スクラムとかXPは実践の方法を集めたものかな。

egrep マッチする部分を抽出する

smartyのテンプレートファイルから、変数名のリストを抽出したかった。 ${ と } で囲まれた変数名を、重複を省いてリストにしたい。一行に複数の変数名がある場合があることにも注意すべきだ。 たとえばこんなファイルがあるとする。 --code-- {$apple} --co…

PHP グローバル・ローカルスコープ

PHPには大きくグローバルとローカルの2種類の変数がある。互いにアクセスできない。 ちなみに、ブロックスコープは無い。

PHP 実行演算子

PHPからシェルコマンドを実行し、その出力を受け取ることができる。 /hoge/huga/htdocs

プロセスIDを保持する2つの特殊変数

$$ 現在の(サブ)シェルのプロセスIDを保持する特殊なシェル変数。 $!最後に実行したバックグラウンドジョブのプロセスIDが設定される変数。

投稿

アカウント作成 ブログ作成 投稿 こつこつね