タグ

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

  • 学生が作ったもの,はてなが学んだこと

    この記事は日経ソフトウエア2009年2月号(2008年12月24日発売)に掲載した,特別レポート「はてなインターン日記(下)」(著者:伊藤直也氏)の再掲です。再掲にあたって一部編集していますが,記述内容は執筆当時の情報に基づいています。 この特別レポートは,筆者が勤務するはてなが,大学生や大学院生の方を対象に開催した「はてなサマーインターン2008」のまとめです。就職を少し先に控えた学生の皆さんが,はてなの京都オフィスで,4週間にわたって技術的なトレーニングや,実際のアプリケーション開発を体験します。期間は4週間です。 2009年6月12日に掲載した上編では,前半の2週間,はてなスタッフが講師となって,はてなでの開発に必要な知識の講義と,それを確認する課題の様子を書きました。最終回の今回は,後半の2週間。インターン生がはてなの開発現場に所属して,はてなのシステムに何らかの機能を追加します。

    学生が作ったもの,はてなが学んだこと
  • 仮想化環境を「DNSで」管理するはてな,分散ストレージを自社開発したライブドア

    シンプルでスケーラブルな分散ストレージを自社開発したライブドア 一方ライブドア執行役CTOの池邉智洋氏は,同社のブログや写真投稿サービスなどのインフラで利用中のストレージ仮想化ソフトを自社開発した事例を紹介した。ライブドアのサービス群が求める要件が「いかに安価に容量を追加できるか。過剰な機能と信頼性は不要」(池邉氏)と判断。メーカー製のネットワーク・ストレージの利用を止め,「ファイルのパスがそのままURLになるため,ファイル・システムのパスをURLに変換しなくて済む」HTTPで入出力する分散型仮想ストレージの開発に踏み切ったのだという(写真4)。 設計思想は「複数ノード間の一貫性はCAP定理に基づいて遅延を妥協し,スケーラビリティと読み出しの速さにこだわった。一方で書き込みはそこそこの速度でよく,認証とアクセス制御はアプリケーションで実装するので不要」(池邉氏)というもの。HTTPサーバー

    仮想化環境を「DNSで」管理するはてな,分散ストレージを自社開発したライブドア
  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
  • Flash CS3入門 基本からActionScriptまで:ITpro

    いまやWeb上で手軽に使われるようになってきた感のあるFlashムービーですが,実際はどのようにして作成しているのでしょうか?連載では,Flashムービー作成用アプリケーションの最新版「Flash CS3」について,基操作からスクリプト言語(ActionScript 3.0)を使ったプログラミングまで,具体的なサンプルコードを使ってご紹介していきます。 目次 第1回 Flash CS3で出来ることとFlash 8との違い 第2回 開発用画面を自分好みにカスタマイズしよう 第3回 Flashムービーを自在に制御する -- ActionScriptを書いてみよう 第4回 プロパティとメソッド 第5回 「表示リスト」で画面上のインスタンスの階層や重ね順を管理する 第6回 プログラムの基,変数/関数/スコープを押さえよう 第7回 関数の便利な仕組み,「引数」と「戻り値」を理解する 第8回 ム

    Flash CS3入門 基本からActionScriptまで:ITpro
  • Windowsはどうやって起動しているのか?:ITprowsq

    Windows 2000/XPを搭載したパソコンが突然起動しなくなったら,どうすればいいだろうか。もちろん,Windows 2000/XPが起動するまでにはたくさんの段階を踏んでいるので,原因や復旧策を一言で表すことなど不可能だ。こういうときに役立つのは,ブート・プロセスに関する基礎知識である。どうやってWindowsが起動しているのかを知れば,トラブルの原因や対処法も見当が付くはずである。 パソコンの電源を入れれば,Windowsが起動(ブート)する。この極めて当たり前と思われる動作の中にも,実は複雑な処理が多数潜んでいる。例えば,あなたのWindowsパソコンが突然起動しなくなったとしよう(図1)。あなたはその原因の目星を付けられるだろうか? ブートに関するトラブルは案外多い。パソコンへの衝撃やハードディスク(HDD)の動作不良によってブートに必要なファイルが破損したり,ウイルスによっ

    Windowsはどうやって起動しているのか?:ITprowsq
  • 第10回 Spring&Struts連携のベスト・プラクティスはこれだ!

    株式会社NTTデータ関西 法人ソリューション事業部所属。Struts/Springを利用したフレームワーク開発,プロジェクト支援に携わる。最近は,.NETを利用したフレームワーク開発に携わる。 稿では,Springから提供されているStruts連携について解説します。Strutsは,画面遷移などをサポートするSpringMVCと同じプレゼンテーション層のフレームワークです。 Springでは,Strutsと連携する方法として,4つのパターンを提供しています。利用者としては,結局どの方法を利用すればよいのか悩むところではないでしょうか? また,すでにSpringとStrutsを連携している人にとっては,当に今の方法が最適なのかどうかを不安に思っている人もいるのではないでしょうか? 稿では,まず,根的な部分として,なぜSpringが提供するSpringMVCではなく,Strutsを利用

    第10回 Spring&Struts連携のベスト・プラクティスはこれだ!
  • まだまだあるクロスサイト・スクリプティング攻撃法

    前回はクロスサイト・スクリプティングのぜい弱性を突く攻撃の対策としてのHTMLエンコードの有効性を述べた。ただ,HTMLエンコードだけではクロスサイト・スクリプティング攻撃を完全に防御することはできない。そこで今回は,HTMLエンコードで対処できないタイプのクロスサイト・スクリプティング攻撃の手口と,その対策について解説する。 HTMLエンコードで対処できない攻撃には,次のようなものがある。 タグ文字の入力を許容している場合(Webメール,ブログなど) CSS(カスケーディング・スタイルシート)の入力を許容している場合(ブログなど) 文字コードを明示していないケースでUTF-7文字コードによるクロスサイト・スクリプティング <SCRIPT>の内容を動的に生成している場合 AタグなどのURLを動的に生成している場合注) 以下では,HTMLタグやCSSの入力を許容している場合と,文字コードを明

    まだまだあるクロスサイト・スクリプティング攻撃法
  • 対策遅らせるHTMLエンコーディングの「神話」

    クロスサイト・スクリプティングという言葉は元々,WebアプリケーションのHTMLエンコード漏れなどを利用することによって第三者にJavaScriptを実行させる手法を指す。広義では,HTMLのエンコードによる画面改変などを含むこともある。 前回述べたように,クロスサイト・スクリプティングのぜい弱性はWebアプリケーションに見付かるぜい弱性の半分以上を占める。数年前から指摘されているにもかかわらず,一向になくならない。その理由として,クロスサイト・スクリプティング対策あるいはHTMLエンコード注1)に対する「神話」があり,正しい対策の普及を遅らせているように思う。その「神話」の数々について説明しよう。 注1)実体参照(entity reference)というのが正式だが,あまり普及していない用語なので,HTMLエンコードという用語を用いる 「すべからくHTMLエンコードすべし」が鉄則 HTM

    対策遅らせるHTMLエンコーディングの「神話」
  • はびこる「インジェクション系」のぜい弱性:ITpro

    Webアプリケーションのぜい弱性を示す用語として,クロスサイト・スクリプティング,SQLインジェクションといった言葉の認知度はかなり高まった。ブログ・サイトなどでも活発に議論されている。しかし,Webサイトの実態はどうだろうか。 筆者の所属する京セラコミュニケーションシステムでは昨年(2006年),ぜい弱性診断を実施したWebサイトの統計情報「2007年版 Webアプリケーションぜい弱性傾向」を発表した。これによると,パソコン向けWebサイトの48%に致命的なぜい弱性が見つかった。このうちワースト1位はクロスサイト・スクリプティングで56%,2位はSQLインジェクションで11%と,どちらもインジェクション(注入)系のぜい弱性。これらのぜい弱性を持った危険なサイトは依然として存在するのが実情である。 これらWebアプリケーションのぜい弱性があまりなくならない理由はいくつかあるが,以前は「ぜい

    はびこる「インジェクション系」のぜい弱性:ITpro
  • Linuxコマンド逆引き大全 Index - Linuxコマンド逆引き大全:ITpro

    Linuxのコマンドを「やりたいこと」で探すことができます。「やりたいこと」をクリックすると、コマンド名、動作、構文、オプションの意味をご覧いただけます。コマンドの基を学びたい方は「Linuxコマンド道場」を参照ください。ファイルの操作からテキスト・ファイルの処理方法まで,例題に基づいて学べます。

    Linuxコマンド逆引き大全 Index - Linuxコマンド逆引き大全:ITpro
  • 第6回 上手なアルゴリズムの見つけ方

    図1に示すHTML形式のテキスト・データ(以下,HTMLデータ)があります。このHTMLデータをブラウザに表示させたときに「表示される文字列」と「その文字列に対して有効なタグ名」を対応付けるアルゴリズムを考えてください。結果は配列に格納して,画面に表示させるものとします(図2)。 見わたせば,世の中はアルゴリズムだらけです。私のようなプログラマは,日常生活でも「締め切り順に仕事をソートしてごらん」「仕事のスタックがたまっているからてんてこまい」など,いま置かれている状態をアルゴリズムやデータ構造になぞらえて会話することがよくあります。前回紹介した再帰処理と言えば,落語の演目の一つ,「頭山」です。自分の頭に生えた桜の木を引っこ抜いて,その跡にできた池に自分自身が身を投げる,という不思議な話ですが,これこそ再帰処理をよく言い表していると思います。 このように世の中には,ハッシュだってスタックだ

    第6回 上手なアルゴリズムの見つけ方
  • LANの構成や健康状態を調べたい

    LANをトラブルなく運用するには,日々の管理が重要となる。こうした管理の土台となるのが,「LANにどんな機器がつながっていて,どんな状態で動いているのか」をあらかじめ正確に把握しておくことである。 LANにつながるパソコンやネットワーク機器のIPアドレスMACアドレスを調べ,一覧表にしておけば,いざトラブルが起こったときに対処がしやすい。ルーターなどから定期的にトラフィック情報を入手してチェックしておけば,回線の増強計画も立てやすくなる。 LANにつながる機器の一覧は,pingやarpといったOSのネットワーク・コマンドを駆使して調べることも可能だ。しかし,趣味や勉強が目的でないなら,そんな手間のかかることはせず,便利なフリーソフトを使った方がよい。 MACアドレスからベンダー名を表示 LAN内のネットワーク機器の一覧を作成してくれるフリーソフトはたくさんあるが,とくに便利なのが「Net

    LANの構成や健康状態を調べたい
  • Linuxコマンド・ランキング

    Linuxでは,コマンドを使用する機会が多々あります。コマンドを実行する際には,その機能やオプションといった決まり事を知っておく必要があります。しかし,数多くの決まり事を覚えるのは困難です。 日経LinuxのWebサイトでは,各コマンドの決まり事,言い換えれば使い方を紹介した「Linuxコマンド集」を公開しています。基的なコマンドからシステム管理に役立つコマンドまで,200個を超えるコマンドの使い方を紹介しています。 Linuxコマンド集は2006年3月1日,ITproに公開しました。公開後1年が経過したのを契機に,過去1年間でよく閲覧されたコマンドのトップ20を公開します。上位にランクされるコマンドほど,多くのユーザーが使い方を知りたいコマンドといえるのではないでしょうか。効率よくLinuxコマンドの使い方を覚えるときの参考にしてください。

    Linuxコマンド・ランキング
  • ブックマークに入れておきたいお役立ちサービス/Webページ一覧:ITpro

    出典:日経NETWORK 2006年11月号 35ページより 記事は執筆時の情報に基づいており、現在では異なる場合があります。

    ブックマークに入れておきたいお役立ちサービス/Webページ一覧:ITpro
  • 「HTML画面をそのまま仕様書に」,5カ月で1000画面を構築した就職サイトPuffの高速開発手法:ITpro

    上段左からティーアンドエフカンパニー 事業推進統括責任者 情報化戦略コンサルタント 西岡祐弥氏,ティーアンドエフカンパニー 代表取締役社長 佐藤裕司氏,パフ 代表取締役社長 釘崎清秀氏,下段左よりティーアンドエフカンパニー 最高技術責任者 出羽健一氏,パフ 取締役兼株式会社プロシンクワーク代表取締役社長大場京子氏,パフ 事業サポートグループ グループマネージャー 保坂光江氏 Webシステムを開発する際にはほとんどの場合,ユーザーとの打ち合わせのためにHTMLによるモックアップを作る。「このHTMLがそのまま仕様書になれば」と思ったことはないだろうか。就職情報サイトPuffの再構築プロジェクトでは,まさにモックアップをそのまま仕様書した。「十数人の開発者で,5カ月で1000画面のシステムを開発する」必要に迫られたからだ。 HTMLに仕様とメモを埋め込み,CSSで切り替え 「この未体験のスピー

    「HTML画面をそのまま仕様書に」,5カ月で1000画面を構築した就職サイトPuffの高速開発手法:ITpro
  • [製品研究室]オフィス向けブロードバンド・ルーター

    企業の拠点をインターネットで結ぶ セキュアさと安さを求め工夫を凝らす 家庭でインターネット接続のためにブロードバンド・ルーターを使っている人は多いだろう。だが,その数倍~数十倍という価格の「オフィス向けブロードバンド・ルーター」というものがある。これらは,家庭で使っているものと,そもそも何が違うのだろうか。 第1回 企業の拠点間接続を想定 第2回 動的IP環境でVPNを利用可能 第3回 イーサネットのフレームをIPで転送 第4回 ルーターの故障も自動で切り替え 第5回 家庭向けに比べ製品の寿命が長い

    [製品研究室]オフィス向けブロードバンド・ルーター
  • 鵜飼裕司のSecurity from USA : P2PソフトShareの暗号を解析,ネットワーク可視化システムを開発

    1. はじめに Shareと呼ばれるP2P型ファイル交換・共有システムがここ二年ほどで急速に普及し、Winnyについで第2の巨大P2Pネットワークを構成している事は皆様もご存知かと思います。以前、ネットワーク脆弱性スキャナ「Retina」(http://www.scs.co.jp/eeye/)にWinnyの検出機能を実装致しましたが、同様にShareの検出機能も実装して欲しいという強い要望を日の皆様から頂いておりました。このためには、Shareを解析せねばなりません。 どうせShareを解析するならば、利用されている暗号アルゴリズムやプロトコルを詳細に解析し、現在日で大きな社会的問題となっているShareネットワークでの情報漏えい問題に何か手を打てればと思い、年明けからShare EX2の解析に着手しました(以降、「Share」 = 「Share EX2」とする)。この甲斐あって、Re

    鵜飼裕司のSecurity from USA : P2PソフトShareの暗号を解析,ネットワーク可視化システムを開発
  • 誰が攻撃しているか突き止めたい:ITpro

    ブロードバンド・ルーターを介さずにパソコンをインターネットに直接つないでいたり,ルーターのポートを開けてLAN内のパソコンをサーバーとして外部に公開したりしていると,毎日のように不審なパケットが何者かによって送りつけられてくる。 つい先日も,実験のためにWebサーバーを公開したときの1カ月分のアクセス・ログを見てみたら,攻撃を受けた痕跡が大量に記録されていた。 こうしたインターネットからの攻撃を受けたとき,やるべきことは二つ。まず最優先はサーバーやパソコンが被害を受けていないかをチェックすることだ。被害を受けていたらすぐに修復し,適切なセキュリティ対策を施す。 それから,攻撃してきたのがどこの誰なのかを突き止める。攻撃パケットをいくつか受け取ったからといって目くじらを立てる必要はないが,あまりにしつこいようなら攻撃者が契約しているプロバイダに連絡するなどの手を打つことも考えたい。そのために

    誰が攻撃しているか突き止めたい:ITpro
  • リアルな映像を作るグラフィックス・アルゴリズム

    3次元コンピュータ・グラフィックス(3DCG)の世界で,リアリティは非常に重要なテーマです。リアルな3DCGを作るため,これまで様々な研究/開発がなされ,その成果は映画やビデオ・ゲームなどで誰でも目にすることができるようになっています。そして,現在でもさらなるリアリティの追求のため,日々研究や開発が続けられています。このパートでは,そうしたリアルな3DCGの裏側にある技術の一端をお見せします。 3DCGのリアリティは「形状」「色/質感」「動作」という三つの要素に分けて考えることができます。これらが技術的にどのような難しい点を含んでおり,どのように解決されてきたかは,最後のカコミ記事「3DCGのリアリティを実現する三つの要素」を参照していただくとして,これらの三要素が一定の水準に達したところで浮かび上がってきた,ある問題に焦点を合わせてみましょう。それは自然な動作の大量生成が難しい,という問

    リアルな映像を作るグラフィックス・アルゴリズム
  • Part4 Javaで作るオリジナル言語

    Part4では,Lisp(リスプ:List Processor)インタプリタをJava言語を使って作っていきます。Lispは非常に歴史が古く,様々な分野で利用されている言語です。しかし,皆さんの中にはLisp自体をよく知らないという方もいらっしゃるかもしれません。どんなものを作るかわからないままでは面白みも半減してしまいますから,まずはLispのごく基的な動作を紹介しましょう。 まずは簡単Lisp講座 Lispの質は,すべてがリスト(正確にはS式,詳細は後述)で表現されることにあります。リストは要素を順序付きで並べたもので,“(1 2 3 4)”のように要素の並びをカッコでくくって表記します。このリストの要素は1,2,3,4の四つです。 「すべてがリストで表現される」という言葉の通り,Lispではプログラムもこのようなリストとして表現します。Lisp処理系は,与えられたリストの一つ目の

    Part4 Javaで作るオリジナル言語