タグ

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

  • .NETとは何か?

    2000年6月にマイクロソフトが「Microsoft .NET」を発表してから早くも11年。編集長目線で現時点の.NETを整理し直す。 連載目次 2000年6月にマイクロソフトが「Microsoft .NET」を発表してから、およそ11年が過ぎた。2002年3月に、そのMicrosoft .NET対応のソフトウェア開発環境である「Visual Studio .NET」が正式リリースされたが、それから数えても9年の月日が流れている。 2011年現在、「初期の『.NET』と現在の『.NET』では意味が異なる」と、筆者は考えている。例えば、その当時のMicrosoft .NETについて解説した記事である「基礎解説 初めてのMicrosoft .NET」を現時点で読んで「.NET」を語ると、ほかの開発者と議論がかみ合わないはずだ。 そこで稿では、「.NETとは何か?」について、これから新たに.N

    .NETとは何か?
  • naveでNode.jsのバージョン管理&イベントループ詳説

    naveでNode.jsのバージョン管理&イベントループ詳説:node.jsでサーバサイドJavaScript開発入門(2)(1/3 ページ) 前回のおわび 前回の「サーバサイドJavaScript命「node.js」の基礎知識」をご覧いただいた皆さま、はてなブックマークやTwitterなどでコメントをいただきました方々、ありがとうございます。話題の「Node.js」ということもあり、はてなブックマークも1000ユーザーを超えました。 私の力不足もあり、いろいろな方から指摘をいただいたので、今回は前回の補足と訂正をします。ご指摘いただきました皆さま、ありがとうございます。非常に勉強になります。 「nave」で簡単! Node.jsのバージョン管理 前回の記事で、Node.jsと「npm(node package manager)」のインストールを説明していますが、以下のような問題があり

    naveでNode.jsのバージョン管理&イベントループ詳説
  • iOS 4のSDKで、Twitterを使ったiPhoneアプリを作る

    データをUITableViewに一覧表示する StatusXMLParserクラスをRootViewControllerクラスから呼び出して使ってみましょう。「RootViewController.h」を以下のように編集します。 #import <UIKit/UIKit.h> @interface RootViewController : UITableViewController { NSArray *statuses; } @property(retain, nonatomic) NSArray *statuses; @end

    iOS 4のSDKで、Twitterを使ったiPhoneアプリを作る
  • サーバサイドJavaScriptの本命「node.js」の基礎知識

    稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様

    サーバサイドJavaScriptの本命「node.js」の基礎知識
  • 実は厄介、ケータイWebのセッション管理

    クッションページを使った対策法 この問題に対処するため、A社は、セキュリティ専門家からの報告書に掲載されていた「クッションページ」を使う方法を採用することにしました。 クッションページとは、外部サイトにリンクする際に直接リンクするのではなく、「中間のページ」を挟む方法のことです。図2にクッションページを用いた画面遷移例を示します。真ん中のページがクッションページであり、このページのURLにはセッションIDが付かないようにします。 この遷移の場合、外部サイトに送信されるRefererはクッションページのURLを指すことになります。クッションページにはセッションIDが付かないので、外部サイトにはRefererヘッダを介しても情報が漏れなくなります。 php.iniにsession.use_trans_sid = 1を指定してセッションIDを自動的に付与している場合には、クッションページのURL

    実は厄介、ケータイWebのセッション管理
  • 実は厄介、ケータイWebのセッション管理

    現状では困難なセッションIDの固定化対策 セッションIDの固定化に対処する方法としては、ログイン時にセッションIDを変更することが有効です。PHPの場合は、以下のようにしてセッションIDを変更することができます。 しかし、この方法では、ログインしていない状態でのセッションIDの固定化問題には対処できません。ログイン前のセッションIDの固定化に対処することは難しいのが現状です。以下にいくつかの方法を紹介します。 ログイン前にはセッションを使わない ログイン前にはセッション管理機構を使わずに、hiddenパラメータによりデータを引き回しする方法があります。ログイン前のセッションIDの固定化に対処する方法としては唯一の確実な方法です。 セッションIDをCookieに保持する セッションIDをCookieに保持すると、ブラウザなどに脆弱性がない限り、セッションIDの固定化は発生しません。このため、

    実は厄介、ケータイWebのセッション管理
  • EventKitとiAdでiPhoneアプリにカレンダーと広告を付けるには

    EventKitとiAdでiPhoneアプリにカレンダーと広告を付けるには:SDKで始めるiPad/iPhoneアプリ開発の勘所(6)(4/4 ページ) アプリにバナー広告を追加できる「iAd」とは iOS 4からは新たに「iAd」と呼ばれる、アップルが販売・ホスティングする広告サービスを使用できるようになりました。これは「iAdフレームワーク」をアプリ内に使用してバナー広告を表示することで、開発者は60%の広告収入を得られるというものです。フリーのアプリでも広告収入が得られるため、アプリ開発者にとっては魅力的な機能といえます。 iAdフレームワークを使うには XcodeでBMICalcプロジェクトを開きます。EventKitと同様に、Xcodeのグループとファイルから[Frameworks]を右クリックし、[追加]→[既存のフレームワーク]を選択します。表示されたフレームワークの一覧から

    EventKitとiAdでiPhoneアプリにカレンダーと広告を付けるには
  • 実は厄介、ケータイWebのセッション管理

    実は厄介、ケータイWebのセッション管理:再考・ケータイWebのセキュリティ(3)(1/3 ページ) “特殊だ”と形容されることの多い日の携帯電話向けWebサイト。そこには、さまざまな思い込みや性善説の上しか成り立たないセキュリティが横行しています。連載は、ケータイWebの特殊性をていねいに解説し、正しいケータイWebセキュリティのあるべき姿を考えます(編集部) 「Cookieを使えない端末」でセッションを管理する方法は? 第2回「間違いだらけの『かんたんログイン』実装法」ですが、多くの方に読んでいただきありがとうございました。 今回は、前回に引き続き架空のSNSサイト「グダグダSNS」のケータイ対応を題材として、ケータイWebのセッション管理の問題点について説明します。携帯電話向けWebアプリケーション(ケータイWeb)のセッション管理は、かんたんログインよりも対策が難しく、厄介な問

    実は厄介、ケータイWebのセッション管理
  • データベースのアップグレードはなぜ必要なのか? - @IT

    2011/05/19 日オラクルは5月12日、Oracle Databaseをアップグレードするメリット/デメリットなどを紹介するイベント「Oracle Upgrade Seminar」を実施。基調講演では、ITR代表の内山悟志氏が「ビジネス貢献待ったなし、情報システム部門が今すぐやるべきこと」と題して講演したほか、特別講演では来場者からの質問に答えるQ&Aセッションが開催された。 IT部門の震災における影響などを分析 基調講演での議題として、内山氏は「IT部門が取り組むべき重要課題とは何か」や「震災の影響」「IT部門にはどのような変革が求められるのか」などを挙げ、それぞれのトレンドを解説した。 IT部門が取り組むべき課題としては、2011年の重要なIT戦略テーマについての同社の調査結果を例示。1位は「売上増大への直接的な貢献」、2位「業務コストの削減」、3位「ITコストの削減」、4位「

  • EventKitとiAdでiPhoneアプリにカレンダーと広告を付けるには

    -(IBAction)executeSave:(id)sender { // 新しいカレンダーイベントを作成 EKEvent *event = [EKEvent eventWithEventStore:self.eventStore]; // イベントのタイトルを設定 event.title = [NSString stringWithFormat:@"BMI:%@ %@",self.bmiStr, self.result]; // 開始日を設定 event.startDate = [[NSDate alloc] init]; // 終了日を設定 event.endDate = [[NSDate alloc] initWithTimeInterval:60 sinceDate:event.startDate]; // 注釈にBMI計算結果の表示内容を設定 event.notes = res

    EventKitとiAdでiPhoneアプリにカレンダーと広告を付けるには
  • iPhone/iPadアプリ作成の仕上げ・国際化・デバッグ

    iPhone/iPadアプリをデバッグするには 実際に開発を進めていくとアプリが意図したとおりに動かない場面にたびたび遭遇します。このような場合、原因を調査し修正するためのデバッグ作業を行う必要があります。ここでは、BMI計算アプリを例に、Xcodeのデバッガの使用方法について説明します。 例として、下記のようにBMIの計算式を間違えていることに気付かないまま、実装を進めてしまったとします。 // BMI = 体重(kg)÷ (身長(m) × 身長(m)) float bmi = weight / (weight * height); // ← 正しくはweight / (height * height); このようにプログラムが予期しない動作をした場合は、デバッガの出番です。デバッガを利用すると、プログラムを実行しながらバグの原因を探れます。 ブレークポイントを追加する 実行中のプログラ

    iPhone/iPadアプリ作成の仕上げ・国際化・デバッグ
  • 仕様から学ぶOpenIDのキホン

    保存版・OpenID1.1の用語集 ここでも公式の仕様の中の用語集から説明します。 ●End User 実際にConsumerに対して自分のIdentityを認証しようとするユーザーのことです。 ●Identifier IdentifierはURLのことです。OpenID authentication protocolのすべてのフローはEnd Userが所有するURLを認証することに関するものです。 ●Claimed Identifier End Userが自分で所有していると主張するIdentifierのことで、Consumerによってまだ確認されていないIdentifierです。 ●Verified Identifier Consumerに対して、End Userが所有していると認められたIdentifierのことです。 ●Consumer End Userが所有するClaimed I

    仕様から学ぶOpenIDのキホン
  • いまさら聞けないiPhone/iPadアプリの作り方の基礎

    【A】ツールバー 実装モード/デバッグモードの切り替えや、[ビルドと実行]などのアクションボタンがある。ここにあるボタンは、カスタマイズ可能 【B】[グループとファイル] Xcodeプロジェクトが保持しているファイルを一覧表示。クラスファイルや設定ファイルなどの成果物は、すべてこのエリアに格納していく 【C】情報表示エリア 選択されているファイルの詳細情報や、プロジェクト内のファイル検索などが行える(頻繁に使うエリアではないので、実装時にはツールバーの[エディタ]ボタンで非表示にしてしまい、テキストエディタを広く使うのも1つの手) 【D】テキストエディタ [グループとファイル]で選択したファイルを実際に編集するエリア。ソースコードや設定ファイルを記述するので、開発時はこの部分を常に見続けて作業をすることになる Xcodeプロジェクトとは これまでに作成したXcodeプロジェクトは、アプリを

    いまさら聞けないiPhone/iPadアプリの作り方の基礎
  • iPhone/iPadアプリ作成の仕上げ・国際化・デバッグ

    iPhone/iPadアプリを国際化するには iPhone/iPadアプリ制作のだいご味の1つは、アップルのiTunes App Storeを通して全世界を相手にアプリを販売できることでしょう。しかし、そのためには「アプリの国際化」が必須です。 アプリの国際化とは、例えば端末設定で[一般]→[言語環境]の言語を「日語」から「English」に変更した際、アプリ内の文字表示などもすべて英語に切り替わるようにすることを指します。また、このようにある特定言語にアプリを対応させることを「ローカライズ」と呼びます。

    iPhone/iPadアプリ作成の仕上げ・国際化・デバッグ
  • iPhoneアプリで位置情報と地図を使うための基礎知識

    アノテーションを追加するには 次は、アノテーションを追加してみます。 表示すべきデータのモデル(Model)と、それを実際に表示するときの見た目(View)は分離されます。モデルを表すのが「MKAnnotation」プロトコル、見た目を実装するのが「MKAnnotationView」クラスです。 簡単なアノテーションの作成のために、「CustomAnnotation」クラスを追加します。座標とタイトル・サブタイトルを持ったシンプルなクラスで、「MKAnnotation」に定義されているプロパティを備えます。 #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface CustomAnnotation : NSObject <MKAnnotation> { CLLocationCoordinate2D coor

    iPhoneアプリで位置情報と地図を使うための基礎知識
  • Amazon Web Servicesの障害はなぜ起こったのか アマゾンが詳細な経緯と対策を発表 − @IT

    2011/04/30 米Amazon Web Services(AWS)は米国時間4月29日午後、同社のブロックストレージサービス「Amazon Elastic Block Store(EBS)」および、リレーショナルデータベースサービスの「Amazon Relational Database Service(RDS)」における約4日間にわたる障害につき、詳細な経過報告と対策を発表した。これによると、障害のきっかけはネットワークの構成変更作業におけるミスだった。同社は今回の障害が複数のAvailability Zone(AZ)に影響を与えた理由も説明した。 AWSが発表した今回の障害に関する説明(英語) EBSはAWSの仮想サーバサービスであるAmazon EC2のインスタンスから、仮想ディスクとして使える永続ストレージサービス。実態としてはディスクを備えたノード(コンピュータ)の集合体を

  • 巨大SNSを支える多言語混在RPC開発フレームワーク“Thrift” ― @IT

    2007/04/03 全米で第6位のトラフィックを稼ぐ人気SNSサイト「Facebook」のコアモジュール「Thrift」がオープンソースとして公開された(公式ブログ)。ライセンスは独自の「Thrift Software License」(改変や再配布を許容している点はGPL同様のようだ)。Facebookは学生向けSNSとして2004年にスタートし、その後、学生以外にも会員を拡大。2007年2月現在の会員数は1700万人。アップロードされている写真点数は10億枚以上で、1日600万枚の画像がアップロードされるなど、画像共有サイトとして見てもFlickrよりも大きい。そんな急成長した巨大サイトを支えたのは、独自に作り上げた開発フレームワークだったようだ。 多数の言語で開発したモジュールをシームレスに統合 Facebookが、開発フレームワークとして自ら作成したのがThriftだ。“thri

  • 「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門

    「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門:ユカイ、ツーカイ、カイハツ環境!(21)(1/4 ページ) CIツール「Hudson」改め「Jenkins」とは 「Jenkins」とは、CI(継続的インテグレーション)ツールとして有名な「Hudson」の開発者たちにより開発されているCIツールです。Hudsonは商標上などの問題によりJenkinsと名前を変えて継続することが発表されたので、記憶に残っている方も多いと思います。現在では落ち着いて開発されているようです。 稿では、今話題のJenkinsの使い方を紹介します。記事の想定読者は、Java開発を行っている方で、「今までCIを導入していなかったけどこれから導入しよう」「Jenkins(Hudson)は使えそうだけど、難しそうだなぁ」と思っている方を対象としています。稿を読めば、10分程度でJe

    「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門
  • スマートフォンアプリデザインに役立つ 基礎のまとめ!

    デザインの面白いスマートフォンアプリ3選! アプリには便利なものや面白いものがいくつかありますが、UIのデザイン面で面白いものを3つ紹介します。 【1】ラップムシ(iPhoneのみ) 手書きのUIがかわいい、ラップができるiPhoneアプリです。このアプリはシリーズで出ているので、他のアプリもダウンロードしてはいかがでしょうか。 【2】color(現在は、iPhoneのみ) 位置情報から近い場所にいる誰かと写真を共有するアプリです。すっきりとしたデザインで、解説などはほとんどないですが、機能自体もとてもシンプルで限定的なので理解しやすく、使われるシーンも想像しやすいです。

    スマートフォンアプリデザインに役立つ 基礎のまとめ!
  • SeasarV2によるDBアクセス機能

    Seasar(シーサー)は、国内のコミュニティ「The Seasar Project」によって開発が行われているオープンソースプロダクトだ。DI+AOPコンテナとして評価が高いSeasarV2は、J2EE開発の現場にも影響力を持ち始めた。例えば電通国際情報サービスがSeasar Projectを正式に支援することを表明し、2005年6月からは同社による商用サポートサービスが開始されている。連載では、同プロジェクトの代表的なプロダクトを紹介していく。(編集局) SeasarV2(以下S2)には、これまで紹介してきたDIとAOPだけではなく、DBアクセスに関する機能も用意されています。DBアクセスにはトランザクション制御が付き物ですが、S2では、それをインターセプタによって行います。また、実行環境のJDBCドライバがJTAをサポートしていなくても、S2JTAによりそれをエミュレートできるとい

    SeasarV2によるDBアクセス機能