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

オブジェクト指向は枠から作っていく

最初にメソッドを空宣言した方が考えやすい。それを呼ぶ側が、ここでは呼べばいいんだと、その メソッドをかけるから。 後から、「あ、ここはメソッド化するんだった」ってことはない。最初に思いつくものは空宣言 しておく。それで、呼び出し側ではそれをど…

requireをまとめる

require 'random_tactics' require 'stone_only_tactics' require 'sequense_tactics' としたファイルをrequireすると、その中でrequireしたものを全てrequireできる。 requireの仕組みからすれば当たり前だけど、rails使うことが多いからか、あまり require…

プログラミングできるようになるには

プログラミングを習得するにはとにかく書くしかありません。書いているうちに段々 慣れてきて、色々見えてきます。とにかく、書いて覚えるそれ以外にはありません。 当たり前だけど大切だと思う。何故なら、人は当たり前のことができないから。 覚えたら使っ…

[]メソッドを作って見る

■rubyでは演算子を定義できるのが面白いね あまり知られていないかもしれませんが Ruby では [] メソッドに対して、 複数の引数を指定できます。という文言があったのでやってみた。 class Test def [](x,y) x + y end end t = Test.new puts t[1,3] #=> 4

※このカテゴリーは1エントリーしか作成されないメモのようなもの。 というより、筆者が忘れないためのメモ。 ■最近気になる------------------------------- 1.IT戦士 この人のブログ面白い☆http://d.hatena.ne.jp/amachang/searchdiary?word=%2a%5bpro…

発明家として失敗する方法

1. 発明のプロセスを記録しない 発明のコンセプトやテスト結果を記録しておけば、それが自分のアイディアであると証明する必要がでたときに利用できるそうです。5. 公開を急ぎすぎる 公開された場、もしくは秘密保持契約を結んでいない誰かに話した時点で競…

transitテスト

すべてのキャリアに、URLにセッションIDが付与されるかのテスト。 特に、Cookie対応携帯の場合は:alwaysオプションがないと負荷されないので、そのミス を防止するためのテスト。 実際、:alwaysにせず、SoftBankの携帯で、Cookieを無効にすると、セッショ…

Moduleをincludeした先のコンテキストでメソッドを実行したい

def validate_length(def_attr_length) attr_symbol = get_attr_symbol_from_attr_length(def_attr_length) if eval(def_attr_length) < (send(attr_symbol) || "").jlength errors.add(attr_symbol,"が文字数制限を超えています。") return false end retur…

あのサイトどんな技術で?

これおもしろい。どのサイトがどんな技術によって作られているかが 分かる。 http://japan.cnet.com/column/rwweb/story/0,2000090739,20359740-2,00.htmhttp://www.100shiki.com/archives/2007/08/builtwith.html

Webの未来

それは。構造化ウェブだ。データベースとしてのウェブだ。古き良きリレーショナルデータベースであり、テーブルの代わりにウェブサイトやウェブサービスをリミックスする・・・以下記事より一部引用 - HTMLは情報の構造を捉えておらず、情報と表現が混在して…

Javaの精神

「Write once, run anywhere:WORA(一度書けば、どこでも動く)」 これ大切ね。

Win32OLE

最近やりはじめた。 ちょっと作ってみた。Excelで1人チャットの履歴をためる。 #! usr/local/bin/ruby -Ku require 'win32ole' require 'kconv' class XlsChat @@instance = nil #Singltonもっと綺麗にできるだろう def initialize unless @@instance @@ins…

複数テーブルの結合(join)

left joinを使う例。 この例は、Userテーブルのkindという値によって関連付けられるテーブルが 異なる。このテーブルに関してkindによって関連付けられるテーブルを引く 場合は、外部結合を使う。 内部だと、kindによる結合先のすべてを1レコードが含むよう…

RailsAword2007

最近シンプルなアプリが流行っているね。 http://rails.drecom.jp/award2007 シンプルは最高!時間がかからないからだ。

プルダウンリスト(select)のデフォルト

options_for_selectで設定するのね。 <%= select_tag :kind, options_for_select(User::USER_KINDS_FOR_SEARCH,params[:kind].to_i)

