タグ

教育用に関するsendのブックマーク (26)

  • http://yimado.s-lines.net/algo_and_ds/

  • 3値論理とNULL:CodeZine

    要するに、データベースにnullが1つでも含まれていれば、クエリから正しくない結果が返される可能性がある。しかも、一般的には、どのクエリから正しくない結果が返されるのかを知る方法はないので、すべての結果があやしく見えてくる。nullが含まれたデータベースから正しい結果が得られることは確信できない。筆者に言わせれば、この状況はまさにお手上げである。 ――――C.J.デイト はじめに 多くのプログラミング言語が、真理値型(BOOL型、BOOLEAN型)というデータ型を持っています。もちろん、SQLにも真理値型が存在します。ユーザーが直接扱えるデータ型として定義されたのはSQL-99ですが、WHERE句などの条件の評価時にも真理値の演算が行なわれています。 ところで、普通のプログラミング言語の真理値型とSQLの真理値型の違いをご存知でしょうか? それは、普通の言語の真理値型が、true、fals

  • 素早く正規形を見抜く実践テクニック(1/4) - @IT

    今回のテーマはデータベースエンジニアの必須知識の1つである「正規化」です。正規化は、リレーショナル・データベースのテーブル設計を行ううえで非常に重要なテクニックであり、データベースを設計、実装したことのある方なら一度は正規化に触れているのではないでしょうか。 それほど基的な知識であるにもかかわらず、正規化を説明できる人はなかなかいません。多く聞かれるのが「何となくテーブルを作ると自然に第3正規形になる」とか「実務上は第3正規化まで行えば問題ない」というものです。 ではなぜ「第3正規化まで行えば問題ない」のでしょうか。稿ではひととおり正規化について確認しながら、あまり触れられることのない第3正規化より先の正規化を紹介して、この疑問に答えていきたいと思います。 正規化の位置付け 正規化は、データベース設計全般にかかわる基礎知識ですが、特に論理データモデリングの作業の中で必要になります。稿

    素早く正規形を見抜く実践テクニック(1/4) - @IT
  • 5月2日の技術勉強会(Vim) << はてな技術発表会日記

    8月17日の技術勉強会 - Flexレイアウト手書き勉強会 8月17日に行われました技術発表会の内容を撮影した動画ファイル/資料を公開いたしました。内容は以下のとおりです。 テーマ Flexレイアウト手書き勉強会 発表者 d:id:secondlife 勉強会動画 ダウンロード…

    5月2日の技術勉強会(Vim) << はてな技術発表会日記
  • トランクやブランチなどのバージョン管理用語の意味

    Landscape トップページ | < 前の日 2006-03-27 2006-03-28 次の日 2006-03-29 > Landscape - エンジニアのメモ 2006-03-28 トランクやブランチなどのバージョン管理用語の意味 当サイト内を Google 検索できます * トランクやブランチなどのバージョン管理用語の意味この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [VSS] [Subversion] バージョン管理システムで使われる用語の意味のメモ。主に CVS、Subversion、VSS (Visual SourceSafe) で使われる用語が対象。 - リポジトリ repositoryバージョン管理の履歴が保存されているところ。リポジトリのバックアップだけはしっかり取っておこう。 - ツリー treeリポジトリにある一連のファイルをまと

  • IT戦記 - Prototype.js を使った JavaScript OOP 講座 #02

    社内の勉強会の資料をここに公開していきます。社内の人も社外の人も読んでください。 ※ターゲットは JavaScript は書いたことない、オブジェクト指向言語プログラマ。 ※信念は「教わるのではなく、必死に着いていきませう」 今週はかなりハードボイルドで全身タイツのような忙しさなので、みんなが春を分けて楽しんでいたり、香港に行って楽しんでいる間にせこせこ資料を作っています。 はぁ。 Section 00 Prototype.js の前に JavaScript と DOM とイベントの概要 HTML は読み込まれた後、すべての情報が JavaScript のオブジェクトに変換される。 イメージ的にはこんな感じ <html> <head> <title>タイトル</title> </head> <body> : : </body> </html>↓↓↓ var document = { doc

    IT戦記 - Prototype.js を使った JavaScript OOP 講座 #02
  • 情報処理推進機構:セキュリティセンター:脆弱性関連情報取扱い:安全なウェブサイトの作り方

    IPAでは、ウェブサイト運営者が、ウェブサイト上で発生しうる問題に対し、適切な対策ができるようにするための注意事項として、『安全なウェブサイトの作り方』を取りまとめ、公開いたしました。 この資料は、昨年(2005年3月4日)にショッピングサイト運営者がウェブサイト上で発生しうる問題に対し、適切な対策ができるようにするための注意事項として発行した『消費者向け電子商取引サイトの運用における注意点』を、より広いウェブサイトの運営者に利用いただくことを目的に、内容の全面改訂を行ったものです。 『安全なウェブサイトの作り方』では、「ウェブアプリケーションのセキュリティ実装」として、IPAが届出を受けたソフトウエア製品およびウェブアプリケーションの脆弱性関連情報を基に、届出件数の多かった脆弱性や攻撃による影響度が大きい脆弱性を取り上げ、脆弱性の原因そのものをなくす根的な解決策と、攻撃による影響の低減

    send
    send 2006/02/01
    基本中の基本な考え方。
  • 基礎から理解するデータベースのしくみ(5):ITpro

    SQL文を実行する際のパフォーマンスに大きな影響を及ぼすものとして,もう一つ,インデックスがあります。インデックスについては,どう定義すべきかというデータベース設計上の問題と,インデックスを有効に使うためのSQL文をどう書くべきかというコーディング上の問題があります。 ここではテーブル設計上の問題を主に取り上げます。SQL文のコーディングについては囲み記事「SQL文を最速にする11のポイント」を参照してください。 インデックスは,テーブルの検索速度を向上させるためのものです。それぞれのSQL文に対して最適なインデックスを定義するのが理想的ですが,実際にはある程度限られたインデックスで,必要なパフォーマンス要件を満たすようにインデックスを定義する必要があります。加えて,どんなSQL文が実際に発行されるのかがあらかじめわかっていない場合は,適当な想定に基づいてインデックスを定義しておかなくては

    基礎から理解するデータベースのしくみ(5):ITpro
  • PHP と Web アプリケーションのセキュリティについてのメモ

    このページについての説明・注意など PHP は、Apache モジュールや、CGI、コマンドラインとして使用できるスクリプト言語です。このページでは、主に PHP における、Web アプリケーションのセキュリティ問題についてまとめています。 Web アプリケーションのセキュリティ問題としては、以下の問題についてよく取り挙げられていると思いますが、これらのセキュリティ問題について調べたことや、これら以外でも、PHP に関連しているセキュリティ問題について知っていることについてメモしておきます。 クロスサイトスクリプティング SQL インジェクション パス・トラバーサル(ディレクトリ・トラバーサル) セッションハイジャック コマンドインジェクション また、PHP マニュアル : セキュリティや、PHP Security Guide (PHP Security Consortium) には、PH

  • サニタイズの基本 - memo.xight.org

    Summary 入門 Ajax pp.16 より。 [2013-03-30] 追記 このエントリは、参考にしてはいけない。 SQLインジェクション MySQL PHP $sql = mysql_escape_string($sql); MySQL Perl $sql =~ s/'/''/g; $sql =~ s/\\/\\\\/g; PostgreSQL PHP $sql = pgsql_escape_string($sql); PostgreSQL Perl $sql =~ s/'/''/g; $sql =~ s/\\/\\\\/g; SQLite PHP $sql = sqlite_escape_string($sql); OSインジェクション Linux PHP $str = escapeshellarg($str); Linux Perl $str =~ s/'/\\'/g; XS

  • PHPサイバーテロの技法 - 攻撃と防御の実際

    PHPサイバーテロの技法 - 攻撃と防御の実際
    send
    send 2005/11/20
    会社で何冊か購入しよう。
  • How to Write Maintainable Code 日本語訳

    以下の文章は、Bram Cohen による How to Write Maintainable Code の日語訳である。 翻訳文書については、福盛秀雄さんと竹中明夫さんから誤訳の訂正を頂きました。ありがとうございました。 ソフトウェア技術者は、自分が書くコードがどのようにあるべきか分からず悩んでいる。よく知られたエッセイ「悪い方がよい」(訳注:日語訳)がその良い例である――どうして悪いほうがより良くなれるの? やっぱり悪いほうが悪いんじゃないの? さらにややこしいことに、「悪い方がよい」の話は、それが主張しようとしている内容とは正反対の議論の中で引き合いに出されることが多い。 問題は、みんながコードの「美しさ」を判断するのに非常に多様な、また往々にして相反する基準を採用していることだ。美的感覚よりも客観的な、コード品質に対する基準が明らかに必要である。 僕としては、メンテナンス性に

  • 2ch Linux Beginners

  • 安全なWebアプリ開発の鉄則 2004

  • ビースティーノカジノ - Beastinoで最高のオンラインカジノゲームをプレイ

    ビースティーノカジノ- Beastino Casinoであなたの内なる獣を解き放ちましょう。何千ものトップスロットの中から選び、テーブルゲームで順番を決め、ライブカジノで動物のアクションを楽しむことができます。 カジノを見る ビースティーノカジノ ビーストモードで行こうBeastinoは、最大のゲームコレクションを持つカジノの獣です。アカウントを作成するのに時間はかかりませんし、唯一の問題は、最初に何をプレイするかを決めることでしょう。 Microgaming、NetEnt、Yggdrasil、Pragmatic Play、その他多数のトップクラスのゲームプロバイダーがここにあります。Beastinoでプレイすれば、いつでもジャングルの王様になった気分になれるでしょう。 Beastinoで何千ものゲームをプレイスロットが欲しいなら、私たちにはスロットがあります!正確には3000台です。次の

  • リンクと同名のシンボル: C++の場合 - bkブログ

    リンクと同名のシンボル: C++の場合 前回の記事で紹介した動的リンクの動作は、 C++ では予期せぬメンバ関数が呼ばれるという問題を引き起こします。 消費税を計算する a.{h,cpp} というソースコードと、それを利用する main.cpp があるとします。 a.h class Tax { public: int tax(int price); Tax(); private: double consumption_tax_; }; a.cpp #include "a.h" Tax::Tax() : consumption_tax_(1.05) { } int Tax::tax(int price) { return int(price * consumption_tax_); } main.cpp #include <iostream> #include "a.h" int main(

  • いやなブログ: リンクと同名のシンボル

    リンクと同名のシンボル C や C++ のプログラムで同じ名前のグローバルなシンボルが 2つ以上存在するとどうなるでしょうか。 Debian GNU/Linux sarge + GCC 3.3.5 での動作を見てみます。 静的リンクの場合 まず、次のようなファイル a.c があります。 a.c ではグローバルな関数 func() を定義しています。 #include <stdio.h> void func() { printf("func() in a.c\n"); } 次に、 b.c でも同様に func() を定義しています。a.c のものとよく似ていますが、 printf で表示されるメッセージは異なります。 #include <stdio.h> void func() { printf("func() in b.c\n"); } 最後に、 main.c では func() を呼び出

  • Screenを使う(仮題)

    Screenを使う(仮題) $Id: text.rd,v 1.10 2001/11/04 16:57:07 zinnia Exp $ まえがき 稿では、Screenとはどのようなソフトで、どのようなことが できるのかを紹介します。 Screenのすべてを紹介することはできませんが、 自由な発想でScreenを活用できるために必要な道具は ひととおり紹介したいと思っています。 Screenの概要 Screenとは、(KTermなどの)1つの端末の中に仮想的な端末 (ウインドウ)を作り、操作をすることができるウインドウマネージャです。 以下のような特徴があります。 複数のウインドウを1つの端末で管理することができる ウインドウは2ストロークで簡単に切り替えることができる ウインドウは2ストロークで簡単に増やすことができる ウインドウ間でコピーアンドペーストができる ハードコピー、ログをとるこ

  • [ThinkIT] 第1回:良いコードとは、心得5ヶ条 (1/4)

    皆さんはコーディングがお好きですか? プログラミングが好きでソフトウェア業界に入りプログラマになったのは良いものの、ソフトウェアやシステムを新規に設計して開発するのは稀で、現実には他人の書いたソースコードを触ることが多くはないでしょうか? そして、いざ引き継いだソースコードを見て愕然としたことはないですか?例えば、以下のようなことに遭遇しませんでしたか? クラス名/メソッド名(do1、do2)/インスタンス変数名(a、w、t)の意味が分からない 同じような事が何度も書かれている メソッドの長さが1000ステップを越えている mainメソッドしか存在しない プログラマは、受け取ったソースコードを見て処理内容を推測します。手がかりは、プログラムの構成やメソッド名、変数名などです。 もし仕様書があれば、ソースコードを読み解くために利用できますが、仕様書とソースコードの内容があまりにも異なる時は、

  • Google It You Moron