visible true

技術的なメモを書く

rubyのslice!でめっちゃハマった

map! は 各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。 https://docs.ruby-lang.org/ja/latest/class/Array.html#I_COLLECT--21 てことで、自分自身を書き換える。 array = [1,2,3,4,5] array.map!{ |a| a * 2 } # [2,4,6,8,10]に…

Junit5でJetpack ViewModelのviewModelScopeを使っている関数のテストをする

viewModelScopeを使っている関数を持つViewModel 次のRecommendBookViewModelクラスは、loadRecommendBooks関数という内部でviewModelScopeを用いて非同期処理を行う関数を持っている。 import androidx.lifecycle.ViewModel import androidx.lifecycle.view…

患者さんと病院をつないでいくシステムの今とこれから

本エントリはUbie Advent Calendar 2020の22日目です。 21日目はtoCプロダクトAI受診相談ユビーのプロダクトオーナーである@shikicheeのエンジニアの僕が強みを活かして施策推進したら、異次元の角度で数字が伸びちゃった話でした。 自分は現在toBプロダクト…

testing-library/reactでmaterial-uiのTextFieldの値をテストする

material-uiのTextFieldをtesting-library/reactでテストしようとすると、HTMLElementを取り出すところで苦労したのでメモを残す。 TextFieldに付与したaria-labelはinputのラッパー要素に付く 次のTextFieldがどこかのコンポーネントにあるとする。 <TextField name="name" label="name" aria-label="name" variant="outlined" value="title" /> 実際に</textfield>…

bit全探索 in Kotlin

最近AtCoderなどに参加していて、すべての組み合わせを生成しつつ計算するといった機会になんどか遭遇し、毎回頑張って実装していたのだけど、bit全探索という方法があるらしいと知り、調べて、Kotlinでどう書くか考えた結果次のようになった。 import java.…

Material-UIのHidden要素をテストする

個人のプロジェクトでMaterial-UIを使っているんですが、 コンポーネントがHiddenを含んでいると、テストがうまく動きません。 hoge.tsx import * as React from 'react'; import {Hidden} from "@material-ui/core"; export const Hoge = (): JSX.Element =…

Jetpack Compose 0.1.0-dev05から0.1.0-dev06にしたときに変更が必要だったところ

