Puppeteer を Docker で動かして開発環境も Dev Container にする

Puppeteer の利用には Chrome を入れる必要があり、そのへんを手動で環境構築するのは大変そうなので Docker でポンして開発環境も vscode Dev Container でできるようにする。 Docker は以下の本で学んだ。 仕組みと使い方がわかる Docker&Kubernetesのき…

Flutter で画像読み込み時にガクッとならないように、画像サイズがわかる時は事前に高さを確保しておく

画像を表示する際、先に画像サイズがわかっている場合は以下のように高さを計算しあらかじめ高さを確保しておくと読み込み後に高さがガタッと変わることなく表示できて体験が良い。 なお以下は CachedNetworkImage を使っているが、LayoutBuilder で constra…

テスト環境だとしても本番でも差し支えない文言や画像を使いたい

テスト環境だと「テストテストテスト」とか「あああああああああああああああああああああ」みたいな文字をテストデータに使いがちである。画像も適当にネットで拾ったやつとか、カメラロールにあるやつとか、デスクの上でその場で撮ったりした画像を使いが…

iOS17 で tableView.tableHeaderView = searchController.searchBar してたらバグったので UISearchBar を使うことにした

iOS17 にしたら tableHeaderView に入れた searchController がバグって表示されるようになってしまった。 iOS17めっちゃバグるやん pic.twitter.com/DO7ewmgVBh— スターホシ (@star__hoshi) October 5, 2023 最初は hidesNavigationBarDuringPresentation …

Flutter hooks で useWebViewController() のカスタムフックを作る

Flutter hooks で useTextEditingController(); とか useScrollController(); が使えてめっちゃ便利と思っていて、これを webview_flutter などでも使いたい。 やり方は前に Flutter hooks で画面遷移のイベント変化を custom hooks でいい感じに検知する - …

Flutter 3.10.1 にしたら flutter format の代わりに dart format を使う必要がある

Flutter 3.10.1 にしたら flutter format が使えなくなってしまった The "format" command is deprecated. Please use the "dart format" sub-command instead, which has the same command-line usage as "flutter format". github actions で flutter form…

Flutter hooks で画面遷移のイベント変化を custom hooks でいい感じに検知する

Flutter で画面遷移の検知をするのには routeObserver.subscribe(...) したり with RouteAware する必要があって、結構めんどい。(参考: 【Flutter】RouteAwareで遷移を検知する方法 | 417.Run()) 理想としては、 final appLifecycleState = useAppLifecycle…

【改訂新版】良いウェブサービスを支える 「利用規約」の作り方 読書感想文

【改訂新版】良いウェブサービスを支える 「利用規約」の作り方作者:雨宮 美季,片岡 玄一,橋詰 卓司技術評論社Amazon 利用規約、雰囲気で読んだり作ったりしているのでちゃんと学ぶか〜と思って読んでみた。めっちゃ良かった。利用規約、プライバシーポリシ…

Lean UX 第3版 ―アジャイルなチームによるプロダクト開発 読書感想文

Lean UX 第3版 ―アジャイルなチームによるプロダクト開発 (THE LEAN SERIES)作者:Jeff Gothelf,Josh Seidenオライリー・ジャパンAmazon 社で推薦図書みたいなのになってたので読んでみた。Kindle はないけど、公式で epub が買える。 O'Reilly Japan - Lean …

flutterfire configure するとできる firebase_app_id_file.json

flutterfire configure すると ios/firebase_app_id_file.json が生成される。 Crashlytics で利用される firebase_app_id_file で grep すると Xcode の Run Script のみ検出される。ここだけで使われているようだ。 "$PODS_ROOT/FirebaseCrashlytics/uploa…

Flutter 開発で Android Studio から VSCode に移行した

今まで Flutter 開発は Android Studio でやっていたけど、VSCode に移行した。 理由は AI の波が来ていて VSCode がその波に一番のりやすそうだったから。GitHub Copilot とかはライセンスの問題はあれど今後解決されていくだろうし、基本的に VSCode に寄…

generated なコードに対し Riverpod generator で生成すると dynamic 型になってしまう

cloud_firestore_odm で生成された型を riverpod generator で利用したかったがダメっぽい。これは firestore がどうこうではなく、generated されたコードに対し generator を使うことができないっぽい。 まず以下のコードで FeedQuerySnapshot が生成され…

業務でうまくいかなくても謝らないで毅然としていてほしい

何か業務でうまくいないことがあった時、「すみません」とか「」などを使って謝罪を表明せずに胸を張っていてほしい。 業務で失敗することなんて無限にあるし、「ああ迷惑をかけてしまったな」と思うことがあったとしても、基本的には謝罪は不要でシャキッと…

はじめるNotion 使いかたを自由にデザインするための、基本、コツ、アイデア 読書感想文

はじめるNotion 使いかたを自由にデザインするための、基本、コツ、アイデア作者:溝口 雅子技術評論社Amazon Notion 使い始めたけど、雰囲気で使っており使いこなせている感がなかったので読んでみた。 本買わなくてもググったり公式のチュートリアル見たり…

住所+店舗名から緯度経度を取得する

