くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

FlutterにFirebaseを導入してみる(FlutterFire CLI+Flavor)

ひさびさにFlutterのセットアップをしてたら、 FlutterFire CLIを使った形になってて、かなりハマったので、 いろいろ調べたときの備忘録(*´ω`*) Flutter アプリに Firebase を追加する invertase/flutterfire_cli: A CLI to help with using FlutterFire i…

爆速とウワサのBunをちょっと調べてみた

最近、Bunについてよく目にするので、ちょっと調べてみたときの備忘録(*´ω`*) bun.sh Bun.shとは? Develop, test, run, and bundle JavaScript & TypeScript projects—all with Bun. Bun is an all-in-one JavaScript runtime & toolkit designed for spee…

Flutterでflavor付きだとiOSでbuildエラーになる(flutter_flavorizr)

flutter_flavorizrを使って、 dev、stag、prodの3つのflavorを用意してる。 いつのまにか、iOS/macOSで起動ができなくなったので、 いろいろ調べたときの備忘録(*´ω`*) でてきたエラーメッセージはこんな感じ。 Unable to load contents of file list: '/Ta…

FlutterでGoogle Fontsを扱う(google_fontsパッケージ)

FlutterのYoutubeチャンネルを見てたら、 便利なパッケージがあったので試してみたときの備忘録(*´ω`*) google_fonts | Flutter Package Browse Fonts - Google Fonts 使い方 とりあえずインストール。 $ fvm flutter pub add google_fonts $ fvm flutter p…

VSCodeでフォルダ間の比較をする(Compare Folders)

VSCode上で、フォルダ間の差分を確認したいなと思ったら、 いい拡張機能があったので、調べたときの備忘録(*´ω`*) Compare Folders - Visual Studio Marketplace 使い方 コマンドパレットで「Choose 2 folders and compare」を実行 2つのフォルダを選択 各…

BrickHub/masonで動的な質問を扱う(最終確認の例)

前回、前々回の続き。BrickHub/masonでいろいろ試したときの備忘録(*´ω`*) 前回: BrickHub/masonでテンプレート(bricks)を作ってみる - くらげになりたい。 前々回: BrickHub/masonでコード生成をしてみる - くらげになりたい。 前回まででとりあえずの作り…

個人開発のネタの探し方/作りはじめる前に考えてること

いろいろなアプリとかを開発しているけど、 ネタを見つけるときや作りはじめるときに考えてることが、 だいぶパターン化されてきた気がする。 自分の整理もかねて、少しまとめてみた。 個人開発に求めるものは人によって違うので、 一概には言えないけど、誰…

BrickHub/masonでテンプレート(bricks)を作ってみる

前回の続き。オレオレテンプレートの作り方をみてみる(*´ω`*) BrickHub/masonでコード生成をしてみる - くらげになりたい。 公式ドキュメントだとこのあたり。 Creating Bricks | BrickHub Docs 雛形の作成 $ mason new example ✓ Generated 5 file(s). (34…

BrickHub/masonでコード生成をしてみる

FlutterのYouTubeを見てたらこんなのが(*´ω`*) ドキュメントはこれが公式っぽい。 BrickHub Docs GitHubのTemplateリポジトリを使ってたけど、 アプリ名とかを変えるのがすこしめんどくさい。。 これなら、変数で指定できるので、だいぶ楽になりそう(*´ω`*…

Homebrew BundleとGitでMacBookPro(Intel)からMac mini(M2)に移行する

前に使っていたMacBookPro(Intel)がだいぶガタついてきたので、 Mac mini(M2)に買い替えた。 IntelプロセッサからAppleシリコンに変わるので、 移行アシスタントだとうまくいかないようだったので、 クリーンインストールするようにした。 ただ、愚直にやっ…

Dateのタイムゾーンを環境変数で指定する(process.env.TZ)

JavaScriptのDateのタイムゾーン、環境変数で指定できるらしい(*´ω`*) 確認用のテストコード it("date-timezone", () => { expect(process.env.TZ).toBe("UTC"); expect(new Date().getTimezoneOffset()).toBe(0); }); 実行時に指定するか、 $ TZ=UTC pnpm …

Firebaseのセキュリティルールを単体テストする(@firebase/rules-unit-testing+vitest)

Firebase Emulatorを使った単体テストについて、 いろいろ調べてみたときの備忘録(*´ω`*) @firebase/rules-unit-testingを使えばOK(*´ω`*) 環境的には、この記事と一緒でVitestをつかってる VitestでNitroをテストする(+Firebase Emulator) - くらげになり…

VitestでNitroをテストする(+Firebase Emulator)

最近、Nitroでサーバを実装しているけど、 テスト周りでハマったので、いろいろ調べてみたときの備忘録(*´ω`*) 現状、テストに関するガイドはないっぽい このディスカッションくらいしかないっぽい。。 Testing examples? · unjs/nitro · Discussion #194 N…

Firebase Emulatorの接続方法(admin/client)

FirebaseのEmulator Suite、 便利だけどいつもエミュレータへの接続方法を忘れるので、 簡単にまとめてみたときの備忘録(*´ω`*) Emulatorの起動方法 起動方法はこんな感じ。 # エミュレータの起動(全機能) $ firebase emulators:start --project=your-proje…

環境変数の渡し方(dotenv-cli/env-cmd)

