- 1. Typormを使ってリレーションを組む
- 2. Next.jsとnodemailerでお問合せフォームを作成する
- 3. Shopify WebhookをAPI GatewayからLambdaで処理する
- 4. nvsを使ってnode.jsを導入
- 5. npm installでパッケージのダウンロードが始まらない
- 6. デジタルストップウォッチ
- 7. Serverless Frameworkで画像(バイナリ)をダウンロードするAPI
- 8. 【Next.js + Tailwind】これを押さえればOK 最新のフロントエンド開発
- 9. Chainlinkの外部アダプターを実装するまでのあれこれ【CFH2021その5】
- 10. Docker上のDebianで日本語入力環境を構築する方法
- 11. Node.js v17 で webpack error
- 12. 【Laradock】npm run devでエラー
- 13. [追記式]Discord.js v13のメモ
- 14. 超爆速でNode.js開発環境構築する
- 15. ng new my-appでのエラーを解決する方法
- 16. Discord.jsでbotを作ってみよう!(環境準備からスラッシュコマンドであいさつを返すところまで)
- 17. sequelizeのモデルをTypeScript化して、ルーティングで使用する方法
- 18. メモ:Node.js(http)でWebSocketを扱う
- 19. Node Scheduleで定期処理を行う
- 20. JLCPCB-3Dブリントサービスの始まり
Typormを使ってリレーションを組む
## 目標
– userテーブルとtodoテーブルをつなげる
– どのユーザーがどんなタスクを持っているかを表示させる
– ユーザーにつき複数のタスクがつくようにする## 目的
– typeormのリレーションの組み方を学ぶ
– 1対多の紐付け方を学ぶ## 手順
– 準備物・環境設定はこちら
[Typeormの設定のメモ](https://qiita.com/cedrictarou/items/9da496fca66b5c3ac7d8)
[typescriptでdoenvを使うときのメモ](https://qiita.com/cedrictarou/items/c191a5c370a55a1e62de)
[Typescriptとexpress.jsの環境設定](https://qiita.com/cedrictarou/items/24f9dbc1391193bae24b)– ルートを整える
`/users` に対応するルートを別ファイルにする
### routesフォルダーを作りそこにusers.tsを作る
“`tsx
// users.tsを以下のようにす
Next.jsとnodemailerでお問合せフォームを作成する
# はじめに
Next.jsの学習のためにお問い合わせフォームを作って見ようと思った。
SendGridやAmazon SESなどのAPIは使わず実装したかった。# TL;DL
– nodemailerで作れた
– nodemailerは、node.jsからメール送信を可能にするモジュール## 実際にやったこと
1. 入力画面作成(Bootstrap)
1. バリデーション追加(react-hook-form)
1. nodemailerを用いてメールを送信するAPIを作成
1. VercelではSMTPポートが使えなかったので、VPSにデプロイ
1. おわり– [完成したお問合せフォーム](https://contact.waterleaper.net/)
# シンプルにメール送信だけを実装する手順
## 1. 新規アプリ作成&モジュールインストール
“`zsh.
npx create-next-app contact-form
npm i nodemailer
“`## 2. 入力画面作成
“`react:pages/index.js
import sty
Shopify WebhookをAPI GatewayからLambdaで処理する
#概要
備忘録、ハマったポイントを重点的に書く。
ShopifyのWebHookを利用して、注文があった際に注文内容を受信する。
この記事では、Shopifyへ即レスポンス返す方法や、webhookの認証についてまとめる。# 前提
Shopifyの**プライベートアプリ**として運用します。
公式にアプリとして使用する場合は、Shopify-> APIgateway->Lambdaではなく、Shopify-> EventBridge -> Lambdaという形を使用した方が良い為、下記の公式ブログ記事を見て下さい。[ShopifyアプリMechanicの開発者はEventBridgeでどのようにスケーリングしたのか](“https://www.shopify.jp/blog/partner-event-bridge-scaling”)
# 1. Lambdaでの処理
webHookを受信した時の処理されるLambda関数を作成します。
### Shopify WebHookを3秒以内に返す
Shopify WebHookを**3秒以内にレスポンスを返す必要があります。**レス
nvsを使ってnode.jsを導入
#nvsとは?
nvs(Node Version Switcher)とはnode.jsを使用するにあたって複数のバージョンを管理することのできるツールである。こちらをインストールしておくことでバージョンによる競合を防ぐためのバージョン切り替えが容易にできる。
こちらの[Github](https://github.com/jasongin/nvs)からインストールすることが可能である。##nvsのインストール方法
[Readme](https://github.com/jasongin/nvs/blob/master/README.md)に記載がある通りにインストールすることができる。ここではMacのインストール方法を説明する。※Gitをインストールしてある必要がある。
“`shell:cmd
> export NVS_HOME=”$HOME/.nvs”
> git clone https://github.com/jasongin/nvs “$NVS_HOME”
> . “$NVS_HOME/nvs.sh” install
“`
###確認方法
以下のコマンドで確認するこ
npm installでパッケージのダウンロードが始まらない
#起こった事象
githubで管理されてるnode.jsで開発されたソースをcloneして、とりあえず動かすために“`
$ npm install
“`
を実行したが、一向にインストールが進まなかった。ログを見る限りパッケージのDL自体できてなさそう##環境
– Ubuntu 20.02 (AWS EC2インスタンス)
– nvmでnode.jsのバージョンを管理#原因
npmの設定を確認したところ、user-configのregistryの値が謎のIPアドレスになっていた。“`
$ npm config list
; userconfig /home/xxx/.npmrc
registry = “xxx.xx.xxx.xxx”
“`いつどこで書き換えてしまったのかは不明…
#解決策
以下のコマンドでregistryを標準のアドレスに設定し直して解決“`
$ npm config set registry https://registry.npmjs.org/
“`.npmrcファイルの中身を空にしてnpm installを再実行でも解決す
デジタルストップウォッチ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873014/ca3f17c6-44f0-94f9-db2c-ca56caaa6f57.png)
-Maninder Bir SinghGulshan著
Serverless Frameworkで画像(バイナリ)をダウンロードするAPI
# まえがき
Serverless FrameworkとAPI Gatewayで画像をダウンロードするAPIを作ってみました。
ネット上の情報だとうまくいかなかったので、試行錯誤を繰り返すことになり大変でした。# ソース
https://github.com/t-mine/qiita/tree/master/serverless-image-dl-api
# 手順
## Serverless Frameworkインストール
“`
npm install -g serverless
“`## プロジェクト作成
“`
serverless create –template aws-nodejs –name serverless-image-dl-api –path serverless-image-dl-api
“`## Serverless FrameworkにAWSの認証情報を設定
AdministratorAccessポリシーを付与したIAMユーザーを用意して、設定します。“`
serverless config credentials –pr
【Next.js + Tailwind】これを押さえればOK 最新のフロントエンド開発
#目次
[1.この記事を書くきっかけ](#1-この記事を書くきっかけ)
[2.自己紹介](#2-自己紹介)
[3.この記事を見てほしい人](#3-この記事を見てほしい人)
[4.Reactについて](#4-reactについて)
[5.Next.js + Tailwind cssの導入方法](#5-nextjstailwind-cssの導入方法)
[6.Tailwind css](#6-tailwind-cssについて)
[7.スクロールアニメーション](#7-スクロールアニメーション)
[8.Next.jsのImageについて](#8-nextjsのimageについて)
[9.おわり](#9-おわり)
[10.おまけ](#10-おまけ)#1. この記事を書くきっかけ
fwywdという会社の1次試験でQiitaに記事を投稿するという試験があり、書くことになりました。初めて記事を書くので、ご不明な点等があるかもしれませんが、できるだけ詳しく書いていくので、どうぞよろしくお願いいたします。
#2. 自己紹介
私はhtml css を3カ月前に勉強し始めたばかりの学生です。Tai
Chainlinkの外部アダプターを実装するまでのあれこれ【CFH2021その5】
さて、ぼちぼち開発をすすめていきましょう!
…って何を作るかまだ未定ですが^^;https://chainlink-fall-hackathon-2021.devpost.com/
とりま、外部からおもしろそうなデータを引っ張ってきてごにょごにょする系が作りたいなーと思うので、
外部アダプターの作り方&使い方をマスターしておきたいと思いますー
参考記事はこちら。https://blog.chain.link/build-and-use-external-adapters/
# Chainlink外部アダプター(External Adapter)とは
“`
あらゆるブロックチェーン上のスマートコントラクトは、
Chainlinkのオラクルと統合することで、
あらゆる開発者が現実世界のデータやイベントをブロックチェーンの世界に簡単に接続できるようにします。
ChainlinkがオラクルソリューションとしてSolidityに参入して以来、
APIやオフチェーンデータの利用はすでに大規模に拡大しています。Chainlinkにはアダプターという機能があり、
「コアアダプタ
Docker上のDebianで日本語入力環境を構築する方法
# はじめに
DockerでNodeの公式イメージを使って開発環境を構築したのですが、日本語入力ができませんでした。基本、どの環境も英語だと思うので仕方ないですよね。。
でもやっぱり今のプロジェクトメンバー間では日本語で入力したい!と思ったので、Dockerに日本語入力環境を構築するためにネットで方法を調べてみました。
しかし、いろんな記事を渡ってみるも、なぜか思うように設定できない、、と約2時間奮闘してようやく設定できました。笑
# 環境
使用したイメージは、公式の`node:14.17.6`で、OSは`Debian: 9.13`でした。
# 実装方法
Dockerfileに以下を記述して、Docker環境を立ち上げる。“`Dockerfile:Dockerfile
RUN apt update \
&& apt install -y task-japanese locales locales-all \
&& locale-gen ja_JP.UTF-8 \
&& echo “export LANG=ja_JP.UTF-8” >> ~/.bashrc
Node.js v17 で webpack error
#### digital envelope routines::unsupported
最近(2021年10月19日) Node.js が v17 になりましたが、webpack (v5) で次のようなエラーがでるようになりました。“`text
Webpack in development mode
[webpack-cli] Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
…
:6:1) {
opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error’ ],
library: ‘digital envelope routines’,
reason: ‘unsupporte
【Laradock】npm run devでエラー
#出たエラー
Error: error:0308010C:digital envelope routines::unsupported
・
・
・
opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error’ ],
library: ‘digital envelope routines’,
reason: ‘unsupported’,
code: ‘ERR_OSSL_EVP_UNSUPPORTED’
}Node.js v17.0.1
#原因
Node.js v17.0.1では「digital envelope routines」がサポートされていないとのこと。#対処法
Node.jsのバージョンをダウングレードする。#引っかかった点
“`
# npm install -g n
# n v16.13.0
“`
とバージョンを指定してインストールを行なったが、認識されるバージョンはv17.0.1のまま変わらなかった。
→Node.jsのバージョン管理を
[追記式]Discord.js v13のメモ
## 自分がDiscord.jsを用いた際のメモをただただ残していく
元々は`Discord.py`([discord.pyへようこそ](https://discordpy.readthedocs.io/ja/stable/))を用いてBOTを組んでいましたが,開発が終了していたり,自分が欲しい機能(ex. Slash Commands)かなかったりと色々あるので`Discord.js`に移行することを決めました.### 余談
今まで`Python`ばかり触れており`node.js`?を触れるのは初めてなのでわからないことばかりです.なので,備忘録的な感じでここに追記しながら書き収めていきたいと思います.記述していくものはコード中心なのでBOTの設定等は省略します.### 注意
あくまでも僕自身のやり方なので必ずしも正しい書き方とは限りません.有識者の方いらっしゃいましたらアドバイス等よろしくお願いします!## 備忘録
2021/11/10: この記事の始まり### 基本的なファイル構成
“`
├── main
├── config.json
├──
超爆速でNode.js開発環境構築する
# やりたいこと
複数のNode.jsバージョンが混在可能な開発環境を構築したい。# 解決策
[Volta](https://docs.volta.sh/guide/getting-started)をインストールしましょう。
# Linuxの場合
“`shell:ターミナル
curl https://get.volta.sh | bash
volta setup
volta install node@14
“`
上手く行かない場合はターミナルを再起動しましょう。“`shell:ターミナル
# バージョン表示されればOKです。
volta -v
node -v
npm -v
“`以上。
ng new my-appでのエラーを解決する方法
Angular公式の基礎講座のようなものをやろうとしたときに、“ng new my-app“というコマンドを叩いたらエラーが出た。
## ng new my-appを叩いた時のエラー
“`
$ ng new my-app
^[[ANode.js version v16.2.0 detected.
The Angular CLI requires a minimum Node.js version of either v12.20, v14.15, or v16.10.Please update your Node.js version or visit https://nodejs.org/ for additional instructions.
“`
このようなエラー。翻訳してみるとこのような内容だった。“`
Angular CLIには、Node.jsのバージョンが最低でもv12.20、v14.15、またはv16.10のいずれかが必要です。Node.jsのバージョンを更新するか、https://nodejs.org/ で詳しい説明をご覧ください。
“`
Discord.jsでbotを作ってみよう!(環境準備からスラッシュコマンドであいさつを返すところまで)
Discord.pyを使ってbotを作っていたんですが、いつの間にか開発終了してしまっていたらしいです…[※詳しく](https://gist.github.com/Rapptz/4a2f62751b9600a31a0d3c78100287f1)
お世話になりました…!
引越し先として、Discord.jsさんにお世話になろうと思います。
今回は環境作成から、おはよう!といったたらおはよう!と返してくれるところまで実施したいです。
![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2251471/aac3daf8-fff2-0c07-141b-7a762513515e.png)discordのBOTはこれからスラッシュコマンドが主流になるという話を聞いたので、それも取り入れていこうと思います。(/と入れると実行できるコマンドの事です)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22514
sequelizeのモデルをTypeScript化して、ルーティングで使用する方法
### 初めに
今回は、sequelizeで作成したモデルをTypescript化してルーティングから呼び出し、DBから値を取得する方法を記述します。https://qiita.com/shintaro_secual/items/05b1fe0b0109b6ed2002
上記記事を参考に、ルーティングはTypeScript化し、Sequelizeのモデルの初期設定は済んでいる前提で記載していきます。
### 環境
■ Nodeのバージョン
v14.14.0
■ 使用OS
MacOS Big Sur:バージョン11.6
■ 総合開発環境
Visual Studio Code
■ Sequelizeのバージョン
v5.22.4
■ MySQLのバージョン
v5.6.50### 使用するテーブル設計
“`SQL
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`pass` varchar(255) NOT NULL,
`statu
メモ:Node.js(http)でWebSocketを扱う
基幹系システムではあまり出番がないので触っていなかった双方向通信のWebSocket
[ここ](https://www.sejuku.net/blog/82316)とか
[ここ](https://qiita.com/ij_spitz/items/2c66d501f29bff3830f7)を参考にテストWindowsServer2012, Nodejsはv14.16でテスト
# Node.js側
単純にWebSocketを使う場合は
`npm install ws`
でいけるが、Socket.ioを使う場合は
`npm install socket.io`
でインストールする。
今回はsocket.ioを選択サーバ側ではexpressではなく通常のhttpを利用した。
server.onでclient.htmlを返すように設定“`javascript:server.js
var fs = require(‘fs’);
var http = require(‘http’);
var server = http.createServer();// HTTPのアクセ
Node Scheduleで定期処理を行う
プロジェクトでnode-scheduleライブラリを使って定期処理を行いました。
この記事は自分用メモです。# Node Scheduleの概要
Node Scheduleはインターバルベースではなく(interval-base),タイムベース(time-base)で定期処理を行います。例えば、2021年11月8日にあるプロセス(メソッド)を実行したい場合、適切なパッケージだと思います。
Node Scheduleはcron-style schedulingです。
“`
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 – 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 – 12)
│ │ │ └────────── day of month (1 – 31)
│ │ └─────────
JLCPCB-3Dブリントサービスの始まり
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873014/81d8a1bc-1350-aa5c-5714-7961d643da00.png)
https://jlcpcb.com/3d-printing
いよいよJLCPCB プリント サービスが始まりました。
ご注文の際、https://jlcpcb.com/JPA を通してクーポンを受け取ることができます。
また、「JLCPCB$7」のコードを入力すると7ドルの割引があります。