自転車から成長法を考える

今日はふと、成長法について考えてみた。最近気になる言葉は、「習慣化」、すなわち「無意識化」である。勉強やトレーニング、その他よい行いも、習慣化してしまえば、本人にとって自然となり、楽しみながら成長していけるからだ。 その習慣化について、子供…

年のとり方

昔、大学で干支が一回り上の先生を見て「スゲェ」と思いました。その当時見る先生の知識と技術は神の域に達していると思いました。何でそんなに凄いのだろうかと不思議に思いました。その先生が初心者であったときの光景など想像もできませんでした。 今、そ…

ユーザービリティーについて

■「戻る」で入力データが消えてしまうフォームはいらない。 http://www.atmarkit.co.jp/fwcr/rensai/usability06/01.htmlユーザービリティを考える上では必須だな〜

「戻る」ボタンについて

■「戻る」動作でフォームの内容が消える これはセッションとかを使わない限り無理。 他を見ても、 3.確認画面・エラー画面から「戻る」ボタンをクリックする事で一度入力された情報が 維持されます。とか書いてあるので、「戻る」機能だとやはり飛んでしまう…

・テストで、@valid_dataを使っても、mergeする際にシンボルが使える

parameters = assigns(:informal_decision).attributes.symbolize_keys.merge(options) def test_update_profile_success_ident simurate_informal_decision_login_2 @request.user_agent = "DoCoMo/2.0 D902i(c100;TB;W23H16;ser999999999999999;icc0000000…

成功している中小企業が持つ5つの要素

プログラマとしても参考になるところがある。その部分だけ抜粋。1. 強いリーダーシップ 1.1. リーダー達が組織のミッションを正しく理解するようにしましょう。ミッションは単純でればあるほど良いです。 1.5. 何をしないかに関しての合意を形成しましょう。…

シミュレータに取って代わるMoxy

http://d.hatena.ne.jp/tokuhirom/20070728/1185590668

日本語は必ずしも2バイトではない

特に、Webアプリでよく使う、UTF-8は漢字(仮名含む)の表現に3バイトを要する。そのため日本語の文章はShift_JISやEUC-JPなどと比較して1.5倍のサイズとなる。参考:http://ja.wikipedia.org/wiki/UTF-8

validates_length_ofと日本語

.lengthでなく、splitでカウントしているので、きちんと文字コードを指定していれば文字数として認識される。 しかし、Kuなどをしていない場合は、3倍になったりするのでご注意。(UTF-8は漢字(仮名含む)の表現に3バイトを要する。そのため日本語の文章は…

伸びない技術者にならないために

特にと思った2つのポイントを挙げます ■それ知ってます」は禁句 先輩が説明をしだした直後に「それ知ってます」「それ習いました」「授業でやりますよ」などは禁句です。多くの技術者は、相手のレベルを知らないと前提から順を追って説明していきます。その…

(複雑な?)DB書き込みの時はresucueをかける

特に、複数回DBに書き込むとき、一方が更新されておちないように

has_manyでの[]=

has_many系の関連では、 しかし、student.questionnaires[0] = questionnaireとなった場合はsaveするまでは関連付けはされない。

携帯サイトの厄介な文字化け with JpMobile

あるサイトで、リンクをクリックすると、そのアンカーテキストで検索をかけ、その結果を表示 するプログラムを作成した。そしたら、結果の部分が文字化けする。しかも、getで投げた、 アンカーのテキストが。 それは、なぜか2回UTF8変換が起こっている。 …

ニコニコ動画の勝因

・リアルタイムコメント機能・『2ちゃんねる』の流れを引き継いだ自由な風潮・徹底したユーザビリティに対する意識それはユーザー同士が常にユーモアを競い合うという精神である。2ちゃんねるのユーザーが参加して、 その雰囲気が持ち込まれたことにより、動…

JavaとRubyの第一人者が語る

http://www.itmedia.co.jp/enterprise/articles/0710/22/news002.htmlやはり、偉人の哲学の部分を学ぶことも必要だろう