DockerによるNext.jsの環境構築
はじめに タイトルにある通り、DockerによるNext.jsの環境構築の手順を記載しています。 様々な方の記事も拝読させていただきましたが、create-next-appをルートに展開している例が見つからなかったため、投稿させていただきました。...
View ArticleSequelizeでトランザクション処理を行う際のtransactionオプションの配置場所
初めに Sequelizeでマネージドトランザクションを使用する際に、transactionオプションの配置場所がメソッドによって異なっていたので備忘録として投稿する。 結論として、Sequelizeのトランザクション処理に使用するtransactionオプションはcreate、updateのようなメソッドは第2引数に、その他のメソッドは第1引数に渡す必要がある。...
View ArticleS3バケットにあるgzipファイルを加工して再度gzipで出力
大したことない作業のようですが、若干つまりどころがあったので残しておきます。 やりたいこと とあるS3バケットにあるgzipファイル(中身はjson)が生成されるたびに一部加工して、別のバケットに再圧縮して出力したい。 図を書くほどのものでもないんですが、こんな構成になります。 どうやるか Source BucketからSQSに通知してLambdaを呼び出すところは一般的な設定なので割愛します。...
View ArticleNext.jsで簡単なTodoページを作成してみた
初めに 今回、久しぶりにプログラミングの勉強をしようということで流行りのReactを勉強しました。 どうせならNext.jsも使って簡単なものを作ろうと思い、今回はTodoアプリを作成しました。 環境 Docker Next.js TypeScript TailwindCSS Dockerでの環境構築 ネットでたくさん出回っていますが、私は下記サイトを参考にしました。...
View ArticleWebの勉強はじめてみた その35 〜Sequelizeを使った実装〜
N予備校「プログラミング入門Webアプリ」を受講しています。 今回は第4章18,19節です。 UUID 任意のIDを作る。全世界で同じ値を持つことがない一意な識別子。 データベースのデータ型として、UUIDが用意されている。 Node.jsで使う場合はライブラリをインストールする。 yarn add uuid@3.3.2 データモデルの作成 models/schedule.js 'use...
View ArticleNodejsサーバーのファイル監視と自動再起動
初投稿です。 foreverを使う選択肢もありますがsystemdでやります。 目的 gitで自動デプロイしているNodeサーバーがあり、それをデプロイ後に自動で再起動させたい。 方法 systemdでサーバーをデーモン化 systemd.pathを使ってファイル監視して更新されたら再起動 デーモン化 まずサーバーのデーモン化...
View ArticleAzure Web App で React App のデプロイが反映されない際の解決方法
Azure Web App へ React アプリをデプロイすると... Azure Web App へ 自分で開発した React アプリをデプロイした際、デプロイが正常終了しているにも関わらず、Web App のスタートアップ画面から表示が切り替わらない。Azure Web App の再起動や VSCode からのデプロイ等も試したが、画面表示はスタートアップのままである。 Web App...
View ArticleNode.js ExpressのテンプレートエンジンでFailed to lookup viewエラーになった時はどうすればいいか?
以下の記事を参照して頂ければと思います ※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です 補足 ソースコード全体は以下。
View ArticleGoogle Sheets APIで誰でも編集できるスプレッドシートを作成する(Node.js / TypeScript)
結論 Google Sheets API だけじゃなくて、Google Drive API も使う const sheets = google.sheets({ version: "v4", auth: oAuth2Client }); const drive = google.drive({ version: "v3", auth: oAuth2Client }); //...
View ArticleDiscord.jsでbutton式ページを作る
初めに 今回はDiscord.jsv13を使ってボタンページを作ってみることにした パッケージがあるので簡単にできる 必要なもの discord.js(v13,14) discord-quick-button-page node.jsv16以上 npm i discord.js discord-quick-button-page コード const {Client,Intents} =...
View ArticleNode.js + Express - ルーターモジュール内でパラメータに変数の値を入れてリダイレクトする
専門学校の授業で1年間情報技術の基礎やプログラミング言語の文法等を勉強してきたけど、フレームワークを使って実践的なプログラミングにチャレンジしたい。 そう思い立ち、実際にNode.jsのExpressで掲示板サイトを作成しながら勉強している中で、パラメータを含めたリダイレクトが上手く動作せず数時間費やしたので記録。 (手探り状態で進めているので圧倒的知識不足を痛感・・・) 掲示板の構造...
View ArticleAWS EC2 nvmを用いてNode.jsをインストールしてnpmコマンドを実行できるようにする
概要 EC2のAmazonLinux2インスタンスにnvmを入れてNode.jsをインストールしnpmコマンドを実行できるようにする方法をまとめる。 方法 EC2にssh接続を行い下記コマンドを実行してnvmをインストールする。 $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash...
View Articleケバブケースを使うならケバブケースに従わないと痛い目を見る
設定 OpenAPIでAPI仕様書を書く API仕様書からswagger-api/swagger-codegenを使って、Node.jsのServer stubを生成する API仕様書からNode.jsのServer stubの生成 API仕様書の一部抜粋 '/groups/{groupid}/users/{userid}': put: tags: - groupUser operationId:...
View Article言語やライブラリによってcapitalizeの振る舞いが異なる
Java 2文字目以降の大文字は大文字のまま org.apache.commons.lang3.StringUtils.capitalize StringUtils.capitalize("cAt") = "CAt" JavaScript 2文字目以降の大文字は小文字になる lodash.capitalize _.capitalize('FRED'); // => 'Fred'
View ArticleWebの勉強はじめてみた その36 〜Sequelizeでデータ削除とCSRF脆弱性の対策〜
N予備校「プログラミング入門Webアプリ」を受講しています。 今回が最後、第4章20〜24節です。 Sequelizeを利用したデータの削除 テストデータの一括削除。 function deleteScheduleAggregate(scheduleId, done, err) { Availability.findAll({ where: { scheduleId: scheduleId }...
View Article改めてTypescriptに入門してみた。
はじめに プロジェクトでNuxt.jsとTypescriptを使用したフロントエンド開発を経験してきて今までなんとなく書いていたので基礎をしっかり身に着けることで同じような技術スタックの案件の時に即戦力になりたいと思い、改めて学び直してみた。 Typescript で Hello World するまで Typescript をグローバルにインストール...
View Article「これ、何のためにやってるの?」をまとめてみました【Node.js】
はじめに Node.js初学者が、N予備校のプログラミング入門コースを一通り勉強して、少し忘れてしまってる部分や「これ、何のためにやってるの?」という部分を洗い出してみました。 GitHub ssh-keygen 秘密鍵id_rsaと公開鍵id_rsa.pugを作成する このうち、公開鍵をGitHubに登録する。 ls /.ssh ここに作られていることを確認する。 pushする際の設定 git...
View ArticleDiscord.jsで役職パネルを簡単に作る
用意するもの 今回はkeyvにします discord-job-panel keyv又はaurora-mongo Discord.jsv13 npm i discord.js discord-job-panel keyv コード const {Client,Intents} = require('discord.js'), client = new Client({intents:...
View Articlenodeのバージョンdefaultめんどくさい
nodeのバージョンめんどくさい問題 Localの開発環境の nodeのバージョンめんどい Local開発環境でPCを再起動するなどでdefault設定のバージョンで起動する。 nvmのデフォルトのバージョンの設定方法をサクっとぐぐると nvm alias default v*.*.* みたいなのが出てくる...
View ArticlePuppeteerでデータ取得
やること ログインがあるサイトのデータ取得 前提 以前作成した下記記事の環境からスタート puppeteerインストール yarn add puppeteer puppeteer-core サイトに入る import puppeteer from "puppeteer" import dotenv from "dotenv" import { initLogger } from...
View Article