hamburger-tech-nits

主にプログラミングのNITSな話

Firebase App DIstributionの招待リンク機能

AppDistributionの招待用URLにはグループを設定できる。 てっきりアプリに対してグループで制限をつけたURLが発行されると思っていたがそうではないらしいということを知った。 つまり、以下のようにURLごとにタップできるグループとインストールできるアプ…

Flutterでキーボードを閉じたいときはFocusManagerを使う

api.flutter.dev FocusManager.instance.primaryFocus?.unfocus();

Xcode15にアップデートした後にやったこと

Xcode15にアップデートしたら、Flutterのビルドが通らなくなったりSimulatorが起動しなくなったりした。 元々Xcode15.0.1を利用していたが、新しいバージョンがでていたので15.2に更新し、最初からやってみることにした。 まず、Xcodeの最新を利用するように…

DeepLinkとAppLinkとUniversalLink

ややこしい 一般用語がDeepLink。基本的にはこれを使って会話したい。 e-words.jp WebのhttpsスキームのURLをフックしたい場合、 AndroidはApplink developer.android.com iOSはUniversalLink developer.apple.com WebのhttpsスキームのURLをフックしたい場…

コンポーネントよりプロダクトをデザインする

toBプロダクトのデザインを考える時間が以前よりも増えた結果、コンポーネントよりもプロダクト、UIよりもUXのデザインを重視するようになってきた。 ビジネスユーザは見た目が良さより体験を重視する気がする。見た目も当然大事だけど。 直近だと、モバイル…

Vue3で推奨される状態管理ライブラリはPinia

Vue3における状態管理はPiniaが推奨された。 Vue2ではVuexが推奨されていたので、Vue3移行に伴いツールを移行している。 pinia.vuejs.org 直感的 ストアはコンポーネントと同じくらい身近なものです。適切に整理されたストアを作成できるように設計された A…

targetSDK34対応アプリはAGP8.1.1以上でGradle8以上

developer.android.com developer.android.com targetSDKを上げるためにGradle周りも更新必要とのこと。同僚からの連絡で気づいた。 AndroidSDK34はAndroid用Gradleプラグイン8.1.1以上が必要で、Gradleプラグイン8.1.1はGradle8以上が必要。 更新頻度が年一…

<key>UIApplicationSupportsIndirectInputEvents</key>

FlutterアプリをXcode15を利用してビルドしたらInfo.plistが勝手に編集された。 <key>UIApplicationSupportsIndirectInputEvents</key> <true/> developer.apple.com A Boolean value indicating that the app generally supports indirect input mechanisms. AppleTVのリモコ</true/>…

もう少し雑に仕事のメモを残すことにした

zenn.dev bsky.app

FlutterKaigi2023参加メモ

flutterkaigi.jp 基調講演 9年前からあったんだーとか、そういえば昔はOptional無かったなぁとか、知らなかった時期の変遷と懐かしい話とで初のオフライン開催一発目のセッションとしてちょうどよかった。アイスブレークのような感じで、少し一体感が出たよ…

Visual Studio CodeのThemeの一部の設定を変更する

VisualStudioCodeのThemeをMaterial Theme Darker High Contrastにした。 marketplace.visualstudio.com ステータスバーのテキストの色のコントラストが低く、それだけ気になったのでsettings.jsonで設定を上書きした。 元の色 "workbench.colorCustomizatio…

FlutterのTabのラベルの色はLabelStyleで設定できない

api.flutter.dev This does not influence color of the tab labels even if TextStyle.color is non-null. Refer labelColor to color selected tab labels instead. LabelStyleにcolorを設定しても無視される。代わりにLabelColorに色を設定する。 何か理…

FlutterのBottomNavigationItemのデザインをThemeで設定するときは気をつけよう

FlutterのBottomNavigationBarに設定するBottomNavigationItemの色を変更したい。その時にウィジェットのselectedLabelStyleやunselectedLabelStyleを変更すれば値が反映されるが、Themeの設定を変えてもデフォルトのままになり設定は反映されない。というバ…

開発生産性の向上で何をどこまで改善できるのか

開発生産性について盛り上がっている記事が定期的にバズっている。開発生産性が上がること自体は良いのだが、開発以外の生産性も上げないと意味がなかったりするのであまり引っ張られないようにしたい。 特に自社のプロダクトを提供していると、開発だけ早く…

VisualStudioCodeのdart設定

settings.json { "dart.flutterSdkPath": "/Users/mydir/fvm/default" } にしている。プロジェクトごとの設定を作ってそこを参照するようにしたほうが良さそう。 fvmで新しいバージョンをインストールしてもそのままでは反映されないので、その時はVScodeは…

複数バージョンのXcodeをインストールしているMacでCommandLineToolsのバージョンを切り替える

とあるツールのインストール中。 $ brew install tool Error: Your Xcode (13.4.1 => /Applications/Xcode13.4.1.app/Contents/Developer) is too outdated. Please update to Xcode 14.3 (or delete it). Xcode can be updated from the App Store. 業務の…

