tech

627 件の記事

2022

next/router + useApidaSWRでidを指定してデータ取得する方法

※CSR前提のお話です。 nextjsで詳細ページでデータを取得する場合にidを取得するみたいなことはよくやる。 const router = useRouter(); const { id } = router.query しかしこの場合レンダリング時にidが取得できないことが… router.isReady状態じゃ…

React BootstrapのBreadcrumbでnext/linkを使う

React BootstrapのBreadcrumbでnext/linkを使う方法についての見聞録です。 React BootstrapのBreadcrumb.Itemでhrefを指定すると、普通のリンクになってしまう。 import { Breadcrumb } from 'react-bootstrap' impo…

2021

Symfony PassportでFirebase Authentication認証を使う

Symfony Advent Calendar 2021 の19日目の記事です。 機能は@ippey_s さんのSymfonyのパスポートでした。 今日はパスポートを使って実際にFirebase Authenticationで認証してみようと思います。 kreait/firebase-bundleを入れる まずはkre…

Symfonyで開発時に使いたいコードを分離する

Symfony Advent Calendar 2021 の14日目の記事です。 昨日は @ttskch さんの [Symfony][Doctrine] エンティティを自前でJsonSerializableにするときはプロパティの循環参照に要注意 でした🌈 今日は自分が開発時にか使わないコードをどう分離するかという話を…

SymfonyでEntity生成時にAttributeを使う

Symfony5.3でEntityを make:entity 使って生成したらannotationで生成されてしまいました。 せっかくphp8使っているのに...😇 <?php namespace App\Entity; use App\Repository\HogeRepository; use Doctrine\D…

Docker環境でphp8 + xdebug3を設定する

Docker composeでそれっぽい環境を用意して、xdebug動かしてみたよって話です。 docker-composeの定義 こんな感じです。 version: "3" volumes: db-store: services: db: image: postgres:11 volumes: - db-store:…

Androidアプリで内部テストしようとしたらCOVID-19に関するエラーが出た

Androidアプリを内部テストしようと思い、AppBundleをアップロードして作業を進めていたら 「このアプリが COVID-19(新型コロナウイルス感染症)の接触確認アプリまたは感染状況やワクチン接種状況を確認するアプリであるかどうかを申告してください。」というエラーが出てしまった。 どこで設定するのかよくわから…

react-native-error-boundaryを使ってみた

ReactNativeのアプリで原因不明のアプリのクラッシュが結構発生していました。 クラッシュの原因は頑張って特定できましたが、問題はSentryに情報が記録されていないことでした。 どうしようかなと思ったけど、Reactがコンポーネントないの処理のエラーハンドリングにError Boundaryを使うのをみてこれは…

Macにphp-amqpをインストールする

BigSurなMacにPHP7.4の環境の構成に php-amqpを入れた見聞録です。 きっかけはsymfony/messengerコンポーネントでキューの処理にRabbitMQを使おうとしたらphp-amqpが必要だと言われたことでした。 librabbitmqを入れる brewで入れます。 $ brew insta…

M1なMac MiniでFirebase emulatorを動かす

最近ずっと使っていたMacBookProが歪んできていて、修理出さないとヤバそうな雰囲気なのでとりあえずMac Miniに買って開発環境を作ってる。 普通に既存のプロジェクトをgit cloneしてきて、npm(yarn) installすれば動くだろうと思ってたら動かない... $ firebase emulator…

symfony/mailerでdisable_deliveryをfalseしたい

最近のSymfonyでメール送信をする場合にSwiftmailerではなくsymfony/mailerを使うことが多いかと思います。 テストではメール送信したくないみたいなことも多いハズ。 Swiftmailerでテスト時にメールを送らないようにする 公式ドキュメントに記述がありますが、swiftmailer.yaml…

PHPerKaigi2021にほんの少しだけ参加できた

