並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 674件

新着順 人気順

scalaの検索結果321 - 360 件 / 674件

  • 資産運用スタートアップの開発で採用した、PlayによるClean Arcitectureでの設計・開発事例

    資産運用スタートアップの開発で採用した、PlayによるClean Arcitectureでの設計・開発事例

      資産運用スタートアップの開発で採用した、PlayによるClean Arcitectureでの設計・開発事例
    • CTR予測にLightGBMを導入した話 - MicroAd Developers Blog

      はじめに 初めまして, マイクロアドで機械学習エンジニアをしている福島です. 今年の4月に新卒でマイクロアドに入社し, 現在は UNIVERSE Ads というプロダクトでCTR(Click Through Rate)予測や入札アルゴリズムの開発研究をしています. 今回はCTR予測について共有させていただきたいと思います. CTR予測ではロジスティック回帰が広く使われてきており, マイクロアドでも長らく利用されてきました. 線形モデルであるため解釈性の高さや推論速度の速さなどのメリットも多く, 現在でも広く使われている手法です. しかし複雑なデータにはフィッティングしづらく, CTR予測のようなカテゴリ変数が多いデータの場合はデータを何らかの方法で連続値に変換する必要もあります. マイクロアドでは, entity embedding1を用いて作った分散表現を利用してカテゴリ変数を連続値に変

        CTR予測にLightGBMを導入した話 - MicroAd Developers Blog
      • Akka HTTP の Graceful な Shutdown の方法 または私は如何にして OSS のコードを読んでいるか - astamuse Lab

        どうもみなさまおはこんばんちわー。アプリケーションエンジニアの池田 (@yukung) です。3 度目の登場になります。 2020 年始まりましたね!時が経つのは早いもので私も入社してはや 1 年が経ちましたが、最近はエンジニアだけに限らず、様々な分野で専門を持つ方々が弊社に入社してきてくださっていて、そんな方々の自己紹介を聞くたびに、世の中には知らない世界がまだまだたくさんあるなぁ、と思う刺激的な毎日です。 2020 年の心配事は、オリンピックによる混雑ですねぇ。あまりに混雑するようなら、どうせなら期間中はリモートワークで切り抜けようかな、とか密かに思っています。(弊社には宮崎からリモートワークで働いてるエンジニアもいます) lab.astamuse.co.jp Akka HTTP はいいぞ さて、今回は何を書こうかと考えた時に、前々回、前回と技術的なことを書いていなかったことを思い出し

          Akka HTTP の Graceful な Shutdown の方法 または私は如何にして OSS のコードを読んでいるか - astamuse Lab
        • Scala 3は普通にAWS Lambdaで実行できる - Lambdaカクテル

          そういえばScalaをAWS Lambdaで実行するのどうするんだっけ、と思った。実はScalaをLambdaで動かしたことは無い気がするので調べておいた。今回はJava 17を前提に動作させる。 tl;dr AWS LambdaのJavaランタイム sbt-assembly sbt-assemblyへの依存性の宣言 ファイル名衝突時の設定 その他のsbtの設定 最終的なbuild.sbt コード本体 ビルド AWS Lambda側の設定 まとめと感想 参考文献 追記 今回書いたサンプルプロジェクトはこちら。 github.com tl;dr sbt-assemblyを使ってUber JARを生成する AWS LambdaをJavaランタイムでセットアップする エントリポイントを指定する JARをアップロードする 動く AWS LambdaのJavaランタイム けっこう前から、AWS La

            Scala 3は普通にAWS Lambdaで実行できる - Lambdaカクテル
          • GitLabとAWS CodePipelineでScalaのCI環境を作る - Qiita

            先日、AWSのCodePipelineというサービスを使ってCI環境をしてみました。 必要な設定が思いの外多かったので備忘も兼ねて構築方法を共有します。 CodePipelineについて AWSには以下の開発者向けの3つのサービスがあります。 CodeCommit gitのホスティング CodeBuild ビルドサービス CodeDeploy デプロイサービス CodePipelineはこれらのサービスを組み合わせたワークフローを管理するサービスです。 CIの構成 以下の図の様に、GitLabにpushしたソースコードをAWSのCodePipeline側でビルドして最終的にECSにデプロイするCIを作ります。 構築の手順 次の流れで構築していきますが、ECSなどが作成済の環境にCIを作る場合は適宜読み飛ばしてください。 ちなみに、Scalaならではの対応が必要なのは1.と8.の手順のみです

              GitLabとAWS CodePipelineでScalaのCI環境を作る - Qiita
            • Multi-Stage Programming、そして脆弱性レジリエンス × Clean Architecture 〜 ScalaMatsuri2020 登壇者インタビュー

              Multi-Stage Programming、そして脆弱性レジリエンス × Clean Architecture 〜 ScalaMatsuri2020 登壇者インタビュー 2020年10月17日(土) ~ 18日(日)にかけて開催された、アジア最大級のScalaカンファレンス “ScalaMatsuri 2020”。 Visionalからも2名のエンジニアが登壇をいたしました。 本日は「Dotty ではじめるマルチステージプログラミング入門」というタイトルで登壇した鈴木 健一さんにインタビューを行い、その舞台裏に迫りました。 ──はじめに、自己紹介をお願いします。 鈴木 健一です。脆弱性管理ツールの「yamory」 の開発をしています。 もともと SIer の出身で、主にアプリケーション基盤やアーキテクチャ設計、開発統括/支援等の業務を担当していました。Scalaに関連するものでいうと、

                Multi-Stage Programming、そして脆弱性レジリエンス × Clean Architecture 〜 ScalaMatsuri2020 登壇者インタビュー
              • いい感じにオブジェクトのdiffを取るライブラリ作った - petitviolet_blog

                Scalaのオブジェクト同士を比較する際に、==を使って比較することは出来るが、同値かそうでないかしかわからない。 そこで、具体的に何がどう変わったのかをジェネリックに取得するライブラリを作ってみた。 こんな雰囲気で使える。 $ amm Loading... Welcome to the Ammonite Repl 1.6.7 (Scala 2.12.8 Java 1.8.0_192) If you like Ammonite, please support our development at www.patreon.com/lihaoyi @ import $ivy.`net.petitviolet::generic-diff:0.6.0-RC2`; import net.petitviolet.generic.diff._ import $ivy.$ ; import net.pet

                  いい感じにオブジェクトのdiffを取るライブラリ作った - petitviolet_blog
                • Scala3学習メモ: Scalaとnull, Scala2とScala3と - Magnolia Tech

                  Rustの公式ドキュメントにnullに関する興味深い記事("Null References: The Billion Dollar Mistake"(Null参照: 10億ドルの間違い))が引用されています。 Enumを定義する - The Rust Programming Language nullは、インタフェースにおける双方の合意として取り得る値とするか、しないかがいつもあいまいになってしまう点が問題。ある変数の型を見てもnullを取り得るかは明示されていないにも関わらず、人によって「nullを考慮すべき」「nullは取り得ない」の二つの状態が混在してしまう。たとえ、同じ人が双方のコードを書いていたとしても。 ScalaにおけるNull型のクラス階層における位置付けと、nullの代入 https://docs.scala-lang.org/tour/unified-types.htm

                    Scala3学習メモ: Scalaとnull, Scala2とScala3と - Magnolia Tech
                  • Scala プログラミング - インフォグラフィック:2020年開発者エコシステムの現状

                    Scala開発者の間では、マイクロサービスの開発が非常に人気が高いです。72%がその目的でScalaを使用しており、同言語はマイクロサービス開発に使用される言語で最も高いシェアを獲得しています。

                      Scala プログラミング - インフォグラフィック:2020年開発者エコシステムの現状
                    • Implicit · Scala研修テキスト

                      implicitキーワード Scalaには他の言語には見られないimplicitというキーワードで表現される機能があります。Scala 2ではimplicitという単一の機能によって複数の用途を賄うようになっていますが、1つの機能で色々な用途を表現できることがユーザーにとってわかりにくかったという反省もあり、Scala 3では用途別に異なるキーワードや構文を使う形になっています。 この章ではScala 2でのimplicitキーワードの4つの使い方を説明します。 Implicit conversion implicit conversionは暗黙の型変換をユーザが定義できる機能です。Scalaが普及し始めた時はこの機能が多用されたのですが、implicit conversionを多用するとプログラムが読みづらくなるということがわかったため、現在は積極的に使うことは推奨されていません。とはい

                      • Java(Scala)アプリどう配ってますか - Lambdaカクテル

                        自作の解説動画作成ツールがある程度形になってきたので、配布について考えている。 www.nicovideo.jp zmmはScalaで書かれたアプリケーションなので、JVMで動作する。JVM言語の配布形式には色々あるのだけれど、zmmではとりあえずJARを配ることにした。 Scalaにはsbt-assemblyというUberjar*1を生成するプラグインや、リリースフローを自動化するsbt-releaseというプラグインがあるので、JARを生成させるところまでは割とすぐできた。 $ sbt > release とするとインタラクティブなリリースフローが始まり、自動でコミットとかバージョン修正とかタグ打ちとかをやってくれる。非常にありがたい。 JARファイルを生成したら僕がそれをGitHub Releasesに置く。 github.com ユーザとしてはこれをダウンロードしたら実行できるはず

                          Java(Scala)アプリどう配ってますか - Lambdaカクテル
                        • sbt でのコンパイルキャッシュ · eed3si9n

                          2020-05-06 / sbt Google のビルドインフラ Blaze (現在は Bazel としてオープンソース化されている) のことを知ってから Scala のツールチェインにも似たような仕組みが欲しいとずっと思い続けてきた。これは特に独創的な発想という訳では無く、Peter Vlugter さんと Ben Dougherty さんの nailgun Zinc での機能 (Pants で使われていた?) や、Krzysztof Romanowski さんの Hoarder など先行研究もある。それらは、作業ディレクトリに合わせて Zinc Analsis ファイル内に格納されている絶対パスを変換するというアイディアから成り立っている。 僕の作業の詳細に入る前に、問題スペースをざっとデモしよう。 ビルドのマシン依存性 Akka の akka-actor/compile を sbt

                          • map を使いこなせるあなたに traverse

                            はじめに この記事は ScalaMatsuri 2023 で発表されるセッション「traverseを制する者はコードを制す」の補完記事です。セッション時間の都合上カットした traverse の実装面を焦点に解説します。 traverse がどういったシーンで役に立つのか等は本セッションをご参照ください。 使用する言語・ライブラリのバージョンは以下の通りです。 Scala 3.2.2 cats 2.7.0 構造を保ったまま要素に関数を適用する さて traverse とはどんな関数なのかと言うと、構造を保ったまま要素に関数を適用する関数です。 そう聞くと最近のメジャーな言語にはおおよそ存在している map の事を思い浮かべる方も居る事でしょう。 その通り map も構造を保ったまま要素に関数を適用する関数と言えます。 val list = List(1, 2, 3, 4, 5) list.

                              map を使いこなせるあなたに traverse
                            • From idea to product with ZLayer

                              Hi, I am a Scala developer based in Zurich, Switzerland. Functional programming explorer, ice hockey enthusiast. This post will help you start building Scala applications with ZIO. Today there are many libraries in Scala ecosystem, that promise to improve your efficiency. I wrote this post in order to help you to start with the new effect type on the block - ZIO. It’s a huge library that gives you

                              • ScalaでWebアプリを爆速開発するための技術スタック 2023 - Lambdaカクテル

                                ScalaでなんかWebアプリをガッと作りたくなったときにどういう技術を使うべきなのか?という話です。自分はこういうふうに考えてるけどな〜というのを知見としてまとめておこうと思ってこの記事を書いています。いやいやこっちのが速いでしょみたいな話題歓迎です。なんか忘れてたらすみません。 言語 Scala3、と言いたいところだけど たま~に3使えないことがある気がしたりするので、手堅くやりたいときは2にしがちな気がする とはいえ、3使って困ったことあまりない インデント構文のせいでTAB押して補完してたのが動かなくなるみたいなことがたまにある エディタ LSP使えるエディタならなんでもいい(自分はEmacs) ファーストチョイスだとVSCodeでいいと思う IntelliJは独自のプレゼンテーションコンパイラを使っているのでちょっと勧めづらい ビルドツール sbtでいいと思う とりあえずポンでア

                                  ScalaでWebアプリを爆速開発するための技術スタック 2023 - Lambdaカクテル
                                • New in Scala 3

                                  ⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. Scala 3 は Scala 2 から大幅な改善が行われ、さまざまな新機能が追加されている。 ここでは Scala 3 の特に重要な変更点を概観する。 より詳しく知りたい方は以下の参考リンクを参照。 Scala 3 Book は Scala を書いたことがない開発者向けに書かれている。 Syntax Summary では Scala 3 で新しく追加されたシンタックスを解説している。 Language Reference を見ればScala 2 と Scala 3 の変更点を詳しく確認できる。 Scala 2 から

                                  • 令和版: 依存関係逆転の法則の実現方法 - Qiita

                                    依存関係逆転の法則とは コアのロジックが実装の詳細に依存しないようにして、モジュール間を疎結合にしましょうという原則。 Wikipediaでは以下のように説明されている。 上位モジュールはいかなるものも下位モジュールから持ち込んではならない。双方とも抽象(例としてインターフェース)に依存するべきである。 "High-level modules should not import anything from low-level modules. Both should depend on abstractions (e.g., interfaces)." 抽象は詳細に依存してはならない。詳細(具象的な実装内容)が抽象に依存するべきである。 "Abstractions should not depend on details. Details (concrete implementations

                                      令和版: 依存関係逆転の法則の実現方法 - Qiita
                                    • Scala で簡単スクリプト Ammonite を試す | DevelopersIO

                                      はじめに 普段はScalaで開発することが多いのですが、ちょっとコードを試したいときにIDEを起動するのは億劫でした。簡単に試せる場所がないかなーと探していたところ Ammonite を見つけましたので紹介します。 Ammoniteとは Ammonite Ammonite lets you use the Scala language for scripting purposes: in the REPL, as scripts, as a library to use in existing projects, or as a standalone systems shell. Ammoniteを使用すると、スクリプトの目的でScala言語を使用できます。REPLでは、スクリプトとして、既存のプロジェクトで使用するライブラリとして、またはスタンドアロンのシステムシェルとして使用できます。

                                        Scala で簡単スクリプト Ammonite を試す | DevelopersIO
                                      • Scala.js(+Laminar)でちょっと変わった Web フロント開発

                                        最近 Web 開発に傾倒しつつあるクライアントエンジニアの@Pctg_x8です。 今年に入って Scala3 の RC が外れたのをきっかけに少しずつ趣味の範囲で触っています。 その中で、今回は Scala コードを JavaScript コードにコンパイルできる Scala.js と、その上で動く UI ライブラリの Laminar の紹介と、触ってみた感じの話を書きます。 Scala.js とは Scala で書いたコードを JavaScript に変換してくれるコンパイラバックエンドです。 フロント部分は Scala そのものなので Scala3 も問題なく使用することができます。原理上は(厳密には周辺のライブラリなどの対応が微妙に追いついていません)。 Scala3 は最高の言語なので(個人談)、要するに Scala.js を使うと最高の言語で Web 開発ができるようになります。

                                          Scala.js(+Laminar)でちょっと変わった Web フロント開発
                                        • Intersection Types を利用した Type Safe Builder の改善

                                          Builder パターン Java では Builder[1] と呼ばれるパターンが使われる事があります。 これは多くのオプショナルなパラメータを持つオブジェクトの生成において、Python等にあるような名前付き引数呼び出しをエミュレートするための方法として生まれました。 // Builder パターンの利用例 Contract contract = Contract.builder("gakuzzzz") // 必須パラメータ .mail("test@example.com") // オプショナル .lineId("xxxxxxxxx") // オプショナル .build(); # Python 等であれば名前付き引数呼び出しで事足りる contract = Contract(name = "gakuzzzz", mail = "test@example.com") Type Safe

                                            Intersection Types を利用した Type Safe Builder の改善
                                          • 私は(もはや)国内Scalaコミュニティの偉い人ではありません - kmizuの日記

                                            このことはいい加減はっきり書いておかないとなあということで、ちょっと記事にしてみることにしました。 もちろん、英語圏のScalaコミュニティで私が強い影響力を持ったことはそもそもありません(日本でそれに一番ふさわしいのは@xuwei_kさんだと思います。恐ろしい数のcontributionという点で)。日本語圏でもScalaコミュニティ内で意義のある活動をしていたのは5年以上も前の事です。「外側」からみるとまた違って見えるかもしれませんが、それが正直な自己認識です。 色々な経緯があるにせよ、私が日本でScalaコミュニティに関する活動を始めたのは、Scalaが良い言語なので広めたいという本当に純粋な動機でした。Scala Conference in Japan 2013を最初に企画したのは私ですが、あれもまあ起爆剤として誰かがやらないとなあと思っていたのを勢いでやったことですし、そもそも私

                                              私は(もはや)国内Scalaコミュニティの偉い人ではありません - kmizuの日記
                                            • 平均年収の高い「プログラミング言語」 3位「Scala」、2位「TypeScript」、1位は?

                                              2位以下は「TypeScript」が690.4万円、「Scala」が667.9万円、「Kotlin」が664.9万円、「Ruby」が663.5万円と続いた。2022年の平均年収と比較し、大幅な上昇がみられたのが「Go言語」(51.5万円増)、「Sass」(54.8万円増)、「Perl」(91.5万円増)だった。 一方、「Scala」「C++」は22年と比較して、それぞれ平均年収が15.0万円、10.3万円減少。「C++」においては、20年から比較すると54.8万円も減少した。同社によると「C++の場合、基礎知識を持つ社会人の数が比較的少なく採用が難しいものの、学習経験者は多いため、経験が浅い若手人材の採用が進んだ結果ではないか」と分析している。 転職で企業からニーズが高い言語ランキングでは1位が「JavaScript」。2位以降は「Java」「PHP」「Python」「TypeScript

                                                平均年収の高い「プログラミング言語」 3位「Scala」、2位「TypeScript」、1位は?
                                              • for-yieldはScalaにおける内包表記 数学と似ているシンタックスシュガーの書き方

                                                アジア最大級の国際Scalaカンファレンスである「ScalaMatsuri2020」がオンラインで開催されました。ここで中村氏が「他言語経験者が0から始めるScala ~block式とfor式と型クラス~」をテーマに登壇。続いてyieldの付くfor式について紹介します。前回の記事はこちらから。 yieldの付くfor式 中村学氏(以下、中村):次はfor expression、for式についてです。「式」と言うように、Scalaのforは式です。他の言語ではfor文と言われますが、Scalaのforは式です。そのため評価すると値になります。Scalaの式は大きく分けて2種類あります。予約語のyieldが付くものと、付かないものです。 yieldが付かないfor式は、基本的に他の言語のforeach構文とほぼ一緒です。全体の式としての評価結果はユニットという、何の意味ももたない値になります

                                                  for-yieldはScalaにおける内包表記 数学と似ているシンタックスシュガーの書き方
                                                • プログラミング言語プロレス / Simple VS Easy

                                                  builderscon 2019 tokyo Lightning Talk の登壇資料です

                                                    プログラミング言語プロレス / Simple VS Easy
                                                  • Scalaで使えそうなメールライブラリの調査 - モヒカンメモ

                                                    Scalaでメール送りたくなってメールライブラリを探したのでまとめておく。 2019年になぜメールか アプリのプッシュ通知やLINE@などの通知手段が普及した2019年でも、保存性やエビデンス、長文の書きやすさ、所有の証明といったの観点でメールという手段も無視出来ない。 探し方 以前テンプレートエンジンを探したときと観点は同じ。 blog.pinkumohikan.com githubでそれっぽいキーワードで探して、 そこそこstarがついている (= みんなに使われている) 定期的に新バージョンがリリースされている contributorが一人じゃない 辺りの観点で、良さげなやつを見つける。 見つけたもの ScalaにはEmail系のAPIは用意されてないっぽいので、Java用のライブラリを使う感じになる。軽く探して見つかったのは Apache Commons Email と Simpl

                                                      Scalaで使えそうなメールライブラリの調査 - モヒカンメモ
                                                    • GitHub - softwaremill/tapir: Declarative, type-safe web endpoints library

                                                      With tapir, you can describe HTTP API endpoints as immutable Scala values. Each endpoint can contain a number of input and output parameters. An endpoint specification can be interpreted as: a server, given the "business logic": a function, which computes output parameters based on input parameters. Currently supported: Akka HTTP Routes/Directives Http4s HttpRoutes[F] Netty Finatra FinatraRoute Pe

                                                        GitHub - softwaremill/tapir: Declarative, type-safe web endpoints library
                                                      • Open letter of support for community members targeted by Jon Pretty

                                                        Open letter of support for community members targeted by Jon Pretty We, the undersigned, have become aware that, for some time, Jon Pretty has abused his position of privilege and stature within the Scala community to sexually harass and victimize women. He has used the community’s conferences to target women who are new to the Scala community, offering mentorship, access, and other forms of suppo

                                                        • Apache Pekko™

                                                          Apache Pekko™ is an open-source framework for building applications that are concurrent, distributed, resilient and elastic. Pekko uses the Actor Model to provide more intuitive high-level abstractions for concurrency. Using these abstractions, Pekko also provides libraries for persistence, streams, HTTP, and more. Pekko includes APIs for Java and Scala and is designed to run in JVMs. Apache Pekko

                                                          • GitHub - j5ik2o/warikan-domain-scala

                                                            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 - j5ik2o/warikan-domain-scala
                                                            • Scala 3

                                                              This website contains the developer documentation of the Scala 3 compiler. It targets developers interested in contributing to the compiler, or learning its internals. If you want to learn how to use Scala, go here. Table of Contents Reference Contributing Internals Blog (archive)

                                                              • Scala and the visitor pattern

                                                                Scala provides a handful of language features that are designed to make it easy for users to define and work with algebraic data types (ADTs). You write some case classes that extend a sealed trait, you write some functions that pattern match on those case classes, and you're done: you have a nice linked list or rose tree or whatever. Sometimes you can't use case classes to implement your variants

                                                                • Github ActionsによるScala製ライブラリの依存ライブラリ更新と定期リリースの自動化 - Chatwork Creator's Note

                                                                  どうも、かとじゅん(@j5ik2o)です。 Scala製ライブラリでの依存ライブラリ更新と定期リリースをGithub Actionsを使って自動化するようにしたので、以下にその方法をまとめます。 具体的な例を見たい場合は以下のリポジトリを参照してください。 github.com 自動化した作業 依存ライブラリのバージョンアップのPR作成とマージ リリースノートの生成 JARファイルの公開 ツールの前提条件など sbt-ci-release, sbt-scalafix, sbt-scalafmtのsbtプラグインは必須としています。CIでリリースするだけならsbt-ci-releaseの設定だけでOK project/plugins.sbt 参照 sbt-ci-releaseの設定 git tagに振られたバージョンに基づいてリリースするのでversion.sbtを削除 sbt-releas

                                                                    Github ActionsによるScala製ライブラリの依存ライブラリ更新と定期リリースの自動化 - Chatwork Creator's Note
                                                                  • Hedgehog will eat all your bugs

                                                                    Hedgehog automatically generates a comprehensive array of test cases, exercising your software in ways human testers would never imagine. Generate hundreds of test cases automatically, exposing even the most insidious of corner cases. Failures are automatically simplified, giving developers coherent, intelligible error messages.

                                                                    • Coursier · Pure Scala Artifact Fetching

                                                                      Don't wait for the slowest repositories, and enjoy multiple downloads at the same time from repositories allowing it

                                                                      • Extensible Effectsでトランザクションモナド“Fujitask”を作る - Qiita

                                                                        はじめに ScalaやHaskellなどではモナドを利用して副作用1を抽象化するということがしばしば行われる。FujitaskはScalaで実装された1つのモナドで、データベースへのアクセスに関するトランザクション制御を抽象化した。ところがモナドはReader[Future[Either[Error, Option[A]]]]のようにいくつものモナドが入れ子になってしまったとき、Scalaのfor式のようなモナド構文では内側のモナドへのアクセスが難しくなってしまう。 この問題へのアプローチとして有名なものにモナドトランスフォーマーがある。あるモナドトランスフォーマーTは任意モナドMを引数に取ってT[M]となる新しい1つのモナドとなり、このモナドT[M]はTとMの両方のモナドの能力を持つ。たとえばエラーと成功を表すようなモナドトランスフォーマーEitherTと、非同期実行を表すモナドFutu

                                                                          Extensible Effectsでトランザクションモナド“Fujitask”を作る - Qiita
                                                                        • GitHub - zio/zio: ZIO — A type-safe, composable library for async and concurrent programming in Scala

                                                                          ZIO is a zero-dependency Scala library for asynchronous and concurrent programming. Powered by highly-scalable, non-blocking fibers that never waste or leak resources, ZIO lets you build scalable, resilient, and reactive applications that meet the needs of your business. High-performance. Build scalable applications with minimal runtime overhead. Type-safe. Use the full power of the Scala compiler

                                                                            GitHub - zio/zio: ZIO — A type-safe, composable library for async and concurrent programming in Scala
                                                                          • Scalaのcatsについて知っておきたい9つのtips(和訳記事) - Qiita

                                                                            はじめに Scalaでの開発でcatsを使っているおり、使えそうなので和訳しました。(ただしところどころ日本語的に訳すのが難しい場合は、訳さなくても理解するのに影響がなければ無視し、それ以外は意訳や、直訳した上で括弧内でコメントを残しました) この記事のもとは9 tips about using cats in Scala you might want to knowです。 本編 Scalaの関数型プログラミング(以下、FP)は言語の様々な構文と意味の特性故に、難しいのかもしれない。特に、一度は聞いたことのあるFPの中心的なライブラリの中には、いくつかの特徴的で「何かをするのに適切な方法」が存在する。それは一目瞭然だが、ガイダンスがないと始めたてのときには見つけられない。 そのため、私はこの投稿の中でScalaのFPにおけるいくつかの慣習のtipsを共有することは役立つと考えている。例や特

                                                                              Scalaのcatsについて知っておきたい9つのtips(和訳記事) - Qiita
                                                                            • Cats の関数覚え書き(Functor, Apply, Applicative, FlatMap) - Qiita

                                                                              この記事は MicroAd Advent Calendar 2021 の 1 日目の記事です。 はじめに 現在、弊チームでは Cats 製の WEB アプリを実装(既存のアプリのリプレイス)を進めています。 Cats にはたくさんの型クラスにたくさんの関数が定義されているのですが、それを知った上で実装を行うのと、知らないで実装を行うのではコーディングの難易度に天と地ほどの差があるように感じています。 今回はチームメンバーへの共有も兼ねて、よく使うであろう型クラスの関数について覚書程度ですが使い道などを書いていこうと思います。 flatMap とそれに連なる型クラス Functor Bifunctor FunctorFilter Apply Applicative FlatMap エラー処理に関する型クラス ApplicativeError MonadError cats.kernel 系

                                                                                Cats の関数覚え書き(Functor, Apply, Applicative, FlatMap) - Qiita
                                                                              • How to build an Event-Sourcing system using Akka with EKS

                                                                                There is a movement to configure Akka-Cluster on Kubernetes and build a system that is resilient and scalable. Because Akka is a toolkit for developing distributed applications across nodes, it requires orchestration capabilities such as deployment scaling at the container level. In that sense, Kubernetes is now a viable option. EKS has just arrived in the Tokyo region, so I think this kind of int

                                                                                  How to build an Event-Sourcing system using Akka with EKS
                                                                                • はじめての Monad, Monad Transformer, Extensible Effects | Recruit Tech Blog

                                                                                  はじめての Monad, Monad Transformer, Extensible Effects Ariizumi Shumpei こんにちは。RECRUIT Job for Student 2021 Summer で、スタディサプリ ENGLISH の開発を行なっていた有泉洵平です。 スタディサプリ ENGLISH のサーバサイドでは Extensible Effects を導入しています。それを扱うにあたり Monad, Monad Transformer, Extensible Effects を学んだため、この記事にまとめます。 また、RECRUIT Job for Student 2021 Summer に興味のある方は、そちらについても記事を書いたため、参考にしてください。 要約 Monad とは、pure と flatMap というメソッドを持ち、Monad 則を満たすも

                                                                                    はじめての Monad, Monad Transformer, Extensible Effects | Recruit Tech Blog