前回に引き続いて。 left, rightがstart, endに レイアウトのleft, rightが start, endになりました。なるだろうなーと思ってたので想定どおり。 before LayoutPadding( top = 16.dp left = 8.dp, right = 8.dp, bottom = 16.dp ) after LayoutPadding( top …

Jetpack Compose 0.1.0-dev05で追加されたAdapterListを眺める

Jetpack Compose 0.1.0-dev05がリリースされましたね。0.1.0-dev05でui-foundationにAdapterListというComposableが追加されました。 待望のAdapterList AdapterListの説明は次のようになっています。 A vertically scrolling list that only composes and l…

Jetpack Compose 0.1.0-dev04から0.1.0-dev05にしたときに変更が必要だったところ

Jetpack Compose 0.1.0-dev05が出ました。 リリースノートはこちら https://developer.android.com/jetpack/androidx/releases/compose#0.1.0-dev05 前回に引き続き、アップデートでエラーになる部分と対応方法を紹介していきます。 androidx.ui.layout.Padd…

Jetpack Compose (0.1.0-dev04) でSeekBarをスクラッチする

Jetpack ComposeにはSeekBarがないので、必要な場合は今の所自分で作ることになります。で作りました。0.1.0-dev04 での実装なので将来そのままでは動かなくなると思うのでご注意ください。 Preview 使う 実際の動作はこんな感じになります streamable.com …

Jetpack Compose 0.1.0-dev03から0.1.0-dev04にしたときに変更が必要だったところ

Jetpack Compose 0.1.0-dev04が出ましたね、今回からリリースノートのページもできたみたいです。 developer.android.com まだプレビューなんでどんどんAPIが変わっていきます。もしまともに使ってるとえらいことになるわけですが、個人的にproduction ready…

Jetpack Composeでカスタムフォントを使う

Jetpack Composeでカスタムフォントを使うには、FontFamily を用いる。 res/fontにフォントファイルを置き、FontFamilyにFontを渡す。 // res/font/ipam.ttfがあるとすると次のようになる。 FontFamily( Font(name = "ipam.ttf", weight = FontWeight.W400, …

チームコラボレーションサービス「Miro」いいなぁという話

Ubie Advent Calendar 2019の9日目です。 チームコラボレーションツールっていっぱいありますよね。 UbieではSlackやメール、Notion、Google Hangouts、Jira、Figma、Github、HERP、Salesforceなどのほかに「Miro」というチームコラボレーションサービスを使…

ノンアルコールビールめっちゃ増えてる

adventar.org 昨年のノンアルコールビールで晩酌すると風呂上がりにさっぱりプログラミングできて助かる - visible trueに引き続き、今年も書きます。まるで酔っ払っているかのように雑です。 自我を失ったノンアルコールビールたち さて個人的にノンアルコ…

Ktor用のSpannerのスキーマバージョン管理ライブラリ「spanner-kase」を作った話

Ubie Advent Calendar 2019の2日目です。 最近チームで新しいサービスが必要になったのでKtorでやろうか!ってことでKtorでサービスを書き始めています。 データベースはGoogle Cloud Spannerを使おうということになりました。 Java/KotlinのWebアプリケーシ…

Android Studio 4.0とJetpack Compose関連の見るとよいところなどのメモ

Youtube Android Dev Summit '19のセッション! www.youtube.com Android Studio 4.0 とJetpack Composeのセットアップ Jetnewsというサンプルアプリを試したり、新規プロジェクトでJetpack Composeで始めたり、 既存のプロジェクトにJetpack Composeど導入…

Kotlin Fest 2019で「Kotlinコルーチンを理解しよう 2019」を話してきました

Kotlin Fest 2019楽しかったです。 今回は「Kotlinコルーチンを理解しよう 2019」を話してきました。 資料作りの様子、各セクションを作る時になに考えてたか、反省点などまとめます。 前回と今回でロゴの形がちょっと変わってる 資料 コルーチンとはなにか…

FlowのchannelFlowを使ってRxBindingを置き換える

FlowのflowViaChannelを使ってRxBindingを置き換える - visible trueでKotlin Coroutines 1.2.xでFlowというコールドストリームをサポートするクラスや関数群が登場しました。ってことでflowViaChannel関数について書いたら、Kotlin Coroutines 1.3.0-M1でfl…

Flutter for webでWebフォントを使う

使える気がするんだけど何か方法あるのかなーと思って試してみたら普通に使えばよいことがわかった。 index.htmlでWebフォントを読み込む 好きなフォントを書く <html lang="en"> <head> <link href="https://fonts.googleapis.com/css?family=Gentium+Book+Basic&display=swap" rel="stylesheet"> </head> </html> fontFamilyで指定する あとは普通にfontFamilyで名前を指定するだけ。 @override Widget…

KtorでFirestore Local Emulatorにつなぐ

Firestore良さそうですよね。ローカルで動作を試せるLocal Emulatorがあるので気軽に試せてさらによさそうです。JVM環境で接続する例があんまり見当たらなかったのでメモします。 firestore local emulatorの準備をする とりあえずインストールして、 fireba…

Kotlin Fest 2019のセッションに応募しました。

今年もKotlin Festが開かれますね。もうセッションの応募はされたでしょうか? トラック数が増えたので今年はさらにいろんなジャンルが聞けるのではないかとワクワクしています。Kotlin/JSとかKotlin/Native, MPPが特に気になります。 kotlin.connpass.com …

loco-core 1.1.0をリリースしました。

Android向けロギングライブラリ「Loco」をリリースしました。 - visible true で1.0.0をリリースしたのですが速攻いくつか修正を入れて1.1.0をリリースしました。 しれっと1.0.1も出してました。 あとjcenterにも登録できたのでサクッと導入できるようになり…

Android向けロギングライブラリ「Loco」をリリースしました。

AndroidアプリでロギングするといえばPureeかなと思います。 かなり安定しているしいい感じに動く。 ただコードベースがJavaなので、たま〜に不具合でた時などに追っかけるのが結構たいへんだったり、 Gsonに依存しているので、別のJsonライブラリ使ってる場…

FlowのflowViaChannelを使ってRxBindingを置き換える

※こちらは古いので FlowのchannelFlowを使ってRxBindingを置き換える - visible true を参照ください。 Kotlin Coroutine 1.2.xでFlowというコールドストリームをサポートするクラスや関数群が登場しました。 Flow - kotlinx-coroutines-core 次のような感じ…

IntelliJ IDEAからDocker上で動くSprint Bootアプリにdebuggerをつなぐ

IntelliJからdocker上で動いてるSpring Bootアプリにデバッガつなぎたいときってありますよね。 ドチャクソハマったのでメモします。 Dockerで動かすSpring Bootアプリでデバッグ用ソケットを起動する gradleを使っている前提です。 gradleでSpring Bootを起動す…

KotlinTestのBehaviorSpecでGivenの単位でBeforeしたい

KotlinTestいいんですよね。 AndroidじゃなくてSpringBootで使ってるんですが。 Androidでも使えるかな?どうかな?まだ無理っぽい。 beforeSpecはSpec開始時に一度だけしか実行されない KotlinTestのSpec群はbeforeなんとか、afterなんとか系の関数を持って…

Safe Args PluginでParcelable Arrayを使いたい時は型の末尾に[]って書けばいいらしい

Hoge[]とかなら使えないんですかね(Listじゃないですが…) https://t.co/cG6wrQX4Uq— うし (@ushi3_jp) 2019年3月15日 ObjectArrayTypeとputParcelableArray 実装を読んでみるとObjectArrayTypeという型があり、putParcelableArrayとgetParcelableArrayをマ…

リリース前レポート(Firebase Test Lab)で動作しているか判定する

リリース前レポート助かりますよね。Firebase Test Labベースでいろいろ根掘り葉掘りやってくれて最近ではフィードバックもいろいろ充実していて良い感じです リリース前レポートで動いてるのか判定したい リリース前レポートいいんですけどロボットがガチャ…

java.lang.ClassCastException: com.sun.tools.javac.code.Type$1 cannot be cast to javax.lang.model.type.DeclaredTypeが出たらテストで使うコードがエラーになってるぽい

AndroidX対応を進めていたら自分でつくって自分で使っているFragment生成周りが便利になるhttps://github.com/sys1yagi/fragment-creatorが適切にAndroidX対応できてないぽいことがわかり、いろいろと更新してたらテストで次のエラーがでてこけるようになっ…

Kotlin Coroutine 1.1.0-alpha Change log 全部読む

本エントリは Kotlin Advent Calendar 2018 の記事です。 Kotlin Coroutine 1.1.0-alphaがリリースされましたね。「kotlinx.coroutines/CHANGES.md at master · Kotlin/kotlinx.coroutines · GitHub」Change logを読むことの重要さを思い知ったので全部読み…