JetBrains社が開発している Java VM や JavaScript 上などで動く、型の強いオブジェクト指向プログラミング言語。 以下の項目を設計目標に掲げている。
エラー防止の機能はよく働いており、Javaですっかりおなじみ「ぬるぽ」ことNullPointerExceptionがこの言語では意図的にプログラミングしないと出てくれないらしい…。
この記事は Kotlin Advent Calendar 2024 10日目の記事です。前回はtsukakeiさんのExposedでStatementInterceptorを使ってSQL文実行前後に処理を差し挟むでした。 先日出した合同誌でも触れましたが、Testcontainersを使うと単体テスト実行時に必要なデータベースを自動的に用意することができます。TestcontainersといえばSelenide (Selenium)でもお世話になりましたが、ブラウザだけではなくデータベースも対応しているんですね。 合同誌掲載ケースではDevelocityのTest Distributionで遠…
いないお部屋のセッションでバッキングフィールドの話されている雰囲気を感じたけれど Kotlin 1.7.0 で入ろうとして入らなかった記憶がありますね #DroidKaigi— バトルプログラマー柴田智也?uwu=true (@tomoya_shibata) 2024年9月12日 ふと思い出して、DroidKaigi 2024 で Masayuki Suda さんが発表された Kotlin 2.0 が与える Android アプリ開発への進化のお話がそれだった。 speakerdeck.com 例えば Android の ViewModel で UiState を宣言するような場面で以下のよう…
本記事では、Kotlin未経験で入社したメンバーを対象に、キャッチアップ方法についてアンケートをとった結果を紹介します。 クオカード デジタルイノベーションラボ(以下ラボ)への選考を検討いただいている方や、これからKotlinを学ぼうとしている方にとって、少しでも参考になれば幸いです。 背景 アンケート回答者 アンケート結果 入社以前、主に使用していた言語を教えてください。 Kotlinのキャッチアップ方法について教えてください。 1. 社内のリポジトリを参考にする 2. GhatGPT等の生成AIに聞く 3. 公式サイトや書籍を参考にする Webサイト 書籍 4. ネットで調べる 5. ペア…
はじめに ドコモの私のチームで開発しているSlack botとそれを用いた業務改善についてご紹介します。 最近ではSlackに限らず種々のモダンなツールを業務で活用している方も多いでしょう。私のチームでもSlackやConfluence、その他いろいろなOSSを使って業務改善を行っています。特にSlackはAPIも豊富で、日々の業務でほぼ常時使い倒しているからこそいろいろカスタマイズすることで業務改善できるだろう、と目を付けたわけです。 この記事では、botの作り方について簡単に触れつつ、例えばどんな機能をbotで実装したのかご紹介します。「ほかにもこんな機能を実装すると便利だよ!!」というア…
こんにちは! 2024 年新卒入社、アプリ開発支援部の涌井です。 アプリ開発支援部の一員として、Android の開発研修が一通り完了したため、その際に詰まった内容をまとめる第 1 弾です。 今回は、Activity の画面遷移やライフサイクルについてまとめます。 Android 開発研修の概要については以下なので、ぜひ確認いただけると嬉しいです。 【24 卒新卒エンジニア】研修の振り返り!モバイルアプリのエンジニア研修ではどんなことやったのか? - エムティーアイ エンジニアリングブログ ※この記事は、アドベントカレンダー12月3日分の記事です。 qiita.com 目次 Android で…
この記事はKotlin Advent Calendar 2024 1日目の記事です。 KotlinからOpenAI APIを使う例を紹介したいと思います。 以前以下の発表で、KotlinとCloud Vision APIを使用して、領収書から金額などの情報を抽出する方法を話したことがありました。 speakerdeck.com
はじめに Ink APIとは 従来の課題 Ink APIが提供するもの サンプルコードを作成して動作を確認してみる さいごに 参考文献 はじめに こんにちは、最近キャリア採用でNRIネットコムに入社した磯川です。 今回初ブログということで、一番技術的に明るいAndroidアプリの内容にしたいと思います。 最近Jetpackライブラリにアルファ版が追加されたInk APIを触ってみたので、そちらについてまとめました。 Ink APIとは Ink APIは、Androidアプリに手書き入力やその描画機能といったインク表現をシンプルに実装するための新しいAPIとなっています。 今までは線を引くなどの…
はじめに Android Jetpack Composeで、ボトムナビゲーション& 複数バックスタックの実装について解説。 処理の説明 各ボトムタブごとにバックスタックを保持。 例えば、ホーム1→ホーム2→他タブ押下→ホームタブ押下の際、ホーム1に遷移するのではなく、ホーム2に遷移させる。 方法 まず、画面のRoute定義するためNavItemenumクラス作成。 enum class NavItem(val route: String, val icon: ImageVector) { //BottomNavigation HOME("Home", Icons.Default.Home), …
Spring WebFlux/R2DBC/jOOQ/PostgreSQL/Kotlin Coroutines環境で、不意にselectクエリがハングする状況が何度か有りました。 関連する内容が多すぎて原因は解析し切れていませんが、そのような状況に対して見出した3つの対処法をまとめます。 何かより良い対処法をご存じの方いらっしゃいましたらコメント頂けると嬉しいです。 1. Flow内から別クエリを呼び出さないようにする 1発目から無条件でハングする場合、まずこれが疑われます。 特にトランザクションが有効になっているような場合、「前のクエリが終わってなくてコネクションを掴めない ⇔ クエリ結果の消…
jOOQで組み立てたクエリをConnectionFactoryへ直発行する仕組みを作ったのでまとめます。 なお、これは事情が有って作ったものであり、本来一切推奨できないコードであることはご承知おき下さい。 コード全体は以下の通りです。 基本的にはSelectクエリでの利用を想定しています。 import io.r2dbc.spi.Connection import io.r2dbc.spi.ConnectionFactory import io.r2dbc.spi.Readable import io.r2dbc.spi.Result import kotlinx.coroutines.flo…
この記事は、クロスマート・テックアドカレ14日目の記事です。 qiita.com前日は、@gomagoma000さんの「ディズニーランドを最も効率よく楽しむ方法をグラフ理論とPythonで考える」という記事でした。 ディズニーランド好きなガチ勢のみなさんにはとても有用な記事です。 ぜひ見て見てください! qiita.com さて、今回の記事では PDF生成ライブラリwkhtmltopdf(Python)の代替を探す旅 〜Playwright (Katlin) 編 〜 と題しまして、書いていこうと思います。みなさん、Pythonのhtmlからpdfを作成するライブラリ wkhtmltopdf は…
※ 本記事はSansan Advent Calendar 2024およびRuby Advent Calendar 2024の14日目の投稿です🎄 こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 仕事部屋が寒すぎて脚がキンキンに冷えているので、分厚いルーズソックスみたいな靴下を履いています。サンタさん、床暖房が欲しいです🙏 さて、今回はこれまであまり関わることがなかったRubyコミュニティに参加した感想について書こうと思います。
本記事はBASEアドベントカレンダー2024の13日目の記事です。 はじめに Pay IDのテックリードの大木(@roothybrid7)です。 9/30に、PAY株式会社(以下PAY社)が保有していた「Pay ID」のシステム移管を行い、リニューアルしました。 カートやショップ管理画面、Pay IDアプリとは別の独立したシステムとなっており、アプリケーションの技術選定やアプリケーションアーキテクチャの設計に携わりましたので、その辺の話をしたいと思います。 移管の背景 2021年に購入者向けショッピングサービスとして「Pay ID」の提供を開始しましたが、サービスの運用は引き継いだ一方で、決済…
この記事はDeveloper&Designer Advent Calendar 2024の13日目の記事です🎄 # はじめに ## 自己紹介と挨拶 # ことの発端 # 本の概略 ## 余談と所感 # 作り方より大事なこと # Chapter10 伝道に終わりはない(本題) ## あなたの組織やプロダクトにとっての「ミレニアムファルコン」は何か # はじめに この記事では『デザインシステムの育て方』の紹介と読んでみての感想や考察などを述べていきたいと思います。 ※ この本です www.kinokuniya.co.jp 小さなデザインシステム設計のナレッジシェア 以下から試し読みも可能だったりしま…
昨日は開発環境もない、Kotlinも触ったことがない状態から、KotlinでコンソールにHelloWorldを出力しました。 今日はKotlinとはなんなのか、を調べたいと思います。 早速ChatGPTに質問「Kotlinとはなんですか?」 以下回答 ------------------------------------------------------- Kotlinは、JetBrainsによって開発されたプログラミング言語で、特にAndroidアプリ開発で広く使用されています。以下の特徴があります: シンプルな説明 静的型付けのモダンな言語 Java仮想マシン (JVM) 上で動作する…
なかなか仕事終わりの時間を有効に使えていなかったけれど、今日からできるだけ知識のインプットとアウトプットをしていきたいと思います。 今日は、前から気になっていたKotlinを触りたいと思います。 まずはとにかく触ってみて、そのあとKotlinについての情報なんかをいろいろと学習していこうと思います。 使用しているPCはWindowsPC、PanasonicのLet’s noteです。 OSはWindows10 Pro スペックはRAM8GB、プロセッサはIntel Core i5-3320M 2.60GHz MacBookも持っていますが、このLet's noteもMacBookも古いです。新…
これは Kyash Advent Calendar 2024 11日目の記事です。 Kyash で Android エンジニアをしている高田(tfandkusu)です。2024年ももうすぐ終わりです。今年を振り返ると、potatotips #87 を始め、いくつかの LT イベントに登壇する機会がありましたが、一番大きい出来事は DroidKaigi 2024 での登壇です。発表した内容はこちらです。 2024.droidkaigi.jp この記事では、私が DroidKaigi 2024 の登壇を通じて得た学びを3点ご紹介します。一連の流れで登場する Kyash メンバーとの関わりを通じて、…
はじめに こんにちは、新卒2年目の岡崎です。エキサイトHDアドベントカレンダー2024の5日目を担当します。 今までの記事はこちらをご覧ください。 qiita.com さて。今回は、SpringBoot + Thymeleafで、JavaScriptに変数を埋め込む方法を紹介します。 環境 Java 試しに23を使っていますが、21でも問題ないです。 openjdk version "23.0.1" 2024-10-15 OpenJDK Runtime Environment Corretto-23.0.1.8.1 (build 23.0.1+8-FR) OpenJDK 64-Bit Serv…
2024/12/9 https://sansan.connpass.com/event/335070/ Connect x Server-Side Kotlinで実現する!スキーマ駆動開発と品質改善の実践 市川 達裕さん (Sansan) スキーマ駆動開発 技術スタック Kotlin/Kator/goも Google Cloud 体制 LeSS Hugeをベースに チームの動き方 着手のタイミングでEventStormingやドメインやAPIの設計 BE/FEは同一チームで 課題 BE/FEのAPIスキーマのやりとり問題 リクエストのバリデーションを都度実装 実装済みのAPI仕様を知るのにコー…
こんにちは!kintone 開発チームの Android エンジニア、トニオ(@tonionagauzzi)です。 本日は、私たちがモブプログラミング(以下、モブ)を活用して Android アプリの品質向上に取り組んだ話をします。 目次 はじめに 1. 共同モブの実践例 共同モブの進め方 実装プランニング タスク分割 実装、テスト仕様書作成 コードレビュー、テスト仕様書レビュー 品質保証(テスト実施と修正) マージ 共同モブを始めたきっかけ 開発者のスイッチングコスト QAから見た不透明さ バグの優先度が不明 2. 共同モブで得た成果 シフトレフトテスト レビューコストの削減 探索型テストの…
ブログ開設もできたところで、早速プログラミング言語を学ぶことにします。 開発言語の経験ですが、数年前にHTMLやCSSの基礎の基礎だけを学んで、特に何かを作ることも無く終わりました。なので今回は頑張りたい。 学習する言語ですが、特に決めていませんでした。とりあえず自分が使ってるスマホがAndroidなので、Androidのアプリ開発に使用する言語を学ぶことにしようと思います。 Androidアプリ開発言語には、 ・Java ・JavaScript ・C++ ・Kotlin など様々な言語がありますが、 その中でもKotlinは、Androidアプリを初めて開発する人向きの言語だとGoogleが…
世界最安GPU探求記 30代エンジニアの技術書棚 type-challengesを使ったTypeScript実践演習 フロントエンド段階的モダナイズ チャットAI Grokの登場 パスワード定期変更の是非 バックオフィス業務におけるAI活用 PostgreSQLクエリ最適化とEXPLAINコマンド 粗悪な互換バッテリー問題 Chrome売却と代替ブラウザ Zodを用いたOpenAIの構造化出力処理 Amazon Nova:高性能・低価格の大規模言語モデル 3Dプリンター駅舎建設 Compose MultiplatformによるiOS/Androidアプリ開発 RedshiftからSnowfla…
この記事はコネヒトAdvent Calendar 2024 07日目の記事です。 コネヒトのエンジニアやデザイナーやPdMがお送りするアドベントカレンダーです。 コネヒトは「家族像」というテーマを取りまく様々な課題の解決を目指す会社で、 ママの一歩を支えるアプリ「ママリ」などを運営しています。 adventar.org こんにちは、コネヒトAndroidエンジニアの中島(id:nacatl)です。 早いものでコネヒトにジョインしてもう1年半近くなりました。 今回はママリAndroidアプリにおけるJetpack ComposeのPreviewについて紹介いたします。 背景 ママリAndroid…
目次 メタプログラミングとは Kotlinにおけるアノテーション 2.1 カスタムアノテーションの作成 2.2 アノテーションの使用例 Kotlinにおけるリフレクション 3.1 リフレクションの基本 3.2 リフレクションを使ったオブジェクトの操作 アノテーションとリフレクションの組み合わせ まとめ メタプログラミングとは メタプログラミングは、プログラム自身を操作するプログラムを書く技術のことです。Kotlinでは、アノテーションとリフレクションを使うことで、メタプログラミングを実現できます。これにより、コードの動的な解析や生成が可能となります。 Kotlinにおけるアノテーション カスタ…