カテゴリー : プログラミング

HTML5 全国統一実力テスト

「HTML5 全国統一実力テスト」
というものがありました。

HTML5 全国統一実力テスト

HTML5、JavaScriptの実力を試すのにどうでしょう?

HTML/CSSコースとJavaScriptコースが用意されている。
HTML/CSSコースは全16問、JavaScriptコースは全21問。
試験問題はカヤック、監修はピクセルグリッド。

ブラウザ上でコーディング共有ができるサービスを行っているjs do.it
Google chromeとWindowsIE9がスペシャルサポートとして参加している。

HTML5 全国統一実力テスト
http://jsdo.it/event/html5cat/2011/summer/

便利なアルゴリズムの種類【ソート】

並べ替えのソートアルゴリズム

バケットソート
最大値の個数分の箱を用意して、データを格納して並べ替える。

基数ソート
数字の桁に着目し、桁ごとに順番にデータを並べ替える。

単純選択法
データから最小値or最大値を見つけ、先頭or末尾のデータと交換する。

単純交換法(バブルソート)
隣り合うデータ同士を比較し、大小関係が正しくなるよう入れ替える。

単純挿入法
データの並び順の大小関係が正しくなる位置へデータを挿入する。

シェルソート
ソート対象データ列を、一定の個数にグループ分けして並べ替える。

マージソート
ソート対象データ列を分割し、併合(マージ)することで並べ替える。

クイックソート
データ列から任意の数を選び、その値と大小で2分割することを繰り返して並べ替える。

ヒープソート
ヒープ構造を利用して並べ替える。

配列の先頭要素「0」と「1」

プログラム言語によって、配列の先頭要素番号が「0」の場合と「1」の場合があります。

昔のプログラム言語では、配列の先頭要素番号が「1」としてアルゴリズムが考えられていました。

  • Fortran
  • Pascal
  • Basic(初期)

など

最近、広く使われているプログラム言語では配列の先頭番号が「0」という仕様に変わっています。

  • C
  • C++
  • Java
  • PHP
  • C#
  • VisualBasic

など

現在は、配列の先頭番号「0」が一般的ですね。

変数名i、j、kが利用されるワケ

プログラムを勉強していると、繰り返し処理にi、j、kが慣用的に使われます。
これは、Fortranというプログラミング言語で、i~nで始まる変数名をもつデータ型を持たない変数は暗黙の了解で整数型の変数とされていた名残だそうです。
いろいろな場面に登場するので、ちょっとしたうんちくに使えるかもしれません。(笑)

他には、
数を数えるための変数に「count」「cnt」や
文字列を扱う変数「str」「string」がよく利用されます。

これは、まぁこのままの意味ですね。

知っておくと便利なアルゴリズムの種類

プログラミングをしていく上で、知っておくと便利なアルゴリズムたち。

技術計算

  • ユークリッド互助法(最大公約数)
  • ガウスの消去法(連立方程式)
  • 台形法(定積分)
  • ダイクステラ法(最過経路)
  • エラトステネスのふるい(素数)

ソート(並べ替え)

  • 単純選択法
  • 単純交換法(バブルソート)
  • 単純挿入法
  • シェルソート
  • マージソート
  • クイックソート

サーチ(探索)

  • 線形探索(リニアサーチ)
  • 二分探索(バイナリサーチ)

文字列パターン照合

  • 単純文字列照合
  • KMP法
  • BM法

IE対策 Google Chrome Frame

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

これをHTMLのヘッダーに入れてやると、IEで閲覧している場合、Google Chrome Frameで表示します。
Google Chrome Frameがインストールされていない場合は、IEの利用可能な最新のレンダリングエンジンで表示します。
IE9でQuirksモードで表示が崩れてしまうときにも有効。

Google Chrome Frameとは、Google Chromeで使用されているレンダリングエンジンやJavaScriptエンジンなどを、IEの古いバージョンでも利用できるようにするプラグイン。
インストールすると、IE8以下でもCanvas、CSS3、HTML5、高速なJavaScriptエンジンが利用できるようになります。

Google Chrome Frame
http://www.google.com/chromeframe/?hl=ja

9月22日にInternet Explorer(IE)用プラグイン「Google Chrome Frame」の最新安定版が公開された。

PHPのエスケープシーケンスと扱い

PHPのエスケープシーケンス一覧

 
¥n    改行
¥r    キャリッジリターン
¥t    タブ
¥'    シングルクオーテーション
¥"    ダブルクオーテーション
¥¥    ¥文字
¥$    $文字
¥(    左括弧
¥)    右括弧
¥[    左括弧
¥]    右括弧
¥nnn  8 進数表記
¥xnn  16 進数表記

エスケープシーケンスを使う場合、両端をダブルクオーテーションで囲みます。

PHPエスケープシーケンスをシングルクオーテーションとダブルクオーテーションで試してみると、以下のようになります。

<?php
print ("私は\"佐藤\"です。");
print ('私は\"佐藤\"です。');
?>

これを、ブラウザで表示させると、

私は"佐藤"です。
私は\"佐藤\"です。 

この例では、
ダブルクオーテーションで囲むことで「¥"」がエスケープシーケンスとして扱われています。
シングルクオーテーションで囲むと「¥"」は、そのまま文字として出力されています。

PHPのシングルクオーテーションとダブルクオーテーションの使い分け

PHPのシングルクオーテーションとダブルクオーテーションの使い分け
例えば、

<?php
print('I'm Japanese');
?>

などと書くと、シングルクオーテーションが文章の一部か、PHPの記号か判断できずにどこでパラメータが終わっているかわからなくなってしまい、エラーになってしまいます。

こういうときは、ダブルクオーテーションを使ってエラーを回避できます。

<?php
print("I'm Japanese");
?>

シングルクオーテーションとダブルクオーテーションは基本的に自由に使い分けることができます。

または

<?php
print('I\'m Japanese');
?>

¥マーク(⁄バックスラッシュ)を記述すると、その直後の記号はPHPの要素として無視されます。
こういうのをエスケープシーケンスと言います。

XAMPP『PHPのエラーメッセージが表示されなかったら』

XAMPPを使って、エラーが発生するPHPプログラムを試しても、エラーメッセージが表示されず真っ白な画面になっている場合、PHPの設定がおかしいかもしれません。
XAMPPでは、「C:xampp¥php¥php.ini」を開き、

display_errors = On

となっているか確かめてみましょう。
「Off」になっていれば、「On」に変更し、XAMPPを再起動させてください。

MAMPの場合は、
「MAMP⁄conf⁄php5⁄php.ini」
を調べてみてください。

CSSタブナビゲーションでコンテンツ切り替え

CSSのタブナビゲーションでコンテンツを切り替える方法を掲載している2サイト。

CSS Tabs
css タブメニュー 切り替え


Tabbed CSS only website template
Tabbed-CSS-only-website-template

デモサイト:My very nice CSS tabbed portfolio

Operaで、ちょっと工夫が必要。