handlename's blog

コード片など

build.sbtの依存関係を書き換えたらM-x ensimeしなおさないといけない

emacsでensimeを使っている場合。build.sbtに libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.21" みたいな依存関係を書き換えたら、emacs上で M-x ensimeとして.ensimeを読み直さないといけない。 .ensimeにも依存関係について記述してあ…

perlで複数リストのintersect(積集合)をとる

こんなかんじ?先頭で空のリストはスルーするようにしてるけど別にいらないかもしれない。 最後にgrepしてる部分で == の条件をなくすと和集合になりますね。

httpsであることをnginxからバックエンドのアプリケーションに伝える

以前調べたときに参考にしたページが見れなくなっていたのでメモ。nginx.confの所定の場所に、 バックエンドに転送する際に,HTTPヘッダX-Forwarded-HTTPS: onまたはX-Forwarded-Proto: httpsを追加する,これだけでしたw (引用:HTTPSとバックエンドなPlack…

tmuxでウィンドウを分割しつつコマンドを実行する

Mac OSX 10.7.3 / tmux 1.5screenからtmuxに乗り換えてみたついでに。tmuxのsplit-windowはシェルコマンドを引数に受け取れる。 受け取ったコマンドを実行して、終了するとそのペインを閉じてくれる。 $ tmux split-window 'man tmux' いちいちsplit-window…

homebrewでcanythingを入れるためのFormula書いた

Mac OSX 10.7.3 / homebrew 0.8.1tmux + irssi + canything で Anything 風チャンネル切り替えする http://unknownplace.org/memo/2012/03/26/1/これを実践するためにはcanythingが必要なので、 homebrewでインストールする用のFormulaを書いた。Makefile中…

UITableViewCellにいい感じに背景画像を適用するライブラリ書いた。

UITableViewCellに簡単に背景画像を適用できるライブラリを作ったので紹介。https://github.com/handlename/HNDecoratedTableView対象のテーブルをHNDecoratedTableViewのインスタンスとして作り、 こういう背景画像を用意して、tableView:willDisplayCell:f…

カレントディレクトリの画像をHTMLで表示するだけのアプリケーション書いた

iPadで、画像転送なしで、PC側の画像を一覧表示させたかったので。https://github.com/handlename/p5-gallery powered by Amon2::Lite 画像が入っているディレクトリに移動 plackup /path/to/p5-gallery/app.psgi http://localhost:5000 で画像が一覧できる …

iOSプロジェクト用のテンプレート

Mac OSX 10.7.2 / XCode 4.2毎回ファイル名変えたりグループ作ったりするのが面倒だったので、テンプレートを作った。https://github.com/handlename/ios-app-template $ cp -r __template /path/to/project $ cd /path/to/project $ /path/to/clone/init.sh…

iTerm2でURLをクリックで開く

Mac OSX 10.7 / iTerm2 1.0.0Cmd押しながらクリックでURLを開ける…! 知らなくて情弱呼ばわりされました。

XCodeで環境変数を元に#defineする

Mac OSX 10.7 / XCode 4.2Project > Build Settings > Preprocessor Macros から。 $(ENVVAR) とすれば環境変数を呼び出せる。NSStringとしてそのまま使用する場合は次のように書けばいい。 HOME_DIR="@\"$(HOME)\"" 実行時。 NSLog(@"HOME_DIR = %@", HOME_…

LinkedInで送信したリクエストをキャンセルするバッチ書いた

LinkedInのリクエスト送信でうっかりやっちまったので取り消すバッチを書いた。 送ったリクエストをすべて取り消す。 後述のとおり、承認済みのリクエストは取り消せないので、全自動というわけではない。 要perl、WWW::Mechanize。 $ perl linkedin_withdra…

PathみたいなメニューをCSSのみで

CSS3の練習を兼ねて、Pathのメニューを真似て書いてみた。"Path" like menu - jsdo.it - share JavaScript, HTML5 and CSSあんまり似てない・・・。 transitionで「行き過ぎてから戻る」みたいな動作は出来るんだろうか?

dvorak配列をカスタマイズする

Dvorak Advent Calendarの20日目です。非公式です。 技評のまとめには載っているのにATNDにはページがなかったので勝手に書いてます。 素のdvorak配列で満足していますか? dvorak配列は左側に母音が集中しているのでとても打ちやすいです。が、それだけで満…

JSでprototypeで宣言したプロパティに値を代入するときの罠

要点 prototypeは、そのオブジェクトに該当のプロパティが存在しない場合に参照される。 どういうこと? JSでクラスをつくる場合、デフォルト値としてprototypeに値を入れることがある。 var Hoge = function() {}; Hoge.prototype.huga = 0; Hoge.prototype…

align設定用例集

http://atnd.org/events/21982#comments:title=Emacs Advent Calender jp: 2011 の12日目です。11日目は id:rubikitch さんの 集中力5倍!小よく大を制するミニマリストEmacs - (rubikitch loves (Emacs Ruby CUI Books)) でした。昨年は org-modeでTODO管理…

はじまり

招待もらって開設しました。はてなダイアリー時代はこちら。

コールバックのネストが面倒なので"next"っていうのを考えてみた

非同期な処理を、順番に呼び出したいときに。使うとき↓

http.requestを使うときはチャンクが送られてくる場合を忘れずに

軽くはまったので。httpでGETしたりPOSTしたししたい場合は、http.requestのコールバックに渡されるhttp.ClientResponseにdataイベントをセットする。ただし、dataのコールバックで受け取れるのはドキュメントにもあるとおり"chunk"なので、endイベントも拾…

homebrew の Formula を追加する

MacBook Air にしたときに macports から homebrew に乗り換えた、が、 macports に比べて homebrew ははじめから入っているパッケージが少ない。 入っていないものは自力でコンパイルすればいいのだけれど、 homebrew で入れたものと自力で入れたものが混ざ…

Macでgdbにプロセスの制御権を与える

前回の記事で出ていたエラーメッセージについて、解決したので。darwinでgdbを使って デバッグする = プロセスを制御する ためには権限が必要なんだそうです。Building GDB for Darwin - GDB Wikiなので、gdbを実行するときに $ sudo gdb hogehogeとすればデ…

GDB7.3のコンパイル

gdb

emacsからgdbを呼び出すとき、Xcodeを入れたときに一緒にはいるもの(v6.3)だと This version of GDB doesn't support non-stop mode. Turning it off.と言われてうまくいかなかったので、最新の7.3をソースからコンパイルして使ってみた。http://ftp.gnu.o…

MacBookAirを買ってからやったこと

mac

新しいMacBookAirを買ってから1週間ほど経ったので、その間やったことをまとめてみます。 スペック 11インチ Core i7 1.8GHz メモリ4GB SSD256GB ベンチマーク とりあえずベンチマーク。 GeekBenchを使用。 MacBook Air4,1 MacBook Pro (13-inch Mid 2009) S…

Test::mysqldを永続化しつつメモリ上で動かす

Test::mysqld を別ウィンドウで立ち上げたら開発時の prove が快適過ぎる件 - Craftworks Tech Blog - Branch OSX で tmpfs 的なことをする方法 - unknownplace.org OSX で tmpfs 的なことを試してみる - すぎゃーんメモ を参考に、Test::mysqldを使い回しつ…

coffee-modeで関数名をハイライト

emacs の coffee-mode のシンタックスハイライトがなんだか寂しかったので、関数名(とその後ろのアロー)をハイライトするようにしてみた。404 · GitHubむりくりな感じはするけどやりたいことはできたのでよしとする。

ファイルがなければ作ってemacsで開くコマンド

※MacのCocoa Emacsを使っている場合のはなし alias e="open -a emacs" いままでは .zshrc に↑のようなエイリアスを作ってファイルを開くショートカットにしていた。 $ e hoge とすればカレントディレクトリの hoge というファイルを emacs で開けるという寸…

Ark::Plugin::Session::State::URIは携帯以外で無効になる

Arkのプラグイン、Session::State::URI。 ark-perl/lib/Ark/Plugin/Session/State/URI.pm at master · typester/ark-perl · GitHubSession IDをURIにのっけて管理するためのものだけど、これはPC(携帯以外)でアクセスすると勝手に無効になるので注意。60〜…

string-widthをインタラクティブに呼び出せるようにする

emacsでリージョン内の文字数をしらべる場合は、リージョン選択時に M-x count-lines-regionとすればいい。count-lines-regionはデフォルトでは M-=に割り当てられている。文字数ではなく文字幅を知りたい場合はstring-widthを呼び出せばいいのだが、これは…

Teng で on_connect_do したい場合

Tengをnewするときには、接続に必要な情報のほかに、オプションをいくつか渡すことができる。で、そのオプションの中に on_connect_do というのがあって、その名のとおり、データベースに接続した際に実行するSQLを指定することができる。on_connect_do の処…

iTerm2 で "login: No such file or directory"

mac

いつからかiTerm2を起動すると ## exec failed ## login: No such file or directoryと出てすぐに終了するようになってしまっていた。 まあいいや、と思って標準の Terminal.app を使っていたが、iterm2のalpha17のアップデートが神 - soh335 memo らしいの…

perltidyをPerl Best Practiceに即した形式にしてくれるパラメータ

perltidy、便利ですね。なにも考えなくても(見た目が)きれいなコードになおしてくれます。で、最近読んでるPerlベストプラクティスに、こんな設定例が書いてありました。 perltidy -q -l=78 # Max line width is 78 cols -i=4 # indent level is 4 cols -c…

カタカナだけを半角に変換するelisp

ケータイサイトではカタカナを半角で表示するのが慣習ですが、ぼくはこの変換をしょっちゅう忘れてしまいます。カタカナの書き直しのためだけにデプロイし直すのはなんともむなしいです。そんなむなしさを解消するためにカタカナを半角カタカナに変換するeli…

Macでsudo-ext.elを使う場合

maeshimaさんの記事と、それに対する rubikitchさんの記事を見てMacでsudo-ext.elが使えるか試してみた。たしかに、ただsudo-ext.elを入れただけでは使えない(emacsがフリーズ)。で、最終的に使えるようになった手順は以下の通り。 portでsudoをインストー…

クラスメソッドの引数は参照渡し?

調べてみた。適当なクラスを作って検証。 function Test(hoge) { this.hoge = hoge; } Testクラスのコンストラクタに値を渡してみる。 数値 値渡し(オブジェクト内の値は変化しない)。 var hoge = 4423; var test = new Test(hoge); console.log(test.hoge…

URLにアンダースコアが入っているとTwitterでshareできない

http://twitter.com/share にurlというパラメータを渡すと、短縮URLが入力されたツイートウィンドウがひらく。 例: http://twitter.com/share?url=http%3A%2F%2Fd.hatena.ne.jp/handlename/20101223/1293114125&text=%e8%aa%ad%e3%82%93%e3%81%a7%e3%82%8b …

モダンPHP勉強会 #2 に行ってきた

昨日グリー株式会社であったモダンPHP勉強会でメモったことへのひとり突っ込み。 引用部分がそのときのメモ、その下が見返したときの感想です。 Twig by @cocoitiban ZyngaではPHP5.3は1年ほど案件で使ってる 特にトラブルなし[2010.12.19 9:10 追記] Zynga…

Chrome からファイルをアップロードするとファイルのタイプがとれない

Windows の Chrome からファイルをアップロードすると、ファイルタイプがとれないみたい。 Chrome のバージョンは8.0。 Chrome からファイルをアップロードしたものをPHPで受けて、 $_FILES を var_dump したらこんな風になる。 array 'file' => array 'name…

いまさらだけどsmartchr.elを入れてみた

id:k1LoW さんの 空気のようなEmacs Lisp -2010 冬- - Emacs/Lisp/Drill - Emacsグループ を読んで、いまだに smartchr を使ってなかったことを思い出したので入れてみた。全てのモードで有効にするのは逆に不便になるので("-"を使った箇条書きとか)、add-…

org-modeでTODO管理

Emacs Advent Calendar jp: 2010 : ATND の10日目です。 2011-01-02 タイポ修正 勢いで参加したものの、elispはさっぱりかけないので、 日々使っている機能を紹介する路線で行ってみようと思います。 org-mode でTODO管理をする方法を紹介します。 今回は素…

sjisのファイルを直接grepしたかったから練習がてらperlで書いてみた

自分の要望として sjisのファイルをコマンドラインからgrepしたい 複数ファイルにまたがってgrepしたい 検索結果にファイル名と行番号を表示したい catでつないでnkf -wってすればできるけど、どのファイルかわからなくなる 練習のつもりでperlで書いてみた…

emacsのPATHって・・・?

evernote-mode.elを使おうとするものの、なにをやっても Unknown error になってしまう。どうやら emacs から呼び出そうとしている ruby が /usr/bin にあるものなのが原因らしい(使いたいのは macport で入れた ruby)。 M-x shell-command which ruby => …

html-helper-mode 3.0系列の設定

2.0系列から見て、デフォルトで色が付いたりキーバインドががらっと変わったりしている3.0系列が微妙に使いにくかったので、ちょっといじったメモ。対象は html-helper-mode 3.0.4kilo。 タグは小文字にしたい テーブルタグとかスクリプトタグとかが大文字な…

limeのis_deeplyが使いにくいので自前で書いてみた

limeのis_deeply。配列を比較できて便利だけど、いかんせん結果が見にくい。と、いうわけで自前で書いてみた。たとえばこんな配列を渡すと、 $a = array( 'hoge' => 'hogehog', 'huga' => 100, 'moga' => array( 'a' => 'aaa', 'b' => 'bbb', ), ); $b = arr…

base64エンコードされた画像をデコードしてファイルに保存する

MIME::Base64 を使用。 perl v5.12.1 use MIME::Base64; my $image_base64 = '<base64エンコードした画像'>; # base64形式からデコード my $image_bin = decode_base64($image_base64); # ファイルを開く open $fh, '+>', '/path/to/file' or die "Cannot open : $!"; # ファイルをバイ</base64エンコードした画像'>…

Perlの配列とハッシュと参照

さんざんこんがらがったのでメモ。 ()と[]と{}と\の使い方。 配列 my @var = ( 1, 2, 3 ); print @var[1]; # => 2 配列の参照 # 参照なのでスカラーで受ける my $var = [ 1, 2, 3 ]; # 参照なのでアローで読み出す print $var->[1]; # => 2 これはこの書き方…

Test::mysqldのインストールに詰まったら

cpanmでTest::mysqldのインストールをするときに詰まったのでメモ。 mysqldその他がみつからない macportsで入れたmysqlを使っていたが、これだとcpanmからTest::mysqldをインストールするときに(というかテストをするときに)必要なものがいろいろと見つけ…

cpanmでarkをインストールするまで

まっさらな状態からcpanmでarkをインストールするまでの手順。本当になにも入っていない状態から入れたので、これだけやれば充分なはず。※ぼくはまともにperlを触ったことありません。なのでまっさらなのです :-p ※バージョンはこれを書いている時点のもの。…

ファイル名を再帰的に取得する関数

PHP

ディレクトリを再帰的に調べて、ファイルのパスを配列に突っ込んで返す関数。シンボリックリンクなんかでループしたときの時の処理が必要かも。

lessの表示を色づけする

source-hiligihteを使うと、lessの出力結果を色づけできる。http://www.gnu.org/software/src-highlite/ (ドキュメント) http://git.savannah.gnu.org/cgit/src-highlite.git (ソース)boostが必要なので、まずはboostをインストール。http://www.boost.org/m…

鎌倉⇔みなとみらい

日曜、人が集まらなくて海遊びが中止になってしまったので、久しぶりに自転車で遠出してみた。より大きな地図で 自転車 鎌倉⇔みなとみらい 2010/06/20 を表示サイコンが壊れてしまっているので、走行距離はGoogle Maps頼み。往復でだいたい45kmらしい。片道2…

SunSpiderまとめ

1回ずつしか計ってないので、正確ではないです。 Macbook Pro C2D 2.53 GHz上で実行。 ブラウザ 合計タイム SunSpiderリンク Safari 5.0 346.8ms link Opera 10.6 beta 376.8ms link Chrome 6.0.437.3 dev 385.2ms link Opera 10.5 428.4ms link Firefox 3.6…