hiphop-php試してみた

facebookが開発したhiphop-php試してみた。これが何かってのは下記参照。http://blog.candycane.jp/archives/275wiki https://github.com/facebook/hiphop-php/wikiインスコは結構時間かかります。あと入れないといけないライブラリ大杉。OSはubuntu10.10で/…

FizzBuzzで30byteすかぁ

でけた。 $ vi fizzbuzz.fb FizzBuzFizzBuzFizzBuzFizzBuzFで実行。 $ ./fb.py fizzbuzz.txt 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 F…

MacBook Air 11インチ欲しい!

MacBook Air 11インチ欲しい!下さい><

RedmineのGitのリポジトリブラウザで改行を無視して差分表示

2011年一発目。Redmine + Gitで運用してるケースの話。RedmineからGitのリポジトリを参照してる場合に画面からリビジョンのdiffが見れる。ただこのままだと改行コードが変更された場合(例えばdos->unix)に全行ハイライト表示されて改修箇所の視認がしづらい…

apache2.3メモ

httpd-2.3.8.tar.gzを手動で入れたんだけど client denied by server configuration:こんなログ吐いて動いてくれない。原因はこれ <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory>下記の修正で動いてくれた Require all grantedとりあえず…

HBaseへPHPから繋いでみた

HBaseへThriftを利用してPHPからアクセスするサンプル。 $GLOBALS['THRIFT_ROOT'] = '/usr/share/php/Thrift'; require_once $GLOBALS['THRIFT_ROOT'].'/Thrift.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php'; require_once $GLOBAL…

redmineのメニューを追加

redmineのヘッダのメインメニューに項目を追加する。追加するのは「ガントチャート」と「カレンダー」修正したのは以下のファイル。[app/controllers/issues_controller.rb] class IssuesController < ApplicationController menu_item :new_issue, :only =>…

Gitのカラー表示メモ

