タグ

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

  • Part4 IOPSを理解する

    ディスク単体の性能を,1秒当たりに処理できるI/O数で示したものが「IOPS」である。DBサーバーなど頻ぱんにディスクにアクセスする用途では,IOPSが高いディスクほど性能が良い データ転送時間には,ディスクから磁気ヘッドがデータを読み書きする平均メディア転送速度やインタフェースの転送速度,ドライブの信号処理とデータ転送を制御するCPUの処理時間などが加味される。 実は,これらの値は公開されていないため,正確なデータ転送時間は分からない。ただし,4Kバイトや16Kバイトなど,OSの読み書き単位程度の大きさであれば,数10マイクロ秒から長くても1ミリ秒程度であり,誤差の範囲である。 仮に,4Kバイトのデータを書き込むために必要なデータ転送時間を1ミリ秒とする。平均アクセス時間6ミリ秒のディスクにデータを4Kバイト単位で書き込むとする。このディスクのIOPSは,「1/(6ミリ秒+1ミリ秒)=1

    Part4 IOPSを理解する
  • 第2回 Scalaの基本的な文法

    大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,現在は株式会社豆蔵のチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス 執行委員。著書に『オブジェクト脳のつくり方』や『eXtreme Programming実践レポート』(ともに翔泳社発行。後者は共著)などがある。 前回,Scalaの3種類の実行方法を学びましたので,今回は基的な文法を説明していきます。 Scalaのぶっ飛んだ特徴を早く説明したいところですが,千里の道も一歩から。じっくり楽しみつつ,進んでいきましょう。 1.変数 最初にScalaの変数について説明します。ここでは,すべてscalaの対話式実行環境(連載ではScalaインタプリタと言います)で説明し

    第2回 Scalaの基本的な文法
    hatz48
    hatz48 2011/08/15
  • データベースの内部動作を知る

    SQLのプログラミングは奥が深い。特にパフォーマンスの観点から、そう言えるだろう。 みなさんご承知の通り、同じ結果を出すプログラムでも、SQLの書き方次第で処理時間に何倍もの差が生じ得る。効率の悪いSQLを書いてしまう原因は、多くの場合、リレーショナルデータベースの内部動作やアプリケーションに関する理解不足である。両者をよく知った上で最適なSQLを書けるようになることは、システムエンジニアとしての重要なスキルの一つである。 特集『基礎から理解するデータベースのしくみ』では、リレーショナルデータベースの内部動作について、基的な部分を分かりやすく解説している。SQLプログラミングに役立つことはもちろん、SQLチューニングやデータベース設計のための基礎知識としても不可欠だ。 イントロダクション ブラックボックスのままでいいの? Part 1:SQL文はどのように実行されるのか SQL実行までの

    データベースの内部動作を知る
  • 第37回 書き換え規則を使って不要な計算や中間データを除去

    プログラムの処理は,いつも効率的であるとは限りません。非効率的な処理があれば,別の効率的な処理に置き換える必要があります。プログラムのアルゴリズムやデータ構造に問題がない場合には,こうした最適化は通常は処理系が行います。 しかし,処理系に実装されている最適化機能は完璧ではありません。プログラマが最適化を行ったほうがいい場合もあります。GHCには,プログラマが最適化の方法を処理系に指示するための「書き換え規則(Rewrite Rules)」という機能があります(参考リンク1,参考リンク2)。 今回は,書き換え規則の基的な使い方と,GHCに付属するライブラリで使われている最適化テクニックの一部を紹介します。 RULES指示文に書き換え規則を記述 書き換え規則は,「RULES指示文」をソースコードに埋め込むことで利用します。例を見てみましょう。 前回,IntとWordとの間の型変換に,from

    第37回 書き換え規則を使って不要な計算や中間データを除去
  • 第2回 多相性(ポリモーフィズム)への理解を深める

    今回説明するテーマは「多相性」です。英語ではpolymorphism(ポリモーフィズム)になります。多態性や多様性などと呼ぶこともあります。オブジェクト指向をご存じの方ならおなじみの言葉ですね。 多相性は「ある関数や型を,複数の型に対して使用できる」という性質を示す言葉です。こうした性質を持つ関数であれば,数値計算や文字列の連結,I/O(入出力)処理など一見全く違うように見えるような処理を,あたかも同じもののように扱うことができます。 なお,この連載ではその回の理解に必要な知識は解説していきますが,すべての機能を網羅的に説明していくことはしません。Haskellについて体系的に学習したければ,入門書や「Haskell 98 言語とライブラリ 改訂レポート」(原文はLanguage and library specification)を見てください。 前回の補足 この連載では,前回の記事に関

    第2回 多相性(ポリモーフィズム)への理解を深める
  • 【 telnet 】 他のホストと通信をする

    リモート・ホストに接続する。ポートを省略した場合,ポート23番で接続を行う。ctrl+](-eオプションにより文字を変更可能)を入力することでコマンド・モードに移行することができる。コマンド・モードで利用できる主なコマンドを以下に示す。

    【 telnet 】 他のホストと通信をする
  • 第11回 動的コンテンツを作る「CGI」の基本

    Webサーバー上でスクリプトを処理して結果を送信する「CGI」について説明します。設定ファイル(httpd.conf)で,CGIプログラムの配置場所を変更できます。 前回は,動的コンテンツを実現する手法としてSSI(Server Side Include)を説明しました。SSIのほかに動的コンテンツを実現する手法としてよく知られているのが「CGI」(Common Gateway Interface)です。 CGIを使えば,掲示板やブログ,Webメール,グループウエアといった動的なコンテンツを作成できます(写真1)。今回と次回の2回に分けて,CGIの動作方法と簡単なCGIの作成方法,CGIの実行結果をHTMLファイルに埋め込む方法を紹介します。 CGIの仕組み CGIは,Webブラウザからの要求を受けて,Webサーバーがプログラムを呼び出し,その結果を返答する仕組みです。図1のように,プログ

    第11回 動的コンテンツを作る「CGI」の基本
  • Apacheサーバー構築法

    「Apache HTTP Server」を使いこなすためのノウハウやテクニックを解説していきます。 ・第1回 Apacheでどんなことができるのか? ・第2回 ディレクトリ構造 ・第3回 設定ファイル「httpd.conf」 ・第4回 ファイルやURL関連の設定 ・第5回 設定を上書きする「.htaccess」 ・第6回 ユーザー認証 ・第7回 一般ユーザーのWebページを公開 ・第8回 HTTPリクエスト・ラインとヘッダーの中身 ・第9回 HTTPのやり取りを体験する ・第10回 動的コンテンツを作る「SSI」 ・第11回 動的コンテンツを作る「CGI」の基 ・第12回 Perlで作るCGIアプリケーション ・第13回 クロスサイト・スクリプティングに対処する ・第14回 エラー・メッセージに関する設定 ・第15回 ログを管理する

    Apacheサーバー構築法
  • 生産性の高いWeb開発環境 Ruby on Rails:ITpro

    ジャンル:Webアプリケーション開発環境 作者:David Heinemeier Hansson氏など ライセンス:MIT License URL:http://www.rubyonrails.org/ Ruby on Railsはデータベースを利用したWebアプリケーションを構築するためのフレームワークだ。RubyMySQLで構成される。新規に記述するコードの量が少なくて済み,簡単にWebアプリケーションを開発できる。利用可能なアプリケーションも多い。 Ruby on Rails(以下,Rails)は,2005年12月14日にバージョン1.0が登場したこともあり,今最も注目されるWebアプリケーション・フレームワークといえるだろう(写真1)。PHPJavaを使った既存のフレームワークに比べて,開発時間が短い,すなわち生産性が高いことが特徴である。Ajax(Asynchronous J

    生産性の高いWeb開発環境 Ruby on Rails:ITpro
    hatz48
    hatz48 2011/04/26
  • 今、知っておきたいJavaScript

    Webブラウザとテキストエディタさえあれば、プログラミングして実行できるシンプルで手軽な言語――。それがJavaScriptが初めて登場してからしばらくの間、多くの人が抱いた印象でした。しかし、Ajaxの登場に伴う第2のブーム以降、ハードルが高くなったように感じられます。 その大きな理由の一つが、DOM(Document Object Model)に基づくJavaScriptプログラミングでしょう。DOMは、HTMLやXMLを構成する各要素に対して、プログラムからアクセスして内部の情報を取得・変更したり、機能を利用したりするためのAPI(Application Programming Interface)です。DOMを使うことによって、WebページをリロードせずにWebページを部分的に書き換えたり、HTMLドキュメントの構造を動的に変えたりといったことが可能になります。 DOMは便利な仕組

    今、知っておきたいJavaScript
    hatz48
    hatz48 2011/04/16
  • HTML5時代が目前! 本気で学ぶJavaScript

    登場当時、動きのあるWebページを作る技術として注目されたJavaScriptは、その後“不遇”の時代を経て、Ajaxで再び脚光を浴びました。jQueryなどのライブラリの普及で、開発生産性やブラウザ互換性の問題がほぼ解決した現在、HTML5時代を目前にして、JavaScriptの重要度はさらに高まっています。この特集では、今、知っておきたいJavaScriptを一気に解説します。 目次

    HTML5時代が目前! 本気で学ぶJavaScript
    hatz48
    hatz48 2011/04/16
  • グーグル発「Hadoop」、日本企業も利用へ

    Hadoopは、グーグルが検索エンジン用に開発したバッチ処理システムを基に開発された、オープンソースソフトだ。グーグルが開発した分散ファイルシステム「Google File System(GFS)」を模した「Hadoop Distributed File System(HD FS)」と、データ処理機構「MapReduce」を模した「Hadoop MapReduce」で構成する。 米国では米VISAや米JPモルガン・チェースのような大手金融機関が、バッチ処理にHadoopを使用する。 そのHadoopがいよいよ、日企業でも使われ始めた。例えば楽天は、ある商品に対するお薦め商品をリストアップする「レコメンド処理」にHadoopを使用する。NTTデータは、全国の渋滞情報をリアルタイムに可視化するシステムの構築にHadoopを採用した。三菱UFJインフォメーションテクノロジーもHadoopを使っ

    グーグル発「Hadoop」、日本企業も利用へ
  • 短期集中連載●今こそAjaxに強くなる---目次

    富士通で個人情報漏洩の恐れ、業務PCのマルウエア感染で「ファイル持ち出せる状態」 2024.03.15

    短期集中連載●今こそAjaxに強くなる---目次
    hatz48
    hatz48 2010/09/30
  • 第3回 JavaScriptで非同期通信を実装する

    JavaScriptによる非同期通信の仕組み ここまでは,Ajaxを支える技術としてJavaScriptでユーザー・インタフェースを実装する仕組みを紹介した。続いて,JavaScriptによる通信の実装について見ていこう。よく見かけるAjaxの紹介記事は,この通信の実装方法に重きを置いていることが多い。なぜなら,Ajaxという方法論が普及する前は,JavaScriptのコードから通信をしようなどとと考える人はおそらく少数派だったからであろう。 JavaScriptでHTTP通信を行うには,一般にXMLHTTP,またはXMLHttpRequestと呼ばれるオブジェクトを利用する。ただし,注意しておくことが二つある。一つは,XMLHttpRequestの実装方法はブラウザの種類やバージョンによって異なるという点,もう一つは,「クロスドメインの制限」と言って,現在表示しているHTMLを取得したサ

    第3回 JavaScriptで非同期通信を実装する
  • 第4回 SpringMVCの基本を知る

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

    第4回 SpringMVCの基本を知る
  • 第3回 AOPでプログラムをシンプルにする

    株式会社DTS ネットワーク事業部所属。Struts/Springベースのフレームワーク開発,プロジェクト支援に携わる。 今回は,Springで提供されているAOP機能(以下,SpringAOP)について説明します。最初にAOPとは何なのか,どんなメリットがあるのかを簡単に説明します。次に,AOPの基的な使い方を,サンプルを使って説明します。あなたが普通の業務開発者であるならば,このAOPの使い方を覚えるだけで十分でしょう。 最後に,AOPを自分で作る(正確には「アドバイス」というものを作ります)という,少し高度なことに挑戦します。こちらはAOPを自作する必要が出たときに読めばよいと思います。それでは,さっそく始めましょう。 AOPとは AOPとは,アスペクト指向プログラミング(Aspect-Oriented Programming)のことで,オブジェクトが来するべき処理と,来する

    第3回 AOPでプログラムをシンプルにする
  • 「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー──「プログラミングの楽しさ伝えたい」

    1時間強でテトリスを作れるのはすごいですね。プログラミング歴を教えてください。 幼稚園のころからですね。当時,セガが「SC-3000」というパソコンを出していて,これが家にありました。あるとき,親が「ベーマガDX」(注:電波新聞社が発行していたプログラミング雑誌「マイコンBASICマガジン」の別冊。様々なパソコン用のゲーム・プログラムなどを掲載していた)を買ってきたので,そこに載っているプログラムを打ち込んでいました。 当時は「これを打ち込むとゲームができる」という認識しかなかったですが。SC-3000には顔のキャラクタがあってそれをBASICのPRINT文で表示して親に自慢げに見せていたそうです。 幼稚園のころに? はい,あまり信じてもらえないかもしれないのですけど(苦笑)。 小学校に入ってからは,PC-88(NEC製の8ビット・パソコン)もあったのですが,それはほとんど使わずに小学校4

    「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー──「プログラミングの楽しさ伝えたい」
  • 第36回 現場からの報告精度を上げる

    進捗会議を定期的に開いていても,現場の状況が見えないことがある。そんなときは,PMOとリーダーで事前に打ち合わせを行い,進捗状況の深堀り(原因・質の追求)をすることで,現場からの報告精度を改善していく手がある。 川上愛二 マネジメントソリューションズ マネージャー 各チームの状況を確認,共有する目的で進捗会議を開催しますが,しばしば「現場の状況が見えない」という声が上がります。例えば,進捗会議の中で,以下のような報告を聞いたことはないでしょうか。 Aチームリーダー:「作業Aが予定より3日遅れています。来週は作業Aについて要員を追加することでリカバリする予定です」 一見,遅れが明確になっていて,リカバリ策が提示されているので,進捗報告としては良いような気がします。ただ,そもそも「なぜ作業Aが遅れたのか」という点と,「作業Aが遅れることによる全体への影響」が明確になっていません。原因追求と影

    第36回 現場からの報告精度を上げる