タグ

Scalaに関するwasamin0130のブックマーク (19)

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

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

    Scalaコードでわかった気になるDDD | GREE Engineering
  • PHP 100%の私たちがScalaによるシステムのマイクロサービス化に踏み切ったわけ

    スマートフォンアプリを紹介する「Appliv」は、日国内で月間600万ユーザーが利用し、海外10か国でも展開されている有力Webメディアだ。その開発・運営会社であるナイル株式会社は、PHPで組んできたApplivシステムに限界を感じ、昨年から主軸の開発言語をScalaに切り替え、アーキテクチャもマイクロサービス化に踏み切った。しかし、サーバーサイドJavaによるサービス運営の経験はゼロ。マイクロサービスによる設計ももちろん初めてだ。稿では、そんな同社が果敢にもPHPからScalaへの移行に挑み、サービスインするまでの過程を紹介する。(編集部) 技術的負債に窮する 弊社ナイルは、「Appliv」というスマートフォンアプリを見つけやすくするWebサービスを、2012年8月より運営しています。現在、世界10か国で展開しており、規模としては国内のWeb版だけで月間600万UU(ユニークユーザー

    PHP 100%の私たちがScalaによるシステムのマイクロサービス化に踏み切ったわけ
  • Scalaで学ぶヘキサゴナルアーキテクチャ実践入門

    Scala将軍達の後の祭り」での発表資料 http://scala-syogun-matsuri.connpass.com/event/28124/

    Scalaで学ぶヘキサゴナルアーキテクチャ実践入門
  • Scalaで型クラス入門

    (↓間違いの訂正アリ↓)第4回大阪MySQL勉強会資料 06/03 修正 ◆@y_catch さん @yoku0825 さんに教えていただいた誤謬の修正 ・「使用権」は誤解を招くと教えていただいたので "「使用」と「利用」""ライセンスの2つの法的根拠"などを修正 また、使用が権利でないことの理解の一助となるよう "「使用」と「利用」とライセンス"のページを追加 ・GPLのバージョンについての情報を追加して、用語はGPLv2へ統一(したつもり) ・"MySQLの著作権"について、教えていただいた情報を元に修正 ◆また、以下も修正 ・発表直前に書き上げたため、推敲せず話の繋ぎがうまくいってない箇所や 分かりにくい説明、見にくいところなどを修正 ・[GNUによる4つの自由]で自由の保障で勘違いしてたところを削除 ・オープンソースライセンスの定義を正しいものに修正 ・時間がなくて機械翻訳のままだ

    Scalaで型クラス入門
  • https://dwango.github.io/scala_text/

  • なぜあなたの sbt はすぐに起動しないのか - Qiita

    特に Scala 初心者だったとき、Scala を始めようとして「なかなか jar ファイルが落ちてこなくてコードが書き始められない」という問題に遭遇したことがある方も多いのではないかと思います。Advent Calendar の穴埋めのネタとして、それについて少し説明してみようと思います。 参考:下り 60Mbps での結果 http://qiita.com/seratch@github/items/0df29e637a9f9b3d7dec sbt (Scala Build Tool) まず前提として Scala のビルドツールは Gradle や Maven も利用可能ですが、Typesafe 社が開発している sbt というビルドツールが主流です。 この記事時点での最新バージョンは 0.13.9 です。 https://github.com/sbt/sbt/releases このとこ

    なぜあなたの sbt はすぐに起動しないのか - Qiita
  • 【ScalaMatsuriセッション当選御礼】ドワンゴ秘伝のトランザクションモナドを解説! - Qiita

    このたびはScalaMatsuriのセッションに投票していただき、ありがとうございました。 今回はそのScalaMatsuriのセッションで発表予定の内容の一つであるドワンゴ秘蔵のトランザクションモナドについて解説したいと思います。 このトランザクションモナドは基的な機能だけなら30行ほどの短いコードで記述できてしまうのですが、なかなか説明が難しい代物でして、 ScalaMatsuriの自分の発表時間内に聴衆のみなさんに理解していただくのは難しいだろうということで、先に解説記事を書くことにしました。 このトランザクションモナドは作者の名前から通称Fujitaskと呼ばれているのですが、作者の方は周りから「天才」と言われてまして、彼は常人が思いつかないようなコードを書かれるんですね。 Fujitaskは短いながらも、モナドと、サブタイピング(変位指定)と、アドホックポリモーフィズムの三つの

    【ScalaMatsuriセッション当選御礼】ドワンゴ秘伝のトランザクションモナドを解説! - Qiita
  • Scala で 言語処理100本ノック 2015 を解く - Scala日記

    東北大学 情報科学研究科 情報伝達学講座(乾・岡崎研究室)で作成された自然言語処理入門者のための教材「言語処理100ノック 2015」というのがあるんですが、これを Scala で解いてみました。 github.com だいぶん前に書いたもので、問題が公開された直後にソースコードを出すと真の学習者への効果を下げると思い、控えていたものですが、 ただ、4月からやっている研究室などではさすがに終わっているだろうし、そもそもScalaを書こうという人は初学者ではないだろうというこで、初学者以外の学習効率を上げるための参考資料として、また、言語処理とScalaの裾野を広げるために公開しておきます。 主なターゲット層は 「Python で一周した。Scalaではどう書くのか知りたい」 「自然言語処理については大体分かっている。Scalaを学びたい」 「コップを読んでいる(あるいはもう読んだ)。実

    Scala で 言語処理100本ノック 2015 を解く - Scala日記
  • Scala で書く tetrix — Scala で書く tetrix

    Scala で書く tetrix これは 2012年8月に書かれたブログシリーズをもとに、2013年9月に使われたツール群とコードを一新して編纂された。 時折新しいプラットフォームや、新しい考え方、新しいプログラミング言語を探索してみたくなる衝動にかられる。僕が最初に実装してみるのはいつも同じだ。ブロックが落ちてくる某ゲームのクローン。今まで多分 8つの言語、ひとに借りた Palm V、それから Android でも実装した。多分最初に Scala で書いたプログラムも Tetrix だったはずだ。そのうちのいくつかはネットワーク機能があってプレーヤー同士が対戦できた。C# で書いたのには勝手にプレイし続ける AI があった。 最近また Tetrix が書きたくなってきた。Tetrix は難しくは無いけど例題アプリケーションとしては手頃な複雑さがある。例えば、ループや似て異なる演算がいくつ

  • Scalaを始めて早5年、今一度冷静にScalaと向き合ってみた - tehepero note(・ω<)

    2015-03-11 Scalaを始めて早5年、今一度冷静にScalaと向き合ってみた Scala 今年は2015年で、社会人になってプログラマとしてデビューしたのがディープインパクト*1がまだ現役だった2006年で早9年。そして自分がScalaという言語に出会ったのが2010年なので、なにげにキャリアの半分くらいをScalaを触って過ごしてるということになる(もちろん他の言語もやってるが)。 というわけでScalaを始めて5年ということで、今一度冷静にScalaと向き合ってみようというエントリでたいした内容ではありません。 (注:自分はたいしたScalaプログラマではありません) はじまり 過去を掘り起こせば、Scala始めた宣言をしたのはこのエントリらしい。たぶんtwitterでも宣言してる気がするけど、2011年くらいまでの発言までしか遡れなかった。 既にscala中毒患者になりかけ

    Scalaを始めて早5年、今一度冷静にScalaと向き合ってみた - tehepero note(・ω<)
  • 「実戦での Scala 〜 6つの事例から知る Scala の勘所〜」を開催しました! | 株式会社ヌーラボ(Nulab inc.)

    こんにちは、江口です。 2月21日(土)に「実戦での Scala 〜 6つの事例から知る Scala の勘所〜」をスマートニュース株式会社さんと共同で開催いたしましたので、その様子と発表内容を公開された資料とともに簡単に紹介します。 場所は渋谷にあるスマートニュースさんの新オフィスで行われました。Scalaへの注目度の高さもあってか、当日は広いスペースに用意された座席がほぼ満席という盛況具合でした。 ビズリーチの新サービスをScalaで作ってみた ~マイクロサービスの裏側 (株式会社ビズリーチ 竹添さん) 最初に、株式会社ビズリーチの竹添さんから、新サービスであるスタンバイという求人検索エンジンの開発についての発表が行われました。 サービス全体のアーキテクチャにマイクロサービスを採用し、各サービスの実装にはScalaを採用したというような内容でした。 Scalaを採用した理由として、並列処

    「実戦での Scala 〜 6つの事例から知る Scala の勘所〜」を開催しました! | 株式会社ヌーラボ(Nulab inc.)
  • Scala の implicit parameter は型クラスの一種とはどういうことなのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    なんか型クラスとか言うと型の怖いひとたちが怖い話をワイワイしてるイメージがありますよね。わたしはあります。「で、それって何がうれしいのよ」とか、そういう話はあまりされていないような印象がありますね(あくまで印象です)。その上 "Scala の implicit parameter は型クラスの一種" とか言われると「暗黙的な引数がなんで型クラスの一種なんや!!!意味がわからん!!!!」となります。わたしはなりました。 というわけでそのへんについて勉強したので書きます。 そもそも型クラスってなんや Haskellとかにあるやつですね。アドホック多相を実現するもの、らしいです。すごい、いきなり意味がわからない。 というわけで、まずは「アドホック多相ってなんなの」という話からして行きます。 さて、まずは「多相」から行きましょう。この文脈で言う多相とは、簡単に言えば「引数にいろんな型を取れる」とい

    Scala の implicit parameter は型クラスの一種とはどういうことなのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • Mackerelで採用している技術一覧とその紹介 - Hatena Developer Blog

    こんにちは。Songmuです。 この記事ははてなエンジニアアドベントカレンダーの3日目です。 昨日、Hatena Engineer Seminar #3を開催いたしました。何より参加率が高かったことに感激したのですが、その分少し窮屈な思いをさせてしまったかもしれないのは申し訳なかったです。多数のご参加当にありがとうございました。 セミナーではMackerel overviewという話をさせてもらったのですが、そこでお話したMackerelで採用している技術について説明します。 Mackerelとは? 今年の9月17日にリリースしたはてな謹製のサーバー管理・監視ツールです。 数多くのサーバーを運用しているはてなは、これまでサーバー管理ツールを内製してきたのですが、そのノウハウを活かし、サービス用に新たに一から作ったサービスになります。 また、はてなの既存サービスとは性質が異なるため、技術

    Mackerelで採用している技術一覧とその紹介 - Hatena Developer Blog
  • Scala開発を始める人におすすめのScala関連情報サイトをまとめてみた - Lambdaカクテル

    id:masawadaにScala+Playのおすすめ情報サイトを聞かれたのでまとめてみる。随時追加の方針です。 @windymelt Scala+Playしたいのだけど、オススメの情報サイトとかありますか?なお、Scala未経験です。— Masayoshi Wada (@masawada) December 4, 2014 追記(12/5 16:56) id:nkgt_chkonkさんにコメントでご助言を頂きました。Akkaの項で紹介しているid:nkgt_chkonkさんの記事中で紹介されているIO周りのインターフェイスは既に古くなってしまい、Akka 2.3では削除されてしまっているとの事でしたので、その旨について該当の項に追記しました。 ご助言をくださったid:nkgt_chkonkさん、ありがとうございました。 訂正(12/5 01:00) id:xuweiさんにコメントでご指摘

    Scala開発を始める人におすすめのScala関連情報サイトをまとめてみた - Lambdaカクテル
  • 人気の「ScalaMatsuri」動画 18本 - ニコニコ動画

    2014年9月6日に開催されたScalaMatsuriの講演よりB-7. Silkで編むデータフロー / Treasure Data, Inc. Taro L. Saitoを収めた動画です。

    人気の「ScalaMatsuri」動画 18本 - ニコニコ動画
  • マルチコア時代のプログラマは関数脳になろう〜Scala・Clojure〜 - Tech-Sketch

    前回 の記事では、関数型プログラミングの概念とJava8による実装例を示しました。しかしJava8のリリースは来年まで延期されてしまったため、今すぐ試してみるには少しハードルが高いかもしれません。 そこで今回は、Java7のJVM上で動作する代表的な関数型プログラミング言語、 Scala と Clojure を紹介します。 Scalaとは では、 Scala から紹介しましょう。 ScalaはJVM上で動作するプログラミング言語で、関数型の特徴とオブジェクト指向の特徴を合わせ持った、欲張りな言語です。 JVM上で動作するため、既存の膨大なJavaライブラリをそのまま流用でき、JVMのパフォーマンスチューニングノウハウを最大限活用することができます。またJavaよりも豊富な記述形式を持ちながらもJavaオブジェクトをそのまま扱え、強力な型推論を持った静的型付け言語でもあるため、定型的で冗

  • 独習 Scalaz — 独習 Scalaz

    独習 Scalaz これまでいくつのプログラミング言語が羊の衣を着た Lisp に喩えられただろうか? Java は馴染み親しんだ C++ のような文法に GC を持ち込んだ。それまで他にも GC を載せた言語はあったけども、現実的に C++ の代替となりうる言語に GC が載ったことは 1996年には画期的に思われた。やがて時は経ち、人々は自分でメモリ管理をしないことに慣れていった。JavaScriptRuby の両言語もその第一級関数 (first-class function) やブロック構文を持つことから羊の衣を着た Lisp と呼ばれたことがある。S式の同図像性がマクロに適することから Lisp系の言語はまだ面白いと思う。 近年の言語はもう少し新しい関数型言語から概念を借りるようになってきた。型推論やパターンマッチングは ML にさかのぼることができると思う。時が経てば、人

  • 圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ

    はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。 ただ、圏論といっても適用範囲がとっても広く、応用編になると分けわかんなくなってくるので、ここではプログラミング分野に特化したFP(functional programing)圏論*1について書きます。 また、説明を簡単にする為に細かい部分をいろいろ省略しています。学術的な定義としては正確ではないので、このエントリの説明は大体合ってる位の気持ちで読んでくださいね。 尚、ぼくは圏論の詳しい事はさっぱり分からないので、学問的な話を振られても回答できませんキリッ 圏ってなんなの? 圏論と言えば、圏です。 圏って何なのかというと、対象(obje

    圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ
  • ScalaでMMOのサーバを書くための技術

    この記事は、Play or Scala Advent Calendar 2012の25日めです。 Looking back 2012 2012年は、 Playのドキュメント翻訳 Scala、Playのビギナー向けの発表 会社の業務でもScalaが使えるようになった など、個人的にはPlayとScalaが身近な世界で躍進した年でした。そんな年にアドベントカレンダーの最終日を担当するというのは、何か感慨深いものがあります! 最近はPlayやScalaが実践で使われ始めた影響か、バイナリ互換性やビルドツール、習得面などの実践的な課題が色々と話題になっています。課題に対しては来年移行も粛々と対応をしていき、Scalaの今後の発展に寄与していきたいと思います さて、題に入ります。先日、AkkaでMMOのサーバ(ほんの小さなものですが)を書きました。その時に使ったScala関連の技術をいくつかご紹介

  • 1