Fork me on GitHub
#clojure-japan
<
2015-08-19
>
mopemope01:08:46

clojureでwebやる場合、普通にtransitで投げてるな

mopemope01:08:04

cljs-ajaxで

blackenedgold01:08:07

クライアント側で変換する方法があるんですね(今回はただのJSON APIサーバーを作ってるのでその方法は使えませんが。

mopemope01:08:16

APIサーバーならliberator使ったほうが早くない?

blackenedgold01:08:46

そういうのがあるんですね

blackenedgold02:08:25

validationとかが出来るのがcompojureと違うところですか?

mopemope02:08:51

compojureの上に更にのっかってるだけ

mopemope02:08:02

webmachine 実装

mopemope02:08:06

あんまり素のcompojure使わないからなあ

mopemope02:08:14

luminusばっかつかってる

mopemope02:08:43

middleware も metosin/ring-http-response とmetosin/ring-middleware-formatあればほぼ変換自動じゃないかな

koji_yusa14:08:23

web系はまずは他の言語のフレームワークの発想を借りてきたといのもあって、 compojure/ringはもともとrubyのsinatra/rackから持ってきたらしいですが、 compojureは、urlみてapi切り替える、ルーティングしかしてないので、代替が https://github.com/juxt/bidi/ 結構あったりします。

koji_yusa14:08:19

REST(リソース)返すのと、html組み立てて返すので、処理が変わりライブラリの構成も変わるので、発想によって違うセットがありますね。

ayato_p15:08:49

所詮ライブラリ、されどライブラリという感じが強いですよね。

koji_yusa15:08:27

REST系がやはりliberator(compojure-api)が定番にはなってて、mopemopeさんが書いてくれたように erlangのwebmachine風になってます。 http://clojure-liberator.github.io/liberator/

koji_yusa15:08:41

作り始めは穴が結構あって

koji_yusa15:08:33

実用されてるとやっぱり、穴が減ってきたり、 他のフレームワークでやってきた人がこれに対応出来てないとか指摘して、追加してくれてると

koji_yusa15:08:29

結構使いやすいというのはあるかなと。

koji_yusa15:08:58

html用だと、例えば、IEやらで拡張子で推測しないヘッダがとか、日本語でファイル吐き出しだしたときに対応してるとか、キャッシュがどうだとか、httpのリダイレクトのレスポンスコードがうんぬんみたいな

koji_yusa15:08:25

実際サービスしてると、(誰かが先に同じ目にあってて)始めから対応してくれてると

koji_yusa15:08:47

そういう使い込まれたライブラリがあれば、時間取られないとかあるんじゃないかと。

koji_yusa15:08:55

clojureの場合、使い込まれたjavaのライブラリに乗っかってる対処するという方法もありますが。

koji_yusa15:08:17

mopemopeさんの貼ってたmetosinさんのライブラリは、そこそこ使い込んでるから出てきてるなという印象があります。 https://github.com/metosin?tab=repositories スライドとかも参考になるんじゃないかと。 http://www.slideshare.net/mobile/metosin

koji_yusa15:08:39

そういえば、newlelicとか使ってます? awsユーザ向けのアカウント作ると無料サービスの範囲でも導入しやすいですが。 http://newrelic.com/aws とはいっても特別な使い方はしてないんですが、、、 http://aan.io/clojure-newrelic-monitoring/ https://github.com/TheClimateCorporation/clj-newrelic (今日は深夜放送のため待機して暇で、一人で書き込んですいません)