ユビーAI問診は、Ubieが提供する医療機関向けのプロダクトです。患者さんに対して問診を実施し、医師向けのカルテを作成します。現在は大きく分けて、タブレットとスマートフォンの2つの利用方法があります。 タブレット用、スマートフォン用の画面 これら…
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]に…
viewModelScopeを使っている関数を持つViewModel 次のRecommendBookViewModelクラスは、loadRecommendBooks関数という内部でviewModelScopeを用いて非同期処理を行う関数を持っている。 import androidx.lifecycle.ViewModel import androidx.lifecycle.view…
本エントリはUbie Advent Calendar 2020の22日目です。 21日目はtoCプロダクトAI受診相談ユビーのプロダクトオーナーである@shikicheeのエンジニアの僕が強みを活かして施策推進したら、異次元の角度で数字が伸びちゃった話でした。 自分は現在toBプロダクト…
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>…
最近AtCoderなどに参加していて、すべての組み合わせを生成しつつ計算するといった機会になんどか遭遇し、毎回頑張って実装していたのだけど、bit全探索という方法があるらしいと知り、調べて、Kotlinでどう書くか考えた結果次のようになった。 import java.…
個人のプロジェクトでMaterial-UIを使っているんですが、 コンポーネントがHiddenを含んでいると、テストがうまく動きません。 hoge.tsx import * as React from 'react'; import {Hidden} from "@material-ui/core"; export const Hoge = (): JSX.Element =…
前回に引き続いて。 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がリリースされましたね。0.1.0-dev05でui-foundationにAdapterListというComposableが追加されました。 待望のAdapterList AdapterListの説明は次のようになっています。 A vertically scrolling list that only composes and l…
Jetpack Compose 0.1.0-dev05が出ました。 リリースノートはこちら https://developer.android.com/jetpack/androidx/releases/compose#0.1.0-dev05 前回に引き続き、アップデートでエラーになる部分と対応方法を紹介していきます。 androidx.ui.layout.Padd…
Jetpack ComposeにはSeekBarがないので、必要な場合は今の所自分で作ることになります。で作りました。0.1.0-dev04 での実装なので将来そのままでは動かなくなると思うのでご注意ください。 Preview 使う 実際の動作はこんな感じになります streamable.com …
Jetpack Compose 0.1.0-dev04が出ましたね、今回からリリースノートのページもできたみたいです。 developer.android.com まだプレビューなんでどんどんAPIが変わっていきます。もしまともに使ってるとえらいことになるわけですが、個人的にproduction ready…
Jetpack Composeでカスタムフォントを使うには、FontFamily を用いる。 res/fontにフォントファイルを置き、FontFamilyにFontを渡す。 // res/font/ipam.ttfがあるとすると次のようになる。 FontFamily( Font(name = "ipam.ttf", weight = FontWeight.W400, …
Ubie Advent Calendar 2019の9日目です。 チームコラボレーションツールっていっぱいありますよね。 UbieではSlackやメール、Notion、Google Hangouts、Jira、Figma、Github、HERP、Salesforceなどのほかに「Miro」というチームコラボレーションサービスを使…
adventar.org 昨年のノンアルコールビールで晩酌すると風呂上がりにさっぱりプログラミングできて助かる - visible trueに引き続き、今年も書きます。まるで酔っ払っているかのように雑です。 自我を失ったノンアルコールビールたち さて個人的にノンアルコ…
Ubie Advent Calendar 2019の2日目です。 最近チームで新しいサービスが必要になったのでKtorでやろうか!ってことでKtorでサービスを書き始めています。 データベースはGoogle Cloud Spannerを使おうということになりました。 Java/KotlinのWebアプリケーシ…
Youtube Android Dev Summit '19のセッション! www.youtube.com Android Studio 4.0 とJetpack Composeのセットアップ Jetnewsというサンプルアプリを試したり、新規プロジェクトでJetpack Composeで始めたり、 既存のプロジェクトにJetpack Composeど導入…
Kotlin Fest 2019楽しかったです。 今回は「Kotlinコルーチンを理解しよう 2019」を話してきました。 資料作りの様子、各セクションを作る時になに考えてたか、反省点などまとめます。 前回と今回でロゴの形がちょっと変わってる 資料 コルーチンとはなにか…
FlowのflowViaChannelを使ってRxBindingを置き換える - visible trueでKotlin Coroutines 1.2.xでFlowというコールドストリームをサポートするクラスや関数群が登場しました。ってことでflowViaChannel関数について書いたら、Kotlin Coroutines 1.3.0-M1でfl…
使える気がするんだけど何か方法あるのかなーと思って試してみたら普通に使えばよいことがわかった。 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…
Firestore良さそうですよね。ローカルで動作を試せるLocal Emulatorがあるので気軽に試せてさらによさそうです。JVM環境で接続する例があんまり見当たらなかったのでメモします。 firestore local emulatorの準備をする とりあえずインストールして、 fireba…
今年もKotlin Festが開かれますね。もうセッションの応募はされたでしょうか? トラック数が増えたので今年はさらにいろんなジャンルが聞けるのではないかとワクワクしています。Kotlin/JSとかKotlin/Native, MPPが特に気になります。 kotlin.connpass.com …
Android向けロギングライブラリ「Loco」をリリースしました。 - visible true で1.0.0をリリースしたのですが速攻いくつか修正を入れて1.1.0をリリースしました。 しれっと1.0.1も出してました。 あとjcenterにも登録できたのでサクッと導入できるようになり…
AndroidアプリでロギングするといえばPureeかなと思います。 かなり安定しているしいい感じに動く。 ただコードベースがJavaなので、たま〜に不具合でた時などに追っかけるのが結構たいへんだったり、 Gsonに依存しているので、別のJsonライブラリ使ってる場…
※こちらは古いので FlowのchannelFlowを使ってRxBindingを置き換える - visible true を参照ください。 Kotlin Coroutine 1.2.xでFlowというコールドストリームをサポートするクラスや関数群が登場しました。 Flow - kotlinx-coroutines-core 次のような感じ…
IntelliJからdocker上で動いてるSpring Bootアプリにデバッガつなぎたいときってありますよね。 ドチャクソハマったのでメモします。 Dockerで動かすSpring Bootアプリでデバッグ用ソケットを起動する gradleを使っている前提です。 gradleでSpring Bootを起動す…
KotlinTestいいんですよね。 AndroidじゃなくてSpringBootで使ってるんですが。 Androidでも使えるかな?どうかな?まだ無理っぽい。 beforeSpecはSpec開始時に一度だけしか実行されない KotlinTestのSpec群はbeforeなんとか、afterなんとか系の関数を持って…
Hoge[]とかなら使えないんですかね(Listじゃないですが…) https://t.co/cG6wrQX4Uq— うし (@ushi3_jp) 2019年3月15日 ObjectArrayTypeとputParcelableArray 実装を読んでみるとObjectArrayTypeという型があり、putParcelableArrayとgetParcelableArrayをマ…
リリース前レポート助かりますよね。Firebase Test Labベースでいろいろ根掘り葉掘りやってくれて最近ではフィードバックもいろいろ充実していて良い感じです リリース前レポートで動いてるのか判定したい リリース前レポートいいんですけどロボットがガチャ…
AndroidX対応を進めていたら自分でつくって自分で使っているFragment生成周りが便利になるhttps://github.com/sys1yagi/fragment-creatorが適切にAndroidX対応できてないぽいことがわかり、いろいろと更新してたらテストで次のエラーがでてこけるようになっ…