Scala

Akka/Pekko Actorの初歩

Akka/Pekkoとは Akka/Pekkoとは、JavaやScalaをメインにしたJVMで利用できるパイプライン的に非同期処理を行うためのライブラリです。 実際にはかなり多くの機能の集合体なので、この説明も正確ではないかもしれませんが、肝となっているのは非同期処理をう…

Java 25で追加されたGatherersでScalaのcollectのようなことを試してみた

はじめに こんにちは。DTダイナミクスの切削サービスの開発をしております、大崎です。 普段、meviyの開発自体ではJavaを使っていませんが、筆者個人としては過去にJavaを使って開発していたこともあって、今年の Java 25(LTS)の興味をもった機能について…

SemanticDB を利用して、ソースコードから依存関係を可視化する

こんにちは、KAJIです。 本記事では、SemanticDBを利用してソースコードよりシステムの依存関係を把握する方法を紹介します。 背景 | それはどこにでもよくある、開発の現場での困りごと プロダクト開発では、機能追加しリリースした後はフィードバックを元…

Playアプリのconf設定をシュッと上書きする方法

はじめに こんにちは、meviyの切削Webチームの小平です。 最近、Play Frameworkアプリの設定を切り替える方法について考える機会がありました。今回はその際に使ったちょっとした工夫をご紹介します。 背景 ある機能をサーバーAから、新設したサーバーBに切…

ScalaのOptionってなんやねん

ごあいさつ こんにちは。meviyのGrowthチームで開発している林です。 もともとJava/Kotlinを利用して開発しているところからScalaを利用した開発に飛び込んでまずハマったOption型について話してみようかと思います。 Option型とは そもそもOption型ってなん…

Scalaの.copyについて

ごあいさつ こんにちは。meviyのWebシステムを開発している谷平です。 Scalaの.copyはケースクラスにおいて便利な機能の1つです。 本記事では、.copyの便利な点やJavaとの比較、ユニットテストでの活用例を紹介します。 .copyの便利な点 .copyは、オブジェク…

Scalaのパーサーコンビネーターで四則演算をやってみよう

はじめに こんにちは。meviyのWebシステムを開発している大崎です。 プログラミングをしていて、独自に定義した数式のようなものを読み込ませようとして、正規表現などを駆使して何とか実装した、といった経験はありませんか? 私がScalaの中で面白いと思う…

Scalaのコレクションメソッド .containsと.existsについて

ごあいさつ こんにちは。meviyのWebシステムを開発している大崎です。 今回は、Scalaのコレクション内に要素の存在チェックに使われるメソッドについて触れたいと思います。 ごあいさつ 各メソッドの紹介 .contains メソッド .exists メソッド 実装例 .conta…

ScalaのCollectionの.collectを使って要素をフィルタリング&変換する

ごあいさつ こんにちは。meviyのWebシステムを開発しています、大崎です。 今回は、Scalaでコードを書く中でよく使うことになるであろう、コレクションの.collectメソッドについて、その紹介と実装例、Javaとの比較について書いていきたいと思います。 ごあ…

Scalaのユニットテストで浮動小数点数の比較を行う

こんにちは。meviyのWebシステムを開発しています、大崎です。 主に溶接関連の機能を開発しております。 今回はScalaのユニットテストでの浮動小数点数の比較について触れたいと思います。 Scalaのユニットテストで浮動小数点数を比較する方法 準備 ScalaTes…

Scala初心者がScalaのfor式を説明してみる

ごあいさつ こんにちは。meviyを動かしているWebシステムを開発しています、大崎です。 実は今年の春の入社でして、これまでJavaやKotlin等を長く書いてきましたが、 DTダイナミクスに入社して初めてScalaを本格的にやることになりました。 既存コードを改修…

Scala パターンマッチ紹介

はじめに DTダイナミクスでmeviyの開発エンジニアをしている眞神です。 DTダイナミクスのメインプロダクトの一つmeviyではバックエンドにScalaを採用しています。 Scalaは習得難易度が高いなどの理由からGoogle検索のサジェストでネガティブワードが出がちで…