Develop

AngularJS勉強ノート

世界観 DOMツリーの操作を隠蔽してくれる。 AngularJSで開発する上では、開発者は安易にDOMツリーを操作するのを避けるべき。 用語 ディレクティブ テンプレート({{foobar}})で利用できるAngularJSの命令。 <img ng-src="https://example.com/{{filename}}.{{ext}}"> コントローラ スコープの設定を処理する サービ…

インターフェイス分離の原則(ISP)のサンプルコード

こんなん?

コードレビュー、自分用の心得(自分がレビュワー側の時)

自分のことは(ひとまず)棚に上げる 以下の観点を分けて考える コードの作法(きれいさ、読みやすさ) ロジックの正しさ 異常系のとき大丈夫かどうか 「良いコード」についての共通認識を持つと良いらしい。 うちのコードだと、どこのどんなコードがふさわ…

UML記号メモ

記号 意味 説明 > ステレオタイプ 要素の種類や特性 { } 制約 要素が成立するための条件 [ ] ガード条件 分岐条件

仕様のドキュメント化に対する考え方

「ソースコードがドキュメント(=だから仕様書なんて改めて書く必要ない)」という考え方は基本的にはありだと思う。 でも、今後メンテナンスする可能性が少しでもあるなら、「なぜこういう仕様にしたのか」の思想(根拠)は残しておくべき。 形式は問わな…

リフレクション

できること: クラスファイルの情報を読み込んで、 その中で定義されているクラスのインスタンスを生成したり、 そのクラス(インスタンス)内で定義されているメンバー名の一覧を文字列で取得したり、 その文字列のメソッドを呼び出したり、 といったことが…

vi簡易メモ

BSD系だとnanoが入ってなかったりするなの……。 編集系 削除(Del) x アンドゥ u リドゥ C-R 範囲選択 v, V(行) コピー(ヤンク) (選択して)y ペースト p 選択範囲削除 (選択して)d 移動系 行頭へ 0, ^ 行末へ $ 単語移動(←) b 単語移動(→) w

MVCメモ

それぞれが担当する箇所。 Model データ。 データを加工する機能。 View ユーザが実際に見る画面。 ユーザとのインタラクション機能。 ボタン押下とか指タップとか。 Controller モデルとビューの橋渡し。 ビジネスロジックともいう。 View → Model ビューか…

「アジャイルサムライ」をぱらっと読んで響いたこと

概算見積りなんてあてずっぽう。 見積りの問題:見積もりを未来の正確な予測だと思い込んでしまうこと。 プロジェクト初期段階で正確に見積もるなんて無理(4倍の誤差がある)。 やるなら、 ベロシティ(速度:開発量÷時間)を計測して、相対的に算出してい…

スクリプト言語 VS コンパイル言語

長所 短所 スクリプト言語 サクッと作れる 実行してみないとエラーが見つけられない コンパイル言語 実行前にエラーを見つけられる ビルドに時間がかかる 長期的にリファクタリングを繰り返すようなシステムはコンパイル言語のほうが効率がよさそう。 差分ビ…

我々は「常に仕様要求が変化する世界」の住人であり、 自分たちのソフトウェアがそういった変化に耐えて生き残れるようにするのが我々の仕事である。「アジャイルソフトウェア開発の奥義」より引用。 「仕様変更が発生するのが悪いんだもーん」と言いたくな…

ステートパターンとストラテジーパターンの違い

構造は同じ。 ステートパターン オブジェクトの状態によって違う動きをさせる。 ストラテジーパターン 異なるロジックを同じように扱う。

ユースケースの目的は、「できないこと」を明確にすること。

マルチスレッド本から学んだこと

並列処理の基本 「安全性」と「生存性」を守るのは必須 その上で、いかにして「再利用性」と「パフォーマンス」を上げるかが重要 安全性 オブジェクトを壊さないこと 壊れる:オブジェクトが設計者の意図しない状態になること 生存性 必要な処理がちゃんと行…

32ビット固定小数の精度

上位16ビットを整数部、下位16ビットを小数部とすると、 扱える値の範囲は整数部で -32768 ~ +32767 小数部で 0.0000152587891 ~ 0.999984741 【考察】 整数演算ユニットが使えるので、処理速度は浮動小数より速くなると思われる。 浮動小数に比べると精度…