タグ

ブックマーク / thinkit.co.jp (5)

  • 社外常駐で学んだアジャイル開発

    (1)今回の事例: 業務システムをWeb化で刷新 第2回では、新人のころに筆者がかかわった事例を取り上げ、「情報共有」の仕方と、「情報共有を通して、どのようにアジャイルの基礎的な内容を学んだのか」を説明しました。 前回の計画をチームで立てるというトピックで、「アジャイルでは、イテレーションを何度も継続して回す」ことを伝えました。ここで大切な点は、「ただ単に繰り返す」ことを意味しているわけではないということです。イテレーションで得られたフィードバックを、次のイテレーションでより良い活動ができるように生かすことが重要です。 今回は、この「フィードバックをもとに、より良くする(改善する)」ことに焦点を当て、筆者が社内SNS構築の次に参画したプロジェクトを取り上げます。まずは、今回の事例で取り組んだ「業務システム」について、簡単に紹介します。 筆者が所属するTISでは、プロジェクトが完了すると、プ

  • 命令型プログラミングはどこに行くのか

    命令型プログラミングパラダイムとは 現在主流のプログラミング言語は、質的にはハードウエアの実行メカニズムに深く根ざして発展してきた言語です。すなわち、固定長メモリセル列の上にデータ構造を構築し、状態を表現します。そして機械語命令列をプロセッサが順番に実行し、状態遷移を行うというチューリングマシン的メカニズムです。プログラミング言語が変われば、1つの命令文が扱えるデータ構造の粒度や抽象度も大きく変わりますが、「データ構造を構築し、計算を実行するためのアルゴリズム(命令文の列)を記述する」というパラダイムには変わりありません。 連載の視点では、PascalやCなどの構造化プログラミングや、C++Javaのようなオブジェクト指向プログラミングなども、質的には命令型パラダイムに含まれると考えます。 命令型プログラミングは、次回紹介する「宣言型プログラミング」と対になる概念です。「手続き型プ

  • プログラミングの常識を疑え!

    プログラミングとは何か プログラミングと聞いて、みなさんはまず何を連想するでしょうか? 狭義の意味では、人間の意図をプログラミング言語によって記述すること(コーディング)ですが、より広い範囲、ソフトウエア開発全体を連想する人も多いかと思います。 狭義の意味だけに絞ったとしても、プログラミング言語にはさまざまなものがありますし、記述する内容や書き方のスタイル(プログラミングパラダイム)にもいろいろなものがあります。 例えばCやC++のようなコンパイラ言語は、OSを初めとした、さまざまなシステムやアプリケーションを作るのに向いた言語と言われています。これらの言語で書かれたプログラムは、コンパイラに対して細かな指示を与え、効率的な実行可能ファイルを生成するための記述です。 それに対してShellやPerlのようなスクリプト言語は、その名の通り、システムの動作内容などを台のように記述します。そし

  • いま注目のExt JS

    美麗かつ高機能なUIコンポーネントが満載のExt JS Ext JSは日では実際の利用例はまだ少ないですが、今後使われていくことが増えるであろう注目のAjaxライブラリの1つです。 Adobe Airのベータ版の時にサンプルアプリケーションとしてHTMLベースでできたRSSリーダー「Fresh」のデモがありましたが、実はそれはExt JSで作られていました。 Ext JSは当初、YUI(The Yahoo! User Interface Library)用の拡張ユーティリティ「yui-ext」としてJack Slocum氏により開発がスタートしました。その後、YUIのほかにベースライブラリとしてprototype.jsやjQueryもサポートするようになり、名前が「Ext JS」となり、さらに現在では独自のベースライブラリも用意され、ほかのライブラリに依存せずに、Ext JS単体でも開発

  • [Think IT] 先取り!Ruby 1.9.1

    なかなかアグレッシブな変更、追加機能がたくさんあり、夢ふくらみます。が、これらの新機能の大部分は「嘘」発表でして、まつもと氏の後に続いた筆者が、嘘の部分を指摘していく、という発表になりました。 というわけで、嘘ではない、次の「Ruby 1.9.1」のリリースは以下のようになる予定です。 2007年クリスマスにRuby 1.9.1をリリース 仮想マシンYARVが取り込まれ、従来より基性能で5倍、通常アプリケーションでも1.x倍の高速化 M17N(多言語化)標準搭載 ネイティブスレッドを用いたRubyスレッド(ただし並列化は行わない) 継続、Fiberのサポート 独自のI/Oバッファリング機構とノンブロッキングI/O機構の改善 データ構造の改善などによるメモリ効率 新しいライブラリの追加 新しいパッケージ機構の導入(RubyGems) 若干の文法の変更 より多くのテストの追加 次期Ruby

  • 1