CoffeeScript is a language building an abstraction over JavaScript (as the similar name suggests.) It is an abstraction over the syntax of JavaScript, not over its concepts: the language is still based on functions as objects which may bind to other objects, and prototypical inheritance. CoffeeScript favors the best practices of JavaScript by transforming abstractions you would have written anyway
きちんと理解してなかったのでいろんなページを参考にいじくりまわしてみた。 そのメモ。 モックとはスタブとは Martin Fowler’s Bliki in Japanese – TestDoubleの定義がわかりやすいので引用。 スタブは、テスト時の呼び出しに対して、あらかじめ用意された結果を返す。 通常、テスト用にプログラムされたところ以外には応答しない。 スタブは呼び出しの情報を記録することもある。 例えば、Eメールゲートウェイスタブは「送られた」メッセージを記録するような場合だ。 単に「送られた」メールの数を記録する場合もあるだろう。 スタブによってデータベース接続やネットワークIOなどの要素をテストから分離することができる。 また時間のかかる処理をスタブで置き換えることによってテスト時間を短縮することにも使われる。 モックは、エクスペクテーションが事前にプログラムされたものである
* RSpecの構文 見本は、これ http://github.com/mitim/tddbc-lrucache/blob/master/lru_cache_spec.rb ** 慣習 RSpec用のテストとして書くテストコードは、[テスト対象のファイル]_spec.rb という名前でつくる。 ** なにはなくともrequire require 'lru_cache' テスト対象のファイルを読み込ませる。 ちなみに、RSpecの何かをrequireする必要なない。 ** まずは基本 describe do end で、一番外側のブロックを記述する。 通常は、次のようにテスト対象のクラスを宣言しておく。 describe LRUCache do end また、一緒に説明を付けることも可能。 describe LRUCache, "を初期化する場合" do end もちろん、説明だけにすること
Mac Book air さいこう!という世間の流れは気にせず書いてみる。 DVDいちいち入れ替えるの超めんどくせー!と思っていたので Mac miniで色々やってみたよの話。 ■なんでMac miniなの? DVDはデータ化してHDDに格納してMacで再生したら便利そう。 自宅の液晶テレビにHDMIで接続したら綺麗だし、Appleのワイヤレスの キーボードとトラックパッドで操作したら何かカッコイイから。というわけ。 キーボード300g トラックパッド140g の計440gで、Mac Book airより軽いし!!! ■必要なものを購入 ・本体を買うにあたり、メモリ8GBにしたら快適そうだなーと思ってtwitterで 呟いてみたら丁度手放そうとしている方がいて安く譲ってもらえた。 新品同然でなんと8万円。ラッキー! ・ワイヤレスのキーボードとトラックパッドをAppleのサイトで買ったら、同
久々に直撃コース & 巨大台風とのことで。なんかこれだけでかいのは10年以上前の台風19号くらいしか記憶にありません。まぁそれ以外はほとんど東北までこなかったからですけれども。 とにかく電車に影響が出まくってます。メインで利用してる京葉線が5割減で運行しますとか言っていますので、明日動いているのに乗れたとしてどれだけ人が詰まっているか考えたくないです。 まぁそんな憂鬱になりそうな明日は明日の風が吹くとして。 portageで、tmuxが1.0にバージョンアップしていたので適用してみたところ、0.9よりずっと進化していました。まぁマルチバイトがところどころ消えたりするのは直ってないんですが。 screenでは余裕で出来た、 ・shellでのコマンド結果をバッファに取り込める。 ・show-bufferでバッファの内容を取得できる。 ・viewモード(でいいんかな?)で検索が可能に & キーバ
マルチモニタで開発してる場合、それぞれのモニタ毎に端末アプリをたちあげることになりますが、端末ウィンドウ間でコピペをしたいときにマウスを使用せざるをえなくなってめんどうです。 emacsをサーバモードで起動すれば大抵の場合は事足りるのですが、いつもemacsだけで完結できるとは限りません。 というわけでtmuxとかscreenをつかってコピペするわけですが、tmuxのセッションをまたいでバッファを共有する方法をしらなかったのでメモ。manをみたところ、セッションをまたいでバッファをやりとりするのに以下コマンドが使えそうです。copy-buffer [-a src-index] [-b dst-index] [-s src-session] [-t dst-session] (alias: copyb) Copy a session paste buffer to
「 filmlang.org 」のページは、ドメインが無効な状態です。 ウェブサイト管理者の方はこちらから変更・更新を行ってください。 「 filmlang.org 」is Expired or Suspended. The WHOIS is here.
tmux を使う screen を使っていたのだが、tmuxに乗り換えた。 以下では prefix キーはデフォルトの「C-b」としてある。 設定 設定ファイルのパス ~/.tmux.conf に設定を書きこむ。 以下で set-option のところは .tmux.conf に書きこめば良い。 コマンドの一覧を見る 端末で tmux list-commands とする。 キーバインドの一覧を見る 端末で tmux list-keys とコマンドを実行するか、 C-b ? とする。 プレフィックスキーを変える プレフィックスキーとして「C-]」を使う。 set-option -g prefix C-] bind-key C-] send-prefix unbind-key C-b ウィンドウの最初の番号を指定する キーボードのキーの位置に合わせて 1 から始めたほうが便利だと思う。 set
Patterns for Asynchronous Programming With Promises Promises are currently the best tool we have for asynchronous programming and they appear to be our best hope for the forseeable future, even if they’ll be hiding behind generators or async functions. For now, we’ll need to use promises directly, so we should learn some good techniques for using them right now, especially when dealing with asynch
「端末の中で仮想端末を管理する tmux(GNU screenの代替)について(ステータス行のカスタマイズと特殊な記法について)」に続く内容として、ここでは、これまでのtmuxについての設定に関するメモ(最後の関連記事を参照)を踏まえた上でのtmuxの設定例を扱う。 この中ではウィンドウごとに固有の設定は行っていないが、「端末の中で仮想端末を管理する tmux(GNU screenの代替)について(カスタマイズ時の記述と幾つかの設定項目について)」に書いている通りにセッションを作りウィンドウを作成していく流れの後でset-window-optionを記述したり、split-windowで分割をしたりselect-layoutでレイアウトを指定したりといった流れを記述するなどによって、それぞれの使い方に応じた理想の「初期状態」が作れるようになっている。 以下の内容は設定「例」なので、好みに応
「端末の中で仮想端末を管理する tmux(GNU screenの代替)について(ペイン分割とその管理)」に続く内容として、ここから数回に分けてtmuxのカスタマイズに関してを扱う(次の内容までに日付は空ける)が、ここでは設定の記述の形と幾つかの設定項目についてを扱う。 設定ファイル キー割り当て カスタマイズ値の設定 起動時のセッション/ウィンドウ設定 UTF-8サポート ウィンドウ番号の開始値 Prefixキーの割り当て変更 コピペのバッファ数と後方スクロール行数上限 マウスクリックでペイン選択 設定ファイル一般ユーザが設定を記述するファイルは[ホームディレクトリ]/.tmux.confとなる。 システム全体で有効な設定ファイルについては/etc/tmux.confがあればこれが用いられる。 キー割り当て設定ファイル内で入力するキー操作を表現する表記は C-b: Ctrl+b*1 M:
これはターミナルマルチプレクサAdvent Calendarの21日目です。20日目はid:tmatsuuの最近のbyobuの動向についてでした。つまり連チャンです。 screenやtmuxには、いわゆるクリックボードに相当するバッファという機能があります。通常はscreenやtmuxの中で完結する機能ですが、それぞれ読み込み/書き出しができるので、XのクリップボードやOS Xのペーストボードと連携することが可能です。 ここでは、各環境とtmuxを連携する方法を紹介します。 LinuxなどのX環境のクリップボードとtmuxを連携する方法 xclipコマンドを使うことで簡単に連携することができます。 bind-key C-c run "tmux save-buffer - | xcopy -i" bind-key C-v run "xcopy -o | tmux load-buffer -
ターミナルマルチプレクサ Advent Calendar 2011の17日目です。 16日目はglidenoteさんのtmuxの外観をカスタムして、運用と開発を加速させるでした。 さてみなさん、screenとtmuxどっちを使っていますか? screenとtmuxどっちが好きですか? 僕はtmuxを使っていますが、screenが好きになりそうです。 11日目のyoshikawさんのlayoutに関しる記事をみて、tmuxのwindow-paneよりもlayoutの方が便利そうだなぁと思ってしまいました>< でもtmuxの見た目(?)の方が好きなのでやっぱりtmuxを使うことにします>< さて、前置きはこれぐらいにして本題へ。 ここからの話はtmux前提ですが、tmuxでできることは大概screenでもできるはずなので適宜おきかえていただけると。 (最近screen使ってないのでどうか分かり
5〜6回は似たようなことで毎回数時間費やしている。とり頭過ぎる。メモしないとダメだ!。 サーバー側環境 Debian GNU/Linux wheezy インストール & 設定 % sudo aptitude install mysql-serverログは /var/log/syslog に吐き出される。設定ファイルは/etc/mysql/my.cnf。データベースは /var/lib/mysql 以下。 外部からアクセスできるようにする。/etc/myusql/my.cnfのbind-addressを以下のようにする。 bind-address = 0.0.0.0/etc/hosts.allowにてmysqldをアクセスできるようにする。仮に hogehoge.co.jp をアクセス可能とする。 mysqld: hogehoge.co.jp LOCALmysqldを立ち上げ直す。 % su
書式 tmux [-28dlqUuv] [-f file] [-L socket-name] [-S socket-path] [command [flags]] 説明 tmux は端末を多重化し、 1 つのスクリーンから複数の端末を作成、アクセス、制御することを可能にします。 tmux をスクリーンからデタッチしバックグランドで動作させておいて、 その後再度アタッチすることができます。 tmux は起動されると 1 つのウィンドウを持つ新しい セッションを作成しスクリーンに表示します。 スクリーンの一番下にあるステータスラインはカレントセッションの情報を表示し、 対話型コマンドの入力に使用されます。 セッションとは tmux に管理される疑似端末の集合の 1 つです。 各セッションはリンクする 1 つ以上のウィンドウを持ちます。 ウィンドウはスクリーン全体を占有し、 各々が独立した疑似端
よくありそうなのに意外に見つからなかったのでエントリー。 調子にのって.xxrcをカスタマイズしてたらログインできなくなっちゃった\(^o^)/ なーんてこと一回はありますよね? そんなときは停止したい.xxrcを ssh server mv /path/to/.xxxrc /path/to/.xxrc.bak で名称変更して回避できます。scpで上書くとかでも可。 コマンド指定したときはデフォルトシェル起動しないで動作するようなのでそれを利用。 他のアカウント知ってたらsuを使うとか、自分のマシンなら再起動してシングルユーザモードとか色々回避策はあるんですが、最近sshのみで入ってるマシンでやっちゃって上記しか使えませんでした。 最初にありそうだと思った、sshで入るんだけどrcを実行しないとか、シェルを変更するとかは見つからなかったのであまりスマートでは無いですが、まあ実用的には十分だ
holly's wiki hollyさんのwiki トップページページ一覧メンバー掲示板編集 tmuxねた 最終更新: kurt0027 2011年04月20日(水) 10:07:57履歴 Tweet 以前blogにまとめてたが、こっちのほうがよく見るのでまとめなおすことにした。詳細はhttp://bytebucket.org/ns9tks/tmux-ja/wiki/tmux-ja.... インストール グローバルな設定ファイルを置く場合は/etc/tmux.confに書いておけばいいみたい yum -y remove screen yum -y --enablerepo=rpmforge install tmux cat <<EOL >~/.tmux.conf set-window-option -g utf8 on set-window-option -g mode-keys vi s
このドキュメントの内容は、以下の通りです。 セッションの作成 セッションのデタッチ セッションの確認 セッションをアタッチする アタッチしているセッションを調べる セッション名のリネーム セッションの削除 すべてのセッションを終了させる tmux入門 関連ページ GNU Screenやtmux は、Unixで複数のターミナルを扱うためのアプリケーションです。 GNU Screenのセッションを管理する screenie [2009-06-14-1] で紹介しましたが、 screen は、 screen -ls, screen -rd sessionname などで、セッションの確認や Screen のアタッチができます。 セッションの作成 セッションは、 tmux コマンドを実行するだけで作成されます。 自動的にセッション名として、数字が割り当てられます。 tmux セッション名をつけるに
プロセスにattachしてトレースする時はstraceコマンドを利用する。 利用フォーマットはこんな感じ。 # strace -p [PID] 複数プロセスを同時にattachし、traceする場合は、 # strace -p [PID] -p [PID] f オプションや -F オプションを付けることで、forkおよびvforkした子プロセスもtraceすることが可能になる。 o [出力ファイル名] でtraceログを記録することもできる。 サンプルとして、以下のコマンドを実行して ls コマンドをstraceで追っかけてみる。 # strace -o result.log ls 結果はこんな感じ。 xecve("/bin/ls", ["ls"], [/* 38 vars */]) = 0 brk(0) = 0x805f000 access("/etc/ld.so.nohwcap", F
Science Fiction: From chronic affliction to full blown mania by Impaktor on May 07, 2024. A programmable programming language – The past as the future by Impaktor on Sep 04, 2023. The Human–Machine interface: Keyboards by Impaktor on Sep 26, 2022. My .emacs by Impaktor on Jun 08, 2021. Conserving memory when reading SQL tables in python pandas by Impaktor on Apr 22, 2021. Python bitarray - 60x spe
sudo su したときの環境変数と、自分の環境変数がどうなってるのか知りたい。 sudo su -l したときの環境変数と sudo su の環境変数がどうなっているのか知りたい。 rvm で環境作ってると、環境変数を意識しておかないとgem install しても入ってなかったり。そんなことが起きて環境ぐちゃぐちゃになるのでちゃんと意識しておきたいと思った。 環境変数をリセットしてsu / sudo するには次の方法がある。 sudoersに env_reset を書く su -l オプションで su する (unixとlinuxで違う?) 調べてみた。 とにかく調べてみるのが一番。 su したときと su -l したときの環境変数 左が su -l 、右が単純なsu su と su -l では環境変数が異なる。うん、そうだよね。 su したときの環境変数 と takuya の環境変数
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く