ご無沙汰しております。生きてます。 スクリプトを書いてパスを通しておくと、どこにいても呼び出せるので便利。なんだけど、短いやつなら.zshrcとか.bashrcとかのaliasとして書いておくと管理がラク。自分の.zshrcに書いてあるaliasをいくつか紹介。ちなみに、Mac + zsh環境。 コマンドを短くする系 こういうのは、よくやると思う。 alias r=rails alias g=git 下のように使える。 % r g scaffold happy title:string expire_in:integer % g status よく使うコマンドのタイプ量を減らしておけば、計画停電にも耐えられるかもしれない。 オプションを付けとく系 これもよくあると思う。 alias ls='ls -G' lsって打ったときに、ls -Gの効果が発揮されて、Greatな表示になる。常時付けと
require "English" すれば、 $@ ではなく $ERROR_POSITION と書けるみたいです。Perl にはそういうのがあると、昔、刺身さんから聞いた気がします。Ruby にもあったのかー。いつのまにか Ruby 標準添付ライブラリの地位を奪取していた James Edward Gray II さん作の csv ライブラリを眺めていてみつけました。上級者は使わないというわけでもなく、好みの問題みたいですね。 ▼ ~/.rvm/rubies/ruby-1.9.3-p125-perf/lib/ruby/1.9.1/English.rb # Include the English library file in a Ruby script, and you can # reference the global variables such as \VAR{\$\_} usin
Vim最近Vimwikiを入れて、日記関連もVimwikiに書けるDiaryNote側に移行しようと思っていたが、あまりにも処理が重すぎて断念。@環境はAtomCPUChangeLogで適当に書き連ねる従来式に戻ってきた次第。(QFixHowmは試したことないです)ついでに、VimScript勉強中の身なので適当にでっち上げる。 で日ごとに飛ばせるようにした。 どの箇所でもEnterによって、新規作成と時刻挿入をするようにした。自画自賛だがで結構便利。スクリプト " ChageLog ファイル設定 let g:changelog_timeformat = "%Y-%m-%d (%a)" " フォーマット[YYYY-MM-DD (木)] let g:changelog_username = ":-)" " 記入者名 " ChangeLogファイルを呼び出す nmap :tabnew ~/lo
Vimこの記事は Vim Advent Calendar 2011 : ATND の40日目の記事ですです。VIm Advent Calendarを見て興味持った or 初心者向けの紹介記事になります。undoVimではノーマルモードで u と打つと 元に戻す(undo) が発動し、行き過ぎたundo直す為に Ctrl-R を打つと やり直し(redo) が発動します。 ほとんど使いませんが、undoブランチを辿る様な使いかたも一応あります。undo - vimdoc-jaVim-users.jp - Hack #8: 作業の履歴を辿る 無限undoさて、このundo履歴は、Vimを終了したら消えてしまうというのが昔の仕様でしたが、Vim7,3からはファイルにundo履歴を書き出して、終了をしても再開が可能となりました。※Vimのバージョンは端末上なら以下で詳細に見れます。 $ vim -
最近になって『コブラ』を読み始めてる@masudaKです。4月になり、新卒エンジニアの方も今のうちに何かできないかしらんと思ってる人もいるかもしれないので、こういうのできたほうが楽だよという意味も込めて書いてみます。一日一項目覚えていけばベターぐらいの雰囲気。項目によっては日々心がけたほうがいいこともありますが(ry 1. シェルのショートカットエンジニアであればターミナルを触る機会もあるでしょう。WindowsであればPuttyやTeraterm、minttyなど。Macであればデフォルトのターミナルでもiterm2でもなんでもいいですが、サーバに入ってこういうことしてということもあるかもしれません。そういうときに是非。 Ctrl+a: 先頭に移動 Ctrl+e: 末尾に移動 Ctrl+c: 次の行へ Ctrl+l: 画面クリア矢印キーの連打ではなく、ここに書いたショートカットを使って素
Twitmemo ここ一ヶ月ほど某社でRailsの勉強をさせて頂いていて、なんか作れーって言われたのでWebサービス作ってみました。 Twitterユーザーへフォローした理由やメモを追加できるサービスで、Twitmemoといいます。過度な期待はせず使ってみてください。 作った理由2/4現在、自分のフォローは1030人弱。300人くらいまでは良かったが、さすがにこの人数になると「あれ?こいつフォローしたっけ…」って奴が出てくる。最近はイベントにいってもメールアドレス教えるのがダルくてとりあえずTwitterアカウントを教える、というパターンが多いので、ある程度は把握しとかないとリアルに支障が出るかなーという危機感があった。そういうのを良い感じにメモできるサービスが欲しかったので作った。プラス、自分がどういう評価されてるか知れたらFavstarっぽくてうけるかなーという感じ。 以下、サービスを
redmineをいじれる環境を構築する機会があったので、ついでにこれまで触って来なかったnginxを使って見ることにした。僕は基本的に枯れてきたものしか使わないので、そういうことです。ついでに、unicornというものがPassengerの代わりとして注目されているようだったので、試しに導入してみた。 nginxはともかくunicornが何なのかよくわからなかったので調べてみたところ、次世代RailsサーバーUnicornを使ってみた | TechRachohttp://techracho.bpsinc.jp/bps/2010_07_09/2075がわかりやすかった。 debianのセットアップざっと触って一番高速だった、http://ftp.riken.jp/Linux/debian/debian-cd/6.0.4/amd64/iso-cd/からnetinstイメージを落として、適当にセ
メモ, プログラミングシェルスクリプトからsshで複数のリモートホストにコマンドを投げつける処理を書いてて、いろいろ気がついたことを、あとで自分で調べられるようにメモしておく。 ループからsshでコマンドを投げつけるシェルスクリプトのwhileループ内から、複数のホストへ順番にコマンドを投げつける処理をかいていると、最初のホストにしかコマンドが飛ばない(ループしない)これは、シェルスクリプトのwhileループ自体が、標準入力の読み取りに依存しているのに、sshも標準入力を読み取るのが原因。たとえばこんなループの場合に起きる。 somecommand | while read LINE do ssh user@hostname 'sh yourcommand /dev/null 2>&1 &' done nオプションを付けることで、sshの標準入力が/dev/nullに変わりバックグラウンド
効率的な別解とか存在する問題もあるけど演習によさそうなやつをピックアップ。そのアルゴリズムじゃないと解けないわけではないって問題も多いので注意。(ただ演習するのには都合が良いかなと)※個人的難易度をつけてみました。とても主観的な難易度付けなので気にせず解いてみてください。深さ優先探索・Balls[☆]・Sum of Integers[☆]・The Number of Island[☆]・Block[★]幅優先探索・Mysterious Worm[★]・Cheese[★]・Seven Puzzle[★☆]・Stray Twins[★★]・Deven-Eleven[★★]・Summer of Phyonkichi[★★☆]ワーシャルフロイド法(For 全点対最短路問題)・Traveling Alone: One-way Ticket of Youth[★]・A reward for a Car
フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日本語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し
今回取り上げるテスティングフレームワークライブラリ,アプリケーションの品質を高めるために必要不可欠なテストですが,そのテストを実行するためのツールに関する情報を集めました. phpt PHPUnit SimpleTest lime DocTest PHPSpec phpthttp://qa.php.net/write-test.php PHP 独自のテスト機構 PHP 本体,PEAR のテストで最も良く使われる.テストファイルの拡張子は .phpt TAP*1 対応:PEAR 1.5.0 から対応 pear run-tests コマンドに -t オプションを付けると run-tests.log に TAP フォーマットのログが出力される特徴: pear コマンドが使えればテストを実行できるため,大抵の環境で動かせる GET/POST/Cookie, php.ini 設定, 標準入力をパラメ
(thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu
最近、以下のような記事を不定期に書いているわけですが。 iPhoneアプリを作ってみよう(Xcode4編)第1回:じゃんけんゲーム iPhoneアプリを作ってみよう(Xcode4編)第2回:簡単ブラウザ そういえば、iOSアプリの開発の基礎的なことって、ちゃんと書いてなかったような・・・・?(^^;;; てなことを考えてた時にTwitterでXcode関連の開発本について、「どの本がいいですか?」的な質問を受けたりもしました。 そこで、大型連休にiOSアプリの開発の勉強をしたい!という方もいらっしゃるかもしれないし?、ってことで、iOSアプリ開発の「基礎」について、色々調べてまとめてみました。 iOSアプリ開発に必須なもの まず、開発環境として必要なのが以下。・Mac・XcodeMacは最近のものであれば、どの機種でも問題ありません。ちなみに私はサンタさんに頂いたMacBook Airの1
前回に引き続き、今度はウィジェットの開発をしてみました。 Call Dialko - Android マーケットhttps://market.android.com/details?id=name.shimobayashi.calldialkoクリックするとTwitterでボットがリプライを送ってくるので、薬を飲んだ時間を記録することが出来る、というウィジェットです。僕が元々薬を飲んだかどうかをTwitterでボットを使って管理していたので、それをワンタッチで使えるようにしてみた感じです。 というわけで、宣伝とメモを兼ねてエントリにしておきます。内容としては「vimでAndroidアプリ開発をする方法」「ウィジェット開発と設定画面の作り方」といったところです。 vimでAndroidアプリ開発をする方法大体僕はこんな感じでvimをいじりました。 Shellとvim上で開発する方法(Andr
みなさん最近はいかがお過ごしでしょうか。プログラマーのみなさんならば当然、地震におけるエクストリーム・プログラミングを実践されていることかと思います。僕もその例外ではなく、震災の影響もあって時間的な余裕ができたため、以前から興味を持っていたAndroid開発に本格的に着手し、先日ようやくはじめてのAndroidアプリケーションをマーケットにリリースすることができました。Cook Duet - Android マーケットhttps://market.android.com/details?id=name.shimobayashi.cookduetCookpadのレシピを検索して表示するだけ、という非常に簡単なアプリケーションなのですが、このアプリケーションを開発するだけでもかなりの試行錯誤が必要となりました。つきましては、今ここにCook Duetの開発を通じて蓄積されたバッドノウハウを、簡
以下のQuoraの翻訳です。この質問に対して、秘密主義で知られるGooglerたちが答えているのがいいですね。What are the skill-sets needed to be a Google Engineer? - QuoraGoogleのエンジニアに必要とされるスキルセットは何か? 回答1ほとんどのプログラマはブラックボックスを使用しています。データベースはブラックボックスです:SQLを与えると、答えが返ってきます。コンパイラもまたブラックボックスです:ソースコードを与えると、実行バイナリ(またはエラーメッセージ)が返ってきます。たくさんのプログラマがこれらのブラックボックスを所与のものとして扱うことでハッピーになります。よりよいプログラマは、そのなかで何が起こっているのかを不思議に思い、中身を開けてみてみるのです。私が言いたいのは、Googleのエンジニアに必要とされているス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く