文系エンジニアが放送大学の情報コースに通った感想と振り返り

はじめに この記事では、放送大学教養学部の情報コースに通った際の感想と振り返りを書いています。文系からソフトウェアエンジニアとして就職された方の参考になれば幸いです。 当初考えていたこと 私は、法学部を卒業してソフトウェアエンジニアとして就職…

Arm-poweredのLarger RunnerにAndroid SDKがインストールされていない

GitHubが管理している通常のUbuntu 24.04のイメージでは、Android SDKがインストールされています。 https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md しかし、Arm-poweredのRunnerは話が違うらしく、Android SDKを…

MockKExceptionが発生する場合、必ず同例外でテストが落ちると思っていた話

概要 モックライブラリの一つであるMockKを使用していたところ、relaxed周りで当初の認識と違う挙動があったため備忘録として書いています。 発生した問題 当初の理解 class Class1 { fun methodUnit(): Unit {} fun methodNotUnit(): Int { return 1 } } //…

2024年の振り返り

日々のお仕事 仕事は変わらずAndroidアプリ開発をやっていました。また、開発以外にもチームの課題解決的なことを頑張っていました。チームで動くことが増えてきて、全体としてどうやってコミュニケーションを進めるべきか、どうすれば成果を出せるのか日々…

Google Docsで数式を書く時

数式の入れ方 画面上のタブから挿入→計算式で数式を入力できる。 特殊記号の入れ方 同じく画面上のタブから挿入→特殊文字で数式を入力できる。 探すのが難しい場合は、自分で書いて検索できる。 添字の入れ方 通常のテキストであれば、表示形式→テキスト→下…

PRへのレビューをトリガーにしてActionを動かすとき

詰まったポイントのメモ diffをPythonに渡す メインの処理をPythonで書いていたため、値をPython側で扱えるようにする必要がありました。 いくつか方法はあると思いますが、今回はenvに設定しました。 しかし、コンテキストからdiff_hunkを取り出し、envに設…

2021年の自作PCメモ

概要 組立時の情報を残していなかったので、メモ 2021/10/01購入&組立 ケース P10 FLUX 9073円 電源 Antec NeoEco750GOLD 9091円 GPU GeForce RTX3060 Ti 67701円 CPUクーラー SCMG5100 無限五 5037円 RAM XPG GAMMIX D20 DDR4 Memory 16GBx2 15800円 マザ…

KSP2で遊ぶ

KSP2における変更 android-developers.googleblog.com 上のAndroid Developersのブログ記事にて様々な変更点が紹介されています。その中でも特にスタンドアローンに実行できる点が気になったため試してみました。 エントリーポイントのあるライブラリとして…

Privacy sandboxのメモ

概要 https://developer.android.com/design-for-safety/privacy-sandbox/introduction ユーザープライバシー保護を目的としていて、主に以下二つの解決策が盛り込まれているものです。 (あくまでプロポーザルの段階) SDK Runtime プライバシー保護API SDK…

スコープ関数の個人的なまとめ

はじめに こちらの記事を読んで理解が深まったので、自分用のメモを残します。 engawapg.net レシーバーとは https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/util/Standard.kt Scope functions | Kotlin Documentation Highe…

Androidのテストケース名を日本語で書いていたら、error while writing ...$1.class (Permission denied...)と怒られた話

初見では分かりづらいエラーだったため、備忘録として残しています。 error while writing ...$1.class (Permission denied...)と怒られた Androidのテストケース名を日本語で書いていた時、ローカルでは問題なく通るものの、GitHub ActionsのCI上でerror wh…

Ktorでkotlinx.serializationを使う時のメモ

てっきり、ktorドキュメント上の設定だけで動くと思っていましたが、、、 ktor.io 実際にビルドしてみると、”Serializer class is not found”と怒られてしまいました。 ただ、kotlinx.serializationの以下のドキュメントを読み、 依存関係を追加したところ動…

Interfaceを使用してRepositoryをDIする時のメモ

ライブラリが提供しているモジュールをインジェクトする時と同様に、 provideメソッドを書いてあげれば大丈夫。 @Module @InstallIn(SingletonComponent::class) class RepositoryModule { @Provides @Singleton fun provideHogeRepository( httpClient: Htt…

Androidでアカウントとデータ削除機能が必要になりそう?

概要 以下の記事で、 アプリ内でアカウントを作成できるアプリは、アカウントとデータ削除機能が必要になる旨が書かれています。 今のところは、アプリ内&Webサイト上の両方から必要そうな書きぶりです。 android-developers.googleblog.com 他の要点として…

Propagate Remote Config updates in real timeを試す

はじめに Remote Configをリアルタイムで更新できるらしいと聞いて、試してみました。 firebase.google.com 試す ちょうどFlutterアプリを作成していたため、Flutterで試してみます。 関数作成 ドキュメントの通り、Functionsに関数を作成します(有料プラン…

Flutter製AndroidアプリのテストをTest Labで動かすメモ

書いてみる TODOアプリを想定してテストコードを書きます。 void main() { IntegrationTestWidgetsFlutterBinding.ensureInitialized(); group('group', () { testWidgets('start', (WidgetTester tester) async { app.main(); await tester.pumpAndSettle()…

PagedIterableのメモ

概要 PagedIterableのコードを確認したため、備忘録として残しておきます。 PagedIterableは、 マイクロソフトのライブラリにおいて定義されているページング処理を行うためのクラスです。 使い方 iteratorを使用することで、ページ毎にアクセスできるように…

Flutterでpath_providerを使用する際のメモ

概要 Flutterでsqliteを入れる流れでpath_providerを使用した際に少し詰まったため、メモを残しています。 path_providerを依存関係に追加した際、No implementation found for method getApplicationDocumentsDirectory when app is in the backgroundとエ…

RustのコードをAndroidで動かしてみる

はじめに Rustに興味が湧いてきたため、普段触っているAndroidで動かしてみました。 Hello worldを返す Android NDK で Rust は使えるのか?調査してみた|NAVITIME_Tech|note こちらの記事を参考に、ほぼそのままRustのファイルを作成できました。 ありが…

NotificationHub#startを呼んだ際、何が起きているのか

概要 先日、Notification HubsのAndroid用の現行SDKを調べる機会があったのですが、 NotificationHub#startを呼んだだけで基本的な処理が完了するようになっており、とても驚きました。 この記事では、そのstartを呼んだ際に何が起きているのか*1を備忘録と…

2022年の振り返り

2022年にやったことを書いていこうと思います。 技術関連 Androidアプリ開発 インターンのスタッフ DroidKaigiのスタッフ DroidKaigiアプリへのコントリビュート KMMでサンプルアプリ作成 放送大学での学習 ネットワークスペシャリスト 線形代数と微分積分 G…