タグ

sbtに関するterazzoのブックマーク (21)

  • sbtのマルチプロジェクト構成によって関心事を分離する - CARTA TECH BLOG

    こんにちは、id:katzchang / @katzchang です。 Zucks Ad Networkでは広告配信に使うWEB APIサーバを Scala で実装しています。当然、ビルドツールには sbt を使っています。で、いい感じに分離して設計するためにマルチプロジェクト構成にしたかったんですが、探し方が悪いのか、なかなか構成例が見つかりません…。そもそも ./build.sbt と ./project/Build.scala の二通りの構成定義があってググってもどっち向けの記述かよくわからなかったり。 ということで、実際に使っている定義を使って紹介しようと思います。 なぜマルチプロジェクト構成か? Zucks Ad Networkでの広告配信サーバは現在、JSONデータを返すWEB APIサーバで動かしています。十分に低レイテンシかつ高スループットか、シンプルに実装しやすいかなどが

    sbtのマルチプロジェクト構成によって関心事を分離する - CARTA TECH BLOG
    terazzo
    terazzo 2015/08/15
  • sbtにおけるKeyとは何か? 〜 有向非巡回グラフ(Directed Acyclic Graph)とsbt - xuwei-k's blog

    sbtを使ったことがある人なら、たいていSettingKeyやTaskKeyという言葉を聞いたことがあるはずです。もし聞いたことがなくても、1度でもsbtを使ったことがあるなら、すでに知らないうちにそれらに触れているはずでしょう。 それらSettingKeyやTaskKeyを含んだsbtの内部DSLについては、その独特さゆえに、好みが分かれることが多いと思います。 そもそも なぜSettingKeyやTaskKeyという概念が必要なのか? それらは一体何なのか? ということに関して、少し別の視点から考察や解説をしてみることによって、sbt自体の理解の手助けとなることを目的として、このエントリを書いてみます。 なんだか、少しばかり堅苦しい始まり(?)にしてみましたが、つまり 「sbtのKeyは有向非巡回グラフにおけるNodeであり、build.sbtは有向非巡回グラフを組み立てるDSLである

    sbtにおけるKeyとは何か? 〜 有向非巡回グラフ(Directed Acyclic Graph)とsbt - xuwei-k's blog
    terazzo
    terazzo 2015/08/05
  • Scala雑記 - TODESKING

    しばらく前ですが、Scalive #1というところでLTしてきました。 Scalaのコンパイルを3倍速くした話 こういう実務寄りのScalaイベントって珍しい気がしますね。なんと発表者が誰もモナドって言わなかった!! その代わりコンパイル速度について言及されまくってましたが……。 3月末からScalaでアドテクやるという会社に転職したのでScalaでアドテクをやってますが、Rubyソシャゲやるのとそれほど感覚は変わらない。どちらも制限時間付きの大量リクエストをさばく必要があるけど、それなりのインフラがあれば、あとはふつうに高品質なコードを書いて粛々とレスポンスを返すのみですよワハハ。なのでハイパフォーマンスまわりのおもしろい話はできません。まあ常識で設計してふつうに開発すればいいんじゃないの。とか言ってると強い人から殴られそうだな…… 最近は技術的負債の返済を主なミッションとしてビルドシ

  • Scalaでクラス図を表示するsbt plugin作った - xuwei-k's blog

    コードのベースは、もう4年くらい前 に書いたやつ持ってきただけ https://github.com/xuwei-k/sbt-class-diagram 使い方は これ http://www.graphviz.org/ をローカルにインストール(内部でこれをコマンドで呼び出すので必須) 当は、dotというグラフの記述のための単純なテキストベースの言語から、pure javaSVGに変換したかったのだけど、ライブラリなさそう(?)なので断念 手動でレンダリングすれば不可能ではないが、nodeの配置が*1汚くなるので、graphvizに頼ることに githubのREADMEに書いてあるとおりに、addSbtPluginをproject/plugin.sbtに追加と、build.sbtにsetting読み込ませる sbtのshellから、 classDiagram "クラス図に含めたいcla

    Scalaでクラス図を表示するsbt plugin作った - xuwei-k's blog
  • typesafe activatorを使わないplayframework2.3の始め方 - xuwei-k's blog

    tototoshiさんの、これ Play 2.3 がリリースされたので変更点と試し方を説明します の便乗(?)的な感じで、なぜか自分もチュートリアルを書いてみます。普通に書いたら意味ないので、少しだけ変わった方法を書いてみます。 変わった方法とは、あえてtypesafe activatorを使わない方法を書きます。また、play2.3がどうやって成り立ってるのかを説明するのも兼ねて、activatorを使わないだけでなく、なんらかのテンプレート使ったりとか自動生成とかもせずに、一つずつ手作業でやって、最低限の構成のところまでだけを説明します。 なので、実用的なのかどうかはわかりません。慣れたら、それぞれみんなtypesafe activator使うなり、独自にテンプレート的なプロジェクトを用意しておくなり、giter8使うなりした方がいいかもしれません。 あと、先に完成後の最小限のplay

    typesafe activatorを使わないplayframework2.3の始め方 - xuwei-k's blog
    terazzo
    terazzo 2014/06/02
    typesafe activatorが何を肩代わりしてくれているのかという理解にも。
  • Scala を用いたスクリプティング · eed3si9n

    2014-05-11 / scala 現実問題として正規表現が必要になることがある。いくつかのテキストファイルに変換をかけたりする度に find コマンド、zsh のドキュメントや Perl 関連の StackOverflow の質問を手探りしながら作業することになる。苦労しながら Perl を書くよりは Scala を使いたい。結局、僕個人の慣れの問題だ。 例えば、今手元に 100以上の reStructuredText ファイルがあって、それを markdown に変換する必要がある。まずは pandoc を試してみて、それはそれなりにうまくいった。だけど、中身をよく読んでみるとコードリテラルの多くがちゃんとフォーマットされてないことに気づいた。これは単一のバッククォート (backtick) で囲まれていたり、Interpreted Text を使っているからみたいだ。このテキストを

  • sbtでJava用のプロジェクトを作る - CLOVER🍀

    JavaでもGradleの名前をよく聞く昨今ですが、個人的にはGradleよりもsbtの方をよく使っているため、こちらでできてもいいよねーということで。 あ、ちょっと興味があったので調べて書いていますが、どちらかといえばネタエントリに近いかも…。まあ、慣れという点もあるので、こちらで考えたいですけどねー。 では、いってみましょう。 とりあえず、普通にbuild.sbtとJavaソースコードを作成する build.sbtを作成します。内容は、まあ普通に。依存関係には、スケープゴート的にCommons Lang3でいきましょう。 build.sbt name := "sbt-simple-java-project" version := "0.0.1-SNAPSHOT" organization := "org.littlewings" libraryDependencies ++= Seq(

    sbtでJava用のプロジェクトを作る - CLOVER🍀
  • sbtのバグを見つけたと思ったら、結局Scalaのバグだったという話 - xuwei-k's blog

    https://gist.github.com/xuwei-k/10002590 https://github.com/sbt/sbt/issues/1237 以前のsbtでは発生しなかった、ということから、明らかにsbtのバグだろーと思ったら、結局Scala側が悪い?という結論になったようですが https://issues.scala-lang.org/browse/SI-8486 そのバグ修正は、Scala 2.11.0のfinalには間に合わず、2.11.1 になるらしいです。 とりあえずバグの原因となったコミットのみをrevertしたversionが、sbt0.13.2-RC3としてリリースされました。 https://groups.google.com/d/msg/sbt-dev/adyQsDmlapQ/_RL46j6b_8QJ (sbt 0.13.2-RC2はリリースミスした

    sbtのバグを見つけたと思ったら、結局Scalaのバグだったという話 - xuwei-k's blog
  • sbt テクノロジ・プリビュー: auto plugin · eed3si9n

    2014-03-29 / scala / sbt Preview of upcoming sbt 1.0 features: Read about the new plugins を訳しました。 著 @eed3s9n, @jsuereth sbt に変化が訪れようとしている。sbt 1.0 へ向けて sbt の原理である自動化 (automation)、インタラクション (interaction)、統合化 (integration) の全面において改善がみられる予定だ。1.0 の二大機能と目されているのは auto plugin と「ビルドサーバとしての sbt」の 2つだ。 今後の数ヶ月にわたって sbt チームは sbt 0.13 コードベース上にこれらの機能を追加したプリビュー版をリリースする。これらのプリビュー版によって、sbt 1.0 の仕様が固まる前にコミュニティーからのフィー

    terazzo
    terazzo 2014/04/01
  • Scala初心者がPlay2.2を使ってtwitter連携アプリを作ろうとしたときにハマった罠 - xuwei-k's blog

    飛び入りで、芸者東京さんの勉強会で、初心者にScalaを教えるという勉強会をしてきた時の話です http://partake.in/events/5c793335-6b54-43f5-ac6f-6234b0847308 事例1 sbt0.12.xのlauncherがインストールされていた ↓ それで、Play2.2やろうとすると、エラーでる(0.13のlauncherが必要) ↓ 初心者だとそのエラーの意味が、すぐにはわからない ↓ 「sbtどうやって入れた?いつ頃入れた?」 ↓ 「homebrewでいれました」 ↓ brew updateする ↓ sbt以外のものも大量にupdateされて、とても時間を消費する 事例2 sbtでOutOfMemoryエラーでる ↓ インストール方法によるが、少なくともhomebrewは、デフォルトではJVMのオプション設定されないらしい*1 ↓ 結論とし

    Scala初心者がPlay2.2を使ってtwitter連携アプリを作ろうとしたときにハマった罠 - xuwei-k's blog
  • Play 2.3から採用されるというsbt-webをUnfilteredで使う | PABlog

    TwitterGithubOld BlogPlay 2.3から採用されるというsbt-webをUnfilteredで使う 2014年02月20日最近Play 2.3から採用されるというsbt-webをちょっと見てます。 sbt-web pluginとplayframework2.3 - scalaとか・・・ sbt/sbt-web sbt-web 1.0.0-M1 is available - Google グループ Typesafeがsbt-webを作ってるのは、PlayからJavaScriptCSSなど(以下アセット)のクライアントサイドの機能を分離したいという意向があるみたいですね。 sbt-webは単体で使うものではなく、他のプラグインに対する基盤の機能を提供しています。 標準のアセットのディレクトリ構成 インクリメンタルなタスクの実行 アセットパイプラインの仕組み sbtでAk

  • sbt 0.13.0 の変更点 · eed3si9n

    2013-07-24 / sbt 概要 互換性に影響のある新機能、変更点、バグ修正 sbt とビルド定義を Scala 2.10 に移行した。 project/plugins/ 内に置かれたプラグインの設定ファイルのサポートを廃止した。これは 0.11.2 より廃止予定になっていた。 set コマンドにおいてセッティングの右辺項内のタブ補完を廃止した。新たに追加されたタスクマクロがこのタブ補完を不要にするからだ。 キーの慣用的な書き方はこれよりキャメルケース camelCase のみとする。詳細は後ほど。 Maven との互換性を正すため、テストのデフォルトの classifier を tests に修正した。 グローバルなセッティングとプラグインのディレクトリをバージョン付けるようにした。デフォルトでは、グローバルセッティングは ~/.sbt/0.13/ に、グローバルプラグインは ~/

  • sbt で github にあるライブラリを直接使う方法 - 宇宙行きたい

    github にあるライブラリを使うのにローカルにインストールして云々しようとして色々試していたら id:xuwei と id:j5ik2o に github にあるライブラリ、直接使えるよ m9(^Д^)プギャー と言われて涙目でした。 んで、 あんまり知られてないし、教えてやったんだからブログに書け!! と、id:j5ik2o に脅されたので涙目で書いているところです。 import sbt._ import sbt.Keys._ object ProjectBuild extends Build { lazy val root = Project( id = "root", base = file("."), settings = Project.defaultSettings ++ Seq( name := "coderwall-bot", organization := "o

    sbt で github にあるライブラリを直接使う方法 - 宇宙行きたい
  • eclipse-scala-tools 0.0.3をリリースしました - たけぞう瀕死ブログ

    eclipse-scala-tools 0.0.3をリリースしました。eclipse-scala-toolsはScalaIDE for Eclipseの機能を補完するためのEclipseプラグインセットで、現在はSBTをサポートするための機能を実装しています。 https://bitbucket.org/takezoe/eclipse-scala-tools/wiki/Home 今回のバージョンアップでの追加・修正点は以下のとおりです。 sbt 0.11をサポートしました *.sbtファイルのためのエディタを追加しました(強調表示など基機能のみ) 依存関係の更新後に自動的にクラスパスが更新されるようにしました。 いくつかのバグを修正しました ここのところ若干放置気味でしたが、使ってくださっている方もいらっしゃるようなので地道にメンテナンスを続けていこうと思います。giter8のテンプレー

    eclipse-scala-tools 0.0.3をリリースしました - たけぞう瀕死ブログ
  • lsの使い方 - seratch's weblog in Japanese

    ls-sbt 0.1.0 の時点で書いているので、最新の情報は以下をご確認ください。 http://ls.implicit.ly/ https://github.com/softprops/ls というか、家に書いてある内容を順序立てて日語で書いただけなので家を見たほうが早いかも、、です。 lsとは? sbt の dependency 追加を楽にしてくれる仕組みです。 ls.implicit.ly のサーバに登録済の情報を sbt プラグインで取得して build.sbt に反映することができます。 たとえば unfiltered がこのように登録されているので http://ls.implicit.ly/unfiltered/unfiltered unfiltered を使いたければ、sbtで > ls-install unfilteredとやると、unfiltered の dep

    lsの使い方 - seratch's weblog in Japanese
    terazzo
    terazzo 2011/11/28
  • sbteclipseを使ってxsbt(sbt 0.10系)からeclipse用の設定ファイルを作成する方法

    Scalaの作者であるMartin Oderskyさんがinetrviewにて I personally switched to the Eclipse plugin after 20 years of emacs. Certainly before then, I tried the plugin; but for the complex projects I do, it didn't live up to what I needed. Now, I would now never go back to emacs. 『eclipseのScalaプラグインの出来が素晴らしくて、20年使ってきたけどemacsにはもう戻れません!』 という発言をされていたのでeclipseのScalaプラグイン『Scala IDE for Eclipse』が気になってきまして。 でもscalaにはsbtと

  • Simple-Build-Toolが素敵すぎる件 - yojikのlog

    (追記:2010/03/29 jerseyのバージョンが古かったので上げています) (追記:2011/11/25 sbtは執筆時より大幅にバージョンアップされています。0.10系列からは全く別物なので、他の参考文献に当たってください。後日新規記事をアップします。) ScalaのビルドツールSimple-Build-Toolが非常に便利で、しかもJavaプログラマにも使えそうな気がしてきたのでメモっておきます。特にちょっとしたプログラムを試すときにIDEが面倒なタイプの人、エディタでいきなりmainメソッドつきの.javaファイル作ってコンパイルして実行するタイプの人にはお勧めです。 前提 たとえばJavaでちょっとしたREST-APIを持つプログラムを作りたくなったというユースケースを想定します。Simple-Build-Toolを使いながらもJavaでという所がミソです。 参考文献 ht

    Simple-Build-Toolが素敵すぎる件 - yojikのlog
    terazzo
    terazzo 2011/10/11
  • sbtエディタを作ってみた - たけぞう瀕死ブログ

    build.sbtを編集するとき、いつもEclipse標準のテキストエディタを使っているのですが、色も何もなくて味気ないのでsbtファイル用のエディタを自作してみました。 とはいってもまだコードアシストもバリデーションもなく、ScalaIDE for EclipseのScalaエディタのAPIを利用してシンタックスハイライトやダブルクォートやカッコなどの自動挿入、CTRL+/によるコメントアウトといった基機能が利用可能というレベルです。 eclipse-scala-toolsの次のリリースにはこのエディタを入れようと思います。

    sbtエディタを作ってみた - たけぞう瀕死ブログ
  • GitHub - musk/SbtEclipsify: Sbt plugin for creating eclipse project and classpath files for sbt projects [DEPRECATED]

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - musk/SbtEclipsify: Sbt plugin for creating eclipse project and classpath files for sbt projects [DEPRECATED]
    terazzo
    terazzo 2011/10/03
  • scala-kaigi1-sbt

    仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)Hiroaki KOBAYASHI

    scala-kaigi1-sbt
    terazzo
    terazzo 2011/10/03