JetBrains社が開発している Java VM や JavaScript 上などで動く、型の強いオブジェクト指向プログラミング言語。 以下の項目を設計目標に掲げている。
エラー防止の機能はよく働いており、Javaですっかりおなじみ「ぬるぽ」ことNullPointerExceptionがこの言語では意図的にプログラミングしないと出てくれないらしい…。
状況 パターン網羅のために大量の呼び出しを行うようなテストを追加した所、java.lang.OutOfMemoryErrorでテストが失敗する状況が生じました。 外形的な挙動としては、テスト関数が1つ終わってもメモリが解放されず、テストが進むにつれメモリ使用量も線形に伸びていました。 また、CPUにも大きめの負荷がかかっているようでした。 調査した所、これらのリソース消費増大はMockKでmock/spyした内容を大量に呼び出した場合に起きていました。 問題の起きたプロジェクトはSpringBootを用いていますが、テスト用のBeanとして使われているmock(= 元から大量呼び出しが有った)…
github.com greadle.propertiesを弄る ビルド・テストで全コア使われると他アプリの動作が重くなるので、kotlin.test.junit5.maxParallelForksを全コア数 - 最低限確保したいコア数にしていいかも。 以前はJDK7以前を無視するオプションも有ったがいつの間にか消えていた。 テスト周り 変更 kotlin-reflect関連はcompiler/testData/codegen/box/reflectionに有る。 特にテスト追加のような変更後はgenerateTests(IDEに保存されている内だとGenerators -> Generate…
はじめに こんにちは、新卒2年目の菊池(akikuchi_rks)です。 近年、Androidアプリ開発のみならず、サーバーサイドの開発言語としてもKotlinが急速に注目を集めています。私自身もKotlinを使ってサーバーサイドの開発を行っており、豊富な機能やシンプルな文法に魅力を感じています。 Kotlinを使用していて特に感じるのは、そのコレクション関数の充実性です。コレクション操作はプログラミングにおいて頻繁に行われるため、これらの関数が豊富であることはKotlinの特長のひとつと言えると思います。 また、これにラムダ式を組み合わせることで、よりシンプルで効率的なコーディングが可能とな…
以下のように、additionalPropertiesのtypeを指定すると、値の型を変えられます。 例ではstringを指定しているので、Kotlinで生成した場合Map<String, String>になります。 type: object additionalProperties: type: string type: integerにすればMap<String, Int>になりますし、type: stringのままformat: uuidにすればMap<String, UUID>になります。
非日常生活に入る前に 下書きをしていた記事があったことを思い出しました ARにハマっていて勉強中だったのに…すっかりリセットされてしまいました また日常に戻ったら1からやり直しかな(悲) その時のために まとめたものをアップしておきます 以前アップしたUnityのスマホをタップしてコダックを召喚 everydayisagoodday.hatenadiary.com これのAndroid Studio版ですAndroid StudioでもARアプリができるはずなのでいろいろ調べながら挑戦してみました が うまくいかず保留にしようかと思い始めた頃この記事に遭遇 qiita.com 解説通りにやって…
こんにちは、モバイル開発チームのhyoshです。 弊社では各分野の特定のテーマに沿ってエンジニアが議論する「TechCafe」というイベントを定期開催しています。 PHPTechCafe フロントエンドTechCafe そして先日私を含めた弊社モバイル開発チームが初となる「モバイルTechCafe」を開催しました! rakus.connpass.com 本ブログでは開催までの準備過程や当日の内容についてレポーティングさせていただきます。 TechCafeについて 準備編 テーマ選定 参加者選定 打ち合わせ 当日編 紹介したイベント 複雑さに立ち向かうためのコードリーディング入門 認証体験向上の…
ふと、Android で動作するデジタルアートを作りたいと思い立ち、衝動に身を任せて簡単なものを作った。そのとき学んだことを、忘れっぽい自分のためにメモしておく。 開発環境はAndroid Studio Electric Eel 2022.1.1 目次 準備 - アニメーション - ブレンドモード 本編 - クリエイティブコーディング アニメーション 一定時間ごとに、onDraw()を呼び出せば良い。invalidate()を使えば、onDraw()を強制的に呼び出すことができる。 Handlerを使う方法もあるが、今回はTimerAnimatorで実装してみる。 import ... //省…
むおおおお! 久しぶりに個人ブログを更新したけど、 個人的に脳内を整理するために書き散らしたエントリなので役に立たないかも。 Kotlin Flowを勉強する場合、例えば以下のサイトを流し読む方が役には立つハズ… 勉強するときに見たサイト Android での Kotlin Flow | Android Developers StateFlow と SharedFlow | Kotlin | Android Developers もう迷わないCoroutines(記事版〜余談編〜) Kotlin Coroutines Flow とは。 #Kotlin - Qiita StateFlowの深堀り…
昨日からの続きです 今日は各ボタンをタップした時の処理を編集します // カラーチェンジメソッド fun ChangeColor(colorSelected: String) { when (colorSelected) { "black" -> color = Color.BLACK "red" -> color = Color.RED "blue" -> color = Color.BLUE } paint!!.color = color } // clearメソッド(初期化とキャンバスクリア) fun Clear() { pathList.clear() colorList.clear(…
はじめに 株式会社スペースリー iOSエンジニアの樋川です。 普段は弊社サービスの、物件の撮影を補助/管理するアプリのiOSの開発をしています。 現在、モバイルアプリチームはマネージャー1人、iOS/Android 2名ずつの計5名の構成となっています。 今回は、モバイルアプリチームで行っているモバイルLT会について紹介したいと思います! LT会が始まった経緯 OSを横断して知識を共有する コミュニケーションを増やす 上記2点の機会を増やすために始まりました。 特に完全リモートワークの中で、チーム内のコミュニケーションの重要性が高まっています。 開催方法 頻度は隔週水曜日に1時間ほどです。 発…
前提 Compose MultiplatformでiOSのみの開発をしています。 (元々Jetpack Composeで作成していたAndroidアプリのiOS版を作成しよう&Multiplatformの実装について学ぼうということでCompose Multiplatformを導入しており、Android版は元々のままJetpack Composeのプロジェクトとして運用しております) そのため、iOS&Androidを同時開発している場合にはそのままだとちょっと動かない可能性もあります。 こうやったら動いたという趣旨の記事のため、ベストな記述方法ではない可能性があります。 Compose M…
VScodeにて使用しています。 Kotlin使ってます。推奨言語はPythonとかC++とかC#とかみたいだけど。 Javaすら含まれていないのが気になりますが、まあ言語の普及度合いと相関するでしょう。 インラインチャット VSCodeの左側のタブを押すとチャット欄が出てきますが、 それとは別にエディター内でチャットを入力できる機能があります。コードを挿入してほしいときに便利なのですが、なんとなく精度が良くない。 左のチャット欄に入力するとまともな回答を得られることが多いようです。 サジェスト機能 コメントとかを書いてEnter押すとコードを生成してくれます。 これもコード挿入したいときは便…
JupyterNotebookでKotlinが使えることを最近知った qiita.com conda install kotlin-jupyter-kernel -c jetbrainsでkotlinのjupyter kernelが入るVSCodeのJupyterNotebookの拡張機能を入れるVSCodeでipynbファイルを開いて 右上のカーネルを選択をクリック jupyter kernelを選択 Kotlinを選択 これで実行できるようになった
近況報告になるが、去年末から本業仕事でIoT系プロジェクトに関わっていたが、最近それが一段落した。この仕事のターゲット機はESP32を搭載しているが、小生はそのファームウェアの開発を行った。また、AWS上で稼働するNestJSベースのWebアプリ・サーバープログラムの改造も手伝ったりした。こちらで得た技術知見もブログ記事に書いていこうと思っている。 本業に復帰する前の一昨年から去年前半まで(コロナ禍の最盛期)はIT開発は副業としてやっていたが、主に関わっていたのはスマホアプリ開発でフレームワーク(プログラミング言語)はFlutter(Dart)を使っていた。Flutterを好んで使っていたのは…
Ensure that you have a dependency on the kotlin standard library とか言って赤い波線が出てきた。Stringの型とか全部波線になる。 "java.configuration.updateBuildConfiguration": "interactive",settings.jsonになんか追加されてたのでこれを消したら解消した。 これGradleとかの設定変更したら、読み直すタイミングの設定だと思う。 関係ありそうでなさそうな。 良う分からん。VSCodeでspring/kotlinの開発は難しい。
GWでたくさん寝て頭がスッキリしたので、久々にブログで。 個人の感想です LogicとViewの共通化 flutter.dev Flutter allows you to build apps for mobile, web, desktop, and embedded devices — all from a single codebase. マルチプラットフォーム向けのフレームワークを使う場合、そのフレームワークは複数のプラットフォーム向けのコードを共通化します。 Flutterの特徴の一つは、共通化する対象がLogicとViewの両方である点です。 Logicの共通化は、Flutterの…
🗒 今日の学び Hello Nostr! Yo Bluesky! 分散SNSの最前線 結婚式の待ち時間の間に積んでいた本を一冊消化。 techbookfest.org zenn.dev lexiconのデータ形式を実際に確認してみたい。というより、BlueSkyクライアントになる何かを開発してみたい。 本を読んでいるとTS向けのライブラリがあるようなので、テック記事を配信するアカウントとか作ってみてもおもしろいのかもしれない。 IntelliJでリソース消費量を測定する zenn.dev こっちは来週の仕事に向けたキャッチアップ。ふと「そういえばKotlinの開発環境でリソース消費量を計測する…
※注意※ この記事にはキツめな下ネタが記載されています。 男子同士の下劣な下ネタでギャハハと笑えるような寛容な心を持つ人だけ読み進めてください。 この記事に書かれていないこと 開発の技術的スキル、記法 具体的な性癖 この記事に書かれていること どうでもいいこと
プログラミング言語「Kotlin」の学習記録です。 プログラミング経験としては、過去にHTMLやCSSの基礎の勉強はしましたが結局活用することなく挫折。そして今回は新たにKotlinに挑戦してみます。 学習サイトはこちら。 developer.android.com 目標は、とにかく何かしらアプリを制作してリリースすること。 では早速学習を始めます。 Happy Birthday アプリを設定する developer.android.com アプリ完成図はこんな感じ。 画面に大きく「Happy Birthday Sam!From Emma」と表示されています。 文字を表示するだけなので、とても…
概要 ポケモンは今や 1000 体を超える勢いで増え続けています。 私自身もポケモン初代から遊んでいますが 2024 年もまだまだその勢いが衰えず新作が出るたびに大ヒットとなっています。 そんなポケモンですが、今回 Android 用アプリとしてポケモン図鑑をとても見やすく操作性も良いアプリが OSS として出ていたので、今回はこちらについてご紹介したいと思います。 今回ご紹介する OSS は、Hilt、Coroutines、Flow、Jetpack (Room、ViewModel)、および MVVM アーキテクチャに基づいて開発され、見た目・操作性・機能性を追求した Android 向けポケ…
LazyColumn, LazyRow, TextFieldといった基本コンポーネントを並べて表示するというごくごく標準的な方法を教わりました。 ただ、その中で、数値のフォーマットや、列幅の調整等の実装を記述する必要があり、結果的にJetpack Composeでの基本的なコンポーネントの管理方法を知ることができ、大変有益でした。 例えば、コンポーザブル階層を縦断するデータを管理するには、Composition Localという仕組みで定義された値を操作することなどです。会話中で挙げていただいたComposition Localのリストは以下です。 ・LocalContentColor ・Lo…
この記事について AboutLibrariesを使って、OSSライセンス表示を作成する方法について整理しました。 github.com ※※※ 自分の場合、ComposeMultiplatformを使用してiOS側しか動かしていないです!!なので、もしAndroidもiOSも両方動かしている方がいたら一応留意して読み進めてもらえると幸いです。 AboutLibrariesとは 「AboutLibraries は、コンパイル時にライセンスを含むすべての依存関係の詳細を収集し、アプリ内でこれらを視覚化するためのシンプルな API を提供します。実行時のオーバーヘッドはありません。強力なキャッシング…
こんにちは、Sansan Engineering Unitで副部長を務めている笹川 裕人です。Sansan技術本部のテックリードたちが取り組んでいる技術的な取り組みやチャレンジを対談形式で深掘りする「Sansan Tech Talk」。今回は第2回として、Bill One Engineering Unitのチーフアーキテクトを務める加藤 耕太にインタビューしました。▼連載記事はこちら buildersbox.corp-sansan.com
こんにちは 「基礎&応用力をしっかり育成!Androidアプリ開発の教科書 第3版 Java対応 なんちゃって開発者にならないための実践ハンズオン」を読んだ備忘録です。 Amazon 開発環境 メモ 第1章 Androidアプリ開発環境の作成 第2章 はじめてのAndroidアプリ作成 第3章 ビューとアクティビティ 第4章 イベントとリスナ 第8章 オプションメニューとコンテキストメニュー 第9章 フラグメント 第10章 データベースアクセス 第11章 非同期処理とWeb API連携 感想 Amazon Kotlin版も言語解説書ではないので,パッと見た感じは内容は大きく違いませんでした。 …
AI を取り入れたシステムを実装するとき、特に制限がないなら Python ベースで考えることが多いと思います。ただ、私の普段使いは Kotlin/Spring なので、今後場合によってはそちらで実装したいことがあるかもしれません。ということで、その場合の採用候補として、Spring AI を触ってみることにします。 前提 本記事では以下のバージョンのライブラリを使用しています。 Spring AI 0.8.1 Spring Boot 3.2.4 準備 Spring AI プロジェクトは、さまざまな LLM・生成 AI へのアクセスを抽象化するライブラリ群を提供しています。今回はそのうちの C…