IPAの事業成果を書籍としてとりまとめ、製本版・電子版・PDF版で提供しています。 なお、電子版を提供している書籍については「電子書籍」で紹介しています。 書籍は以下の方法で購入いただけます。 1.IPA直販 2.Amazon 3.書店(お取り扱い店舗:書泉ブックタワー(東京 秋葉原) ) ※その他、お近くの書店でお取り寄せが可能な場合があります。詳しくは各書店にお問い合わせください。 ご購入方法、ダウンロード方法などは各書籍の詳細ページをご覧ください。
「iPhoneやAndroidのプログラミングは難しい…」とあなたが感じているとしたら、米Microsoftのスマートフォン用オペレーティングシステム「Windows Phone 7」こそあなたが求めるものかもしれません。Windows Phone 7の上で動くアプリケーションは、無償提供されている「Windows Phone Developer Tools」で開発可能です*1。このツールは統合開発環境「Visual Studio 2010 Express for Windows Phone」を含み、そこではC#(シーシャープ)でWindows Phoneアプリケーションを開発できます*2。Visual StudioとC#のスキルをそのまま、Windows Phone 7のアプリ開発に生かすことができるのです。 この特集では、Visual Studio 2010 Express for W
ファウラーの言わずと知れた名著だけど、私は15章構成のうちカタログ部分(第5章〜第12章)を今まで読んでいなかった。 理由としては、やはり古いこと、そんなに難しい内容では無いこと、リファクタリングの思想という意味では理解していたこと。 ホントに古い本なので、もういいかなと思っていたんだけど、少し読み直したらやっぱり一度は全部書くべきだった。 リファクタリングの思想と同じくらい、カタログにある各種技術は重要だった。 それに「おすすめの本は?」と聞かれたときに、とりあえずこれを挙げることは多くて、そのくせ完読してないのは質が悪いというのもある。 ということで、今回は「はじめに」と「第1章」 はじめに ここでは本書の説明と、リファクタリングについての話が少し。 ・リファクタリングはリスクが高いのでやみくもに行ってはいけないこと。 ・手順を守り、体系的に行うこと。 ・具体的には「1度に1ステップず
K&RのCで書かれたプログラムを渡された(もう少し正確に言えば、VisualStudioのWizardで作られたものにK&RのCでコーディングしてある(C++ですら無い)ので純粋なCでは無いが果てしなくK&RのCだ)。あと、これを作った人はどうにも「ポインタ」の概念が無いらしく、無駄に多次元配列だったり、配列のアドレス渡しとかが多用されている。 作業指示は、これを流用して、C++/CLIかつ.netFramework3.5使用かつ新規案件に対応せよ、との事。 個人的にはどう見積もっても3人で4ヶ月かかる量なんだが、予算が1人で1ヶ月、と言って来た。理由は「Cからの流用だから」。 参ったな。自分としては、C++/CLIはもはや別言語だと思っているんだが。 どうにも上司と顧客に説明出来ない。説明出来ないのは、自分が理解していないせいだ、と言われればそれまでなのだが、自分の感覚で言うと、高段者が
Did you know that the first programming language was created 200 years ago, or that most operating systems are based on a 40-year-old language? Programming languages, believe it or not, have existed for over 200 years, since the invention of the punch-card-programmable Jacquard loom(Opens in a new window). It wasn't a programming language in the modern sense -- there was no computation and no logi
最新バージョンはコチラです。 Milkode(ミルコード)はソースコード検索エンジンです。手元にある大量のソースコードを登録し、ブラウザで閲覧したり検索することが出来ます。20000ファイル位であれば1秒位で特定の一行を見つけることが可能です。 Rubyで書かれており、使っているライブラリも含めてRubyGem経由でインストールすることが出来ます。 OSX, Unix $ sudo gem install milkode Windows(32bit) $ gem.bat install rroonga --platform x86-mingw32 $ gem.bat install milkode Windows(64bit) ※ 事前に64bit版rroongaのインストールが必要です。 $ gem.bat install milkode詳しいインストール方法はホームページをご覧下さい。
“アメージング・グレース[1]”グレース・ブリュースター・マレー・ホッパー (Grace Brewster Murray "Amazing Grace" Hopper, 1906年12月9日 - 1992年1月1日) は、アメリカ海軍の軍人かつ計算機科学者。75歳で退役、最終階級は准将[2]。ハーバード マークIの最初のプログラマーの一人であり、プログラミング言語COBOLの仕様開発に影響を及ぼした。「人は変化に対してアレルギーがあります。あなたは外に出ていってアイデアを売りこまなくてはなりません」という言葉で知られる[3]。 グレース・ブリュースター・マレー(Grace Brewster Murray)としてニューヨークに生まれ、1928年にヴァッサー女子大学を卒業。イェール大学大学院に進み、1930年に数学と物理学の修士号を取得。同年にヴィンセント・ホッパー(1906年-1976年)と
ちょっと最近というか、ここ数年はというか、ここ10数年は、 常に強迫的に勉強せざるえない状況が続いておりまして、 まぁその辺の反省も踏まえて、 特に今後のIT屋さんとして何が必要ですか、 という点をまとめておく。 「マスターしておきたい技術」という感じです。 今は汎用機・オープン化に変化があった時期以上の転換期でもあり、 twitterのTL上の知り合いのほぼ8割強が ここ一年で転職するという異常事態になっています。 自分自身も現状の会社では満足に仕事ができないということで 会社を作ったという経緯もあり、 そんな中で、動く人たち「共通の仕様」みたいなものを感じます。 そんなこんなで、 要は、特に一線で活躍している技術者の人たちには、 共通のコモンセンスというのがあるな、 ということを良く思う訳です。 これは冷静に見ると、汎用機の時代からあまり変わってなくて、 つまり基礎(基本ではないですよ
DailyJS - A JavaScript blog. Google CodeやGitHubをはじめさまざまなプロジェクトホスティングサービスが存在する現在では、オープンソースプロジェクトはとても簡単にはじめられる。ただし、そういったプロジェクトのすべてが優れた結果を残せるわけではない。大半のプロジェクトは終わらせることもできず、ただ誰にも触られることのない存在になっていく。 プログラマであれば誰しもより優れたプログラマになりたいと考えるだろう。WebにはプログラミングテクニックやTIPS、デザインパターンやアンチパターンなど、さまざまなプログラミングに関するノウハウがあり、多くのプログラマがそうしたノウハウを活用している。しかしながら、いくら努力してもいまいち自分のスキルの上達を感じられない方も少なくないだろう。 以前からよく言われていることだが、Alex Kessinger氏が7月2
(本記事は、InfoQに掲載された平鍋健児氏の記事「What has happened and is happening in Japan’s Agile movement」を、InfoQ Japanの許可を得て翻訳、転載したものです) この10年の私のアジャイル人生でもっとも誇らしい出来事と言えば、Agile2008で「Gordon Pask Award」を受賞したことでした。振り返れば、私が初めて参加したアジャイル関連のイベントは、ソルトレークシティで行われた「Agile Development Conference 2003」で、そこで私は賞をもらったことを思い出します。それは「Thank-you-very-much-for-coming-all-the-way-from-Japan Award」(わざわざ遠い日本からようこそいらっしゃいましたで賞)でした。 この記事では、私は「Go
Google App Engine Google App Engine SDK 1.5.0で実験的にプログラミング言語「Go」のサポートが追加されたが、今回の新しいGoogle App Engine SDK 1.5.2において誰でも利用できるようになった。これでGoogle App Engineがサポートするプログラミング言語はPython、Java、Goの3つとなる。 Python版のSDKはWindows、Mac OS X、Linuxまたはそのほかのプラットフォーム向けの3種類が提供されているが、Go版のSDKはLinux版とMac OS X版のみの提供となる。それぞれ64ビット版と32ビット版が提供されている。Google App Engineの開発チームは5月10日(米国時間)にGo言語の実験的なサポート追加を発表してから開発を継続してきたと説明しており、一般提供可能なレベルに到達
オリジナルはココです。フェイスブックのエンジニアでで史上ベスト3に入るといわれるEvan Priestley氏への質問「どうやってプログラミングを覚えましたか」に対する本人からの答えです。 手短かに言えば 何年もの歳月の賜物というか。ぼくはただひたすらプログラミングが大好きで、(フェイスブックで働いていた)過去4年間、ほとんど他のことをしていない。その前も2.5年ほどプログラマーとして働いていたし、そのさらに前も6年くらい趣味でプログラミングをしていた。ぼくは高校も大学も中退しているので、それで空いた時間もプログラミングに費やした。つい最近フェイスブックを辞めたけど、未だに起きている時間のほとんどはプログラミングだ。 もっと詳しく言えば 月並みだが、ぼくはちっちゃい頃からコンピューターが好きで、我が家にあったヤツで(最初はMac Plusで途中からIIsiになった)で散々遊んだ。8歳か9歳
7月1日にCookpadにインターンとして参加してから1週間が経過した。「インターンに参加する」では齟齬があり、「インターンとして参加する」が最もしっくりくる雰囲気。ここでは時間が過ぎていくのが速すぎて恐ろしい。月と太陽まで高速なサイクルを回さなくてもいいのに。 今まではてなで働いた経験しかなかったけど、今回クックパッドで働いた経験が1週間貯まった。これまでは「はてなだからこうしているのかもしれない」という捉え方しか出来なかったけど、この時点で「ああどこも共通してこうなっているのかも」という視点に立って考えることが出来る状態になった。その視点から考えてみて、幾つかの共通する意見が明確になってきた。 学習コスト Cookpadの開発は、途中からJoinしやすい環境が整っていた。Railsを採用しているところは特に、内製フレームワークに対する理解の為の学習コストが発生することなく、開発に取り掛
プログラマ1人で完成できる仕事に、2人のプログラマを投入して、直感的に判断してペアプログラミングを拒否する人がいます。これには大きな間違いとリスクが潜んでいます。ペアプログラミングに対する真実を理解しましょう。 ペアプログラミングはコードを書く時間が15%増える 1999年にユタ大学でおこなわれた実験によれば、設計の時間を別にして、ソロプログラミングに対してペアプログラミングを実施したペアは平均して15%多く、プログラムを書く時間に費やしました。 では、なぜペアプログラミングを選択するのか? 将来的なテストと現場のリソース要求を減少させるためです。一般的なシステムにバグが見つかると業界のデータでは、33時間から88時間を修正に費やすそうです。これが、開発期間中に欠陥を修正すると0.5時間から88時間の時間を節約できることになるのです。したがって、ペアプログラミングは寿命の長いソフトウェアほ
Microsoft Developer Blogs Get the latest information, insights, and news from Microsoft. AI agents are quickly moving from experiments to production‑critical components of modern applications. But while many teams know how to build agents, far fewer are confident they’re hosting them on the right foundation. Most organizations start by deploying agents the same way... We're shipping two major capa
CSS3がいくらパワフルとはいえ、さすがにここまで凝ったものが作れるとは思いませんでした。 まずはChromeでこちらを遊んでみてください。 CSS3 OF THE DEAD - jsdo.it - share JavaScript, HTML5 and CSS まるでJSをバリバリ使ったゲーム、のように見えますが、実は「Only CSS」。上のSTOPボタンを押すとコードを確認することができます。 jsdo.itでCSSプログラミングが流行中! ええ、どう考えても無茶なんです。CSSはプログラミング言語じゃないですからね。 CSSの機能を巧みに組み合わせて作成されています。 ということで、投稿作品のほんの一部を紹介したいと思います。 CSS PANIC CSSだけで作られたワニワニパニック。 このコードは海外のユーザーにも大きな反響を呼びました。
(本記事は @suer, @mallowlabs, @mzp がノリノリで共同執筆しました!) 近代的なソフトウェア開発に必要なツールは3つある。 分散バージョン管理ツール ITS CI ツール 私はこれに AsakusaSatellite (以下AS)を加えたいと思う。 以上の4ツールを使用することによって、迅速なコミュニケーション、洗練された自動化をベースとした開発リズムを体験することができる。 このあとの節では具体的なユースケースをベースに、上記ツールの連携方法及びそのメリットをみていく。 ユースケース:開発中にソースコードの特定行で例外が発生した原因を探る ここは codefirst の開発室。 @suer と @mallowlabs と @mzp はリズム良くコードを書いています。 そんなとき、ビルドの異常を知らせるポップアップが表示されます。 さっそくAS 上でミーティングがは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く