今年のPHPerKaigiはオンラインなので子育て中でも参加できるぞ!!! なんて最初は気合をいれていたものの、仕事が忙しかったり、引っ越しでバタバタしていたりで全然参加できなかった僕です。 で、お前どの発表聞いてたのよ? 実践ATDD 〜TDDから更に歩みを進めたソフトウェア開発へ〜 そのコード、フレームワークの外で…

Nuxt Composition APIのuseFetchとcomputedの問題について

Nuxt Composition APIでuseFetchとcomputedを組合わて使っていたらトラブルが。。。。 使っている@nuxtjs/composition-apiのバージョンについて こんな感じ @nuxtjs/composition-api": "0.22.0" 何が起きていたのか? https://tw…

SymfonyのPdoSessionHandlerを使う場合の注意点

今日はPdoSessionHandlerでハマったので記録しておく。 何にはまったのか? PdoSessionHandlerを利用する際にunix socketでMySQLに接続しようとしたら、PHP Notice: PDOException: SQLSTATE[HY000] [2002] No such file o…

docker環境でcomposer requireがうまくいかなかった

古いphpの場合はdockerのメモリ割り当てを多めにしたほうがいいかもです。 今回は大人の事情で使っているPHP7.1系でcomposer requireしたら、うまくいかなかったので色々と頑張った結果を記事に残しておきたいと思います。 docker-composeファイル まず、大人の事情でPHP7.1の環境が必要…

Github ActionsでMySQL8を使う

ちょっとハマったのでメモしておきます。 基本的にはサービスコンテナを使ってmysql8を動かすGithub Actionsの例 MySQLの接続先を0.0.0.0 or 127.0.0.1にすることによってうまくMySQL8に接続できた。 例: name: CI on: push: branches: - main j…

2020

それでも僕は@Templateアノテーションを使いたい

Symfony Advent Calendar 2020 の22日目の記事です。 機能は @ttskch 先輩の @Templateアノテーションを使わないほうがいい理由 でした。 昨日の記事で@Templateアノテーションは使わないほうがいいと書かれていたわけですが、僕はSymfonyの@Templateが大好きで…

Symfonyのwebpack-encoreのためにdockerのmulti stage buildを使う

Symfonyを動かすコンテナを作るときにPHPだけの環境なら比較的に作りやすいです。 ただ、webpacke-encoreが絡んでくるとちょっとめんどくさい。 なのでmulti stage buildを利用してサクッと環境を作ってみました。 まずは普通にphpだけのコンテナ 自分はこんな感じにすることが多いです。 F…

docker-machine + vultrでSymfonyで作ったwebアプリを動かす

前にsymfonyで作ったwebアプリをお客さんにdemoしたい。 でも環境を用意するのが若干面倒。 開発環境自体はdockerで構成されているものの、コストを書けずに安いプレビュー環境を用意してたくなったので、docker-machine + vultrでプレビュー環境を構築しました。 まずはdocker-machi…

Firebase Cloud Functionsでjestを導入するまでの道のり

最近Firebase Cloud Functionsでお仕事をしているのですが、jestを入れたちょっとハマったのでその記録です。 環境について firebase initで全力でenterfunctionsを用意しました。 一応こんな感じでTypeScriptでコード書いててeslintは導入済みの想定です。 まずは…

TypeScript(nodejs)のimport時の挙動

TypeScript(nodejs)でのimportの挙動が気になったので調べてみた 疑問点 Importをしたときに、ファイルスコープの処理はimportするごとに実行されるのか? それとも、初回のimport時のみ実行されるのか? 対象となるコードは以下の通り // test1.ts const hoge = 'a…

Nuxt.js + Nuxt Compostion API + TypeScriptでmicroCMSを利用してSSGをする

jamstackが流行り始めている最近ですが、流行りに乗っかるためにNuxt.js + Nuxt CompostionAPI + TypeScriptとう環境下でmicroCMSを利用してSSGしてみた。 特に頑張るところはないんですが、TypeScriptが初心者でちょっと苦労した・・・。 サンプル 今回のサンプルは…