package.jsonのscriptで、環境変数を渡す際、 いろんな方法があるので、調べてみたときの備忘録(*´ω`*) 有名はこのあたりっぽい。 dotenv-cli env-cmd kentcdodds/cross-env 現在はメンテナンスモード。env-cmdと@naholyr/cross-envを紹介 @naholyr/cross-e…

nitroでファイルシステムじゃないルーティングを実現する

tsoaでNitro/H3に対応したいと思い、 いろいろ調べてみたときの備忘録(*´ω`*) Nitroではファイルシステムベースでルーティングしてくれるが、 tsoaなどルーティングを自動生成したい場合、ちょっと困る。 H3自体にはRouterが存在するので、 NitroのPlugins…

tsoaのテンプレートをカスタマイズしてみる

tsoaでNitro/H3に対応したいと思って、 routeファイルのテンプレートをカスタマイズする方法について調べたときの備忘録(*´ω`*) ドキュメントにちょっと書かれているけど、詳細はほぼ無い。。 Overriding route template | tsoa { // ... "routes": { "rout…

ウォーキングマシンを買ってみたら、エアロバイクより燃焼できてる気がする

リングフィットをはじめてから、カラダづくりがたのしくなってきた。 朝、空腹時に有酸素運動するのがよいらしくエアロバイクを持っていたけど、 早歩きがいいと聞いて、ウォーキングマシンも試してみたときの備忘録(*´ω`*) 試したマシン 有酸素運動のポイ…

Nitro ServerでCORSを設定する

NitroでCORSに引っかかったので、 どうやって設定するかを調べてみたときの備忘録(*´ω`*) 以下のヘルプに書いてあった(*´ω`*) routerules | Configuration · Nitro // nitro.config.ts export default defineNitroConfig({ routeRules: { // 全部 "/*": { …

Pinceauを少しのぞいてみたら、style-dictionaryをつかってた

Pinceauを少しさわってみた Nuxt ThemesやDoucsで利用されているPinceau。 Docusをカスタマイズするために、もう少しちゃんと理解しようと、 少し触ってみたときの備忘録(´ω`) Hello · Pinceau Pinceau デザイントークンのライブラリ。 こんな感じでtokens.…

Webのドキュメントサイトを作るためにDocusに入門してみた

Nuxtでできてるドキュメントサイト用のテーマの、 Docusがよさそうなのでいろいろ試したときの備忘録(*´ω`*) Docus | Write pages in Markdown, use Vue components and enjoy the power of Nuxt. 使われているNuxtモジュール 以下のモジュールをベースとし…

Nuxt Studioにあるドキュメントサイトの3つテーマをのぞいてみる(Apline/Docus/Content Wind)

Explore themes · Nuxt Studioに掲載されている ドキュメントサイトを作るテーマが3つあったので、 少しみてみたときの備忘録(*´ω`*) nuxt-themes/alpine: The minimalist blog theme, powered by Nuxt & Markdown. nuxt-themes/docus: Write beautiful doc…

Flutterのはじめかた(16ヶ月ぶり3回目)

何度もFlutterに入門してる気がするけど、 再々度入門してみたときの備忘録(*´ω`*) 前回はこちら Flutterを再開するときにやったこと(再インストール) - くらげになりたい。 Flutter自体もだけど、主要ライブラリも大きく変わっていて、 便利だけど、再度キ…

Flutterのgo_routerでパスとタブを一致させる(StatefulShellRoute.indexedStack/BottomNavigationBar)

FlutterでBottomNavigationBarを使う場合、 currentIndexなどを使う必要があるけど、go_routerでパスと一致させたいなと思って、 いろいろ試したときの備忘録(*´ω`*) StatefulShellRoute.indexedStackを使うといいらしい。 StatefulShellRoute.indexedStack…

FlutterのGlabalKeyについてしらべてみた

go_routerをさわってて、GlabalKeyが出てくるけど、 なにかな?と思って調べたときの備忘録(*´ω`*) GlobalKey class - widgets library - Dart API Flutter GlobalKey - YouTube 特定のWidetsなどを、どこからでもアクセスできるようにできるやつらしい。 V…

Flutterで多言語対応する(l10n/flutter_localizations/intl)

Flutterで多言語対応する方法を少し調べてみたときの備忘録(*´ω`*) (localization/l10nで、internationalization/i18nでじゃない) 公式ドキュメントはこのあたり Internationalizing Flutter apps | Flutter intl | Dart Package 仕組みと流れ 基本的な流れ…

Flutterでレスポンシブに対応する方法

Flutterで画面サイズに応じて、レイアウトを変える方法について、 いろいろ調べてみたときの備忘録(*´ω`*) 公式ドキュメントのこの辺りがベースになるっぽい。 Creating responsive and adaptive apps | Flutter Building adaptive apps | Flutter なので、…

Flutterでページ遷移をいい感じにする(animations/標準トランジション)

go_routerに再入門してみたけど、ページ遷移のアニメーションが微妙。。 Flutterのgo_routerに再入門する - くらげになりたい。 いろいろ見てみると、公式ドキュメントがよいライブラリを公開していたので、 試してみたときの備忘録。 animations | Flutter …

Flutterのgo_routerに再入門する

久々に見直してたら、@TypedGoRouteを使って、 パスパラメタとかも型を意識して呼び出せるようになってた。 go_router | Flutter Package Type-safe routes topic - Dart API go_router(今週のパッケージ) - YouTube いろいろ忘れているので、再度入門した…

FlutterでWebを含めてPlatformを判定する

Flutter WebでTargetPlatformを指定しようとしたら、 TargetPlatform.webがなかったので、 いろいろ調べたときの備忘録(*´ω`*) Webの場合は、kIsWebを使わないといけない TargetPlatform.webやPlatform.isWebは存在しないっぽい。 また、ブラウザでPlatform…