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

build.xml - javac ; Ant

Ant

メモ ant debug をしたい 他のモジュールのパッケージをコンパイル対象にしたい ex. UnitTest モジュールから SampleApp のパッケージを読み込まなければいけない {アプリルート}/SampleApp {〃}/UnitTest 上2つのモジュールがあり、UnitTest モジュールの b…

Cannot find ... build.xml imported from ... build.xml ; Android * Ant

アリ地獄 Cannot find ... build.xml iported from ... build.xml C:\Users\matsu\Prog\testapp\testmodule\build.xml:124: Cannot find C:\Users\matsu\Prog\testapp\testmodule\adt-bundle-windows-x86_64-20140321\tools\ant\build.xml imported from C:\…

setOnClickListener (not using anonymous class) # Android

setOnClickListener をどう書くか。 onCreate に 匿名クラスを書き込む方法ならば目的は達成できるが、 いくら Java でも冗長になりすぎるし、メソッド責務の話としても良くないと思っている。 代替案として下があるので、メモる。 import android.view.View…

Interface#implements ; Java

インターフェイスを実装する時は implements を利用する interface ISample { int sampMethod(); } class ClSamp implements ISample { ... @Override public int sampMethod() { return 774; } } やらなきゃ忘れる

参照型を脳内変換 ; Java

メモ書き int[] data = { 1, 2, 3, 4 }; この構文をどうにか思い出そう、と思って 下で脳内変換してたら、フィットした int* data = { 1, 2, 3, 4 }; C 流で

ワンライナー文字列変換 ; Linux

コマンドを嗜む カレントディレクトリ配下のhtml に該当するファイルで、 「検索文字列」を「置換文字列」へ変換する find ./ -name *.html | xargs sed -i 's/検索文字列/置換文字列/g' 引用元 # ありがとうございます ディノオープンラボラトリ プログラマ…

nil.to_i ; Ruby

nil.to_i #=> 0 存在しないものを数値化すると 0 になる パラメーターの論理積を取っているときに挙動が妙だったので、メモ

HTTPS 通信のテスト ; Rspec

HTTPS 通信の Unit Test を Rspec で実現するには request.env['HTTPS'] を 'on' か 'off' にするだけ テストケースは漏れ漏れだが、簡単に 準備 モデル設計に意味は無し $ rails g controller top index $ rails g scaffold Book title:string $ rake db:mi…

foreman ; gem

Rails で、WEBRick でも、thin でも、「同じプロセス上でサーバーを 2 つ以上起動すること」は愚直にできない Terminator などで画面上の細工はできるが、GUI に限った話 gem を使う(多様な gem があって驚嘆の限り) Gemfile $ gem 'foreman' RAILS_ROOT/Pro…

https アクセス(自己署名証明書) ; Rails

継続遷移には材料不足ではあるが、ものを揃えるだけならば thin で SSL 通信用のサーバーを立てる SSL 通信をさせたいコントローラ(もしくはアクション)に ssl_force を噛ませる 前提 http://mat5ukawa.hateblo.jp/entry/2014/02/28/005347 で自己署名証明書…

自己署名証明書の発行 ; Linux

SSL と HTTPS の違いも分からなかった人間が 自己署名証明書を作れる素晴らしい時代 1年間有効で、暗号化されていない、鍵長 RSA 2048Bit、署名アルゴリズムSHA-1 の X.509 形式 自己署名証明書を ~/.ssl に作成する $ cd ~/ $ mkdir .ssl $ openssl req -ne…

suspend

beep

キーバインド ; emacs

忘れないうちに書留 元々 emacs 使ってて今は Vim あることが理由で emacs 帰還。いつでも使えるようにしなければいけないってのは痛感 移動系 C-a ; 行頭 (Atama(適当な割り当て思いつかず)) C-e ; 行末 (End of line) C-f ; 一文字進む(Forward) C-b ; 一…

ymlspec # techout

YAML ファイルから Rspec の書式へ擬似コンパイルする gem を作成 バグ有り 一つのメソッドに責務を持たせすぎている 挙動が追えない(ウルトラスパゲティ) 無責任承知だが修正しない。出直す。昔を振り返られるように置いておく Rubygems.org には未登録。内…

リファラバック # Rails

勝手な造語なので、正確な用語があればどなたか教えてください。 gem 使うのかなと思ったけど、 raw code で何とかやれそう↓ 目的 或るページへは特定のページから遷移していないと NG な処理を実行すること ついでに、F5 再読み込みも禁止する top/index =>…

Integer.降順 # Ruby

