lelelemon’s blog

カメの歩みでのんびり学んでいます。

Google Ad Manager でテスト広告を表示するーWeb編

はじめに こんにちは。直近 Google Ad Manager を触ることがあり、そのファーストステップとして、GoogleAd Manager にて提供されているテスト用広告の表示実装を試したのでメモに残したいと思います。 本記事では、Node.js 環境下で Google Ad Manager のテ…

【技術イベント参加】 Developers CAREER Boost 2024

はじめに こんにちは。Developers CAREER Boost 2024 に参加したので感想等メモに残したいと思います。 ・イベントページ event.shoeisha.jp ・開催日 2024/12/7 ・時間 13:00〜19:45(12:30より受付開始) ・形式 オフライン開催 ・参加理由 イベント名…

【技術イベント参加】Qiita Conference 2024 Autumn

はじめに こんにちは。先日、Qiita Conference 2024 Autumn に参加したので感想等メモに残したいと思います。 ・イベントページ qiita.com ・開催日 2024/11/14 ~ 2024/11/15 ・時間 両日程とも 17:00〜21:10(開場16:50) ・形式 オンライン配信(Zoom, …

【技術イベント参加】JJUG2024 Fall

はじめに 「JJUG CCC 2024 Fall」に参加したのでメモや感想です。 ccc2024fall.java-users.jp 開催日時 2024年10月27日 10時〜 場所 ベルサール新宿グランド コンファレンスセンター www.bellesalle.co.jp 参加セッションとメモ&感想 「オニオンアーキテク…

【React】Jestでユニットテストを実施するための環境準備(Jest関連パッケージの追加など)

はじめに 久しぶりに Jest でユニットテストを書こうと思ったものの、テスト実行のために必要なパッケージ何だっけ状態になったので、備忘のためのメモになります。 環境準備前の package.json { "name": "frontend", "version": "0.1.0", "private": true, …

【React】PrismaでDB検索/登録/更新/削除を行うー削除処理

はじめに 前回、 Prisma で検索処理のサンプルを書かせていただきましたが、今回は削除処理のサンプルになります。 lelelemon.hatenablog.com DB定義再掲 schema.prisma schema.prismagenerator client { provider = "prisma-client-js" } datasource db { p…

【React】PrismaでDB検索/登録/更新/削除を行うー更新処理

はじめに 前回、 Prisma で検索処理のサンプルを書かせていただきましたが、今回は更新処理のサンプルになります。 lelelemon.hatenablog.com DB定義再掲 schema.prisma schema.prismagenerator client { provider = "prisma-client-js" } datasource db { p…

【React】PrismaでDB検索/登録/更新/削除を行うー登録処理

はじめに 前回、 Prisma で検索処理のサンプルを書かせていただきましたが、今回は登録処理のサンプルになります。 lelelemon.hatenablog.com DB定義再掲 schema.prisma schema.prismagenerator client { provider = "prisma-client-js" } datasource db { p…

【React】PrismaでDB検索/登録/更新/削除を行うー検索処理

はじめに 以下の続きで、Prisma を使って、フロント側から DB に CRUD を行うコードを書いてみましたのでその内容を記載しました。 lelelemon.hatenablog.com 全て1記事にまとめると長くなってしまうので、当記事では【検索】のサンプルコードのみ記載しま…

【トラブルシュート】Jest/NextJS 環境でアプリ起動したら"next/font" requires SWC although Babel is being usedのエラーが発生

はじめに Jest でテストコードを作成する過程で下記の jest.config.js と babel.config.js を作成していたものの、NextJs でアプリ起動時に掲題のエラーが出てハマったのでその対応メモになります。 jest.config.js module.exports = { testEnvironment: "je…

【トラブルシュート】Jest でテスト対象コンポーネントが読み込んでいる CSS の import エラーが発生

はじめに 以下の Header コンポーネントのテストを書いて、いざ実行したところ、CSS の import 部分でエラーになってしまったのでその対応をメモしました。 SyntaxError: Unexpected token '.' > 1 | import "./css/component.css"; | ^ 2 | 3 | type Ribbon…

【React】Jest でコンポーネントのユニットテストコード作成

はじめに 個人開発で簡単なアプリを作成したりしている中で、いつもユニットテスト作成していなかったので、今回思い立って、JavaScript のユニットテストでよく使われる Jest を使ったテストコードを書いてみたメモです。 コンポーネントのテスト テスト対…

【ライブラリ】Prismaでテーブル定義をDBに反映する

はじめに Next.js の学習をする過程で Prisma というライブラリを使って DB 操作を直感的にシンプルな記法で記述できることを知り、その際の導入と簡単な使用メモです。 当記事では、Prisma の設定ファイルの初期化〜DBにテーブル定義追加〜テーブルマイグレ…

【Flutter】ConsumerWidget のビルドプロセス中にStateProviderの状態を更新しようとしてエラーにハマった

はじめに Flutter で Riverpod を使って楽に状態変数を監視・更新できますが、画面ビルドプロセスで状態変数の初期状態を設定したい時にハマったときの対応メモです。 エラーについて エラーが発生したコード final CarouselController _controller = Carous…

【Golang】GoでFireStoreにつないでデータを登録する

はじめに Golang で FireStore 上にデータを登録するやり方が分からなかったので、その対応メモです。 事前準備 1.Firebase Project を作成する Firebase にログインして任意のプロジェクトを作成します。 firebase.google.com その後、左メニューから「す…

【React】React/Python/ElasticSearchで簡易的なドキュメント検索Webアプリを作成

はじめに CSVやPDF, Excel などの様々なデータソースを ElasticSearch に溜めて、指定の文言が含まれているファイルを検索できる簡易的なドキュメント検索Webアプリケーションを作成しました。 今回のソースコードは下記にプッシュしています。 github.com …

【トラブルシューティング】Docker起動したElasticSearchのコンテナが起動後少しすると停止する

docker-compose.yml version: "3" services: es01: build: . container_name: es01 environment: - node.name=es01 - discovery.seed_hosts=es02 - cluster.initial_master_nodes=es01 - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JA…

【トラブルシュート - Golang】gqlgen で生成した GraphQL API と WebSocket 通信できない

Go

gqlgen.com gqlgen version: v0.17.44 gqlgen 公式の手順に従いAPIを作成し、 const wsLink = new GraphQLWsLink( createClient({ url: "ws://localhost:8080/query", }) ); Apollo Client を使って上記のように WebSocket 通信を確立しようとしたものの、 C…

【React】簡易的なWebチャットアプリを作成

チャットアプリのようなものを作ってみたいと思い、React で簡易的なWebチャットアプリを作成してみました。 ソースコードの全量は以下です。 作成したアプリ 動画キャプチャ↓ システム構成 以下の機能を持つアプリを作成しました。 ホーム画面 メッセージの…

【React】EventEmitter でイベントを検知し任意の処理を実行する

最近、Node.js の EventEmitter というイベント処理用の機能を知ったので、React と組み合わせて簡単な実装サンプルを試してみました。 EventEmitter とは 独自のイベントを登録し、そのイベントがトリガーされたときに任意の処理を実行することができます。…

【React】APIコールして取得結果を画面に反映する

React を使って外部APIをコールし、取得したレスポンスを画面に反映する簡単なサンプルです。 一連のサンプルコードは こちら にプッシュしています。 サンプル実行キャプチャ 実行環境について 下記の環境で動かしています。 Ubuntu 20.04.4 LTS (Focal Fos…

【Go言語】go/gin で簡単なREST API を作成

Go言語で gin フレームワークを使って REST API を作成する手順について記載しています。 実行環境について 下記の環境で動かしています。 ubunth "20.04.4 LTS (Focal Fossa) <- WSL2 go version go1.21.6 linux/amd64 docker: 20.10.17 DB環境を準備 今回…

【Go言語】VSCode でデバッグ環境を構築する

開発においてデバッグができるとエラーの特定がしやすいので、 VSCode において Go のデバッグ環境の構築メモを記載します。 検証用コード package main import "fmt" func main() { a := 1 b := 2 c := a + b fmt.Println("合計:", c) } go run main.go 合…

【Go言語】channel で非同期に並列処理を行い、結果を取得する

Go で時間のかかる処理を並列で実行するのに channel という仕組みがあることを知ったので試しました。 channel とは goroutine間で値を送受信するための機構(ChatGPTより)。 goroutine は非同期に処理を並行実行できるものの、処理が終了するとそのまま破…

【Go言語】gomock で外部へのアクセスをモック化して単体テストを書く

golang の単体テストを勉強していて、外部リソースへのアクセスをモック化する方法を調べていたら gomock というのがあることを知り、試したサンプルです。 環境準備 mkdir service mkdir repository mkdir model touch service/book_service.go touch repos…

【Go言語】DB接続サンプル(PostgreSQL)

golangでDB接続(PostgreSQL)を試したのでそのサンプルです。 以下サンプル。 golang で PostgreSQL に接続 PostgreSQL を準備 まずは接続先のPostgreSQL環境を準備します。 ここは手っ取り早く、Docker で環境を作りました。 (前提) Docker がインストー…

【Go言語】DB接続サンプル(MySQL)

golangでDB接続(MySQL)を試したのでそのサンプルです。 以下サンプル。 golang で Mysql に接続 MySQL を準備 まずは接続先のMySQL環境を準備します。 ここは手っ取り早く、Docker で環境を作りました。 (前提) Docker がインストール済みであること mys…

【Go言語】A Tour Of Go (日本語版) のローカル実行エラー

この記事について 日本語版の A Tour Of Go に記述のある通り、下記のコマンドでチュートリアルを実行しようとしたところ、 go tool tour 下記のエラーとなり、そのときの対応メモです。 go tool tourgo: no such tool "tour" 対応内容 同ページ内に下記の手…

【WSL2】Golang実行環境構築

はじめに 年末年始の時間を使って Go 言語に入門してみようと思い立ち、まずは Go 言語の実行環境を用意しなくてはということで、WSL2環境上にGo 言語の実行環境を用意した際のメモです。 目次 ざっくり下記の内容になります。 WSLディストリビューションを…

トラブルシュートーAndroidアプリ実行したときにタイトルバーが表示されない

概要 Android アプリ開発をしていて、掲題の通り、アプリを実行してみたもののタイトルーが表示されずその原因と対応のメモです。 対応 まず結論から。 AndroidManifest.xml 下記のように読み込んでいるテーマファイル(今回の例だと values/theme.xml) and…