タグ

プログラミングに関するrti7743のブックマーク (99)

  • pixiv の javascript のコメントが面白い - Dlog 隔離館

    イラスト コミュニケーションサービス[pixiv(ピクシブ)] お絵描きサイト、pixiv! 何気なく、pixivjavascript のソースを眺めてみると、いろんなコメントがありました。 ニョーン ... 7686: // マウスオーバーでおすすめタグをニョーンと出す 7687: var timer = null; ... マジ天使 ... 452: selectCover: function(c) { 453: // [IE マジ天使] 送れないので遷移させる 454: if ($.browser.msie) { ... pixiv.group.js http://source.pixiv.net/source/js/pixiv.group.js なげえw ... 248: if (handler) { 249: // TODO 引数再考。なげえ 250: handler =

    pixiv の javascript のコメントが面白い - Dlog 隔離館
    rti7743
    rti7743 2012/06/17
    もっと面白いコメントを頼む
  • 60%の人間はプログラミングの素質がない

    Coding Horror: Please Don't Learn to Code Please Understand Learning to Code Coding Horrorで有名なJeff Atwordが、ある州知事が今年の目標としてプログラミングを習得することを挙げていることに対し、そもそも税金を払う我々市民は、政治家にはプログラミング習得以上に重要な、政治家にしかできない問題の解決を望む、よってプログラミングを学ぶのをやめてくれという記事を書いた。これに対して、反論が多数上がっているが、Jeffも読んでいるある論文をあげて、この議論の参加するためには、必ずこの論文を知っておくべきであると書いた人がいる。この論文は有名で、非常に興味深いので、全プログラマーが読むべきである。 ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質が

  • 本の虫: プリンスオブペルシャのソースコードを救ったギーク達

    The Geeks Who Saved Prince of Persia's Source Code From Digital Death | Game|Life | Wired.com プリンスオブペルシャのオリジナルのソースコードが発掘され、GitHubで公開されたことは記憶に新しい。しかし、その裏話はしっているだろうか。昔の電磁的記録のサルベージがいかに難しい作業であるか、認識しているだろうか。wired.comですばらしい記事がでたので、翻訳する。 WiredのGus Mastrapaはロサンゼルスで、ゲーム史に残る重要な財産を発掘する作業に立ち会った。 Jordan Mechnerは何でも保存してきた。 彼は、兄弟が近所で飛び跳ねる様を撮影した1985年に撮影したビデオテープを保存している。この動画から、彼はApple IIのPrince of Persiaのアニメーションを作成

  • 「コードは財産にあたらず」:ゴールドマンサックス問題で米連邦裁が見解

  • 空き時間にスマフォでソースコードが読める『CodeLibrary』をリリースしました! - hamheiの日記

    英語でこの記事を読む(Reading in English) ・4/5 追記: 好きなプロジェクトのコードが読めるPocketCodeをリリースしました。 クリスマスも当然の如く開発充なはむへいです! 僕と同じくクリエイティブで孤独なXデイを過ごす500万人のエンジニアを応援する為に 『CodeLibrary』というOSS(オープンソースソフトウェア)のコードをスマフォ上で読めるアンドロイドアプリをリリースしました! きっかけ 「OSSも読まないエンジニアって...」という記事を読んで、慌ててコードリーディングを始める 移動中にSNSを見る時間を、コードリーディングに充てたい スマフォでソーシャルにコードリーディングが出来るプラットフォームを作ろう! ベータ版ができたから公開するお^^ ←イマココ どんなアプリ? ちょっとした空き時間に、スマートフォン上でソースコードが読める、アンドロイド

    rti7743
    rti7743 2011/12/25
    良さげ。androidもってないけどw 関数間の行き来(呼び出し履歴を行って戻って来る)とかブクマとか、定義を参照するとかのUIがどうなっているの気になる。
  • 竹内関数で音楽生成 - aike’s blog

    Lisperの人ならみんな知ってる竹内関数(たらいまわし関数)という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10(xは-1〜10)の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和音のコード進行を思わせるような動き方です。 そういうことなら、ということで実際に音にして聴いてみました。Tarai関数が呼ばれるたびに引数のx、y、zを、0=ミ、1=ファ、2=ソ、……、のように音に割

    竹内関数で音楽生成 - aike’s blog
    rti7743
    rti7743 2011/11/20
    しかしなんで、0=ミ、1=ファ、2=ソなんだろう。0= ド・1=レ・2=ミぢゃだめなの?
  • ぼくはこうしてプログラミングを覚えた

    オリジナルはココです。フェイスブックのエンジニアでで史上ベスト3に入るといわれるEvan Priestley氏への質問「どうやってプログラミングを覚えましたか」に対する人からの答えです。 手短かに言えば 何年もの歳月の賜物というか。ぼくはただひたすらプログラミングが大好きで、(フェイスブックで働いていた)過去4年間、ほとんど他のことをしていない。その前も2.5年ほどプログラマーとして働いていたし、そのさらに前も6年くらい趣味でプログラミングをしていた。ぼくは高校も大学も中退しているので、それで空いた時間もプログラミングに費やした。つい最近フェイスブックを辞めたけど、未だに起きている時間のほとんどはプログラミングだ。 もっと詳しく言えば 月並みだが、ぼくはちっちゃい頃からコンピューターが好きで、我が家にあったヤツで(最初はMac Plusで途中からIIsiになった)で散々遊んだ。8歳か9歳

    rti7743
    rti7743 2011/07/22
    プログラムの質がうけているわけではなく、プログラムが溶いてくれる課題、結果がうけるんだから、そうなんだよなぁ
  • 初等ロリータ指向(×嗜好)プログラミング

    ■ 初めに 近年、コンピューターは多種多様な分野へ応用されており、プログラムの必要性はますます増大しています。 このような状況の中で、非創造的なプログラミングに不満を抱いているプログラマーは多いのではないでしょうか? プログラムには「創造的」なものと「非創造的」なものがあります。プログラマーであればこの違いは明白だとは思いますが、そうではない人間にはこのこと を理解することは難しく、そのことでも不満を持っているのではないでしょうか? 「非創造的」プログラムは、「創造的」プログラムがまさしく技術的な仕事であるのにしたいして、事務的な仕事であると言えるでしょう。 事務的な仕事は、女性のほうが男性よりも得意だとも言われたりしますが、そんなことは何より、モチベーションがどんどん低下してしまうので、仕事の能率 も落ち、これをどれだけ維持するかと言うことは重要な問題です。 そこで、この問題を解決するた

  • Python入門者に贈る16の鍵 « python練習帳

    このエントリーは、Python入門者と、Python入門予備軍の方を対象としています。 どうしてPythonやるの? Pythonって覚えやすい言語なんです。といっても、それなりに使いこなせるようになるには、数十時間程度はかかるわけです。なんとなく・・で勉強するなら、やらないほうがましです。ちゃんと、自分なりの目標を設定してから勉強しましょう。私の目標は、2011年中に、Pythonで日国内でそこそこ有名になることです。そこそこでいいです。pythonでぐぐって10番ぐらいに表示されれば満足です。それぐらい有名になったら、来年はPython仕事しつつ、他のこと勉強してると思います。 実は世界的にはPHPより人気がある Pythonは、Java、C、C++に次いで人気のある言語です。決してマイナー言語ではありません。 2011年2月のランキング GoogleAppEngineで使える ク

  • C++プログラマであるかを見分ける10の質問 - Cube Lilac

    「優れたPerlプログラマを見分ける27の質問」の日語訳 - Islands in the byte stream, Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ を見ながら C++ だとこれくらいかなぁと取りあえず作ってみました.前半は単純な機能の説明,後半は実際にどのように使って(使い分けて)いくかについての質問になっています.選択基準としては,特に後半部分は,自分が観測できている C++ 界隈で論争になったトピックを中心に取り上げています. iterator の役割について説明せよ. *_cast およびCスタイルのキャストそれぞれについて概要を説明せよ. overload と override と hiding の違いについて説明せよ. const の機能について概要を説明せよ. 多重継承について概要を説明せよ. ポインタの使用方法について,メモリーリー

    C++プログラマであるかを見分ける10の質問 - Cube Lilac
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
    rti7743
    rti7743 2011/03/05
    PHPとかC++とかの他の言語バージョンも欲しい
  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
    rti7743
    rti7743 2011/02/09
    ダメなプログラムをこう直せ講座はほんとうに面白く役に立つ。古くはCプログラム診断室とかあったよね。もっとあればいいよね、、、
  • 関数型言語でのデザイン手法

    Takashi Miyamoto @tmiya_ オブジェクト指向はOOPの他にOOA,OODなど上流工程向けの方法論があるのだが、関数型言語についてもFPの他にFA,FDがあるのだろうか?誰か適切な論文/教科書とか知りませんか? 2010-05-30 09:26:38 Ikegami Daisuke @ikegami__ 探してみます。でも強い型付けか、弱い型付けかで、まるっきり異なるでしょう RT @tmiya_: オブジェクト指向はOOPの他にOOA,OODなど上流工程向けの方法論があるのだが、関数型言語についてもFPの他にFA,FDがあるのだろうか?誰か適切な論文/教科書とか知りませんか? 2010-05-30 09:30:40 Ikegami Daisuke @ikegami__ @tmiya_ 個人的な感想ですが、強い型付けのプログラミング言語で開発を行う場合、実装の前に、全体

    関数型言語でのデザイン手法
  • Java による高階型変数と Scala とジェネリクス

    @nagise さんの記事『Javaによる高階型変数の実装』 http://d.hatena.ne.jp/Nagise/20110124/1295874192 から派生した型についての議論。ジェネリクスの見方、Scala との比較など。

    Java による高階型変数と Scala とジェネリクス
  • 高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」

    はじめに 大規模なデータを扱うアプリケーションでは、速度とともに作業領域量も大きな問題となります。作業領域がメインメモリに収まらない場合、スワッピングが発生し、大幅な速度低下につながります。そのため近年、データ構造は高速なだけでなく、作業領域量が小さいことも求められています。今回紹介するのは2003年に提案されたデータ構造、wavelet tree(以下「WT」と表記)です。WTは圧縮索引やSuccinct Data Structureなど、データをコンパクトに表現する際に重要なデータ構造です。WTは文字列T[0...n-1]が与えられた時、次の2つの操作を定数時間でサポートします。 rank(p, c)――T[0...p]中のcの出現回数を返す select(i, c)――(i+1)番目のcの位置を返す WTの作業領域量は、文字列をそのまま保存した時の約2倍程度です。 対象読者 C++

    高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」
  • 関数型!侵略ノススメ☆ - 純粋関数型雑記帳

    (この記事は Functional Ikamusume Advent Calendar jp 2010 の為に書かれました) 侵略!侵略!侵略!侵略!侵略!侵略!イカ娘! 再帰しなイカ? main = putStrLn $ f 6 where f 0 = "イカ娘!" f n = "侵略!" ++ f (n-1) 古風に再帰しなイカ? main = putStrLn $ f 6 where f 0 = "イカ娘!" f (n+1) = "侵略!" ++ f n 左派じゃなイカ? main = putStrLn $ foldl (\a _ -> "侵略!"++a) "イカ娘!" [1..6] 右派じゃなイカ? main = putStrLn $ foldr (\_ a -> "侵略!"++a) "イカ娘!" [1..6] 右派に見せかけた左派じゃないか? main = putStrLn $

    関数型!侵略ノススメ☆ - 純粋関数型雑記帳
  • 3回に1回出力するだけの簡単ではないお仕事 - やねうらおブログ(移転しました)

    なんかさ、3回に1回出力するだけの簡単なプログラムのお仕事ってあるじゃん。 if ( (++counter % 3) == 0) printf("Fizz\n"); これって意外と難しいんだよね。 ……なんてことを言うと「おいおい、天下のやねうらお、ついに頭おかしくなったか」とか言われるだろうけど、これ実際うちの仕事であった話で、このコードが原因でお客さんと大きなトラブルになった。 あまり具体的には言えないので、ちょっと別のものに置き換えて話すけど、それは、ひよこの餌やりプログラム(仮)だったわけ。 上のプログラムは、3回に1回だけど、このソフトには、N時間に1回、餌をやるロジックが書いてあった。 if ( (++counter % N) == 0) printf("餌やるでー\n"); なんかこんな感じな。それでNの値は、UI(ユーザーインターフェース)で調整できる作りにしてあった。一度

    3回に1回出力するだけの簡単ではないお仕事 - やねうらおブログ(移転しました)
  • 「最強最速アルゴリズマー養成講座」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登

  • ソフトウェアの品質を上げるにはどうするべき? | スラド デベロッパー

    ストーリー by hylom 2010年11月10日 14時47分 バグが何件出るかなんて予測できるの? 部門より ITproにて、「品質管理のやり方として正しいのはどれ? - 今日の腕試し!」なるクイズが掲載されている。品質を上げるの必要なのはバグ出しだけではないが、設問をつくるために敢えてバグ出しをターゲットにしたのだろう。それはいいのだが、個人的にみてこの3択には正解の要素が見受けられない。特に、正解をみてしまうと「今時、こんな方法をとっているベンダーとは疎遠になりたい……」と思ってしまう。 ちなみに、バグ出し(と、そのためのプログラム作り)には開発期間の半分はとるべきだと私は考えているが、そううまくいかないのも現実である。理想と現実に挟まれるSEやプログラマが多いであろうが、諸兄はどこを落とし所にしているのだろうか? ちなみに、私の現職は中小企業のシステム管理である。前職はプログラ

    rti7743
    rti7743 2010/11/10
    バグは絶対になくならないから、バグがあったも気づける、直せるアーキテクチャや体制、システムを作ることが大切だと思う。
  • 複数人(2-3人)でウェブサービスを開発するコツ - リート開発者ブログ

    こんにちは。開発ブログ言いだしっぺの satoshi です。リートでは、AddClips と Lancers というサービスが現在の主力サービスですが、AddClips は1人のエンジニアが担当し、Lancers は2-3人 のエンジニアが開発を担当しています。 当たり前ですが、1人と3人では開発スタイルが大きく異なり、気をつけるポイントも全く違います。当たり前の事が多いのですが、リートで特に気をつけていることをご紹介できればと思います。 開発環境 VMware ESXi を使って開発環境は5秒で用意する 通常、VMwareはLinuxWindows上で動作しますが、VMware ESXi はその上で直接、複数のVmware(仮想化マシン)を立ち上げることができます。 Vmwareを導入するために、Linuxを導入したりする必要はなく、その容量も32MBとコンパクト。しかも無償で利用可能