Herokuで再ビルド再デプロイしたい時

$ heroku plugins:install heroku-builds // インストールしてなかったら $ heroku builds:cancel $ heroku restart

graphql-codegenの実行で Invalid AST Node: ~ というエラーが出た

"graphql": "^16.0.0",での出来事。 "graphql": "^15.5.3",にしてから再度試すと通る。 原因は詳しく突き止めれてないので後で時間あったら確かめる。

Xcodeで Failed to launch process. Error returned in reply: Connection invalid が出た

palygroundを実行したら出現した。 シミュレータを全部消す。一旦Xcode全て終了。再度開いて実行で解決

Nextjsのセットアップでエラー2つ出たので対処した

npx create-next-appでNextjsを開始しようとしたら error nanoid@3.1.30: The engine "node" is incompatible with this module. Expected version "^12.22.0 || ^14.17.0 || >=16.0.0". Got "12.19.0" というエラーが出た。 シンプルにバージョンを nodenv…

IPとかサブネットとかCIDRで参考にした記事

https://www.cloudflare.com/ja-jp/learning/network-layer/what-is-a-subnet/ インターネット用語1分解説~CIDRとは~ - JPNIC CIDR(クラスレスアドレッシング)とは - IT用語辞典 e-Words

ECS, Fargateで立てたサーバーをPrismaでRDSにつなぐ

使用技術 TS, Node(Hapi), Prisma, ECS, Fargate, RDS(MySQL) 現在既にAWS上でサーバーが起動しているものとする。 index.ts import Hapi from "@hapi/hapi"; import { PrismaClient } from "@prisma/client"; const prisma = new PrismaClient(); const ini…

ECSからSystems Managerの値参照しようとしたらResourceInitializationErrorが出た

ECS, Fargateで起動させてたサーバーで環境変数が必要だったのでSystems Managerで定義してタスク定義のコンテナ追加の部分の環境変数でValueFromでそのSystems Managerの値を参照しようとしたら ResourceInitializationError ~ が出た。 タスク実行ロールに…

ECSとFargateとALBでNodeサーバーを立てる

Hapi製APIサーバーをDockerコンテナ化したのでAWS上で動かしたかったのでECS, Fargateを使いデプロイすることにした。その手順を書いていく。 index.js const Hapi = require("@hapi/hapi"); const init = async () => { const server = Hapi.server({ port:…

Hapiの公式チュートリアルに載ってるコードだとDockerでうまく動かない

https://hapi.dev/tutorials?lang=en_US ↑これに載ってる 'use strict'; const Hapi = require('@hapi/hapi'); const init = async () => { const server = Hapi.server({ port: 3000, host: 'localhost' }); await server.start(); console.log('Server run…

react-native-background-geolocationについてのあれこれをまとめてく(随時更新予定)

https://github.com/transistorsoft/react-native-background-geolocation を使っているのだが、機能が結構豊富だったり使い方が少し複雑に感じたので調べたこととか気づいたことをまとめてく。 既にある程度使っているのでセットアップから順にとかではない…

iOS, Firebase周りでのアプリ開発で調べた用語(随時更新予定)

Bundle ID アプリを一意に識別するためのもの。Appleのエコシステム。 Xcode -> General -> Bundle Identifier で確認可能。 Firebaseプロジェクト内でiOSアプリを作成するときに必要。あとで変更できないので注意。 https://firebase.google.com/docs/cloud…

TypeScriptのライブラリのinterfaceを拡張する

TypeScript + Nextで開発中、scriptタグを使う必要が出てきた。 (多分)バージョン11から import Script from 'next/script' を使ってScriptコンポーネント 使うようにしないと怒られる。 そこで <Script /> を使ったのだが、propsに渡す型でエラーでた。 import Scri…

TypeScriptのtypeとinterfaceの違う部分を少し見る

typeはエイリアスであり、いろんな型を表すことができる type A = number type B = number | string type C = { name: string age: number } interfaceはnumberとかnumber | stringのエイリアスは作れない type A = number // error type B = number | strin…

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とい…