並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 26 件 / 26件

新着順 人気順

scalaの検索結果1 - 26 件 / 26件

  • じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル

    先日こういうツイートが流れてきた。 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。— 遊撃部長F/S&RWAs (@fstora) 2024年6月6日 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。 普段我々がゴリゴリ馬車馬のように使っているソフトウェアでよく利用されている浮動小数点型、すなわちfloatやdoubleなどは特定の算術に弱いことが知られている。というかもうこの手の話題はあまりに拡散されてしまったので、なぜかネット民はみんな知っている基礎教養、三毛別羆事件とかデーモンコアみたいな感じになっている。 ちなみにこれはCOBOLかそうではないか、という軸が問題になっ

      じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル
    • TwitterがScalaを採用した大昔を振り返ってScalaについて色々考えてみる - xuwei-k's blog

      雑にtweetしたら多少反応があったというか、新しいもの書くばかりではなく歴史を振り返る方が、場合によっては面白いというかためになるというか、 そもそもプログラミングに限らず現在や未来は過去の延長線上でしかないので、歴史を振り返ることは大事ですね。 先に断っておきますが「X(旧Twitter)」と書くの面倒だし「X」だけだとわかりにくいので、*1単にTwitterと記述すると思います。 あと自分はTwitterの中の人や昔Twitterの中の人だった人と軽く話したことはある程度で、もちろん自分はTwitterの中の人だったことはないです。外から観察した情報を書くだけです。 さて、どこから振り返ればいいのか難しいのと、そもそも歴史そのものを正確に詳細に振り返るというよりは、当時(から現在に至るまで)の雰囲気を伝えることや、それに対する自分なりの解釈などを書きつつ、これの読者に同じように過去を

        TwitterがScalaを採用した大昔を振り返ってScalaについて色々考えてみる - xuwei-k's blog
      • ポーランドのVirtusLabでScalaのコンパイラエンジニアとして活躍中のid:tanishiking24を訪問 | はてな卒業生訪問企画 [#14] - Hatena Developer Blog

        こんにちは、CTO の id:motemen です。 Hatena Developer Blogの連載企画「卒業生訪問インタビュー」では、創業からはてなの開発に関わってきた取締役の id:onishi、CTOの id:motemen、エンジニアリングマネージャーの id:onkが、いま会いたい元はてなスタッフを訪問してお話を伺っていきます。 id:motemen が担当する第14回のゲストは、ポーランドを拠点とするソフトウェア開発およびコンサルティング企業であるVirtusLabで、Scalaのコンパイラエンジニアとして活躍しているid:tanishiking24 さんこと、谷口力斗さんです。 id:tanishiking24 さんは、京都大学工学部の学生時代からはてなにアルバイトとして所属。その後、2017年に新卒で入社し、「はてなブックマーク」をScalaとDDDで完全リライトする大規

          ポーランドのVirtusLabでScalaのコンパイラエンジニアとして活躍中のid:tanishiking24を訪問 | はてな卒業生訪問企画 [#14] - Hatena Developer Blog
        • Scala3の開発体験がScala2時代に比べてめちゃくちゃ良くなっていた話 - Qiita

          ドワンゴのN予備校という教育サービスでプログラミング講師をしている @sifue といいます。N高等学校/S高等学校のプログラミング講師もしており、学内のツール開発や運用などもしたりしています。 最近は生成AIが流行ったこともあって、Pythonだったり、UIが必要なものはどうしてもTypeScriptとReactで実装することも多いのですが、久しぶりにScalaを使っての開発をしてみました。 自身は、Scalaでの開発はニコニコ生放送のサービスを開発するときに使っていた他、N予備校内で提供している大規模Webアプリの教材やドワンゴが当初作成していたScalaテキストの作成などにも関わらせてもらいました。 その当時のScalaは2.12であったわけなのですが、その後2.13が出て、さらに今はScala3系になって3.3.1までバージョンが進み、開発環境が変わってすごく使い勝手がよくなったと

            Scala3の開発体験がScala2時代に比べてめちゃくちゃ良くなっていた話 - Qiita
          • Scala 3のmatch typeで数独チェッカーを作った - xuwei-k's blog

            なんかtweet流れてきたので TypeScriptの型がどれほど強力かというと、コードエディタ上で直接数独ができるほどの複雑な型を作成した方がいるほどです。このSudoku型を使用すると、TypeScriptの型チェッカーが間違いを正確に指摘してくれます。 pic.twitter.com/mCXXjGqK9D— Jeffry Alvarado (@jalva_dev) September 7, 2024 github.com Scala 3のmatch type自体の詳細な説明は省略しますが、compile時計算的なことができて、チューリング完全です https://tarao.hatenablog.com/entry/lambda-scala3 あくまで答えがvalidか?のcheckerだけで、プレースホルダー部分実装してない それも実装しました。下記に貼った 少なくともIntell

              Scala 3のmatch typeで数独チェッカーを作った - xuwei-k's blog
            • Scala の Wasm バックエンドを実装した

              Scala.js 1.17.0 で実験的な Wasm backend がサポートされました! リリースノートに書いてあるとおり、以下のような設定をすることでScala.jsがJSの代わりにWasmモジュール(とモジュールに渡すJS object)を生成することができます。 @JSExport によるモジュールのexportがサポートされていませんが、それ以外のsemanticsはサポートされており、既存のScala.jsアプリケーションを変更なしにWasmにビルドすることが可能なはずです。(もし何か問題があれば教えて下さい!) // Emit ES modules with the Wasm backend scalaJSLinkerConfig := { scalaJSLinkerConfig.value .withExperimentalUseWebAssembly(true) //

                Scala の Wasm バックエンドを実装した
              • map関数の内部実装から探るJVM言語のコレクション: Scala, Kotlin, Clojureコレクションの基本的な設計を理解しよう | ドクセル

                「楽しく楽にcoolにsmartに」を理想とするprogrammer/philosopher/liberalist/realist。 好きな言語はClojure, Haskell, Elixir, English, français, русский。 読書、プログラミング、語学、法学、数学が大好き! イルカと海も大好き🐬

                  map関数の内部実装から探るJVM言語のコレクション: Scala, Kotlin, Clojureコレクションの基本的な設計を理解しよう | ドクセル
                • ハマったポイントたくさんあったけどPlay3.0/Scala3.3へバージョンアップできたよ - エムスリーテックブログ

                  こんにちは。エムスリーエンジニアリンググループでScalaとマミさんが好きな安江です。今回は私が所属している製薬企業向けプラットフォームチームのPlay製プロダクトのPlay/Scalaバージョンアップのお話です。当初Play2.8にバージョンアップしていたのですが、その最中にPlay2.9/Play3.0やScala LTSが出たりもしました。最終的にPlay3.0/Scala3.3にバージョンアップできて本番稼働できたサービスもあるので、そのバージョンアップの経緯をご紹介します。 Play2.8への道のり Play3.0へのバージョンアップ ハマり1:依存ライブラリがPlay2系に依存している ハマり2:ScalikeJDBCの依存関係 ハマり3:サーバーバックエンドの変更 ハマり4:sttpのバックエンドの変更 ハマり5:if式が値を返さない まとめ We are hiring !!

                    ハマったポイントたくさんあったけどPlay3.0/Scala3.3へバージョンアップできたよ - エムスリーテックブログ
                  • ZIO Lambdaを用いてScalaネイティブバイナリをAWS Lambdaで動かしてみた - エムスリーテックブログ

                    こんにちは。エムスリーエンジニアリンググループでScalaとマミさんが好きな安江です。今回は私が所属しているデジカルチームのお話です。ZIO Lambdaを使ってScalaネイティブバイナリをAWS Lambdaで動かしてみました。こちらの技術スタックの紹介をします。 ZIO Lambda 背景 技術スタック Scala ZIO ZIO Lambda GraalVM Native Image 実装 プロジェクトの作成 ライブラリの追加 ハンドラーの作成 ネイティブバイナリのビルド AWS Lambdaへのデプロイ まとめ We are hiring !! 背景 特定の処理で、外部から提供されたJARライブラリを使う必要がありました。弊社電子カルテはRails製なのですが、別のバックエンドにSkinny(Scala)製のサーバーを使っていたため、そのサーバーに処理を相乗りさせました。しかし、

                      ZIO Lambdaを用いてScalaネイティブバイナリをAWS Lambdaで動かしてみた - エムスリーテックブログ
                    • Tagged Type(Branded Type)を使って飛行機の不時着や人工衛星紛失を防ごう / Scala 3ではTagged Typeを簡単に作れる - Lambdaカクテル

                      Tagged Type というテクニックがある(TypeScript界隈などではBranded Typeと呼ばれているようだ)。実行時の型としては同じだが、型システム上はこれを区別して別物として扱い、混同できなくする仕組みを作るためのものだ。 AIくん!サムネイラスト作って!と頼んで作ってもらった画像 Tagged Type 単位の取り違えによる事故は後を絶たない。世の中には、キログラムとポンドを混同して飛行機があわや墜落しかけたり、メートルとヤードを混同して人工衛星がどっかに行ったりしている。尊い人命や国民の血税と比べるといささか霞むかもしれないが、ユーザIDとペイロードを間違えて送信したり、金額と口座番号を取り違えて送金したり、秘密鍵と公開鍵を間違えて表示したりしてしまえば、プログラマが大変な苦労をするか、会社そのものが傾くだろう。 しかしながら、データとしてはどちらも同じDouble

                        Tagged Type(Branded Type)を使って飛行機の不時着や人工衛星紛失を防ごう / Scala 3ではTagged Typeを簡単に作れる - Lambdaカクテル
                      • Scalaわいわい勉強会 #3【東京】へ参加してきた、楽しかった、最高だった - Magnolia Tech

                        scala-tokyo.connpass.com 久しぶりのScalaのイベント「Scalaわいわい勉強会 #3【東京】」に参加してきました いやーディープなScalaの話が聞ける場所は貴重なので、最高でした 会場は乃木坂のWeWork! 開始時間を完全に間違えて18:30スタートだったのに、19:00に会場到着 (しかも、参加者に送られてはずのWeWork入館メールを紛失してしまい、運営の方に開けてもらって入場...ありがとうございました) 残念ながらちょうど一つ目の発表が終わったところで完全に聞き逃してしまいました さいわい、スライドが公開されていました speakerdeck.com コード同士の合成がシステマチックにできるところがScalaの最大のメリットだと思っていて、ただそれがちょっと複雑な構造になってくると逆に読み解くのが難しくなったり、ネストしたデータ構造を分解して詰め直す

                          Scalaわいわい勉強会 #3【東京】へ参加してきた、楽しかった、最高だった - Magnolia Tech
                        • record4s --- Extensible Records for Scala 3, and Domain Modeling with Structural Types

                          In this talk, we learn about the basics of my library called "record4s", which provides type-safe extensible records for Scala 3. It runs on JVM, JS, an…

                            record4s --- Extensible Records for Scala 3, and Domain Modeling with Structural Types
                          • ScalaにGoroutineがやってくる!非同期処理ライブラリOxで遊んだ - Lambdaカクテル

                            Channelスタイルの並行処理の記述を(もちろん型安全に)可能にするライブラリOxについて調べて試してみた。結論から言うと書き味がめちゃくちゃ良くて面白い。 ソースコードも置いておく。 github.com Ox Oxとは、sttpなどの開発でお馴染のSoftwareMillによって開発されているScala用の非同期ライブラリである。まだ非常に若く、活発に開発されている。 github.com Oxの特徴は、というか目的といっても差し支えないのだが、それはChannel指向の非同期処理、つまりGoroutineをScalaの上で実現している点だ。Goユーザならすぐに理解できるだろう。 百聞は一見に如かず。こんな感じのコードを書くことができる(v0.0.25時点)。 import ox.* import ox.channels.* import scala.concurrent.durat

                              ScalaにGoroutineがやってくる!非同期処理ライブラリOxで遊んだ - Lambdaカクテル
                            • プロジェクトS: Scala 3で #ISUCON 14に出て優勝せよ (点数: 0点) - Lambdaカクテル

                              これは、前人未踏の地に飛び込んでいった漢たちの物語・・・ ツッコミ所がいっぱいあると思います。どんどんツッコんで賑やかしてください。ISUCONの経験がそんなにあるわけではないので、アホみたいなことをしているかも。俺をBIGにしてください! また、書いている話は「ISUCONやそれに近しい局面ではこう」という話なので、人類普遍の真実を述べているわけではない。 あらすじ ISUCON14お疲れさまでした。 ISUCONといえば例年いろいろな言語で参考実装が公開され、そのうちどれかを選んで改善していくというスタイルが一般的、というか普通なのだが、自分たちは参考実装が一切存在しないScala 3で突入し、1000点ちょっとを獲得し、最後らへんでnginxの調子がおかしくなって0点となり散っていった。そういう人生も良いと思います。 ちなみに測定とかの話は出てきません。測定まで行けなかった物語です。

                                プロジェクトS: Scala 3で #ISUCON 14に出て優勝せよ (点数: 0点) - Lambdaカクテル
                              • Scalaの勝手マスコット Scala-kun を作りました - Lambdaカクテル

                                作った Scalaの非公式なキャラを作った。 GitHubにSVGがあります。CC BY-SA 4.0でライセンスしているので、それに基いて勝手に使ってください。例えば、スライドに挿入したり(スライド末尾や適当な場所にクレジットしてください)、ライセンスを継承することを条件に改変したりできます。 github.com Scalaキャラ不在の歴史 プログラミング言語Scalaには公式的なキャラクターがいません。そんな中、他の言語では個性的なキャラクターがいて様々な場所にモチーフとして登場しています。 Gopherくん https://go.dev/blog/gopher The Go Gopher - The Go Programming Language D言語くん https://dlang.org/overview.html Overview - D Programming Langu

                                  Scalaの勝手マスコット Scala-kun を作りました - Lambdaカクテル
                                • ScalaでWebアプリを爆速開発するための技術スタック 2024 - Lambdaカクテル

                                  去年はこれです。ちらほらスターがもらえていたりするので、今年も更新するかという気になった。 blog.3qe.us 以下の項目について技術スタックを考えていく。太字は今年になって追加したもの。 言語 エディタ ビルドツール スクリプティング ロギング テスト 依存性注入(DI) アーキテクチャ Webフレームワーク/サーバ GraphQL フロントエンド RPC テンプレートエンジン JSONまわり RDBMSまわり キューイング Auth 便利なツール/ライブラリ ローカル開発テク デプロイとか 言語 エディタ ビルドツール スクリプティング ロギング テスト アーキテクチャ / 依存性注入(DI) Webフレームワーク/サーバ GraphQL フロントエンド RPC テンプレートエンジン JSONまわり RDBMSまわり キューイング Auth 便利なツール/ライブラリ コンフィグ コ

                                    ScalaでWebアプリを爆速開発するための技術スタック 2024 - Lambdaカクテル
                                  • Scala 3のgivenとusingとtype classのcoherence - xuwei-k's blog

                                    type classのcoherenceという観点を中心にして、Scala 3の新しい文法に関して、(Scala 2と比較して)思想やお気持ちを解説した記事をあまり見かけたことがない気がしたので、 特にすごく新規性などがある話ではないはずですが、自分なりに書いてみようと思います。 まず、coherenceという単語や概念についてですが、詳細に正確に説明するのは面倒なので、例えば日本語なら以下などを読んでみてください togetter.com mizunashi-mana.github.io 書きたいこととしては、 Scala 2でもScala 3でも、捉え方によってはこのあたりのcoherenceに関する機能は大きく変わってないと捉えることもできるし、 微妙に細かい部分が変わっているので、別の捉え方をすると、細かいけど重要な変更がされているのでは?ということを書いていきます。 「coher

                                      Scala 3のgivenとusingとtype classのcoherence - xuwei-k's blog
                                    • Scala アプリケーションのビルドを改善してデプロイ時間を 1/4 にした話 | How I improved the build of my Scala application and reduced deployment time by 4x

                                      2024/09/06 Scalaわいわい勉強会 #3 https://scala-tokyo.connpass.com/event/325327/

                                        Scala アプリケーションのビルドを改善してデプロイ時間を 1/4 にした話 | How I improved the build of my Scala application and reduced deployment time by 4x
                                      • 僕が Scala 3 が好きな 10 の理由 · eed3si9n

                                        2024-06-24 / scala 何で Scala 3 をそんなに推すのかと聞かれることがあるので、リスト形式で書き出してみた。順は特に無し。これは僕が Scala 3 をどう書いているかとか、将来どう書きたいのかみたいな個人的な好みに基づいているので、それは注意してほしい。 1. enum (と GADT) Scala 3 で enum が追加され、これは case class のアップグレード版だと考えることができる。ボーナスとして、これは GADT も扱うことができる。 case に関する備考: 一旦 Scala 2 に戻るが、case class の case がどこから来たのか考察した人はいるのだろうか? 一つの説としては、case は C 言語とか Java の switch 文の流れをくんでいて、既に予約語なのでそれを使ったと考えることもできる。 もう1つの由来として僕が

                                        • いきなりScalaを書いた

                                          リポジトリ出来上がったものがこちら 原神に出てくるタルタリヤというキャラクターの名台詞、「俺が払うよ」を発するだけのBOTです。 本当にこれだけです。 書くこと この記事では、いきなりScalaを使ってやったこと、感じたことをつらつらと書いていきます。なお、私は(自称)Rustaceanなので使用する語彙は大体Rustの文脈でよく使われるものです。 環境構築 Nix Flakeのセットアップ まずはやはりこれですね。この時点でformatterやLSPなども調査をして、以下の構成を組みました。 OpenJDK jdk21 Scala 3 scala_3 (これ後で変えます) sbt sbt scalaのパッケージマネージャー metals metals Language Server 該当commit: ec19b90 あと、overlayを設定したのに効いていないことに後で気づいて直しま

                                            いきなりScalaを書いた
                                          • Scala 3のmatch typeで数独solverを作った - xuwei-k's blog

                                            昨日の続き xuwei-k.hatenablog.com 昨日のcheckするだけのものは数秒で終わるのですが、これは手元で compileに2分くらい かかります。 速度に関して改善の余地があるのかどうか?はわかりません。 改善したら、問題が簡単なら数秒で終わるようになりました。 いくつかtweetしましたが、compilerの限界なのでは?と思ったけれど、頑張った結果、いくつかは自分のミスでした。例えば 割り算するべき箇所で余りを取っていた scala.compiletime.ops.any.== は、singleton同士ではないと比較不可能。例えば (1, 2) と (3, 4) といったTupleのまま比較不可能なので、自前でsingletonになるまで必要に応じて再帰的に分解しつつdeepなequalsを実装する必要がある(つらい) 複雑になり過ぎると、上記のようなミスをした場

                                              Scala 3のmatch typeで数独solverを作った - xuwei-k's blog
                                            • ScalaMatsuri 2024 で Scala の WebAssembly 対応について話しました / スタッフとして参加しました - たにしきんぐダム

                                              2024年6月に開催された ScalaMatsuri 2024 に参加しました! Scala to WebAssembly: How and Why 今回は久々の大規模オフライン開催で、会場は久しぶりにお台場のプラザ平成でした。この会場でのScalaMatsuriに参加したのは5年前の2019年(と2018年に初参加)だったので、とてもエモい気持ちで会場に向かいました。 今年はスピーカー兼スタッフとしての参加で、スピーカーとしては最近開発しているScalaのWebAssembly対応について話し speakerdeck.com スタッフとしては、プログラムの選定や翻訳・(@scala_jpと@scalamatsuriの)SNS運用・(会場でたまに)通訳などをさせていただきました。大変だったけど楽しかった!来年以降もScalaMatsuri運営に関わっていきたい😎 久々の大規模オフライン開

                                                ScalaMatsuri 2024 で Scala の WebAssembly 対応について話しました / スタッフとして参加しました - たにしきんぐダム
                                              • (初心者向け)Scalaでsbtプロジェクトを作るときの勘所 - Lambdaカクテル

                                                この記事では、Scala初心者がプロジェクトを作るときに分かりにくい(であろう)ポイントを埋めようというものです。 こんな記事を読んだ。 trap.jp 普段Rustを書いている人がScalaを書いてみたという内容の記事で、普段Scalaに振れていない人の視点があってとても良かった。普段我々はScalaを書きすぎているので、初心者がどこでハマるのか?初学者はどのようなポイントを見ているのか?といったことがわからないのだ。 そこでこの記事では、上掲の記事を参考にしつつ、普段自分がScalaプロジェクトを作るときどのようにしているかを説明しようと思う。 プロジェクトを作る 最低限必要なもの sbtはどこからどこまでやってくれるのか プロジェクト作成 その他エコシステムの諸々(コンパイラ、フォーマッタなど) コンパイラ LSP Formatter / Linter scalafmt scalaf

                                                  (初心者向け)Scalaでsbtプロジェクトを作るときの勘所 - Lambdaカクテル
                                                • AI Coding Agent 時代の Scala

                                                  Tweet / Photo allowed. This work by Windymelt is licensed under CC BY-SA 4.0 class: center, middle # AI Coding Agent 時代の Scala <time itemprop="datePublished" datetime="2025-03-14">2025-03-14</title> Scala わいわい勉強会 #5 `id:Windymelt` --- # Windymelt - [Windymelt](https://www.3qe.us/)です - 全宇宙でこの ID を使っています - mixi2 もやってるよ - GitHub, X/Twitter, etc... - PGP: `F2FC 63C2 42C0 4D9D` - 2016- [株式会社はてな](https:

                                                  • Scala 3.6が出たので見所を紹介するよ - Lambdaカクテル

                                                    Scala 3.6.2が出た!やったー! github.com Scala 3.6.2は、Scala 3.6系の最初の正式なリリースで、数多くの機能が追加された。この記事ではそのうち主要な機能を紹介する。また、正確さよりも分かりやすさを優先してザックリ書いているところがあるので、そういうときはブコメや記事で補足してもらえると嬉しい。 Scala 3.6.2を使う 3.6.0と3.6.1との関係 Clause Interleaving (SIP-47)の安定化 GivenとContext Boundsの記法の拡充 (SIP-64) Context Bounds for Polymorphic Functions Add an infix shorthand for Tuple.{Append, Concat} まとめ Scala 3.6.2を使う Scala CLIでは、-S 3.6.2オプ

                                                      Scala 3.6が出たので見所を紹介するよ - Lambdaカクテル
                                                    • Scala 3.8くらいからJDK 17以上が必須になるぞ! - xuwei-k's blog

                                                      ほぼ中身がないですが、すごく重大ニュースなので、日本語で検索したときに引っかかりやすい的な理由により、雑に書いておくだけのエントリ。 www.scala-lang.org 以前JDKのversionが上がったのは、主にJDK 8でinterfaceのdefault実装が持てるようになり、Scalaのtraitでもそれを利用するようにしたいよね、という経緯により決定された Scala 2.12からです。Scala 2.12.0のリリースは2016年10〜11月頃らしいので、実に8〜9年ぶりです。 (他にはSAM type関連でも8以上になってた方がいい、などもあった気はするが) https://github.com/scala/scala/releases/tag/v2.12.0 https://repo1.maven.org/maven2/org/scala-lang/scala-libr

                                                        Scala 3.8くらいからJDK 17以上が必須になるぞ! - xuwei-k's blog
                                                      1