Search Result: とき

カレントディレクトリがGitリポジトリ下か否か判定する

Git

…y()関数が呼ばれたときに内部でこの判定を行い、正しい.gitディレクトリが見つからなかったときにエラーを吐いて死ぬようになっているようだ。builtin command群ではRUN_SETUPフラグがオプションに定義されているとコマンド本体に処理が渡る前にそれが呼ばれる。 git/git.c at v1.7.9.4 · gitster/git · GitHub ので、commandsで定義されているbuiltin commandたちのうちRUN_SETUPが含まれているもの…

Crypt::SSLeayがLANGの関係でインストールできないとき

…->newが失敗したときのエラーメッセージが日本語で出てきてしまっているかららしい。テスト内部では英語のエラーメッセージが期待されているためコケてしまうようだ。 http://smokycat.info/perl/240 Hinemos 研究日記 » Blog Archive » 【Perl】Crypt::SSLeayをインストールする際に気を付けること ということで $ LANG=C cpanm -v Crypt::SSLeayとすればインストールできるようになるらしい。 …

特定のキーワードをim.kayac.comに通知するZNCモジュール書いた

…自分の名前が呼ばれたときとかにiPhoneに通知してくれるようなやつ、いわゆるhilight2im的なもの。を、ZNCのモジュールとして作った。IRC Bouncer上で動かしておけば、weechatなどのクライアントからの接続が無い状態でも通知してくれるので便利。 リポジトリ https://github.com/sugyan/ZNC-NotifyImkayac 使い方 NotifyImkayac.pmを~/.znc/modules/以下に配置。clientからzncにコマ…

tiarra+stoneを卒業してZNCを使い始めた

IRC

…も繋ぎたい、みたいなとき。それぞれ別ユーザを作る必要がある。別名のユーザを作り、それぞれの接続先で別サーバを指定しておけば良い。IRCクライアント側で各ユーザとして接続する。 weechatの場合、同一host & 同一port でもserverをそれぞれ別名で登録しておくことで区別できるので、 /server add freenode 127.0.0.1/16667 -password=<username1>:<password1> /server add perl 127…

gitoliteでプライベートリポジトリ作成

Git

…を持ってないし何かのときのために設定しておくか、と思ってさくらVPSのサーバにgitoliteを入れてみた。 Hosting Git Repositories 以下、手順メモ。 gitoliteのインストール yumでサクっと。 sugyan@remote $ sudo yum install gitolite gitユーザを作成 専用ユーザを作ってそいつの$HOME以下でリポジトリ管理するようにした方がなにかとラクなので sugyan@remote $ sudo usera…

IRC Bouncers(IRC Proxy)あれこれ

IRC

…ただインストールしたときに/etc/bip.confを参考にすることでそれなりに設定を記述することが出来そうだった。複数ネットワークに接続しようとすると別ユーザとして分けてログインする必要がある。SSLでの接続に対応しているようだったけど自分で試してみた限りでは上手くいかなかった… psyBNC これも相当古いものなのかな…?とてもシンプルなかんじで、make menuconfigコマンドからシンプルな設定GUIツールで設定ができる。でもあまり複雑な設定はできなそう…正直あま…

tmuxを使い始めてみた

…定を変えたい、というときに設定を条件分岐させて…というのが出来ると良いな、と思って調べてみたところif-shellというのが使えるらしい。 if-shell shell-command command [command] (alias: if) Execute the first command if shell-command returns success or the second command otherwise.ただコレは内部で別プロセスでシェル実行して行うからな…

IRCの通知をirssiプラグインでGrowlかim.kayac.comに送る

… すぎゃーんメモ ので、この設定を利用してirssiプラグインを ローカルマシンからサーバに繋がっているとき(GNTPで通知できるとき)はGrowlで通知 繋がっていない場合は今まで通りim.kayac.comに通知 という方式で通知するようにしてみた。 irssi notification plugin · GitHubGrowl通知もStickyにしておいているので簡単に見逃すことは無い筈だし、繋いでるときにまでいちいち通知がiPhoneに流たりせずに済んで捗る。と思う。

ターミナル上のEmacsで本来使えない"Ctrlキー+何か"を使う方法

…ることで"C-;"のときにC-x @ c ;というキー操作を送ることができる。 ので、こう設定しておくと、iTerm2上で動くEmacsにもを押すだけでその操作を送ることができる。 ちゃんとEmacsで受け取れてますね。上記記事によるとその他のキーストロークも方法次第でどうにか送ることができるようで。 ただ、この設定は"iTerm2での"設定なので、Emacsを起動していない状態のシェルなどでもを押した際にC-x @ c ;が送られることになってしまう。意図しない動作にならな…

Flymake時にPERL5LIBを通すシンプルな方法

…ルとかを編集しているときにlibにパスが通ってないと依存モジュールをロードできなくてflymakeがエラーを返してしまうとき。 そのpmファイルの上位にあるlibディレクトリをPERL5LIB環境変数に加えることでこれを防げる、ということでset-perl5lib.elを使っている人が多い、ような気がする。 /lang/elisp/set-perl5lib/set-perl5lib.el – CodeRepos::Share – Trac oinume journal Ema…

