サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
marutanm.hatenablog.com
プログラミング用フォント Ricty Terminal.app はRictyに。MacVimはひとまずInconsolataにしてみています。 いい感じです。半濁点が大きいのがかわいい。 Rictyの生成には上記リンク先にあるスクリプトを使えばいいのですが、事前にもととなるフォントの導入とFontForgeのインストールが必要となります。 今回、homebrewでFontForgeをインストールしたのですが、ちょっと詰まったのでメモ。 Mac OS 10.7.2で、homebrew v0.8を使っています。 ただ単に $ brew install fontforge としただけでは入りませんでした。 コンパイルにLLVMが使われるようで、インストール時のログを見てみると「警告!LLVM使われてるけど、LLVMじゃあインストールうまくいかないって報告でてるよ」って旨がありました。わかってるな
そういえば僕いま27歳なんですが、ネットの噂によるとなにかを作りはじめる年齢らしいです。 @udzura え? 確か24だったはず。ちなみに私がRuby作りはじめたのは27の時。 2011-11-16 15:38:59 via Plume?? to @udzura @yukihiro_matz ご指摘ありがとうございます、 URL をよく読んだら、元記事が書かれた段階で DHH は27だったということですね 私もいま 27 です 2011-11-16 15:47:01 via web to @yukihiro_matz @udzura じゃあ、なんか作りはじめよう! 2011-11-16 15:55:38 via Plume?? to @udzura @yukihiro_matz は、はい!!!!!! 2011-11-16 15:58:27 via web to @yukihiro_mat
「ruby1.9.2しか使わないでしょ。homebrewで入れるのが一番楽だよ。」 あ、rbenvすらいらないね。 まずは、rbenvを使わない設定しときましょう。とはいえ、いつか使うかもしれないので消しはせず、使わなくするだけの設定にしました。 ~/.zshrcから関連の設定をコメントアウトするだけ。 ruby 1.9.2 インストール % brew info ruby ruby 1.9.2-p290 http://www.ruby-lang.org/en/ Depends on: readline, libyaml /usr/local/Cellar/ruby/1.9.2-p290 (10590 files, 59M) (略) % brew install ruby infoで確認した通り、1.9.2が入ります。 gemいろいろインストール $ gem install bundler
はい、あります → rbenv/completions at master · sstephenson/rbenv · GitHub zsh用はv0.1.2から追加されています。 homebrewでrbenvをインストールした場合、/usr/local/Cellar/rbenv/0.1.2/completions/ あたりにあるかと思います。 使い方 環境変数${fpath} に入っているディレクトリに、上記補完設定ファイルを置いてやります。 たとえばこんな感じ。 % ln -s /usr/local/Cellar/rbenv/0.1.2/completions/rbenv.zsh .zsh/functions/_rbenv すると、こうなります % rbenv [TAB] commands exec help init prefix rehash set-default set-loca
herokuのドキュメントでは、こんなのが紹介されています。 Consuming the Twitter Streaming API twitter-stream.gem を使いましょう。あのearthquake でも使われているようです。 サンプルコードから、認証にOAuthを使うようにして、tweetを受けとるたびにPusherに送るとこんな感じです。 marutanm/twitter-stream-pusher · GitHub APIキーなんかは環境変数に入れて、herokuのcedarスタックでworkerプロセスとして動作させることを想定しています。 さて、workerプロセスを動かした場合、webプロセスはどうするか?herokuではプロセスふたつ動かすとお金がかかってしまいます。ひとつの手段としては、webプロセスは別のアプリケーションにするのが考えられますね。 worke
特にrvmで困ってたわけではないけれども。試してみたかった。 強いていうなら、rvmとzshが仲よくない感じがしていたり、gemset使い分けとかしていたわけでもなく、私の用途にはオーバースペックな感はあった。 参考 うぶ毛プリン: rvmからrbenvに移行した rbenv, TextMateで開発環境をシンプルにしてみた - 223 Software 手順については、上記リンクまま。とくに問題なく入りました。 これに前後して、powをhomebrewでインストールしたらnodeのコンパイルがやたら長かったり、powderと仲悪い感じになってしまったりして困った。 rbenvでは、gem-install後にはrbenv-rehashが必要な点だけ注意。これちょっと面倒。 ちゃんと設定してるのにそれでもpowがうまく動かないよーってときはリブートすればどうにかなる。きっと。 もしもやっぱり
http://twitter.com/DayGomi インスパイアードバイ 調布市第3地区のゴミの日情報を教えてくれるtwitter-bot作った - Yamagutsu Shoesを旅する このエントリ、もう2年近くも前になるのですね。 Herokuを使って1日1回名言をツイートするTwitter Botの作り方 - アインシュタインの電話番号☎ という素晴らしい前例があるので、Botを動作させること自体は難しいことではありませんよね。とりあえずは動いているようです。 せっかくですので、Twitterに定期ポストさせるためにはHerokuのcronではなく、cedar stackのプロセスモデルを利用してclockプロセスを動作させています。そのあたりについては、こちらのエントリをご参照ください → Herokuでcron?もう古いかも、それ - Meltdown Countdown ソ
hub · the command-line wrapper for git gitコマンドだと、ローカルのgitをごにょごにょするに限られる。でも、gitユーザならgithub使ってるでしょ。github上でのリポジトリの作成もコマンドラインからやりたくなるでしょ。 Macには公式GUIクライアントがあって、そこからgithubコマンドを入れられたりもします。しかし、そのコマンドはGUIクライアントを起動するためのもの。GUIクライアントがあっても悪くないけど、CUIでできることをわざわざGUIでする必要もないですね。 hub インストール $ brew install hub その他のインストール方法は冒頭のリンク先を参照ください。 リモートリポジトリの作成 $ hub create コマンドひとつでgithub上にリポジトリを作ってくれる。もちろん、remotes/orignも設定し
結論から言いますと、今日現在ではまだ古くありません。まだアドオンもありますし。日時cron、無料です。 でもCedar Stackがデフォルトになる頃には過去の遺物扱いになるかもしれません。なぜならば、Cedar StackからProcess modelが導入されました。 ProcfileでClockwork gemをつかったclockプロセスを指定してやることにより、cronを使わずともタスクスケジューリングできてしまうのです。 すでにherokuを使ったことがある人でしたら「clockプロセス動かすって、dyno増やすの?料金かからないの?」と思うかもしれません。実は2011年6月1日からherokuの料金体系が変わっていて、750 dyno-hoursまで無料で使えるようになっています。1dyno(=1プロセス)が1ヶ月で672-744 dyno-hoursとなるので、1dyno/月
えんじにあ〜たるもの、自分が何をしているのか何をできるのか発信するのは大切なことです。 最後のRubyKaigiに参加し、いろいろなお話を聞いたのですが発表者の皆様の共通しているマインドとして「勉強しよう!発信しよう!」みたいなものを感じました。それからもちろん、楽しむことも大切ですね。 となると、Githubのアカウントは持っているべき。書いたコードを公開しよう。それが自己紹介の代わりともなっていくことでしょう。 それから、ネット上での各種活動もまとめておきたいですよね。そういったツールはすでに色々ありますが、もう少し技術寄りなまとめ静的ページを持っていてもいいかもしれません。かねてからSinatraでつくってherokuに置こうかなと思っていたのですが、もっと簡単な方法があります。それが、Github Pages なんですよ。 Github Pages marutanm/marutan
タイトルはHello Worldのノリで。 ここ数日、HerokuでNode.jsとExpressを使ってHello worldする - アインシュタインの電話番号☎ あたりの一連のエントリを参考にしつつNode.jsをさわってみています。 Padrino、Haml、Scss、Shouldaあたり少しずつわかってきたところだったのですが、別のフレームワークなり言語なりを使うと色々な発見があっていいですね。理解をふかめるために、NodeまわりとRubyまわりで何が何に対応するのかを LL周辺を理解するための対応表 - 帰ってきた4.5帖の生活 を参考にまとめておきます。 Javascript と Ruby まずは、上記エントリからの抜粋みたいな感じで 分類 Javascript Ruby WebアプリFW Express Sinatra 言語バージョン管理 nave, nvm rvm モジュ
今こそ!git の branch を vim のステータスラインに表示!!するとき!!! - Meltdown Countdown で %{fugitive#statusline()} について書きました。 VundleでVundleをBundleしてみる - Meltdown Countdown でVundleについて書きました。 ちなみに、Vundle自体をBundleするという方針は開発者さまもその後に推薦されてます → vundle is a bundle too | gmarik.info で、同開発者様のエントリでこんなものがありました。 chicken or egg dilemma | gmarik.info Vundleでいれたプラグインに依存した書き方を.vimrcにしていると、新環境で:BundleInstallできなくて困るとのこと。たとえば、statuslineに%
Homebrewにはinfoサブコマンドがあるのですが、パッケージのバージョンやコマンドのパスを確認できる程度の認識でした。ですが、パッケージによってはもっと役立つ情報が記載されていたりもします。 gitにはサブコマンドを補完するシェルが付属します。プロンプトにgitブランチの状態を表示してくれたりします。最近のバージョンではZshにも対応してたり。 そのあたりの設定がid:ruedapさんのエントリで紹介されています。 まずはgit-completion.bashをインストールする。デフォルトで入ってるかもしれないと前述の記事では書かれていたけど、自分の環境(スノーレパードにHomebrewでGitをインストールした状態)では入ってなかった。 http://d.hatena.ne.jp/ruedap/20110706/mac_terminal_git_branch_name id:rue
使っていたgitがいつのまにか古いやつになってた。 % git --version git version 1.7.3.4 おかしい、古い。 % which git /usr/bin/git おかしい、パス違う。gitはhomebrewで入れていて、/usr/local/bin にあるはず。 % /usr/local/bin/git --version git version 1.7.5.4 ですよねー。いつの間にか少し古いgitを使ってしまっていたよう。 調べてみると、Xcode4を入れたタイミングで /usr/bin/git が入ってしまったらしい。 Does Xcode 4 install git? - Stack Overflow 安心と信頼のstackoverflowにあるように /etc/paths を書き換えて対応。 % which git /usr/local/bin/gi
当然、ターミナルのプロンプトには表示させてますよね?zshならvcs_infoとか使えばいいですし。では、Vimはどうですか?各種git操作はVimからしないって?甘い、甘い。 git の branch を vim のステータスラインに表示 - #生存戦略 、それは - subtech 2008年3月のエントリですが、大変そうですね。でも今なら簡単です!fugitive を使えばいいんです!! ギットギトなVimmerにはすっかりお馴染みかもしれないfugitiveです。それ自体は VimmerなGit使いはfugitive.vimを今すぐ入れたほうがいい - SELECT * FROM life; や Vim-users.jp - Hack #219: Gitを使う2 – Fugitive.vim あたりが詳しいです。 :Gstatusからのstage/unstageが便利すぎますね!
QuaterClockという革命的アプリを試しています URL 2011-06-30 12:27:52 via img.ly 上記ツイートURLの写真で全てを理解してもらえると思います。 アーリーアダプターな皆様につきましては、初代iPhone、3G、3G S、4、4ホワイトとすでに4台どころではなくiPhoneをお持ちかと思われます。ぜひお試しくださいませ。23:59 → 00:00 へのアニメーションはけっこう壮観ですよ。 最近スマートフォンアプリエンジニアの求人がアツいみたいなので、1年くらい前につくってもうちょっとクオリティを高めたいと思いつつ放置していたのを、ふとビルドしてAppStoreにだしてみました。これと同様に、出来栄えにこだわらなければ、そしてビルドさえすればストアに出せるのが他に何個もあるんですが、それはどうしましょうね。 Objective-CでiPhoneアプリ開
MongoDBです。ORMにMongoidです。 ご存知の通り、スキーマレスなわけですよ。スキーマレスということはあれですよ、ドキュメントによってフィールドがあったりなかったりしちゃうわけです。 通常、Modelの各フィールドに対してはMongoidがうまいことやってくれるアクセサをとおしてやりとりします。 class Person include Mongoid::Document field :name, type: String end 上記のようなドキュメントのフィールドに対して、次のようにアクセスできちゃうのです person.name ところが、例えばfirst_nameがnilの場合、メソッドチェーンなんかしてしまうとmethod_missingとなることがあります。 アプリ側で例外処理をしてもいいのですが、DB側でうまいことやってほしい場合もあります。 そんなとき、Mong
MacでMongoDBをDaemon化して自動起動させる - Meltdown Countdown 以前に、上記エントリを書きましが、Starting and Stopping Mongo - MongoDB という公式のドキュメントにデーモンとして起動するならこうしろというコマンドが書いてました*1。 This will fork the Mongo server and redirect its output to a logfile. As with --dbpath, you must create the log path yourself, Mongo will not create parent directories for you. $ ./mongod --fork --logpath /var/log/mongodb.log --logappend http://ww
うぇっぶえんじにあーならばどこでもコード書きますよね?地下深くをすすむ会社帰りの地下鉄のなか、あるいは昼休みに公園の芝生でくつろぎながらなど。そんなとき、生命線であるインターネットから断絶されてしまうこともあります。すると、残酷にもPowすらも別れを告げてくるのです>< 通常ならばPowによって.devドメインでアクセスできるRackアプリも、Pow本体もローカルで動いています。しかしながら、インターネットが断たれてしまうと、正確にはDNSサーバにアクセスできない状態になるとPowは使えなくなってしまいます。/etc/resolv.conf がなくなり、/etc/resolver/dev を参照しなくなってしまうのです*1。そうなってもRackupなりなんなりしてしまえば、ポートを指定してlocalhostにアクセスすれば開発を続けることはできます。できますが、PowのENVが使えなくなり
Rackアプリ開発するならPowはもう常識だよね〜 - Meltdown Countdown で使いはじめた Pow は、今も順調かつ快適にうごいてくれています。ふと、プロジェクトのその後を追ってみるとなにげにバージョンが上がったりしています。何が変わったのかなーとマニュアルをみててみつけたPowderが便利だったのでご紹介。 Powder rodreegez/powder · GitHub Powを使ううえで必用な、アプリケーションへのシンボリックリンクを作成/削除や、restart.txtの更新、あるいはアプリケーションログのtailといった作業を一発で実行してくれるコマンドがこのPowderなのです。 インストール gemを使います。 gem install powder コマンド ~/.pow ディレクトリへのリンク作成・削除 % powder # 引数なしでカレントディレクトリへ
Rubyのテストフレームワークのひとつ Shoulda を使ってみました。 Railsならば素直にRspecなんでしょうが、せっかくPadrinoを使っているので。Padrino自体もテストにShouldaを採用しているようです。PadrinoといえばRake 0.9.0でテスト動かないよというIssueがrvmのせいだと決めつけてrvm開発者に反論され、うやむやにcloseされているんですがどうなんですかね。ちなみにRakeを0.8.7にバージョンを落としたら問題なくテスト動きました。 Shouldaではcontextという単位でテストを記述していきます。そしてcontextはネスト(入れ子に)できます。仕様を正確に記述するためには、ネストされた各contextがどういう順序で実行されていくのかを把握しく必要があります。そのため、次のようなサンプルを実行してみました。 outer con
Blog Padrino and OmniAuth Overview - Padrino Ruby Web Framework でOmniauthを知り、便利そうだな〜と思ってから早14日。ようやく動かしてみました。 ActiveRecordの代わりにMongodb、ORMにはMongoidを使っています。基本的には上記ブログ記事にしたがって作業をすればいいのですが、Mongoidを使ったことによる変更点がいくつか。 Mongoidつかうための変更 プロジェクト作成 % padrino gen project omniauth --orm mongoid --tiny ORMにMongoidを指定してプロジェクトを作成します。 モデル PadrinoのAuthenticationHelperで使われているfind_by_idを定義しておきます。 コントローラ もちろんDBにアクセスするとこ
Mongoidをつかって色々とためしているわけですが、それを使うにはもちろんMongoDBが起動している必要があります。 % mongod -dbpath /usr/local/var/mongodb/ --logpath /usr/local/var/log/mongodb/mongodb.log & 今までは使う都度、上記のコマンドで起動していました。都度といってもだいたい起動しっぱなしなので、Macを再起動するたびにといった感じ。 ちなみに、HomebrewでインストールしたMongoDBなので、dbpathとlogpathをそれぞれ指定して、Homebrewが使うディレクトリ内で完結するようにしています。どうせ毎回起動するんだからと、そろそろ自動起動するようにしちゃってもいいかなと思い始めました。 以下、MongoDB Startup Item for Mac OS X Snow
すべてはwombatからはじまった Vimを起動すると Cannot find color scheme wombat256 との表示。そんなはずはない。wombat256は入っている。Vundleを使って入れたのだ、間違いない。 .vimrc にだってこう書いてある。 Bundle 'wombat256.vim' ~/.vim/bundle 以下にだってちゃんとwombat256.vimはある。「もしかしたらVundleはカラースキームには使えないのか?」という疑念が頭をよぎる。こうして、wombat256.vim を使えるようにするための旅がはじまった。 Vundle はちゃんと動いているのか Vundle自体は問題なく動作していて、すこぶる快適に使えていた、はずだった。基本的には問題なく動作しているのだけど、まさかカラースキームが読み込まれていなかったなんて。そういえば慣れ親しんだV
Padrino(0.9.27) で、mongoid を使ったプロジェクトを作ったとき、bundle-install でコケる問題。 女子力アップするべく 構想をねっていたものをつくりはじめるべく、Padrinoで新規プロジェクトを作成しました。次にやるべきは、gemのインストールですね。今まではなにも考えずに bundle install していたのですが、id:ruedap さんのところのエントリを思い出しました。 さらに、今だったらまずしないことですが、この記事の中でライブラリのインストールに「bundle install」すると書いています。これでも一応動きはしますが、これではBundlerを使っている意味がほとんどありません。この使い方だと直接システムにライブラリが入っちゃうからで、今なら「bundle install --path vendor/bundle」と書くでしょう。 h
世はプログラミング言語乱立時代。言語間闘争はさながら宗教戦争のごとし。思えば最初にプログラミングをしたのは中学のころ技術の時間でさわったドリトルでした。懐かしい、カメ1すすむ。 さて、多数の言語の中で最も洗練されているのはどれでしょうか。そして、それはどうやって決定されるべきか。一つの基準として、無駄が少ないということが挙げられます。 無駄、それはプログラマがうまくつきあう必要があります。コミットには含まず無視してやる必要があります。それを可能にするために github/gitignore · GitHub というリポジトリがあります。バッドノウハウの集合知とでもいうべき、このリポジトリにある各 .gitignore ファイルの行数が最も少ないものが、現在最もスマートなプログラミング言語だということができるのです!!! 言語ではなくフレームワークも混ざっていたりしますし、複数マッチするよう
以前に書いた10分でできるPadrinoとMongoDBを使ったAPI作成 の補足というわけではないですが、Padrinoをもう少し快適にするコマンドなど。 プロジェクト作成時にbundle install Guides Generators - Padrino Ruby Web Framework にありますが、padrino-generateにはさまざまなオプションがあります。そのなかのbundleを指定すると、プロジェクト作成時にbundle installをしてくれます。 % padrino g project project-name -b gはgenerateサブコマンド、-bはbundleオプション、それぞれのエイリアス。 Deploy to Heroku padrino/padrino-recipes · GitHub を参照するとわかるのですが、padrinoにはplug
2008年に gistコマンドよりちょっと便利なgisty - SWDYH というエントリがあったようです。しかし、gistコマンドだって改良されています。十分に便利になっているのです。 エントリを量産していると、たびたびコードを貼り付けたくなる機会があります。スーパーpre記法も良いのですが、ブラウザ上でエントリを書いているのにコード量が多くなると、スクロール必須になって編集しづらくなりますよね*1。だもんで、場合によってはgistをembedしたほうが良かったりします。たとえばdiffの結果などはgistをembedしたほうが見やすかったりとか。 今まではGist.vimを使ってVimからgistにポスト、それをブラウザから参照してembedしていました。これでも十分に便利だったのですが、複数ファイルを一つのgistにまとめられないのが少し不満だったり。そんなおりにhomebrewのf
% padrino gen project sample-project -e haml -c sass -b 上記のように、hamlとsassを使ったプロジェクトを新規作成したところ、padrino startしても起動しなくなってしまった。以前に同様の手順で作成したプロジェクトは変わらず動作するので、ここ数日で問題が発生したらしい? % cd sample-project/ % padrino start => Located unlocked Gemfile for development /path/to/project/sample-project/lib/sass_init.rb:6:in `require': no such file to load -- sass/plugin/rack (LoadError) # 以下省略 エラーの状況は上記。sassのLoadError
次のページ
このページを最初にブックマークしてみませんか?
『Meltdown Countdown rev.』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く