kobakei's blog

プログラミングの話や技術系イベントの話をゆるく書くブログです

#DroidKaigi 2019で「今日から始める依存性の注入」という発表をしました

DroidKaigi 2019 今年もやってきました。 #DroidKaigi きたよー pic.twitter.com/AqW6mOmG8H— kobakei (@kobakei122) 2019年2月7日 参加は4回目、登壇は2年連続2回目になります。 ちなみに去年の登壇レポートはこちらです。 kobakei.hatenadiary.jp

AndroidプロジェクトでSpek 2.0 RC1を動かす

色々なものに複雑に依存しているので整理してみました。 依存関係 Spek本体 Spek まずは当然これ Spek2が必要とするもの android-junit5 AndroidプロジェクトでJUnit5を使うために必要なプラグイン android junit5が必要とするもの JUnit5 Android Gradle Pl…

エンジニアリングマネージャーという仕事について

今自分が働いている会社ではエンジニアリングマネージャーという肩書で仕事をしています。「ああ、エンジニアのマネジメントをする人ね」ってことなんですが、具体的にどういうことを考えてどういう仕事をやってるかを実際にやってみて分かったこともあるの…

#iOSDC に採択されました

iOS

表題の通りです。 去年の年末に社内のiOSリソース不足が理由で、AndroidエンジニアからiOSエンジニアに転向しました。「iOSやるからにはでかいカンファレンスで喋れるくらいのレベルになるぞ」という目標を密かに掲げてたんですが、これで一応達成見込みが立…

半年ほど副業をやってみた

ここ半年ほど副業をやってみたので、そこまでの過程とやってみた感想を書いておきます。

Kingfisherのリクエストヘッダーを書き換える

iOS

KingfisherのCheat Sheetより。AnyModifierを使う。 let modifier = AnyModifier { request in var r = request r.setValue("", forHTTPHeaderField: "Access-Token") return r } imageView.kf.setImage(with: url, placeholder: nil, options: [.requestMod…

BottomSheetDialogFragmentの使い方

あまりまとまってないようなのでメモ。 昔は setupDialog をオーバーライドしていたが、サポートライブラリが @RestrictTo(LIBRARY_GROUP) を付けるようになったので警告が出る。代わりに、 onCreateDialog をオーバーライドして中でビューを作成するのがよ…

初めての確定申告(eTax)に滅茶苦茶苦労した

2017年から個人事業主で開業したため、今年初めて確定申告しました。滅茶苦茶苦労したので、来年の自分用にメモ。 注意: 正確な確定申告の手順などについては、税務署や税理士にご確認ください。この記事の内容及びリンク先からいかなる損失や損害などの被害…

#DroidKaigi 2018で「開発者が知っておきたい通知の歴史」という内容で講演しました

DroidKaigi 2018 wktk pic.twitter.com/PsHRlfkbTi— kobakei (@kobakei122) 2018年2月8日 今年はセッションが採択されたので、スピーカーとして参加しました。去年までは普通に参加者としてだったので、スピーカーとして参加するのは今年が初です。

2017年振り返り

雑に今年一年を振り返ってみます。

Androidアプリを設計する上で考慮したポイント

この記事はAndroid Advent Calendar 2017の13日目です。 僕が今業務で開発しているAndroidアプリの設計の紹介と、そこに行き着くまでの僕の設計に対する考え方を紹介します。 こんな設計にしています MVVM + レイヤードアーキテクチャ ViewとViewModelはdata…

Android開発における定番ライブラリ22選

Androidをはじめたばかり or これから始める人向けにまとめました。UI系ライブラリは種類が多すぎるので除外しています。

iOSはじめました

最近仕事でiOSを書き始めた。正直まだ全然書けないのでひたすら本読んだりググったりしながら、練習がてら簡単そうな機能から作っている。 AutoLayout辛い AndroidのConstraintLayoutの元ネタのレイアウトの仕組み。XcodeでGUIでUIを組み立てていくのにまだ…

DroidKaigi 2018でリジェクトされたネタ

DroidKaigi 2018で、「開発者が知っておきたい通知の歴史」というセッションが採択されました。通知のAPIや仕様の変遷を辿り、後方互換姓を考慮した実装をするにはどんな風に書けば良いのかを紹介するセッションです。特に最近Android開発を初めて昔の通知を…

Kotlin 1.1.4のParcelizeを試してみた

Kotlin 1.1.4でParcelableがサポートされたので、移行してみました。 注意:ParcelableサポートはまだExperimentalなので、仕様が変わる可能性があります。 導入 app/build.gradleに以下を追加します。 ... apply plugin: 'kotlin-android-extensions' andro…

CircleCI Japan Meetup: Mobile Editionに参加してきた

CircleCI主催のミートアップで、「Everything of CI/CD in Kyash Android」という内容で発表してきました。 speakerdeck.com 以前potatotipsでCirlceCI 2.0について発表したスライドをCirlceCIの中の人に見つけていただいて、発表しないかと声をかけていただ…

端末に画像を保存するときにどこに保存するか

SNSやメッセージアプリでは、友人から送信されてきた写真を端末に保存する機能が付いてることが多いと思いますが、端末のどこに画像を保存するのが一般的なのかを調べたのでその備忘録です。 そもそもの仕様 Environmentクラスには、用途ごとの保存先パスの…

Androidアプリのパッケージ構成の個人的ベストプラクティス

以前Androidのパッケージ構成について考えてみたという記事を書いたんですが、書いたときから結構時間が経って考え方が変わった箇所もあるので、再度まとめようと思います。 前提 アプリケーションのアーキテクチャには、MVVM with data bindingを採用してい…

Android開発でRxJavaを使うと嬉しいこと

RxJavaをAndroid開発で使い始めてしばらく経ったので、RxJavaを使うと何がどう変わったのかをまとめます。 ※RxJavaを使ったことがない人向けの戯言です。 非同期処理の待ち合わせが書きやすい よくある例として、2つのREST APIを並列実行して、両方の結果が…

shibuya.apk 13で登壇しました #shibuya_apk

Intermediate Level Data Bindingというタイトルで発表しました。 speakerdeck.com また、サンプルコードはこちらにあります。 github.com 基本的にはデータバインディング使ったことない/簡単なとこでは使ってる人に、BindingAdapterやリストとの連携など…

DroidKaigi 2017に参加した感想

聞いたセッション 1日目 逆引き マテリアル デザイン Android Security 最前線!! Androidリアルタイム通信アプリ作成Tips Data Bindingで開発を気持ちよくしよう 実践アニメーション オフラインファーストなアプリケーション開発 React Nativeはクロスプラ…

Goで匿名ダイアリーもどきを作ってみた

Go

完全に趣味ですが、Goに入門しました。 匿名ダイアリーもどきのアプリケーションを作るとこまでできたので、ここまでに学んだことをメモ。 http://golang-jp.org/doc/に十分まとまっていますがね。 作ったアプリ github.com ※環境はOSXです インストール bre…