next/router + useApidaSWRでidを指定してデータ取得する方法
※CSR前提のお話です。 nextjsで詳細ページでデータを取得する場合にidを取得するみたいなことはよくやる。 const router = useRouter(); const { id } = router.query しかしこの場合レンダリング時にidが取得できないことが… router.isReady状態じゃ…
627 件の記事
※CSR前提のお話です。 nextjsで詳細ページでデータを取得する場合にidを取得するみたいなことはよくやる。 const router = useRouter(); const { id } = router.query しかしこの場合レンダリング時にidが取得できないことが… router.isReady状態じゃ…
React BootstrapのBreadcrumbでnext/linkを使う方法についての見聞録です。 React BootstrapのBreadcrumb.Itemでhrefを指定すると、普通のリンクになってしまう。 import { Breadcrumb } from 'react-bootstrap' impo…
Symfony Advent Calendar 2021 の19日目の記事です。 機能は@ippey_s さんのSymfonyのパスポートでした。 今日はパスポートを使って実際にFirebase Authenticationで認証してみようと思います。 kreait/firebase-bundleを入れる まずはkre…
Symfony Advent Calendar 2021 の14日目の記事です。 昨日は @ttskch さんの [Symfony][Doctrine] エンティティを自前でJsonSerializableにするときはプロパティの循環参照に要注意 でした🌈 今日は自分が開発時にか使わないコードをどう分離するかという話を…
Symfony5.3でEntityを make:entity 使って生成したらannotationで生成されてしまいました。 せっかくphp8使っているのに...😇 <?php namespace App\Entity; use App\Repository\HogeRepository; use Doctrine\D…
Docker composeでそれっぽい環境を用意して、xdebug動かしてみたよって話です。 docker-composeの定義 こんな感じです。 version: "3" volumes: db-store: services: db: image: postgres:11 volumes: - db-store:…
Androidアプリを内部テストしようと思い、AppBundleをアップロードして作業を進めていたら 「このアプリが COVID-19(新型コロナウイルス感染症)の接触確認アプリまたは感染状況やワクチン接種状況を確認するアプリであるかどうかを申告してください。」というエラーが出てしまった。 どこで設定するのかよくわから…
ReactNativeのアプリで原因不明のアプリのクラッシュが結構発生していました。 クラッシュの原因は頑張って特定できましたが、問題はSentryに情報が記録されていないことでした。 どうしようかなと思ったけど、Reactがコンポーネントないの処理のエラーハンドリングにError Boundaryを使うのをみてこれは…
Firebase Authenticationでサポートされていないログイン プロバイダを使いたい場合に使うカスタムトークン。 基本的な使い方は「カスタム トークンを作成する」で確認できます。 サンプルを見るとこんな感じになっています。 import * as admin from 'firebase-admin' c…
Symfony5.3 + hautelook/alice-bundleの組み合わせで RefreshDatabaseTrait を利用してテストを書いてたんですが、sentry-symfonyを導入してテストを実行したらエラーが大量に発生しました。 エラーを確認してみると以下のTRUNCATE TABLEできないとエラ…
BigSurなMacにPHP7.4の環境の構成に php-amqpを入れた見聞録です。 きっかけはsymfony/messengerコンポーネントでキューの処理にRabbitMQを使おうとしたらphp-amqpが必要だと言われたことでした。 librabbitmqを入れる brewで入れます。 $ brew insta…
SymfonyでCI回す際に bin/console lint:yaml でyamlのチェックすることもあるかと思います。 僕はlint系は常にCIでチェックする派です。 services.yamlでtagged_iteratorの設定をすると以下のエラーが出ました。 $ bin/console lint:yaml c…
最近ずっと使っていたMacBookProが歪んできていて、修理出さないとヤバそうな雰囲気なのでとりあえずMac Miniに買って開発環境を作ってる。 普通に既存のプロジェクトをgit cloneしてきて、npm(yarn) installすれば動くだろうと思ってたら動かない... $ firebase emulator…
最近のSymfonyでメール送信をする場合にSwiftmailerではなくsymfony/mailerを使うことが多いかと思います。 テストではメール送信したくないみたいなことも多いハズ。 Swiftmailerでテスト時にメールを送らないようにする 公式ドキュメントに記述がありますが、swiftmailer.yaml…
今年のPHPerKaigiはオンラインなので子育て中でも参加できるぞ!!! なんて最初は気合をいれていたものの、仕事が忙しかったり、引っ越しでバタバタしていたりで全然参加できなかった僕です。 で、お前どの発表聞いてたのよ? 実践ATDD 〜TDDから更に歩みを進めたソフトウェア開発へ〜 そのコード、フレームワークの外で…
Nuxt Composition APIでuseFetchとcomputedを組合わて使っていたらトラブルが。。。。 使っている@nuxtjs/composition-apiのバージョンについて こんな感じ @nuxtjs/composition-api": "0.22.0" 何が起きていたのか? https://tw…
今日はPdoSessionHandlerでハマったので記録しておく。 何にはまったのか? PdoSessionHandlerを利用する際にunix socketでMySQLに接続しようとしたら、PHP Notice: PDOException: SQLSTATE[HY000] [2002] No such file o…
古いphpの場合はdockerのメモリ割り当てを多めにしたほうがいいかもです。 今回は大人の事情で使っているPHP7.1系でcomposer requireしたら、うまくいかなかったので色々と頑張った結果を記事に残しておきたいと思います。 docker-composeファイル まず、大人の事情でPHP7.1の環境が必要…
ちょっとハマったのでメモしておきます。 基本的にはサービスコンテナを使ってmysql8を動かすGithub Actionsの例 MySQLの接続先を0.0.0.0 or 127.0.0.1にすることによってうまくMySQL8に接続できた。 例: name: CI on: push: branches: - main j…
Symfony Advent Calendar 2020 の22日目の記事です。 機能は @ttskch 先輩の @Templateアノテーションを使わないほうがいい理由 でした。 昨日の記事で@Templateアノテーションは使わないほうがいいと書かれていたわけですが、僕はSymfonyの@Templateが大好きで…
Symfonyを動かすコンテナを作るときにPHPだけの環境なら比較的に作りやすいです。 ただ、webpacke-encoreが絡んでくるとちょっとめんどくさい。 なのでmulti stage buildを利用してサクッと環境を作ってみました。 まずは普通にphpだけのコンテナ 自分はこんな感じにすることが多いです。 F…
前にsymfonyで作ったwebアプリをお客さんにdemoしたい。 でも環境を用意するのが若干面倒。 開発環境自体はdockerで構成されているものの、コストを書けずに安いプレビュー環境を用意してたくなったので、docker-machine + vultrでプレビュー環境を構築しました。 まずはdocker-machi…
最近Firebase Cloud Functionsでお仕事をしているのですが、jestを入れたちょっとハマったのでその記録です。 環境について firebase initで全力でenterfunctionsを用意しました。 一応こんな感じでTypeScriptでコード書いててeslintは導入済みの想定です。 まずは…
TypeScript(nodejs)でのimportの挙動が気になったので調べてみた 疑問点 Importをしたときに、ファイルスコープの処理はimportするごとに実行されるのか? それとも、初回のimport時のみ実行されるのか? 対象となるコードは以下の通り // test1.ts const hoge = 'a…
jamstackが流行り始めている最近ですが、流行りに乗っかるためにNuxt.js + Nuxt CompostionAPI + TypeScriptとう環境下でmicroCMSを利用してSSGしてみた。 特に頑張るところはないんですが、TypeScriptが初心者でちょっと苦労した・・・。 サンプル 今回のサンプルは…