タグ

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

  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro
  • 特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基

    特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro
  • (新)APIから知るWindowsの仕組み---目次

    雑誌にせよWebにせよ,最近のWindowsプログラミングの記事のほとんどは .NET向けだ。マイクロソフトも,これまでネイティブ・コードでの開発が主流だったC/C++開発まで, .NETへの移行を促そうとしている。 ではネイティブ・アプリケーション開発用のプログラミング・インタフェースであるWin32 API(Application Programming Interface)の知識は不要になるのかというと,決してそうはならないと筆者は考えている。理由の一つは,OSが動作する仕組みを知ることが,今後も開発者にとって重要であり続けることだ。プロセス管理,メモリー管理,同期化といった概念は,.NETで開発する場合でも必要だ。こうした知識を得るのに一番いいのは,やはりOSのカーネルに近いAPIのレベルで学ぶことである。 将来どうなるかはともかく,現時点では .NET Frameworkの大部分

    (新)APIから知るWindowsの仕組み---目次
  • はじめてのカーネル・ソース---目次:ITpro

    なかなかハードルが高く,多くの人が踏み出せないでいるカーネルのソース・コードの読解。連載では,今までカーネル・ソースなんて見たことがないという人に,読みこなすコツをお教えします。 カーネルのコンパイル方法については,関連記事「やってみると意外に簡単!? Linuxカーネル・コンパイル入門」をお読みください。 また,カーネル・パラメータの項目については,関連記事「「Linuxカーネルの設定パラメータ」」で公開しています。 第1回 どうしたら読めるようになるのか 第2回 C言語とライブラリの初歩 第3回 カーネル・ソース内のシステム・コールを確認する 第4回 カーネルが構造体を好むワケ 第5回 デバイス・ドライバとモジュール 第6回 構造体に「関数」を登録する 第7回 ネットワーク処理はモジュール処理と上下が逆 第8回 データに意味付けするキャスティング手法 第9回 機能拡張でよく使われる共

    はじめてのカーネル・ソース---目次:ITpro
  • Windowsプログラマに贈るLinuxプログラミング入門---目次

    Windowsプログラマを主な対象に,Linux上でプログラミングを行う方法を一から説明します。普段慣れ親しんでいるWindowsからLinuxに移ると,何から何までわからないことばかりかもしれません。「オープンソース・ソフトウエアとは何か」から「Windows上でLinuxを簡単に使う方法」「Linux上での,初めてHello world」を経て,Linux上でテキスト・エディタを使ってプログラムを書き,動かすまでをやさしく解説します。 また,Windows技術者のための組み込みLinux入門 も合わせてお読みください。 第1回 オープンソースの基礎を学ぶ 第2回 Linuxを一から知る 第3回 VMware PlayerとUbuntu仮想マシンの導入 第4回 Linuxコマンド入門(その1:必要最低限の操作) 第5回 Linuxコマンド入門(その2:パス,ユーザー権限,パーミッションを

    Windowsプログラマに贈るLinuxプログラミング入門---目次
  • Linuxチューニング ---目次:ITpro

    第1部は,日経Linux2002年4月号の特集1「Linuxを高速化するチューニング・テクニック大全」,第2部は2003年4月号特集1「チューニング・テクニック完全ガイド」の再掲です。記事は執筆時の情報に基づいており,現在では異なる場合もあります。

    Linuxチューニング ---目次:ITpro
  • Linuxカーネルの基本機能:ITpro

    カーネルはLinuxシステムの中核をなす重要なソフトウエア部品です。Linuxを使いこなすためには,カーネルの動作や仕組みに対する理解が欠かせません。連載では,Linuxカーネルの役割とその仕組みを体系的に紹介します。 第1回 カーネルの機能とその利用法 第2回 プログラムとプロセス 第3回 プロセス・スケジューリング 第4回 プロセス・メモリー管理 第5回 カーネル・メモリー管理 第6回 割り込み管理 第7回 ファイル・システム(前編) 第8回 ファイル・システム(中編) 第9回 ファイル・システム(後編) 第10回 ファイル名の文字コード 第11回 デバイス・ドライバ 第12回 ソケット・インタフェース 第13回 IPとルーティング 第14回 TCPとUDP 第15回 パケット・フィルタリングとQoS機能 第16回 排他制御機構 第17回 モジュール機構 第18回 カーネルの起動処理

    Linuxカーネルの基本機能:ITpro
  • 第12回■主要言語別:入力値検証の具体例

    これまで2回にわたってWebアプリケーションにおける入力値検証とセキュリティ対策の関係を説明してきた。入力値検証はセキュリティ上の根的対策ではないが,保険的な対策として効果が期待でき,特に制御コードや不正な文字エンコーディングによる攻撃対策には有効であることを説明した。 今回は,Webアプリケーション開発によく使われる4種類の言語(PerlPHPJavaASP.NET)に関して,入力時処理の具体例を示す。ここで取り上げる「入力時処理」とは以下の内容を含んでいる。 文字エンコーディングの検証文字エンコーディングの変換入力値検証 Perlによる実装の方針 Perl言語はバージョン5.8から内部文字エンコーディングとしてUTF-8をサポートし,文字単位での日語処理が可能だ。文字エンコーディング処理にはEncodeモジュールを使用する。入力値検証には正規表現を用いるのが便利だ。 ■文字エ

    第12回■主要言語別:入力値検証の具体例
  • ゼロディ攻撃を編み出す方法

    攻撃に使えるセキュリティ・ホールはどうやって見つけるのだろうか。 攻撃対象アプリケーションのリバース・エンジニアリングから始める者がいる一方で,もっと安易な方法を選ぶ者もいる。安易な方法の一つが,Webサーフィンだ。 「ゼロディ攻撃のためにWebサーフィンするとは,どういう意味だ?」と不思議に思うだろう。 攻撃者たちは「問題にぶつかったアプリケーション開発者が,疑問をオンライン・フォーラムに投稿して助けを求める」と知っているのだ。 開発者の投稿には,「こんなことやあんなことをしたら,Webブラウザがクラッシュする」といった内容のものがある。何らかのアプリケーションなどを「クラッシュ」させるコードを投稿する者も現れる。自分の投稿がセキュリティに悪影響を及ぼしかねないことなど,こうした開発者は理解していない。 ところが攻撃者たちはそのことをよく知っている。セキュリティ・ホールを探す際に使うお気

    ゼロディ攻撃を編み出す方法
  • Windowsはどうやって起動しているのか?:ITprowsq

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

    Windowsはどうやって起動しているのか?:ITprowsq
    hitsujibane
    hitsujibane 2008/10/10
    Windowsのブートプロセスについて
  • 詳細が明かされたDNSキャッシュ・ポイズニングの新手法

    2008年7月から世界的に話題になっているDNSキャッシュ・ポイズニングを効率的に実現する手法について,発見者であるダン・カミンスキー氏が,Black Hat 2008の席上でプレゼンテーションを行いました(8月6日)。このキャッシュ・ポイズニングのぜい弱性については,いろいろ動きがありましたので,ぜい弱性に関連するイベントを追いかけておきましょう。 ■キャッシュ・ポイズニングのぜい弱性の対応経過 まずは,ぜい弱性に代表的なイベント一覧です。他の関連イベントについては, Status Tracking Note TRTA08-190B:複数の DNS 実装にキャッシュ・ポイズニングのぜい弱性 を参照してください。 2008年7月8日 BINDを含む複数のDNSサーバーが,ダン・カミンスキー氏が指摘するキャッシュ・ポイズニングを効率的に実現する手法に対してぜい弱であったことから,対策版がリリ

    詳細が明かされたDNSキャッシュ・ポイズニングの新手法
  • 英語のプレゼンテーションで使える「決めセリフ」:ミッキーのproITなアメリカンライフ:ITpro

    今回は,英語のプレゼンテーションで使える表現を集めてみました。 日はこのような(発表の)機会を得て光栄です。 ・Thank you for such an opportunity to talk about xxx ・It is my privilege to present you about xxx ・It is my honor to present to such a distinguished audience. 今日は貴重なお時間をありがとうございます。 ・Thank you for your precious time today. ・I appreciate your time to be with us today. ・Thank you for your precious time to discuss on xxx. 始めてよろしいですか? ・May I begin

    英語のプレゼンテーションで使える「決めセリフ」:ミッキーのproITなアメリカンライフ:ITpro
  • 1