タグ

2012年8月18日のブックマーク (11件)

  • Railserなら知っておくべき地味だけど便利なメソッド - joker1007’s diary

    Railsのバージョンは3.2.8時点のものです。(2012/8/21追記) 前回の冒頭で書いてたので、Rails版も書いてみようと思う。 要は、困ったらリファレンスマニュアルのそれっぽいところ見れば、 Ruby/Railsは大体解決してくれるよ(しかもスマートに)って感じなので、 悩んだらハマる前に一回公式に帰るのもいい手段だと思ってます。 でも、RailsAPIリファレンスどこに何書いてるか分かりづらいと思う。 例えば、has_many関連には、実は:after_addとか:before_removeとか、 その手のコールバックをProcで渡せるんだけど、メソッドの説明の所に書いてないんよね。 上の方のクラス全体の説明の所にAssociation Callbackって項目があって、 そこで地味に説明されてたりとか。 この辺、もしかしてpull request候補かな。 メインはAct

    Railserなら知っておくべき地味だけど便利なメソッド - joker1007’s diary
  • OSSで支えられるライブドアの巨大ログ集計 #nhntech

    PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services

    OSSで支えられるライブドアの巨大ログ集計 #nhntech
  • TechCrunch | Startup and Technology News

    Yellow, an asset financier for solar energy and digital devices in Africa has raised $14 million series B funding in a round led by Convergence Partners with participation from the Energy Entrepreneur Fisker, the electric carmaker founded by the Danish auto designer Henrik Fisker, is gearing up to enter the Chinese market where competition is increasingly cut-throat, following in the footsteps of

    TechCrunch | Startup and Technology News
  • ねえRuby、どこまでが君でどこからが内部DSLなの?

    Rubyは内部DSL(Domain Specific Language)に向いている言語と言われます。Rake, RSpec, Rack, Sinatraなどは内部DSL on Rubyの代表的なサンプルです。Rubyの構文のユルさとメタプログラミングが内部DSLを容易にするんですね。 しかし正直僕は、何が内部DSLで、何が内部DSLでないのかがわかっていません。人が何をさして「これは内部DSLである」と言っているのかがよくわかりません。 そんなわけで… 以下では、Userクラスの設計を通して内部DSLらしきものを作ってみます。このイテレーションに対して「ここからが内部DSLだよ」「これは内部DSLとは呼ばないよ」と、誰か僕に優しく教えてくれませんか? Userクラスの作成 Userクラスはユーザ情報を管理するクラスです。ファイル名はuser.rbとします。 まずはユーザの登録機能を作りま

  • enum 値に任意の名称やその他の情報を保持する方法について | Masa's Lab

    Tweet仕事で行うプログラミングと自分の趣味などで行うプログラミングの間のギャップに悩む @masa711115 です。 皆さんはシステム/プログラム内で使用する定数値についてどのような管理方法を取られているでしょうか。 一般的には const や enum で管理されていると思います。 今回はこの中で enum について書いてみたいと思います。 ※ソースの内容はすべて C# です。 ※また、Unit Test の記述は Visual Studio の単体テスト機能を使用しています。 1. 巷でよく見るソース よくあるプログラムソースの記述として以下の様なものを見ると思います。 public const string HOGE_CODE01 = "01"; public const string HOGE_NAME01 = "HOGE"; public const string HOGE

  • プログラマーは偉いのか?

    最近、プログラムが出来ることなんて偉くもなんともない、と改めて思っています。 偉くないとは言っても、誰でも出来て当然だからとか、プログラムなんで出来なくてもいいからとか、そんな事を思っている訳ではないです。 ただ何というか、当にごく一部だとは思うんですが、プログラムが出来ることやPCに詳しいことが偉いとか勘違いしている人がいるように思えるんですよね。 「コードも書けない癖に」みたいな事を平気で言う人。 親がまともにPC操作出来ない事を馬鹿にする人。 モダンなコードも書けないと見下す人。 あまり例が的確ではないような気がするが、要はこういう人たち。 自分の得意なプログラムとかPCとかの分野を引き合いに出して、それが出来ない人を馬鹿にするような連中。その実、人の能力も大して高くないことが多いから噴飯ものだったりするんですが。 僕も端くれながらプログラマとして日々飯をべているので、もちろん

    プログラマーは偉いのか?
  • 人を教えるということ - Nothing ventured, nothing gained.

    先月末に、Hack For Japanの活動の一環として、石巻で高校生にプログラミングを教えてきた*1。情報教育については、以前にも体を使った情報教育や一生役立つコンピュータスキルという投稿で考えを述べたことがあるが、どちらも一般論について述べたに過ぎず、実際にプログラミングを教えるということは考えたこともなかった。 結果から言うと、今回の経験は素晴らしいものだった。最初は人を教えたつもりだったが、実は自分がこの教えるという経験を経て、多くを教えられていた。 座学と実践のコンビネーション 今回は事前にインストラクションを書いたWikiが用意されていた。そこに書かれているとおりに、エディタで打ち込み、プログラムをビルドすれば中盤までの課題は解けるようになっている。ただし、コピペ禁止をグランドルールとしたので、参加した生徒たちは、インストラクションを見ながら、自分でコードを打ち込まなければいけ

    人を教えるということ - Nothing ventured, nothing gained.
  • かわいいリレーショナルデータベース作った - きしだのHatena

    リレーショナルデータベースの勉強用に、最低限の機能をもったリレーショナルデータベースを作ってみました。 今回実装した最低限の機能というのは、射影(select)・選択(where)・結合(join)です。 テーブル作成 テーブル作成は次のようになります。 Table shohin = Table.create("shohin", new String[]{"shohin_id", "shohin_name", "kubun_id", "price"}); shohin.insert(1, "りんご", 1, 300) .insert(2, "みかん", 1, 130) .insert(3, "キャベツ", 2, 200) .insert(4, "わかめ", null, 250) .insert(5, "しいたけ", 3, 180); System.out.println(shohin);

    かわいいリレーショナルデータベース作った - きしだのHatena
  • コードレビュー、修正前コードを残す悪習、構成管理警察のこと - 勘と経験と読経

    コードと構成管理の取扱いについて。ソフトウェア開発プロジェクトで自分がプログラミングすることは基的に無いのだけれども、プロジェクトマネージャとしてはかなりコードに触れるほうだと思っている。最近コードにまつわる興味深いブログ記事をいくつか見たので、これに対して自分の考えを少しまとめてみる。 コードレビューについて ここで紹介されている、構成管理システム(VCS)でのレビューコントロールがとてもエレガントだと思う。 レビューのために bug tracker や task management system を使うのはあまり良いとは思いません。 レビューでは非常に細かい点が議論されることがあり、これが仕事のタスクの一チケットに相当するとはとても思えないからです。 例えば、この変数名は短すぎて良くわからない、といったことのために bug tracker をブラウザで開き、チケットを切る、やってら

    コードレビュー、修正前コードを残す悪習、構成管理警察のこと - 勘と経験と読経
  • LinuxでディスクのRAIDメタデータを削除する - 元RX-7乗りの適当な日々

    # 何かあった時のために、某若手に送るログ。というかメモ。 ディスクは一度RAIDを組むと(ソフトウェア/ハードウェアRAID問わず)、ディスクにRAIDのメタデータ(スーパーブロック)を持ちます。 RAIDカードでハードウェアRAIDを組んだ後に、ディスクを初期化(Initialize)して使いたい場合、RAIDカードのBIOSで出来ればいいのですが、RAIDカードが無かったり上手く適合しなかった場合にどうするか、という話。 Google先生に聞くと、Linuxではdmraidコマンドやmdadmコマンドを使うと良いと教えてもらえます。 # dmraid -r /dev/sdf /dev/sdf: ddf1, ".ddf1_disks", GROUP, ok, 1952448512 sectors, data@ 0まずはチェック。(ディスクのデバイス名は事前に確認しておきましょう。) #

    LinuxでディスクのRAIDメタデータを削除する - 元RX-7乗りの適当な日々
  • Vim vs Emacs

    世間では、VimEmacsと、どちらが優れたテキストエディターであるかという論争があるらしい。そこで私も考えてみることにした。 Vimは純然たるテキストエディターである。その文であるテキストの編集のための機能は豊富にある。 一方、Emacsはテキストエディター以上のプラットフォームになろうとしている。メール、IRCクライアント、ブラウザー、画像表示などなど。これがために、「Emacsは悪くないOSである。ただし良きテキストエディターを欠く」とまで言われている。 vimは操作性に優れている。vimのほとんどの機能は、文字を連続して入力することで使うことができる。操作を複数行にわたって適用したい場合は、操作の文字に先立って数字を入力するとか、後にカーソル移動を入力するなどすれば、非常に素早く入力できるので、操作の妨げにならない。 一方、Emacsは操作しづらい。Emacsの操作は、単一のキ