Unicodeでの正規表現

http://kjirou.sakura.ne.jp/mt/2008/10/python_unicode.html例えば、ユニコード型文字列の内、漢字のみ("一"〜"龥")をマッチさせる場合 l = re.findall(u"[\u4e00-\u9fa5]+", "ひらがな漢字カタカナascii".decode("utf-8")) print l[0].encode("utf-8") #…

Ubuntuデスクトップのファイアウォールを設定してみた

注意:以下の内容はUbuntu Desktop版での話です。Server版はまた別です。 ポートは塞がれているというよりは開けてないだけ 「Ubuntuでは標準で全てのポートが閉じているのでファイアウォールの設定は不要」などという文章をよく見かけるのだが、これはもの…

PostgreSQLで日本語のソートがおかしい場合の対処法

DB

PostgreSQLで日本語が格納されているカラムをORDER BYでソートさせたら明らかにおかしい順序で返ってきた。 test=# select name from test_table order by name asc; name - 試験 てすと テスト てすとです 試験データ テストデータ test (7 rows) こんな感…

SSH X11 Forwardingで手元に呼び寄せる

sshにはX11 Forwardingというオプションがあって、これを使うと比較的安全にリモートのアプリケーションを手元で実行できる。いや実行してるのはリモート側だけど。 localhost $ ssh -X remotehost といった感じで-XをつけてやるとX11 Forwardingが有効にな…

ノートPCのUbuntuを入れてみた

すっかりUbuntu生活にハマってしまったので、3年前に買ったLaVie G type RXにもUbuntuを入れてみた。 120GBの2.5インチHDDに入れ替えて、Windows XPとUbuntuのデュアルブート環境を構築。 手順はこんな感じ。 LaVieの再セットアップディスクを使ってXPをイン…

キーボードレイアウトをいじるとATOKが自動起動しない

ハマったのでメモ。 Shift+Alt+Tabで逆回りできない UbuntuでもWindowsのようにAlt+Tabでウィンドウが切り替えられるわけだが、何故かShift+Alt+Tabで逆回りに選択することができない現象に出くわした。会社のPCではちゃんと逆回りで動いている。 Compizの場…

Ubuntuのコードネームは規則性があっていいね

形容詞+動物名 単語の頭文字が同じ (6.06以降)頭文字がアルファベット順 バージョン コードネーム リリース日 4.10 Warty Warthog 2004年10月20日 5.04 Hoary Hedgehog 2005年4月8日 5.10 Breezy Badger 2005年10月13日 6.06 LTS Dapper Drake 2006年6月1…

nautilus-scriptsとzenityでファイル編集を快適に

現在のディレクトリでファイルの編集を開始するnautilus-scriptsを書いてみた。 ターミナルを開いて作業しているときはまだいいんだけど、nautilus上からその場にテキストファイルを作成したい時に、右クリックで空のファイルを作成してから、改めてエディタ…

Text_Diffでテキストの差分を取る

PHP

データの修正時に変更箇所が差分表示できたらいいよねー、という話が出ていたのでPHPでできるか試してみた。 一年ぐらい前にPEARのText_Diffというモジュールをちらっと見たことがあったのを思い出して使ってみた。 まー、なかったとしても裏でdiffコマンド…

gitの使い方がいまいちわからない

2013-05-08 この記事は古い上に間違ったオペレーションで迷走した記録なので参考にしないでください。 あえていうなら、非bareなリポジトリでpushしあうと危険であるという例になるかと。 なにやら時代はgitらしいのでとりあえず使ってみた。が、使い方がよ…

WindowsからLinuxにして不便になったこと

会社のPCをUbuntuにしてから一ヶ月が経った。 ゲームをやる自宅のPCと違って仕事をする上ではWindowsよりも快適になったのだが、やはり不便な面もある。 zipファイルのやりとり 以前のエントリでも書いたが、日本語ファイル名を含むzipを顧客とやりとりする…

LinuxにATOKを入れた

Anthyの変換に耐えられなかったのでLinux版ATOKを買った。Windowsでも使っているのでAAA優待版のダウンロード販売で4725円とお安く購入。 「ATOK Linux」とか「ATOK Ubuntu」でぐぐるとデスクトップ環境やアプリによって相性が悪かったりと色々なトラブル話…

gvimのiminsertが利かない→ATOKで解決!

日本語入力がUbuntuデフォルト状態のscimだとgvimのiminsertが利かなくて困っていたのだがATOKにしたらうまく動くようになった。 if has('multi_byte_ime') || has('xim') " 挿入モード・検索モードでのデフォルトのIME状態設定 set iminsert=0 imsearch=0 i…

Linuxデスクトップにして困ったこと(日本語ファイル名編)

ダントツで日本語ファイル名。こいつは困る。zipの中に入ってるとどうしようもなく困る。 ファイルサーバでやりとりする分にはSambaが文字コード変換してくれるので何も意識せずに扱える。 メールの添付ファイルもメーラーがよろしくやってくれるので、まぁ…

Ubuntu生活はじめました

会社のPCをUbuntuに入れ替えてから一週間が経った。 元々リモートやVMwareで使ってはいたが、デスクトップ丸ごと入れ替えたのは今回が初めて。 最初はどうなることかと思ったが、今じゃWindowsに戻りたくなくなるほど気に入ってしまった。 普段使っている主…

