HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

識別子の大文字と小文字の違い(2)

あの頃(何時)はまだMySQLに関する知識がなかった‥ 識別子の大文字と小文字の違い - HHeLiBeXの日記 正道編 で、MySQLでは、列名などの識別子はバッククォートで括るらしい(ということを、「show create table hoge」を実行して気づいたらしい)。 ということ…

文字列連結の処理

PHP

仕事でPHPでの開発をしていると、以下のような記述を飽きるほど見かける。いや、ジョークとかじゃなくマジで‥orz

データベースの文字エンコーディングを変更する

データベースの文字エンコーディングを変更する、と言っても、「設定ファイルを編集してデフォルトの文字エンコーディングを変更しよう!」などというちゃちな話ではない。(「MySQL 文字コード 変更」で探すとそんな話ばかりがヒットして‥もうね、ばくh(以下…

ファイルにASCII文字以外が含まれているかを判定するスクリプト

PHP

唐突に、(例外はあるが、EUC-JP、Shift_JIS、ISO-2022-JP、UTF-8あたりを対象としたときに)文字エンコーディングを気にしなくてよいファイルかどうかを判定したくなって、ちょっとしたユーティリティを作ってみたらしい。 ?_[\]\/\\\\]/', "/['\r\…

HTTPリクエストに対するレスポンスにごみデータ?

HTTPリクエスト/レスポンスを処理する、とあるライブラリを使っていたところ、妙なデータが返ってくることに気づいた。 おおよそ以下のような感じ。 201f <root> <row>abcdefghijklmnopqrstuvwxyz<row> <row>abcdefghijklmnopqrstuvwxyz<row> <row>abcdefghijklmnopqrstuvwxyz<row> <row>abcdefghijkl</row></row></row></row></row></row></row></root>…

銀の匙 Silver Spoon (1)(2)

銀の匙 Silver Spoon 1 (少年サンデーコミックス)作者: 荒川弘出版社/メーカー: 小学館発売日: 2011/07/15メディア: コミック購入: 27人 クリック: 1,521回この商品を含むブログ (347件) を見る銀の匙 Silver Spoon 2 (少年サンデーコミックス)作者: 荒川弘…

SQLExceptionから取得できるSQLSTATEとエラーコード

ふとjava.sql.SQLExceptionのJavaDocを見ていたら、SQLSTATEとベンダー固有のエラーコードを取得できることに(いまさら)気づいた。 ベンダー固有のエラーコードはログに吐き出すくらいしか用途を思いつかないが、SQLSTATEはある程度規格化されているはずなの…

キャッツ♥愛 (1)(2)

キャッツ・愛 1(ゼノンコミックス)作者: 北条司,阿左維シン出版社/メーカー: 徳間書店発売日: 2011/03/22メディア: コミック購入: 1人 クリック: 4回この商品を含むブログ (1件) を見るキャッツ・愛 2 (ゼノンコミックス)作者: 北条司,阿左維シン出版社/メ…

おいらんガール (1)(2)

おいらんガール 1 (花とゆめCOMICS)作者: 響ワタル出版社/メーカー: 白泉社発売日: 2010/12/29メディア: コミック クリック: 11回この商品を含むブログ (2件) を見るおいらんガール 2 (花とゆめCOMICS)作者: 響ワタル出版社/メーカー: 白泉社発売日: 2011/10…

JavaプログラムからMySQLに4バイトのUTF-8文字を放り込んでみる

前の記事で、PHPプログラムからMySQLに4バイトのUTF-8文字を放り込んでみた。 MySQLで4バイトのUTF-8文字を扱ってみる - HHeLiBeXの日記 正道編 ついでなので、Javaプログラムの場合はどうなるのかを調べてみた。 例のごとく、「𠮟」と書かれた部分は「叱」…

MySQLで4バイトのUTF-8文字を扱ってみる

JIS X 0213:2004で追加された「叱」の異体字は、Unicodeにおいては「UTF-8で符号化すると4バイトになる」コードが割り当てられている。また、中国語をまともに扱おうと思ったら「UTF-8で4バイト」の文字を扱う必要が出てくる。 そんな文字どもをMySQLデータ…

懐かしんで買ったCDを懐かしんで聴いているなど:MANISH BEST Escalation

MANISH BEST?Escalation?アーティスト: MANISH,高橋美鈴,上杉昇,大黒摩季,小田佳奈子,井上留美子,川島だりあ,明石昌夫,古井弘人出版社/メーカー: ZAIN RECORDS発売日: 1998/10/28メディア: CD クリック: 14回この商品を含むブログ (6件) を見る昔(何時)、CD…

定義値の型はちゃんと意識しましょう

デバッグモードなんだかそうでないんだか‥ define('DEBUG', 'false'); まぁこれだけならいいんだけど‥ if (DEBUG) { error_log("これはデバッグメッセージよ♪\n", 3, "Debug.log"); } 「if (DEBUG == 'true')」とか書いてあるならまだしも、定数DEBUGは文字…

PHPでHTTPS接続をする

PHPから何かしらのAPIをたたいたりするときに必要じゃないか、ということで、環境作成と接続テストをしてみる。 環境構築 環境は以前に作ったものをベースにする。(Apache httpd 2.2/PHP 5.3) PHP実行環境構築メモ - HHeLiBeXの日記 正道編 自己署名証明書で…

メソッドのオーバーロードをしてみる

JavaScriptでは、関数の引数の型や個数をチェックしないため、いわゆるメソッドのオーバーロードをすることはできない。(というのはどこかで書いた気がする⇒「関数のオーバーロードはできないよ - HHeLiBeXの日記 正道編」) // !!!世の中、思い通りにはいか…

夢ノート

TVアニメ「もしドラ」OPテーマ 夢ノート(特別盤)アーティスト: azusa出版社/メーカー: ポニーキャニオン発売日: 2011/04/27メディア: CD購入: 2人 クリック: 33回この商品を含むブログ (18件) を見る放送はもう終わってしまったが、書籍「もし高校野球の女…

ST&RS (1)

ST&RS─スターズ─ 1 (ジャンプコミックス)作者: ミヨカワ将,竹内良輔出版社/メーカー: 集英社発売日: 2011/11/04メディア: コミック購入: 1人 クリック: 4回この商品を含むブログを見る宇宙飛行士とかを題材にした未来のお話。 おおっ、っていう引きはあまり…

よかった探しリース

←左手【よかった探しリース】右手→ 今年も「よかった探しリース」に参加させていただきます。 今年はいろいろバタバタしていた年だった気がするけど、その中で「よかったこと」を探してみようかな、と。 今年のよかったことは‥ やっぱり、家族が大過なく1年…

NFSの設定と動作

つい先日、「NFSマウントしたディレクトリ内のファイルを上書きできねー」って悩んでいる人(誰)に遭遇し、10年ぶりくらいに何か(何)の記憶がよみがえって原因究明したらしい。まぁ、そのNFS設定を依頼したのは自分なのだが(謎)。 そんなことがあり、NFSの設…

GDモジュールの導入

以前、Windows環境でGDモジュールを導入。 PHPで画像合成をしてみる - HHeLiBeXの日記 正道編 しかし、いろいろ怖い(謎)ので、Ubuntu環境でGDモジュールを導入しようということで。 探してみると、かなり多くのサイトで sudo apt-get install php5-gdとすれ…

CURRENT_TIMESTAMPの精度

DB2

ふと気づいた、どうでもいいような面白いこと。 これまで、Windows環境でのDB2使用経験が全体の大半を占める自分は、DB2のCURRENT_TIMESTAMPの精度はミリ秒単位までだと思っていた。しかし、最近、Ubuntu上にインストールしたDB2ではどうも様子が違う。 とい…

CodeIgniterを試してみる

PHP

CodeIgniterというPHPのフレームワークがあるらしい、ということで、ざっと試してみるテスト。 前提 今回は、以下の環境での構築とする。 Ubuntu Server 10.04 LTS インストール時に LAMP Server を追加インストール Apache httpd 2.2.14 PHP 5.3.2 導入 ま…

PHPで画像合成をしてみる

PHP

ふと、画像合成をしてみようとか思ったらしい(謎)。 PHP: GD - Manual 環境構築 とは言っても、とりあえずWindows環境で試すので、php.iniの設定を変えるだけらしい。 やることは単純で、php.iniの以下の行のコメントをはずせばよい。 ;extension=php_gd2.dl…

音で音楽、数式で数学、足で歩く

ほぼ発売日直後に購入したにもかかわらず、最近になってようやく読み始め、未だに読み終わっていないわけですけれども(謎)。数学ガール ゲーデルの不完全性定理 (数学ガールシリーズ 3)作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2009…

短縮URLの展開処理を各言語で書いてみた

別にぜんぜんなんてことはないのだけど、なんとなく(謎)。 展開処理とは言っても、リクエストを出してLocationヘッダの内容を取っているだけだけど。 Java java.net.HttpURLConnectionクラスを使用して、こんな感じで。 import java.io.IOException; import …

文書管理システムにおける文書の管理構造

前置き タイトルから早速、「文書」とか「文書管理システム」とか「管理構造」とかなんだろうという疑問が(自分の中でも(待て))湧いてきそうなのでその辺の整理から。 「文書」と言っているのは、WindowsやUNIX/Linuxにおける「ディレクトリやファイル」であ…

Node.jsの実行環境を構築してみた

せっかくの機会(何)ということで、Ubuntu 10.04上にNode.jsの実行環境を構築してみたのでメモ。 とはいっても、インストール方法ならあちこちの人が書いているので、そちらを参考にすればいいんじゃな〜い(誰)。 雑誌 Software Design 2011年9月号 ブログ Ub…

ログの出力

PHP

デバッグやその他の目的で、様々な情報をログファイルに書き出したりすることがあるが、使用する方法によっていろいろと違いがあるようなので、ちょっと整理してみるテスト(謎)。 単純な値を出力する 例えばこんなの。

アルバムまとめ買い

1週間ほど前に、自宅にあったアルバム4枚のうちの1枚を引っ張り出して聴いていたら、再び(謎)どはまり。謎アーティスト: 小松未歩,明石昌夫,古井弘人出版社/メーカー: AOR発売日: 1997/12/03メディア: CD購入: 1人 クリック: 13回この商品を含むブログ (51件…

nusoapを使ってみる

SOAP自体、今更感が満載だが、使われているもの(何)に遭遇してしまったので、さらっと試してみようかということで。 まずは環境。 Windows Vista + PHP 5.3.3 + Apache httpd 2.2.16 nusoap 0.9.5 (NuSOAP - SOAP Toolkit for PHP download | SourceForge.ne…

LIMITの限界に挑戦

以下のエントリで、各構文のサポート状況について書いた。 指定した範囲の行を取得するクエリ - HHeLiBeXの日記 正道編 この中のLIMIT/OFFSETで不思議な挙動を示したものがあったり、どこまでいけるんだろうと思ったりしたので、調子に乗って(謎)、LIMITに指…

指定した範囲の行を取得するクエリ

DB2 Express-C v9.7.2のWindows版で使えていたLIMIT/OFFSETが同Linux版で使えなくて、プラットフォームによって違うのかと思ってしまい、同等のことができる構文をいろいろと調べた挙句、インストール直後の設定が違っていただけという。 で、せっかくなので…

DB2 Express-C v9.7をUbuntu 10.04 Serverにインストール

DBサーバー用に作ったUbuntu 10.04 Server on Ubuntu 10.04 Server(何)へのインストール。 最初、何も考えずにDB2 Express-C v9.7.4のLinux用アーカイブをダウンロードして、展開して、READMEとかその辺を読みながら以下のコマンドを実行。 $ sudo apt-get i…

Ubuntu 10.04 Server上のVMware Server 2.0.2上にUbuntu 10.04 Serverをインストール(謎)

前回の続き Ubuntu 10.04 ServerにVMware Server 2.0.2をインストール - HHeLiBeXの日記 正道編 ま、ゲストOSは何でもいいのだが。 実は、前回作った環境に関して、罠が2つほどあったらしい。 VMware Infrastructure Web Accessが半死状態になる ゲストOSが…

自己署名証明書でテスト環境構築その他諸々(何)

構築する、放置する、分からなくなる、構築する、放置する、分からなくなる(以下略)を繰り返していた(謎)ので、今度こそメモに残すらしい。 自己署名証明書の作成 これは単にコマンドを叩くだけ。 openssl req -new -days 365 -x509 -nodes -keyout key.pem …

Ubuntu 10.04 ServerにVMware Server 2.0.2をインストール

なかなか一筋縄ではいかないもので、同じようにはまった人が多数いるらしい。 hmontoliu: Installing vmware-server-2.0.2 in Ubuntu Lucid Lynx 10.04 LTS あの壷はいいものだ: Ubuntu Linux 10.04 にVMware Server 2.02をインストール → ド嵌った 詳しいエ…

数値演算には要注意

PHP

ちゃんと分かってて使えば問題はないのだろうが、中途半端にかじるとやけどをしやすい数値演算。文字列オブジェクトだと思っていたものが数値として扱われてしまうこともある恐怖の言語だが、まぁ今回はそれには触れないとして(謎)。 以下のプログラムを3つ…

シーケンスの情報の取得

ふと、PostgreSQLでシーケンスの情報を取得する必要ができたので調べてみたらしい。そもそもPostgreSQLにおけるシーケンスは、CREATE SEQUENCE文を使って自分で定義するか、SERIAL(SERIAL4)型やBIGSERIAL(SERIAL8)型の列を含むテーブルの作成によって自動的…

文字列型とマルチバイト文字

MySQLで、何も考えずに「VARCHAR(n)」な列に日本語n文字を格納しようとしたら格納できてしまい、DB2での記憶と違うということで一通り調べてみたらしい。作ったテーブルは次のとおり。 CREATE TABLE tbl1(str CHAR(6) NOT NULL) CREATE TABLE tbl2(str NCHAR…

唐突にSQLのGROUP BYの処理をPHPで実装してみた

SQLのGROUP BYは、とても強力な機能であるにもかかわらず、記述はとてもシンプル。 SELECT num , MAX(score) AS c_max , MIN(score) AS c_min , AVG(score) AS c_avg , SUM(score) AS c_sum FROM hoge GROUP BY num ORDER BY num なぜか唐突に、これと同じ処…

json_encode/json_decodeに潜む罠

PHP

あるところ(何)で、json_decodeした結果がオブジェクトになるときと配列になるときがあるという問題が発生したらしい(ちなみに、json_decodeの第二引数にtrueを指定しないからという話ではない)。 例えば次のような感じ。 'hogehoge', 'list' => array('a',…

テーブル名や列名の別名の指定

はじめに - SQL標準規格では SQL標準規格によると、SQL文ではテーブル名や列名の別名を次のように指定することができることになっている。(いずれも、キーワード AS は省略可能) SELECT t.col2 [AS] c2 FROM tbl [AS] t WHERE t.col1 = 1 UPDATE tbl [AS] t …

逆転検事2

逆転検事2(通常版)出版社/メーカー: カプコン発売日: 2011/02/03メディア: Video Game購入: 7人 クリック: 111回この商品を含むブログ (70件) を見る発売(=購入)から3ヶ月、プレイ開始から2ヶ月(!)、ようやくクリアに至ったらしい。 別に難しかったとかそう…

外部結合を侮ると痛い目見るの巻

SQL

まぁ、言うほど大げさな話でもないのだけど、少なくとも、結合条件と検索条件の違いが分かっていないと痛い目見るだろう、と。条件なんてON句に書いてもWHERE句に書いても一緒でしょ、と思っている人(誰)は要注意。前提とするテーブルは次の2つ。(諸般の事情…

AutoCommitの動作を誤解していた訳

以下の続き。 SET AUTOCOMMIT=0後の動作を誤解していたらしいの巻 - HHeLiBeXの日記 正道編 そもそもJDBCでは、トランザクション処理を書くときに、次のいずれかの書き方をすることになる: // TODO エラー処理 Connection connection = DriverManager.getCo…

SET AUTOCOMMIT=0後の動作を誤解していたらしいの巻

PHP+MySQL環境でmysql_pconnect関数を使っていて、謎な挙動に悩まされていたらしいが、その原因が「SET AUTOCOMMIT=0」にあるらしいということで。実は、問題が浮上して調査するまでは「SET AUTOCOMMIT=0」が問題だとは微塵も思っていなかった。なので、「SE…

トランザクションを強制的に終了させる

前置き MySQL 5.1で、InnoDBなデータベースを使って何かを開発している最中には、トランザクションがコミット(またはロールバック)される前にプログラム側の処理が(Fatal errorなどで)異常終了したりして、トランザクションがロックを取得したまま放置状態に…

ユーザー操作制御機能(何)を作ってみる

前置き 最近、自分でコーディングする機会がめっきり減ってしまったので、ちょっとしたリハビリにちょっとしたものを作ってみる。 いい名前が思いつかなかったので、こんなタイトル(何)になってしまったが、要するに、 Windows(Vista以降(?))で言うところの…

バイト値を得るためのユーティリティ

何に使うのかは知らないが(待て)、例えばC言語で #include <stdio.h> int main(int argc, char* argv[]) { int byteValue = 'a'; printf("%d\n", byteValue); } として得られる「97」という数値を、PHPでは得られないのだよなぁ、と思って作ってみた。 </stdio.h>

寄付をしました-東北地方太平洋沖地震

あまりにも想像を絶する状況に言葉も出ませんが‥ 自分にできることを少しずつでもやろうと‥ 個人的な事情もあって、クレジットカードで一度に購入可能なだけのはてなポイントを購入し、全額を寄付しました。 一人でも多くの方の無事と、一日も早い復興を祈っ…