タグ

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

  • 原理から学ぶネットワーク・セキュリティ---目次

    企業からの個人情報漏えいや,偽造されたWebページを使った詐欺事件などが珍しくなくなっています。個人情報保護法や,不正アクセス禁止法などセキュリティに関する法律も整備されてきました。しかし,法律でコンピュータ・セキュリティが保護されたと安心しているユーザーはほとんどいないでしょう。ネットワークを使って安心して買い物や銀行取引をするには,法律のみならず,技術についての理解が欠かせません。 セキュリティに関する技術というと,SELinuxやファイアウオールの設定,SSHやIPsecなどのプロトコルのことを思い浮かべる人も多いかもしれません。また,セキュリティに関するさまざまな技術について断片的には理解しているが,それがどういう目的でどういう役目を果たしているのかを頭の中で整理できていない人もいるのではないでしょうか。 そこで連載は,セキュリティの基技術である暗号化技術やPKI(公開鍵暗号方

    原理から学ぶネットワーク・セキュリティ---目次
  • 58. すごいリロード対策

    まず、日のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ

    58. すごいリロード対策
    mac10
    mac10 2007/10/22
  • ITエンジニアの「やってはいけない」---目次:ITpro

    設計・実装から運用,メソドロジまで,最新アンチパターンを徹底解説 先輩から教わったことのなかに多くの「やってはいけないこと」(アンチパターン)があるだろう。だが,その理由を問われると,うまく説明できないことがあるのではないだろうか。突き詰めて考えると,状況によっては「やっても構わない」こともあるし,技術の進化に伴い「やれるようになってきた」こともある。そこで設計,実装,テスト,運用,メソドロジの各分野について,取材を通じて浮かび上がった最新アンチパターンを徹底解説する。テーマごとに「どれくらいやってはいけないか」のレベルも表した。レベル3~レベル1の3段階あり,レベルの数字が大きいほど,やってはいけない度合いも大きい。 関連サイト: ■設計編 ■メソドロジ編 ■実装編 ■テスト編 ■運用編 ■サーバー運用編 ■データベース編 ■セキュリティ編 ■記録メディア編 ■方式設計編 ■内部統制編

    ITエンジニアの「やってはいけない」---目次:ITpro
  • 生年月日から年齢を計算する簡単な計算式:ITpro

    私の個人ブログに掲載したら好評でしたので、こちらでもご紹介してみます。 最近知ったんですが、生年月日から年齢を計算する簡単な計算式というのがあるそうです。 (今日の日付-誕生日)/10000の小数点以下切捨て。 PHPで書くと echo (int)((20070823 - 19850101)/10000); Perlで書くと print int ((20070823 - 19850101)/10000); JAVAで書くと System.out.println( (int)((20070823 - 19850101)/10000) ); という感じになります。 日の法律を確認してみました。誕生日の前日が終了する瞬間(すなわち誕生日をむかえる午前0時00分の直前)に1歳を加えることになる。ただしうるう年など、年によって期間を定めた場合において最後の月に応当する日がないときは、その月の末日を

    生年月日から年齢を計算する簡単な計算式:ITpro
  • プログラミングに役立つ 「ド・モルガンの法則」

    集合論の最も大事な定理の1つに,「ド・モルガンの法則」というのがあります(ド・モルガンの定理とも言います)。これは情報処理技術者試験などでも頻出なのでご存知の方も多いと思いますが,復習を兼ねて改めて書くと, A, B を集合としたときに, 1. Not (A∩B) = Not(A) ∪ Not(B) 2. Not (A∪B) = Not(A) ∩ Not(B)というものです(図1参照。右辺が具体的にどうなるか塗ってみてください)。 さて, ∩は「かつ」とよみ,英語では「AND」, ∪は「または」とよみ,英語では「OR」, と書くので,上の式は, 1. Not (A AND B) = Not(A) OR Not(B) 2. Not (A OR B) = Not(A) AND Not(B) ということになります。ここで,世の中のすべての事象は X  または   Not(X) のどちらか一方に排

    プログラミングに役立つ 「ド・モルガンの法則」
  • まつもと直伝 プログラミングのオキテ 第6回 メタプログラミング:ITpro

    今回は「プログラミングをプログラムする」メタプログラミングについて学びます。メタプログラミングを利用すると,動的にメソッドを追加するなど,実際のアプリケーション作成に役立つ処理が簡単に実現できます。メタプログラミングと小言語の関係についても解説を加えました。 今回はメタプログラミングを扱います。メタとはギリシャ語で「間に,後に,越える」などを意味する接頭辞「meta」に由来する言葉で,「超越」,「高階」などの意味があります。例えば,Rubyをはじめとする多くのオブジェクト指向プログラミング言語では,「クラスのクラス」のことを「メタクラス」と呼びますし,他のオブジェクトを支えるクラス・オブジェクトなどのことをメタオブジェクトと呼ぶこともあります。 メタプログラミングとは,プログラミングをプログラミングすることです。そんなことが何の役に立つのかと感じる方もいらっしゃるでしょう。今回は一見して何

    まつもと直伝 プログラミングのオキテ 第6回 メタプログラミング:ITpro
    mac10
    mac10 2007/06/12
  • Google,Ajaxアプリ開発キット「GWT 1.4」のRC1を公開

    Googleは米国時間5月29日,Ajaxアプリケーション開発キット「Google Web Toolkit(GWT)1.4」のリリース候補版1(RC1:Release Candidate 1)を公開した。Google技術リードのBruce Johnson氏が同日,公式ブログGoogle Web Toolkit Blogへの投稿で明らかにしたもの。 GWT 1.4 RC1は,GoogleのWebサイトからWindowsMac OS X/Linux版を無償でダウンロードできる。 GWT 1.4 RC1について,Johnson氏は「間違いなくこれまでで最大規模のリリース」とする。さまざまな新機能を搭載,改良,最適化を施したほか,150件以上のバグを修正したという。 コンパイラを改良した結果,生成するJavaScriptのサイズは従来に比べ10~20%小さい。起動処理に必要なモジュールのサイズ

    Google,Ajaxアプリ開発キット「GWT 1.4」のRC1を公開
    mac10
    mac10 2007/05/31
  • 「Ajax? 知ってますよ」と言えますか:ITpro

    新人配属や異動の季節になった。この4月,あなたがもし新しい職場に配属されて,上司から「君,Ajaxって知ってる?」と聞かれたとする。そのとき,堂々と「知ってますよ」と答えられるだろうか? このITproのサイトでは,Ajax,マッシュアップ,リッチ・クライアント,SaaSなどいわゆるWeb2.0関連の記事が一昨年ぐらいから毎日のように掲載されている。そもそもITproはこうした言葉を知っている読者を対象にしているので,ほとんどの読者は冒頭のような質問を受けても,「知ってますよ」と堂々と答えられるだろう。しかし,この春初めてITの世界に入る人の中には,「名前や概念的なことなら分かるのですが…」という人も多いのではないだろうか。 そこで今回の記者の眼では,そういう新人君にお勧めな「Ajax学習法」を考えてみた。といっても,要するに,実際に自分でちょっとしたプログラムを作って試してみるだけである

    「Ajax? 知ってますよ」と言えますか:ITpro
    mac10
    mac10 2007/04/11
  • Linuxコマンド逆引き大全 Index - Linuxコマンド逆引き大全:ITpro

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

    Linuxコマンド逆引き大全 Index - Linuxコマンド逆引き大全:ITpro
    mac10
    mac10 2007/04/04
  • 第1回 Eclipse&プラグインのインストール方法

    株式会社DTS ネットワーク事業プロジェクトマネージャ。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。StrutsIDEコミッタ。著書「まるごとEclipse! Vol.1」(発行:インプレスコミュニケーションズ)。 フリーの開発ツールEclipseには,便利な機能や特徴がたくさんあります。その中でも,Eclipseの機能を自在に拡張できるプラグイン機能は,Eclipseが多数の開発者に支持されている理由の一つです。 連載は,数あるEclipseプラグインの中から,便利で役に立つ=“使える”プラグインを厳選してテーマごとに分類し,読者の方々が迷うことなく目的に合わせたプラグインを選択,利用できるような情報を提供します。 ここで取り上げるテーマは以下の九つです。 Java開発を便利にする基プラグイン Webアプリケーション開発 GUIアプリケーション開発 D

    第1回 Eclipse&プラグインのインストール方法
  • 【MySQLウォッチ】第8回 MySQLチューニングのテクニック:ITpro

    SlowLogの設定 環境設定ファイル(Windowsではmy.ini,Linuxではmy.cnf)に次のような設定を加えるとSlowLogが有効になる。 log-slow-queries SlowLogの有効化(ログファイル名を指定可能) long-query-time=2 SlowLogに記録する処理時間の上限 log-long-format インデックスを使用しないSQL文の記録 long-query-timeパラメータは,SlowLogに記録するしきい値を秒単位で設定する。この場合には,2秒超える処理時間を費やしたSQL文を記録する。また,log-long-formatを指定すると,インデックスを使用しないSQL文もSlowLogに記録する。 SlowLogの確認 SlowLogが動作しているかどうかは,次のコマンドで確認できる。log_slow_queriesがONであれば有効と

    【MySQLウォッチ】第8回 MySQLチューニングのテクニック:ITpro
  • 20. PHPからJSON作成を扱う

    近頃、データ形式のやりとりに「JSON」を使う場面が多くなってきています。 PHPのデータを簡単にJSON形式に変換するライブラリには、「PEAR::Services_JSON」「Zend/Json.php」「php-jsonモジュール」等があります。それらの簡単な使用方法を紹介します。 ●PEAR::Services_JSONの場合 現在このパッケージはPEARに正式登録されていません。 その為、pearコマンドではインストールすることができませんので、 以下のページよりダウンロードを行い、設置してください。 ダウンロード(http://mike.teczno.com/JSON.tar.gz) あとは、非常に簡単なコードでJSON形式のデータに変換することができます。 <?php require_once "JSON.php"; $arr = array( array( "name" =

    20. PHPからJSON作成を扱う
    mac10
    mac10 2007/03/22
  • Windows Vista開発史---目次 | 日経 xTECH(クロステック)

    マイクロソフトが1月30日に発売した,新OS「Windows Vista」。2001年から丸 6年以上を費やしたWindows Vista開発の歴史を,米国「Windows IT Pro Magazine」の名物ライターであるPaul Thurrott氏が振り返った。 大きな夢が込められながらも,開発が遅れ,機能が大幅に削られて今に至った Windows Vistaの苦闘の歴史がよく分かるだろう。 ■ (第1回)2001年~2002年:BlackcombとLonghorn ■ (第2回)2003年:Longhornへの期待が頂点に達した「PDC 2003」

    Windows Vista開発史---目次 | 日経 xTECH(クロステック)
  • ブックマークに入れておきたいお役立ちサービス/Webページ一覧:ITpro

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

    ブックマークに入れておきたいお役立ちサービス/Webページ一覧:ITpro
    mac10
    mac10 2006/12/26
  • 第9回 良いアイデアがわく人とわかない人はココが違う:ITpro

    Webサイトのテーマと内容,サイトやメニューの構成,宣伝方法にいたるまで,企画のベースには,一貫する「アイデア」がある。この企画のアイデア―――漠然と「企画案」とか「提案内容」と呼ばれることもある―――を見つけることが,企画という仕事の肝だ。 アイデアがわく人と,わかない人には決定的な違いがある 良い企画のアイデアさえ見つかれば,後は技術と知識で膨らませて,ユーザー層,制作目的,訴求効果といった項目に落とし込み,企画書の体裁に仕立てるだけだ。この作成作業自体は,暗記と反復練習次第で,比較的容易に習得できる。 ところが,こと「発想」に関しては,知識の丸暗記はあまり役に立たない。制作会社から「制作技術は学べるが,発想は学べない」という声を聞くことがある。手順をマニュアル化して伝えられるものではないので,後進の育成が難しいのだ。 筆者から見ると,アイデアがわき出る人と,アイデアがわかない人では,

    第9回 良いアイデアがわく人とわかない人はココが違う:ITpro
    mac10
    mac10 2006/12/22
  • Part1 C/C++は永久に不滅です!

    C言語はきわめて息の長いプログラミング言語です。1960年代終わりから1970年代初頭にかけて誕生し,以後現在に至るまでの30年以上,ずっと第一線で使われ続けてきました。そしてこれからも,C言語とその子供であるC++は現役の言語として使われ続けていくでしょう。なぜならC/C++は,今日のコンピュータ環境に欠くことのできない存在になっているからです。 図1を見るとわかるように,C/C++はOSからビジネス・ソフトまでありとあらゆるソフトウエアの開発に広く利用されています。その用途は汎用コンピュータ向けプログラムの開発にとどまりません。組み込み機器からスーパー・コンピュータに至る特殊用途のプログラミングまでコンピュータがかかわるあらゆる分野でC/C++が活躍しています。メモリー容量などに大きな制約がある組み込み機器のプログラミングなどは,コンパクトなコードを出力できるC言語はうってつけですし,

    Part1 C/C++は永久に不滅です!
    mac10
    mac10 2006/12/18
  • Part1 誰でも作れるプログラム言語

    “プログラム言語*1を作る”って一体どういうこと?──この特集のタイトルを見てそう思った方もいるでしょう。最初に,その疑問にお答えしましょう。 普段,皆さんはプログラミングをするとき,出来合いのコンパイラやインタプリタを使っている方がほとんどだと思います。最初にプログラム言語を選んだとき,実際は,その言語を使ったプログラミングに必要なコンパイラやインタプリタを含む「プログラム言語処理系」(単に処理系と呼ぶことが多いです)を選んでいるわけです*2。 コンパイラやインタプリタなどの処理系は,アプリケーションを開発するための基盤となるソフトウエアですから,中身を知らなくてもきちんと動くことが前提です。正しくプログラムを書けば,実行可能なファイルを生成(インタプリタの場合はすぐに実行)しますし,プログラムが間違っていればエラーを返します。それが具体的にどんな処理をしているのかを気にすることはありま

    Part1 誰でも作れるプログラム言語
  • インターネットは罠だらけ

    インターネットには悪質なWebサイトが多数存在する。個人情報を盗もうとするフィッシング詐欺サイトや,架空の料金を請求するワンクリック詐欺サイト,OSやアプリケーションのセキュリティ・ホールを突いてスパイウエアなどをインストールさせる攻撃サイト――などなど,枚挙にいとまがない。 ただ,いくら“罠”を仕掛けても,待っているだけではユーザーにアクセスしてもらえる可能性は低い。そこで,「魅惑的な動画がタダで見られます」「懸賞に当選しました」「アクセスしないとアカウントが無効になります」――といった誘い文句や脅し文句を並べたメールを不特定多数に送信して,悪質サイトへ誘導するのが常套手段。 しかし最近では,新たな手口も増えてきた。多数のユーザー・アクセスが見込めるサイトの広告スペースを悪用する手口である。もちろん,真正直に広告を打つわけではない。「フィッシング詐欺サイトはこちら」「ワンクリック詐欺に遭

    インターネットは罠だらけ
    mac10
    mac10 2006/12/13
  • 根本から理解するオブジェクト指向分析/設計

    具体論に入る前に,まずオブジェクト指向分析/設計とは何を意味するのかを定義しておきましょう*1。 そもそも「分析」とはどういったことを指すのでしょうか。辞書を引いてみると,“ある事柄の内容・性質などを明らかにするため,細かな要素に分けていくこと”とあります。オブジェクト指向分析を適用する場面で明らかにしたい事柄とは,どのようなシステムを作らなければならないのかということです。つまり,オブジェクト指向分析とは,“どのようなシステムを作らなければならないのかを,オブジェクトという要素を使って解明すること”ということになります。これに対しオブジェクト指向設計とは,“分析によって明らかにしたシステムの実現手段を,オブジェクトという単位を使って明確にすること”となります。 両者の違いがイメージできたでしょうか。では以降は,具体的なサンプルに基づいてオブジェクト指向分析/設計の仕方を見ていきましょう。

    根本から理解するオブジェクト指向分析/設計
  • 第1回 JavaScriptレスでAjax開発!

    株式会社DTS ネットワーク事業プロジェクトマネージャ。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。StrutsIDEコミッタ。著書「まるごとEclipse! Vol.1」(発行:インプレスコミュニケーションズ)。 この連載では,現場のJava開発者が気になるJavaフレームワークを詳細に解説します。今後利用実績が伸びそうなフレームワーク,多少メインストリームから外れているけど,ユニークで注目に値するフレームワークなどを,一つずつ取り上げてじっくり解説していきます。今すぐでなくても,いずれ仕事に役立つはずです。ぜひ読んでください。 第1回では,最近人気のAjaxアプリケーションを簡単に作れるフレームワークを取り上げます。Ajaxは,Webアプリケーションにリッチなユーザー・インタフェース(UI)をもたらす仕組みとして非常に注目されています。基礎的なアーキテク

    第1回 JavaScriptレスでAjax開発!
    mac10
    mac10 2006/12/05