2011-01-01から1年間の記事一覧
XenServerを使い始めてどれ位経ったか定かじゃないけど、使い始めた頃と今とでネットに転がってるXenServerの情報量が対して増えていない事に絶望した! 知っている事を抱え込んでいても仕方ないから、書き溜めたxeコマンドの実用的?な使い方を公開。 これ…
HP ProLiant N40L MicroServerに入れる。 ホストOSは、CentOS 6.1。 筐体内部にあるUSBポートにUSBメモリを挿して、そこにインストールした。 ゲストOSは、LVMで管理する。 bridge-utilsインストール [root@kvm ~]# yum install bridge-utils /etc/sysconfig…
何か必要に駆られて作ったと思ったんだけど、何に使おうとしたんだっけ。 今回、PHPUnit + Phing + JenkinsでCI環境を整えた。 カバレッジ解析もしたかったけど、Xdebugが必須らしく、面倒だったからやらなかった。 64bitを超える数値を扱う為にPear/Math_Bi…
PHPのXdebugみたいな感じ。 PyPIに登録した。 今のところ、1.2.2が最新。 pyxdebug 1.2.2 : Python Package Index http://pypi.python.org/pypi/pyxdebug インストール # easy_install pyxdebug メソッド実行をプロファイルする example_call_func.py #!/usr…
作ってみたのはいいけど、WSGIで正しく動かない。 あと動作が遅い。 xdebug.py # set encoding=utf-8 import inspect import types from time import time import re import traceback import logging classname_reg = re.compile(r"<class '([^']+)'>") class Xdebug(object)</class>…
久々にやって忘れてたからメモ。 パーティション作成 [root@localhost ~]# fdisk /dev/xvdb デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも 含んでいません 新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するま…
Javaのsynchronized修飾子みたいなのを、デコレータで出来るようにした。 Memcacheを使ってる。 デコレートしたメソッドごとに排他制御出来るようにした。 synchronizedの引数でオプション指定が出来る。 オプションは、key / key_prefix / sleep_time / ret…
なんだか解りづらいからメモ。 目的 本番サーバで、マルチスレッドで動かす。 開発サーバでも動くようにする。(残念ながらシングルスレッド) データストアはHigh Replication datastore必須 Python2.7を使う場合、データストアはHigh Replication datastor…
ReflectionMethodクラスに定義されている、invokeメソッドとinvokeArgsメソッドについて。 第1引数は必ず$method->classのインスタンスでなければならない 第1引数は、$method->classもしくは$method->classを継承したクラスのインスタンスじゃなきゃ駄目。 …
JavaScriptのfunctionにインスパイアされたようなようなものになった。 AnonymousClass \ パッケージ \ Openpear http://openpear.org/package/AnonymousClass AnonymousClassの特徴・制限 ・メソッドは全てClosure Objectで、インスタンス変数として格納す…
iPhoneとiPad用のプロジェクトテンプレートを作った。 xibを使わない方法でしかiPhoneアプリ作ってないから、Interface Builderの使い方をさっぱり知らずにここまで来てしまった。 それはそれで問題な気がする。(特にXcode4) Xcode3 設定方法 Empty iPhone…
gaeutilitiesとかを使うのが一般的なんだろうけど、なんとなく気に食わなかったから作りなおした。 機能 memcacheだけを使う。 速い。 db.Modelは、遅いから使いたくなかった。 特にStorage SchemaがHigh Replicationの場合、めちゃくちゃ遅いて無理だった。…
6月に引っ越した。 その物件の管理を日神住宅サポートがしていて、そのサービスが非常に悪かった。 その件に関して会社に直接問い合わせた時の話。 随分と前の話だけど、誰かの参考になるかも知れないから書いておく。 問い合わせ内容 日神不動産株式会社 様…
PHPファイルからPHP Extensionの雛形を生成するツール「PHPH」を作った。 CodeGen_PECLは、 ・実装するクラスのプロトタイプを、CodeGen_PECLの形式に沿ったXMLで作成。 ・メソッドの中身をXMLファイル内で実装。 ・PHP Extensionソースに変換。 PHPHは、 ・…
世の中で(よく使われている|あまり使われていない)、192.168.xx.xxのネットワークって何なんだろう? と思って調べてみた。 結果 世の中で最も使われているのは、192.168.1.0/24。 世の中で最も使われていないのは、192.168.229.0/24。 この辺りが人気っぽく…
バイナリデータから、4バイトのハッシュを生成する。 MD5やSHA1に比べてアルゴリズムが単純で速い。 データベースに文字列を入れる時に、その文字列のCRC32ハッシュをindexにすると検索が速い! って記事を見ていつかやってみようと思ってるけど、まだ実践投…
JavaのGenericsっぽいのをPHPでも使いたいなーと思って作ってみた。 PHPでは配列のKeyにObjectを指定出来ないから、とりあえずValueだけにした。 32bitで表現出来る数値と64bit必要な数値を共存させるならfloatに合わせる必要あり。 PHPの配列、使いづらい。…
TwitterのAPIを叩くサンプルは見つかったけど、純粋な2Legged OAuthのやり方が見つからなかった。 だからメモ。 リクエストボディを指定して、リクエストを送る前にoauth!メソッドを呼ぶだけ。 #!/usr/bin/ruby require 'rubygems' require 'net/http' requi…
リクエストメソッドがGET以外の時、downloadCacheにnilが代入されていた。 APIを叩く場合、どんな内容でもPOSTメソッドを使う事はよくある。 何かデータを取得する時にいちいちリクエストを送られても困る。 それで、POSTでもキャッシュしたい場合がある。 …
使いにくいというか、ネットワーク向きではない? だからいくつかメソッドを追加してみた。 追加したメソッド bit_count selfのIPのビット数を返す。 IPv4なら32、IPv6なら128を返す。 cidr selfのCIDRを返す。 なんでこれが取得出来ないのか不思議な位。 ho…
TwitterのAPIを叩くサンプルは見つかったけど、純粋な2Legged OAuthのやり方が見つからなかった。 だからメモ。 2Legged OAuthリクエスト OAuthConsumerライブラリを使う。 OAMutableURLRequestは、NSMutableURLRequestを継承したクラス。 OAConsumerは、コ…
CentOSのYumリポジトリにあるRubyは古過ぎて、gemの依存で引っかかる事が多い。 だから自分でCentOS5用のRPM作った。 現在安定版とされている2つのバージョンのRubyと、最新のRubyGems。 ruby-1.8.7.p334-1.i386.rpm ruby-1.9.2.p180-1.i386.rpm rubygems-1.…
せっかく作ったけど、残念ながら使わなそう。 Randomクラスは前回作った物。 使い方 // multipart Multipart *multi = [[Multipart alloc] init]; [multi addString:@"aaaaaaaaaaaaaaaaaaaa" forKey:@"aaa"]; [multi addString:@"bbbbbbbbbbbbbbbbbbbb" forK…
擬似乱数の生成はC言語。 全部Static。 JavaみたいにStatic initializerがあれば少しはマシになりそう。 出来る事 ランダムな整数を生成。 上限/下限を指定したランダムな整数を生成。 0.0〜1.0のランダムな小数を生成。 長さと使用する文字を指定して、ラン…
前に似たようなものをPHPで作ったけど、それより綺麗に書けた。 def main内を適宜書き換えて、rootで実行。 def config内で、CustomLog/ErrorLogの指定もした方がよさそう。 #!/usr/bin/ruby class VirtualHost def initialize(conffile, domains=[], hosts=…
これを移植した。 Punycode変換のコードを書いてみました - Operaの備忘録のぺえじ - チーム俺等 http://orera.g.hatena.ne.jp/misttrap/20080518/p1 jp/eth0/Punycode.as package jp.eth0 { public class Punycode { protected static const BASE:int = 36;…
マグニチュード(M)と別単位を相互変換をしてみた。 あと、強い地震を複数の弱い地震に分散した場合に何回地震を発生する必要があるか計算してみた。 これだけの莫大なエネルギー、どうにか有効活用出来ないのかな…。 マグニチュードと地震のエネルギー 地…
JavaのArrayListを参考にしつつ、2種類作った。 mallocしたメモリの先頭アドレスの配列を保持するパターン voidポインタの配列。 配列の個数+1回mallocする。 charとか小さいものだと無駄がありそう。(特に64bitOSの場合) 配列の数が足らなくなったら、voi…
CentOSでは、/etc/crontabは、こうなっている。 時間が来たら、run-partsでディレクトリ内のファイルを実行する単純な仕組み。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.ho…
料金について、納得して機種変したはずだけど、なんとなく解らなかったから、再度まとめた。 機種変更前 機種 : Advanced/W-ZERO3[es] 料金プラン : ウィルコム定額プラン オプション : リアルインターネットプラス オプション : W-VALUE SELECT 機種変更後 …