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

  • モデル駆動型開発の最新動向

    Copyright © 2004-2024 Impress Corporation. An Impress Group Company. All rights reserved.

  • ミニRSSリーダーを作ってみよう!

    Google AJAX Feed APIとは? Google AJAX Feed APIRSS/Atomなどの各種フィードを取得するためのJavaScript APIです。最大の特徴はクロスドメインでも他のサイトのフィード情報を簡単に取得できることです。Ajaxで使われるXMLHttpRequestはセキュリティの都合上、同一ドメインでしか通信できない仕様ですが、Google AJAX Feed APIはJSONPという仕組みを使うことでクロスドメインでの通信を実現しています。 詳細は省きますが、JSONPでは Google AJAX Feed APIを使うにはまず、Googleアカウントでログインし、Google AJAX Feed APIのサインアップページで自サイトのURLを入力し、API Keyを発行をする必要があります。サインアップページはこちら(http://code.goo

  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • 編集者ガチンコバトル「開発ドキュメント」に役立つ最新刊

    システム開発の地図、開発ドキュメントを書籍で学ぶ! 今回の特集を読んでいる方々は、実際の仕事の中で「開発ドキュメント」を書いているだろうか? 2月の特集テーマである開発ドキュメントは、さまざまな作業現場で必要とされている割に、それを専門に学んだり、ノウハウを吸収するための情報源は「口伝」以外には少ないのではないだろうか。 記事の編集を行う編集者にとっての開発ドキュメントといえば、「記事の企画書」や記事内容をまとめた「レジュメ」が該当するだろう。実は筆 者も、その必要性は感じていて、しかも文章や図版構成を生業としているのにも関わらず「苦手」なのだ。その意味で、今回の特集「楽々デブドックを書こ う!」は筆者にとっても有益な記事が集まっている。 その中でも「こんな役に立つ書籍があったのか!」という感動が目白押し(予定)の、連載「土日に買って勉強したい『○○』」だ(毎週土曜日にシンクイットのメ

  • [Think IT] 【バグ管理の作法】Trac徹底活用!

    最近は風呂の人と呼ばれるが、別にいつも風呂で仕事なわけじゃない。喫茶店が好きでMacBook proを持って、あちこちのお店で仕事してる。でも良い喫茶店が見つからず、マクドが多いのが残念。 http://masuidrive.jp/

  • [ThinkIT] 第4回:コスト管理の構造と見積手法 (1/4)

    PMBOK(Project Management Body Of Knowledge)のコスト管理は、計画段階で「資源計画」「コスト見積」「予算設定」という3つのプロセス、実行段階で「コスト管理」というプロセスに分類されています(第3回 表1参照)。資源計画の資源とは、ソフトウェア開発の場合だとほとんどが「人的資源(リソース)」となりますが、開発・テスト環境やツール類なども、必要なら忘れずにコスト要因として加えてください。 「開発コストの見積精度を高める」ということは、システムインテグレータ企業にとって永遠のテーマです。高く見積れば競争力を失うし、低く見積れば赤字プロジェクトになってしまいます。そのため「すばらしい見積手法・ツールを得て、正確な見積ができるように」と願うのですが、青い鳥と同じくそんな魔法のツールはありません。しかし、だからと言っていつまでも"どんぶり見積"のままで良いわけも

  • [ThinkIT] 第1回:開発ドキュメント体系と業務フロー (1/4)

    ソフトウェア業界の仕事は、下請け・孫請けのピラミッド構成となることが多く、常駐・派遣型のビジネスがかなりのパーセンテージを占めています。そんな中、他の業界と同じように、下請け脱却を目指して"一括請負"で仕事を引き受けたいとする会社もあります。 その志は善しとしましょう。しかし、肝心の"実力"が伴っていないと発注者も受託者もお互いに手痛い目に遭います。ここで言う"実力"とは、単なる技術力のことではありません。スケジュール管理や品質管理、コスト管理などのプロジェクト管理の技術・体制を社内で持っているかどうかが成否の鍵となるのです。 筆者の会社は創立11年目なのですが、創業以来「常駐・派遣の仕事はやらない!」という起業時のポリシーを貫いて来ました。C/SやWebのシステム開発を主体としているのですが、10年間の中では当然(?)、いくつかの失敗プロジェクトもありました。その苦い経験の中で「成功率と

  • [ThinkIT] Part2:トライ!SQLite(1) (2/2)

    まず、作成したテーブルにレコードを追加して検索してみます。正しい記述であれば検索結果が返ってくるでしょう(図2)。 sqlite> create table test_auto ( no1 INTEGER PRIMARY KEY,no2 ); sqlite> insert into test_auto (no2) values('test1'); sqlite> insert into test_auto (no2) values('test2'); sqlite> insert into test_auto (no2) values('test3'); sqlite> insert into test_auto (no2) values('test4'); sqlite> select * from test_auto order by no1; 1|test1 2|test2 3|te

  • [ThinkIT] 第1回:PHPの基礎とインストール (1/3)

    インターネットとはなんでしょうか。もしかしたら連載の読者の方には「Yahooじゃないの」とか「ホームページのことでしょ」と思っている方もいるかもしれません。これらは必ずしも間違ってるとはいえませんが、正しい表現ではありません。 実はInternet ExplorerのようなWebブラウザからアクセスしているWebページは、インターネットで提供されているサービスの1つである「World Wide Web(以下Web)」と呼ばれているものです。 Web上では様々なサービスが提供されています。Googleのように検索サービスを提供しているものもあれば、Youtubeのように動画の共有サービスを提供しているものもあります。連載では、このようなWebで提供されているサービスを実現するプログラミング言語の1つである「PHP」について解説していきます。 PHPを用いることで、様々なWebサービスを開

  • [ThinkIT] 第1回:SNSによる社内情報共有の可能性

    社内の情報や知識(ナレッジ)を共有することは、多くの企業にとって長年の課題であるといえます。特に企業が大きくなり、組織が縦割りになればなるほど、部門や事業部を超えた情報共有が困難になります。 そういった状況では、グループウェアなどの仕事の延長上にあるツールを使うだけでは、仕事以外の話を含めた全社横断のコミュニケーションやナレッジの共有は難しいかもしれません。その課題を解決する可能性を秘めているのが「社内SNS」です。 SNSとはソーシャルネットワークサービスの略で、最近ではmixiが非常に有名です。 mixiは登録制の閉じた世界でのコミュニケーションツールで、プロフィールの登録や日記の投稿やコメント、コミュニティなどによって、人と人のつながりを構築・支援することを目的としたサービスです。 そして今、このSNSの仕組みを社内に導入することで、社内の情報共有に効果を発揮できるのではないかと期待

  • [ThinkIT] 第1回:国内・海外のERP最新動向 (1/3)

    技術的に考えると、ERPは基盤となるシステム部分と実際に業務プロセスを支援するアプリケーションから構成されています。表1に示した「顧客」資源を管理するアプリケーションは、一般にCRM(Customer Relationship Management)として知られており、単体の製品もあります。ERPとして統合されているCRMCRM単独のソフトウェアとの大きな違いは、他資源のデータとの統合管理にあります。 図1に示したように、ERPでは単一のフレームワーク部分にアプリケーション群が実装されることによって、有機的な統合管理が可能となっています。そのため、異なるアプリケーションごとに同じ情報を入力し直すという無駄が省ける上、データの重複が原因で一部だけが更新されて不整合が発生するというような重大な問題を回避することができます。また互換性のない複数のソフトウェアを使用することによって、データの相互

  • [ThinkIT] 第1回:複数人による開発の要所を押さえる (1/3)

    PHPは生産性の高い開発言語として広く普及しました。現在も多くのWebアプリケーション開発でPHPが採用されており、その手軽さも手伝って実績を伸ばし続けています。手軽に開発できることから、個人での開発もでき、独自の開発手法が多く存在し、複数人では統一が難しいといわれています。 そのため複数人による開発では、確固とした開発手法がとられてない事例が多いのも事実です。開発手法が確立されてない場合、規模が大きくなるとすぐに破綻してしまいます。それを避けるには、開発手法を確立しておく必要があります。 連載では複数人によるPHPを用いたWebアプリケーション開発において、実際に筆者の所属するウノウ株式会社が行っている手法を例に効率的な開発手法を解説していきます。連載の内容はPHPだけでなくRubyPerlのような他の言語にも適用できます。また1人で開発を行う時に非常に有効な方法です。実際に筆者が

  • [ThinkIT] 第1回:Railsが注目されている理由 (1/3)

    RailsはDevid Heinemeier Hansson氏(以下、Hansson氏)が中心となって作成を続けているRuby製のオープンソースWebアプリケーションフレームワークです。まずはその概要について少し探ってみましょう。 Railsは、2003年の夏にHansson氏が作成を開始して、2004年にはじめて一般に公開されました。 それまでは「すぐに作れるけどゴチャゴチャしがちなPHPと、きれいだけど作るのに時間がかかるJavaを使ってソフトウェア開発をしていた」とHansson氏は語っています。そこで両者のいいとこどりをした「早くてきれいな」フレームワークを目指して開発をはじめ、現実のものにした結果がRailsなのです。

  • [ThinkIT] 第2回:人の頭の中味を「見える化」する (1/3)

    第1回では、なぜ「見える化」が必要かについて3つの点を明らかにした。第2回は、人の頭の中に存在し、外部にあらわれにくいアイデアや思考といったものをどのように「見える化」するのかを例をあげて詳しく説明したい。第1回で要求獲得における「見える化」として、Mind Map(マインドマップ)を使ったインタビュー手法を紹介した。 Mind Mapは、放射状に枝を広げ、関連するキーワードをつなげていくことができるため、枝1つ1つにある短い単語の連なりが文脈を形成する。中心にテーマを置き、そこから枝を伸ばして連想する語句を書きとめて発想を促すことで、企画立案やブレインストーミングにも利用できる。また、ツリー構造であることから、ToDoの洗い出しやイベントの準備といった大項目の中に多くの詳細項目が発生する事柄を整理する際にも役立つ。 アイデアや思考を「見える化」するというのはとても難しい。例えばイベントを

  • ThinkIT : 見える化とは何か〜改めて問うその真価

    最近、「見える化」という言葉が広く使われるようになった。ソフトウェア開発やプロジェクトマネジメントの文脈において、「トヨタ生産方式」が再度見直されていることが理由の1つであるが、この「見える化」という漢字かな混じり語のベタっとしたインパクトも大きく貢献していると思う。 この言葉からは「現場」や「アナログ」のにおいがする。スマートさからは離れているが、逆に「粘り強さ」や「実践感」といった点で「可視化」という無機質な言葉とは一線を画している。 実は、ここが「見える化」の肝であり、物理的な「モノ感」であったり、体を使った実践的な「行動」に繋がってはじめて見える化なのである。つまり「見える」だけでは「見える化」とはいわない。そこから喚起される実際の物理的な感触が、問題の解決にむけた身体的な行動を生み出してはじめて「見える化」なのだ。 そういう意味で、「何のための見える化か?」ということは、常に問わ

  • 1