Gitをmsysgitとかubuntuからとか使っているんですがなぜかubuntuでgit log --statとかした時に文字化け?してしまう。こんな感じ。 ^[[32m+++++++++++++++++++^[[m^[[31m--^[[m多分color設定が読めてないなと。$HOME/.gitconfigに下記の一行追加でcolor表示…

Erlang勉強会に向けて予習的な

Erlang 分散システム勉強会に参加するので予習とりあえずproject euler 10を書いてみた。 -module(project_euler). -export([is_prime/1, is_prime/2]). -export([add/2]). -export([loop/2, loop/3]). %% check the prime number method. %% arg: <integer> N is_pri</integer>…

PHPからthriftでcassandraに接続してみた - その1

以下メモ Thriftのインスコ $ tar zxvf thrift-0.2.0-incubating.tar.gz $ cd thrift-0.2.0 $ ./configure $ make $ sudo make install $ ll /usr/local/include/thrift/ PHPからthrift_protocolを利用する $ cd lib/php/src/ext/thrift_protocol $ phpize $…

Gitのメモ

central cloneで運用しているとき。central側でbranchを削除してしまった場合clone側にcentralのbranch情報が残ってしまう。[central] central$ git branch * master test test2 central$ git branch -d test2 central$ git branch * master test[clone] clo…

nodetoolでcassandraが落ちた

Cassandraの試験をやっているのですがクラスター全体で3000万件程データを貯めこんでました。クラスターと言ってますが2台構成です。で、$ nodetool -h localhost -p 9160 tpstatsって打ったらノード全部(2台)とも落ちました。・・・はい。片方のノード…

PHP5.3でcactiを使う

PHP5.2から5.3にアップデートしたらcactiの画面でwarning出まくり。原因は主にereg系の関数使っているから。warningを抑制してもいいかもだけど、それは何か違うなーって思ったのでコードを修正した。具体的には ereg("***", $***)をpreg_match("/***/", $**…

The mod_python project is now officially dead.

@atsさんが言及されていましたがmod_pythonはcloseとなる様です。http://coreblog.org/ats/mod_python-has-no-future自宅のサーバでapache+mod_pythonでDjango動かしているのでapacheのバージョンアップの際には移行しないとですね。多分mod_wsgiにします。

vmのubuntuがdns認識してくれない

apt-getが失敗するんでおかしいなーって思って調べてみたんですがIP直だとping通るのにドメインだとダメって状態だったのでDNSだなと。でUbuntuのデスクトップの【システム】→【設定】→【ネットワーク接続】から【有線】のタブを選択して表示されてる【Eth0…

twitter連携

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

Python MySQLdbで[Lost connection to MySQL server during query]が

Python MySQLdbで[Lost connection to MySQL server during query]が出て落ちる原因調べてたらこれ有効にしてないかららしい my_bool reconnect = 1; mysql_options(&mysql, MYSQL_OPT_RECONNECT, &reconnect);でどうするか。 #!/usr/bin/env python import …

OpenX-2.8.4以降でCSSが読み込まれない

OpenX 2.8.4以降のバージョンで確認。php.iniのmb_output_handlerが設定されているとCSSの読み込みが出来ません。通常output_handler = mb_output_handlerと設定するところを下記の様にコメントアウトしてzlib.output_handlerを有効にします。;output_handle…

MySQLのちょっとしたTIPS

MySQLってこんなの書けるんだなーって再認識。 mysql> set @1 = 0; Query OK, 0 rows affected (0.00 sec)mysql> select 1 as k from dual where if( @1, 1, 0 ); Empty set (0.00 sec)mysql> set @1 = 1; Query OK, 0 rows affected (0.00 sec)mysql> selec…

ThriftとBoost

巷ではHadoopが流行っているようですが先月にTwitterがCassandraを採用というニュースがあったのでとりあえず環境だけでも作ってみた。ここの記事を参考にさせていただきました。 Cassandra自体はインスコして立ち上げてたので省略。環境はvm上のubuntu9.10…

lenovoのPCでR2Rがメモリを食い潰してる

lenovoのPC使ってて急に動作が重くなったなーって調べたらR2R.exeがメモリ食いつぶしてましたRescue and Recoveryというプログラムらしいのですがそんなもん入れた覚えないし、勝手に裏で動かれて仕事出来ないとかうざいのでプログラムを強制終了させてコン…

グレート!

久々にグレートなコードを見た。PHP + MySQLの環境でのバッチ処理。大概のRDBMSにはバルクインサートって機能があって例えば insert into t1 (peky,c1,c2,c3) values (1,'aho','hoge','hage'); insert into t1 (peky,c1,c2,c3) values (2,'aho','hoge','hage…

jmeterの代わりにpythonで同じような事やってみた

apacheのjmeterというWEBサーバの負荷テストツールがあるんですが結構クライアントのメモリを食べちゃいます。なので変わりになるような簡易試験ツールをpythonで書いてみました。[urltest.py] #!/usr/bin/env python #vim fileencoding:utf-8 import sys im…

ubuntuをvmに入れるときのメモ

ubuntuをvmに入れるときに公式サイトにある8.04のvm用を使う事が多い。現行のバージョンが9.10なので当然アップデートするんですがその際にこけたのでメモ。 8.04から8.10へのアップデートの後ににeth*が認識されない現象が発生。調べるとopen-vm-toolsがコ…

pythonでHQ9+

2010年一発目。今年もテキトーにやります。タイトルのHQ9+まずはインタプリタを書く [hq9+.py] #!/usr/bin/env python import sys if __name__ == "__main__": acc = 0 line = sys.stdin.readline() o = line[:-1] l = len(line) for i in range(l): buf = o…

Railsの環境構築した時のメモ

rubyのインストール バージョンは1.8.7 $ sudo apt-get install ruby1.8 $ sudo apt-get install ruby1.8-dev $ sudo apt-get install rubygems1.8Railsのインストール $ sudo apt-get install rails作業環境構築。今回はMySQLで(インストール済) $ sudo gem…

vm上にMySQLの開発環境作った時のメモ

MySQLのバージョン Server version: 5.1.37-1ubuntu5-log (Ubuntu)my.cnfに追記したもの default-character-set = utf8 general-log = 1 general-log-file = /var/log/mysql/mysqld.log slow-query-log = 1 log-slow-queries = /var/log/mysql/mysqld-slow.l…

HadoopでPython使ってテストしてみた - その2

前回の続きPythonで[mapper]と[reducer]を作ったところからファイルシステムのフォーマットを行います。 hadoop@ubuntu-vm:~$ hadoop namenode -format hadoop@ubuntu-vm:~$ start-all.sh hadoop@ubuntu-vm:~$ jps 9258 TaskTracker 9043 SecondaryNameNode …

HadoopでPython使ってテストしてみた - その1

だいぶ乗り遅れた感はあるけどHadoopを試してみた。環境はvm上のubuntu-9.10サンプルは使用せずにmapperとreducerはPythonで書いてみました。まず準備。javaの確認。なんかの時に入れたのでインスコは省く mochi@ubuntu-vm:~$ java -version java version "1…

pythonの参照とコピー

#!/usr/bin/env python # fileencoding=utf-8import copyclass obj(object): instance = None item = [1,2,3,4,5,6] def __init__(self): pass def append(self, arg): self.item.append(arg) def getInstance(self): if self.instance == None: self.instan…