タグ

programmingに関するkmachuのブックマーク (154)

  • Use Bundler.setup Instead of Bundler.require

    For a long time I thought automatically requiring dependencies was significantly better than manually requiring them. It’s hard to remember now exactly how I arrived at this opinion, but it was certainly influenced by using Rails in the early days before Bundler existed. Rails had a confusing and unfortunate mix of patterns back then. Dependencies were manually required but then later became autom

    Use Bundler.setup Instead of Bundler.require
    kmachu
    kmachu 2013/06/10
    Bundler.requireで自動的にrequireするんじゃなくて、Bundler.setupと手動requireを使うべきという意見。自動でrequireに慣れると依存関係が分からなくなって大変だよ、と。
  • L'eclat des jours(2013-03-04)

    _ 型付けと変更に対する強さ (時事解説) shiroさんが召喚されたという点が、今回の発端となった(と僕は読んだけど)『変数に型がないということの利点について考える』の一番の成果だったのではないだろうか。 最初にshiroさんは、変更に対する強さというものを、平衡状態の長短として考えることを提案する(『型付けと変更の時定数』)。強い型付けであれば、非平衡状態は比較的すぐに解消する(ただし非平衡状態では実行できない)。弱い型付けであれば、非平衡状態でもそれなりに実行できる。 読んで考えた。これは実体験としてわかる。 それまでchar buff[]だったものをstd::string buffに修正する必要が仮にあったとすれば、とにかく宣言を先に変えてしまう。そしてmake cleanしてmakeし直せば、少なくとも修正しなければならない箇所はその時点ですべて網羅できる(もっとも、表面的にしか

  • GitHub Flow (Japanese translation)

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub Flow (Japanese translation)
    kmachu
    kmachu 2013/01/16
    masterをmergeするのはいいアイデア。 僕は(1)ローカルでトピックブランチを作成し、まめにコミット。(2)形になったらrebase masterでHEADに追従、rebase -iでコミットを整理。(3)GitHubにpushしてpull request。公開してからはrebaseしない。
  • 2013年、ITエンジニアは英語を学ぶべきか? - QA@IT公式ブログ

    あけましておめでとうございます。21世紀が始まって干支が一巡してしまいました。「ITエンジニア英語を学ぶべきか」という問いに、今さら「ノー」と答えるヒトは少数派でしょう。答えはもちろんイエスです。ただ、問題は「どの程度?」ということです。 程度問題なので、以下の2つは極論として却下しましょう。 英語なんてできなくてもコードで話せるから不要(不要論) 英語ができないと、もはや技術について行けない(終末論) 英語なんてできなくてもいいと開き直るのも1つの戦略です。誰もが認めるぐらいの技術力があるなら、それもいいでしょう。外国語は習得コストが高いので、「選択と集中」だと考えて、きっぱりと英語を諦めるのも1つの見識だと思います。「できない」と言ったって、実は通じる英語を書くぐらいはできたりするわけです。ただ、これを一般論として「英語なんてできなくてもエンジニアはコードで話せるから不要」というのは

    kmachu
    kmachu 2013/01/09
    まずは英語の技術書を一冊読もう。何にしようかなー。 → 買った http://www.machu.jp/diary/20130110.html#p01
  • ちょっとした GUI アプリケーションをつくるのに MacRuby はよい選択肢となりうる - tokuhirom's blog

    ちょっとした GUI アプリケーションをつくるのに MacRuby はよい選択肢となりうる ちょっとした GUI アプリをつくるのに MacRuby をつかってみた。結論からいうと MacRuby はよくできているなあ、という印象をえた。 昔、RubyCocoa をさわってみたことはあったのだけど RubyCocoa は 「なんか正直 Objective-C の方がむしろ楽な気がする。。」 という感じだった。なにしろめんどくさいという印象しかのこらなかったのである。 一方、 MacRuby はいいな。 Syntax をカスタマイズすることにより無理矢理実現している変態的な感じもよい。実用的。 ちょっとした自分用ツールをかくときに今までは web application としてかいていたのだけど、MacRuby の方が楽だな、そんな気分になったのであった。 (というか、最初 Web Appl

    kmachu
    kmachu 2013/01/08
    MacRuby気になる。
  • ついに「電子献本」の時代がきた──オライリーが開いた未来 - ただのにっき(2012-07-17)

    ■ ついに「電子献」の時代がきた──オライリーが開いた未来 (タイトルがおおげさすぎる気もするけどまぁいいや) ありがたいことに年に何回か「献したいので送り先の住所を教えて欲しい」という連絡をもらう。中にはいきなり以前教えた住所に送りつけてくるところもあって、これはこれで楽しい驚きでいいのだけど、こういう問い合わせをもらったら最近はまず「電子データで下さい」と返事を出すことにしている。 もらう立場にいながらなんたる傲慢というかわがまま言い放題すぎるだろと思わなくもないが(思えよ)、Kindleを入手してから1年半、ほぼ紙のを読まない生活を達成*1している身としては、もはや自炊すら面倒なのですよ。何回目か知らないが電子書籍元年というからには紙と電子は普通に同時出版であるべきだし、たとえ献であっても好きな方を選べるべきだと思うのだよね。 とはいえ、たいていは「電子書籍化の予定はまだあり

    kmachu
    kmachu 2012/07/18
    リーダブルコードの電子書籍版が出てたのか。これは買うしか!
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    kmachu
    kmachu 2012/07/15
    モダンなPHPの書き方。(当分書くことはないけど)良さそう。
  • the-little-mongodb-book/ja/mongodb.ja.markdown at master · ma2/the-little-mongodb-book

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    the-little-mongodb-book/ja/mongodb.ja.markdown at master · ma2/the-little-mongodb-book
    kmachu
    kmachu 2012/04/17
    あとでiPadで読む。PDFに変換しようかと思ったけど、ブラウザでそのまま読めばいいか。
  • 223Soft -

    Document Data Structure in MongoDB Express MongoDB lets you easily store structured and unstructured data in a flexible and dynamic database schema. It supports CRUD operations on complex data objects using JSON as the main data type. Its an open source solution so it may not be as robust or well supported as commercial management tools. However it is easy to deploy and works well for most use cas

    kmachu
    kmachu 2011/11/01
    これはいいまとめ。「初めてのRuby」の次が「メタプログラミングRuby」で吹いた。
  • irbから学ぶRubyの並列処理 ~ forkからWebSocketまで - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 irbから学ぶRubyの並列処理 ~ forkからWebSocketまで : melborne.github.com - 世の中は並列化花ざかりだよ 人間はシングルタスクのままなのに プログラミングするときは マルチタスクが要求されるなんて 世知辛い世の中になったものだね でも情報革命は始まったばかりだから 愚痴ってばかりもいられないよ 自分がその波にうまく乗れないとしても うまく乗ってる人の様を 間近で見てみたいと思うんだ そんなわけで.. Rubyのfork Thread Reactor EventMachine WebSocketなどの並列化について少し学んだので 自分の理解をここにまとめておくよ REPL irbはRubyにおける対話型の実行環境だよ こ

    irbから学ぶRubyの並列処理 ~ forkからWebSocketまで - hp12c
    kmachu
    kmachu 2011/09/30
    irbで並列処理。分かりやすそう。
  • [Rails] Crafting Rails Application 読書会4回目, [omniauth][rack][ruby][rails] omniauth でテストする - HsbtDiary(2011-06-08)

    ■ [Rails] Crafting Rails Application 読書会4回目 今日は2章を読み始めた。2章はメールフォームを作って、ActiveModelとValidatorについて勉強するぞーという章。 attribute_method_prefix や attribute_method_suffix を使って reset_attribute! みたいなメソッドを作る方法について学ぶぞー ActiveModel に準拠しているかどうかは ActiveModel::Lint:: Tests を include したテストが全部通れば判定できるぞー ActiveModel::Name を extend する @model.class.model_name.human みたいのが使えるようになるぞー こんなところ。来週は引き続き ActiveModel を作る方法について進める予定。

    [Rails] Crafting Rails Application 読書会4回目, [omniauth][rack][ruby][rails] omniauth でテストする - HsbtDiary(2011-06-08)
    kmachu
    kmachu 2011/06/09
    @hsbt さんによるomniauthのテスト方法。ナイス日記。
  • 関数、オブジェクト、クロージャ - FAX

    (thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu

    kmachu
    kmachu 2011/06/03
    ざっくりと分かりやすい説明。データと処理を一緒に扱うのがオブジェクト、分離するのが関数。クロージャは両者の中間的な位置付け。そうか、ステートフルかステートレスの違いだと理解すればいいのか。
  • wise9 › JavaとJavaScriptの20年戦争

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

    kmachu
    kmachu 2011/06/01
    JavaとJavaScriptを軸にしての、Webプラットフォームの変遷のお話。軽い気持ちで読み出したら、めちゃくちゃ本格的だった。僕も99年の頃はJavaとJavaScriptは同じようなものだと思ってた。
  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
    kmachu
    kmachu 2011/05/20
    寝ている間にこびとさんが並び替えてくれるものぐさソートアルゴリズム。面白い。
  • ICFP Programming Contest 2010 終了 - まめめも

    ref: http://icfpcontest.org/ 今回の課題は近年稀に見る面白さでした。要約するとこんな課題。 車とその燃料を開発して、市場に投入せよ。 市場に投入された車の設計書は参加者全員に公開される。燃料の設計書は公開されない。 他社の車の設計書を解析して、他社の車用の燃料を開発し市場に投入することもできる。売上はほぼ折半 *1 。 燃料の売上を競う。 以上より目的は、「解析が難しい車を設計して投入し、燃料の売上を寡占する」かつ「他人の車を解析して燃料を作り、売上を奪う」ということになります。すばらしい皮肉的な設定。 さらに ICFPC らしさとして、 車や燃料の設計書は trit 文字列 (0 と 1 と 2 のみからなる文字列) で書かれる。trit 文字列の仕様は非公開。適当に作った設計書を投入してみて、パースエラーのメッセージを元に、トライアンドエラーでフォーマットを

    ICFP Programming Contest 2010 終了 - まめめも
  • プログラミング言語の優秀さと道具としての評価は別 - kなんとかの日記

    ワシは、cgi.rb なんかが標準添付になっている RubyPHP を dis る資格はないと思ってる (cgi.rbの元ネタである CGI.pm を擁する Perl も同じじゃないかな)。cgi.rb は、標準添付モジュールのくせにコードが汚いし遅いし、cgi[] の戻り値が String だったり File だったりするし、どう考えても設計ミス。 ## Ruby だと cgi = CGI.new p cgi['name'] #=> これが File である可能性がある ## PHP だとそんな問題はない $name = $_REQUEST['name']; # 必ず文字列 $file = $_FILE['name']; # ファイルは別途取り出すそして大半の Rubyist はこういった問題に気づいてすらいない。そういう人たちが PHP を dis ってるのは「ハァ?」と思う。

    プログラミング言語の優秀さと道具としての評価は別 - kなんとかの日記
    kmachu
    kmachu 2010/06/13
    「確かにプログラミング言語としての Ruby や Python は本当によくできてるけどさ、それと道具としての価値はまた別だということを知ってほしい」
  • PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記

    PHPerの問題点はPHPしか知らずに的外れなことを言うことだ」と、Javaしか知らなくて的外れなことを言っている連中にすら言われちゃってるPHPerのみなさん、こんにちは。 PHPは「使える道具」であることは事実です。しかし同時に言語仕様がウンコなのも事実。 ここでは、個人的にウンコだと思っているPHPの仕様を挙げてみたよ! htmlspecialchars() の名前が長すぎる これはほんとウンコ。おまえWebアプリのための言語やろが!なんでこの関数の名前がこんなに長いねん!こんだけ長かったらめんどくさがって echo $var としてまうやろが!WordPressのthemeでHTMLエスケープ忘れが多いのはおまえの名前が長すぎるせいだ! そんなわけで、全PHPerはこんな関数を定義するといいと思うよ。 ## echo $var; よりも短く h($var); と書ける! func

    PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記
    kmachu
    kmachu 2009/11/29
    h()はぜひ導入してほしいなー
  • PHPとJavaScriptはスクリプト言語の範疇に入らないかもしれないんだってさ - kなんとかの日記

    (追記: 2009-11-16: 引用元のブログは「SH2の日記」のコメント欄からであり、SH2氏とは別の方のコメントです。) さすがはJava屋さん。スクリプト言語をバカにする態度は堂々としたものだ。 JavaBlack >PHPなどのスクリプト言語もいつでもかけるようにしとけよってね それは全く逆でしょ.PHPプログラマの方が,JavaPerlなどの汎用言語を使えるようになっておかないとだめ.PHP「しか」書けない人は,物のプログラマーじゃない. そもそもPHPJavaScriptについては,スクリプト言語の範疇に含めるべきか否かという問題さえある. http://d.hatena.ne.jp/sh2/20091106#c1257524055 PHPしか書けないと、なんで物のプログラマ―じゃないことになるんだろう。 例外機構もないPerlは汎用言語と認めているのに、PHPはそう

    PHPとJavaScriptはスクリプト言語の範疇に入らないかもしれないんだってさ - kなんとかの日記
    kmachu
    kmachu 2009/11/14
    「JavaやPerlなどの汎用言語」/「PHPやJavaScriptについては,スクリプト言語の範疇に含めるべきか否かという問題さえある」 ??? / 本物のプログラマってなんだろうねぇ…?
  • 「C++ は難しいから」と言う定説 - Cube Lilac

    雑記. C++ は難しいから Java から始めた方が・・・ ここ最近(と言うか以前からずっとですが),上記のようなアドバイスを見かける機会が多かったせいか「C++ の何を指して(Java と比べて)難しいと言っているのだろう?」と言う事を単純に疑問に思うようになりました.Java 自体はほとんど使ったことないのですが*1,感想としては「どちらも大して変わらない」と言うものだったので余計に気になっています. 以下,現状で私が「これが要因かなぁ」と思っている事を列挙してみます. C++ には XXX と言うクラス/関数がない 可能性として一番高いのはこれかなぁと思っています.C++ の標準ライブラリは必要最低限のものしか(必要最低限のものさえも?)用意されていないので,他の言語と比べてライブラリの貧弱さは目立ちます.Boost を含めればかなりマシになりますが,それでもキツいかなと言う印象を

    「C++ は難しいから」と言う定説 - Cube Lilac
    kmachu
    kmachu 2009/07/14
    演算子のオーバーロードとフレンド関数あたりが難しく感じた。
  • PHP 5.3の無名関数を試してみた - hnwの日記

    何番煎じかわからないですが、PHP 5.3からは無名関数が実装されたということで、試しに使ってみました。 見なくても何となく使えるようなものだと思いますが、ドキュメントが「PHP: 無名関数 - Manual」にありますので、ざっと目を通した方がいいと思います。 僕は「どうせ無名関数って中身はcreate_functionなんでしょ?」と思っていたんですが、Closureクラスを使って実装されているなんてことも書いてあります。PHPにしてはマトモっぽくて意外に感じました。 コールバック関数としての無名関数 PHPには引数としてコールバック関数を要求する関数がありますが、PHP5.3.0からは無名関数を引数にしても動くようになりました。 無名関数は、普段の関数と同じノリで「function」から書き始めればOKです。関数宣言との違いは関数名を書かない点だけで、引数やタイプヒンティングについて

    PHP 5.3の無名関数を試してみた - hnwの日記