タグ

ブックマーク / cloned.hatenablog.com (22)

  • MySQLのパーティショニングで必要そうな工夫 - cloned.log

    MySQL 5.1のパーティショニングを試してみた。マニュアルはMySQL :: MySQL 5.1 リファレンスマニュアル :: 15 パーティショニングを参照のこと。試してみた環境は、MacのParallels Desktop上のCentOS 5。 まずはMySQL 5.1をソースからインストール。マニュアルには次のように書かれている。 ソースからコンパイルする場合には、--with-ndbcluster、--with-partitionオプションとともにconfigureを実行して下さい。 MySQL :: MySQL 5.1 リファレンスマニュアル :: 15 パーティショニング この通りにすると、ここの記載のように非推奨オプションだと言われてしまうので、--with-pluginsを使って指定するようにした。今回の味見configureオプションは次の通り。 ./configur

    MySQLのパーティショニングで必要そうな工夫 - cloned.log
    hiro_y
    hiro_y 2009/05/06
    MySQL 5.1のパーティショニングを試してみてる。工夫はいろいろ要りそう。
  • VBScript(WSH)の基礎とファイル読み書きや正規表現を使う - cloned.log

    UNIX系のシェルスクリプトでは簡単にできることでも、Windowsのバッチファイルではできないことが非常に多い。そこで、Windowsの場合はWSHを利用することになる。かなり基的すぎるところから、よくやりそうなテキスト処理などの例をメモがてら書いてみる。 VBScript VBScriptはMicrosoft Visual Basic Scripting Editionの略で、Windowsで動くスクリプト言語。WSHはWindows Script Hostの略で、Windows上でスクリプト言語を動作させる実行環境。VBScriptの他にJScriptも動作する。サーバサイドの場合はASP(Active Server Pages)上でVBScriptを動作させることができる。 実行方法とHello World .vbsでファイルを保存。ダブルクリックで実行できる。Hello Wor

    VBScript(WSH)の基礎とファイル読み書きや正規表現を使う - cloned.log
    hiro_y
    hiro_y 2009/02/05
    VBScriptでWSH。
  • ギターのタブ譜を簡単に出力するGD::Tab::GuitarのPHP版を作ってみた - cloned.log

    ギターのタブ譜を perl で簡単に出力するモジュールを作ってみた LDRを読んでいたらnipotanさんが素晴らしすぎるモジュールを作っているのが目に入ったので、その場でLDRの画面を閉じて勢いで作った。GDインスタンスをreturnしないとか微妙に挙動が違うところがありますが、TAB譜出力の部分はほとんど同じです。 <?php $gtr = new GD_Tab_Guitar(); $gtr->generate('G', '355433')->png(); <?php $gtr = new GD_Tab_Guitar(); $gtr->chord('A7(#9)')->png(); <?php $gtr = new GD_Tab_Guitar(); $gtr->generate('Bb/A', '5x333x')->png(); GD::Tab::Guitarのgenerateは第2引

    hiro_y
    hiro_y 2008/10/29
    ギターのタブ譜を出力、GD利用。
  • Windowsバッチのかゆいところメモ - cloned.log

    Windowsバッチを久しぶりに書いたら、小学校の同級生の名前くらい思い出せなかったので、かゆいところをメモ。 実行コマンドを出力しない デフォルトでシェルの-x付けたときと同じような状態なので、抑制するときには次のようにする。 @ECHO OFF 変数の代入 SETを使う。次の例では「B」と表示される。%date%とかみたいな標準で使える環境変数も上書きできるので注意。 SET A=B ECHO %A% 変数の参照は「%変数名%」とする。あと、こんな感じで最後にセミコロンとかはつけないし、文字列をダブルクォートで括ったりしない。 エスケープシーケンス エスケープシーケンスは「%」。「%」を表示したい場合などでは「%%」とする。次の例では「%」と表示される。 ECHO %% コメントアウト REMを使う、もしくは「::」を使う。次の例はコメントアウトなので何も実行されない。 REM SET

    Windowsバッチのかゆいところメモ - cloned.log
    hiro_y
    hiro_y 2008/08/25
    batファイルの作り方。JScript使ってツールをたくさん作った記憶が。
  • 携帯GPSの基礎知識たち - cloned.log

    最近、モバイルサイトの位置情報登録を実装をしなくてはならなかったので、Webで調べたり同僚に質問したりして分かったこととかをメモ。 GPS グローバル・ポジショニング・システム - Wikipediaを読むと面白い。モバイルサイトの場合、簡単に言えば、緯度・経度といった位置情報をGPS衛星を使って測定した上で、その値をパラメータに付けて指定したURLにリダイレクしてくれる。パラメータとして受け取った値を使って地名に紐付けるなどして利用することができる。 測地系(datum) 緯度・経度の測定基準点をどうするのかという違いがあって、モバイルだと、世界測地系(WGS84)と日測地系(Tokyo)と日測地系2000(JGD2000)を知っておくと良い。 緯度・経度(latitude, longitude) 緯度・経度はどのように表記されるのか。ISO 6709 - Wikipediaにある一

    携帯GPSの基礎知識たち - cloned.log
    hiro_y
    hiro_y 2008/04/27
    携帯GPS基礎知識まとめ。
  • 特定のサブディレクトリのBASIC認証を外す - cloned.log

    特定のサブディレクトリに別のBASIC認証をかける - Do You PHP はてな これを見て、こないだやったことを思い出したので便乗エントリ。 <Directory "/path/to/example"> AuthName "example" AuthType Basic AuthUserFile /path/to/example/.htpasswd Require valid-user </Directory> <Directory "/path/to/example/foo"> Satisfy Any </Directory> これでexampleディレクトリにあるfooディレクトリだけは認証が必要なくなる。ただ、こういうケースは結構特殊かなと思う。Satisfy AnyはあるIPはそのまま通すけれども、その他の場合にはBasic認証かけるなどの用途で使うと思うので。普通に考えれば

    特定のサブディレクトリのBASIC認証を外す - cloned.log
    hiro_y
    hiro_y 2008/03/05
    特定のディレクトリだけ認証をはずす設定。
  • symfonyの自分用メモ

    最近、symfonyをよく触るようになった。忘れやすい部分や気になる部分をメモ。間違ってたり変なところがあればツッコミ歓迎です。 参考ドキュメント symfony Web PHP Framework symfony book 日語ドキュメント 最初にやること $ {symfony home}/data/bin/symfony init-project projectname $ symfony init-app appname 自分のディレクトリにばらまかれるのでmkdirして潜ってからやること。 Subversionのignoreとか $ chmod 777 ./cache $ chmod 777 ./log $ rm -rf ./cache/* $ rm -rf ./log/* とかやってコミット。 $ svn propedit svn:ignore cache $ svn prop

    symfonyの自分用メモ
    hiro_y
    hiro_y 2008/02/26
    symfonyを使う際に。
  • Firebugのコマンドラインが見難いのでフォントを変えてみた - cloned.log

    コンソールの文字サイズは変更できるみたいだけれど、コマンドラインの設定項目が見当たらなかったので、userChromeで変更してみた。 やり方は、 C:\Documents and Settings\[ユーザ名]\Application Data\Mozilla\Firefox\Profiles\[プロファイル名]\chrome\userChrome.cssに以下を追記した。 textbox#fbLargeCommandLine { font-size: 10pt !important; font-family: Consolas !important; color: #E6E6E6 !important; background-color: #000 !important; } フォントを変えたついでに、自分のPuTTYと同じような見栄えになるように調整。

    Firebugのコマンドラインが見難いのでフォントを変えてみた - cloned.log
    hiro_y
    hiro_y 2007/11/17
    Firebugのフォント変更方法。
  • 郵便番号検索を全文検索で高速化した - cloned.log

    http://post.clonedoppelganger.net/ サジェストは前方一致なので元々速かったのだけど、実際の検索がlike文という、みかんの皮を剥かずにべるくらいの手抜きっぷりだったので、全文検索を使えるようにした。 N-gram(bigram)のカラムを作って、MySQLのFULLTEXTインデックスを貼っただけだけれども、当然のことながら物凄く速くなった。素晴しい。今は漢字のインデックスしか作っていないけれども、事足りるでしょう。

    郵便番号検索を全文検索で高速化した - cloned.log
    hiro_y
    hiro_y 2007/11/01
    「N-gram(bigram)のカラムを作って、MySQLのFULLTEXTインデックスを貼った」
  • 字句を制限することで生PHPをテンプレート化する - cloned.log

    Webを作るときにテンプレートエンジンがあると普通は開発が楽になると思う。しかし、PHPの場合はある特徴があるために、テンプレートエンジンが冗長に感じることがある。 それは、他の多くの言語では平で書くとプログラムとみなされるが、PHPの場合は平で書くと標準出力とみなされる点(<php...?>の中がプログラムになる)。要するに、PHPはそのものがテンプレートエンジンみたいな印象を受ける。 しかし、現実は甘くない。Smartyみたいなテンプレートエンジンを使っていないプロジェクトのコードだと、MVCのVの部分を見ても、物凄いコードが登場したりすることがある。これは良くない。 テンプレートエンジンを使うと何故Vの部分が綺麗になるのかという理由の一つに、プログラムコードを書くことが出来ないというのがあると思う(ちなみにSmartyには{php}があるのでその限りではないけれども)。テンプレート言

    字句を制限することで生PHPをテンプレート化する - cloned.log
    hiro_y
    hiro_y 2007/10/04
    生のPHPをテンプレートとして扱う場合にルール付けを強制する仕組み。
  • はてブをスライドショーにするツールを作った - cloned.log

    以前、id:naoyaさんがはてなブックマーク棚卸しというのを書いていて、自分も年末なり何かしらの区切りで今までブックマークしたページを読み返してみようと思っていたのだけど、どうもはてなブックマークのページをカチカチめくってやる気になれず、結局自動で見せてくれるツールを作った。 Hateview 例えばid:clonedだとこんな感じ。過去から順にブックマークを表示して、クリックするとwindow.openでそのページを開きつつスライドショーは一時停止する。右上についてるコントローラは多分想像通りの挙動なので適当に。 元々自分用に作ったものだけれど、公開されているブックマークならどのidでも見れるようにしたので、どうぞご利用ください。

    はてブをスライドショーにするツールを作った - cloned.log
    hiro_y
    hiro_y 2007/09/17
    はてなブックマークのエントリをスライドショー風に表示。
  • PHPカンファレンス2007に行ってきた - cloned.log

    http://www.php.gr.jp/seminar/20070901/ 感じたことを素直に。PHPはまだまだ発展途上だなと思った。それは未熟という意味ではなくて、仕様模索中とでもいうか。 PHP6では内部的にバイナリ扱いしかなかった文字列がUnicodeとして保持されるようになるみたい。他にもnamespaceなどが導入されたり。良い方向性だと思うし、是非そうなって欲しいけれども、なんと言うか遅いなとも思う。 なぜこのような違和感を感じるのかというと、それは恐らく4とか5とか6とかいうバージョン番号なのだろう。PHP4がPHP1.0でPHP5がPHP2.0とかなら物凄くしっくりとくる。 Javaは初期バージョンから国際化やセキュリティなどの言語の質的な部分が固まっていたように思う。だから、文法的な改変もほとんどなかった。JDK5.0で大きく変化したのには驚いたといえば驚いたけど。特

    PHPカンファレンス2007に行ってきた - cloned.log
    hiro_y
    hiro_y 2007/09/03
    PHPカンファレンス2007レポート。「PHPはまだまだ発展途上だなと思った。」
  • PHPでGeoIPを使えるようにする(インストール手順など) - cloned.log

    PECL :: Package :: geoip IPアドレスから国や地域を取得するのに利用できるPECLのGeoIP関数がstableになった。 以前にも使っていた時期があったけれども、かなり放置していたので、もう一度最初から入れなおしてみた。ということで、インストール手順などをメモ。 詳しくは、PHP: GeoIP 関数 - Manualを参考に。 GeoIP C ライブラリ $ cd ~/download $ wget http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.2.tar.gz $ cp GeoIP-1.4.2.tar.gz /usr/local/src/ $ cd /usr/local/src $ tar zxvf GeoIP-1.4.2.tar.gz $ cd GeoIP-1.4.2 $ ./configure $

    PHPでGeoIPを使えるようにする(インストール手順など) - cloned.log
    hiro_y
    hiro_y 2007/08/16
    PHPでGeoIP、PECLのgeoipを利用。
  • PHPでnewするときに&つけることについて - cloned.log

    PEARのHTTP_Requestのドキュメントを見ると <?php require_once "HTTP/Request.php"; $req =& new HTTP_Request("http://www.yahoo.com/"); if (!PEAR::isError($req->sendRequest())) { echo $req->getResponseBody(); } ?> というサンプルコードが載っている。コンストラクタは常にvoidなので、newされたインスタンスを値渡しで変数に代入してインスタンス元が自然消滅するのと、newされたインスタンスを参照渡しで変数に代入することに違いがどうして出てくるのかがわからなかった。 PHP自体のマニュアルを読むと コピー演算子 = により作成された $bar1 と 参照演算子 =& により作成された $bar2 の間の差異があるかど

    PHPでnewするときに&つけることについて - cloned.log
    hiro_y
    hiro_y 2007/06/21
    PHPでインスタンスを作成するときに&をつけるかどうか。
  • PHPのelseifとelse ifの違い - cloned.log

    2018/12/28追記 この記事は2007年に書いたものです。現在は PSR-2: Coding Style Guide - PHP-FIG に従うことが多く elseif を利用するのが一般的だと思います。 Javaの次にPHPを学んだせいというか、最近PHPのソースを見たときにelseifがあって違和感に感じることがあった。 PHPでは、(単語二つで)'else if'と書くこともできます。 動作は(一単語の) 'elseif'と同じです。文法的な意味はやや異なっています。 (あなたが C 言語に詳しいとすると、C 言語のそれと同じ動作です。) しかし、最終的な両者の動作は全く同じです。 PHP: elseif - Manual となっているようにどちらでもちゃんと動く。挙動は同じと書いてあるので疑うことはないにしても「文法的な意味はやや異なっています」と言われると気になる。 そもそ

    PHPのelseifとelse ifの違い - cloned.log
    hiro_y
    hiro_y 2007/05/20
    PHPのelseifとelse if。elseifの方が単純。
  • PHPでUTF-16を保存するときにBOMをつける方法 - cloned.log

    たいした話ではないのだけれど、PHPには「指定したエンコードで保存する」という方法が見つからないので、UTF-16に変換してそのままファイル保存をするとBOM(バイトオーダーマーク)が付かないからエンディアンの判定ができない。 具体的には以下の方法だとBOM無しになる。 <?php $contents = file_get_contents('utf8.txt'); $encoded = mb_convert_encoding($contents, 'UTF-16LE', 'UTF-8'); file_put_contents('utf16le.txt', $encoded); なので、リトルエンディアンのBOM付きで保存する場合は以下のようにやる。 <?php $contents = file_get_contents('utf8.txt'); $encoded = chr(255) .

    PHPでUTF-16を保存するときにBOMをつける方法 - cloned.log
    hiro_y
    hiro_y 2007/05/03
    UTF-16でファイルを保存する際にBOMを付加する方法。
  • PHPで画像を扱えるようにする(インストール手順など) - cloned.log

    PHP経由でGD使いたいなと思ったので。何も考えずにPHPインストールしてると、imagecreateとかのfunctionがないよと怒られるので、その辺のインストール周りから。必要なライブラリとかはマニュアルみたら載ってるので、困らないと思うけれど、自分メモもかねて貼っておく。 jpeg-6b $ cd ~/download $ wget ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz $ cp ./jpegsrc.v6b.tar.gz /usr/local/src/ $ cd /usr/local/src/ $ tar zxvf ./jpegsrc.v6b.tar.gz $ cd ./jpeg-6b $ ./configure --enable-shared $ make $ sudo make install png $ cd ~/

    hiro_y
    hiro_y 2007/03/31
    PHPで画像を扱えるように。
  • フェードイン・フェードアウトの人力検索 - cloned.log

    http://q.hatena.ne.jp/1174039036 Objectではなくfunctionな書き方だったので、適当に自分なりに書いた。ロジックはフェードイン、アウトの部分だけ。 <html> <head> <script type="text/javascript"> var Fade = function(id) { this.element = document.getElementById(id); } Fade.FONT_CHARS = [ "#000", "#111", "#222", "#333", "#444", "#555", "#666", "#777", "#888", "#999", "#aaa", "#bbb", "#ccc", "#ddd", "#eee", "#fff" ]; Fade.ANIME_SPEED = 100; Fade.TYPE_IN

    フェードイン・フェードアウトの人力検索 - cloned.log
    hiro_y
    hiro_y 2007/03/18
    文字列をフェードイン/フェードアウト。
  • prototype.jsのbindを理解する - cloned.log

    prototype.js使っていてうれしいことの一つにbindが使えるというのがある。$()とかAjaxのクロスブラウザ対策とかもいいけれど、thisをbindできるのは大きなメリットだと思う。bindがないとどういう時に苦労するかというと、以下のような場面。 var Foo = function(name) { this.name = name; } Foo.prototype.talk = function(message) { alert(this.name + ": " + message); } function inScope() { var foo = new Foo("foo"); setTimeout('foo.talk("Hello World!")', 0); } inScope(); これは実行できない。なぜかというとsetTimeoutに渡しているfooという変数

    prototype.jsのbindを理解する - cloned.log
    hiro_y
    hiro_y 2007/03/01
    prototype.jsのbindの便利さについて。
  • JavaScriptのデバッグで利用できるコンソールライブラリ - cloned.log

    FireBugとか使う人が多いと思うけれど、単純に何かを出力して確認したい時とかには自作のやつの方が簡単で楽だなぁと思ったので公開してみる。 http://clonedoppelganger.net/javascript/Console.html 機能としては当に出力することしかできないのだけど、一応オブジェクトの展開ができたり、コンソールの表示位置を変更したりはできるようにしてある。表示したときのイメージはこんなの。 単純にDIVを追加して表示してるだけだけど、bodyタグが描画される前にprintメソッドを使ってもちゃんと表示されるように一工夫してある。JavaScriptの開発中ではalertで確認したい場面が多かったので、これを作って結構便利になったんだけど、世の中的にはEclipseとかVisualStudioみたいな高機能デバッグが求められるのかなぁ。 興味のある人は使ってみ

    JavaScriptのデバッグで利用できるコンソールライブラリ - cloned.log
    hiro_y
    hiro_y 2006/12/20
    Console.js、デバッグログ表示用のライブラリ。