タグ

ブックマーク / xtech.nikkei.com (64)

  • 第3回 3つのプログラミングのパラダイムを押さえておこう - 10年後も通用する基本って何だろう:ITpro

    2001年の発行以来「10年後も通用する基を身につけよう」のキャッチフレーズのもと読み継がれてきた書籍「なぜ」シリーズ。この先の10年に向けて、何をいま知っておくことが重要なのかを著者の皆さんに語ってもらいます。(編集部) プログラミング言語には、様々な種類があります。オープン系システムを中心に幅広く使われているJavaやC#、メインフレームでは現役バリバリのCOBOL、制御系システムで一般的なC言語、Webサイト開発に特化したPHPあたりが現在主流の言語でしょうか。またiPhoneアプリ開発で使うObjective-C、Windowsアプリ開発に特化したVisual Basic、日が世界に誇るRubyも人気があります。さらに元祖オブジェクト指向言語のSmalltalk、関数もデータもカッコで記述するLisp、世界最古の高級言語のFORTRANもありますね。この記事を読んでいる方の中に

    第3回 3つのプログラミングのパラダイムを押さえておこう - 10年後も通用する基本って何だろう:ITpro
  • みずほ銀行、障害の発端は人為ミス - 日経コンピュータReport:ITpro

    「社会インフラを担う銀行として、あってはならないトラブル。ご迷惑をおかけした皆様におわび申し上げる」。みずほ銀行の西堀利頭取は、3月15日から続く大規模システム障害に関する記者会見でこう陳謝した。 15日朝に表面化した障害は、振り込みシステムから起きた。「初動対応に不手際があった」(西堀頭取)ため、これが勘定系システムに波及(図)。その結果、最大で116万件の振り込みが未処理になった。窓口業務やATMもたびたび停止した(表)。

    みずほ銀行、障害の発端は人為ミス - 日経コンピュータReport:ITpro
  • 誰でも即席“Androidプログラマ”に、Googleが開発ツール「App Inventor」を一般公開

    言語を知らなくても簡単にAndroidアプリが作れる――。誰でもプログラマになれる“驚愕”の開発ツールが登場した。米Google社が提供する「App Inventor」だ。早速、開発のしやすさを体験してみた。 米Google社は2010年12月16日、Androidアプリを開発するためのツール「App Inventor」のベータ版を一般公開した。同年7月から登録者のみに提供していたものだ。ツールおよびWebサービスJavaアプリの3つの組み合わせで実現している。 App Inventorの特徴は、プログラムをコーディングしなくても、Androidスマートフォンで動作するアプリが即席に作れること。パズルを組み合わせる感覚でプログラムを作成できる(図1)。Javaを知らない人でも、Androidスマートフォンを持っていれば、そのまま個人用のアプリが即製可能だ。

    誰でも即席“Androidプログラマ”に、Googleが開発ツール「App Inventor」を一般公開
  • 「New I/Oで高速な入出力」第6回 ノンブロッキングI/Oを使ってみる:ITpro

    先週はノンブロッキングI/Oがどういうものかを解説し,ベンチマークを行ってみました。今週は実際にコードを書いてみましょう。 ノンブロッキングI/Oが真価を発揮するのはサーバーなので,ここでもサーバーに関して解説します。 Selectorクラス ノンブロッキングの主役となるのが,先週言及したjava.nio.channels.Selectorクラスです。 主役がSelectorクラスだとしたら,脇役は? 脇役として登場するのはjava.nio.channels.SelectableChannelクラスです。そして,黒子としてjava.nio.channels.SelectionKeyクラスがいます。 Selectorクラスは入出力に関する操作を監視するためのクラスです。監視する対象であるチャネルがSelectableChannelクラスになります。 SelectableChannelクラスは

    「New I/Oで高速な入出力」第6回 ノンブロッキングI/Oを使ってみる:ITpro
    hacked
    hacked 2011/02/09
  • 刺激を求める技術者に捧げるScala講座---目次

    連載では,次世代のエンタープライズ・プラットフォームを支える言語として,このところ最も注目を集めている言語「Scala」の魅力をお伝えしていきたいと思います。Scalaは,技術的にもかなり刺激的で,楽しい言語に仕上がっています。最初の一歩から刺激的な技術解説まで,幅広くScalaおもしろさ,楽しさをお伝えしたいと思います。 第1回 なぜScalaなのか? 第2回 Scalaの基的な文法 第3回 Scala言語を探検する(1) 第4回 Scala言語を探検する(2) 第5回 Scala言語を探検する(3)関数型言語としてのScala 第6回 Scala言語を探検する(4)Scalaの型システム 第7回 関数脳のつくり方 First Season 第8回 Scala DSLでできること 第9回 Scala DSL事始め(前編) 第10回 Scala DSL事始め(後編)

    刺激を求める技術者に捧げるScala講座---目次
    hacked
    hacked 2010/09/14
  • 「Java SE 6完全攻略」Garbage First GC

    Javaがヒープの管理にGCを使用しているのは、読者の皆さんもご存じの通りです。GCの手法にはいろいろありますが、HotSpot VMが採用しているのが世代別GCです。今回は、世代別GCの概要と問題点を解説したうえで、これを解決するために導入されたGarbage First GCについて説明します。 世代別GCの概要と問題点 世代別GCは若いインスタンスと時間を経たインスタンスを別々の領域に配置し、管理する手法です。これは寿命の短いインスタンスほど多いという性質をベースにしています。 若いインスタンスが配置される領域をヤング領域、時間を経たインスタンスを配置する領域をオールド領域とよび、それぞれの領域で異なるGCの手法を使用します。つまり、ヤングとオールドという世代の異なる領域を、それぞれ異なるGCで管理するのが世代別GCというわけです。 ヤング領域には高速ですが漏れのあるGCを用います。

    「Java SE 6完全攻略」Garbage First GC
  • 「Java SE 6完全攻略」第5回 プロファイラ hprofとよき相棒 jhat

    アプリケーションのパフォーマンス・チューニングなどで使用するツールといえば,まず第一にあげられるのがプロファイラです。最近は,EclipseのTPTPや,NetBeans Profilerなどフリーで使えるプロファイラが増えてきたので,使ってみたことがある方も増えてきていると思います。 意外に知られていないのですが,Java SEにも標準でプロファイラが付属しています。それがhprofです。 Java 2 SE 5.0からは「-agentlib:hprof」という起動オプションでhprofを起動できます(J2SE 1.4.までは「-Xrunhprof」)。使い方はヘルプ・オプションで表示できます。 C:\temp>java -agentlib:hprof=help HPROF: Heap and CPU Profiling Agent (JVMTI Demonstration Code)

    「Java SE 6完全攻略」第5回 プロファイラ hprofとよき相棒 jhat
  • [実装編]メモリー管理を処理系任せにしてはいけない

    Javaや.NETを使うと,メモリー管理を意識しなくてもプログラミングできる。例えばJavaの場合は,Java VM(Virtual Machine)が備える「ガベージ・コレクタ」と呼ぶメモリー管理機能が,未使用のオブジェクトを破棄してメモリーを解放するといった処理を自動的に実行する(図1)。 図1●JavaVMによるメモリー管理の仕組み ヒープ領域は,生存期間の短いオブジェクトを格納する「New領域」と生存期間の長いオブジェクトを格納する「Old領域」で構成される。New領域はさらに,最初にオブジェクトを格納する領域「Eden」と,しばらく生存しているオブジェクトを格納する「世代0」「世代1」から成る。Edenに存在するオブジェクトは,生存期間が延びるにつれて,世代0または世代1に移動。世代0と世代1を何度か移動した後,最終的にOld領域に移される [画像のクリックで拡大表示] だが,処

    [実装編]メモリー管理を処理系任せにしてはいけない
    hacked
    hacked 2010/06/19
  • 第4回 全文検索エンジン「Lucene/Solr」の用途と良さ

    情報インフラの発展に伴い,私たちが接する情報の絶対量は増加の一途をたどっています。そのため,目的とする情報をすばやくピンポイントで入手するのが困難な状況も増えています。 一方で情報提供側にとっても,情報を確実に利用者に届けることがビジネスの成功に重要な要素となってきており,これを実現するための努力が日々続けられています。 このような状況で,高速で柔軟性が高い検索処理のニーズが高まってきており,全文検索エンジンが注目を集めています。ここでは,オープンソースの全文検索エンジンである「Lucene/Solr」を紹介します。 Lucene/Solrとは Lucene/Solrは,Apache Software Foundation(ASF)のLuceneプロジェクトで開発されているソフトです。LuceneはPure Javaで実装された全文検索エンジンで,単独では実行不可能なライブラリの形式で提供

    第4回 全文検索エンジン「Lucene/Solr」の用途と良さ
  • Part1 オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro

    「Code Reading―オープンソースから学ぶソフトウェア開発技法」(毎日コミュニケーションズ発行,写真1)というがあります。私はこのの監訳者ですから,やや自画自賛になってしまいますが,ソースコードの読み方を主題にしたはほかにはあまりありません。技法からツール,データ構造,アーキテクチャ,さらには実際にコードを読んで利用する実例まで紹介している網羅的で良いだと思います。 このの「はじめに」で「達人プログラマー」として知られるDave Thomas氏は以下のように書いています。 他人の作品を読まなかった偉大な作家,他人の筆づかいを研究しなかった偉大な画家,同僚の肩越しに技を盗まなかった腕のよい外科医,副操縦席で実地の経験を積まなかった767機長――果たして,そんな人たちが当にいるのでしょうか? たしかにその通りです。ソフトウエア以外の領域では修行することとはすなわち,他の人の

    Part1 オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro
  • Damn Small Linux 4.2

    図2●主なライブLinuxのメイン・メモリーの使用量 DLSは軽量LinuxのPuppy Linuxと並んでメイン・メモリーの使用量が少ないことがわかる。メイン・メモリーの使用量は各ライブLinuxを起動した直後に計測した。 [画像のクリックで拡大表示] 最近のOSは,Windows VistaやMacOS Xなどのように高機能化が進んでいる。しかし,高機能化と共にOS自身の容量が肥大化している。Windows VistaなどのOSでは,OSを利用するためにハード・ディスクに数Gバイトの容量が必要になる事もある。この傾向はLinuxディストリビューションでも同じであり,高機能化とともに体の肥大化が進んでいる。 これに対し,できる限り軽量にしようとしているLinuxディストリビューションも存在する。その中で,非常に軽量に作成されているのが「Damn Small Linux」(以下,DSL)

    Damn Small Linux 4.2
  • グーグルは“異形”のメーカー。ここが違う10個のポイント

    グーグルは世界有数のハードウエアメーカーであり、ソフトウエアメーカーである。1990年代末に他に先駆けて「情報爆発」に直面し、いち早くそれに対応したグーグルのコンピュータは、従来のコンピューティングと比較すると常識外れにすら見える進化を遂げた。グーグルコンピューティングの特異さを10個紹介しよう。 (1)自前主義 グーグルは売上高を見ると「広告会社」だが、その実態は7000人を超えるエンジニアを抱える世界有数のメーカーである。しかもそのコンピューティングのあり方は、従来型のそれと大きく異なる(図1)。グーグルが“異形”のメーカーなのは、同社がハードもソフトも自前主義を貫いているからだ。 使用するサーバーはすべて自社開発だ。一部報道では、グーグルは台数ベースで米デルや米ヒューレット・パッカード(HP)に次ぐ「世界第3位」のサーバーメーカーだという。 サーバーだけではない。2007年、大手ネッ

    グーグルは“異形”のメーカー。ここが違う10個のポイント
  • 第4回 SpringMVCの基本を知る

    NDSインフォス株式会社 東京支社。Struts/Springベースのフレームワーク開発,プロジェクト支援に携わる。 今回から数回に分けて,Springから提供されているSpringMVCと呼ばれる機能について説明していきます。SpringMVCは,Webアプリケーションを簡単に作るための機能を提供します。具体的には,画面遷移や,ブラウザ-サーバー間の入出力パラメータの受け渡しです。Strutsというフレームワークをご存じの方は,SpringMVCも似たようなものととらえてもらえればわかりやすいと思います。 稿は,SpringMVCの基編として,画面遷移や入出力パラメータの受け渡しなど,最小限のWebアプリケーションを作るための説明をします。その他にも,SpringMVCは,ユーザーの送信したパラメータに対する入力チェック,2度押しチェック,セッション値の取り扱いなど,様々な機能を提供

    第4回 SpringMVCの基本を知る
  • 独自の手法で10倍速開発 7割主義で変化対応力を高める

    良品計画は独自の開発手法を採用することで、システム開発の短期化とコスト削減を図った。2006年12月に再構築したMD(マーチャンダイジング)システムを皮切りに、08年12月までに約130のアプリケーションを社内で開発。一方で、IT 投資の売上高比率は04年の1.8%から0.9%に半減させた。「7割主義」と「スピード対応」を方針に掲げ、利用部門の要望に最速1日、遅くとも1~2週間で対応する。開発手法の独創性と、経営に資するシステム部門の姿が評価された。 「無印良品」ブランドの小売店を展開する良品計画は、1週間に1という猛スピードで新しいアプリケーションを開発したり、機能を強化したりしている。「思い立ったら即実行。合格最低ラインの7割主義で素早くシステムを開発し、検証と改善を繰り返す」。IT戦略を統括する小森孝取締役 情報システム担当部長兼流通推進担当管掌は強調する。 同社は独自の開発方法論

    独自の手法で10倍速開発 7割主義で変化対応力を高める
  • WebアプリをC++ で開発するためのテンプレート・エンジンをオープンソースとして公開:ITpro

    ソフト開発会社のプリファードインフラストラクチャーは2006年10月13日,CGI(Common Gateway Interface)を用いたWeb連携アプリケーションをC++言語で開発するためのソフトウエア部品群「AzaraC(あざらし)」をオープンソースとして公開した。ビュー(HTML)とロジック(C++)とを分離する開発が可能になる。ライセンスはBSDライセンスに準拠する。 AzaraCは,C++言語で書かれたWebアプリケーション開発フレームワークである。HTMLを記述して画面のビューを作るためのテンプレートと,テンプレートと連携して業務ロジックをC++言語で記述するためのC++ソース・コードとを分離するテンプレート・エンジンを中核とする。これにより,開発生産性とメンテナンス性が高まる。また,CGI経由で実行するアプリケーションはコンパイル済みのC++プログラムになるため,他のイン

    WebアプリをC++ で開発するためのテンプレート・エンジンをオープンソースとして公開:ITpro
    hacked
    hacked 2009/07/07
  • 第6回 イベントハンドラから脱却しよう

    今回はイベントについて学んでいきましょう。JavaScriptによるアプリケーションを作成するうえでは,イベントは欠かすことができない要素です。 ここでは,旧来より使われてきたイベントハンドラのおさらいと,イベントハンドラの問題点を考察します。そして,イベントハンドラに置き換わるW3C DOMイベントモデルの基礎を学んでいきます。 イベントとは イベントとは,ブラウザ上で発生した出来事全般のことを表します。例えば,ブラウザに表示された画面上でマウスをクリックしたり,テキストボックスに文字を入力するといったように,閲覧者が何か操作したときにイベントが発生します。また,HTMLがブラウザに読み込まれたり,別のページに移動したという現象もイベントとして認識されます。 まずはじめに,旧来より使われてきたイベントハンドラについておさらいしましょう。 イベントハンドラ イベントをJavaScript

    第6回 イベントハンドラから脱却しよう
  • memcachedを超える成果も、Interopで若手技術者がクラウドを支える技術を競う

    「日でゼロからクラウドを生み出すムーブメントを作り出したい」(実行委員長 門林雄基氏)---“クラウドを支える技術”の開発力を競う「クラウドコンピューティングコンペティション」が2009年6月11日、Interop 2009の会場で開催された(写真1)。企業や大学・大学院の研究者、そして高校生を含む若手エンジニアが、新しいアイディアと技術力で作り上げたクラウドコンピューティングの基盤ソフトウエアを披露した。 クラウドコンピューティングコンペティションは、奈良先端科学技術大学院大学の門林雄基准教授らの呼びかけで実現したイベント。若手のエンジニアがP2P(ピア・ツー・ピア)技術や分散データ処理技術といったクラウドコンピューティングの基盤技術を開発し、その成果を競う。検証環境として、情報通信研究機構(NICT)が運用するクラスタ環境「StarBED」のコンピュータを最大1000台まで使用可能で

    memcachedを超える成果も、Interopで若手技術者がクラウドを支える技術を競う
  • 若い時にプログラムを書こう、必ず人生の豊かさにつながる

    システムインテグレータ最大手NTTデータを率いる山下社長は若い頃、汎用コンピュータ用のデータベース開発に取り組み、プログラムを自ら作っていた。その経験から山下氏は「人生のどこかで手を動かしてプログラムを作る仕事を経験した方が絶対に面白い。20代あるいは30代の前半くらいまでに真水の仕事をどれだけやったか、それがその後の人生の豊かさにつながる」と同社幹部としては異例の発言をする。(聞き手は谷島 宣之=日経コンピュータ編集長、写真は小久保松直) 2009年度、100億円近い投資を計画していると聞く。狙いは何か。 100億円のうち、40億円くらいかけようと考えているのが、「倍速開発」という案件です。これが一番大きい投資になります。我が社としてぜひともやらないといけないのは、お客様のお気の召すまま、ご希望のオーダーメード・システムを、パッケージ・ソフトを使った場合と同じスピードで作って差し上げる、

    若い時にプログラムを書こう、必ず人生の豊かさにつながる
  • 実開発で分かったGoogle App Engine for Javaの“すごさ”

    ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です

    実開発で分かったGoogle App Engine for Javaの“すごさ”
  • [MySQLウォッチ]第20回 MySQL 5.0で一挙に増加,様々な特徴を持つストレージ・エンジン

    MySQL 4.0では,複数のテーブルタイプが選択できる。それぞれのテーブルタイプは,物理的なデータの格納方法やデータ処理の機能が異なっている。このように異なったテーブルタイプをサポートできるのは,異なるストレージ・エンジンを持っているからであり,MySQLの大きな特徴でもある。 まもなくリリースされるMySQL 5.0では,さらに多くのストレージ・エンジンを搭載する。今回は,MySQL 5.0のストレージ・エンジンを紹介する。 これまでのストレージ・エンジン まず,MySQL 4.0に搭載されているストレージ・エンジンを説明する。MySQL 4.0では,表1のようなテーブルタイプに対応したストレージ・エンジンを使用できる。 表1●MySQL 4.0で使用できるテーブルタイプ カテゴリ テーブルタイプ 概略

    [MySQLウォッチ]第20回 MySQL 5.0で一挙に増加,様々な特徴を持つストレージ・エンジン
    hacked
    hacked 2009/02/22