GNTPとRemoteForwardを使ってGrowl 1.3にリモートマシンから通知する

…、ローカルで実行したときと同じように自分のローカルマシンのGrowlに通知が来るようになる。 つまり、sshログインする際にRemoteForward指定してログインするようにしていれば、どんなリモートマシンからでも「GNTPで127.0.0.1:23053にメッセージ送る」ことさえ出来ればローカルマシンのGrowlに通知が可能となる。上記の例だとPerlでGNTPモジュールが無いといけないけど、最小限の処理だけまとめた一つのスクリプトにするとか無理矢理詰め込んだワンライナー…

Developers Summit 2012: 2日目

…ころを目指す 外れたときにどうする、を考えよう 仕様変更は誰が悪い? お客様? マネージャー? エンジニア? そもそも誰も悪くない、そんなことを考えない アジャイル関連書籍 4冊 飲み会 終了後、@t_wadaさんを囲んで@Jxck_さん、@bad_at_mathさん、@vanx2さんたちとしゃぶしゃぶ 色んな人たちが後から合流して色々お話できて楽しかった 感想 近い分野のヒトからあまり関連のない分野のヒトまで色んな人のお話、考えていること、熱意、などを聴けた。すべての内容が…

Developers Summit 2012: 1日目

…d/removeするときの判断基準となる プロダクトアウトとマーケットイン 「良いだろうと思うものを世に出す」「顧客の要望から必要なものを作る」 今日のユーザのための機能 明日のユーザのための機能 前者に囚われすぎず 後者をちゃんと考えて イノベーションのジレンマ 思考実験・科学反応 【16-C-2】大規模化するピグライフを支えるインフラ 〜MongoDBとChefについて〜 (@kuwa_twさん、@namikawaさん) MongoDB 開発スピード Node.jsとの相…

ddskk 14.4

… すぎゃーんメモ のときに導入していたけど、改めて入れてみようと思ってみてみたら、DDSKK 14.2以降からはAPELなどを入れる必要がなくなったそうで。 http://openlab.ring.gr.jp/skk/skk/main/READMEs/README.MacOSX.ja $ curl -O http://openlab.ring.gr.jp/skk/maintrunk/ddskk-14.4.tar.gz $ tar zxvf ddskk-14.4.tar.gz …

anything-c-yasnippetを使わずにyasnippetをanythingインタフェースで選択する

