- 0.1. Vue 3.0 composition apiによるAWS サーバーレス開発 シリーズ② サーバー側環境設定
- 0.2. Node.jsでAbortControllerを使って、child_processを強制的に終了させる方法
- 0.3. Node.js・Expressでffmpegを実行し、アップロードした動画を変換する方法
- 0.4. nodejsとytdl-coreを使用しYouTubeの動画をダウンロードする(コード付き)
- 0.5. AizuHack LINEBot勉強会 Vol.4
- 0.6. 【TypeScript + Express】 “npm run dev”でError: Cannot find module が出たら
- 1. 何にハマったのか
- 2. 解決法
- 2.1. 1. 「npm uninstall nodemon」でアンインストール。
- 2.2. 2. 「npm i ts-node-dev」でインストール
- 2.3. Node.jsとytdl-coreでYouTubeをDLする時につまずいた点(DLできない、無音になる)
- 2.4. Node.js・Expressでmulterを使って、ファイルをアップロードする方法
- 2.5. Webpacker::Manifest::MissingEntryError 解消法 – Rails version 6.0 環境
- 2.6. Nuxt3にElementPlusを導入する。
- 2.7. どこからでもDatabricks SQLに接続する
- 2.8. ffmpegとnodejsを利用し動画ファイルの詳細を表示する
- 2.9. npm install実施時、npm ERR! code EJSONPARSEを始めとするエラーが発生
- 2.10. POSTしたデータを登録するAPIを作る
- 2.11. 【簡単】Node.jsにsassをインストールする手順
- 2.12. UnityとFirebaseでDAppsゲームを作る
- 2.13. なんとなくnpmを使うのはもう終わりにする。
- 2.14. ノンビン塾~エンジニアとしての成長記録6~
- 2.15. Node.jsでAPIを呼び出すときの同期処理のメモ
- 2.16. [Lambda]s3.putObjectが初回実行時に完了しない時の対処法
Vue 3.0 composition apiによるAWS サーバーレス開発 シリーズ② サーバー側環境設定
# サーバー:Nodejs 16.0 + サーバーレスフレームワーク + serverless-layersプラグイン + sequelize
##アクセス構成
AWS Api -> Lambda(sequelize) -> DBアクセス
## DBの構築 Test用テーブル追加
“`
CREATE TABLE IF NOT EXISTS `member` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`first_name` VARCHAR(255) NOT NULL,
`last_name` VARCHAR(255) NOT NULL,
`age` INTEGER,
`createdAt` DATETIME ,
`updatedAt` DATETIME ,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
insert into member(first_name,last_name,age) value(“fn
Node.jsでAbortControllerを使って、child_processを強制的に終了させる方法
はいさい!ちゅらデータぬオースティンやいびーん!
# 概要
AbortControllerを使って、Node.jsで実行した`child_process`を強制的に終了させる方法を紹介します。## 背景
本記事は、前回投稿した、Node.jsでffmpegを使って動画を変換する記事を元に作成しています。変換の作業に時間がかかりすぎて、サーバーの負荷が過ぎないように、ある一定の時間が経っても子プロセスが終了しなかったら、強制的に終了させる必要があります。
ここで、Abort Controllerを使ってShellに終了のシグナルを送ることができますので、解説していきたいと思います。
## 事前知識
前回の記事を読んでいただければわかりやすいかと思います!https://qiita.com/tronicboy/items/f3f5d2dbcade2a8e01d9
# コード
前回のコードのPOSTのところを修正します。`spawn`の引数の設定オブジェクトに、`signal`を追加します。
“`typescript:src/index.ts
…app.po
Node.js・Expressでffmpegを実行し、アップロードした動画を変換する方法
はいさい!ちゅらデータぬオースティンやいびーん!
# 概要
本記事では、Node.jsの`child_process`の`spawn`を使って、アップロードされた動画をffmpegで変換する方法を紹介します。## 背景
Node.jsでPythonなどのスクリプトを実行して、その結果を持ってレスポンスを返すようなコードが書きたいことが動機で本記事の内容を勉強することになりました。Node.jsのイベントループシステムは非常に強力で、TypeScriptも共に使うと、JavaScriptの弱点も補ってほぼ無敵だと思います。
しかし、JavaScriptはイベントループがあっても、スレッドは一つ。そこで問題になるのは、大量のリクエストを捌くIOというより、時間がかかるプロセスが問題です。
また、Pythonの機械学習モデル、他言語のスクリプトなど、JavaScriptでは実行できないプロセスもあります。
そこで、助けになるのは、Node.jsの`child_process`機能です。
child_processは、サーバーのshellでコマンドを実行し、その結果を持ってN
nodejsとytdl-coreを使用しYouTubeの動画をダウンロードする(コード付き)
今回はytdl-coreを使用し動画や音声をダウンロードするコードを紹介していきます。
必要なもの
– nodejs
– ytdl-core(npmでインストール)“`
npm i ytdl-core
“`早速ですがコード
“`js:index.js
const ytdl = require(‘ytdl-core’)
const fs = require(‘fs’)const download = ‘audio’
const url = ‘https://youtu.be/…’if(download === ‘audio’) {
ytdl(url, {
filter: “audioonly”,
fmt: “mp3”,
}).pipe(fs.createWriteStream(“download.mp3”));
}if(download === ‘video’) {
ytdl(url, {
fmt: “mp4”,
}).pipe(fs.createWriteStream(“download.mp4”));
}
“`dow
AizuHack LINEBot勉強会 Vol.4
# AizuHack LINEBot勉強会 Vol.4
## 資料一覧
– [LINEBotとは](https://docs.google.com/presentation/d/1U1vl67gJNOdO5in7H__jPXWieT3Lv0cFmv350AmAKHA/edit?usp=sharing)
– [AizuHack LINEBot勉強会 Vol.1](https://qiita.com/shinbunbun_/items/7efef6db31514831143d)
– [AizuHack LINEBot勉強会 Vol.2](https://qiita.com/shinbunbun_/items/4034e9c2c7553ed3107e)
– [AizuHack LINEBot勉強会 Vol.3](https://qiita.com/shinbunbun_/items/0dfc42584518dc60e3e7)
– AizuHack LINEBot勉強会 Vol.4(本記事)## はじめに
こんにちは、会津大学学部二年のしんぶんぶんです。
今回はGCP(Google
【TypeScript + Express】 “npm run dev”でError: Cannot find module が出たら
こんにちは。
Qiita1発目の記事を何にしようかと悩んでいたのですが、ちょうど
「TypeScriptでバックエンドつくってみよー」
と、半分軽い気持ちで作っていたら見事ハマったので備忘録。nodemonからts-node-devに変更し、package.jsonでパスエイリアスをフルパスで表記したら、エラーが発生しなくなったので紹介する。
__※ts-nodeがインストールされていることが前提条件__
何にハマったのか
REST APIをnodemonで実行したら、モジュールエラーが発生した。
エラー文は以下。
“`
Error: Cannot find module ‘./index.ts’
“`解決法
1. 「npm uninstall nodemon」でアンインストール。
→解決方法とまではいかないが、理由としてはモダンなツールではないらしいので。
というよりも、ググって出てきた方法では解決できなかった。2. 「npm i ts-node-dev」でインストール
→これ
Node.jsとytdl-coreでYouTubeをDLする時につまずいた点(DLできない、無音になる)
# はじめに
YouTube動画をDLしようとWebで検索すると、怪しげな広告が表示される海外のサービスばかりだったりします。こういったサービスを利用するのはちょっと怖いなと思うので、YouTube動画をDLできるアプリが欲しいと思い調べてみました。調べてみたところ、[wintyoさん](https://qiita.com/wintyo)が [youtube-downloader](https://github.com/wintyo/youtube-downloader) というアプリを公開していたため、動かしてみることにしました。([wintyoさん](https://qiita.com/wintyo)ありがとうございます)
その際に、動画ダウンロードの処理でつまずいた点があったため記事にしてみようと思います。動かすにあたって以下の記事を参考にさせて頂きました。
– [YouTube動画をダウンロードするWebアプリを作る](https://qiita.com/wintyo/items/4dd93221ae4094abd80a)
– [Node.jsでYoutube動画を
Node.js・Expressでmulterを使って、ファイルをアップロードする方法
はいさい、ちゅらデータぬオースティンやいびーん!んな、がんじゅー?(みんな、元気?)
# 概要
本記事では、Node.jsのexpressフレームワークで、multerというミドルウェアを使って、FormDataからファイルを取って、アップロード機能をバックエンドに追加する方法を紹介します。## 事前準備
### Node.jsのローカルインストール
https://nodejs.org/en/download/## 目次
1. Expressのセットアップ
1. \
Webpacker::Manifest::MissingEntryError 解消法 – Rails version 6.0 環境
## 対象環境
node.js : v16.x.x
rails : v6.0.x## 具体的なエラー前動作
“`:terminal
rails new xxx
cd xxx
rails g scaffold user
rails db:create
rails db:migrate
rails s
“`
として、
http://localhost:3000/users
にアクセスすると下記のエラーが発生![Screen Shot 2022-07-11 at 11.58.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2646082/3bf33b38-d7f7-251e-5b27-00c41ad72a48.png)
## 対処法
### 1.railsのバージョンを6.1.xに変更する(推奨)
参考:
コマンド
Lhttps://qiita.com/seijMAN/items/ac363f6688c72f4ea186
インストール可能なバージョン参照
Lhttps://rubygems.
Nuxt3にElementPlusを導入する。
# やる事
Nuxt3にElementPlusを導入して、サクッと画面を作れるようにする。# 動作環境
– Windows10Home64bit(21H2)
– node v16.16.5
– element-plus v2.2.6
– nuxt v3.0.0-rc.4
– sass v1.53.0
※ChromOSのLinux環境でも動作確認済み# 手順
## プロジェクト作成
公式ドキュメント通りにやる。Nuxt2系と違い細かい質問は聞かれないし必要最小限の要素だけが用意される。“`
npx nuxi init sample-elementplus
cd sample-elementplus
npm i
“`## 動作確認
親の名前並みに見たコマンドで動作確認。とても起動が速い。“`
npm run dev
“`## ElementPlusの導入
### 導入
ひとまずnpmからインストール“`
npm i element-plus @element-plus/theme-chalk sass
“`公式ドキュメント曰く、Vueのプロジェ
どこからでもDatabricks SQLに接続する
[Connect From Anywhere to Databricks SQL \- The Databricks Blog](https://databricks.com/blog/2022/06/29/connect-from-anywhere-to-databricks-sql.html)の翻訳です。
:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::# Databricks SQL向けGo、Node.js、Python、CLIオープンソースコネクターの発表
開発者がお好きなアプリケーションからDatabricks SQLへの接続をシンプルにできるようにするために、本日、[Go](https://github.com/databricks/databricks-sql-go)、[Node\.js](https://github.com/databricks/databricks-sql-nodejs)、[Python](https://github.com/databricks/datab
ffmpegとnodejsを利用し動画ファイルの詳細を表示する
記事を初めて書くのであまり慣れていませんがとりあえずコードと必要なもの
– nodejs
– ffmpegffmpegのダウンロード
https://ffmpeg.org/download.html
“`Js:index.js
const readline = require(‘readline’).createInterface({
input: process.stdin,
output: process.stdout
});
const { exec } = require(‘child_process’);
readline.question(‘どのファイルの詳細を表示しますか?: ‘, (answer) => {
if(answer !== ”) {
exec(‘ffprobe -hide_banner -loglevel quiet -show_streams -print_format json ‘+answer, (err, stdout, stderr) => {
if(!err) {
var data = JSON.pars
npm install実施時、npm ERR! code EJSONPARSEを始めとするエラーが発生
npm install laravel-mix –save-devを実行時に下記のようなエラーが発生。
“`linux:表示されたエラーメッセージ
npm ERR! code EJSONPARSE
npm ERR! path c:\xampp_new\xampp80\htdocs\laravel\manual/package.json
npm ERR! JSON.parse Unexpected token “/” (0x2F) in JSON at position 48 while parsing near “…scripts\”: {\n // \”dev\”: \”vite\”,\n …”
npm ERR! JSON.parse Failed to parse JSON data.
npm ERR! JSON.parse Note: package.json must be actual JSON, not just JavaScript.npm ERR! A complete log of this run can be found in:
POSTしたデータを登録するAPIを作る
先日は一覧を取得するAPIを作りましたので今日はPOSTしたデータを登録するAPIを作ります。登録機能は認証も必要ですが後回しにしてまずは登録を優先します。
## やりたいこと
・画面上に入力フォームを設置してボタンを押下でPOSTリクエストを送る
登録APIのエンドポイントは /api/work
・POSTリクエストを受け取りBODYの内容をDBにINSERTする### 画面の作成
ソースコードが長くなってきたので要点だけ記載します。ファイルが確認したい場合はgitを参照お願いいたします。ボタンを押下すると入力内容をPOSTでリクエスト送付します。レスポンスを受けて画面を更新するなどが通常の動きですがここでは省略します。“`tsx:pages/work.tsx
const handleSubmit = (event: React.FormEvent) => {
event.preventDefault();
let data = new FormData(event.currentTarget);
axios.post(“/
【簡単】Node.jsにsassをインストールする手順
## はじめに
– Node.jsにsassをインストールした際に、エラーになったので、解決手順を備忘録として残します。## 環境
– Mac
– node バージョン:16.15.1
– npm バージョン:8.11.0## 前提
– Node.jsはインストール済み(公式サイトから推奨版をインストール)
[Node.js公式サイト](https://nodejs.org/ja/)## 状況
– sassのバージョンを指定してインストール
“`
$ npm install –save-dev node-sass@4.14.1 sass-loader@10.0.2
“`– 上記のコマンド実行後に、下記エラー【抜粋】が発生。
“`
npm ERR! gyp verb check python checking for Python executable “python2” in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
“`## 原因
– 参考記事によると、
UnityとFirebaseでDAppsゲームを作る
# はじめに
### 今回作ったもの
Symbolブロックチェーン上のウォレットとchrome拡張のSSS_Extensions(以下SSS)を利用したユーザー認証でプレイできるゲーム
ゲーム内容はハイアンドローみたいなものhttps://halad-dev.com/
SSSの追加はこちらから
https://chrome.google.com/webstore/detail/sss-extension/llildiojemakefgnhhkmiiffonembcan
## 概要
#### 環境
– Firebase (Auth, Functions)
– Unity 2021.3.4f1 (WebGL)
– UniTask
– Symbol ブロックチェーン
#### DAppsゲームとは?
この定義は人によって分かれると思うが、この記事ではブロックチェーン用のウォレットを使ったユーザー認証を行うゲームと定義してます。例えるならば
![SSS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c
なんとなくnpmを使うのはもう終わりにする。
# はじめに
本記事では**npm**と**その周辺の知識**をまとめたものになります。
なんとなく使っていたのでこの機会に学び直してみました〜〜:hatching_chick:# ①npmとはなんだ
* Node.jsの**パッケージ**を管理するツール。
* Node.jsに組み込まれているので、`brew install node`でNode.jsをインストールすればnpmも一緒にインストールされる。# ②パッケージとはなんだ
* package.jsonに記述されたファイルやディレクトリのこと。
* モジュールが誕生した(細かく機能を分けて開発できるようになった)ことにより、**よく使う機能を再利用できるようにしたもの**。1から機能を作らなくても良いので効率良く開発することができる。
* パッケージを一言でまとめると、**再利用できる機能の塊。**![package.png](https://qiita-image-store.s3.ap-northeast-1.
ノンビン塾~エンジニアとしての成長記録6~
## ノンビン塾について
そもそもノンビン塾ってなに?
→[過去の記事参照](https://qiita.com/kenny_engineer/items/fc3a45ef2c123ce49495)## 今回の講義
#### 【テーマ】
配列・オブジェクト(連想配列)を理解しよう!
※ノンビン塾で学んだ事 と 自分で自習した事 を纏めて記載する#### 【事前準備】
・Node.js(v16.14.2)
・VSCode
・適当なディレクトリでtest.jsを作成する### 1)配列について
【複数のデータを順番に並べた構造の事】であると理解した。
1つの箱(変数)に同じデータ型の複数の値を入れる事ができる。また、配列は、`[ ]` で囲まれている。
そして、目的のデータが「何番目にあるのか」を指定すると、
そのデータを取り出すことができる。以下例
“`test.js
const list = [“1個目”, “2個目”, “3個目”];console.log(list);
“`
上記のようにlistを宣言し、console.logで確認して
Node.jsでAPIを呼び出すときの同期処理のメモ
毎回、同期処理で悩みます。
Promise とか async とか意味わからんし・・・。
用語の意味から混乱します。
同期処理は、最初のコードから次のコードへと順次処理(実行)されていくこと。
非同期処理は、ある処理が終了するのを待たずに、別の処理を実行すること。
今日は冷静になって、同期処理を研究してみました。
私はど素人なので、もっといい方法があれば教えてください。## APIを呼び出すときの同期処理の研究
### 利用API
気象庁のAPIからデータをとる事例でいろいろ試してみました。
https://www.jma.go.jp/bosai/forecast/data/overview_forecast/340000.json
こんなJSONファイル
“`
{
“publishingOffice”:”広島地方気象台”,
“reportDatetime”:”2022-07-09T21:27:00+09:00″,
“targetArea”:”広島県”,
“headlineText”:””,
“text”:” 中国地方は、湿った空気の影響で概ね曇
[Lambda]s3.putObjectが初回実行時に完了しない時の対処法
AWS SDK for JavaScriptのs3.putObjectが、1回目は通らないのに2回目は通るという事態が起きました。
結論から言うと、promiseを返していなかったことが原因でした。だめだったコード
“`
s3.putobject({
Body: {body},
}, function(err, data) {“`