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時間ほどです。 発…
近況報告になるが、去年末から本業仕事で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…
概要 2024 年 5 月の目標です。 勉強関連 SRE・DevOps、Kotlin、英語を対象に OKR を実施しています。 4 月〜6 月の目標 4 月〜6 月を終えた時点での目標は下記です。 注力分野 Objective(3 ヵ月経過後の目標) Key Result(必要だと考えていること) SRE・DevOps SRE・DevOps の文化を導入しシステム化する。SRE の技術的な要素も押さえる SRE 業務における目標設定、毎月評価する。「詳解システムパフォーマンス」を読む Kotlin Kotlin・Java の知識を深める OSS(Arrow-kt、SpringBoot) のコー…
引きこもりの就職先について 引きこもりの就職先 引きこもりとは?なりやすい人の特徴や原因、脱出方法を解説 もくじ1. はじめに 2. 引きこもりから就職を目指す際のポイント2.1 焦らずに、自分に合った仕事を見つける 2.2 小さなことから始めて、自信をつけていく 2.3 周囲の人に相談し、サポートを受ける 3. 人と関わりが少ない仕事 3.1 工場3.2 データ入力3.3 清掃3.4 農業3.5 プログラミング4. 接客が少ない仕事 4.1 夜間警備4.2 販売4.3 納品4.4 コールセンター4.5 ライティング5. 支援制度の活用 5.1 ハローワーク5.2 就労支援団体5.3 障がい者…
概要 2024 年 4 月の振り返りです。 概要 勉強概要 4 月の OKR 結果 2024 年 4 月〜6 月の目標 2024 年 4 月の OKR 目標 2024 年 4 月の OKR 結果 注力分野の振り返り SRE・DevOps Kotlin 英語 5 月の OKR 読書 「達人プログラマー(第 2 版)」 「エッセンシャル思考」 技術記事の作成 その他 4 月の振り返りまとめ 勉強概要 今月は下表のように勉強していました。 合計、約 69.6 時間です。 今月も個人的な事情により普段よりも確保できた時間が少なくなりました。 来月以降は確保できる時間が増える予定です。 項目 1 週目 …