InfoQ ホームページ Functional Programming に関するすべてのコンテンツ
-
Phoenix LiveViewはリアルタイムサーバーレンダリングアプリにSPAのようなインタラクティビティを約束する
Phoenixウェブ・フレームワークが一般公開されてから9年、Phoenix LiveViewは最近1.0(リリース候補)に達した。LiveViewによって、開発者はJavaScriptを書くことなく、リッチでリアルタイムのサーバー・レンダリング・アプリケーションを作成できる。LiveViewはErlang仮想マシン(BEAM)に依存しており、複数のプロセスで同時に処理される何百万ものWebSocket接続に対応できる。
-
Erlangランタイムの静的型付け関数型言語Gleamがバージョン1.0に到達
Erlang仮想マシン(BEAM)上で実行されるアクターベースの高度な並行処理が可能な関数型言語であるGleamがバージョン1.0に到達した。これは、セマンティックバージョニングに基づいた下位互換性が保証され、運用システムで使用できるようになったことを意味する。
-
Discord、単一サーバーで100万人以上のオンラインMidJourneyユーザーに拡大
Discordは、応答性の高いユーザー体験を維持しながら、単一サーバーで100万人以上のオンライン・ユーザーにサービスを提供するためにプラットフォームを最適化した。同社は、システム観測可能性とパフォーマンスチューニングに支えられた一連のパフォーマンスとスケーラビリティの改善で、何十億ものメッセージ通知を扇状に流す役割を担うギルドコンポーネントを進化させた。
-
関数型プログラミングによるレイトアーキテクチャ
ソフトウェアアーキテクチャの多くのアプローチはアーキテクチャを最初に計画することを前提としている。残念ながら、この方法で計画されたアーキテクチャは、後で変更することが難しい。関数型プログラミングは、事前の計画を最小限にとどめ、アーキテクチャの決定を後から変更できる程度の疎結合を実現するのに役立つ。
-
SoundCloudでパブリックAPI Stranglerが終わりを迎えた
SoundCloudは、Stranglerパターンを使って、モノリスアプリケーションから本格的なBFFへの移行の過程を無事に完了した。
-
F# 6が、再開可能なコード、パターンマッチング、ツールの改善などを導入
F# 6は言語、ライブラリ、ツールに対して豊富な新機能を提供する。パフォーマンスを向上させ、プログラマーが簡単にF# 6に切り替えられることを目指している。
-
OCaml 5、マルチコアサポートを導入へ
OCamlチームが言語ランタイムのマルチコアサポート追加に関する詳細なロードマップを公開した。OCaml 5に向けた次期マイナーリリースでは、マルチコアランタイムと標準ランタイムの統合に重点が置かれている。
-
Erlangにインスパイアされた言語GleamがJavaScriptにコンパイルされるようになった
Erlang仮想マシンの型安全でスケーラブルなシステムを構築するための言語と自己記述しているGleamは、JavaScriptにもコンパイルされるようになった。
-
Javaニュース総まとめ: MicroProfile 4.1、Spring Bootアップデート、 Kotlin、Scala、OpenJDK、Liberica JDK
2021年7月19日の今週のJava総まとめでは、JDK 17、JDK 18、OpenJDK、Liberica JDK、GraalVM、MicroProfile 4.1、Quarkus 2.0.3、Hibernate、Spring Framework、JobRunr 3.4.0、RefactorFirst 0.1.0、Apache Tika 2.0.0、Kotlin 1.5.30-M1、Scala 3.0.1とScala 3.0.2-M1のニュースを取り上げる。
-
Javaニュース総まとめ - 2021年6月28日週
今週のJava総まとめでは、JDK 17、JDK 18、GraalVM Native Build Tools、TornadoVM 0.10、Quarkus 2.0およびApache Camel Quarkus 2.0のリリース、Apache Camel 3.11、Apache Wicket、Helidon、Micronaut Foundation、JReleaser 0.5.0、IntelliJ IDEA 2021.1.3、Gradle 7.1.1、Hibernate、Scala、ASM、およびSpring Frameworkからのニュースを取り上げる。
-
Scala 3は、開発者エクスペリエンスを向上させるために言語をオーバーホール
作成から8年、バージョン 2.13以降の最初のメジャーリリースであるScala 3.0は、構文、型システム、メタプログラミング、および言語機能の更新を含む「Scala言語の完全なオーバーホール」をデリバリーした。これはScala 2.13とのバイナリ下位互換性はあるが完全なソースの互換性はない。新しいコンパイラは、古いコードを自動的に移行し、残りの問題をレポートできる。
-
Sonatype LiftがFacebook Infer、Google ErrorProne等のコード分析ツールを統合
先頃リリースされたSonatype Liftは、開発者が開発パイプラインのさまざまなバグをできるだけ早く特定するのに役立つ25を超えるツールを含む統合コード分析プラットフォームを提供すると、Sonatypeは言います。InfoQは、詳細について、Sonatypeの製品イノベーション担当副社長であるStephen Magill氏と話をした。
-
効果的効果 - ソフトウェアコンポーネント間の双方向通信の統合
Waterloo大学の助教授であるYizhou Zhang氏は、双方向制御フローをサポートしながら、現在の制御フローパターン (例外、promise、generator など) を包含する新しいプログラミング抽象化である双方向の代数的エフェクトを発表した。新しい型付き抽象化により、宣言されたすべてのエフェクトが処理され、間違ったハンドラによって誤ったエフェクトが処理されることはない。
-
OpenTelemetry仕様が1.0に到達、安定性の保証と新たなリリース候補を提供
OpenTelemetry仕様がv1.0.0に到達した。このマイルストンには、安定性の向上と後方互換性の保証に加えて、多くの言語で使用可能なAPIとSDKのリリース候補が含まれている。また、今回のリリースで、トレースAPIとトラッキングSDKが安定版となった。
-
Scala 3への道
Scala 3には多くの変更が組み込まれており、Dottyに基づいている。新しいコンパイラは、Document Object Typesの内部データ構造を使用する。過去8年間の開発において、新しい型を含むDottyの新機能は、改善されたenum型の処理とメタプログラミングが含まれる。最初のリリース候補が利用可能になり、バージョン 3.0.0は2021年の初めから中頃にリリースされる予定だ。