タグ

ブックマーク / atmarkit.itmedia.co.jp (118)

  • iPhoneでC#アプリが審査に通るワケ OSS実装「Mono」で広がる.NETの応用 − @IT

    2009/01/29 iPhone向けにC#で書かれたゲームが40以上存在する――。2009年1月7日付けのブログ投稿で、こんなにわかに信じられない現象を伝えるのは、メキシコ出身のオープンソース開発者、ミゲル・デ・イカザ(Miguel de Icaz)氏だ。iPhoneアプリケーションの開発といえば、アップルが提供するSDKに含まれるObjective-Cを使うか、Webブラウザ上でのみ動作するJavaScriptで実装するかのいずれかだった。 C#のような実行時にランタイム(.NET Framework)を必要とするプログラミング言語は、iPhoneでは使えない。なぜなら、任意のコードを実行できるランタイムを配布パッケージに含めることを、セキュリティ上の理由からアップルが禁じているからだ。 ではなぜ、C#アプリケーションが審査に通るのか? この背後には、オープンソースプロジェクト「Mo

    takeshiketa
    takeshiketa 2009/01/30
    ついにMonoが日の目を見た!
  • 索引のチューニング・テクニックを一挙公開

    DB2_PARALLEL_IO ディスク・アレイ上に存在する任意の表スペースに対する並列アクセスを可能にします。すべての表スペースがディスク・アレイ上に存在する場合は、この値を「*」に設定します。一部の表スペースだけがディスク・アレイ上に存在する場合は、「db2 list tablespaces」を使ってそれらの表スペースのIDを取得し、この値をそれらのIDに設定します(複数のIDを区切るには「,」を使います)。最適なパフォーマンスのためには、表スペースのプリフェッチ・サイズがエクステント・サイズよりも十分に大きくなるように設定してください。 DB2_EVALUNCOMMITTED デフォルトではOFFです。これをONに設定すると、述部の評価が終わるまでロックが保留されます。これは、Oracleから移行されたアプリケーションでロックの競合を減らすのに役立ちます。 DB2_SKIPDELET

    索引のチューニング・テクニックを一挙公開
  • Cyanを設計した高校生、5カ月で5つの言語を習得

    読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。 連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。 林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。 高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済

    Cyanを設計した高校生、5カ月で5つの言語を習得
    takeshiketa
    takeshiketa 2009/01/15
    C#と比べてJavaには遊び心がない。かっこいい!
  • Chromeはなぜ速いのか - @IT

    Chromeの動作が圧倒的に速いように感じている。Chromeがリリースされた当初、それがなぜなのかよく分からなかった。グーグルだけにできて、ほかのWebブラウザ開発者にできないことなどあるように思えないが、それにしてはあまりに速いように感じたからだ。 その疑問のほとんどは、Chromeのオープンソースプロジェクト版「Chromium」の公式ブログの解説で氷解した。ブログを読んで分かったのはグーグルエンジニアたちが信じられないほどのスピード狂であることと、そのスピードへのこだわりには2種類の“スピード”があることだ。 1つは処理速度、もう1つは応答速度だ。特に後者、ユーザーをできるだけ待たせない、イラつかせないということに対する徹底したこだわりは、すさまじい。その背後には「スピードとは、つまりお金だ」という洞察があるようだ。 0.5秒の遅延でユーザー離れ グーグル創業約1年後の1999年

    takeshiketa
    takeshiketa 2008/12/24
    自前で描画とは・・・
  • OpenIDをとりまくセキュリティ上の脅威とその対策 - @IT

    前回はConsumerサイトを実際に作る際のプログラミングに関してお話ししましたが、今回はOpenIDに関するセキュリティについて考えてみます。 今回取り上げるトピックとしては、 などを段階的に説明していきます。IdPの構築方法を知る前にOpenIDプロトコルのセキュリティに関して熟知しておきましょう。 OpenIDプロトコルにおける通信経路のセキュリティ ここまで詳細に解説してきませんでしたがOpenID認証プロトコルのフェイズにおいて、どのようにセキュリティ上の安全性を担保しているかを解説しましょう。 まずはassociateモードを正常に実行するSmartモードの場合です。 ConsumerはユーザーからのClaimed Identifierを受け取ると、associateのキャッシュが存在しない場合は新規にIdPに対してassociateモードのリクエストを行います。第3回で「as

    OpenIDをとりまくセキュリティ上の脅威とその対策 - @IT
  • Gaucheでプログラミング

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 今回は、Gaucheを初めて使ってみようという方に向けて、Gaucheのインストールと、簡単なプログラムを題材に、どうやってGauche(Lisp)流のプログラムを書いていくかを取り上げてみます。 Gaucheのインストール GaucheはApacheやRubyと同様にオープンソースのソフトウェアですので、自分でダウンロードしインストールする必要があります。 GaucheのWebサイトのダウンロードページから最新のソースを取得できます。現在のところサポートされているOSはUNIX系が中心で、Windowsではすべての機能を使うことができません。この連載でも、Mac OS Xを含むUNIX系のOSで動かす前提で進めていきます。 Gaucheのインストール

    Gaucheでプログラミング
  • Railsでレガシーデータを蘇えらせるテクニック(1/4) - @IT

    過去に作成したデータベースを再利用する場合でも、Railsベースのアプリケーションなら、効率よく連携できます。稿では、その際に注意すべきポイントを踏まえつつ具体的な手順を説明します。この方法なら、古いアプリケーションでも比較的簡単に置き換えられ、将来的にはデータのマッシュアップなどのニーズにも応えやすくなります。 既存の表にActiveRecordを使うには? 前回は、DB2とRuby on Rails、そしてActiveScaffoldを使うための環境準備を行い、それらを使って簡単なテーブル保守アプリケーションを作成しました。 このとき、アプリケーションからアクセスする表そのもののデータベース側への作成は、モデルの作成時に生成されたスクリプトに対してmigrateを実行して行いました。 Railsのmigrateによる表管理は簡単ですが、既存の表(レガシー表)に対してActiveRec

  • 連載記事 「Linux Kernel Watch」 - @IT

    Facebookの悩みとPostgreSQLの憂 連載:Linux Kernel Watch 久しぶりのLinux Kernel Watchでは、3月に行われた「Linux Storage Filesystem/MM Summit 2014」の主なトピックを紹介します

  • あなたの知らないJDKの便利ツールたち

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー

    あなたの知らないJDKの便利ツールたち
  • OpenIDの仕様と技術 連載インデックス - @IT -

    仕様から学ぶOpenIDのキホン OpenIDの仕様と技術(1) URLをIDとして利用する認証プロトコル、OpenIDが注目を集めています。どのような仕組みであなたが「あなた」であることを証明するのかを確かめよう

  • Gaucheでメタプログラミング - @IT

    プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る VBAにおけるFileDial

  • RJSなら数行のRubyコードでAjaxアプリを作成できる

    RJSなら数行のRubyコードでAjaxアプリを作成できる:Ruby on RailsのRJSでかんたんAjax開発(後編)(1/4 ページ) ほんの数行のRubyコードで、Ajaxアプリケーションを 今回は、前回の「かんたんAjax開発をするためのRuby on Railsの基礎知識」に引き続き、Ruby on Rails(以降、Rails)が提供するRJSを使用したAjaxの開発の仕方について解説しています。 まだRailsを使ったことがない方でも大枠の理解ができるように、前回はRuby言語やRailsの基部分を解説しました。後編である今回はいよいよ題のRJSの解説をメインに進めていきます。RJSを利用すれば、ほんの数行のRubyコードを書くだけで、非常に簡単にアプリケーションをAjax対応できることを解説していきます。 もう一度、サンプルをおさらい 今回のサンプルプログラム(拡大

    RJSなら数行のRubyコードでAjaxアプリを作成できる
    takeshiketa
    takeshiketa 2008/10/22
    こう書けるね。category_path(category) + ".js" → formatted_category_path(category, :js)
  • Objective-Cは特殊な言語? - @IT

    Objective-Cは特殊な言語?:Cocoaの素、Objective-Cを知ろう(1)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) 唐突ですが、皆さんは新たに1つのプログラミング言語を修得しようと思い立ったとき、最初に何をしますか。その言語の入門用サイトを見て回る、関連書籍を立ち読みする、サンプルを入手して取りあえず動かしてみる、といったところでしょうか。ちなみに私は書籍が好きで、しかも立ち読みではなく購入派です。 いずれにしても、まずはその言語のコードを目で見て、「いったいどんな言語なのか」というイメージをつかむのが最初の一歩となるでしょう。何かしらのプログラミング経験がある人なら、コードを眺めて、「ああ、あの言語に似ているな」とか「うわ、これはとっつきに

    Objective-Cは特殊な言語? - @IT
  • インターネットを過激に加速するアプリdolipoの種明かし− @IT

    Webブラウジングでのクライアントのレスポンスを向上するプロキシソフト「dolipo」。使い方とともに、高速化の仕組みを解説する 少しでもネットワークを高速化したいヨーロッパ圏から学ぶ こんにちは、dolipoを開発したdrikinです。dolipoの着眼点は、ネットワークの技術的な側面だけでなく、Webアプリケーションの開発時に悩むネットワーク速度の問題に対しても、面白いアプローチになっています。 僕のこの技術との出合いは偶然でした。dolipoの元となったPolipoのプログラムを発見したときその効果に感動し、何とかこの素晴らしさをより簡単にもっと多くの人に伝えたいと思いdolipoを作りました。 日では、光ファイバなどの高速回線の普及度が高く、サービスの品質も高いため、ネットワークサービスを開発する際にも、ネットワークのスピード自体はほとんど問題ではありません。いかにクライアントや

  • デスクトップLinuxを巡る7つの話題 − @IT

    すでに旧聞に属するが、Ubuntu Linuxの創始者で英カノニカルのマーク・シャトルワース氏が大胆な宣言を行い、オープンソース界にちょっとした波紋を呼んだ。2008年7月22日、米国で開催中だった「O'Reilly Open Source Convention」の講演でシャトルワース氏は、オープンソース開発者を前にして、今後2年程度でLinuxデスクトップ環境をMacを超える“芸術品”にしようではないかと呼びかけた。eWEEKのダリル・タフト氏が伝えるところによれば、「ただ真似をするだけではなく、アップルを抜き去ることが、われわれにできるだろうか?」と挑発的な問いかけをしたという。 以下の原稿では、デスクトップLinuxを巡る7つの話題を取り上げたい。 話題1:OSSの開発スタイルはデスクトップ開発に向かない? 一般にオープンソースによる開発スタイルでは、特定領域の急激な進化は起こりづ

  • X Window System の仕組みと設定- @IT自分戦略研究所

    連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。 ■今回のディストリビューション: CentOS 4.4、Fedora 8 問題を解く鍵 【1】【2】 このトピックに関連した設定や試験問題を解く際には、以下の項目がポイントになります。 【1】X Window Systemの特徴と構成要素を把握しておく X Window Sy

    X Window System の仕組みと設定- @IT自分戦略研究所
  • 日本人のためのEclipseプロジェクトを知ってますか?

    人のためのEclipseプロジェクトを知ってますか?:すぐに日語で使えるEclipse 3.4大特集(後編)(1/3 ページ) Eclipse 3.3以降の言語パックはどうなったの? 2008年6月26日に統合開発環境Eclipseの最新版3.4(コードネーム「Ganymade」)がリリースされました! さまざまな機能強化や機能追加など、魅力いっぱいの新バージョンですね。早速ダウンロードして試されている方もいらっしゃることと思います。3.4の新機能については、特集の前編「今年も“かに座”リリース! Eclipse 3.4の新機能は?」をご覧ください。 ところで、私たち日人が日語でEclipseを使うためには「言語パック」と呼ばれる追加ソフトウェアが必要となります。そういえば、Eclipseプロジェクトから3.3用の言語パックがリリースされないまま、3.4のリリースとなってしまいま

    日本人のためのEclipseプロジェクトを知ってますか?
  • Lispの仏さま 竹内郁雄の目力 − @IT自分戦略研究所

    竹内郁雄氏(61歳)                   撮影:大星直輝 竹内氏によると、Lispはすべての言語の原点なのだという。「いまRubyがブームだが、Rubyは要するにカッコのないLisp。XMLもぶ厚いカッコのあるLisp。いろいろなプログラミング技法を見ますが、『Lispにあった』ということが多いです」(竹内氏) 竹内氏の業績をひと言で語るのは難しい。1971~1973年、日電信電話公社(現NTT) 武蔵野電気通信研究所 基礎研究部において、Lispを使った自然言語処理システムの研究を行い、1974~1979年、同研究所で人工知能研究を支援するための記号処理システムを次々に開発。1980~1986年、同研究所などで同社比約1000倍の規模の記号処理システムTAO/ELISを、ハードウェアからOS、応用ソフトまで一貫して設計・実装した。ELISについては竹内氏の功績を含めコン

    Lispの仏さま 竹内郁雄の目力 − @IT自分戦略研究所
    takeshiketa
    takeshiketa 2008/07/24
    「私が人生をかけて本気でプログラムを書いたのは45歳前後。」なんか勇気わいてきた!
  • syslogdの限界と次世代シスログデーモン(1/3) ― @IT

    UNIX系OSのシステムロギングをおよそ20年の長きにわたって支えてきた「syslogd」にも、限界が見えつつあります。その限界を打ち破る機能を備えた新しいシスログデーモンを紹介します。(編集部) シスログデーモン「syslogd」は、UNIX系OSのシステムロギングをおよそ20年の長きにわたり支えてきました。しかし、増大する信頼性や安全性への要求、ログの適正保管といった要望に応えるには、syslogdでは力不足との声が高まっています。 そんな折、システムロギングをより確実に行い、RDBMSへのデータ保存や監視システムの連携といった可用性にも優れた、「syslog-ng」や「rsyslog」が注目を集めています。この連載では、こうした次世代シスログデーモンを取り上げ、導入方法や活用方法を解説します。 システムロギングとsyslogd 実行したイベントの履歴、システム不調や変更の記録、不正ア

    syslogdの限界と次世代シスログデーモン(1/3) ― @IT
  • GoogleのMapReduceアルゴリズムをJavaで理解する

    GoogleMapReduceアルゴリズムをJavaで理解する:いま再注目の分散処理技術(前編)(1/2 ページ) 最近注目を浴びている分散処理技術MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) いま注目の大規模分散処理アルゴリズム 最近、大規模分散処理が注目を浴びています。特に、「MapReduce」というアルゴリズムについて目にすることが多くなりました。Googleの膨大なサーバ処理で使われているということで、ここ数年の分散処理技術の中では特に注目を浴びているようです(参考「見えるグーグル、見えないグーグル」)。MapReduceアルゴリズムを使う利点とは、いったい何なのでしょうか。なぜ、いま注目を浴びているのでしょうか。 その詳細は「MapReduce : Simplified Data Proc

    GoogleのMapReduceアルゴリズムをJavaで理解する