タグ

ブックマーク / hiboma.hatenadiary.jp (18)

  • '数値e数値' という文字列を 含む SQLの謎 - hibomaの日記

    SQLで ’数値e数値' という文字列をクエリに含んだときの挙動が謎です。 (0e0 とか 1e10 とか ... 指数表記というのかな?) 例えば mysql> select 1e1; +-----+ | 1e1 | +-----+ | 10 | +-----+ 1 row in set (0.00 sec) これは指数の計算をSELECTしたとクエリとして解釈されるんですが、 '数値e数値' の後尾に文字列を付加した場合 mysql> select 1e1hoge; +------+ | hoge | +------+ | 10 | +------+ 1 row in set (0.00 sec) こんな結果になります。この場合 '1e1hgoe' を カラム名としては認識しないようです。これが謎だった。 mysql> select 1e1 hoge; +-------+ | hoge

    '数値e数値' という文字列を 含む SQLの謎 - hibomaの日記
  • Emacs で processingのファイルを編集する - hibomaの日記

    ふだんはPerlばっかりいじってて、まぁそれはそれで楽しいんですけど、時たまグラフィカルなプログラミングにも手を伸ばしたい欲がでます。なので、ときおりprocessingとかいう言語(環境)をいじってます http://processing.org/ processingのアーカイブをダウンロードして、メインのバイナリを起動するとprocessing用のエディタが立ち上がります。そこにコードを書いて実行ボタンを押すとグラフィカルな出力がでるって感じなんですが、このエディタが非常に扱いにくい代物です。 ( Emacs/Cocoaアプリのキーバインドに慣れてしまうとこういうところで弊害が ) ということで Emacsでprocessingのソースをいじります。 といってもprocessingアプリで書いたソース自体は、sketch_070531a/sketch_070531a.pde という感

    Emacs で processingのファイルを編集する - hibomaの日記
    agw
    agw 2007/06/04
  • Macでシェルの設定に alias -g C="| pbcopy " と書く - hibomaの日記

    Mac OSXのターミナルで使えるコマンドにpbcopyなるものがあります。このコマンドは標準入力をクリップボードにコピーします。 なので シェルの設定ファイルに alias -g C="| pbcopy " みたいに書いておくと $ pwd C $ ps C こんな感じで出力をコピーできるので地味にべんりだと思いました。実に地味ですが。そして例もちょっとアレです。エイリアスなんでお好きな名前でどうぞ。 追記 元ネタは alias -g G="| grep" alias -g W="| w3m -T text/html" って奴です。どこで見たのか思い出せないんですけど。 さらに追記 # はてぶ より terazzo .. "open -f" ってのもあるよ。使い勝手は良くないけど(とくに日語関係)。 とのことです。どれどれ... $ ps aux | open -f これを実行すると出

    Macでシェルの設定に alias -g C="| pbcopy " と書く - hibomaの日記
  • Emacsでバッファ保存時にdiff を知らなかった - hibomaの日記

    昨日気づいたんだけど、Emacsでバッファの保存時に Save file /Users/hiroya/hgoe.pl? (y, n, !, ., q, C-r, d or C-h)こんなプロンプトが出てくるけど、ここで'd'を押すと、保存したいバッファの現在の状態と保存する前のファイルのdiffが出てくる. diff -c /Users/hiroya/hgoe.pl /tmp/buffer-content-11593BR2 *** /Users/hiroya/hgoe.pl 2007-03-11 11:06:46.000000000 +0900 --- /tmp/buffer-content-11593BR2 2007-03-11 11:06:57.000000000 +0900 *************** *** 1,5 **** #!/usr/bin/perl use strict

    Emacsでバッファ保存時にdiff を知らなかった - hibomaの日記
    agw
    agw 2007/03/17
  • MacBookProのファン回転数を制御するアプリで過熱防止 - hibomaの日記

    ↓はてブで見つけた。ファンの回転数を指定して制御することができる。なんかゲテモノ的なソフトだなーと思ってたんだけど、使ってみたらなかなか調子がいい。 http://81.169.182.62/~eidac/software/page5/page5.html MacBookPro(初期バージョン)は冷却系がうまくないので底面が過熱してアっチチ!なのがネックですが、このソフト使ってるとそこまで熱くならない。2000〜3000回転くらいにしておくとファンの音もそれほどうるさくないし、PCの熱もほどよく逃げていい感じ。パームレスト部分も熱くなりません。パームレストの熱のせいで、手のひらや手首が熱くなって腱鞘炎みたいにダルい感じになるのが嫌だったので、これがだいぶ緩和されたのが嬉しいです。 ま 寒くなってきたから、底面はちょっとぐらい熱い方が 膝に乗せた時に体もあったまっていいんだけど・・・

    MacBookProのファン回転数を制御するアプリで過熱防止 - hibomaの日記
  • set-selective-displayでsubの中身を省略表示 - hibomaの日記

    \C-x $ :set-selective-display・・・指定した桁数以上字下げしている行を隠す関数とのこと http://www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs_12.html#SEC80 と言われてもよく分からんので画像. こういうのが、M-4 C-x $ で (4字下げの行を隠して表示) 以下のように折り畳まれて表示される (4字下げの行を隠して表示) この場合は4字下げされた部分が省略表示になるので、Perlだとちょうどsubの中身が省略される感じになる。折りたたみ表示中でもバッファは普通に編集可能です。 使いどころがよく分かんないけど、モジュールの骨格をざーっと見てみたいとか、インターフェースどうっすかな〜っとか、関数名だけイジりたいよ〜とか、そういう時に使うと中身が一時的に見えないのは目に優しいかも。カーソル移動もちょっ

    set-selective-displayでsubの中身を省略表示 - hibomaの日記
    agw
    agw 2006/11/03
    ナイスです!
  • colordiffでdiffの色づけ - hibomaの日記

    zsh: diffの結果をvimで色付けして表示するグローバルエイリアス でも、diffの結果はちょっと読みにくい。もしdiffの結果が色付けされていたら、もっと読みやすいじゃないかと、今日ふと思いました。 そこで、zshのグローバルエイリアスを使って、diffの結果をvimで色付けして表示するようにしてみました。(.vimrcには「syntax on」と書いておきます。) diffの色づけするだけだったらcolordiff.plというのがありまっせ。 http://colordiff.sourceforge.net/ なんか配色がキモイ 筋である、zshのグローバスエイリアスにvimを噛ませてうんぬん、はいろいろ応用が利きそうですね。素敵な発想なので期待アゲです。

    colordiffでdiffの色づけ - hibomaの日記
  • zshでhttpd - hibomaの日記

    昨日から引き続いてzshのマニュアルに目を通していたら zsh/socket、zsh/net/tcp というモジュールがあるのを見つけた。で、それらに関して適当にググってたら見つけたのがzshでhttpdサーバーというエントリ。全部シェルスクリプトで書かれてるhttpd/zsh。 起動方法 *セキュアな環境でやってください。デフォルトでは8080ポートが空いて、ルート以下のファイルの内容が丸見えの状態になります ソースをダウンロードします(サイト内からコピーで)。全部シェルスクリプト。 エディタに貼付けて、zshttpd.zshとでも名付けホームなど適当なところに保存 $ source zshttpd.zsh としてソースを読み込む $ zshttpdで起動 http://localhost:8080でアクセスする 例えば /Users/user_name/hoge.txt などと、任意の

    zshでhttpd - hibomaの日記
  • MozReplをいじってみたよ // 簡単なチュートリアル - hibomaの日記

    いまいち分かってないんだけど、Perlperlsh,Pythonの対話型シェル,Rubyのirbのような使い方ができるみたいですね。Firefoxも出力にできるJavascriptシェルといった感じでしょうか。Firefoxの内部で行われているJavascriptの処理を覗き見れるシェル型のインターフェース かな。Replというオブジェクトがシェルみたいな役割を果たしていて、repl.method()という感じでメソッドを呼び出して対話型の操作ができる。任意のJavascrptコードを打ち込むことができます。Replオブジェクト自身もJavascriptのようなので、Replを書き換えることも可能みたい。 初めの一歩 #()をつけると関数の実行 repl>repl.home() [object ChromeWindow] #()をつけないとオブジェクトの中身が見れる repl> repl

    MozReplをいじってみたよ // 簡単なチュートリアル - hibomaの日記
  • ログ - hibomaの日記

    **.***.**.*** - (略) - "GET /level/16/exec/-///pwd HTTP/1.0" 404 325今日はこういう足跡が。いろんな手口があるもんですね。 追記: Cisco製のスイッチを狙ったものらしい。 http://www.techienuggets.com/Comments?tx=420

    ログ - hibomaの日記
    agw
    agw 2006/07/25
  • SSHKeychain - hibomaの日記

    macのターミナルからssh経由でLinuxを動かそうとするも、なんかいろいろやらなきゃいけないみたいで困ってたんだけどSSHKeychain っていうソフト入れてごそごそやったら難なく動いた。結局このソフトが何をしてくれているのかよく分からない。 SSHKeychain http://www.sshkeychain.org/ ハリセンボンのロゴが 微妙に不細工なのがウケる。

    SSHKeychain - hibomaの日記
  • 『Ajaxの速度をアップする方法』に補足で - hibomaの日記

    http://gigazine.net/index.php?/news/comments/ajax/ リンク先のGIGAZINEさんではJavascriptのコードを外部ファイル化してキャッシュする方法をあげています。 同じテクニックが『Ajax Hacks』でも紹介されていて versionをくっつけることで、明示的にブラザにキャッシュさせる方法をとりあげています。Ajaxの速度をアップする方法というよりは、Javascriptファイルの読み込みを高速化 ですね。 ちなみにこのやり方、IEでのバグを回避するためのハックだよと『Ajax Hacks』に書いてありました。古いJavascriptライブラリをキャッシュしたままで新しいライブラリを読み込まないというエラーはIEのバグだからとのこと。(他のブラウザがどうなのかは知りません)・・・IEのシェア率を考えると面倒でもやっておいたほうが無

    『Ajaxの速度をアップする方法』に補足で - hibomaの日記
  • behaviour.js リバースエンジニアリング その2 - hibomaの日記

    behaviour.js リバースエンジニアリング その1 は急いで書いたので、大事な部分を見落としてたように思うので、もうちょっと詳細に見てみます。 おもしろかったのはBehaviour.apply()の部分 apply : function(){ for (h=0;sheet=Behaviour.list[h];h++){ for (selector in sheet){ list = document.getElementsBySelector(selector); if (!list){ continue; } for (i=0;element=list[i];i++){ sheet[selector](element); } } } }, ユーザーが指定した「セレクタ名:関数」をプールしている配列Behaviour.listから、要素を抜きだして for 文で処理しているんですが

    behaviour.js リバースエンジニアリング その2 - hibomaの日記
  • behaviour.js リバースエンジニアリング その1 - hibomaの日記

    話題のbehaviour.jsのソースを見ていきます。 behaviour.jsの使い方から var myrules = { 'b.someclass' : function(element){ element.onclick = function(){ alert(this.innerHTML); } }, '#someid u' : function(element){ element.onmouseover = function(){ this.innerHTML = "BLAH!"; } } }; Behaviour.register(myrules); となっております。このエントリーではライブラリのソースを見てどんな仕組みで動いているかを検証するのが目的なので、もしライブラリの詳しい利用法が知りたいという方はこのスクリプトの紹介元である 【我的春秋さん】 http://my-c

    behaviour.js リバースエンジニアリング その1 - hibomaの日記
  • 多次元配列であれこれ 続き - hibomaの日記

    2次元の配列でビットマップをまねて、左右対称に反転/上下対称に反転 を再現する操作 の続きをやります。 今度は2次元の配列(行列?平面?)を「90度回転」する操作をしてみようと思います。画像を90度回転する ってよくやるよね。写真の縦横の向きを変えたりとか。その操作の再現。 っとその前に前日のコードのリファクタリングからやります。 my @A = qw(a1 a2 a3 a4); my @B = qw(b1 b2 b3 b4); my @C = qw(c1 c2 c3 c4); my @D = qw(d1 d2 d3 d4); my $XY = [ \(@A , @B , @C , @D) ]; 配列は全部無名配列にしてリファレンスとしてぶっ込みました。入れ子になったこの配列をこれからごにょごにょします。 配列に対する操作は sub y_reverse { my $ref = shift;

    多次元配列であれこれ 続き - hibomaの日記
  • 多次元配列 ->「ビットマップ」? - hibomaの日記

    唐突ですが my $A = ['a1' , 'a2' , 'a3' , 'a4']; my $B = ['b1' , 'b2' , 'b3' , 'b4']; my $C = ['c1' , 'c2' , 'c3' , 'c4']; my $D = ['d1' , 'd2' , 'd3' , 'd4']; my @XY = ($A , $B , $C , $D ); #もしくはこっちの方が書き方キレイかな? # #my @A = qw(a1 a2 a3 a4); #my @B = qw(b1 b2 b3 b4); #my @C = qw(c1 c2 c3 c4); #my @D = qw(d1 d2 d3 d4); # #my @XY = \(@A , @B , @C , @D); 入れ子になったこんな配列があります。この配列はイメージとして # 1 2 3 4 # #A a1 a2 a3

    多次元配列 ->「ビットマップ」? - hibomaの日記
  • use Benchmark ベンチマークに際しての留意点 - hibomaの日記

    ベンチマークする時の留意点をあげてみます。ちょと長いけど興味ある人は読んでね。 ファイルを読み込んで操作するコードについて、Perl Best Practiceでは my $code = do { local $/; <$in>} とすることで、ファイルを一気読みすることを薦めている。 これに対して下記は、バッドなやり方として書かれているものです。 my $code; while(my $line = <$in>) $code .= $line; } スカラー文を連結するドット演算子の . (concat)を使っているので、スピードが落ちてしまうからだという。 さて試しに二つのコードをベンチマークしてみます。 #!/usr/bin/perl use strict; use Benchmark qw(cmpthese); cmpthese( 1000 , { 'slurp' => \&rea

    use Benchmark ベンチマークに際しての留意点 - hibomaの日記
  • use Benchmark; - hibomaの日記

    ベンチマークしたことがなかったのでやってみた。配列要素を一個ずつインクリメントする時、foreachとmapでどっちが速いんだろうなーっと。 use Benchmark; my @array = 1..10000; timethese(10000 , { 'foreach' => sub { $_++ foreach @array; } , 'map' => sub { map { $_++ } @array;} }); Benchmark: timing 10000 iterations of for, map... foreach: 13 wallclock secs (13.40 usr + 0.03 sys = 13.43 CPU) @ 744.60/s (n=10000) map: 30 wallclock secs (29.86 usr + 0.06 sys = 29.92 C

    use Benchmark; - hibomaの日記
  • 1