MySQL データ型メモ

CREATE TABLEする段になって、自信が持てずリファレンスを見ることがたまにあるので、よく使うものをメモ。

CHAR 固定長文字列(255文字まで)
VARCHAR 可変長文字列。格納するバイト数を指定する(255文字まで)
TEXT テキストデータ。65,535文字まで。容量は指定しない
INT 整数(負の数もOK)
DEC 小数も扱える
DATETIME 日付と時間
DATE 日付のみ
BLOB バイナリデータ(65,535バイトまで)

CHAR(10)と書くと、10文字を格納可能な固定長文字列のデータ型となる。VARCHAR(10)だと10バイトなので、日本語等のマルチバイト文字列を扱う際には注意が必要。MySQL 4.1以降では、VARCHAR(10)は「10文字」となり、半角英数であれ、マルチバイト文字であれ、10文字を格納できる。VARCHAR(10)で10バイトとなるのは、MySQL 4.1よりも前のバージョン。

INT(10)だと10桁の整数。DEC(10, 5)と書くと、全部で10桁で、小数点以下5桁まである数を格納できる。

紙は、使える。

今日、ページング機能の実装で悩んでいました。ページに実際に表示する数列と、ページ遷移のために使う数列とで別のものを生成する必要があり、その上手い作り方が思い浮かばなかったのです。

しばらく悩んだ後、考えを整理するために紙に数式を書いて計算しました。すると、それまで1時間ほどモニターの前で悩んで答えの出なかった問題が、10分ほどで解けてしまいました。

紙を使うことの最大の効能は、「メモリの節約」だと思います。一度計算した結果は書いておけばよいので、「このやり方だと、こうなる」と記憶しておく必要がありません。

外部記憶装置としてはコンピューターも勿論使えますが、コンピューターに入力した情報は、見通しが悪いという欠点があります。紙は、好きなところに好きなことを書けるので、直感的に分かりやすい整理ができます。

紙は、思考を補助するツールとして非常に優秀だなと、再認識しました。

『Webを支える技術』を読んだ

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

本書は、HTTP/URI/HTMLといった「Webを支える技術」の解説を通じて、Webサービス(Webアプリケーション)の設計を学ぶ本です。

私が普段仕事でやっているのは、いわゆるWeb制作です。会員制サイトや簡易的なゲームといった、「枯れた」、あるいは、よそのプラットフォームに乗っかる設計のサイトばかりなので、アプリケーションを設計段階から構築する、なんて作業とは無縁です。

本書の前半、HTTPやURI、HTMLといった個別技術の解説は興味深く読むことができましたが、後半、Webアプリケーション設計の実践に入ると、「理屈はわかるが、実装がわからん」という部分が多々ありました。

著者が熱く推す「REST」という設計スタイルについても、はっきり言ってよくわかっていません。いま説明しろと言われても無理。

ですが、前半の個別技術の解説だけでも、十分元は取れると思います。基礎を広く浅く学べる、初心者向けの良書です。

バグの起こりにくいJavaScriptのコーディング方法 by 山田祥寛(from 日経ソフトウェア)

日経ソフトウエア2012年6月号に、興味深い記事があったので、要旨をまとめておきます。著者は、『JavaScript本格入門』等の著書がある山田祥寛氏。

  1. var命令による変数宣言は省略しない ∵var命令で宣言しなかった変数はすべてグローバル変数と見なされる
  2. 比較演算子の「==」は使わず、「===」を使う ∵厳密な比較が出来ない
  3. 配列の生成にはリテラルを使う リテラルとは:var ary = [-5, 0, 5]のような記法 理由:意図しない形での配列の生成を防ぐため
  4. 中括弧は省略しない ∵条件が入り組むと、対応関係がわかりづらくバグの温床となる
  5. 文の途中の改行に要注意

どこかで見たような内容もありますが、コーディングスタイルは書いているときに楽な形に偏りがちなので、定期的に見直すのが良いと思います。

他に、JavaScript高速化の方法も載ってましたが、「<script>要素は</body>と</html>の間に置く」「コードを圧縮する」「例外処理は出来るだけ書かない」「eval()は使わない」等の、これまたどこかで見たような内容。

『日経ソフトウェア』、プログラミング初級者向けの雑誌という位置づけですが、C語族+Javaと、JavaScriptと、スマホアプリの入門記事が入り交じっていてカオスです。

触りすらしない「眺めるだけ」の解説も多く(例えばCoffee Scriptは、「こんなものがあるんだよ」という紹介程度)、手元に置きたい記事はありませんでしたが、図書館で眺める分には良い雑誌だと思います。