タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Scalaに関するhondallicaのブックマーク (10)

  • Akkaを使ってScalaのFutureにタイムアウトメソッドを生やす(あと注意点) - ravineport blog

    ScalaのFutureにはタイムアウトを設定するメソッドはない。 Await.result で設定時間待つことができるが、失敗した場合は例外がスローされてしまうのでTryなりで扱う必要があるし、なによりブロッキングするのでスレッドを無駄遣いしてしまっている。 そこで akka.pattern.after メソッドを使う。 akka.pattern.afterを使ったFutureのタイムアウト設定 こちらを参考にした stackoverflow.com import akka.actor.ActorSystem import scala.concurrent.duration._ import scala.concurrent.{ ExecutionContext, Future, TimeoutException } object Main { implicit class Future

    Akkaを使ってScalaのFutureにタイムアウトメソッドを生やす(あと注意点) - ravineport blog
  • Scala コードの裏側

    末尾呼び出し最適化 Java は末尾呼び出し最適化をしないことで有名だ [2].だけど, Scala は末尾呼び出し最適化を行う.具体的にコードを見てみる: $ cat src/TailCallOpt.scala object TailCallOpt { def tailCallFunc(a: Long): Long = { if (a > 10) a else tailCallFunc(a + 1) } } $ scalac -Ystop-after:tailcalls -Xprint:fields,tailcalls src/TailCallOpt.scala [[syntax trees at end of fields]] // TailCallOpt.scala package <empty> { object TailCallOpt extends Object { def <

    Scala コードの裏側
  • 実践Scala入門(共著)が発売されます - kmizuの日記

    https://www.amazon.co.jp/dp/4297101416 企画自体は2015年くらいから始まっていたんですが、紆余曲折あって、約3年経ってしまいました。ともあれ、ようやく出版までこぎつけられてほっと一息です。 実際には多少遅れる可能性がありますが、10月27日から技術評論社さんから発売予定なので、この機会にScalaを勉強してみたい方は、是非予約していただければと思います。 さて、書いてる間の紆余曲折書いても意味がないので、このエントリでは、この書籍のウリを簡単に書きたいと思います。 現状の日語のScala書籍は、大半が新しいバージョンのScalaに追随できてなくて、新しくScalaに入門する人に勧められるいい書籍が ほとんどないという問題意識がありました。いわゆるコップScala書籍の中でもかなり売れていることもあってか、2.12対応の第三版まで出版されているも

    実践Scala入門(共著)が発売されます - kmizuの日記
  • 「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは?|ハイクラス転職・求人情報サイト AMBI(アンビ)

    Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは? プログラミング言語Scalaの設計思想にあるという、オブジェクト指向と関数型プログラミングの融合(fusion)という理想と、それを掲げつつも現実主義的な点について、水島宏太(kmizu)さんが解説します。 kmizuと申します。株式会社ドワンゴでエンジニアを務めています。 最近では、毎年の新卒エンジニア向けScala研修の講師や、N予備校 プログラミングコースの一部教材のレビューといった教育、および研究等の面でも活動しています。 ドワンゴでは、私が入社した時点でScalaがかなり採用されており、社内にScalaをより深く広めることも職務の一環でした。私は2007年くらいの、Scalaがまだほとんど注目されていなかった頃からScalaを触り始めており、その縁で新卒エンジニア向けのScala研修資料

    「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは?|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • なぜfoldRightが美しいのか - エムスリーテックブログ

    エンジニアリンググループの冨岡です。 私は最近関数型プログラミングにハマっていて、社内でFP in Scala (訳書)の輪読会を主催するなどして関数型やScalaが好きな人を増やす活動をしています。 この輪読会ですが、自体の素晴らしさもあって未だに参加者7人が誰一人脱落することなく読み進めています。現在8章と折返し地点なのですが、これまでの章で十分に訓練された私たち参加者は、(説明の都合上)副作用を起こす処理が教科書に出てこようものなら大ブーイング。教科書の解法を確認しては「美しい!」「エレガントだ!」と盛り上がりながら読み進めるようになりました。 中でもfoldRightは大人気で、登場のたびに場を盛り上げてくれます。この記事では、このfoldRightがなぜ美しいのかを解説します。 foldLeft / foldRight まずは、似た処理であるfoldLeft / foldRig

    なぜfoldRightが美しいのか - エムスリーテックブログ
  • Play2 + Slick / ScalikeJDBCハンズオン - Play2 + Slick / ScalikeJDBCハンズオン

    目的 Play2 + Slick / ScalikeJDBCを使ってWebアプリケーションを作成するハンズオンです。 主な目的は以下の通りです。 Scalaに触れてもらう 数時間でとりあえず動くものを作ってみる そのため、なるべくフレームワークが提供する機能をそのまま使います。 内容 ユーザ情報のCRUDを行う簡単なアプリケーションを作成します。また、後半では同様のCRUD処理を行うJSONベースのWeb APIも作成します。 なお、このハンズオンコンテンツはGitHubで管理されています。 リポジトリ内にはハンズオンで作成するWebアプリケーションの完成版も含まれていますので必要に応じて参照してください。 フィードバック ご意見・質問などはGitHubのIssuesにお願いします。 もちろんPull Requestsも歓迎です。

  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
  • ScalikeJDBC と SQL インジェクション - seratch's weblog in Japanese

    SQLInterpolation ScalikeJDBC の SQLInterpolation では以下のような形でクエリを書きます。 val input = "Chris" val (u, c) = (User.syntax("u"), Company.syntax("c")) val foundUser: Option[User] = sql""" select ${u.result.*}, ${c.result.*} from ${User as u} left join ${Company as c} on ${u.companyId} = ${c.id} where ${u.name} = ${input} """.map(User(u.resultName, c.resultName)).single.apply() String Interpolation に Type Dy

    ScalikeJDBC と SQL インジェクション - seratch's weblog in Japanese
  • 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の学習コストを下げるための心得 - kmizuの日記

    追記:Twitterで、「それって、言語マニアにしかできない技のような気が」という指摘を受けました。自分としては一般的に適用可能な話だと思っていますが、あるいは自分の感性が著しくずれているのかもしれません。その辺承知の上でお読みください。 Scalaは習得が難しい言語だ、とよく言われます。また、実際問題として、Scalaの言語仕様の全体はそれなりに複雑でもあります。しかし、それはたとえばJavaでも言語仕様の全体像を把握するのは難しい話であり、Scalaに限った話ではありません。にも関わらず、Scalaの習得が難しいとよく言われるのはプログラミング言語の学習モデルが誤っているからではないかと最近思うようになりました。そこで、Scala(や他の言語も含めて)のコストを下げるために必要な心得についてちょっと書いてみます。 Scalaはオブジェクト指向言語である これは、Scalaは関数型プログ

    Scalaの学習コストを下げるための心得 - kmizuの日記
  • 1