ここ最近、店舗を地図にマッピングするアプリをいくつか作った。 千埼神割Kensuke Hoshikawa旅行無料apps.apple.com プレたまっぷ/非公式さいたま市プレミアム商品券マップKensuke Hoshikawaナビゲーション無料apps.apple.com このアプリを作った時、住所+店…

エンジニアリング組織論への招待 読書感想文

エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング作者:広木 大地技術評論社Amazon エンジニアリング組織論への招待という本が評判良さげで読んでみた。 不確実性にどう対処していくか、という点に焦点が当てられていた。不…

Flutter でスクロールするとヘッダー背景がいい感じになるやつ

Flutter には SliverAppBar というものがあり、これを使うとヘッダーの AppBar をいい感じに表示することができる。 Twitter iOS アプリのプロフィールページなどのように、PullToRefresh するとヘッダー画像が blur していい感じに表示される、というのも S…

シリコンバレーのエンジニアはWeb3の未来に何を見るのか 読書感想文

シリコンバレーのエンジニアはWeb3の未来に何を見るのか作者:中島聡SBクリエイティブAmazon 私は Web3 のことをよく知らないが、利用者を騙すような形で金儲けしているように思っていて冷ややかな目で見ていたが、著名な方が Web3 に関して本を出してい…

10年戦えるデータ分析入門 を読んだ

10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く (Informatics &IDEA)作者:青木 峰郎SBクリエイティブAmazon 今更だけど尊敬している先輩が書いた本を読んだ。よかった。 内容はそんな難しくなくて、ある程度知っていることも多かった。今ま…

イシューからはじめよ を読んだ

イシューからはじめよ――知的生産の「シンプルな本質」作者:安宅和人英治出版Amazon Audible を無料体験で始めてみて、なんとなく興味があったこの本をまず Audible で聴いて、その後 Kindle で読んだ。最初は Audible で聞けばいいやと思ったんだけど、Audib…

HTML & CSSとWebデザイン入門講座、実践講座を読んだ

1冊ですべて身につくHTML & CSSとWebデザイン入門講座作者:ManaSBクリエイティブAmazon ほんの一手間で劇的に変わるHTML & CSSとWebデザイン実践講座作者:ManaSBクリエイティブAmazon HTML/CSS は今まで雰囲気で書いてたので本でも読んだらちゃんと身につ…

プロダクトマネジメントのすべて を読んだ

プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで作者:及川 卓也,小城 久美子,曽根原 春樹翔泳社Amazon プロダクトマネージャになりたいわけではないが、エンジニアとしてプロダクトマネジメントにつ…

プロを目指す人のためのTypeScript入門 を読んだ

プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで Software Design plus作者:鈴木 僚太技術評論社Amazon TypeScript を雰囲気で使っている感覚があったのでもうちょい深く知るかと思って読んでみた。 プロを目指すとあっ…

りあクト! TypeScriptで始めるつらくないReact開発 を読んだ #りあクト

booth.pm React の入門書として良さそうなので読んでみたらめっちゃ良かった。 3冊構成で、Webフロントエンドの歴史から JavaScript / TypeScript の入門、tsconfig / ESLint / Prettier などの設定方法、 React そのものの説明、状態管理フレームワークの解…

WEB+DB PRESS Vol.132 を読んだ

WEB+DB PRESS Vol.132技術評論社Amazon 最近本を色々読んでいるので、WEB+DB PRESS を読んでブログ書くほどでもないけど、せっかく読んだので雑にでもメモを残しておく。 自分の守備範囲外の内容も多いので、すごくためになるかというとそうではないけど勉強…

Web Twitter の初期選択タブを「フォロー中」にする Chrome Extension を作りました

chrome.google.com 最近の変更で https://twitter.com/home を開くと初期選択タブが「おすすめ」になってしまい、毎回手動で「フォロー中」に切り替えるのが面倒で Chrome 拡張を作りました。ソースコードは GitHub で公開しています。 Tweak New Twitterと…

Webフロントエンドハイパフォーマンスチューニングを読んだ

Webフロントエンド ハイパフォーマンス チューニング作者:久保田 光則技術評論社Amazon 2017年の本で、パフォーマンスを意識したコードをかけた方が良いと思って、若干古いんだけど良さそうなので読んでみた。 ブラウザがHTMLを取得してからCSSで描画される…

next lint の結果を Reviewdog でプルリクエストに反映する

next lint の結果を Reviewdog に食わせて PR にコメントとして出したかったんだけど結構ハマったのでメモ。 普通に next lint を動かしてもだめ "scripts": { "lint": "next lint" } - uses: reviewdog/action-setup@v1 with: reviewdog_version: latest - …

App Store で言語が EN 英語 になってしまう時の対処法

App Store でリリースしたら対応言語が EN 英語になってて、これを日本語に修正する。 Xcode 側で修正を行う これは App Store Connect の設定ではなく、Xcode でビルドする時の設定。 PROJECT の Localization に Japanese を追加する 対応としてはこれだけ…

Apple に A functional link to the Terms of Use (EULA) でリジェクトされた対応方法

Apple に新規アプリで審査を出したらこのような Reject が返ってきた。 Hello, Thank you for your resubmission. Upon further review, we identified an additional issue that needs your attention. See below for more information. If you have any qu…