バイナリデータをserializeしてもprintableにはならない

PHP

本日のハマりネタ。 セッションをファイルではなくDBに格納するということで、MySQLのカラム型をmediumtextにしていたら、バイナリデータの格納で落ちるという問題に出くわした。 カスタムハンドラに渡ってくる値はserialize済みの値なのでそのまま放り込む…

多重継承の問題点

メモファイルを整理していたら出てきたので載せておく。 2年ぐらい前にデスマってるときに現実逃避にまとめたものなので正しいかどうかはわからない。 重複するメンバ class Parent1 { public: virtual void message(); }; class Parent2 { public: virtual …

Firefox3に移行するにあたって今使っているアドオンを整理してみる

Firefox 3に移行したいのはやまやまなんだが、徹底的にカスタマイズして俺様仕様になってないと落ち着かないのでなかなか踏み切れないでいる。 急速に3.0対応は進んでいるようだけど、自分が使っているアドオンはどうなのかなぁ? というわけで、まずは今使…

XML読み込みエラー時の詳細情報を取得する

PHP

XMLファイルを読み込む時、タグが欠けてるとか正しくないXMLだった場合に、どこそこでエラーだよって出したいわけだが、DOMDocument::load()はTRUE/FALSEしか返してくれないのでエラーが起きたことしかわからない。 なんだよこれどうすんだよ……と思ったらど…

arrayへのキャスト

PHP

引数をスカラでも配列でも受け取れるようにしたい時、次のようなコードを書いているんだが、あまりにも面倒くさいので時々array型にキャストしたくなってくる。

MySQLはUPDATEにORDER BYやLIMITが使える

DB

MySQL5.1しか確認して無いですが、 UPDATE文にもLIMIT句があるんすね http://kjirou.sakura.ne.jp/mt/2008/05/mysql_update.html これは知らなかった。 データを直接いじっているときなどにとりあえずLIMIT 1なんてつけておくと、うっかり全件更新してしまう…

foreachの$valueを参照で受けると思わぬバグを引き起こす

PHP

PHP :: Bug #29992 :: foreach by reference corrupts the array PHP5からはforeachの$valueの部分を参照で受け取ることができるようになったんだが、このコードがいとも簡単に配列$arrayをぶち壊してしまうというお話。 上記コードの結果を予測できるかな?…

PHPで三項演算子のネストがおかしい

PHP

三項演算子のネストには賛否両論あるけど、時にはこういう風に書きたいこともあるわけで。 20 期待する出力は10なんだけど、なぜか20になる。 そこでこんな風にしてみたら……

選択文字列をスクリプトで実行して結果を表示するプラグイン

vim

選択した文字列をperlとかphpで実行して、その結果をプレビューウィンドウで表示するプラギン作ってみた(`・ω・´) ダウンロードは下記から。 http://eureka.pasela.org/products/ こういうこと考える人はたくさんいると思うんだけど、どうにも探し方が悪い…

vimいじり

vim

vimのカスタマイズが楽しくて仕事が手につかない今日この頃、みなさんいかがお過ごしですか。 あれからまた.vimrcをいじったので改めて紹介。 .vimrc 以下は前回からの差分のみ。 "全般 set splitright "vsplitで新規ウィンドウは右側にする "colorscheme de…

一日前を得る(日付の演算)

PHP

2008/05/08 20:09:55 // 一日前(現在の昨日) $yesterday = strtotime('yesterday', $now); echo date('Y/m/d H:i:s', $yesterday) . "\n"; // -> 2008/05/07 00:00:00 // 現在からマイナス一日 echo date('Y/m/d H:i:s', strtotime('-1 day')) . "\n"; //…

脱秀丸。そしてvimへ……

vim

会社のデスクトップがWindowsからLinuxになるかもしれないとのことで、慣れるためにテキストエディタを秀丸からvimに変えてみた。 オリジナルではなくKaoriYa版をインストール。gvimを常用することにした。 そしてサーバで使ってたvim 6.3の.vimrcをベースに…

ニコニコ動画をダウンロードするプラグイン作った

まぁこの手のものはぐぐればいくらでも出てくるんだけど。 ニコニコ動画Downloader http://eureka.pasela.org/products/firefox/getnicovideo/ IEからFirefoxに乗り換えるときにuserChrome.js用のスクリプトを書いて使ってたんだけど、せっかくだからextensi…

PEARライブラリを利用する際の注意点

PHP

プロジェクトのコードを眺めていて気になる点があったので社内で周知すると共に、せっかくなのでブログにも書いてみるテスト。 PEAR DBでgetする際の戻り値 今さらPEAR DBを使うこともそうそうないと思うが、保守案件やレガシーなシステムへ追加で載せる場合…

strftimeではまった

まぁPerlに限らないんだけど。 タイムスタンプから「2008年4月3日 9時27分6秒」みたいな文字列を作りたくてstrftimeを使ったんだが思いの他はまりまくったのでメモ。 perlだととりあえずstrftimeを使うのが普通だと思うので、記憶を頼りに適当に書式文字列を…