アジャイル開発で著名なエンジニアの筆者は、アジャイルの流儀で英語学習のメソッドをまとめ、自ら実践。英語がほとんどできなかった状態から7カ月後には、海外のカンファレンスで講演とQ&Aをこなすまでになった。その奥義の一端を披露するとともに、その後、海外での留学や講演などで得た気づきを紹介する。 目次
前回は、LINEの中核となる機能について説明したが、その内容を見ても分かる通り、チャットやIP電話など、パソコンのインスタントメッセンジャーが備えていた機能に近い。それらをスマートフォン向けに最適化し、より分かりやすく、使いやすくしているのが、LINEの特徴といえるだろう。 とはいえスマートフォン向けに、LINEと同様の機能を提供するサービスは、他にも多数存在する。ライバルが数多く存在する中で、後発のLINEが国内外で5500万ものユーザー登録を獲得するなど、多大な人気を獲得した要因は、どこにあるのだろうか。以下で見ていこう。 チャット・無料通話アプリは競合が多い スマートフォンのマーケット上には、LINEと同じように、リアルタイムのチャットができるインスタントメッセンジャーや、IP電話による無料通話を実現するアプリは数多く存在する。しかもその多くは、LINEの登場以前から提供されていたも
2012年4月4日から5日にかけて、日本で7年ぶりに開催されたJavaOne Tokyoのレポート。前編では、キーノートセッションを中心にレポートしました。後編では、Java SEとJavaFXに関するセッションを中心にレポートします。 Java SE Java SEに関するセッションにはProject CoinなどJava SE 7に関するセッション、Project LambdaなどJava SE 8に関するセッション。また、それ以外のセッションに大別できます。ここでは、Java SE 8に関するセッションから、キーノートでも取り上げられたProject LambdaとProject Jigsawについてレポートします。 Project Lambda: To Multicore and Beyond セッションを担当したのはOracleのDavid Holmes氏。Holmes氏はJav
OpenGLとは、「Open Graphics Library」の略で、グラフィックスのためのライブラリである。当初は、米Silicon Graphics(当時)が開発していたが、現在ではKhronos GroupがOpenGLサイトを管理している。 OpenGLは、グラフィックスハードウエアと連携した2Dグラフィックスと3DグラフィックスのAPIが用意されている。現在では携帯電話やスマートフォンにも搭載されているが、OpenGL ESは、組み込み機器などのためのOpenGLのサブセット版である。 NTTドコモの携帯電話にも初期の一部のFOMA機種から搭載されはじめ、iアプリではDoJa5.0からOpenGL ES1.0のAPIが提供され始めた。その後DoJa5.1でOpenGL ES1.1に対応し、現在ではiアプリのOpenGL機能は数多くの携帯電話で対応している。ただし、すべての携帯電
Webブラウザとテキストエディタさえあれば、プログラミングして実行できるシンプルで手軽な言語――。それがJavaScriptが初めて登場してからしばらくの間、多くの人が抱いた印象でした。しかし、Ajaxの登場に伴う第2のブーム以降、ハードルが高くなったように感じられます。 その大きな理由の一つが、DOM(Document Object Model)に基づくJavaScriptプログラミングでしょう。DOMは、HTMLやXMLを構成する各要素に対して、プログラムからアクセスして内部の情報を取得・変更したり、機能を利用したりするためのAPI(Application Programming Interface)です。DOMを使うことによって、WebページをリロードせずにWebページを部分的に書き換えたり、HTMLドキュメントの構造を動的に変えたりといったことが可能になります。 DOMは便利な仕組
JavaScriptは1995年に誕生しました。JavaScriptの実行環境がWebブラウザであったこともあり、JavaScriptの歴史はWebブラウザの歴史そのものでした。Webブラウザ間の互換性やセキュリティの問題などで“不遇”の時代はあったものの、2010年現在、JavaScriptはWebサイト開発になくてはならない存在となっています。 JavaScriptを取り巻く環境は、15年の間にすっかり様変わりしました。Webサイト開発者であるプログラマが書き上げるJavaScriptプログラムが単体では完結しなくなっているのです。単体で使えないとはどういうことでしょうか? 現在のJavaScriptプログラミングには、大きく二つのトレンドがあります。一つは、外部のJavaScriptライブラリを取り込んで利用すること、そしてもう一つは、大手Webサイトなどが公開しているWeb API
言語を知らなくても簡単にAndroidアプリが作れる――。誰でもプログラマになれる“驚愕”の開発ツールが登場した。米Google社が提供する「App Inventor」だ。早速、開発のしやすさを体験してみた。 米Google社は2010年12月16日、Androidアプリを開発するためのツール「App Inventor」のベータ版を一般公開した。同年7月から登録者のみに提供していたものだ。ツールおよびWebサービス、Javaアプリの3つの組み合わせで実現している。 App Inventorの特徴は、プログラムをコーディングしなくても、Androidスマートフォンで動作するアプリが即席に作れること。パズルを組み合わせる感覚でプログラムを作成できる(図1)。Javaを知らない人でも、Androidスマートフォンを持っていれば、そのまま個人用のアプリが即製可能だ。
前回はAndroidの機能やアプリの紹介を通じて,Androidの概要や特徴をお伝えした。第2回からはいよいよ,Androidアプリの開発手法の説明に入る。今回の記事のゴールは,まず開発環境を整え,プログラミングの初めの一歩として「Hello World」アプリケーションを構築することだ。 Androidアプリケーションの開発には,Googleが無償で提供する「Android SDK」を利用する。Android SDKは開発者向けサイト「Android Developers」(図1)からダウンロードできる。Android SDKは,Java言語を利用した開発に必要なツールとAPIを提供しており,Androidエミュレータも含まれているので,Android SDKをインストールしたPC上でのデバッグ作業も可能だ。 Android Developersには,開発ガイドが用意されており,開発に必
米Googleは米国時間2010年3月8日、携帯電話機向けソフトウエア基盤「Android」用アプリケーションの一部をC/C++言語で記述できるようにする開発キットの新版「Android Native Development Kit(NDK)r3」を公開したと発表した。Windows/Mac OS X/Linux用バイナリを開発者向けWebサイトで無償ダウンロード提供している。 新版はAndroid 1.5以上に対応しており、Android 2.0(APIレベル5)以上の場合は3次元グラフィックスAPI「OpenGL ES 2.0」の利用が可能。ツールをC/C++コンパイラGCC 4.4.0対応にアップグレードしたため、従来より小さく効率的なコードが生成できるという。 Android NDKは、Androidアプリケーションから呼び出し可能なC/C++ライブラリを開発できる。仮想マシン「D
家電製品や通信機器をはじめ、組み込み機器へのLinux搭載はますます広まっています。Linuxで組み込み機器を開発するには、機器だけでなく、Linuxのライブラリやデバイス、Linux上のアプリケーション開発などの知識や技術が必要です。本連載では、組み込み機器を実際に開発する作業を通して、これらの知識や技術を詳しく紹介します。 デバイスの開発には、組み込みLinuxで今注目の「Android」を使います。Androidは米Google社とOpen Handset Allianceが開発しているモバイル機器向けLinuxです。パソコンやカーナビなど各種機器への搭載も期待されています。本連載では、Androidのアプリケーション開発の知識や技術も解説していきます。 開発する機器は、「拡張現実感」(Augmented Reality:AR)を実現するデバイスです。拡張現実感とは、現実の状況にコン
現実世界の映像に情報を重ね合わせる「拡張現実(AR)」。20年来研究が続いてきた技術が今,パソコンや携帯電話の性能向上によって花開こうとしている。しかし本格的なアプリケーションの普及はまだこれから。ユーザー発の新発想が求められている中,誰もが試せるSDK「ARToolKit」を開発した奈良先端科学技術大学院大学の加藤博一教授に,AR研究の現実を聞いた。 学生時代に画像解析を研究テーマにしていて,その留学先でARに触れたのが始まりです。1998年の3月に留学したワシントン大学で,さて「何を研究しようか」と思ったときに,同大のHuman Interface Technology Lab(HITLab)でARを研究テーマに選んでいたMark Billinghurstに出会いました。 当時の彼はARの研究を始めたばかりで「(ソフトウエアなどの)物がない」と言う。その頃はリアルタイムの画像解析が,そ
「Code Reading―オープンソースから学ぶソフトウェア開発技法」(毎日コミュニケーションズ発行,写真1)という本があります。私はこの本の監訳者ですから,やや自画自賛になってしまいますが,ソースコードの読み方を主題にした本はほかにはあまりありません。技法からツール,データ構造,アーキテクチャ,さらには実際にコードを読んで利用する実例まで紹介している網羅的で良い本だと思います。 この本の「はじめに」で「達人プログラマー」として知られるDave Thomas氏は以下のように書いています。 他人の作品を読まなかった偉大な作家,他人の筆づかいを研究しなかった偉大な画家,同僚の肩越しに技を盗まなかった腕のよい外科医,副操縦席で実地の経験を積まなかった767機長――果たして,そんな人たちが本当にいるのでしょうか? たしかにその通りです。ソフトウエア以外の領域では修行することとはすなわち,他の人の
グーグルはWebブラウザ「Google Chrome」など100種類を超えるオープンソースプロジェクトを社外に公開している。「Google Code」という開発者向けWebサイトでは、ソースコードだけでなく、グーグル社員同士のやり取りや仕事の進め方まで公開されている。そこから垣間見えるグーグル気質を分析する。(日経コンピュータ) グーグルのことを、「『世界中の情報を整理する』という大きな野心に向けて突き進むエリート集団」と思っている読者も多いだろう。そのような会社のプログラマであれば、書いたソースコードも厳しい規律に従う秩序だったものに違いない、と思うのが自然だ。 確かに、グーグルの開発スタイルの厳格さはよく知られている。例えば、グーグル日本法人の鵜飼文敏氏が行った講演を見ると、同社は、デザインドキュメント(コーディングの前に設計情報を文書化するプロセス)、コードレビュー(他のチームメンバ
2009年1月にスクウェア・エニックスが発売したRPG「ファイナルファンタジー クリスタルクロニクル エコーズ・オブ・タイム(FFET)」は,任天堂のゲーム機「Wii」と「ニンテンドーDS(DS)」という二つのプラットフォームで動作し,しかも相互に通信できる点が売りだ。その開発に際して,DS向けにソフトを開発し,そのソース・コードを改変することなくWiiで動かせるようにするという方法だ。 当初FFETはDS向けに開発が進められていた。開発から2カ月が経過して社内評価版が一度完成した後で,「据え置き機と携帯機という,コンセプトやプレイスタイルが異なる機種間で同じゲームを一緒に楽しめたら面白いのではないか」(開発部の紙山満氏)。そこで一種の仮想マシン的なレイヤーをWii上で作ることにした。「開発ツールがDSとWiiで共通する『Code Warrior』なので,まずはDS版のソース・コードをその
WINGSプロジェクトは,有限会社WINGSプロジェクト(代表取締役:山田祥寛)が運営するライティング・チーム。海外記事の翻訳から,主にサーバーサイド分野の書籍/雑誌/Web記事の執筆,講演,アプリケーション開発などを幅広く手がけています。2009年8月時点での登録メンバーは30名で,現在も一緒に執筆をできる有志を募集中。執筆に興味のある方は,どしどし応募ください。 2009年7月16日,東京六本木でデザイナー,開発者向けイベント「ReMIX Tokyo 2009」が開催されました。同イベントで,ヤフーを初めとする国内企業でのSilverlightの採用事例のデモやSilverlight 3の日本語環境リリースのアナウンスがされました。 Silverlightはマイクロソフトが開発したクロスプラットフォーム/クロスブラウザ対応のプラグイン。Silverlightを利用することで,動画やアニ
「ITの現場に残業はつきもの,減らせない」。あなたはこう諦めていないだろうか。仕事量が1.5~2倍に増えたことを機に,逆に残業時間を半減させた現場がある。どう取り組み,何をどう変えたのか。まずは,その事例をご覧いただきたい。 本記事は日経SYSTEMSの特集をほぼそのまま再掲したものです。初出から数年が経過しており現在とは状況が異なる部分もありますが,この記事で焦点を当てた開発・運用現場の本質は今でも変わりません。 「残業時間が増えるどころか,以前の半分にまで減らせるとは」。NECビッグローブで社内システムの開発を手掛けるサービス開発本部 マネージャー,小泉智明氏は,こう言って驚きを隠さない。 同社が残業削減の取り組みに乗り出したのは,2006年秋。それからの1年で,社内システムの開発部門が手掛ける案件の数は,1.5~2倍に増えた。その間,人員増はほとんどない。それにもかかわらず,1人当た
進捗会議や検討会議,障害対策会議やちょっとした打ち合わせなど,システム開発プロジェクトの現場では日々何らかの会議が行われる。その際,事前に資料を準備して配布する方法もあれば,ペーパーレスでプロジェクタに情報を映し出して行う方法もある。これらの会議は,やり方次第では何の成果もなく終わることが少なくない。終わった後,いったい何のための会議だったのかと思うことはないだろうか。“空中戦”主体の会議を行っていると,どうしてもこのような会議になりがちなのだ。 ここで言う空中戦とは,お互いの意見を文字にすることなく,ただ口頭だけで会議を行うことを指す。参加者の頭の上をお互いの言葉が飛び交い議論(戦闘)している様子が,まるで戦闘機が空の上で戦っている様子に似ているところから作られた造語である。確かに見た目には華々しい空中戦ではあるがそれで大勢が決することはない。 7時間を無駄にしたKさん Kさんは入社12
「Google App Engine」は,米Googleが提供しているWebアプリケーション開発/実行環境です。2008年4月に先着1万人限定でプレビュー版を公開,同年5月末からは人数制限を撤廃して,無料のユーザー登録をすれば誰でも使えるようになりました。ここでは,2008年末時点のGoogle App Engineの使い方を紹介します。 ※ 記事は執筆時の情報に基づいており,現在では異なる場合があります。 「Part1 Google App Engineの基礎知識」で説明したように,GoogleはGoogle App Engine(以下GAE)のために8種類のライブラリを用意しました。これらの8種類のライブラリの中には,特殊な用途に対応するものや,上級者向けのものもあります。 このPart2では,GAEアプリケーションの作り方をこれから覚えようという方のために,最初に使い方を覚えておきた
プログラミングで用いられる様々な概念そして用語…。なんとなくわかっているようで,実はあいまいな理解のまま使っていたりするものだ。そこで日経ソフトウエア探偵局では,直ちに優秀な探偵を派遣して真相の追求に当たります…じゃなくて,調査と実験によって謎を解き,「なんとなく」の部分を「すっきり&はっきり」させてみようと思う。 第1回の調査対象は,どのようなプログラミング言語でも必ずお世話になる「変数」だ。なお,言語には主にC,C++,Visual Basic(VB)を用いる。 変数がプログラムの「柔軟さ」を支えている 様々なデータを保持し,そのときの状況に応じて自在に姿を変える「変数」。どのようなプログラミング言語でも必ずお世話になる。プログラムの自由度は条件判断に基づく分岐や繰り返しといった制御構造によってもたらされていると思っている人は多いと思う。が,プログラムの挙動を臨機応変に切り替えている本
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く