タグ

ブックマーク / ukstudio.jp (17)

  • BDDについて自分なりにまとめてみた - UKSTUDIO

    BDDについて自分なりにまとめてみた Published on 2011-07-02 Updated on 2011-07-02 BDDという言葉も割と人によって指すものが違うようなので「俺の中でのBDDはこうだよ」って内容のエントリ。別に絶対的なものでもないと思うので参考までに 結論から とりあえず結論だけ知りたい人向けに。 BDDにはふたつの種類がある TDDの言い換えのBDD(開発寄り) ATDD(受け入れテスト)でのBDD(ユーザ寄り) 振る舞い BDDは振る舞い駆動開発と言われたりするように、テストという言葉のかわりに振る舞いという言葉を使う。日語的には仕様と言うほうがわかりやすいかもしれない。多分、BDDのイメージが掴みにくいのはこの振る舞いという言葉にあると思う。と言うのも振る舞いと言うのは、人の立場よって変わるからだ。例えば、プログラマがあるクラスを実装している時に言う振

  • pathogen.vimとneocomplcache.vimのスニペット機能

    vimの環境を少し整理した。 pathogen.vimを使うことにした tpope's vim-pathogen at master - GitHub 我らがtpope先生のプラグイン、pathogen.vimを使ってプラグインを管理するようにした。.vim/bundleにあるプラグインに対してruntimepathを追加してくれるので、今まで.vim以下のautoloadやpluginsとかにバラバラになってたプラグインを1つにまとめたまま管理できる。 1つにまとめられると、githubとかにあるプラグインはgitのsubmoduleで扱うことが出来るので便利。特にgithubにあがってるようなプラグインは更新が速いものが多いのでなおさら便利(unite.vimとか)。これで主要なプラグインの更新はgit submodule updateで済む。 ちなみに今のディレクトリ構成はこんな感じ

  • warden+railsでパスワード認証

    今作っているサービスが後々、OAuth、OpenIDあたりにも対応することになるかもしれないので、そのあたり柔軟に対応できそうなwardenを試してみました。 必要なgemはwardenとrails_wardenの2つ。 Userモデルは以下のような感じで。 次にgithubのページを参考にconfig/initializers/warden.rbを追加します。今回はパスワードで認証をしたいのでpasswordのstrategyを自分で追加します。(と言ってもほとんどサンプルと同じ) この後はUser.authenticateの中身をfindbyloginandpasswordとかで実装してもいいのですが、それだとパスワードが平文になってしまうのでrestful_authenticationのコードを少し拝借することにします。 includeいているものがrestful_authentic

  • WEB+DB PRESS Vol.56 コーディングの基礎知識 - ukstudio

    2010年4月24日発売のWEB+DB PRESS Vol.56の特集「コーディングの基礎知識」を書いた。既にAmazonに書影が出てるね。(アフィリエイトリンク)。 内容は、一言で言うと「こうコードを書くと良いですよ」って感じ。技評のページには以下のように書いてある。 仕事でコードを書くようになると,「どんな処理をしているのかがわかりやすい」「保守,機能追加が簡単」など,チームでの作業やコードを長くメンテナンスすることを視野に入れたコーディングが必要になります。社会人一年目の今,コードの書き方や考え方に関して良い習慣を身につけておけば,これからのプログラマ生活のさまざまな局面でその効果を実感することでしょう。特集では,コードを書くうえでの良い習慣の基礎となる部分をていねいに解説します。 http://gihyo.jp/magazine/wdpress/archive/2010/vol5

  • プログラマの報酬について - UKSTUDIO

    プログラマという職業は「ふつう」の人には厳しくないかでは結構な反応もらって少しびっくり。 そこらへんのことをもう少し述べると、僕自身はプログラマが勉強をしないでいい職業とは思っていない。ただ、現状プログラマをやっている人で、普段自分でコードを書かない(能力的に平均以下であろう)人達がかなり多く存在している。個人的にはハッキリ言ってそういう人達は足手纏いだと思っている。なので正直、そういう人達がいなくなればいいとも思っている。 だが、現状そういう人達が存在している以上、「あなたたちはプログラマとして無理なのでやめてください」と言ってしまっていいのか、それはさすがに傲慢じゃないのか、普段からコードを書き能力がある人達と、そうじゃない人達が共存する方法はないのかと思って色々書いたのが先のエントリ。 @ukstudio 別にその仕事を好きでもなくて向いてるでもなくて、ていう人たちに別の仕事やったら

  • プログラマという職業は「ふつう」の人には厳しくないか - ukstudio

    最近、実はプログラマという職業が「ふつう」の人には厳しいなーと思っていたりする。 業務外にコードを書いたり、技術書などを読むというのは素晴らしいことだと思う。けど、会社側がもし「業務時間外にコードを書いたり、技術書を読んだり、勉強会に参加しなさい」と言ったら、それは業務時間外労働と変わらないと思う。個人のたのしみとは別に会社側がそれらを求めたらそれは業務だ。 しかし、僕が思うにはそういう業務時間外に自主的に勉強をしないと、正直いってまともな品質なソフトウェアを作るのは難しい。 例えば良書と言われているものは結構な数あり、ある程度経験がありそれらのを読んだことがある人は「プログラマならこのは読んでおくべき」というをいくつかあげたりもするだろう。けど、それらをいつ読むのか。業務時間内にそれらをじっくり読んだり、実際にコードを書いたりする時間があるところはないだろう。そうなると自分のプライ

  • RailsからOAuthを利用してTwitterにポストする « UK STUDIO

    OAuthの細かい説明は抜き。 まず、OAuthを使うためにはTwitterでアプリケーションの登録が必要なので、http://twitter.com/oauth_clientsで登録をしておいてください。 以下のコードの6行目の部分を取得したConsumer keyとConsumer secretをに置き換えてください。 適当なところからverifyアクションにリダイレクトしてくると、さらにTwitterにリダイレクトします。その後、callbackアクションに戻ってくるので、そこで認証して取得したトークンをUserモデルに保存します。(ここでは自分のサービスにログインしているユーザが認証を行っています。) その後、保存したトークンを使ってTwitterに発言をします。リクエストが受け入れられなかった場合の処理などは省いてます。 Twitterには取得したトークンに有効期限はありませんが

  • UK STUDIO - Re:Ruby初心者の2冊目はなに?

    Ruby初心者の2冊目はなに? Rubyの「最初の二冊目」は何? に答えてみる。 – どんなジレンマ id:hrkt0115311さんに名前を出してもらったことだし、簡単に紹介しておこうと思う。crossreviewに書いてないも多いしね。と言うかしょっぱなからそうなんだけど。 Rubyレシピブック第二版 Rubyレシピブック第二版 id:hrkt0115311さんもすすめてたけど、たのしいRubyを読んだのならこれもオススメ。大体初心者が思うあれがしたい、これがしたいはここを参照すれば載ってると思う。ただ、なにができるかは書いてあるけど、それらで何かを作る方法は書いてないので作りたいものが曖昧だとこれ1冊だとどうしたらいいかわからなくなるかも。 Rubyで作る奇妙なプログラミング言語 Rubyで作る奇妙なプログラミング言語 そこでオススメするのがこの「Rubyで作る奇妙なプログラミン

  • Vim勉強会 in MTLで話してきました

    Vim勉強会 in MTL : ATND 当日のLingrのログと写真と録画 録画はあまり質に期待しないでとのこと(見てない) 便利なVimスクリプトやTips紹介 id:iandeth タイトル通り便利なTipsの紹介。個人的には今回の勉強会に参加してくれた人達を見ると、これぐらいの内容が丁度よかったのかなーって思う。おれのはちょっと調子に乗りすぎたw Vim捌きを上達させる、たったひとつの冴えたやり方至高のエディタには、至高のキーボード id:ursm Vim勉強会なのにVimの話を一切しないという荒技。4万円ぐらいのキーボードの営業してました。フットペダル欲しいです。 Vim Script DE OOP id:ukstudio とりあえず資料 完全に参加者置いてけぼりの発表内容でした。まぁネタだからいいんです。Vim ScriptでOOPはネタです。 Vim Scriptは名前空間と

  • Ruby/Amazonライブラリ

    URL:http://www.caliban.org/ruby/ruby-amazon.shtml ちょっとAWSを使うプログラムを書こうと思ったので、準備としてRuby/Amazonライブラリを試してみた。 Ruby/Amazonのインストール ライブラリのアーカイブをダウンロード アーカイブを解凍 解凍してできたディレクトリにsetup.rbがあるので、それを使用してインストール % ruby setup.rb config % ruby setup.rb setup % ruby setup.rb install ISBN/ASINで検索 ソースコード #! ruby -Ku require ‘amazon/search’ include Amazon::Search DEVTOKEN = ”****” ASSOCIATEID = “ukstudio0c-22” request =

  • 覚えとくと便利かもしれないVimのTips

    適当に思い付いたものを書いてみる。 CTRL-X CTRL-L 行単位での補完。まぁ該当の行でyyしてpして貼り付けでもいいかもしれないけど、移動するの面倒な場合もあるし。 以下、自分のvimrcで「n CTRL-X CTRL-L」した例。 ちなみに俺がこれを一番使うときはRSpecのdescribeの行を補完する時かな。こんな感じ。 describe "hogehoge" do end desCTRL-X CTRL-L ↓ describe "hogehoge" do んで、hでちょこちょこっと”の中に移動してdi”で”の中を削除する感じ。 di" こっそり上で登場してるけど"で囲まれた文字列をd(削除)する。da"だと"も含めて削除。ちなみにこれはテキストオブジェクトっていうVim7からの機能で他にも色々パターンがあって、個人的にVimの機能の中でも特別気に入っている。ちゃんと説明する

  • Re:Ruby初心者の2冊目はなに?

    Ruby初心者の2冊目はなに? Rubyの「最初の二冊目」は何? に答えてみる。 - どんなジレンマ id:hrkt0115311さんに名前を出してもらったことだし、簡単に紹介しておこうと思う。crossreviewに書いてないも多いしね。と言うかしょっぱなからそうなんだけど。 Rubyレシピブック第二版 Rubyレシピブック第二版 id:hrkt0115311さんもすすめてたけど、たのしいRubyを読んだのならこれもオススメ。大体初心者が思うあれがしたい、これがしたいはここを参照すれば載ってると思う。ただ、なにができるかは書いてあるけど、それらで何かを作る方法は書いてないので作りたいものが曖昧だとこれ1冊だとどうしたらいいかわからなくなるかも。 Rubyで作る奇妙なプログラミング言語 Rubyで作る奇妙なプログラミング言語 そこでオススメするのがこの「Rubyで作る奇妙なプログラミング

  • RubyGemsのupdateの方法が変わっていた

    せっかくMerb1.0がでたことだしインストールしてみようかと思ったら、gemを1.3以上いれやがれ!と怒られてしまった。それならアップデートするかーと思い、update —systemをやってsuccessと出たはいいけど、gem -vで1.2と表示される。MacPortsの方でアップデートして、1.3入れても-vは1.2でなんぞーとか思っていたらupdateの方法が変わってたみたい。 以下、update手順。 RubyForgeからrubygems-upate-1.3.1.gemをダウンロード $ sudo gem install rubygems-update-1.3.1.gem update_rubygemsというコマンドができてるので実行。 $ sudo update_rubygems 完了 これで無事、RubyGemsの1.3.1がインストールされた。 $ gem -v 1.3

  • MacでFirefoxのプロファイルの使い分けと別バージョンの同時起動をする

    Firefoxのプロファイルの使い分け(普段用/開発用)と別バージョン(2.0と3.1)の同時起動がしたかったのでちょっと設定してみた。 プロファイルの作成 まずは使い分けるためのプロファイルを作成する。今回作成したのは以下の3つ。 Firefox3.1 Firefox3.1_development Firefox2.0 プロファイルの作成の仕方はTerminalから-Pオプションを付けて、Firefoxを起動させればいい。 $ /Applications/Firefox.app/Contents/MacOS/firefox -P プロファイルマネージャーが開くのでそこで「新しいプロファイルを作成」を選び、わかりやすいように名前をつける。 起動コマンドの作成 プロファイルを指定して起動させるには-P "プロファイル名"のオプションを付ける必要がある。毎回Terminalで指定して起動させる

  • Firefoxα2とβ1preを試してみた

    いつのまにかFirefoxのα2とβ1preがリリースされてたので試してみた。個人的にVimpとかグリモンがないとどうにもならない体になってしまったのでNightly Tester Toolsをインストール。これで3.01で動いていた拡張は大体動く模様。 それとTraceMonkeyを使えるようにするためabout:configを開いて、「jit」で検索。2項目ほどヒットするので、それぞれの値をfalseからtrueに変更する。これでTraceMonkeyはONになるみたい。 使ってみた感想をざっと過剰書きであげてみると レンダリングが結構向上しているのが体感でわかる。 Mac版FirefoxのFLAHの日本語入力問題が解決してるっぽい。 β1preでLDRを開いたらちゃんと表示されなかった。α2は大丈夫。 Ctrl+Tabがかっこいい。でもvimp使ってると関係ない話。 ざっとこんな感じ

  • Amazon商品ページにcrossreviewのレビューを表示するgreasemonkeyスクリプト書いた

    初グリモン。結構適当に書いたけど、とりあえず動くのでよし。codereposに上げたのでいじりたい人はご自由にどうぞー。 amazon_crossreview.user.js 現状、取得できるレビュー数が7件までなのは仕様です。ごめんなさい! サンプル画像

  • iPhone Developer Programに登録しました。

    結論から言うと、まだ実機検証も配布もできてない段階です。そもそもアプリ作れてないですしね。ただ、米国在住者じゃないと登録できないってことはないですね。とりあえず登録はできたっぽいので。 端的に今の状況を説明すると、 iPhone Developer Program(Standardの方、$99)を日のオンラインApple Storeから注文する activate codeがメールで届く We are unable to activate your iPhone Developer Program membership because we are unable to successfully verify your identity. Please contact us and reference Enrollment ID#xxxxxxx for further assistance.

  • 1