Sourcetreeでcommitメッセージにブランチ名を挿入する

過去記事 SourceTreeでブランチ名をコミットメッセージの先頭に自動挿入する - hamburger commitメッセージにブランチ名を挿入することで、あとからログを追うときに作業ブランチ名を追いやすくしたいというのがモチベーション。issue番号をブランチ名に関連…

「プログラマー脳」を読んだ

プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ作者:フェリエンヌ・ヘルマンス,水野貴明,水野いずみ秀和システムAmazon 雑なメモ → プログラマー脳 徐々に衰える記憶力その他をどうにかしたくて読んでみた。 認知プロセスを知…

「縁の下のUIデザイン」を読んだ

縁の下のUIデザイン──小さな工夫で大きな効果をもたらす実践TIPS&テクニック WEB+DB PRESS plus作者:池田 拓司技術評論社Amazon 時間が空いたので気分転換 pic.twitter.com/7pS10wVRO3— くどう (@derakudo) 2023年5月29日 トピックに対してデザイン候補とそ…

Flutter3.10でiOSデバイスをワイヤレスデバッグで利用する

iOS側の開発環境を揃える 自分のiPhoneはiOS16.4.1なので、Xcode14.3をインストールした。 Xcodeで接続設定をする iPhoneを有線接続している状態でWindow > Devices and Simulators でDevicesタブを選択し、実機を表示させる。Connect via network のチェッ…

Figmaで複数の要素を同じ幅で親要素いっぱいまで広げる

タイトルが意味わからない感じになってしまった。 要はAndroidのlayout_weightやFlutterのExpanded.flexを活用したようなイメージ こういう構造の これを こうしたい オートレイアウトを設定して、Paddingを0に設定する Shiftを押して両方の要素を選択する …

VSCodeで複数定義した実行前タスクを直列実行する

hamburger-tech.hatenablog.com "dependsOrder": "sequence",を追加することで、dependOnに記載したtaskを順番に実行してくれる。 新しくコードフォーマットのtaskを追加して、pub getを待ってから実行したかったので修正した。 { "label": "Build", "depend…

VSCodeの実行前タスクを複数定義する

flutter runの前に、build_runner build だけでなく pub getも実行しておきたくなった。tasks.jsonは既にあるのでそれを修正する。 hamburger-tech.hatenablog.com tasks配下に実行したいタスクを全て追加する 作成したタスクをまとめるタスクを作成し、ラベ…

VScodeで実行前タスクを定義する

Flutterのビルド前に自動で build_runnerを実行したい。launch.json に preLaunchTaskというフィールドがあるので試してみた。 cmd+shift+Pでコマンドパレットを開く タスクの構成(Tasks: Configure Task)を選択する taskのテンプレートを選択する。全て自分…

VSCodeのintellisenseが効かなかった

^+spaceで起動するはずのintellisenseが効かないため、開発環境をAndroidStudioからVSCodeに移行しようにもできなかった。 Macの入力ソース切り替えと競合していることに気づき、ショートカットを無効化したら解決した。

役割と人、親子関係としてはどっちが上なのか

とあるロールに合致する人をそのロールグループに含めるのと、とある人が上位ロールであることを示すために何らかのロールを付与するのでは、その後の成長具合に違いが出てくるような気がする。なんとなくいい感じに仕事しているからと良い役職を付与されて…

`[cloud_firestore/failed-precondition] Operation was rejected because the system is not in a state required for the operation's execution. If performing a query, ensure it has been indexed via the Firebase console`

FlutterでFirestoreのcollection_groupにwhere条件を設定したクエリを実行したところ、[cloud_firestore/failed-precondition] Operation was rejected because the system is not in a state required for the operation's execution. If performing a quer…

firebase_ui_authで"An unknown error occurred"と表示されてログインできない

開発中のアプリを別デバイスでビルドしたところ、An unknown error occurredと表示されてログインできなくなった。 デバイスが異なるのでフィンガープリントも違うことに気づき、Firebaseコンソールに新たに登録したところ無事解決した。 フィンガープリント…

「Deep Skill ディープ・スキル――組織と人を巧みに動かす 深くてさりげない「21の技術」」を読んだ

Deep Skill ディープ・スキル――組織と人を巧みに動かす 深くてさりげない「21の技術」作者:石川 明ダイヤモンド社Amazon 組織の一員として組織の力を最大限活用するために必要な所作や心得のようなものを21の技術として紹介されていた。確かに会社で成果を出…

RDB形式のFirestore的なサービスが無いのはなぜ?

Firestoreでjoinをしたいと1億回くらい考えている。joinをできないのはRDBではなくNoSQLベースだから。 RDB形式の類似サービスが無いのはなぜなのかという疑問が出てきたので調べていたら、そもそも周辺知識が足りてなかったので朝の自由時間が一瞬で溶けた…