並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 18 件 / 18件

新着順 人気順

Kotlinの検索結果1 - 18 件 / 18件

  • マルチテナントアプリで行うイベント計測のしくみ - Hatena Developer Blog

    こんにちは、Androidエンジニアのid:r4wxiiです。『Inside GigaViewer for Apps』連載5回目は、メディア共通機能の1つであるイベント送信機能を、GigaViewer for Apps(以下、GigaApps)の標準機能として実現するための設計について紹介します。 イベント送信機能とは GigaAppsのイベント送信機能が複雑となってしまう理由 メディアによって異なる計測プラットフォーム メディアによって異なるイベント GigaAppsにおけるイベント送信機能を噛み砕いた設計 メディアによって異なる計測プラットフォーム メディアによって異なるパラメータ イベントを適切に振り分けて送信する 実装 イベントを送信する メディアによって異なる計測プラットフォームを扱う メディアによって異なるパラメータを扱う イベントを適切に振り分けて送信する 終わりに イベント

      マルチテナントアプリで行うイベント計測のしくみ - Hatena Developer Blog
    • AWS CodeBuild を利用した CI の高速化: 並列テスト実行が利用可能に | Amazon Web Services

      Amazon Web Services ブログ AWS CodeBuild を利用した CI の高速化: 並列テスト実行が利用可能に AWS CodeBuild で並列テスト実行のサポートが開始されたことをお知らせします。これにより、テストスイートを同時に実行し、ビルド時間を大幅に短縮できます。 この記事のために作成したデモプロジェクトでは、環境をプロビジョニングする時間を含め、テストの合計時間が 35 分から 6 分に短縮されました。AWS マネジメントコンソールの次の 2 つのスクリーンショットは、その差を示しています。 テストスイートの順次実行 テストスイートの並列実行 継続的インテグレーション (CI) を大規模に実行する際に、テスト時間が非常に長くかかることは大きな課題となります。プロジェクトの複雑さが増し、チームの規模が大きくなるにつれて、包括的なテストスイートの実行に必要な時

        AWS CodeBuild を利用した CI の高速化: 並列テスト実行が利用可能に | Amazon Web Services
      • Gaudiyで3年間エンジニアしたのでDev組織について語る|ruwatana

        2022年の6月に入社したGaudiyをこの度退職する運びとなりました。 この記事では、約3年ほどエンジニアとしてお世話になった感謝の意も込めつつ、Gaudiyの特にDev組織について改めて特徴や魅力について自分なりの目線から語ってみようと思います。 GaudiyのDev組織が気になっている方や、これからGaudiyに入社を検討されている方などの参考になれば幸いです。 なぜ入社したのか当時の自分のスタックはモバイル領域(主にiOS)と、社内データソースやプライベートクラウド中心の薄いサーバーサイド領域だけでした。 一般的なプロダクトエンジニアに求められるそれとは乖離していて、コンプレックスがあったのも事実です。 そのため、ものづくりをする上で必要なエンジニアリング技能を俯瞰しつつ扱えるようになりたいという想いと、事業的なビジョンにも共感できたのでそれによっても熱量高く働けるのではないかとい

          Gaudiyで3年間エンジニアしたのでDev組織について語る|ruwatana
        • Skip FrameworkとConvexの比較 - Qiita

          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 本記事では、Skip FrameworkとConvexという2つのリアクティブバックエンド技術について、機能やできること、開発のやりやすさなどの観点から比較します。対象読者はバックエンド開発経験者や中級フロントエンド開発者を想定しています。 Skip Frameworkとは何か Skip Framework(以下 Skip)は、Meta社(旧Facebook)で開発されたオープンソースのリアクティブバックエンドフレームワークです (GitHub - SkipLabs/skip: Skip is a framework for build

          • なぜLINEは600以上のテストケースをKotlinで書くのか? “とにかく便利なテスト”を実現する、kotestのお役立ち機能 | ログミーBusiness

            LINEが定期的に開催する、Kotlinをテーマにした技術者向けのミートアップ「LINE Developer Meetup for Kotlin」。今回は「LINEにおけるServer Side Kotlinの導入事例と開発裏話」をテーマに開催します。ここで登壇したのは、「Messaging API」のサーバーサイドを開発している川田裕貴氏。システムの改善における取り組みについて発表しました。全2回。後半は、「Messaging API」のテスト環境について。前回はこちら。 End to EndでテストができるテストケースをKotlinで書いている川田裕貴氏:前半はMessaging APIの話をしてきましたが、後半はちょっと話を変えます。Messaging APIの中ではテストをいろいろ動かしているのですが、テストケースも全部Kotlinで書いています。普通のユニットテストではなく、En

              なぜLINEは600以上のテストケースをKotlinで書くのか? “とにかく便利なテスト”を実現する、kotestのお役立ち機能 | ログミーBusiness
            • Android のマルチモジュール化で Preview の高速化 - Diary

              今回は Android のプロジェクトをマルチモジュール化し、Jetpack Compose の Preview を高速化してみました。 [目次] 環境 マルチモジュール化のメリット デメリット マルチモジュール化の方法 プレビュー速度の向上 Links おわりに 環境 - PC - macOS version 12.4 - Apple M1 chip - Memory 16 GB - Android Project - compose "1.3.0-rc01" - kotlin "1.7.1" マルチモジュール化のメリット ビルド時間の短縮 2 回目以降のビルドは、変更の入ったモジュールのみになるため速い! レイヤー間の依存関係の強制 各モジュールの関心ごとを小さくできる package ではクラスのグルーピングしかできないが、レイアウトファイルや resource 等も含めたグルーピン

                Android のマルチモジュール化で Preview の高速化 - Diary
              • Hexabase公式コラム | DX推進・AI活用の最新情報をお届け

                WebAssembly(WASM)はJavaScriptを除き、ブラウザ上での動作が保証された実行環境です。WASMはあくまでも実行環境であり、プログラミング言語ではありません。そのため、WASMバイナリに変換できる言語は幾つも存在します。 そうした言語を使うことで、普段自分が作っているプログラミング言語からWASMバイナリを生成できます。JavaScript以外の言語を使ってWebアプリケーションの開発が可能になります。 この記事では主なプログラミング言語と、その利用法を紹介します。 Rust RustはMozillaの開発するプログラミング言語で、WebAssembly向けに開発するのであれば一番お勧めの言語になります。元々RustやC、C++がWebAssembly向けに開発できる言語となっていたので、最新の機能を一番早く実装されるでしょう。 Rustは元々CやC++を置き換える存在

                • Model Context Protocol(MCP)とは?生成 AI の可能性を広げる新しい標準

                  はじめに こんにちは。クラウドエースの荒木です。 ChatGPT や Claude などの生成 AI が日常生活やビジネスに浸透してきましたが、これらの AI の真価は外部システムと連携したときに発揮されます。しかし、この連携には大きな課題がありました。 これまで AI と外部システムを連携させるには、システムごとに個別の API 統合が必要で、認証方法やデータ形式、エラー処理など、細かな実装を繰り返す必要がありました。このような個別対応は開発効率を下げ、拡張性や保守性の面でも問題がありました。 そこで登場したのが「Model Context Protocol(MCP)」です。2024 年 11 月に Anthropic が発表したこのオープンプロトコルは、AI と外部システムの接続を標準化し、開発者の負担を大幅に軽減します。 この記事では、MCP の基本概念から実装方法、活用事例まで、技

                    Model Context Protocol(MCP)とは?生成 AI の可能性を広げる新しい標準
                  • MCPとは?「AIアプリのためのUSBーCポート」の未来と重要性を徹底解説 | XenoSpectrum

                    Anthropicが開発し、宿敵であるはずのOpenAIまでもが採用を表明した新技術「MCP」が、AI業界で急速に注目を集めている。MCPは、AIが外部のデータソースやツールと連携するためのオープンな標準規格であり、まるでモバイルアプリのようにAIの機能を拡張し、AIエコシステムの基盤となる可能性を秘めている。本記事では、テクノロジージャーナリストとして20年以上の経験とGoogleでの検索エンジン開発経験を持つ筆者が、MCPの仕組み、重要性、具体例、そして未来について、SEOの観点も踏まえ徹底的に解説する。 MCPとは何か? AIの「接続」を変える新標準 「MCP(Model Context Protocol)」とは、AIアシスタント(大規模言語モデル、LLMなど)が、外部のデータソースやツール、システムと安全かつ双方向に接続するためのオープンスタンダード(公開された標準規格)である。2

                      MCPとは?「AIアプリのためのUSBーCポート」の未来と重要性を徹底解説 | XenoSpectrum
                    • 分散データベースエンジニア(メッセージングサービス)/ LINE Platform|LINEヤフー株式会社

                      ポジション概要「LINE」で1日にやりとりされるメッセージの総数は数百億単位です。これは数千台のサーバーと、その上で動くRedis ClusterやHBaseなどの分散ストレージミドルウェアによって実現されています。これらのミドルウェアは、秒間数百万のクエリを処理し、数ペタバイトのデータを扱える性能を発揮します。しかし、「LINE」規模の実サービスでは、特定の条件下でのみ発生するパフォーマンス劣化の問題や、世界中でまだ誰も遭遇していないバグに直面することが頻繁にあります。 本ポジションでは、「LINE」のメッセージングおよび関連サービスの機能開発・保守を他のチームと連携しながら、これらの困難な課題を解決してくれるエンジニアを募集しています。 組織のミッション・展望 メッセージングおよび関連サービスに必要なストレージの重要な機能の開発およびサポート ベストプラクティスを採用した、スケーラブル

                        分散データベースエンジニア(メッセージングサービス)/ LINE Platform|LINEヤフー株式会社
                      • Gaudiyで3年間エンジニアしたのでDev組織について語る|ruwatana

                        2022年の6月に入社したGaudiyをこの度退職する運びとなりました。 この記事では、約3年ほどエンジニアとしてお世話になった感謝の意も込めつつ、Gaudiyの特にDev組織について改めて特徴や魅力について自分なりの目線から語ってみようと思います。 GaudiyのDev組織が気になっている方や、これからGaudiyに入社を検討されている方などの参考になれば幸いです。 なぜ入社したのか当時の自分のスタックはモバイル領域(主にiOS)と、社内データソースやプライベートクラウド中心の薄いサーバーサイド領域だけでした。 一般的なプロダクトエンジニアに求められるそれとは乖離していて、コンプレックスがあったのも事実です。 そのため、ものづくりをする上で必要なエンジニアリング技能を俯瞰しつつ扱えるようになりたいという想いと、事業的なビジョンにも共感できたのでそれによっても熱量高く働けるのではないかとい

                          Gaudiyで3年間エンジニアしたのでDev組織について語る|ruwatana
                        • Pythonを使ったAndroidアプリ開発の方法:Kivy, BeeWare, Chaquopyを徹底解説

                          はじめに Androidアプリ開発といえば、一般的にはJavaやKotlinが使われます。これらはGoogle公式の開発言語であり、Android Studioを使った開発環境とともに多くの機能をサポートしています。しかし、Android開発を始めるためには、JavaやKotlinの知識が必要であり、開発環境の構築も少し複雑です。 一方、Pythonはシンプルで読みやすいコードが書けるため、多くのエンジニアに親しまれています。これを使ってAndroidアプリを開発できたら、Pythonの豊富なライブラリや簡単な記述の利点を活かしながら、モバイルアプリを手軽に作成できるようになります。 PythonでAndroidアプリを開発するメリットには、次のようなものがあります。 学習コストが低い:JavaやKotlinよりも簡単に学べるPythonを使えることで、初心者にも優しい環境です。 迅速なプ

                            Pythonを使ったAndroidアプリ開発の方法:Kivy, BeeWare, Chaquopyを徹底解説
                          • 【Android】アプリにPythonのプログラムを組み込む - Qiita

                            はじめに Androidアプリは通常kotlinやFlutterを使って実装しますが、プラグインを用いる事で、Androidアプリのプログラムの中に、Pythonのプログラムを組み込むことができます。そうする事で、例えば、Pythonでお手軽に機械学習の実装をしてAndroidアプリに組み込むことができます。Androidのアプリを開発する中で「Pythonだったら簡単にできるのに…」と感じたことがある方に、ぜひ読んでいただきたいです。 動作環境 Android Studio Hedgehog | 2023.1.1 Patch 2 kotlin 1.9.22 macOS 14.1 Python 3.9.6 Pythonの導入準備 Android Studioで空のプロジェクトを作成し、Pythonを導入するためにChaquopyというプラグインを追加します。build.gradle.kts

                              【Android】アプリにPythonのプログラムを組み込む - Qiita
                            • AI時代を生き抜く "人力Multiplatform芸人" の思索 - inSmartBank

                              こんにちは。スマートバンクで iOS / Android エンジニアをしている nakamuuu です。 2023年以降、Jetpack のライブラリ群をはじめとするAndroidエコシステムでの Kotlin Multiplatform のサポートが加速する中で、マルチプラットフォームツールに関する議論が活発になっています。 Flutter / React Native なども含め、iOS / Androidアプリのコード共有技術はモバイルアプリ開発における主要トピックとして継続的に注目を浴びてきました。 android-developers.googleblog.com 一方でそのようなソリューションを採用しないプロダクトでは、iOS / Android の両プラットフォームの実装を同じ開発メンバーが担うこともあるでしょう。また、両実装を担当しないまでも、iOS / Android の

                                AI時代を生き抜く "人力Multiplatform芸人" の思索 - inSmartBank
                              • Cline for IntelliJを作ってみる - Qiita

                                AIエージェントがすごく流行っていますが、だいたいVSCode関連で悲しいです。 JetBrainsにも欲しいです。 ということで、作ってみました。 Clineの最初期のバージョン(Claude Dev 1.0.4)をIntelliJプラグインとして再実装しています。 バグや未実装の機能がたくさんあるので実用に耐えうるものではありませんが、それっぽく動作するものは作ることができました。 デモ Hello Worldを作ってもらいました。 実装 バックエンド バックエンド(Claudeと通信する部分)は、大部分がClineをそのままKotlinに書き換えたものです。 ClaudeDev.tsがCline.ktに、ClaudeDevProvider.tsがClineService.ktに書き換えられています。 tree-sitterはKotlinで実装するのが面倒そうだったので、node.js

                                  Cline for IntelliJを作ってみる - Qiita
                                • ScalaのOptionってなんやねん - DTダイナミクス テックブログ

                                  ごあいさつ こんにちは。meviyのGrowthチームで開発している林です。 もともとJava/Kotlinを利用して開発しているところからScalaを利用した開発に飛び込んでまずハマったOption型について話してみようかと思います。 Option型とは そもそもOption型ってなんなんでしょうか? Wikipediaによると以下のようなものです。 プログラミング言語と型理論において、Option型(英語: Option type)またはMaybe型(英語: Maybe type)は存在しない可能性のある値をカプセル化して表す多相型である。 結果が返ってくるかわからない、使うときに中身空かもしれないよーってことですね。 シュレディンガーの猫みたいな性質してやがります… この概念がなかなか理解できず入社当初は苦労した記憶があります。 (一応JavaにもOptional型というのがあるんで

                                    ScalaのOptionってなんやねん - DTダイナミクス テックブログ
                                  • Androidで秘匿情報をNDKで隠蔽化する - Qiita

                                    # include <string.h> # include <jni.h> JNIEXPORT jstring JNICALL Java_com_shcahill_ndksample_MainActivity_stringFromJNI(JNIEnv *env, jobject thiz) { return (*env)->NewStringUTF(env, // 秘匿情報の文字列(ここのコメントは残ってしまうので、実際には書かない) "string from JNI!"); } 関数名は命名規則があります。 先頭にJava_をつける パッケージ名を_繋ぎでつける 呼び出すKotlin/Javaコードのファイル名をつける(拡張子は付けない) 関数名をつける この例だと、MainActivityからstringFromJNIという名前で呼び出せます。 また、この例の場合、thizが未使用だ

                                      Androidで秘匿情報をNDKで隠蔽化する - Qiita
                                    • Hexabase公式コラム | DX推進・AI活用の最新情報をお届け

                                      JavaScriptやCSS、HTMLをブラウザ上で記述して実行できるサービスは数多く存在します。こうしたサービスは大きく分けて二種類あります。ブラウザだけで完結するものと、サーバーサイドに実行環境を持つものです。 後者の特徴として、最近のJavaScriptライブラリのようにトランスパイルが必要なプロジェクトにも対応できるという点が挙げられます。たとえばReactやVue.jsなどでも実行ができるので、より複雑なプロジェクトでも使えるのが魅力です。 今回はそうした実行環境があるスニペットサービスを紹介します。 Replit ReplitはJavaScriptだけでなく、以下の言語に対応しています(一部)。 Python Node.js C++ C Java PHP Bash Ruby C# Go言語 Lua Kotlin Dart これらのプロジェクトのコードを書き、Replit上で実行

                                      1