昇順数値表示方法 2.times do |num| p num end #=> 0 1 はすぐに頭に出てきたが Integer.blahblah do |num| p num end #=> 1 0 の 降順取り出し Integer.blahblah が出てこなかった. 方法 Integer#downto メソッドを使う メソッド名どおり、引数の値「まで」…

Array#delete ; Ruby

Array#delete 引数 削除したい要素 返り値 削除したい要素があればその値 なければnil ex. a = [0, 1, 2, 3, 4, 5] a.delete(3) #=> 3 p a #=> [0, 1, 2, 4, 5] オブジェクト自体を破壊的に変更したくないが 要素を削除したオブジェクトを得たいときは rejec…

respond_to? ; Ruby

「レシーバのオブジェクト」に対してメソッドが呼び出せるかどうかを調べる 引数 メソッド名の シンボル 文字列 返り値 レシーバのオブジェクトがメソッドを 呼び出せれば true 呼び出せなければ false Ex. Hash.respond_to?(:merge) #=> false Hash.new.res…

3NF ; Design

Definition リレーション R が 第二正規形であること 全ての非キー属性(non-key attribute)は、いかなる候補キー(candidate key)にも推移的関数従属していない (非キー属性が、候補キー以外の属性に完全関数従属していない) Objective 将来的にデータモデル…

Transitive functional dependencies

Definition Given When ...(i) ...(ii) ...(iii) Then Transitive functional dependencies is specified Ex Because ...(i) ...(ii) ... (iii)

2NF ; Design

第二正規形 正規化方法よりも「関数従属」のロジックが組込めているかが重要点になる。 Definition リレーションスキーマ R が 第二正規形である。 R は第一正規形である。 R のすべての非キー属性は R の各候補キーに完全従属している。 ex [仕入先] [商品…

決済 gem WebPay ; Ruby ; PHP Java Python もサポート

決済処理に当たって、ActiveMerchant もあったが決済会社選んだり GateWay がどうとかって メンドイ。 WebPay-san お願いします。 (ここにあるカード番号、全てテスト用なので、あしからず) もともとは WebAPI なので、PHP Java Python でも使えるらしい{1} gem…

Functional dependency ; Design

関数従属性/部分関数従属性 candidate key => 候補キー => (主キーの候補となるキー and タプルを一意に識別できる and 極小) non-key attribute => (主キーを含めていかなる候補キーにも属していない属性) Definition and ex Given and ... only is true an…

deb to rpm ; CentOS

deb パッケージを rpm パッケージへ変換する ソースコードからビルドすればいい時もある。しかし パッケージだけ配布されていて困るときが有る。deb だけとか alien コマンドを構築する $ cd {WORKINGDIR} $ wget http://ftp.debian.org/debian/pool/main/a/…

Integration test の Failed assertion, no message given への対応; Rails

Ruby で Integration テストしていた(ruby -Itest test/model/*.rb) assert のテスト失敗時、常にFailed assertion, no message given. と表示された。一概には言えないが、一つの、原因と対策 一つの原因 assert の第二引数に「エラーメッセージ」が渡され…

many to many(関連) ; Rails ; Design

多対多を実現するには中間モデルが必要(当事者モデル2つだけでなく) フレームワーク思想に則って現れたらしく。 この経緯に付いては(分かっていないことが多いので)省略。 Prepare $ rails g model Member name:string $ rails g model Article title:string…

外部キー参照を rails g model で プロパティ指定する ; Design

何度も同じことで失敗している いい加減アウトプット コード rails g model 参照始点モデル名 プロパティ1 プロパティ2 ... 参照先モデル名(小文字から始まる):references ex rails g model Subject name:string student:references app/models/subject.rb c…

one to many(関連) ; Rails ; Design

1 対 多 on Rails モデルを使ったとき、どのようにして実現するか Student - Subject 関連を使う Prepare $ rails g model Student name:string $ rails g model Subject name:string student:references $ rake db:migrate db/seeds.rb Student.create! do …

one to one(関連) ; Rails ; Design

Rails 書留レベル one to one をどうやって実現するか Subject - Page 関連 generate model $ rails g model Subject name:string $ rails g model page name:string subject:references $ rake db:migrate app/models/subject.rb class Subject has_one :pa…

関連(Relation) ; Design

Rails の書留 元を辿れば「設計」 DB には世話になってる なぜ Relation があるのか 共通の命令をコードの中で端的にかつ易に記す為。 Relation が無い場合 class Custom ActiveRecord::Base end class Order ActiveRecord::Base end 新規 order を 既存 cus…