並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 41件

新着順 人気順

Kotlinの検索結果1 - 40 件 / 41件

  • 認可のベストプラクティスとDDDでの実装パターン

    最近、少々複雑な権限機能の開発を担当している中で、対応方針を悩んでいたことがありました。 権限機能というものは取り扱いが難しく、影響範囲が広いにも関わらず、対応漏れや考慮不足があると情報漏洩に繋がってしまいます。 また、機能拡張をしてく中でも対応漏れを起こさないようにする必要があるなど、考えることも多く頭を悩ませておりました。 そこで、認可処理の設計のベストプラクティスやDDDの実装パターンに認可処理を組み込む方法など、色々と調べていたのですが、その中でいくつか知見を得られたのでまとめようと思います! 権限と認可 権限と切っては切れない関係にあるのが認可です。 権限はある操作を実行できる権利を指します。 それに対して、認可は操作を実行する許可を出すため仕組みのことを指します。 例えば、ブログ投稿サービスで考えてみると、以下のような感じです。 権限: 投稿者はポストを編集できる。 認可: ユ

      認可のベストプラクティスとDDDでの実装パターン
    • 長い研究者生活で、論文を数十篇書いていく上で重要なこと #制御工学 #研究者 - 制御工学ブログ

      本記事はnoteに記載した以下の記事に加筆修正を加えたものです。 10年スパンでの論文執筆の考え方 研究者として生活していく上で、学術論文は1本でOKというわけにはいかず、分野ごとで数字の大小はあるでしょうが、数十本オーダーで書いていくことになります。学術論文1本を書く上での心得みたいなものは様々な記事がありますが、なかなか十年単位の話はないので書いてみようと思いました。ここでは、制御工学の研究を博士の3年間、国立大学の教員16年間行ってきた中での複数論文を書いていく実体験を中心に、10年スパンでの研究論文の書き方やコツを紹介したいと思います。 ちなみに、LaTeXによる論文執筆の記事も書いていますのでこちらもよかったらご覧ください。 10年スパンでの論文執筆の考え方 著者の実績 論文執筆時の研究者スタンス 同時並行で進める研究のテーマ数 研究者としての大学生・大学院生との関わり方 論文一

        長い研究者生活で、論文を数十篇書いていく上で重要なこと #制御工学 #研究者 - 制御工学ブログ
      • Backend エンジニア視点からの GraphQL / GraphQL from a perspective of backend engineer

        "LayerX、スタディサプリ、SHEと考える GraphQLが向いている現場とは?運用実践LT" で登壇した資料です。 引用した資料 [Rails アプリに RESTful API のレールを敷いて生産性が大きく上がった話 | Wantedly Engineer Blog](https://www.wantedly.com/companies/wantedly/post_articles/85098) [React Server Components と GraphQL のアナロジー | by Yosuke Kurami | Dec, 2023 | Medium](https://quramy.medium.com/89b3f5f41a01) [実質無料で GraphQL Gateway を手に入れる / low-cost GraphQL Gateway - Speaker Deck](

          Backend エンジニア視点からの GraphQL / GraphQL from a perspective of backend engineer
        • LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回

          こんにちは。コミュニケーションアプリ「LINE」のモバイルクライアントを開発している石川です。 私達は、高い開発生産性を維持するために、コード品質と開発文化の改善に注力しています。 そのために様々な取り組みを行っているのですが、その 1 つとして Review Committee の活動があります。 Review Committee では、マージ済みのコードを再度レビューし、レビューアとオーサーにフィードバックしたり、レビューで集めた知見を Weekly Report と称して毎週共有したりしています。 この Weekly Report で共有される話題は、Android や iOS といったプラットフォームや、Kotlin や Swift 言語固有の注意点も含まれるのですが、多くの場合はプログラミング一般に適用できるものになるように配慮しています。(ただし、説明のために使うコードは Ko

            LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回
          • エクセル読み込みをPOIからFastExcelに置き換えてパフォーマンスを改善する

            はじめに こんにちは!10 月から株式会社ログラスでエンジニアをやっています、Kyosuke です! ログラスでは、エクセルファイルをプログラムから操作する処理が一部存在しており、Apache POIというライブラリを使用しています。(以後POIと呼びます) しかし、POI には処理方式によってはメモリを多量に使用してしまうという問題があります。 今回はその対応として、まずエクセルファイルの読み込みをFastExcelというライブラリに置き換えた話を振り返っていきます。 TL;DR POIのXSSFWorkbookは、ファイルをメモリ内に読み込んで操作するため、大きなエクセルファイルを処理する際にファイルサイズ以上のメモリを必要とすることがある POI の公式ドキュメントより FastExcelは、POIより機能は劣る代わりに、読み書きともにパフォーマンスは大幅に上回る 書き込み Fast

              エクセル読み込みをPOIからFastExcelに置き換えてパフォーマンスを改善する
            • Kotlinハイパフォーマンスプログラミング

              From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE

                Kotlinハイパフォーマンスプログラミング
              • Java21とKotlinの代数的データ型 & パターンマッチの紹介と本当に嬉しい使い方 / Algebraic Data Type in Java and Kotlin: Happy Use of Pattern Match

                JJUG CCC 2023 Fall で発表された内容です。 Java21ではパターンマッチがswitch式で正式に使えるようになります。 https://openjdk.org/jeps/441 これらの変更により型の検査がより強化されて、より実行時例外がすくなくコンパイル時に多くの実装ミスが検出できるようになります。 本セッションではJava21のパターンマッチに関する新機能にふれつつ、先んじて導入しているKotlinとの比較や、実際のプロジェクトでどのように活用するべきかについて話します。 型を使って実際に実装ミスをコンパイルフェーズで発見していくという内容は過去にKotlin Fest 2022で筆者が発表しており、今回はよりJava21の新機能とパターンマッチに着目して解説していく予定です。 https://jjug.doorkeeper.jp/events/164154

                  Java21とKotlinの代数的データ型 & パターンマッチの紹介と本当に嬉しい使い方 / Algebraic Data Type in Java and Kotlin: Happy Use of Pattern Match
                • JVM勉強会(開発編)を開催しました - 株式会社ヘンリー エンジニアブログ

                  こんにちは、SREの戸田です。本日はJVM勉強会(運用編)に続けて開催したJVM勉強会(開発編)の一部を公開します。 図1 勉強会はやっぱりGoogle Meetでオンライン開催しました システムプロパティ システムプロパティは環境変数のように、プログラムの挙動を変えるために利用することが多いです。例えばOpenJDKそのものでも Integer.valueOf() で値をどの程度キャッシュするか*1を設定するためにシステムプロパティを使っています。 他にも user.language あたりはよく知られていますし、標準で提供されるシステムプロパティも多数あります。しかし製品コードから直接参照することは基本ないと思っていて、 File.pathSeparator などの提供されたAPIを使うことが望ましいでしょう。またシステムプロパティは動的に変更することも可能ですが、システムプロパティを

                    JVM勉強会(開発編)を開催しました - 株式会社ヘンリー エンジニアブログ
                  • JVM勉強会(運用編)を開催しました - 株式会社ヘンリー エンジニアブログ

                    こんにちは、SREの戸田です。本日は社内で開催したJVM勉強会(運用編)の一部を公開します。 JVM、使っていますか?弊社ではサーバサイドKotlinが活躍しているので、もちろん日常的にJVMが稼働しています。このためサービス運用の一貫で必要になる知識や関連ツールなどをSREないしプロダクトチームに共有することを目的として、この勉強会を開催しました。 図1 勉強会はGoogle Meetでオンライン開催しました パフォーマンス・チューニング サービスを開発していると、この処理をもっと高速化したい!ランニングコストを抑えてユーザ体験の向上に投資したい!というというシーンには多く遭遇しますよね。こうしたユーザが増えてサービスに負荷がかかるようになったことで生じた課題に対して迅速に打ち手が取れることは、とても重要です。 しかし焦ってはいけません。「このコードはめっちゃループしてるし遅そう!」「あ

                      JVM勉強会(運用編)を開催しました - 株式会社ヘンリー エンジニアブログ
                    • Googleがアプリ起動を30%高速化させる「Androidランタイム」のアップデートを発表、Android 12以降なら古いスマホも高速化

                      Googleが2023年8月21日に、Android Runtime(ART)のアップデートによりアプリの起動時間や実行速度を大きく向上させられるようにすると発表しました。ARTがOSとは独立して更新できるようになったことで、古いAndroidがインストールされているスマートフォンでもアプリのパフォーマンスが改善することが期待できます。 Android Developers Blog: Latest ARTwork on hundreds of millions of devices https://android-developers.googleblog.com/2023/08/latest-artwork-on-hundreds-of-millions-of-devices.html ARTは、Android OS上でアプリを実行する上で中核的な役割を担っているプログラム実行環境で、

                        Googleがアプリ起動を30%高速化させる「Androidランタイム」のアップデートを発表、Android 12以降なら古いスマホも高速化
                      • Kotlin Fest 2024 参加レポート - エムスリーテックブログ

                        Kotlin Fest 2024 こんにちは! マルチデバイスチームの小林(@bakobox)とデジスマチームの荒谷(@_a_akira)と大和(@daiwahome0)です。 Kotlinに関する技術カンファレンス「Kotlin Fest 2024」が6月22日に開催されました!*1 エムスリーはひよこスポンサーとして協賛させていただき、弊社社員も何人か参加したので振り返りを行いたいと思います! (Kotlin Festスタッフとして星川(@oboenikui)も参加していました) ブース セッション もっとKotlinを好きになる! K2時代のKotlin Compiler Plugin開発 Jetpack Compose: 効果的なComposable関数のAPI設計 K2のKotlin IDEプラグインの中を覗いてみよう♪ 2024年に公開するに相応しいKotlin Multipl

                          Kotlin Fest 2024 参加レポート - エムスリーテックブログ
                        • Kotlin 2.0正式リリース。新コンパイラ「K2」採用でコンパイル速度が約2倍、マルチプラットフォーム対応も加速へ

                          JetBrainsは、同社が主導して開発しているプログラミング言語「Kotlin」のメジャーバージョンアップとなる「Kotlin 2.0」を、日本時間5月23日に行われたイベント「KotlinConf'24」で発表しました。 KotlinはJavaVM言語として登場し、2017年にAndroidの正式な開発言語になったことで急速に注目度を高めました。現在ではサーバサイドやAndroid、iOS、Windows、Webアプリケーションなどの開発にも対応するマルチプラットフォーム……

                            Kotlin 2.0正式リリース。新コンパイラ「K2」採用でコンパイル速度が約2倍、マルチプラットフォーム対応も加速へ
                          • Kotlin Fest 2024のためにCompose HTMLでWebサービスを開発した話 - エムスリーテックブログ

                            こんにちは、モーニーングルーティーン担当、VPoEの河合(@vaaaaanquish)です。 サムネイルの写真は、娘が描いてくれたパパです。上手です。 本記事は、先日開催されましたKotlin Festにおいてエムスリーのスポンサーブースで展開していた『エンジニア トリ診断』の開発秘話を公開するものです。 Kotlin Festとエンジニアトリ診断 Kotlin Compose HTMLとは Compose HTMLをGitHub Pagesでホスティングする OGPを設定する Kotlinでフロントエンド開発を進める おわりに We are hiring !! Kotlin Festとエンジニアトリ診断 Kotlin Festは、Kotlinに関する技術カンファレンスで、今年は6月22日に開催されました。 詳しくは参加レポートもありますので、ご参照頂ければ幸いです。 www.m3tech

                              Kotlin Fest 2024のためにCompose HTMLでWebサービスを開発した話 - エムスリーテックブログ
                            • JJUG CCC 2023 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く

                              JJUG CCC 2023 Fallに参加しました! 前回よりも参加者が大幅に増えて、ワイワイと盛り上がった中でいろんな話が聞けて楽しかったです! 特に、一足先に次回の Java 22 でリリース予定の Foreign Function & Memory API と String Template の話があって、使えるようになるのが楽しみになりました。 あと、今回「バイナリビューアを使ってクラスファイルを読んでみよう!」というテーマで登壇しました。 思ったよりもたくさんの人に聞いてもらえて、そして楽しんでいただけたようで、嬉しかったです。前日まで、これ分かりにくいけどどうしたら…と悩みながら内容を練った甲斐がありました。 準備は大変でしたが、また機会があれば頑張ります! さて、最後にいつものを。 今回、残念ながら時間がかぶってしまって参加できなかったセッションがいっぱいあったので、あとで読

                                JJUG CCC 2023 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く
                              • ZOZOTOWN AndroidチームにおけるQodanaを活用したビルドワーニングへの取り組み - ZOZO TECH BLOG

                                はじめまして、ZOZOTOWNアプリ部Android1ブロックの池田一成です。普段はZOZOTOWN Androidアプリ開発を担当しています。 ZOZOTOWNアプリは歴史の長いアプリのため、レガシーなコードがいくつか残っています。そのため、Android Lintで検出されるビルドワーニングが複数放置されたままの状態になっていました。これらのビルドワーニングは潜在的なバグを生み出す可能性やメンテナンスコストを増加させる可能性があります。ZOZOTOWNアプリにおいても機能改修をした際に新たに発生したビルドワーニングを検知できず、リリース後不具合に繋がってしまったことがありました。本記事では、JetBrains製のQodanaという静的解析ツールを用いた既存のビルドワーニングの可視化と新規のビルドワーニングを発生させない仕組みづくりについての取り組みをご紹介します。 Qodanaとは 導

                                  ZOZOTOWN AndroidチームにおけるQodanaを活用したビルドワーニングへの取り組み - ZOZO TECH BLOG
                                • [Kotlin] GLSurfaceViewをキャプチャーしてbitmapを取得したい - spacelyのブログ

                                  まえがき 株式会社スペースリー Androidエンジニアのふかまちです。 普段は弊社サービスのツールであるAndroidアプリ「Spacely Photo Task」を開発しています。 現在、後述するパノラマ画像の360°Viewerをキャプチャーした動画を生成する開発に取り組んでおり、 本記事では開発で得た知見を元に、GLSurfaceViewの活用方法を一部ご紹介します。 Android x OpenGLならGLSurfaceView GLSurfaceViewとは、OpenGL ESをサポートしている、Androidの3D描画を行うためのViewです。描画にはGPUを活用していることでメインスレッドの負荷を軽減でき、高速なフレームレートでの描画が可能だという特徴があります。 弊社では、パノラマ画像の360°Viewerで使用しています。 (参考)GLSurfaceViewを使ったパノ

                                    [Kotlin] GLSurfaceViewをキャプチャーしてbitmapを取得したい - spacelyのブログ
                                  • Ktorm のクラス設計を読み解いて、DSLを拡張する - ドワンゴ教育サービス開発者ブログ

                                    はじめに 先日Server-Side Kotlin MeetupのLT大会で登壇してきましたので、その内容をブログ記事でも公開します。 テーマはKotlin製のORマッパー、Ktormのクラス構造と機能拡張についてです。 Ktormの紹介 ktorm.org Ktormは、いくつかあるJDBCベースのKotlin製ORマッパーのうちの1つです。 それらの中でもっともメジャーと思われるExposedと比較すると、次のような特長があります。 シンプルな実行モデル 遅延実行やキャッシュなどの仕組みを持たないので、コードを読んで理解しやすく、SQLの実行タイミング等も把握しやすいです。 生SQLに近いDSL select() で検索条件を指定し slice() でカラムを指定する形式のExposedのDSL 1 に比べて、生SQLに近い文法を採用しており、SQLに習熟していれば少ない認知コストで読

                                      Ktorm のクラス設計を読み解いて、DSLを拡張する - ドワンゴ教育サービス開発者ブログ
                                    • Kotlin sealedタイプによる論理和型の実装: ポリモーフィズム形式と代数的データ型形式 - ドワンゴ教育サービス開発者ブログ

                                      はじめに ポリモーフィズム形式の実装 ポリモーフィズム形式の実装の利点 ポリモーフィズム形式の実装の欠点 代数的データ型形式の実装 代数的データ型形式の実装の利点 代数的データ型形式の実装の欠点 まとめ We are hiring! はじめに Kotlinのsealedタイプ (sealed class と sealed interface) は、外部モジュールによるクラスの継承やインターフェースの実装 (以降は実装で統一します) を制限することで、継承先クラスの一覧を静的に取得できるようにする機能です。 以下は公式ドキュメントの例ですが、sealedタイプを使うことで log() 関数内の when が全てのとり得るパターンを網羅していることがコンパイル時にチェックされ、冗長な else を省くことができます。 また、Error インターフェースの直接の実装先が増えて when が網羅性

                                        Kotlin sealedタイプによる論理和型の実装: ポリモーフィズム形式と代数的データ型形式 - ドワンゴ教育サービス開発者ブログ
                                      • 例外設計について考えて Kotlin(Spring Boot&Arrow)で実践する/thinking exception design and implementation by kotlin

                                        Kotlin Fest 2024 の「例外設計について考えて Kotlin(Spring Boot&Arrow)で実践する」の発表資料です。 https://fortee.jp/kotlin-fest-2024/proposal/c7b68f48-1209-4f63-a111-18d1b185e109

                                          例外設計について考えて Kotlin(Spring Boot&Arrow)で実践する/thinking exception design and implementation by kotlin
                                        • Kotlin Multiplatformを運用してみた開発とその振り返り - freee Developers Hub

                                          こんにちは、モバイル開発のandrekandore (かんちゃん)だ! ※ この記事のどこかにiOSDC Japan 2023のチャレンジトークンが隠されているよ! はじめに この記事は、Kotlin Multiplatformを用いて実現しようとしたこと、運用してみた結果の振り返りについての紹介である。特にSwift・iOSの技術者の観点からどのような課題があったかについて解説する。 iOS / Androd 両プラットフォームをまたがる課題 モバイルアプリ開発においてよく課題としてあがるのは、各プラットフォームにまたがる「ビジネスロジック」の共通化である。 モバイルでは、ウェブとの差異はもちろん、AndroidやiOSアプリとの(仕様・実装の)差異が開発時間の増加につながってしまうことがある。各プラットフォームの差異を埋め合わせることに時間を割くことが、ユーザへの新規機能の実装時間を減

                                            Kotlin Multiplatformを運用してみた開発とその振り返り - freee Developers Hub
                                          • 2023 年に行ったN予備校 Android アプリの開発まとめ - ドワンゴ教育サービス開発者ブログ

                                            この記事は ドワンゴ Advent Calendar 2023 の 10 日目の記事です。 N予備校 Android アプリ開発チームでは、2023 年はアプリの実装および内部改善を活発に行い、内容をまとめた記事も例年より多く公開できました。 この記事では 2023 年に行った開発内容を振り返りながら、得られた知見などをあらためてまとめていきます。 新機能の追加・改善 ユーザーがN予備校アプリを使って、さらに学習しやすくするためにいくつかの機能を追加・改善しました。 2023 年のもっとも大きなアプリの変更は、必修レポートの表示の追加です。これは、N/S高等学校に通う生徒が提出するレポートの状況と締め切りが一覧できるものです。 必須レポート表示の追加 もともとの課題として、生徒が計画的にレポートを進めづらかったため、レポートの提出が締め切りギリギリになったり、場合によっては締め切りに間に合

                                              2023 年に行ったN予備校 Android アプリの開発まとめ - ドワンゴ教育サービス開発者ブログ
                                            • Compose Multiplatformを日本一レベルで使い込んだかもしれないので知見共有

                                              こんにちは!sugitaniと申します。 Black Cat Carnival という新型SNSを開発中です。 リリースはまだ先なのですがティザーサイトを先日公開しました Black Cat CarnivalはiOS/Androidアプリで、Compose Multiplatformを使って開発をしています。ティザーサイトではWasmを使い、サービスを体験できるBlack Cat Carnival Simulatorも公開しています。是非お試しください このシミュレーターはシミュレーターとして作ったものではなく、一人で開発してる都合で先に作り込まれたクライアントにダミーデータを埋め込んだ、という代物で正真正銘の正規クライアントです。 wasm活用までふくめてここまでやるのは他にはまだなさそう…と思うので"日本一レベルで"と大きく出たタイトルをつけさせていただきました。 本稿ではクライアント

                                                Compose Multiplatformを日本一レベルで使い込んだかもしれないので知見共有
                                              • GitHub - msasikanth/twine: Twine: A multiplatform RSS reader built using Kotlin and Compose

                                                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 - msasikanth/twine: Twine: A multiplatform RSS reader built using Kotlin and Compose
                                                • KotlinのコードからWebAssemblyバイナリを生成可能、Kotlin/Wasmがアルファ版として提供開始

                                                  KotlinのコードからWebAssemblyバイナリを生成可能、Kotlin/Wasmがアルファ版として提供開始 開発ツールのIntelliJ IDEAやプログラミング言語Kotlinなどの開発元であるJetBrainsは、これまで試験的プレビュー版だったKotlinのコードからWebAssemblyバイナリを生成する「Kotlin/Wasm」を、アルファ版として提供開始すると発表しました。 Kotlin/Wasm is now in Alpha and ready for you to try! Build web applications with Kotlin and use Kotlin/Wasm in your KMP projects. Take it for a spin and share your feedback with us! Learn more about t

                                                    KotlinのコードからWebAssemblyバイナリを生成可能、Kotlin/Wasmがアルファ版として提供開始
                                                  • Kotlinのsealed型を使って高機能なenum型を実装する - ドワンゴ教育サービス開発者ブログ

                                                    はじめに シンプルな実装例 sealed型による実装のメリット enumに階層関係を持たせることができる 個々の値を型として扱える sealed型による実装のデメリット 言語仕様が提供する便利機能を利用できない まとめ We are hiring! はじめに blog.nnn.dev Kotlinのsealed型の使い方を考える記事の第2弾です。 前回の記事では、sealed型を使って論理和型を実装しましたが、今回は通常の enum class よりも機能を拡張したenum型を実装したいと思います。 シンプルな実装例 通常、Kotlinでenum型を使いたい場合は、enum class を使って、次のように実装します。 /** * 学校で教える教科 (抜粋) */ enum class SchoolSubjectEnum { /** 日本史 */ JAPANESE_HISTORY, /**

                                                      Kotlinのsealed型を使って高機能なenum型を実装する - ドワンゴ教育サービス開発者ブログ
                                                    • grpc-kotlinの実装をinterfaceの定義によってテンプレート化する - ドワンゴ教育サービス開発者ブログ

                                                      はじめに grpc-kotlin の実装に必要な要素 リクエスト・レスポンスクラス サービスクラス サーバークラス 普通に実装したときの不満点 不満1: 異なる関心事の混在 不満2: 共通処理 不満3: エラーハンドリング インターフェースを定義する validateAndConvertRequest process convertResponse エラーハンドリング おわりに We are hiring! & Kotlin Fest出展のお知らせ はじめに 過去にも何度か紹介しておりますが、現在開発中の新しい教材システムでは新たにgRPC通信によるKotlinサーバーを採用して開発が進められています。 blog.nnn.dev そして、技術選定の方針としてWebアプリケーションフレームワークはなるべくシンプルで薄くすることを決めたので、Spring Boot のような別フレームワークを介

                                                        grpc-kotlinの実装をinterfaceの定義によってテンプレート化する - ドワンゴ教育サービス開発者ブログ
                                                      • WebAssembly Garbage Collection (WasmGC) now enabled by default in Chrome - Chrome for Developers

                                                        WebAssembly Garbage Collection (WasmGC) now enabled by default in Chrome Published on Tuesday, October 31, 2023 There are two types of programming languages: garbage-collected programming languages and programming languages that require manual memory management. Examples of the former, among many more, are Kotlin, PHP, or Java. Examples of the latter are C, C++, or Rust. As a general rule, higher-

                                                          WebAssembly Garbage Collection (WasmGC) now enabled by default in Chrome - Chrome for Developers
                                                        • ログラスのバックエンド技術スタック2023

                                                          はじめに こんにちは、ログラスの小林(@mako-makok)です! 昨日は@asa_kossyさんの「ログラスのプロダクトマネージャーチームが今年取り組んだこと、いま苦労していること 2023」でした。 ログラス社はありがたいことに、 CTO 協会主催の「開発者体験が良い」イメージのある企業で 25 位にランクインさせていただいております。 この結果は非常に光栄だと思っており、自分が想像する要因としては DDD、スクラム、技術的投資の 3 点だと思っています。 これらは継続的に活動しています。 ライブラリバージョンアップは欠かさずやりますし、DDD に関しては社内で DDD という言葉はもうほぼ使われていないレベルで浸透しており、機能追加の際はドメインエキスパートと会話つつ、モデルと実装を行き来して開発しております。 この認知は非常に嬉しい結果ではありますが、実際は開発者体験に課題を感じ

                                                            ログラスのバックエンド技術スタック2023
                                                          • Kotlin/Wasmが生成するWasmGCコードを眺める

                                                            WebAssembly Advent Calendar 2023 と Swift/Kotlin愛好会 Advent Calendar 2023 21日目の記事です。 (枠が空いてそうだったのでKotlin愛好会の方のカレンダーにも登録してしまった) 以前 WasmGCで導入される型や命令のお勉強 という記事を書いてWasmGC primitivesを学んだので、次はKotlin/Wasmから生成されるWATファイルを眺めて Kotlinのhigh level constructsがWasmGCにどうマッピングされるのかを調べていく(お勉強の過程はこちら)。 Kotlin/Wasm から WAT を生成する kotlin-wasm-example/nodejs-example をいじくって出力を眺めていきます。執筆時のバージョンはKotlin 1.9.20。コンパイラに -Xwasm-gen

                                                              Kotlin/Wasmが生成するWasmGCコードを眺める
                                                            • 関数型プログラミングってなんなんだ?? - Qiita

                                                              はじめに 普段はKotlinをメイン言語として扱っている筆者が、別のパラダイムの言語を勉強したいというモチベから、動的型付けかつ関数型プログラミング言語のElixirという言語を触ってみました。そこで学んだことをつらつらと書いていこうと思います。 その過程でパズドラ風味のコンソールアプリも作りました。分量的にこちらのコードの紹介はしないので、気になる方だけリポジトリをみてみてください。 有識者の方は、もしよければPR等でレビューをいただけるとめっちゃ嬉しいです💪 お手本のコードではないので、初心者の方は他の信頼できるソースコードを読んでみてください。 関数型プログラミングという言葉は知っているけれども、触ったことないし内容はよくわからないみたいな方に読んでほしいなと思います。 関数型プログラミングとは まずはwikipediaの概要から読んでいきます。 関数型プログラミングは、関数を主軸

                                                                関数型プログラミングってなんなんだ?? - Qiita
                                                              • 「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜

                                                                2024年7月18日(土) 「Server-side Kotlin Night 2024/07」の発表資料です。

                                                                  「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
                                                                • ArchUnitでKotlinのdata classのcopyメソッドを禁止する

                                                                  この記事は毎週必ず記事がでるテックブログ "Loglass Tech Blog Sprint"の 25 週目の記事です! 1 年間連続達成まで 残り 28 週 となりました! はじめに ログラスの小林(@mako-makok)です。 ご存知の方も多いと思いますが、Kotlin で data class 宣言をすると、copy というメソッドがそのクラスに対して自動生成されます。 この data class は便利な反面、様々な問題があり、copy メソッドをどうにかして隠したいというニーズがあります。 今回は ArchUnit を使ったアプローチをご紹介します。 Kotlin の data class 宣言で自動生成されるメソッド 改めて、Kotlin には data class という機能があります。 data class で宣言するだけで自動的にequals, hashCode, to

                                                                    ArchUnitでKotlinのdata classのcopyメソッドを禁止する
                                                                  • 逆引きKotlin Multiplatform 〜Swiftに対応するKotlinの機能と、KMPによる変換後の実態〜

                                                                    CA.swift #17 https://cyberagent.connpass.com/event/294197/ https://fortee.jp/iosdc-japan-2023/proposal/e9ffca7b-d40e-4e26-a393-0baf59c001d4 弊チームではKotlin Multiplatformを採用していますが、一部のメンバーが新機能開発等を通して試験運用していたため、本格的にチーム全体で運用し始めたのは2023年からとなります。 そこで、実際のアプリの機能を一部抜粋したチュートリアルプロジェクトを作成し、その演習に取り組んでもらうことでチームメンバーへのKMPのインストールを実施しました。 チュートリアルプロジェクトの一部を使って、Swiftの機能に対応するKotlinの機能を解説しつつ、KMPによって変換されることでSwiftからはどのように参照で

                                                                      逆引きKotlin Multiplatform 〜Swiftに対応するKotlinの機能と、KMPによる変換後の実態〜
                                                                    • 【優勝ピッチ解説(4)】smartroundでモジュラモノリスを採用した背景とその詳細

                                                                      初めまして、株式会社スマートラウンドCTOの小山(@doyaaaaaken)です。 昨年末Startup CTO of the year 2022というイベントに出場して優勝し、その際のピッチ内容について解説する連続記事をこれまで書いてきました。 今回の記事はその4本目の記事となります。 もうじき今年のStartup CTO of the yearが開催されようとしている中、このシリーズが3本で止まっていた事実を思い出し、 「今年中にしか出せないネタなので書かねば!」 という気持ちになり急遽駆け込みで書きました。 拙い部分があればご容赦ください。 なお優勝ピッチ解説シリーズの他の記事は以下リンク先で公開しています。👇 🔗【優勝ピッチ解説(1)】スマートラウンドの開発体制ではスクラムをどう改変したか? 🔗【優勝ピッチ解説(2)】スマートラウンドでISMS認証を取得した背景および得た知見

                                                                        【優勝ピッチ解説(4)】smartroundでモジュラモノリスを採用した背景とその詳細
                                                                      • The problem of union types for type systems

                                                                        KotlinConf 2024 shocked me with a new announcement. Union types are coming to Kotlin! However, in a limited form. At first, I couldn't understand why, but after some talks and discussions, I realized that it is a very smart move. Now let me show you the big picture. One feature I have always admired in other programming languages is union types, such as Int | String. I haven’t had any specific pla

                                                                          The problem of union types for type systems
                                                                        • Kotest を使って 快適にテストを書こう - KotlinFest 2024

                                                                          kotest は、 Kotlin ネイティブなテストフレームワークで、Kotlin で書かれたコードをテストするための強力で便利な機能が多く含まれています。 Kotlin/JVM では、テストに JUnit を使っている方が多いと思いますが、アサーションライブラリが Java しか考えていなかったり、coroutines, 非同期処理への対応が弱かったりと、もっと Kotlin の機能を最大限に活用して快適にテストを書きたいと思われる場面も多い事でしょう。 kotest は、アサーションライブラリだけを JUnit と組み合わせて使うこともできるし、テストフレームワーク全体を kotest へ置き換えることも可能です。 このセッションでは、主に今 JUnit を使ってテストを書いている方を対象に、kotest へ移行するとどんな良いことがあるのか、移行のやり方や具体的な実例を紹介します。

                                                                            Kotest を使って 快適にテストを書こう - KotlinFest 2024
                                                                          • What's new in Kotlin 2.0.0 | Kotlin

                                                                            Released: May 21, 2024 The Kotlin 2.0.0 release is out and the new Kotlin K2 compiler is Stable! Additionally, here are some other highlights: New Compose compiler Gradle plugin Generation of lambda functions using invokedynamic The kotlinx-metadata-jvm library is now Stable Monitoring GC performance in Kotlin/Native with signposts on Apple platforms Resolving conflicts in Kotlin/Native with Objec

                                                                              What's new in Kotlin 2.0.0 | Kotlin
                                                                            • kotlin-resultを半年使ってみて

                                                                              はじめに ログラスの小林(@mako-makok)です。 この記事は毎週必ず記事がでるテックブログ "Loglass Tech Blog Sprint" の 4 週目 の記事です! 1 年間連続達成まで 残り 49 週 となりました! Kotlin でのエラーハンドリングの改善に向けて、kotlin-resultというライブラリを導入したのですが、使い始めて約半年経過しました。 今回は使ってみて実際にどうだったかを振り返ってみます。 What kotlin-result Rust のResultや、Scala の Either など、関数型の概念を取り入れた言語には例外ではなく、失敗する可能性のある処理は成功と失敗の型をシグネチャで表現できるようになっています。 kotlin-result は それらの表現を Kotlin でも利用できるようにしたライブラリです。 内部の実装を見てみるとそ

                                                                                kotlin-resultを半年使ってみて
                                                                              • DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern

                                                                                DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern

                                                                                  DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
                                                                                • Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023

                                                                                  The Future of C++ Interoperability: Insights from Porting a Game to Swift

                                                                                    Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023