スキップしてメイン コンテンツに移動

投稿

12月, 2011の投稿を表示しています

あなたが参加したイベントの出席者はあなたが知らないこんなイベントにすでに参加しようとしている。

(この記事は、 Clojure Advent Calendar 2011  21日目の記事です。) 前々からATNDでAPIが利用できることを知ってましたので、週末起業的な意味で、以下のサービスをHeroku上で作って見ました。当然Clojureです。 サービスの内容はブログのタイトル通りです。 http://find-event.herokuapp.com/users/tnoborio 作ったときに残したメモを頼りに、Herokuでどんな感じで作っていったかをさくさくっと書いていきたいと思います。 まずはLeinigenを作ってディレクトリを作成しますがそこらへんは割愛。 Herokuにアプリケーションを作るときに、--stack cedraを忘れずに作ります。アプリの名前を付けないと、flower-company-hogehoge-xみたいな名前がつくので最初から決めといたほうがいいです。 $ heroku apps:create --stack cedar find-event それ以外にHeroku出動かすからという理由で必要だった作業はしProcfileを作る位でした。 こんな感じです。 web: lein run -m find-event.web あとはgitを使ってガンガンプッシュしていきます。 $ git push heroku master といっても、開発時はEmacs上でslimeつないで検証していく方が早くておすすめです。 プロジェクトを起ち上げた当初はproject.cljに必要なライブラリを追加して行く作業になりますが、clojarsからライブラリの最新バージョンを確認したり、どんなものがあるかというのを調べるのに最近では以下の直接のリポジトリから探すことが多いです。 http://clojars.org/repo/ その結果、project.cljはこんな感じになりました。 (defproject find-event "1.0.0-SNAPSHOT"   :description "FIXME: write description"   :dependencies [[org.clojure/cloj

Clojureの会社を作った話。

(この記事は、 Clojure Advent Calendar 2011 6日目の記事です。) Advent Calendarでお掃除ロボのルンバをClojureで制御するという記事を書こうと思ったんですが、Bluetoothデバイスとの繋ぎこみがうまく行かなかったので、一年前にニャンパスというClojureな会社起業した話を書きます。 Clojureという決してメジャーではない言語を選んだということで、人によってはそんな言語で起業なんてしてしまって問題ないのかと驚かれることもありますので、この機会にまとめときたいと思います。 なぜ、Clojureを選んだのか 改めて考えてみました。ふんだんに主観が入ってますのでこういう見方もあるんだな位に考えてください。 JVMの安心感 - 人によって考え方はいろいろあるでしょうが、僕は結構信頼してます。受託の場合、お客さんも安心です。 Javaのライブラリが使える - 後発のプログラミング言語の場合、いくら生産性高いといっても、ライブラリの充実度も重要です。そうでないと、サービスを公開する前に作らなきゃいけないライブラリを多くて、逆に回り道になってしまいます。その点Clojureの場合Javaで書かれている既存のライブラリが利用できるため安心ですし、Clojure用にJavaライブラリのラッパーが意外と揃っています。 Lisp - いろいろと言語を触って来ましたが、Lispに落ち着きました。書いてて楽しいです。マクロの魅力もあります。 Clojureを選んだといっても、サーバサイドに限った話で、iOS / Androidアプリを開発する場合にはネイティブな言語を使います。(無理にClojureでAndroidアプリを書くことはしてません。) Q&A このブログを書いているとき隣の席に、フリーランスエンジニア 桃太郎君 がいました。業務委託で仕事を頼んでいる普段Ruby使いの彼に、唐突にClojureの会社なんだけど何か質問ある?と聞いて出してもらった質問に対して、解答をまとめてみました。 - Clojureの情報、ドキュメントは揃っているのか。 日本語だとあんまりないです。みんなで頑張って書いていくしかないですね。ただ、PC買うときに回りにWindowsの人が多いのか、Ma