タグ

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

  • 人気のAPI/フレームワークを作るための39カ条

    ある仕様を利用するための網羅性の高いライブラリを用意したいとき 再利用性が高い(と思われる)プログラムをライブラリ化したいとき Webシステムを外部から利用してもらうために一部分を公開したい場合 多人数で開発する事柄で共通化させておきたい部分をまとめたい場合 ほかの言語で作られたアプリケーションをある言語で利用したいときの橋渡し用 ちなみに、JSP/Servletの世界でよく使われているStruts Frameworkは開発者のCraig McClanahan氏が休暇中に思い付いて開発したものだそうです。オレゴン州のビーチで、ラップトップに向かい、3日間の休暇中ずっとコーディングしていたそうです。 一緒に行った奥さんは機嫌が悪かったようですけど。 ここでは、作成したAPIが自分だけではなく、多くの人に使ってもらえるよう、便利に使えるポイント、広く普及するためのポイントをとらえていきましょう

    人気のAPI/フレームワークを作るための39カ条
  • たった2行でできるWebサーバ防御の「心理戦」 − @IT

    高い壁を作るだけがセキュリティ対策ではない。攻撃者の心理を考え、彼らに選ばれないシステム作りも大きな効果が望めるのではないだろうか。連載では視点を変え、攻撃者に選ばれないためにできる、ほんのちょっとした対策を取り上げる。(編集部) 対策をもう一歩進めるための新たな視点を持とう システムは動くだけではなく、セキュリティ対策がなされていなければいけないといわれ始めて久しい。セキュリティという言葉を聞くと、物理的なものだけではなく、ネットワークセキュリティを連想するほどの認知度も得ているのではないだろうか。 個人宅のネットワーク環境にもファイアウォール機能を搭載したルータがあり、PC1台1台にアンチウイルスソフトがインストールされている。いまとなっては珍しくなく、むしろ当たり前とも思えるようになった。 一方、ネットワークに存在する脅威というと、ウイルス、ワーム、ボット、サイトの改ざん、個人情報

    たった2行でできるWebサーバ防御の「心理戦」 − @IT
  • BiDiを使った拡張子偽装は上級者でも見抜けない - @IT

    初心者への配慮が初心者の被害者を生んでいる 調査はWeb上で行われたので、実態としては3分の1どころか、もっと少ないのではないかと推測する。PCに詳しくなりたいなどと思っていないユーザーに拡張子を表示しろなどというのは無茶な話だから仕方がない。アイコンを偽装した実行ファイルをクリックしたことによって広まったマルウェアが、いったいどれほどの数に上るのか、見当も付かない。 そもそも、実行許可ビットがあるわけでもないWindows OSで、拡張子を表示しないのをデフォルトにしてしまったマイクロソフトの、当時としては大胆な決定が裏目に出たのだ。今から10年以上前、まだWindows 95が開発コード名「シカゴ」の名前で呼ばれていた1994年頃のことだ。拡張子を消すならばファイルタイプを示すメタ情報を別の仕組みで入れる必要があった(今でもある)のではないか。初心者に分かりやすくという配慮だったのかも

  • Webサーバへの攻撃を見抜く ― @IT

    ウイルス、ワーム、ボットによる攻撃……ネットワーク上に存在する脅威は多種多様である。サーバにアクセスされた形跡を見て、それが通常のものなのか、それとも脅威なのかを判断するには知識と経験が必要となる。そこで連載では、インシデント・ハンドリングのために必要な「問題を見抜く」テクニックを分野ごとに解説していく(編集部) ※ご注意 他社および他組織のWebサイトなどへのポートスキャンおよびデータの取得などの行為で得た情報を侵入などに悪用するか、または同じ目的を持つ第三者に提供した時点で違法となります。ご注意ください。 稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。 また、稿を利用した行為による問題に関しましては、筆者およびアイティメディア株式会社は一切責任を負いかねます。ご了承ください。 インシデントを最終判断するのは「人間」 インターネットは、いわずと知れた世

    Webサーバへの攻撃を見抜く ― @IT
  • 連載:Ajax時代のJavaScriptプログラミング再入門 ― @IT

  • 最適な工期は「投入人月の立方根の2.4倍」、JUASが調査 ― @IT

    2007/07/05 日情報システム・ユーザー協会(JUAS)は7月5日、ユーザー企業102社の357プロジェクトを調査した「ソフトウェアメトリックス調査2007」を発表した。システム開発の企画、開発計画に始まり、保守や運用管理まで実態を調査した内容で、企業情報システムの実態を伝える。調査結果からは“デスマーチ”となるプロジェクトの実態も浮かび上がった。 デスマーチ化するプロジェクトの条件の1つは工期の設定が不適切であることだろう。調査から導き出された標準開発工期は「投入人月の立方根の2.4倍」。調査対象のプロジェクトの全体工数と全体工期をグラフ化し、回帰直線によって求めた。この計算によれば1000人月のプロジェクトの場合は24カ月の工期を設定するのが標準的といえる。事情によってこの標準工期よりも短い工期しか取れない場合は、その短縮率を計算して対策を採るべきとJUASは提言。だが、「(短

    abyssgate
    abyssgate 2007/07/06
  • Webアプリケーションを作る前に知るべき10の脆弱性 ― @IT

    Webアプリケーションが攻撃者に付け込まれる脆弱性の多くは、設計者や開発者のレベルで排除することができます。実装に忙しい方も、最近よく狙われる脆弱性のトップ10を知ることで手っ取り早く概要を知り、開発の際にその存在を意識してセキュアなWebアプリケーションにしていただければ幸いです。 Webの世界を脅かす脆弱性を順位付け OWASP(Open Web Application Security Project)は、主にWebアプリケーションのセキュリティ向上を目的としたコミュニティで、そこでの調査や開発の成果物を誰でも利用できるように公開しています。 その中の「OWASP Top Ten Project」というプロジェクトでは、年に1回Webアプリケーションの脆弱性トップ10を掲載しています。2004年版は日語を含む各国語版が提供されていますが、2007年版は現在のところ英語版のみが提供さ

    Webアプリケーションを作る前に知るべき10の脆弱性 ― @IT
  • @IT:LDAPによるパスワードの一元管理(1/3)

    今回は、この3つのパスワードを一元管理するために「LDAPサーバ」を利用します。つまり、ユーザーアカウントおよびパスワードをLDAPに格納し、すべてのサービスが同じデータを参照するようにします。 ただし、ここで1つ考慮すべき点があります。パスワードは、元のデータを割り出せないような仕組みで暗号化するのが普通です。パスワードが正しいかどうかを確認するには、同じ方法で暗号化したデータ同士を比較する必要があります。しかし、LinuxWindowsではパスワードの暗号方法が異なるため、入力したパスワードが同じでも暗号化されたパスワードデータを後で比較することは不可能です。そのため、複数のパスワードデータをLDAPサーバの1人のユーザーの属性としてまとめたとしても、一方のパスワード(例えばWindows)に対して変更があった場合には、他方のパスワード(例えばLinux)も変更されるような仕組みが必

    @IT:LDAPによるパスワードの一元管理(1/3)
  • Podcastでプログラマーに必要な英語をStudyしよう!

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) いまの仕事に「英語」は無用! 当に? 昨今では、コンピュータ関連の翻訳書や日人著者の書籍も増え、大抵の分野であれば、日語で最先端の技術的情報を取得できるようになりました。ただ、最新の技術情報や、ニッチな領域の奥深い情報の場合、どうしても最新の洋書や、論文、英文のWebページの情報などに頼っているプログラマ・エンジニアも多いことでしょう。 また、海外で開催されるカンファレンスのQ&Aや、BOF(birds of a feather)などのミーティングの場合、英語力が即、理解力や情報伝達力に反映してきます。 自分は日にいて、日人相手に仕事をしているから「英語」なんて関係ないと思

    Podcastでプログラマーに必要な英語をStudyしよう!
  • HDD以上に便利なオンラインストレージ“Dropbox” ― @IT

    2007/04/09 OSのファイルシステムに統合され、Windows上からは通常のフォルダとして扱えるオンラインストレージサービス「Dropbox」の詳細が明らかになった。Dropboxは、複数のPCから同一フォルダが扱えるだけでなく、バックアップや変更履歴管理、ローカルファイルシステムと完全な透過性を備えた高機能なオンラインストレージサービスだ。 rsync、trac、subversionのいいところ取り 「ほかのオンラインストレージや同期サービスは、どれも使うのが面倒だったり、十分にスケールしなかったり、あるいは何か制限があったりするので不満だった。それじゃあということで、自分たちで、まともなものを作ろうと決めた」。DropboxのCEOで開発者のDrew Houston(ドゥリュー・ヒューストン)氏は@ITのメールインタビューに答え、開発の動機をそう語る。マサチューセッツ工科大学で

  • アルファ公開したアドビ「Apollo」を早速使ってみた ― @IT

    2007/03/19 FlashやHTML(Ajax)、PDFなどWebベースの技術を使ってクライアントアプリケーションを開発できる、米アドビ システムズのウィジェット技術Apollo」の開発者向けアルファが、3月19日にアドビのWebサイトで公開された。「脱Webブラウザ」を標榜するApolloはどのような技術なのか。アルファ版をダウンロードし、サンプルアプリケーションを試してみた。 アドビが公開したのは、Apollo対応アプリケーションを稼働させるためのランタイムと、Apolloアプリケーションを開発するためのSDK。ApolloWindowsLinuxMacで稼働するクロスプラットフォームが特徴だが、今回のアルファ版ではWindows版とMac版のみを用意している。Linux版は今後の対応になる。 SDKはFlashやHTMLPDFなどで作成したデータをアプリケーションにま

  • バージョン管理に便利なSubversiveプラグイン (1/3) - @IT

    そもそもSubversionとは何か? Subversionとは、バージョン管理システムとして広く利用されているCVSの管理スタイルを踏襲しつつその欠点を解決したバージョン管理システムです。Google Trendsによると、日ではSubversionの検索数がCVSをすでに上回っており(2007年3月現在)、関心が高まってきています。 実際、筆者の周りでもSubversionを利用しているプロジェクトが増えてきています。稿では、SubversionをEclipseから利用するプラグインSubversiveとプロジェクト管理システム「Trac」との連携を中心とした利用ノウハウを提供します。 Subversionのメリット チェンジセットによるリビジョン管理 バージョン管理システムにおいて、ローカルで編集した内容をリポジトリへ反映するために行う作業を、コミットといいます。 CVSはファイ

    バージョン管理に便利なSubversiveプラグイン (1/3) - @IT
  • Webのスピード感で開発――「Apollo」が注目集める理由 ? @IT

    2007/03/02 米アドビ システムズが開発中のミニアプリケーション実行環境「Apollo」が注目を集めている。AjaxやFlash、PDFなどのテクノロジを使ってオフラインでも動作可能なデスクトップアプリケーションを開発する技術で、「Web 2.0をデスクトップに統合する」との指摘もある。日Apolloを担当するアドビ システムズのプロダクト&セールスエンジニアリング部 プロダクトスペシャリスト 太田禎一氏は「Apolloを使うことで、Webのスピード感でデスクトップアプリケーションを作れる」と説明する。 Web技術の脱ブラウザを実現 Apolloはランタイム(実行環境)をクライアントPCにインストールし、対応アプリケーションを稼働させる。AjaxやFlash、PDFなどWebと親和性が高い技術を使いながら、ローカルディスクへアクセスできたり、オフラインでも利用できるなど「Web

    abyssgate
    abyssgate 2007/03/03
  • 進化する“Webスクレイピング”技術の世界 ― @IT

    2007/02/20 WebサービスAPIRSSフィードを使って複数サイトのサービスや情報をマッシュアップ――。これはWeb2.0が包含するいくつかの概念のうち、最も重要なものの1つだ。Amazon.comやGoogleYahoo!楽天といった大手Webサイトは、RESTやSOAPを用いたAPIを公開しており、さまざまなサービス提供者や個人がAPIを通して各種サービスを利用している。その一方、世の中のWebサイトの大多数はWeb1.0的なHTMLCGIフォームしか提供していないのが現実だ。こうした背景からWeb1.0サイトから構造化されたデータを引っ張り出す“Webスクレイピング技術が急速に発展してきているようだ。 HTMLをXML化し、XPathで関連データだけを抽出 例えば価格情報サイトでは製品名から価格が簡単に調べられるが、Webサーバから提供されるのは、製品名や価格にレ

  • XML文書編集の未来形!?――ジャストブログを試してみた ― @IT

    2007/02/16 ジャストシステムが2月9日に開始した無料ブログサービス「ジャストシステムブログサービス」は、TypePadを使ったブログホスティングサービスで、ごく一般的なブログサービスだ。特に目を引く感じではない。しかし、同時に無償配布しているブログ編集・更新ツールの「xfy Blog Editor Trial Pack」の最新版を試してみて、これは他に類を見ない斬新な試みではないかと感じた。 Movable Typeの画像アップロードUIはつらい ローカルで編集したHTMLファイルをFTPで転送し、もし文章に誤植があれば、再びエディタで編集してFTP……。今では信じられないが、それがWeb1.0時代の個人のホームページの作り方だった。 その後、Web1.5ともいうべき時代になると、CMSやブログツールが登場した。Webブラウザ上で文字列を入力したり、修正したりといったことが容易に

    abyssgate
    abyssgate 2007/02/18
  • 80年代のAppleに学ぶUIの部品化とガイドライン ― @IT

    インタラクションデザインパターン(1) 80年代のAppleに学ぶUIの部品化とガイドライン ソシオメディア 上野 学 2007/2/7 インタラクションデザインパターンのプロローグとして、その原則や秩序の歴史を見てみよう。20年前のAppleはどのように質の高いアプリケーション開発を目指していたか デザインが優れていれば、道具はより楽しいものになり、利用者はより生産的になるはずです。道具のデザインというものは大昔から私たち人間が取り組んできたことですが、近年急激にデジタルデバイスが多様化したことによって、インタラクティブな道具をデザインするための方法論は技術の進歩に追い付くことができなくなっています。利便性を高めるはずの新技術が使い方を複雑化する要因となり、利用者の混乱は増すばかりです。 最近私は携帯電話を買い替えたのですが、同じメーカーの3年前の機種と比べて、著しく使い勝手が悪くなって

    abyssgate
    abyssgate 2007/02/07
  • 人月見積もりでは生産性は上がらない、IPAが警告 ― @IT

    2006/11/29 情報処理推進機構(IPA)は11月29日、2006年度「情報処理産業経営実態調査」の結果を発表した。この調査は「情報処理産業界の財務、経営状況の現状を把握し、今後の経営の参考に供する」(IPA)ことが目的で、1978年以降毎年実施されている。28回目となる今年は従来のアンケート調査に加えてヒアリングも実施し、労働生産性の分析などを行った点が特徴だという。アンケートでは861社から有効な回答が得られた。ヒアリングは25社に対して行った。 2005年度の情報処理産業全体の売上高は0.8%の増加で、伸び率は鈍っているものの2003年度から連続でプラス成長している。経常利益も22.6%の増加で、増収増益となった。ヒアリングの結果でも、経営状況は昨年と比べ良好であるという意見が多く聞かれたという。 生産性に関しては、ソフトウェア業界において、ソフトウェアプロダクト販売分野の売上

    abyssgate
    abyssgate 2006/12/01
  • 一足早く「Plagger」の便利さを実感してみよう − @IT

    2006年初頭から「Plagger」という技術が、一部で話題になりました。まだまだ知名度が低い「Plagger」ですが、便利でカスタマイズ性が高いものなので、2007年では爆発的に流行するかもしれません。豊富なプラグインを自在に組み合わせ、欲しい情報を収集し、加工して出力するPlaggerの仕組みや使い方を紹介します。 1. 何でもできる? Plaggerの正体に迫る 今回は話題のPlagger(プラガー)を取り上げます。 この連載を読んでいる読者の皆さんは、ネットワーク技術や知識に興味を持っている人が多いでしょうから、「Plagger」という単語は一度は耳にしたことがあるでしょう。しかし、Plaggerという言葉を聞いたことはあっても、いったいどんなものかピンと来ない人もいるかもしれません。今回はPlaggerがどういった働きをするか? その動きの仕組みなどを中心に紹介していきます。 ●

    一足早く「Plagger」の便利さを実感してみよう − @IT
    abyssgate
    abyssgate 2006/11/21
  • 今夜分かるSQLインジェクション対策 ― @IT

    【関連記事】 内容についてのアップデート記事を公開しています。あわせてご確認ください(編集部) Security&Trustウォッチ(60) 今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた http://www.atmarkit.co.jp/fsecurity/column/ueno/60.html Webアプリケーションに対する攻撃手法の1つであるSQLインジェクションの存在は、かなり広く知られるようになった。しかし、その対策はまだ当に理解されていないように思える。フォームから渡された値の特殊文字をエスケープしたり、PHPのmagic_quotes_gpcといった自動エスケープ機能をオンにするだけで対策したつもりになっていないだろうか。 基はもちろん、セカンドオーダーSQLインジェクションやマルチバイト文字を利用したSQLインジェクションの攻撃パターンや、その対

    今夜分かるSQLインジェクション対策 ― @IT
    abyssgate
    abyssgate 2006/11/03
  • 「使える、使いやすい、使いたい」と思えるUIとは? - @IT

    最新トレンドやキーワードをわかりやすく解説 WCR Watch [15] 「使える、使いやすい、使いたい」 と思えるUIとは? アドビシステムズ 上条 晃宏 2006/8/31 ここ数年、リッチクライアント技術としてFlashやFlexを採用する例が急速に増加している。この状況の背景としては、アプリケーション開発における“使いやすさ”の実現が重要な要件の1つとして認知されつつあることが挙げられるだろう。 しかし、単にFlash/Flexを使ったからといって使い勝手の良いユーザーインターフェイスができるわけではない。例えば、使いにくかった画面を“そのまま”Flexで置き換えたとしたら、従来からの問題点も再現することになる。これでは改善は望めない。画面設計を行う側にも使いやすさを実現するためのアプローチが求められるだろう。 ここで注目されるのがエクスペリエンスデザイン(XD)だ。エクスペリエン