タグ

scalaに関するmikage014のブックマーク (20)

  • RoRやLaravelなどのフレームワークを使ってきた人がScalaを導入した時に引っかかる点とその解決策 - Qiita

    はじめに 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRoRからScalaに移行したのですが、これが素晴らしく効果が高かったので以下の記事を書きました。 スタートアップである弊社が全員ほぼ未経験でRoRをScalaに移行した理由、その効果と苦労点 しかし、最後に書いたのですが、苦労する点もとても多いです。 弊社CPOが苦労する点を抽象的な部分に関しては以下の記事で書いてくれてはいます。 0からScala番導入して感じたこと・考えたこと - Qiita ただ、実際にコードを書き始めた時に引っかかりやすい点をできるだけ詳しくあげておくことで、導入しようと考えた人がなるべく簡単に導入できるという状況を作りたかったので、書きました。 それではスタートです。 RubyPHP、Py

    RoRやLaravelなどのフレームワークを使ってきた人がScalaを導入した時に引っかかる点とその解決策 - Qiita
  • Rubyっぽく楽にIO処理を書けるライブラリScaruby 0.3をリリースしました - kmizuの日記

    Scalaは標準IOライブラリが非常に貧弱な言語です。scala.ioはまともに使えるものではありませんし、JDKのライブラリのIOを使うのも面倒です。そこで、サードパーティのIOライブラリを使うことになります。そこで、いくつかサードパーティのIOライブラリを見てみたところ、いずれも自分のやりたいことをぱっとできるように思えなかったので、自分で作ってみることにしました。 なお、better-filesは、自分の要求に一番近かったですが、java.ioやjava.nioがインタフェース部に露出しているのがあまり好みではありませんでした。 そこで、 java.ioがインタフェースに露出しない Rubyのように簡単なIO処理が簡単に書ける リソースの後始末は可能な限り簡単に 多数のリソースをネストせずに扱える オーバーロードをしない(!) を目標として、新しいライブラリScarubyの開発を始め

    Rubyっぽく楽にIO処理を書けるライブラリScaruby 0.3をリリースしました - kmizuの日記
  • Scalaに関する誤解と事実を語る - kmizuの日記

    TL;DR 世間のScalaに関するイメージは、昔のままであることが多い 昔のままどころか、最初から間違ったイメージを持たれていることも多い 実際には、既に解決されている問題は多々あるし、改善に向かっていることも多い プロジェクト管理の問題を言語に押し付けているケースもある はじめに 自分が最初にScalaに触れたのが2005年(Scala 1からカウントした場合)、あるいは2007年(Scala 2以降からカウントした場合)と、Scalaとの付き合いも結構長くなってきましたが、その間に Typesafe社(現Lightbend社)の設立 実質標準ビルドツールとしてのsbtの確立 ライブラリのバイナリ後方互換性に関するポリシーの策定 公式ScalaイベントScala Daysのはじまり Play 2 Frameworkの登場 Scala Center発足 その他色々 がありました。この間、

    Scalaに関する誤解と事実を語る - kmizuの日記
  • チャットワークがScalaを採用する理由、これからのチャレンジ。 | チャットワーククリエーターズブログ

    こんにちは!ChatWork CTOの山です。 先日このブログにて「チャットワークの新しい開発言語とフレームワークを決める開発合宿を開催!その全貌を丸公開します。」という記事で、チャットワークがScalaを採用することを発表しました。 ありがたいことにこの記事はたくさんの方に読んでいただき、大きな反響がありました。セミナーなどでお話する時も、Scala採用について話を聞きたいと言われることが増えています。 今回は、Scala採用にいたったより詳しい背景と、現在の状況、そしてこれからのことについてご紹介できればと思っています。 Scala採用にいたった背景現在のチャットワークは、「PHP + 自社開発の独自フレームワーク」で構築されています。 もともとチャットワークの開発は、社内用のツールとして1人のプロジェクトからスタートしました。そのためあまり工数をかけることはできず、既存の社内システ

    チャットワークがScalaを採用する理由、これからのチャレンジ。 | チャットワーククリエーターズブログ
  • Scala採用を決めて一年たった、CTOの雑感 | チャットワーククリエーターズブログ

    こんにちは!ChatWork CTOの山です。 ChatWorkでは一年前に、PHPの独自フレームワークでつくられた大規模システムを、Scalaを使ってゼロベースでつくりなおすという決断をしました。 Scala採用までの経緯を三行で: カウボーイ開発で約4年間積み上げてきたPHPのシステムがもはや限界ゼロベースでつくりなおそうと開発合宿を開催。満場一致でScalaに決定!しかし社内にScalaを書ける人は誰もいないのであった・・(どうすんの・・?)参考記事: チャットワークの新しい開発言語とフレームワークを決める開発合宿を開催!その全貌を丸公開します。 というわけで勢いのままScala採用を決めたはいいものの、ここからどうしよう・・・という状態でした。 そこから約一年。ChatWorkのScala開発はどうなってるの?とご質問いただく機会も増えましたので、現在の状況含め、Scalaってど

    Scala採用を決めて一年たった、CTOの雑感 | チャットワーククリエーターズブログ
  • Scalaコードでわかった気になるDDD | GREE Engineering

    みなさん、こんにちは。グリーのかとじゅん(@j5ik2o)です。 このエントリは GREE Advent Calendar 2013 の 18日目の記事です。よろしくお願いします。 私がグリーに入社してやっていることは、プログラミング言語 Scalaとドメイン駆動設計(以下、DDD)の布教活動です。布教活動といっても宣伝するだけでは具体性に欠けるので、実際に開発チームに入ってScalaやDDDの技術支援を行っています。エントリでは、Scalaを用いたDDDの設計と実装をどのように行っているかを、DDDを知らない人でもできるだけわかりやすく説明したいと思います(Scalaわかっていると読みやすいですが、あんまり複雑なコードは出てこないのでなんとなく読めるのではないかと思います)。なお、DDDの実践例は他にもあります。一例だと思って読んでいただければ幸いです(先日のSNSチームでのドメイン駆

    Scalaコードでわかった気になるDDD | GREE Engineering
  • Private Presentation

    Private content!This content has been marked as private by the uploader.

    Private Presentation
  • バグから学ぶ計算機科学 Scalaのハッシュテーブルにおいて並列コレクションのためのコード変更が大量の衝突を引き起こした事例

    バグから学ぶ計算機科学 Scalaのハッシュテーブルにおいて並列コレクションのためのコード変更が大量の衝突を引き起こした事例 書いた人: ると 書いた日: 2012年1月21日 はじめに Twitterで「有名なオープンソースソフトで今まであったおもしろいバグを解説したとかないだろうか」とツイートしたらそれなりに需要があるようでした。そこで先ず隗より始めよという故事にのっとり、死馬の骨としてバグ解説記事を書いてみます。 今回のバグはScala 2.9の標準ライブラリに含まれるmutable.HashSet(ハッシュテーブルを使った重複無しコレクション)のコピーがJavaの標準ライブラリに含まれるHashSetの100倍遅いというバグです。並列コレクションのためにぱっと見問題の無い変更を加えたら思わぬところで影響が出たというものです。 なお、今回はScalaに関するバグですが、Scala

  • ScalaでWebM形式の動画再生 - はこべにっき ♨

    それなりにたいへんそうで勉強になるかと思い、ScalaでWebM形式の動画を再生するコードを書いてみた。やりたくなったから、やっただけなので特に有用性とかはないです。 WebMのデコーダを準備する Javaで、WebM形式の動画を扱うには gstreamer-java が使える。 gstramer-java はネイティブのgstreamerを呼びだすのでインストールする。また、gstreamerがWebM形式の動画をデコードできるように、デコーダもインストールしておく。 WebMデコーダのインストール WebMのデコーダ(libvpx)のソースコードをcloneしてビルド/インストール。 $ git clone git://review.webmproject.org/libvpx.git $ cd libvpx $ ./configure $ make $ sudo make insta

    ScalaでWebM形式の動画再生 - はこべにっき ♨
  • Welcome to Scala hack-a-thon #1’s documentation! — Scala hack-a-thon #1 v1.0 documentation

    Welcome to Scala hack-a-thon #1’s documentation!¶ Contents: 1. Scala開発環境の準備 1.1. Scala実行環境のインストール 1.2. 開発環境のセットアップ 1.3. その他やっておくと便利なこと 2. Scalaの開発スタイル 2.1. ソースコードとコンパイル 2.2. アプリケーションを作り、実行する 2.3. インタプリタでの実行 3. Scalaの基 3.1. 基的な文法 3.2. 関数編 3.3. クラス、オブジェクト、トレイト 3.4. トレイト(trait) 3.5. importとpackage 3.6. ケースクラスとパターンマッチ 4. Scalaの高度な機能 4.1. Implicit ConversionとImplicit Parameter 4.2. 型のパラメータ化 4.3. 遅延評価

  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

    mikage014
    mikage014 2010/04/28
    「綺麗な仕様してるだろ?動くんだぜ、これで」
  • Scala開眼

    1階受付:インストール等 / 1階案内版:コマンド / 2階:書き方 / 3階:文と式 / 4階:関数 / 5階:オブジェクト指向 / 6階:型 / 7階:注釈等 / 屋上:言語仕様要約 / 雲:scalaパッケージ概観 / 青空:その他の付属パッケージ概観 なお、以上の解説はJavaの文法とコマンドや標準ライブラリ等を一応知っていることを前提(現行のScalaはなおJavaライブラリへの依存度が高くScalaだけで完結できる状態では無い。なお、Scalaのコンパイラ自体はJava1.4用のコードも吐けるが、標準ライブラリが多く1.5を前提としている)とし、その違いだけをとりあえずは書き留めるものである。もっぱら文法やライブラリ参照用であることを目指しているので、例や特長等は次のリンクを参照されたい(なおただし、原著者たちの配慮にもかかわらず、それらの例は関数型言語に関する事前の概要的把握

  • http://www.codecommit.com/scala-style-guide.pdf

  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

    Scalaとは Scalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaJavaの後継として実用的な言語を目指して開発されています。 Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。 Scalaのメリ

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編
  • Home | Scala IDE for Eclipse Project | Assembla

    Home / Developer API / Tour / Get a Project -   Solutions for Bug & Issue Tracking, Collaboration Tools, Subversion Hosting, Git Hosting Scala ide for eclipse is powered by Assembla. Scala support in the Package explorer view with embedded outline, outline view, quick outline, open type, open type hierarchy. Incremental compilation, application launching with integrated debugger, hyperlinking from

  • NoopでHello World! - SH2の日記

    今回はデータベースのネタをお休みして、噂のプログラミング言語Noopを試してみました。 速報:グーグルが新言語「Noop」を公開。JavaVMで動作 − Blog on Publickey JVMで動作する新言語「Noop」- Google開発者らによる新プロジェクト | エンタープライズ | マイコミジャーナル 以下、NoopでHello World!を動かすまでの手順です。 JDKのインストール NoopはJava VM上で動作するので、まずJava SE Development Kit(JDK)をインストールします。 インストールが済んだら、C:\Program Files\Java\jdk1.6.0_16\binにパスを通しておきます。 TortoiseHgのインストール NoopはMercurialでバージョン管理されているので、Windows用のクライアントとしてTortois

    NoopでHello World! - SH2の日記
    mikage014
    mikage014 2009/09/24
    Noopの環境構築手順。NoopはScalaで作られてるのか~
  • Seasar Conference 2009 Autumnでscalaについて発表しました。 - ( ꒪⌓꒪) ゆるよろ日記

    Seasar Conference 2009 Autumnに、Javaプログラマに捧げるScala入門というタイトルで登壇させて頂きました。 当日はあいにくの天候にも関わらず、たくさんの方にご来場頂きありがとうございました。 発表資料は、Seasar Conference 2009 Autumnのセッション情報のページに掲載されていますが、SlideShareにも置いておきます。 また、デモについては別のエントリで補足します。 Seasar Conference 2009 Autumnでのデモ - ゆろよろ日記 20090911 Seasar Conference2009 AutumnView more documents from yuroyoro. Scalaの言語仕様を一気に説明するのは無理だと思っていたので、直前で構成を変えてデモを最初に見せるようにしました。 まず、デモを見てもら

    Seasar Conference 2009 Autumnでscalaについて発表しました。 - ( ꒪⌓꒪) ゆるよろ日記
  • 刺激を求める技術者に捧げるScala講座---目次

    連載では,次世代のエンタープライズ・プラットフォームを支える言語として,このところ最も注目を集めている言語「Scala」の魅力をお伝えしていきたいと思います。Scalaは,技術的にもかなり刺激的で,楽しい言語に仕上がっています。最初の一歩から刺激的な技術解説まで,幅広くScalaおもしろさ,楽しさをお伝えしたいと思います。 第1回 なぜScalaなのか? 第2回 Scalaの基的な文法 第3回 Scala言語を探検する(1) 第4回 Scala言語を探検する(2) 第5回 Scala言語を探検する(3)関数型言語としてのScala 第6回 Scala言語を探検する(4)Scalaの型システム 第7回 関数脳のつくり方 First Season 第8回 Scala DSLでできること 第9回 Scala DSL事始め(前編) 第10回 Scala DSL事始め(後編)

    刺激を求める技術者に捧げるScala講座---目次
  • 君は必ずmainのところに戻ってくる - コンピュータってすごいらしい

    (8/5更新) 実験4を追加。 概要 Scalaでは、遅延評価が許されているので returnがメソッドの実行ではない場所で評価されることがある。 これで遊んでみる。 実験1: foreachの中でreturn まずは簡単な使い道。foreachに渡すブロックの中でreturnする。 package returntest object ReturnInFor { def main(args : Array[String]) : Unit = { for(i <- List(1,2,3,4)){ println(i + "th block call") val st = new Throwable().getStackTrace() println(st(0)) return } } } 実行結果 1th block call returntest.ReturnInFor$$anonfun$

    君は必ずmainのところに戻ってくる - コンピュータってすごいらしい
  • 1