PrismaのschemaでHence the relation field must be optional as well.が出た

prismaのスキーマ書いてた。 Userは1つのGroupに所属し、Groupは複数のUserを持つので "one to many" の関係性である。 Userは必ずしもGroupに所属しているとは限らない。 ↓のようなshemaができた。 model User { groupId Int? group Group @relation(fields…

forkしたライブラリの特定のブランチを使いたい

解決策 末尾に #<ブランチ名> を追加 "git+{CodeのHTTPSからコピったURL}#<ブランチ名>" ストーリー { "dependencies": { "react-native-elements": "git+{CodeのHTTPSからコピったURL}" } } こんな感じでライブラリを使っていたが特定のブランチを使いたか…

forkしたライブラリを使う時にdistがない

解決策 .gitignoreからdist外して、コミットする前にローカルでビルドしてdistを作成する 概略 TypeScropt製ライブラリをforkして変更加えてそれを使いたかった。 { "dependencies": { "react-native-elements": "git+{CodeのHTTPSからコピったURL} } } こん…

DockerでNodeサーバー立てる時はTimeZoneに気を付ける

docker-composeでHapi製サーバーを立てたが、new Date()を使った処理でどうもうまく動かない箇所があった。 調べたらTimeZoneがUTCになっておられた。 TZ: Asia/Tokyoを指定すればok environment: TZ: Asia/Tokyo

TypeScriptでPromise<A>のAの部分の型を取得する

UnwrapPromise というユーティリティを使えば取ることができる type P = Promise<number>; type R = UnwrapPromise<P>; // number</p></number>

ReactNativeのDimensionsで取れる高さはReactNavigationのフッターとかあると変わるのか

ReactNavigationを使うと上下にタブを作ってくれるが、これがあるとDimensionsで取れる高さは変わるのか気になったのでメモ。 使用機種はIPhone11 import {Dimensions} from 'react-native'; const {height} = Dimensions.get('screen'); console.log(height…

TypeScriptでコンポーネントがpropsとして受け取る型を再現する

TSとRNでコンポーネントAを作っているとき、そのコンポーネントAに「FlatListに渡せるProps」をPropsとして渡せるように型を作りたかった。 ComponentPropsを使えば作りやすい。 import React, { ComponentProps } from "react"; type Props = { foo: string…

Githubへのpushで fatal: Authentication failed for とか The requested URL returned error: 403が出たので対処した

リモートリポジトリのurlをセットしなおしたら無事pushできた。 git remote set-url origin <git@ ~ から始まるssh用のURL> git remote -v でリモートリポジトリを確認できる</git@>

prismaのクエリで1対多の「多に存在しないデータ」という条件で1を取り出す

ユーザー、お知らせ、ユーザーが既読したお知らせ、というデータ(テーブル)があり「ユーザーが既読していない全てのお知らせ」をprismaのクエリのみだけで取り出したい。 schema.prismaは以下 model User { id Int @id @default(autoincrement()) name Strin…

Reactで異なるオリジンのAPI叩いたら404が返ってきた時の対処法

フロントはTypeScriptとReact、バックエンドはNodeで書いていて、このサーバーはAPI用のものとしてフロントを返すサーバーとは別のもの、という構成で作っていた。具体的にはフロントのページ返すサーバーが localhost:3000APIサーバーが localhost:4000とい…