…nippetを呼んだときはコレが呼ばれるはず。なので、このprompt-functionsを自分で定義してやれば、anythingインタフェースを簡単に作ることができる。 (defun my-yas/prompt (prompt choices &optional display-fn) (let* ((names (loop for choice in choices collect (or (and display-fn (funcall display-fn choic…

expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ

…使えない。 こういうときにどうすれば良いか。近い話が先日、nodejs_jpのMLで議論されていた。 Google グループ 自分で読んで理解した範囲で、幾つかの方法を検証してメリットとデメリットを考えてみた。自分だったらこうするかな、という形で書いたのでMLの内容とは違うアプローチだったりするけど。 global変数にする app.setを使ってmodule.parentから参照する クロージャを使う 共有オブジェクトとして使うmoduleを作る 1. global変数にす…

起動時にはanythingを読み込まないようにして起動速度を上げる

…で「あるキーを押したときにanything-configをrequireする」ようにしておくことで、これを押したときに初めてanythingが読み込まれて、そしてeval-after-loadに登録していた諸設定も評価されることになる。その後、トリガーとなったキーをanything-command-mapにセット。 挙動としては起動時にはanything系のコマンドは一切使えないが、初めてあるキー(この場合だと"C-z")を押したときにloadと設定が行われ、それ以降は普通に…

js2-modeでエラー箇所を行き来する

…くなってくる。そんなときのためにjs2-next-errorというコマンドが用意されていて、これを呼ぶことでカーソル位置より後ろの直近のエラーにジャンプしてくれる。デフォルトではC-c C-`にバインディングされている。 ただコレは下へ下へと辿っていくだけで、上の行の方に遡っていくことが出来ない。末尾まで辿れば一周して先頭に戻ってくるのだけど、普通にカーソル位置直前のエラーとかにジャンプしたい。 js2-next-errorの定義は以下のようになっていて、 (defun js…

css-modeでのauto-completeとオムニ補完

…Sファイルを編集するとき用のauto-completeの設定はauto-complete-configに含まれていて、 (add-hook 'css-mode-hook 'ac-css-mode-setup) と書いておくと、ac-source-css-propertyというものがcss-modeでのac-sourcesに含まれるようになる。 …で、コイツがあればCSS書くときの諸々が補完されるようになる、、と思っていたら自分の思っていたのと挙動が違っていて、調べてみたらac…

find-file-visit-truenameを設定する

…ルを選択しようとしたときに、せっかくファイル名で絞れるのに同じものを指すパスが2つ候補に残ったりするとちょっとイラっとする。ので、解決策を探していたところ、どうやらfind-file-visit-truenameを設定しておくと良いっぽい。 (setq-default find-file-visit-truename t) こうしておくと、ファイルを開く際に"必ず"シンボリックリンクをすべて辿って解決した(つまりルートからそのファイルまで通るディレクトリにシンボリックリンクを…

anythingでのpatternにカーソル位置の単語を使う

…にある単語を使いたいときがあったりする。例えばanything-occurでバッファ内にある同じ変数名を探すときなど。普通にM-x anything-occurを開くとminibufferには"pattern: "と出るだけでそこから自分で入力して絞り込みをしていかないといけない。初期値として何かを設定した状態でanythingを開くには、anything関数を呼び出す際に:inputKeywordsを指定してやることで実現出来るらしいけど、そうするとそれを呼び出すanyth…

エディタの設定を見直し、環境を整える理由

…新しい言語を学習するとき、新しいプロジェクトのソースコードを読み始めるとき、などにもエディタをちゃんと使えるのとメモ帳のようなものしか使えないのではだいぶ違うはず。 シンタックスハイライトでコードが読みやすく 複数のファイルを同時に開いていてもすぐに切り替えられる 関数定義などへジャンプできる 関数名、変数名でのプロジェクト全体での検索、移動ができる すぐにドキュメントを引いて参照できる もちろん自分でコードを書く場合も 自動でシンタックスチェックされる 自動インデント、自動…

defcustomで定義された変数はcustom-set-variablesで変更すべき?

…使って変数を設定したときに生成される (require 'anything-config) (custom-set-variables '(anything-command-map-prefix-key "C-z")) というのを設定しておくと、ちゃんと C-z anything-command-mapと設定される。custom-set-variablesの場合は設定後でもすべて上書きしてくれる、ということなのかな…? 変数の設定は基本的にcustom-set-variabl…

autoloadとセットでeval-after-loadを使うのが良い?

…ァイルがロードされたときに評価される、とのことなので (autoload 'cperl-mode "cperl-mode" nil t) (eval-after-load "cperl-mode" '(progn (setq cperl-indent-level 4))) (defalias 'perl-mode 'cperl-mode) というように設定しておくと、 起動時にはautoloadでcperl-modeを登録するだけ 初めて.plファイルを開いたときにcperl…

起動時に必ず読み込む必要ない関数ならautoloadを使う

…、最初に呼び出されたときに初めて実際に定義を読み込んで実行する、ということのようで 起動速度を早めることができそう。 下記記事でも紹介されています。 ひとつの .emacs で設定を、、その2。 - 日々、とんは語る。 ただautoload-if-foundというのは自分の環境では使えなかった。消えちゃったのかな? つまり、起動時に読み込むファイルで (require 'js2-mode) (add-to-list 'auto-mode-alist '("\\.js$" . …

2011年を振り返る。そして2012年に向けて

…ランスはちゃんと考えないとね… 2012年の目標 去年たてた目標はやっぱり達成できていないので(特に3番目)、引き続き目指しつつも、 「変化する」 ということを意識しようと思います。1年後に振り返ったときに「アイツ去年と比べて随分変わったな」と思ってもらえるように(出来るだけ良い意味で)。 最後に ともあれ、無事にこうして生きて1年を振り返ることができて何よりです。 今年もたくさんの方々にお世話になりました。本当にありがとうございました。来年もどうぞよろしくお願いいたします!

東京Node学園 3時限目 自分メモ

…のものだから 必要なときだけhighlightするよう手を入れたw サーバでhighlightも考えたけど、ここはclientでやるべき、と判断 IO heavy / CPU Heavy の処理のバランスを考えるのが大事 負荷テストの結果 single process + Redis 500 - 1000 connections メモリ食い尽くさずに安定してイケた! Streamについて AdventCalendarに書いたよ http://d.hatena.ne.jp/Jx…

mochaとnodelint

…ire"を受け取ったときに引数で渡されたglobalオブジェクトにそれぞれで使う関数を登録してやっている。事前にこういう処理を挟んでおくことで、testファイルがrequireされても正常に動く、ということらしい。なので、実際に読まれるのはglobalから生えた関数たちなので、 global.describe('Array', function(){ global.describe('#indexOf()', function(){ global.it('should ret…

Hokkaido.pm #6 に参加してきた

…ama.pm #8のときのネタを少し拡げて話してみました。 発表資料はコチラ -> Hokkaido.pm #6 LT Hokkaido.pm #6 LT View more presentations from Yoshihiro Sugi Acme::HeptaSymbolizeであらゆるPerlプログラムを7つの記号で、好きな形で作れるようにします、という話。ホント誰得な内容だけど、意外にコレ作るの大変。。。まだどんな形にでも対応できるレベルじゃないのでもう少し精度を上…

MySQLのコマンドたち

…「やっぱやめた」ってときに、ついCtrl-Cを押してしまってmysql自体を終了させてしまってたりしました。 そんなときは途中でも"\c"って打っておけば良かったんですね。 mysql> select hogefugapiyo\c mysql> 何事も無かったかのように次のプロンプトに流してくれます。 ていうか $ mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connect…