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時間ほどです。 発…
KSP2における変更 android-developers.googleblog.com 上のAndroid Developersのブログ記事にて様々な変更点が紹介されています。その中でも特にスタンドアローンに実行できる点が気になったため試してみました。 エントリーポイントのあるライブラリとして実装されているため、デバッグやテストが容易になっているらしいです。 テストを書いてみる 試しにコード生成の単体テストを書いてみます。 依存関係を追加する まずは依存関係を追加します。 implementation("com.google.devtools.ksp:symbol-processing-aa…
🗒 今日の学び fortee.jp 前にWebサーバーにおけるPHPの実行方式に関する記事を書いたのですが、php-fpmの具体的な挙動までは首を突っ込まなかったので勉強になりました。ナチュラルに状態が残らないものだと思ってWebのPHPを書いてましたが、PHPコマンドで実行すると残るんですね…という学び。 fortee.jp ある程度馴染みのあるPHPをベースにRustはこうだよ、という話だったのでとてもわかりやすかったです。少しRustがわかりました。そして書いてみたくなりました。 ライブラリの実行時間のベンチを出してくださっていたのですが、Rustは文字通りダンチでした。10~100倍の…
前回、Gradleというビルドツールでプロジェクトを作って、「Hello, world.」までやりました。 今回は、そのプロジェクトを IntelliJ に読み込ませてデバッグするところまでやりたいと思います。 それではやっていきます!
Flutter3.16から3.19へ移行してみようと思ったら、 かなりハマったので、いろいろ調べたときの備忘録(*´ω`*) Breaking changes | Flutter Deprecated imperative apply of Flutter's Gradle plugins | Flutter 環境はこんな感じ。主にAndroid側の設定でハマる VSCode/Mac M2 FVM: 2系 → 3系 Flutter: 3.16.9 → 3.19.6 AndroidStudio: → 2022.1.1(JDK11) → 2023.3.1(JDK17) Gradle: 7.5 → …
業務でgRPCを使う機会があるのですが、個人で軽く触ったことがある程度で正しく理解できているか不安だったので、改めてインプットし直しました。この記事はさくらインターネットさんが公開されている記事から特に重要だと感じた箇所を抽出して、自身の備忘録として短くまとめたものです。 knowledge.sakura.ad.jp 実は前回も読んでいるはずなのですが、頭から抜けている箇所が多くありました...。 そもそもRPCって何 RPCとは通信プロトコルの1つで「遠隔手続き呼び出し」と訳せるようにクライント・サーバーモデルであり、どこかにあるサーバーに定義された関数をクライアントが呼び出すことで実現され…
今回は、Java向けのビルドツールである Gradle を使ってみます。 Java用、もしくは、Javaに使えるビルドツールとして、Make、Ant、Mavenなどがありますが、最近は Gradle がよく使われています。 名前も Gradle(グレードル)が一番かっこいいですし、読み方も明らかでいいですね。Mavenは、メイバンと読むと思ってたんですけど、日本の方はメイブンとかメイベンとか呼んでますね。海外の方のYouTube見ると、メイバンとメイベンの中間ぐらいに聞こえます。 あと、Gradle のロゴも特徴的で良いデザインだと思います!(アイキャッチ画像に使わせてもらいました) 今回は、…
前回、自作のアプリを Cloudflare Pages + D1 に乗せてみました。 Hono + React + TanStack Router + TanStack Query + Chart.js + Drizzle ORMなアプリを、Cloudflare Pages と D1 に乗せてみた - メモ的な思考的な Cloudflare D1にあるテーブルの Cloudflare の D1 のページ D1 Manager https://github.com/JacobLinCool/d1-manager で確認できます。 一方、アプリはWebStormなどのJetBrains IDEで開…
アプリプログラミングは、現代のテクノロジーにおいて重要な役割を果たしています。多くの人々がアプリを作りたいと思っていますが、アプリの作り方に関する知識が不足している場合もあります。そこで、今回はアプリプログラミングの基本とアプリ作り方のステップバイステップを紹介します。 1. アプリプログラミングの基礎 アプリプログラミングは、アプリケーションソフトウェアを開発するプロセスです。これには、プログラミング言語の知識やコーディング能力が必要です。代表的なプログラミング言語には、Java、Swift、Kotlinなどがあります。また、アプリの開発には、開発環境のセットアップやデバッグのスキルも必要で…
前提 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の共通化 Native SDK APIへのアクセス 描画パフォーマンス 画面遷移の選択肢 CI/CDのセットアップ容易性 LogicとViewの共通化 flutter.dev Flutter allows you to build apps for mobile, web, desktop, and embedded devices — all from a single codebase. マルチプラットフォーム向けのフレームワークを使う場合、そのフレームワークは複数のプラットフォーム向けのコードを…
🗒 今日の学び Hello Nostr! Yo Bluesky! 分散SNSの最前線 結婚式の待ち時間の間に積んでいた本を一冊消化。 techbookfest.org zenn.dev lexiconのデータ形式を実際に確認してみたい。というより、BlueSkyクライアントになる何かを開発してみたい。 本を読んでいるとTS向けのライブラリがあるようなので、テック記事を配信するアカウントとか作ってみてもおもしろいのかもしれない。 IntelliJでリソース消費量を測定する zenn.dev こっちは来週の仕事に向けたキャッチアップ。ふと「そういえばKotlinの開発環境でリソース消費量を計測する…