並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 476件

新着順 人気順

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

  • 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を拡張する - ドワンゴ教育サービス開発者ブログ
    • 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メソッドを禁止する
      • 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
        • 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
          • 長い研究者生活で、論文を数十篇書いていく上で重要なこと #制御工学 #研究者 - 制御工学ブログ

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

              長い研究者生活で、論文を数十篇書いていく上で重要なこと #制御工学 #研究者 - 制御工学ブログ
            • 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コードを眺める
              • エクセル読み込みをPOIからFastExcelに置き換えてパフォーマンスを改善する

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

                  エクセル読み込みをPOIからFastExcelに置き換えてパフォーマンスを改善する
                • 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がアルファ版として提供開始
                  • 2023 年に行ったN予備校 Android アプリの開発まとめ - ドワンゴ教育サービス開発者ブログ

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

                      2023 年に行ったN予備校 Android アプリの開発まとめ - ドワンゴ教育サービス開発者ブログ
                    • 認可のベストプラクティスとDDDでの実装パターン

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

                        認可のベストプラクティスとDDDでの実装パターン
                      • JJUG CCC 2023 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く

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

                          JJUG CCC 2023 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く
                        • 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
                          • LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回

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

                              LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回
                            • 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
                              • 逆引き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でモジュラモノリスを採用した背景とその詳細
                                  • 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型を実装する - ドワンゴ教育サービス開発者ブログ
                                    • Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023

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

                                        Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023
                                      • Kotlinハイパフォーマンスプログラミング

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

                                          Kotlinハイパフォーマンスプログラミング
                                        • JVM勉強会(開発編)を開催しました - 株式会社ヘンリー エンジニアブログ

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

                                            JVM勉強会(開発編)を開催しました - 株式会社ヘンリー エンジニアブログ
                                          • Kotlin Multiplatformを運用してみた開発とその振り返り - freee Developers Hub

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

                                              Kotlin Multiplatformを運用してみた開発とその振り返り - freee Developers Hub
                                            • Kotlin sealedタイプによる論理和型の実装: ポリモーフィズム形式と代数的データ型形式 - ドワンゴ教育サービス開発者ブログ

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

                                                Kotlin sealedタイプによる論理和型の実装: ポリモーフィズム形式と代数的データ型形式 - ドワンゴ教育サービス開発者ブログ
                                              • ZOZOTOWN AndroidチームにおけるQodanaを活用したビルドワーニングへの取り組み - ZOZO TECH BLOG

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

                                                  ZOZOTOWN AndroidチームにおけるQodanaを活用したビルドワーニングへの取り組み - ZOZO TECH BLOG
                                                • 関数型プログラミングってなんなんだ?? - Qiita

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

                                                    関数型プログラミングってなんなんだ?? - Qiita
                                                  • 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] 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のブログ
                                                      • JVM勉強会(運用編)を開催しました - 株式会社ヘンリー エンジニアブログ

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

                                                          JVM勉強会(運用編)を開催しました - 株式会社ヘンリー エンジニアブログ
                                                        • 私がとあるOSS開発から手を引いた経緯 - Kengo's blog

                                                          ホットな話題に乗っかって、私がSpotBugsというJava向け静的解析ツールのOSS開発から手を引いた理由をまとめてみます。 自分がJavaを使わなくなった 先のブログでも指摘されている通りで、自分がそのソフトウェアを必要としなくなったというのは大きな理由になりました。Kotlinに乗り換えたことでJavaを書く機会がなくなり、Kotlinが生成したclassファイルの解析はSpotBugsには向かなかったので、SpotBugsを使わなくなりました。 SpotBugsにKotlin対応させることは技術的には可能ですが、ソースコードも考慮して解析できるdetekt(ktlint, diktat)がある世界でわざわざやることではないという感想です。 リターンが無かった 自分が使わないツールのメンテナンスを継続するには、やはりある程度の見返りを求めたいというのが自分の気持ちとしてありました。G

                                                            私がとあるOSS開発から手を引いた経緯 - Kengo's blog
                                                          • Kotlin 1.9.0リリース。生成されるWebAssemblyのサイズが10分の1、K2コンパイラがβ版に

                                                            Kotlin 1.9.0リリース。生成されるWebAssemblyのサイズが10分の1、K2コンパイラがβ版に JetBrainsは、プログラミング言語Kotlinの最新版となる「Kotlin 1.9.0」正式リリースを発表しました。 The Kotlin 1.9.0 release is out and the K2 compiler for the JVM is now in Beta. This release contains new language features as well as improvements for Kotlin Multiplatform and Kotlin/Native. Here are some highlights from this release: New Kotlin K2 compiler updates … — Kotlin (@ko

                                                              Kotlin 1.9.0リリース。生成されるWebAssemblyのサイズが10分の1、K2コンパイラがβ版に
                                                            • kotlin-result入門 - ドワンゴ教育サービス開発者ブログ

                                                              はじめに Result型の定義とサンプルコード Result型を使わない場合 Result型を使う場合 なぜResult型を使うのか 関数シグネチャで、呼び出し元が処理すべきエラーを伝えることができる 呼び出し元にエラー処理を強制できる 復帰可能なエラーと復帰不可能なエラーを明確に区別できる エラー処理を簡潔に書ける なぜkotlin-resultを使うのか メソッドが豊富に用意されている エラーの型を自由に設定できる Result型を使ったエラーパターン 単純なエラーメッセージを返す 構造化したエラー情報を返す 複数のエラー情報を同時に返す 型による分岐が可能なエラーを返す kotlin-resultの基本メソッド get() / getError() unwrap() / unwrapError() onSuccess() / onFailure() map() / mapError(

                                                                kotlin-result入門 - ドワンゴ教育サービス開発者ブログ
                                                              • 「小さいアプリケーションの作り直しだし,すぐ終わるだろ〜」 - エムスリーテックブログ

                                                                ……と思っていたら5ヶ月かかりました. 【基盤開発チーム ブログリレー3日目】 「ほんとうにすぐ終わると思ったのかね」 こんにちは,エムスリーエンジニアリングGの榎田です.趣味は数学とテレビゲームです.最近はタクティクスオウガ リボーンを遊んでいます.システィーナをバーサーカーで運用しているのが弊ユニオンの個人的なイチオシポイントです. 閑話休題,ソフトウェア開発において「技術的負債」はつきものです.我々は無限の開発時間が取れるわけでも,神授の智慧を持っているわけでもないので,作ったものは何かしらの要因で負債を抱え,抱えた負債は(多くの場合,知らず知らずのうちに)増えます.負債だらけになってしまったソフトウェアの保守管理は大変ですし,負債になりにくいソフトウェアを作るのも難しいです.ではどうして負債を抱えてしまうのか.負債を返すことの何が大変なのか.負債リスクを予見するのはなぜ難しいのか.

                                                                  「小さいアプリケーションの作り直しだし,すぐ終わるだろ〜」 - エムスリーテックブログ
                                                                • KotlinでiOSのUI開発がマルチプラットフォーム対応に。「Compose Multiplatform for iOS」アルファ版が登場

                                                                  KotlinでiOSのUI開発がマルチプラットフォーム対応に。「Compose Multiplatform for iOS」アルファ版が登場 Kotlin言語や統合開発ツールIntelliJ IDEAなどの開発を行っているJetBrainsは、Kotlin向けのマルチプラットフォーム対応フレームワークのiOS対応版「Compose Multiplatform for iOS」アルファ版をリリースしました。 Introducing Compose Multiplatform for iOS (Alpha)! Create shared UIs using #Kotlin and unify your development experience across Android and iOS. Get started today! #ComposeMultiplatform #iOSDevht

                                                                    KotlinでiOSのUI開発がマルチプラットフォーム対応に。「Compose Multiplatform for iOS」アルファ版が登場
                                                                  • (翻訳) Kotlinでの型付きエラー処理 - /var/log/jsoizo

                                                                    この記事は以下のブログの翻訳記事で、著者の許諾のもと翻訳しています。翻訳過程で機械翻訳を活用しており、原典と翻訳を十分に照らし合わせて内容が正しいことを確認しておりますが、細かいニュアンスなどが気になる場合は原典をご確認ください。また、誤訳などあればtwitterにてご連絡いただけたら修正いたします。 medium.com 目次 目次 イントロ 例外(Exceptions) 型付きエラー処理(Typed Error Handling) 比較研究 実験結果 6位: 早期returnなしのsealed classマッチング 5位: Either<L, R> のflatMapチェーン 4位: 例外と再スロー(rethrow) 3位: 早期returnありのsealed classマッチング 2位: Arrowの either { } ビルダー 1位: Arrowの context(Raise<E

                                                                      (翻訳) Kotlinでの型付きエラー処理 - /var/log/jsoizo
                                                                    • WebAssembly が新しいウェブ機能を加速する仕組み

                                                                      .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                                                        WebAssembly が新しいウェブ機能を加速する仕組み
                                                                      • Kotlinのマスコットキャラクターの名前が「Kodee」に決定

                                                                        プログラミング言語Kotlinの開発元であるJetBrainsは、Kotlinのマスコットキャラクタの名前が「Kodee」に決定したことを発表しました。

                                                                          Kotlinのマスコットキャラクターの名前が「Kodee」に決定
                                                                        • Kotlin/Wasmでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」が登場。WebAssemblyのガベージコレクションやコンポーネントの活用を想定

                                                                          Kotlin/Wasmでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」が登場。WebAssemblyのガベージコレクションやコンポーネントの活用を想定 JetBrainsでKotlinの開発を担当するZalim Bashorov氏と、VMwareでSpring Frameworkのコミッタとして働くSébastien Deleuze氏は、Kotlinで書かれたコードをWebAssemblyバイナリにコンパイルする機能を備えた「Kotlin/Wasm」を用いて、WebAssemblyベースでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」を発表しました。 KoWasmの開発にはKotlinおよびKotlin/Wasmの開発元であるJetBrainsのKotlin/Wasmチームと協力しているとのことです。 Kotlin/WasmはWebブラウザ上のア

                                                                            Kotlin/Wasmでサーバサイドアプリケーションを開発するフレームワーク「KoWasm」が登場。WebAssemblyのガベージコレクションやコンポーネントの活用を想定
                                                                          • 例外を投げるな、値を返せ

                                                                            DroidKaigi.collect{ #1@Tokyo }(2023年3月31日)での発表資料です。

                                                                              例外を投げるな、値を返せ
                                                                            • N予備校バックエンドでサーバーサイドKotlin移行を始めました - ドワンゴ教育サービス開発者ブログ

                                                                              はじめに 現在、N予備校バックエンドチームでは、現行のRails製アプリケーションからKotlin製の新アプリケーションへ一部移行する計画を始めました。 N予備校サービス構成図 移行の主な対象は、上記の図の紫の部分の 教材管理サービス まわりになります。 移行の目的 今回の移行は、主に次の2つの問題の解決を目指しています。 DBスキーマを含めたモデルの再設計 N予備校はサービスの仕様が十分に固まらないうちから基本設計が開始されたため、必要以上の柔軟性を持つ形で設計されている部分も多く、現在の事業ドメインの知識がモデルで十分に表現されているとは言い難い面があります。 特にコンテンツデータ同士の参照関係については、階層構造の大きな変化1にも対応できるように、多くがActiveRecordのポリモーフィック関連を使って実装され、コードやDBスキーマからデータ構造を読み取るのが非常に難しくなってい

                                                                                N予備校バックエンドでサーバーサイドKotlin移行を始めました - ドワンゴ教育サービス開発者ブログ
                                                                              • メモリに乗り切らない巨大配列のシリアライズにCBORフォーマットを採用した - Qiita

                                                                                TL;DR 要素数が分からず、メモリに乗り切らない可能性がある配列をシリアライズする必要があったので、フォーマットとして CBOR を採用した。 Protocol Buffers1 や Ion, MessagePack, BSON などの主要なバイナリフォーマットで配列を扱う場合、要素数またはバイト長を先頭などに記述する必要があるため、メモリに乗り切らず要素数が簡単には分からない配列を(単純には)シリアライズすることができない CBORは要素数不明の配列を表現する手段がある Java/Kotlinの場合、jackson の jackson-dataformats-binaryを利用してストリームパーサ等を実装することにより、データすべてをメモリに乗せずにシリアライズ・デシリアライズすることができる jackson-dataformats-binary ではシリアライザ等の実装を JSON

                                                                                  メモリに乗り切らない巨大配列のシリアライズにCBORフォーマットを採用した - Qiita
                                                                                • KotlinとSpring Security 6.xを使って、Introspection Endpointでトークンを検証するOAuth2のリソースサーバ−を実装する | DevelopersIO

                                                                                  KotlinとSpring Security 6.xを使って、Introspection Endpointでトークンを検証するOAuth2のリソースサーバ−を実装する AWS事業本部サービス部の佐藤です。 この前までTypeScriptばっかり触っていたのに、気づけばJavaとSpring Bootばかり触っていますね… KotlinとSpring Security 6.xを使ってOAuth2のリソースサーバーを試す機会がありましたので、手順を残そうと思います。2023年3月時点ではSpring Boot 3.xを使っているためSpring Security 6.xを使うことになるのですが、あまりネット上に情報が少なかったのとハマった部分も多かったので記事にしました。現在のSpring Security書き方をするように意識し、非推奨の書き方はしないようにしています。 新しいSpring

                                                                                    KotlinとSpring Security 6.xを使って、Introspection Endpointでトークンを検証するOAuth2のリソースサーバ−を実装する | DevelopersIO