為さねば成らぬ

retia.verno@gmail.com

PRに対してCache保存を有効にする

背景 AndroidアプリのビルドにBitriseを用いている。 Bitriseはビルドの一連の流れをWorkflowと呼び、それを構成するのがStepである。 このStepのうちCache Pushというものがあり、これは生成したファイルをBitriseのCacheに置くものである。 通常はステップ…

dagger hiltを試す

背景 Daggerのサポートライブラリが出ていた。 以前から仕事等で使っており、依存性解決がビルド時に行われdagger起因のランタイムエラーが起こらないのが好みだったが、やはりわかりにくさが一番のネックだった。設定に追記はできるけど新しく書き直すのが…

リリースしようとしたらネイティブサポートが減っていた

背景 Google Play Consoleからアプリのアップデートをリリースしようとした 課題 警告が出ていて、よく見ると前回のapkからネイティブサポートの値が減っている(mips) before after このアプリの対象端末数は変換がないのでおそらくリリースに影響はないだろ…

Format /topics/topic-name is deprecated. Only 'topic-name' should be used in subscribeToTopic.

Logcatに出るメッセージ。 FirebaseMessaging.subscribeToTopic/unsubscribeFromTopicのトピック名に/topics/ のprefixをつけるなということらしい。 ちなみにこれらメソッドの頭で public Task<Void> subscribeToTopic(String var1) { if (var1 != null && var1.s</void>…

PxViewer開発終了のお知らせ

長らく開発を続けていたPxViewerですが、本日サポート終了することを決定いたしました。 なんで? ログインできないというお問い合わせをいただいておりましたが、pixivのログインのロジックが変更になりその修正が難しくなったためです。 この変更ではpixiv…

[GW] エンジニアリング組織論への招待 1,2章

目次から 人間の脳内の話っぽい。 気になるのは 論理的思考の盲点 論理的思考は基本となるけどそこにはどう突っ込むのだろう 不確実性と夏休みの宿題 問題の解決よりも問題の明晰化の方が難しい エンジニアの仕事は問題解決というけれど、問題を見つけるのが…

[GW] エンジニアリング組織論への招待

動機 GW中に読むぞ!!! エンジニアリング以外にマネジメント的な部分も求められるようになり勧められたので。 1日1章ずつはこなしていきたい。 目次を見て 脳内->人->チーム->チーム->組織 と、だんだん範囲が広がっていってるのがわかる。 目次から気にな…

ほめる技術

買った動機 社会人歴も長く、自分の技術だけを見てもいられなくなってきた感。 先日も評価というほどではないが同僚の最近の仕事を言語化して引き出すようなことをやっていて、全然うまくできなかったこともあり、 どういうところにほめるポイントを見いだせ…

Android 9でWebViewでhttpのページがひらけない

背景 アプリ内で(まだ!)WebViewを使って簡易ブラウジングを行える部分がある。 URLをアプリで取り扱う時、基本的に次の3つがある WebView Chrome Custom Tab Intentで外部に投げる intentで投げると自アプリから離脱することになるのでやりたくない。 またC…

List.equals()

Listのequalsについて。 なんとなく勘違いしていて、比較するリストの型が違う時、中身の要素が同じでもfalseになると思ってた。 というのも、Listの子クラスを使って型として情報を持たせたく、その上で要素を比較したい要件があったため。 別クラスのList…

ブログ運営x集客xマネタイズ

以前買って棚に置いておいた本です。たまたま棚を開けた時に目に入り、ブログを再開し始めた自分にとって何か得られるのではないか、と思い久しぶりに読みました。 ブログを書く上での課題 最近自分がブログを再び始めた理由は、アウトプットする機会を適切…

WorkManagerの定期実行は思ったより定期実行ではない

WorkManagerでは2種類のWorkRequestが作成できる。 ひとつはOneTimeWorkRequest。 1度だけ実行されるので通常はこちらを使う。 もうひとつはPeriodicWorkRequest。 キャンセルするまで複数回実行される、とある。 ただ、注意するべきは実行時間を指定できな…

PowerMock辛いよねという話

今触っているアプリは僕がJoinした時点でPowerMockを使っていたわけだが、非常に辛いです。 class HogehogeManager() { private val fugafuga: Fugafuga } val mockedManager = PowerMockito.spy(Whitebox.newInstance(HogehogeManager::class.java)) Whiteb…

Android StudioでRobolectricでテストを走らせるとVerifyErrorが出る

以下のようなエラーが出ることがある java.lang.VerifyError: Expecting a stackmap frame at branch target 10 テストのConfigにVM optionsに -noverify を追加する。 (テスト) > Edit Configurations... > Configuration > VM options:

Droid Kaigi 2019 実際に使いたいものをまとめる

カンファレンスとか勉強会出た時って、そのときは「おもしろーい」と思うセッションでも、結局普段の業務に活きなかったり、なかなか試してみずらかったりします。 今回のDroidKaigiでは試してみたい!というセッションが多かったので、忘れないうちに今後や…

DroidKaigi Day2

2日目。パーティーないので気楽。 droidkaigi.jp 今後のエンジニアとしの身の振り方として、Androidネイティブでは厳しいと思っていて、PWAのストア公開開始にも合わせてReact見てみることに。expoええやん droidkaigi.jp spek+mockkは最近やってる構成。コ…

DroidKaigi 2019 Day1

DroidKaigi 2019行ってきました。Day1。 今年もコントリビュートしてます。といいつつバグ仕込んでて申し訳ない・・・ なんか映ってたらしい pic.twitter.com/Qr7t2rr5Xd— verno3632@おなかペコい (@verno3632) February 7, 2019 以下参加したセッション。と…

値のキャストをする

値をキャストしたい。特にINNER JOINでINTとSTRINGを比較したいときに必要でした。 CAST(hoge AS INT64) https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators?hl=ja#datetime-functions

Nicoscape0: プライバシーポリシー

情報収集モジュール 当アプリでは、広告配信を目的として以下の広告配信事業者がご利用者の情報を自動取得する場合がございます。取得する情報、利用目的、第三者への提供等につきましては、以下の広告配信事業者のアプリケーション・プライバシーポリシーの…

Junit5を導入する

GitHub - mannodermaus/android-junit5: Testing with JUnit 5 for Android. build.gradleに入れるだけ。 // build.gradle buildscript { dependencies { classpath "de.mannodermaus.gradle.plugins:android-junit5:1.2.0.0" } } // app/build.gradle apply…

Viewのアスペクト比を動的に設定する

参考: stackoverflow.com ImageViewを表示する時あらかじめアス比を指定したい。 この場合はImageViewをConstraintLayout直下に入れてdimentionRatioを設定する。 <android.support.constraint.ConstraintLayout ... > </android.support.constraint.constraintlayout>

なんとなしで使ってたDataBinding

なんとなく使ってた結果最近はまったDataBinding. onClick developer.android.com android:onClick="@{(v) -> v.isVisible() ? doSomething() : void}" 公式にもあるが、onClickを設定する場合はこの形にする。(v) でvには()をつける。 ()つけない android:o…

Unused Resources RemoverでdryRun実行する

github.com Unused Resources Remove for Android めっちゃ便利ですよね 。 今までの類似ツールと比べて誤判定少なくてありがたいです。 dryRunする場合にはbuild.gradleにオプションを指定します。 unusedResourcesRemover { dryRun = true } ただこれだとd…

prerenderを使うとエラーが出る

最近ちょっとReact Rails触ってる。 まずはServer Side Renderingやろうとprerenderをonにしてみたのだけど、エラーが出る。 Encountered error "#<ExecJS::ProgramError: TypeError: Cannot read property 'toLowerCase' of undefined>" 指定していたcomponent名が間違っていました。わかんねぇ・・・</execjs::programerror:>

デバッグ実行がやたら遅かった

デバッグ実行(debug buildではない)すると重くなるという事象が発生していた。最初のActivityが起動し終える前にANRと判定されるくらい重い。 いろいろいじったがkotlin-gradle-pluginのverを1.1.60から変えたら直った。 別のプロジェクトでやってみたら1.1.…

ver.3.7.10公開しました

[PxViewer] ver3.7.10公開しました。不具合修正。https://t.co/hOKaliDM7A— verno3632@おなかペコい (@verno3632) 2017年4月5日 不具合修正。 ブックマーク解除できない ブックマークIDが適切に取得できていませんでした。 小説本文のルビ変換 [[rb:漢字 > …

現在発生中の不具合に関して

[PxViewer] 以下の機能が使用できなくなっています。修正予定ですのでしばらくお待ちください。・新着小説一覧・ユーザー検索・小説検索・マイピク・フォローユーザー・他ユーザーのブックマーク小説・自分の小説一覧・コメント、コメント表示・小説本文表示…

3.7.2リリースしました。

すごい久々の更新。ログインできない不具合と自分のブックマーク一覧で未分類が出なくなってたのを直しました。 http://www.vernobox.com/pxviewer/downloads/

一歩進んだActivity Transitionの実装

この投稿はAndroid その3 Advent Calendar 2016の20日目の記事です。 背景 Android 5.0からActivity Transitionが追加され、画面遷移のアニメーションをカスタマイズできるようになりました。 Activity/Fragment Transitionsのつかいかたを書いたのもアドベ…

現在発生中の不具合に関して

10月に入ったあたりから、PxViewerの一部・全機能が使用できない不具合が発生しております。 これはPixiv側のUI変更に伴うものです。 全面的に変更されてしまいました。 PxViewerで取得するデータは基本的にPC用ページから抜き出していました。 UIが変わると…