タグ

scalaに関するkakku22のブックマーク (25)

  • ScalaMatsuri 2018トレーニングデイの感想。またはチュートリアルがひどかった件 - うさぎ組

    ScalaMatsuri2018というScala言語のカンファレンスに参加してきました。といっても3日間のうちの1日目(というか0日目みたいな位置づけ)のトレーニングデイというものだけですが。 最近Scalaを使っているし、Scalaユーザーにいくつか聞けたらなぁーとかちょっと勉強したいなーって感じで。 2018.scalamatsuri.org 運営の方はおそらく大変だったと思いますがいろいろ対応してくださって助かりました。 ただ、自分が参加したチュートリアルセッションはひどかったです。自分もハンズオンで教えることがあり、失敗を幾度かしてフィードバックをもらっては改善してきました。ので、今回は私がフィードバックをする番だと思いましたので、このエントリにさせていただきます。 トラックとかモチベーションについて Scala入門ハンズオンのタイムライン Implicit入門 CTO座談会 まと

    ScalaMatsuri 2018トレーニングデイの感想。またはチュートリアルがひどかった件 - うさぎ組
    kakku22
    kakku22 2018/04/13
    おおー,記事を読む限り結構ヒドそう.講師誰だろう
  • Octoparts

    What's this? Octoparts is an API request aggregation service. It works as a middleware between your frontend and backend services, taking care of request parallelization, response caching, fault tolerance and performance visualization. Octoparts is implemented in Scala, making heavy use of the Hystrix library. Lightning talk slides from ScalaMatsuri 2014 GitHub repository The source is available a

  • 【Akka】Akka Streamsがめっちゃ便利すぎて脳汁が出た話し | Scala Tech Blog

    こんにちは!Smalgoの來田です。 注意:タイトルは過激ですが内容至って普通なチュートリアル記事です。 仕事でWorkerを作った時に使ってみてめっちゃ便利だと思ったのでAkka Streamsについて書きたいと思います! まだまだ中の実装の深いところまで追えてるわけじゃないので間違っていたら教えてください。 Akka Streamsとは Reactive Streams(ノンブロッキングでback pressureな非同期ストリーム処理の標準仕様)のAkka実装 Back Pressureとは 非同期なストリーム処理の場合下記の問題が起きる Publisher側の処理が早い場合Subscriber側のバッファーが溢れてしまう Subscriberに遠慮してPublisher側の処理を抑えた場合は無駄が多くなってしまう それをSubscriberが自分が処理できる量をPublisherに

    【Akka】Akka Streamsがめっちゃ便利すぎて脳汁が出た話し | Scala Tech Blog
  • 「実戦での Scala 〜 6つの事例から知る Scala の勘所〜」を開催しました! | 株式会社ヌーラボ(Nulab inc.)

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

    「実戦での Scala 〜 6つの事例から知る Scala の勘所〜」を開催しました! | 株式会社ヌーラボ(Nulab inc.)
    kakku22
    kakku22 2015/02/24
    Future のセンスが重要と.毎日朝30分の勉強会って凄く良いアイデアだなー.
  • sprayでwebサービス作るチュートリアル 第1回

    はじめに sprayってなあに? sprayはscalaのwebフレームワークです。 「akkaベースで速くて軽いぜ」と唱っています。 http://spray.io/ sprayのライブラリ sprayはいくつかのライブラリで構成されています。 sprayのドキュメントに詳しい説明があります。 webサービスを作るのに、全てを使う必要はありません。 自分の作りたいものにフィットしたライブラリを適宜使います。 spray-cachingAkkaのFutureと concurrentlinkedhashmap を使った軽くて高速なインメモリ・キャッシュを提供 spray-canspray-ioをベースとした、低次元&低オーバーヘッドなハイ・パフォーマンスなHTTPサーバとクライアントを提供 (完全非同期、ノンブロッキング) spray-client高次元HTTPクライアントを提供。ベースはs

  • BizReach / ChatWorkのScala合同勉強会を開催しました! | チャットワーククリエーターズブログ

    こんにちは、インフラチームの安達です! 先週金曜日にBizReachさんのオフィスで、BizReachさんとChatWorkでScala合同勉強会を開催しました! BizReachさんと言えばすでにScalaを実戦投入されていることでも有名ですが、 そんなBizReachさんがこれからScalaへ取り組もうとしている弊社と勉強会を開いてくださいました。 今回はBizReachさんにたくさん教わる形となりましたが、ChatWorkも今後の取り組みで得られるScalaのノウハウを発信していきたいと考えています。 さっそく各発表を発表順にまとめてご紹介します! ChatWorkとScala (ChatWork、安達 勇太)ChatWorkがどうしてScalaに舵を切ったかという話と、私が先陣切ってScalaを触りはじめた感想を喋らせていただきました。 なぜScalaか?ソースコードをシンプルに、

    BizReach / ChatWorkのScala合同勉強会を開催しました! | チャットワーククリエーターズブログ
  • Scala School意訳(Testing with specs) - seratch's weblog in Japanese

    http://twitter.github.com/scala_school/specs.html 以下は私の方でtypoや表示崩れを直したものです。 https://github.com/seratch/scala_school/blob/master/web/_posts/2011-05-09-lesson.textile 誤訳などありましたら、お手数ですが、ご指摘いただければ幸いです。 なお、現在はspecsよりもspecs2を使うことが推奨されています。 etorreborre/specs2 @ GitHub こちらもあわせてご覧ください。 Scalaのユニットテスト入門 - case class HatenaDiary(id: Symbol = ’seratch2) extends Specifcation それでは飛び込んでみましょう。 import org.specs._ o

    Scala School意訳(Testing with specs) - seratch's weblog in Japanese
  • JavaのGenericsよりも便利なScalaの型パラメータ

    JavaのGenericsよりも便利なScalaの型パラメータ:スケーラブルで関数型でオブジェクト指向なScala入門(8)(1/2 ページ) 前回のおさらいと今回の内容 前回の記事「Scalaのトレイトでプログラマをミックスインしてやんよ」では、Scalaの重要な機能であるトレイトの基的な使い方から始まり、複数のトレイトを積み重ねた場合にどのような順番で線形化されるかについても紹介しました。今回は型のパラメータ化について紹介します。 第1回記事では、Scala標準のREPLとScala IDEで動作を確認してみました。今後記事のサンプルコードは、どちらで確認しても問題はありませんが、対話的に実行でき、1文ごとにコードの結果が分かって便利なので、基的にはREPLを用いて説明していきます。 Scala IDEを使用する場合、第1回記事の『Scala IDE for Eclipseで「H

    JavaのGenericsよりも便利なScalaの型パラメータ
    kakku22
    kakku22 2014/05/29
    型パラメータに関してわかりやすくまとまってる
  • Slick 詰まって頑張った - Qiita

    動的にWhere句の生成 みんなどうやってるんだろ?とりあえず queryを varで定義してパラメータを判定してWhereをチェインしていく感じで突破した。 Option型の使い方とかこれが正解とは思ってないです。 case class SearchForm(title:Option[String],startDate:Option[DateTime],endDate[DateTime]) def findBySearchForm(form:SearchForm) = db.withSession{ var query = for( c <- Class) yield c if( form.title.nonEmpty ) query = query.where(_.title like "%" + form.title.get + "%") if(form.startDate.nonE

    Slick 詰まって頑張った - Qiita
  • spray: REST on Akka (Scala Days)

    Pulsar Architectural Patterns for CI/CD Automation and Self-Service_Devin BostStreamNative

    spray: REST on Akka (Scala Days)
  • オブジェクト指向 v.s. 関数型プログラミング

    近年、関数型プログラミングの重要性はいろんなところで叫ばれています。 Javaの最新バージョンに関数型プログラミングに関する新機能が加わりました。 Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています。 プログラミングの教科書の大手、オライリー社から、Javascriptで関数型プログラミングを行うための解説書が発行されました。 関数型プログラミングへの注目度は高まってきています。 おそらく、みなさんは既にオブジェクト指向が何か、を知っています。 でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います。 実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、 関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。 この記事を読む方の中で、「関

    オブジェクト指向 v.s. 関数型プログラミング
  • Sprayの簡単な紹介 - アドファイブ日記(ミラー版)

    Scala Advent Calendar 2013の10日目担当記事です。みんなガチな人ばかりで怖いです。あまり期待しないでください。 ググっても日の記事があまりないSprayの紹介をしてみます。 あと表題と関係ないですが最近書いたPlayFrameworkにSlickやSecureSocialを入れたメモを掲載しておきます。 Play2.2へのSlickのインストール Play2の認証ライブラリSecuaSocialを使う Sprayについて Akkaをベースに非同期モデルで実装された超ハイパフォーマンスなHTTP処理フレームワークという感じのもの。型システムがあって非同期でマルチスレッド(アクター)対応しててプラグインがある程度揃ってるHTTPサーバやWebフレームワークってScalaにしばらなくても少なそうです。ハイフリークエンシ―なWebアプリケーションやREST-APIを作る

    Sprayの簡単な紹介 - アドファイブ日記(ミラー版)
  • Scala Style Guide

    This document is intended to outline some basic Scala stylistic guidelines which should be followed with more or less fervency. Wherever possible, this guide attempts to detail why a particular style is encouraged and how it relates to other alternatives. As with all style guides, treat this document as a list of rules to be broken. There are certainly times when alternative styles should be prefe

  • Scala Style Guide リーディングメモ - seratch's weblog in Japanese

    Scala Style Guide http://docs.scala-lang.org/style/ Overview Scala では(Java との)相互運用を容易にするために Java に似たしきたり・やり方になる傾向がある Java だけでなく Standard ML・Haskell・C#・OCaml・RubyPython の慣習・イディオムを取り入れている Indentation ソースコードのインデントはスペース2つ Scala ではかなり多くのネストしたブロックを書く Line Wrapping 一行が読めないくらい長くなったら行を折り返す(長さは80文字以上の任意の値でOK) 以下のような pipeline operator でのやり方は望ましいが、必ずしもそれが実務的なやり方とはいえない implicit def any2PipelineSyntax[A](a: A)

    Scala Style Guide リーディングメモ - seratch's weblog in Japanese
  • 要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    友人から「しんぺいさん DI について書いてほしい」みたいな話をだいぶ前からされてたんだけど書く気力ずっとなかった。でも仕事の気分転換にちょっとずつ書いたやつがいい量まとまったので公開するです。たいしたことは書いてないっていうか知ってるひとにはあたりまえのことしか書いてない。サンプルコードはわたしの趣味Scala で書いてあるが、Java が読めればなんとなく読めると思います。 DI ってなに Dependency Injection、日語で言えば依存性の注入です。おしまい。 で記事を終えてもいいんだけど、そもそも依存性とはなんなのか、それを注入するとはどういうことなのか、なぜ DI が必要となるのかみたいな話をこれからします。 そもそも依存性ってなあに 例を出します。入力された文字列をもとにおみくじをひいて、その結果を twitter に投稿するプログラムにしましょう。 まずは普通

    要するに DI って何なのという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • 『たのしい Scala』

    はじめに 初めまして。 2011年度入社のつちはしと申します。 アメーバのゲーム部門でエンジニアをしています。 今回はエンジニアブログを書く機会を頂きましたので、大好きな Scala について書かせていただきました。 「たのしさ」というとらえどころのない話しゆえ、すこしゆるーくなっておりますが、ご了承くださいませ。 というわけで、よく「Ruby は使っていて楽しいお 気持ちいいお」と聞くけど、 Scala も楽しいし気持ちいいんだよー! とゆうのを伝えたいです。。 伝わるといいです。。 (この記事は私が Scala の楽しいと感じる部分に的を絞って書いています。 Scala には楽しくない部分もいろいろありますが、それに関してはここでは触れません。 Scala たんは俺の嫁) さくっと書いてためしてみることが出来るの 題に入る前に。。 Ruby には irb という、その場でプログラムを

    『たのしい Scala』
  • 【Scala】しょっちゅう忘れる、AWSのAPI(逆引き)Scala S3編【AWS】 - Qiita

    val credentials = new BasicAWSCredentials(アクセスキーキー, シークレットキー) val s3Client = new AmazonS3Client(credentials) val localFilePath = "ローカルのファイルパス" val s3BucketName = "バケット名" val s3FilePath = "S3のアップロード先のパス" val upReq = new PutObjectRequest(s3BucketName, s3FilePath, localFile) s3Client.putObject(upReq) val credentials = new BasicAWSCredentials(アクセスキーキー, シークレットキー) val s3Client = new AmazonS3Client(crede

    【Scala】しょっちゅう忘れる、AWSのAPI(逆引き)Scala S3編【AWS】 - Qiita
  • 文字列に式を埋め込んで整形する - String interpolation | Scala Cookbook

    Scala2.10より、String Interpolationの機能が追加され、文字列中に式を埋め込むのが容易になりました。 使い方 s String double quotationの前にsを付けると、文字列中にある$(変数名)が置き換わる。 val w = "World" val message = s"Hello $w!" println(message) // Hello World! と表示される {}で囲むと、任意の式を含めることもできる。 println(s"2 * 3 = ${2 * 3}") // 2 * 3 = 6 と表示される f String 文字列にfをつけるとprintfの構文が使えるようになる。$(変数名)%(フォーマット指定)を文字列に埋め込むと変数の内容を表示するときのフォーマットが指定できる。 val dollarToYenRate = 80.0 va

    kakku22
    kakku22 2014/01/23
    String Interpolation
  • GradleとScalaでスタンドアローンのjarファイルを生成 - Continuous Ops

    gradleをビルドツールに使ってscalaの開発をしているのだけど、基的なところがちょくちょく分からないのでメモしていきます。 バッチなどで実行できるスタンドアローンのjarファイルを作りたい場合です。scalaのライブラリなども内包して、java -jar HelloJar.jar で実行できるようにしたい。 build.gradle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 apply plugin: "scala" apply plugin: "idea" apply plugin: "gradle-one-jar" buildscript { repositories { mavenCentral() } dependencies { classpath "c

  • ScalaのOptionステキさについてアツく語ってみる - ( ꒪⌓꒪) ゆるよろ日記

    今日は、ScalaのOptionの使い方について解説しますよ。OptionはScala使いにとってはなくてはならないものです。これを覚えてしまうと他の言語でもOptionを作りたくなる、かもしれない? Optionってなに? Option型は、値があるかないか分からない状態を表すものです。「Maybeモナド」とか言ってしまうとアレですがまぁそんなようなものらしいです。 Optionの定義 まずは、Optionの定義から見てみましょう。Option型は、抽象クラスOption[+A]と、Option[A]を継承して値がある場合のSome[+A]型とNoneオブジェクトがあります。 Option - Scala Standard Library API (Scaladoc) 2.10.0-20120530-022829-8d38079ab4 - scala.Option // Optionの抽

    ScalaのOptionステキさについてアツく語ってみる - ( ꒪⌓꒪) ゆるよろ日記