タグ

Programmingに関するshozzyのブックマーク (135)

  • ペアプログラミングに必要な知恵は全て幼稚園の砂場で学んだ:Geekなぺーじ

    「"All I really need to know about pair programming I learned in kindergarten", Communications of the ACM, Volume 43, Issue 5 (May 2000) Pages: 108 - 114」という論文を読みました。 幼稚園(もしくは保育園)で習うような社会生活の基礎から、ペアプログラミングを遂行するときに注意すべき点を論じています。 ペアプログラミングは、二人で一緒にプログラムを書くという手法です。 XP(eXtreme Programming)などで利用されています。 面白かったので一部を抜き出して要約してみました。 さらに興味のある方は論文をご覧下さい。 何でも分け合うこと ペアプログラミングでは一つのものを二人が作り上げます。 片方がプログラムを書き、相方がレビューを続

  • 見つけて得するソースコード専用の検索エンジン - @IT

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) プログラミングと検索エンジンは切っても切れない プログラミングと検索エンジンの関係は切っても切り離せないものです。プログラミングに役立つドキュメントやノウハウを探したり、参考になるサンプルプログラムを見つけ出せます。 さらにバグの回避方法を見つけたり、エラーメッセージを検索エンジンで探して、解決方法が見つかることも多いでしょう。良質のソースコードから、的確なアルゴリズムや、思いもしなかったようなコード例を見いだすのも新たな楽しみです。 さて、ここではプログラミングの際に便利に利用できるソースコード専用の検索エンジンをいくつか紹介しましょう。ソースコード専用の検索エンジンを利用した検索

    見つけて得するソースコード専用の検索エンジン - @IT
  • 非テキストプログラミングとLLの次 - Ringo's Weblog: 2007年03月07日 アーカイブ

    非テキストプログラミングとLLの次 LILYというプログラミング環境の紹介ビデオをみて、考えが少し進んだ。 1. 視覚的プログラミングの目的設定は、プログラミングを簡単にすることというよりは、 多人数同時プログラミングをすることに置いたほうが良い可能性があるな、ということ。 2. リンクとノードを使った視覚的プログラミングは、 極めて限られたDSLにしかなり得ないだろうということ。 3. 視覚的プログラミングの研究で得られたアイデアは、 独自の開発環境ではなく、テキストエディタや、テキストを使う言語処理系の 仕様に反映していくのが良いだろうということ。 4. LLの次に必要なのは視覚的プログラミングではなく、 共同作業や非同期的変更を前提として設計された、 テキストベースの、不定・動的・非同期プログラミング環境だろうということ。 5. 上記のような環境ができて初めて、関数型言語が花開くかも

  • UTF-8 エンコーディングの危険性 - WebOS Goodies

    的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

  • 簡単マッシュアップ、「Yahoo! Pipes」を試してみた ― @IT

    2007/02/15 RSSフィードをソースに複数のモジュールを組み合わせて自分独自のデータを出力させる米ヤフーのマッシュアップツール「Yahoo! Pipes」が注目を集めている。ビジュアルにモジュールを組み合わせてネットワービスを開発できる「Pipes Editor」が用意されていて、手軽に始められるのが受けている。米ヤフーのIDだけで利用できるYahoo! Pipesを試してみた。 5つのソースからデータ入力 Pipes Editorではすべての機能がモジュールで提供される。このモジュールをパイプでつなぐことで機能が実現する。開発者が最初に気にする必要があるのはデータのソースだ。データのソースとして用意しているのは次の5つだ。 Yahoo! Search 米ヤフーの検索結果をソースにできる Yahoo! Local 米ヤフーの地域情報をソースにできる Fetch ユーザーが指定するR

  • Pipes: Rewire the web

    This pipe is designed to use eBay's RSS API to find items within a certain price range. Created by Ed Ho (show me) This pipe is designed to use eBay's RSS API to find items within a certain price range. Created by Ed Ho (show me) About Pipes Pipes is a powerful composition tool to aggregate, manipulate, and mashup content from around the web. Like Unix pipes, simple commands can be combined togeth

  • Ringo's Weblog: 2007年02月12日 アーカイブ

    メタデータと視覚的プログラミング yahoo pipesについて書かずにはいられない。 yahoo pipesが証明したことは、 1 データに対して、十分にメタデータが付いていること 2 メタデータの付け方が十分に標準化されていること 上記をある程度以上のレベルで実現すれば、 視覚的プログラミングは可能になる、ということだ。 これは何度もアプレッソの小野さんや長尾先生などの先達たちが言ってきたことだが、 今日、pipesを実際に試してみて、完全に腑に落ちた。 yahoo pipesはまだまだ不安定だし性能も低く、課題は山盛りある。 試しに、gumonjiで提供しているコミュニティ、日記、ビーム、写真など すべてのフィードやflickrの写真、yahooの検索結果を時系列に並べて、 URLにjpgが含まれていたら写真をインライン展開する という新しいフィードをpipesを使って作ろうとしたら

    shozzy
    shozzy 2007/02/13
    yahoo pipesってビジュアルプログラミングものだったのか!チェックせねば
  • まさにプログラマの原典!「ベーマガ」の魅力|【Tech総研】

    100ページ以上に及ぶ「投稿プログラムコーナー」、ほかの追随を許さないほどゲーム攻略に力を入れた「スーパーSOFTコーナー」。さまざまな読者参加型の記事がエンジニアを育てた、『マイコンBASICマガジン(ベーマガ)』を今回は取り上げてみたい。

    shozzy
    shozzy 2007/02/09
    なつかしい。中学の頃はよく読んでたなぁ。市販ゲーム記事が多くなってきた頃に読まなくなり、月刊ASCIIへ。ってそっちももう休刊か…
  • 分裂勘違い君劇場 - 大多数が余裕を持って暮らせる豊かな社会の作り方

    世界には、労働力マーケットが2つある。 高能率労働者マーケットと低能率労働者マーケットだ。 高能率労働者マーケットでは、慢性の人手不足のせいで、賃金が上がり続けている。 企業と労働者の力関係は、圧倒的に労働者の方が強く、 企業は、労働者に頭を下げて、お願いして企業に来てもらっている。 当然だ。 企業は、その労働者から、給料以上の価値を受け取るのだから。 交渉では、常に、より多くのメリットを相手に与える方が、優位に立つ。 当然、高能率労働者の待遇はすごくよい。 これは、単純な需給バランスの問題でもある。 需要が大きいのに、供給が小さいから、労働力の価値が上がっていく。 労働者がでかい顔をする。圧倒的なパワーを持つ。 一方で、低能率労働者マーケットでは、世界的に、労働者の数はどんどん増えている。 その需要を上回るスピードで。 そのせいで、賃金は下がり続ける。ワーキングプアに転落する。 これも、

    分裂勘違い君劇場 - 大多数が余裕を持って暮らせる豊かな社会の作り方
    shozzy
    shozzy 2007/01/05
    行く末はそこだと思う。仕組みをつくって自動化するのが主な仕事、と。/(ひっくり返し来るか?)/産業革命の頃にもこんな感じのこと言われてたりしないのかな?
  • デモではものができあがっているように見せない

    Kathy Sierra / 青木靖 訳 2006年12月27日 (アルファ版のような)開発中のものを私たちが世間や、クライアントや、ボスに見せるときには・・・彼らの期待のレベルを設定することになる。これは3通りの方法でやることができる。磨き上げられたモックアップで幻惑するか、プロジェクトの現状に合ったものを見せるか、ほとんどできていないものを見せながら順調に進んでいるから「信用しろ」と言っていら立たせるかだ。 結論を言うなら: どれくらい「できている」ように見えるかは、実際どれくらい「できている」かに合わせるべきだ。 ソフトウェア開発者はみんなそのキャリアにおいてこのことを何度も思い知ることになる。しかしテクニカルライターもまた、デスクトップパブリッシングツールによって同様の問題に直面する——フォントやレイアウトが完璧に仕上げられたドラフトを誰かに見せるなら、その人はあなたが考えるよりも

    shozzy
    shozzy 2007/01/05
    「非プログラマに100%素晴しいユーザインタフェースを持つ画面を見せたなら、彼らはプログラムがもうほとんどできあがっていると思う」あるある!
  • 美しいプログラムの美しくないソース : 404 Blog Not Found

    2006年12月19日17:00 カテゴリArt 美しいプログラムの美しくないソース 半分だけ同意。 304 Not Modified: プログラマの美意識 私にとって美しいプログラムとは、シンプルなプログラムのことです。なぜ半分だけ、かというと、美しくない状況をより美しくすることがプログラムの使命であるならば、結果としてソースコードが美しくならないことも往々にしてあるから。 もっと身も蓋もない言い方をすると、この世の穢れをプログラムが背負う事もまたあるのだということ。 このことは、特にAPIを提供するソースを書くときに顕著だ。こういったプログラムに求められるのは、APIが美しいことであって、ソースコードそのものが美しいことではない。そこでは、さまざまな泥臭いことはAPIを提供するプログラムがかぶることで、APIのユーザーは醜いものを気にせずにプログラムできるようになる。 実装が美しいけど

    美しいプログラムの美しくないソース : 404 Blog Not Found
  • Windchase: ソフトウェアの抽象性と具体性

    ソフトウェアの抽象性と具体性 少し前に,ほぼ日刊イトイ新聞「智慧の実をべよう。」より「第11回 私たちの『普遍性』ってなんだろう?」を読んで,普遍性と特殊性について少し考えていた.タイムリーに,今日うちの会社のCTOと部長の 3人で話をしていたのだが,その場で話題に上ったソフトウェアの分野での抽象性と具体性と,宇宙科学での普遍性と特殊性のトレンドに何か関連があるような気がしたので,忘れないうちに書いておく. これまでのソフトウェアの世界では,物事をどんどん抽象化していくことで,品質や再利用性が高まるということが当たり前のように言われてきた.しかし,ソフトウェアの目的によって,必要な物事の抽象度というのは,全然違うレベルになるのではないだろうか. たとえば,.NET Frameworkなどのライフサイクルが非常に長く,多くの人に使われるライブラリに求められる抽象度は高いと思う..NET F

    shozzy
    shozzy 2006/12/07
    google:抽象度/ほぼ同意「具体的なところの多い業務アプリケーションを作るためには,抽象度の高さは邪魔」/でも対象業務を絞れば抽象度を上げられる/異なる抽象度の間を自在に往来できればdefault抽象度は高くてよい
  • 秋元@サイボウズラボ・プログラマー・ブログ 映画に出てくるプログラマー-ソースコードの誤解

    via del.icio.us/popular What code DOESN’T do in real life (that it does in the movies) 「(映画の中では起こるけど)現実には起こらないコード」というブログエントリ。面白かったので項目だけでも紹介。 コードはものすごい速度で画面を動き回ったりしない コードを黒地に緑文字で表示して編集してるやつなんてほとんどいない 改行もスペースも、インデントもないコードなんてありえない コードは三次元で編集したりしない コードは効果音と共にスクリーンに現れたりはしない コードは8歳児に数秒でクラックされたりしない 膨大なコード全体が一瞬で器用にゴミになったりはしない プログラマーは0と1だけでコードを書いたりしない(アルファベットや記号も使える) プログラマーはキーボードだけでなくマウスも使う コードはそんな簡単にクロスプ

  • 404 Blog Not Found:プログラマがC言語を学ぶべきたった一つの理由

    2006年11月28日12:15 カテゴリLightweight LanguagesOpen Source プログラマがC言語を学ぶべきたった一つの理由 あれ?一番大事な奴が抜けている。 The C Programmming Lanugage K&R Geekなぺーじ:プログラマがC言語を学ぶべき10の理由 「Ten reasons why every programmer should learn C」という記事がありました。 個人的な感想ですが、何と無く言いたい事はわかる気がしました。 ただ、多少誇張している(言い過ぎ/嘘)かなと思いました。 あと、恐らくLinuxとオープンソースなどを念頭において書いているんだろうなと思いました。 [中略] ちょっと言いすぎ感も漂う内容でしたが、面白かったので訳してみました。 0) So you can write your programming

    404 Blog Not Found:プログラマがC言語を学ぶべきたった一つの理由
  • 金型プログラマと製品プログラマと - 設計者の発言

    業務システム開発の世界では、案件毎のプログラミング(従来の意味での、狭義のプログラミング)を減らすような工夫が発展し続けている。コードを自動生成させたり、設定ファイルの編集でシステムの動きを指定できる。そんな実装用フレームワークの発展が止まらない。コーディング量を減らすための工夫をしたがらないのは、工数ベースで稼ぐ派遣業の経営者くらいだろう。 そのような技術革新の結果として、以前にも書いたように、システム開発での分業体制が変化する。ある種のプログラマは個々の開発案件ではとんと姿を見せなくなる。彼らは「別室」でフレームワークの開発に従事しているからだ。フレームワークは個々のシステムを生み出す「金型」とか「工作機械」のようなものなので、彼らを「金型プログラマ」と呼ぼう。いっぽうの、個々の開発案件のプロジェクトルームで働いているのは「製品プログラマ」だ。彼らは「金型プログラマ」が開発したフレーム

    金型プログラマと製品プログラマと - 設計者の発言
    shozzy
    shozzy 2006/11/11
    「テクノロジーの発展は常に「何かを知らないままで高度なことができるようになること」を伴うものだ。」
  • クロージャ - Wikipedia

    クロージャ(クロージャー、英語: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数にて利用可能な機能・概念である。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートする言語によるプログラミングでは、単に関数の中に関数を定義することができるだけでなく、その際に、外側の関数(エンクロージャ)で宣言された変数を暗黙的に内側の関数に取り込んで操作することができる。主な利点としてはグローバル変数の削減やコールバック関数記述の簡素化が挙げられる。 典型的に

  • 秋元@サイボウズラボ・プログラマー・ブログ 色で書くプログラミング言語Piet

    Piet は、色の変化でインストラクションを表す、スタック言語だ。 プログラミング言語といえばまずこれだろう。言語作者人による、”Hello, World”。 コードの実行は左上から開始され、同じ色で塗られた領域のピクセル数が数値に、次の領域での色相と明度の変化がインストラクションになる。 また、次の実行方向を制御するための黒色と、何も行なわない(NOP)白色もある。 その他のサンプルプログラムはこちら。”Hello, World”をいろんな人が違うやり方でコーディング(ペインティング?)しているけど、中にはハノイの塔やフィボナッチ数列を求めるプログラムもある。よくやるなあ。 そして、この言語の発想の基となり、言語名の出自でもある、Piet Mondrianの作品っぽく見える”Hello, World”も。 この人は、Esoteric Programming Languages(秘伝的プ

    秋元@サイボウズラボ・プログラマー・ブログ 色で書くプログラミング言語Piet
    shozzy
    shozzy 2006/11/06
    なんじゃこりゃw
  • 2D language - 等速ナブラ

    今年のICFPも終わり。日勢も健闘したようで。ICFPの国際プログラミング・コンテストで日のチーム「kuma-」が2位に:ITpro 1位はカリフォルニア州マウンテンビューから参加した「Team Smartass」で,使用した言語はC++, Haskell,2Dだった。(2006年9月27日追記:Team Smartassは米Googleの社員からなるチームだった。また3位のチームCan't Spell Awesome without ASMは,Google社員と元Googleのインターンが結成したチームだった。それで「2Dってなによ?」というお便りをいくらかいただいたんで、実はボクもちょろっと触ったことしかないんで全然詳しいわけではないんですが、簡単に紹介すると、やや視覚的にコーディングするイカれた仕様の言語です。2D (programming language) - Wikiped

    shozzy
    shozzy 2006/10/20
    2D、なんだこりゃーw
  • 404 Blog Not Found:プログラミング言語foobarの生産性の高さはどこまで本当か

    2006年10月03日01:00 カテゴリLightweight Languages プログラミング言語foobarの生産性の高さはどこまで当か 分裂勘違い君って、コードは分裂も勘違いもしてないのね(失礼)。 分裂勘違い君劇場 - Rubyの生産性の高さはどこまで当か? もの人がブックマークしているこの「Ruby仕事に使うべし!Part1 なぜ仕事で使うとうれしいのか」という記事で、Rubyのすばらしさついて、いろいろ書かれていますが、実際のところ、どの部分が、どこまで当なのでしょうか? 少し検証してみたいと思います。 それはとにかく、言語の生産性で最も大事なのは何かを改めて考えてみた。 出た結論は、これ。 それを手に入れたくなった時に、それが手元にある事 はっきり言って、「いろんな言語のいいとこ取り」も「構文が強力」も「楽しくプログラミング」も 「問題が起こりにくいように設計され

    404 Blog Not Found:プログラミング言語foobarの生産性の高さはどこまで本当か
    shozzy
    shozzy 2006/10/03
    いいこと言う
  • Matzにっき(2004-10-02)

    << 2004/10/ 1 1. [Ruby]ChangeLog 2. [家族]長女の帰還 3. [Ruby]Ruby Conference 2004 4. U-20プログラミングコンテスト表彰式 2 1. [言語]文法のデザイン 2. 初心者パラドックス 3. DSL(domain specific language)と組み込み言語 3 1. [教会]松江、そして岡山 4 1. AC 2. [Ruby](行ってないのに)RubyConf 2004レポート 5 1. [特許]コダック、Java特許訴訟で勝訴--判決に批判の声が噴出 2. [日記]tDiary 2.0 6 1. [Ruby]Rubyの教科書 2. [Ruby]コーディングスタンダード 7 1. Skype 2. [特許]携帯電話の2画面特許,NECとドコモ側が東京地裁で勝訴 8 1. [特許]KodakとSun、オブジェクト

    shozzy
    shozzy 2006/10/01
    premature optimization