プログラミング

メソッドのまとめ方にも注意

まとめまくると、エラーメッセージが出せなくなる。 やっていることは1つでも、それを組み合わせているメソッドがあって、 それを呼んだとき、読んだ側ではどの種類のエラーが起こったか 分からないときがある。まぁ、メッセージを返して、if **.class == Us…

継承

定数も上で初期値を定義 MAIL_DOMAIN = nil

DRYすると、凄く綺麗に書けるぞ!

分割できるものは分割。それを組み合わせればOK。 1つ1つが小さいから、信用性が高い。信用できるものを組み合わせれば信用 できるものができる

エラーがでたら

まず、エラーメッセージをよく読め。そうしないで、小手先で変えると何時間も単調作業を 繰り返す。 次に、ソースやログをよく読め。これが定着すると、物凄い力になる。

まず、スクリプトでできるか考える

例えば、膨大な量の作業があったとする。君がプログラマである限り、そこで、その作業を いかに手作業でやるかを考えてはいけない。 君が考えることは、いかにして、君がやらないかだ。そうスクリプトを書くことを考える。 例えば、ある情報サイトから一定の…

チケット駆動開発

http://www.machu.jp/diary/20070907.html

使い方を文でなくシンタックスで書いてしまえ

WDAY_JP = ["日","月","火","水","木","金","土"] #how to use: WDAY_JP[Time.new.wday] 見たいに。

分かりやすい&&簡潔が一番

メソッド名でも、fmt_dateとかならdate_formatterより良いと思う。typoも少ないし でも、短くても分からなければ×

定期的な勉強習慣

■定期的にAPIを読むのか、確かに勉強になる http://ishikawa-rs.blogspot.com/2007/06/rails-api.html http://techno.hippy.jp/rorwiki これもいい。あとルビマとかWeb+DBとかも定期購読するのもいい。やはり日々の 情報収集の習慣が大切。 一流エンジニ…

ふと思う

プログラミングは芸術だ。まず、人がどのように操作し、その時システムがどう動くか、 その挙動を全て想像し、システム内に創造する。 また、コードを書く際にも、綺麗に書くことができる。より洗練されたコードは、分かりやすく、 エラーを生みにくい。まさ…

一貫性

メソッド名とか、自分なりに規則があるといい 変換系はto_**とか、判定系はis_***?とか、コードが全体的によくなるし、なにより、名前を 決めるのに迷わなくなる

プチアドバイス

created_at,updated_atは全テーブルに持たせる

ふと思ったこと

まだまだ、基本とかを広くわかっていないと、天才プログラマにはなれん。 例えば、 HTMLの仕組み。ヘッダの役割とか。レスポンスの役割。 これらが分かれば、Rialsで、それらの値を変えて操作できる。404エラーとか、 ヘッダに404渡せば、ブラウザにはNotFou…

そもそもCSVについて

仕組みは簡単。ただ、要素を","で区切るだけ。その証拠に。 AAA,CCC,VVV,BBB DDD,FFF,GGG,HHH とテキストエディタで打ち、csv形式で保存する。そして、データを開くと、Excelで綺麗に表示 してくれる。 つまり、CSVは、テキストデータとして、カラムを","区…

少し綺麗にかけました

部品化すると分かりやすい。 足跡が、1回のエラー修正で通った。その際、4つのメソッド、各メソ3行くらいで構成した。 結構綺麗に書けた。 ---------------------------- #AccountController def add_footprint return if @user == current_user fp = Footp…

意味のないものは罪である

a,x,zとか、名前の意味が分からない変数やメソッド名など、全てそうである。 美しいとは、意味があってこそ美しいのだ。飾りは汚い

システム導入後のオペレーションを考えるものSEの仕事

SEの仕事は、システムを作るだけではない。むしろ、業務の全体改善である。その手段としてシステム があるだけである。 よって、例えば、今のプロセスが柔軟すぎてシステムに適さなかったりしたら、そこを修正したり、整える。 システムによって、縛りをつけ…

システムと現実世界が概念的にずれてはいけない

システムを構築する際に重要なことである。モデリングの考え 例えば、面接システムがあったとしよう。その、面接というイベントと、面接官が単純に多:多の リレーションを持つとする。すると、少しおかしい。何故なら、面接イベントのテーブルには、 (おそ…

スタブとは

あるプログラムが他のプログラムを呼び出す際に仲介となるプログラム。スタブの仲介を受けることで、プロセス間通信やクライアント・サーバ間でのオブジェクト呼び出しなどを、通常の手続き呼び出しと同様に扱うことができるようになる。

ビジネスロジックとは

アプリケーション固有の処理アプリケーション固有の状態遷移を記述した部分具体的に示すとアプリケーションが どのような順番で処理するのか。 どこからどのようなデータを取得するか。 データをどのように処理するか。 正常処理の条件はどうするか。 正常処…

ボトルネックとは

コンピュータの処理速度やネットワークの通信速度の向上を阻む「隘路」となっている要素。「瓶の首のように細く、詰まりやすい」という意味に由来している。コンピュータやネットワークのシステムは様々な要素が複雑に絡み合っているため、全体の性能の向上…

辞書順と記号

■記号が入るとどうなるのかな interviewersと、interview_typesは、辞書順的には後者の方が先になる。 よって、Railsで結合テーブル作るには、interview_types_interviewers

一言

1時間かかる単純作業があるならば、私は50分かけても、その作業を自動化するスクリプトを書く

構築する前に戦略を立てる

■ソースを書きながら、機能をほいほい変えていませんか? 確かに、最初に全て決めるのはナンセンスである。しかし、そのイテレーションに入ったら、いきなりソース を書いて、そこで悩んだり、機能をほいほい変えるのもいいものではない。 最初にノードなど…