- 1. [Node.js] Packeage.jsonにあるSemVerの表記まとめ
- 2. (改)EC最安値を教えてくれるLINE Botを作ってみた
- 3. Node.jsのprocessって何なのさ
- 4. 【備忘録】Viteでlocalhostへの接続がうまくいかないときの対処法
- 5. PipedreamでobnizやLINEを使う実験 #iotlt #pipedream #obniz
- 6. Node.js:環境構築のいろいろ
- 7. Windows11 に Node.js インストール(nvm-windows利用), JavaScript実行, React 環境構築(VSCode)
- 8. symbol-sdk@3.0.7で作るモザイクリストリクショントランザクション
- 9. [Node.js] packeage.json、paceage-lock.jsonとは
- 10. Node.js + Windows 環境に node-canvas を install + build する
- 11. symbol-sdk@3.0.7で作るアカウントリストリクショントランザクション
- 12. [TypeScript] CommonJSプロジェクトの型定義で”export default”を使ってはいけない?!
- 13. JavaScript の Selenium 実行環境 (Node.js (Mocha) から Selenium 実行)
- 14. PipedreamでLINE BotのNode.js SDKを使う実験
- 15. ローカル環境で postgres と typeORM を使って SSL/TLS 通信する
- 16. Nest.jsアプリケーションをEC2インスタンス上で永続的に起動させる
- 17. Next.js13 学習メモ
- 18. API Gateway の HTTP API を AWS CDK で作成する
- 19. 儂にはQiitaなんかに記事を書いてるような時間は無いのじゃ(色々とアプリを作りました)
- 20. Node.jsのバージョンをnode-sassのバージョンに合わせて下げた方法
[Node.js] Packeage.jsonにあるSemVerの表記まとめ
# Semantic Versioningとは
– パッケージ等ソフトウェアにバージョンを振るための手法
– SemVer(センバー)とも略される
– packeage.jsonなどパッケージを管理するファイルで使用されている
– Semantic 「意味論」# 書き方
Semantic Versioningの例
“`
3.2.4
6.2.0
“`
左から「メジャーバージョン.マイナーバージョン.パッチバージョン」#### メジャーバージョン(Major)
後方置換性がない変更の時に上がる数字
後方置換性とは旧製品に対して互換性を持っている新製品の性質。つまりメジャーバージョンが違うパッケージに変更すると、以前のように動かない可能性がある。#### マイナーバージョン(Minor)
後方置換性がある変更の時に上がる数字#### パッチバージョン(Patch)
バグ修正の時に上がる数字# バージョン表記の記号
パッケージのバージョン名の前の記号の意味
#### ^(キャレット)
0でないメジャーバージョンを固定し、マイナー、パッチバージョンは指定されたバージョン以
(改)EC最安値を教えてくれるLINE Botを作ってみた
## LINE Bot初号機をTeachable MachineとNode-Redで進化
LINE Bot 2号機#protoout #linebot #ec #javascript #nodered pic.twitter.com/rIqvAGWXtf
— tnsato (@tnsato2000) August 24, 2023
日々の業務の中で店舗巡回時に、LINEへ商品コード(JAN)を打ち込むと3大ECモール(Amazon、Rakuten、Yahoo)それぞれの最安値がその場で分かるというLineBot初号機を前回作ってみました。MakeとSSSAPIを活用し事前に価格調査をまとめたスプレッドシートからデータを引張りLINEへ返すものでした。
【前回記事】https://qiita.com/tnsato4000/items/ee6395df07a427573f22
実際運用してみて使い勝手に課題を感じました。店頭で通常13桁ある商品コード(JAN)の数値をLINEへ手打ちするのはかなり面倒だし、間違いやすいという点です。そこで今回は「Teachable Machine」と「Node-Red」を活用して、手打ち作業をなくし商品を撮影するだけで各モールの最安値がLINEに返ってくるという進化版に挑
Node.jsのprocessって何なのさ
## 概要
nodeとは、javascriptを実行するためのホスト環境のこと。
Node.jsのprocessモジュールを使うと、nodeに関連する情報を取得したり、nodeの動作を制御したりすることができる。## 具体例
### 環境変数にアクセスするprocess.env
nodeで環境変数にアクセスするにはprocess.envを利用する。
下記のコードを`peocess.js`ファイルに記載し、試しにホスト環境の環境変数を表示してみる。
“`javascript
console.log(process.env);
“`
`node peocess.js`で実行すると下記結果となった。
“`
{
COLORFGBG: ’15;0′,
COLORTERM: ‘truecolor’,
COMMAND_MODE: ‘unix2003’,
HOME: ‘/Users/***’,
….以下環境情報が続く…
}
“`
### process.envから.envファイルを参照できるようにする
このままでは同じ階層に.envファイルを設置しても.en
【備忘録】Viteでlocalhostへの接続がうまくいかないときの対処法
# 事の始まり
[Viteの公式サイト](https://ja.vitejs.dev/config/server-options.html)をみて、下のようにProxyの設定をしていたのだが、`Error: connect ECONNREFUSED ::1:48383`となっていて接続できない
“`ts
export default defineConfig({
server: {
open: true,
proxy: {
“/api”: {
target: “http://localhost:48383/”,
changeOrigin: true,
},
},
},
plugins: [react()],
});
“`## 結論
NodeがデフォルトでIPv6を使うようになったので`[::1]`にアクセスしているせい
というよりよく見ると普通に書いてある## 対処法
このコードを入れてIPv4でアクセスするようにする
“`ts:vite.config.ts
import
PipedreamでobnizやLINEを使う実験 #iotlt #pipedream #obniz
PipedreamはiPaaSなのにNode.jsやPythonやGolangのコードが書けて、npmモジュールも使えるのでobnizを使ってIoTやれるかを実験してみます。
## 先に結論っぽい話
(メモ書きしたあとに追記してます)
> https://speakerdeck.com/n0bisuke2/tuiniipaasdeobnizgadong-kukamo-number-iotlt-number-pipedream-number-obniz
> ![スクリーンショット 2023-08-24 20.47.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/cfe9c314-c9f5-4ef5-5092-dc2e34f71f2d.png “スクリーンショット 2023-08-24 20.47.00.png”)[IoTLT](https://togetter.com/li/2210569)で話をしてきた↑が一旦現状の結論ぽい感じです。
>
Node.js:環境構築のいろいろ
## 前書
* 個人勉強メモです。ご参考まで。## 目的
* Windows10環境、簡単でUnZipすれば稼働できる。
* 共通モジュールと個別モジュールの関係を明確にする。## Node.js ダウンロード先
* URL:「https://nodejs.org/ja/download/releases」
各バージョンのインスタンスパッケージがあり、とても便利。
今回は「https://nodejs.org/download/release/v18.17.1/node-v18.17.1-win-x64.7z」をダウンロード## Node.js インストール手順
* インストールパッケージの展開先: **「C:\aaa\nodejs」**
* 環境変数「NODE_PATH」:**「C:\aaa\nodejs\node_modules」**
* 環境変数「PATH」:**「C:\aaa\nodejs」**## Node.js グローバルインストールパスの確定
**「npm root -g」** コマンドで確認
“`console: npm root -g
Windows11 に Node.js インストール(nvm-windows利用), JavaScript実行, React 環境構築(VSCode)
Windows11 に Node.js インストールして JavaScript 実行、React環境構築をやってみる
以前、Node.js を通常インストールしたがバージョン管理の必要が出てきたので nvm-windows より Node のバージョン管理できるようにしてたときのメモです
MSのドキュメントにある [Windows での NodeJS のインストール](https://learn.microsoft.com/ja-jp/windows/dev-environment/javascript/nodejs-on-windows) を参考にしてますやることは大雑把にこんなところ
– Node.js アンインストール
– Node.js(nvm-windows) インストール
– Node.js で JavaScript実行(簡単なHTTPサーバたてる)
– React環境構築(VSCode):::note info
コマンドプロンプト or Powrshell を使う時は 「管理者として実行」 で起動する
:::# Node.js アンインストール
MSのドキ
symbol-sdk@3.0.7で作るモザイクリストリクショントランザクション
# はじめに
こんにちは。
symbol-sdkの3系、トランザクションシリーズ第九弾です。
今回はモザイクのリストリクションをやっていきます。
https://www.npmjs.com/package/symbol-sdk/v/3.0.7
## 注意事項
書いてあるコードについて、正確性や完全性を保証するものではありません。あくまで参考程度として頂き、最新情報は公式ドキュメンテーションをご確認ください。
# 共通(前半)
まずは共通となる個所について。デッドラインと鍵ペアです。
“`jsx
import symbolSdk from ‘symbol-sdk’;const network = symbolSdk.symbol.Network.TESTNET;
const deadline = network.fromDatetime(new Date(Date.now() + 7200000)).timestamp;const facade = new symbolSdk.facade.SymbolFacade(network.name);
const
[Node.js] packeage.json、paceage-lock.jsonとは
# 目的
node.jsに必須なpackeage.json、packeage-lock.json、node_mudulesとは何かまとめる## packeage.json
パッケージ(=プロジェクト)の詳細が書かれたファイル
例) sampleというRailsプロジェクトのpackeage.json
“` packeage.json
{
“name”: “sample”,
“private”: true,
“dependencies”: {
“@rails/actioncable”: “^6.0.0”,
“@rails/activestorage”: “^6.0.0”,
“@rails/ujs”: “^6.0.0”,
“@rails/webpacker”: “5.4.4”,
“turbolinks”: “^5.2.0”,
“webpack”: “^4.46.0”,
“webpack-cli”: “^3.3.12”
},
“version”: “0.1.0”,
“devDependencies”: {
Node.js + Windows 環境に node-canvas を install + build する
# 環境
* Windows 11
* Node – v18.17.1
* node-canvas – v2.11.2
* node-gyp – v9.4.0
* Visual Stadio Build Tool 2022
* Python – v3.10.11, v2.7.18# 1. (Option) Node.js のLTSをインストール
Node.js | https://nodejs.org/ja/download
※本稿では`Node.js`-`v18.17.1`を使用::: note info
情報比較的新しいバージョンの`Node.js`であれば[`windows-build-tools`](https://www.npmjs.com/package/windows-build-tools)は`Node.js`に同梱される為、インストール不要らしい
* 2023/8/23 現在 パブリックアーカイブされた模様
:::
::: note warn
注意`FNM`+PowerShell環境だと(公式のsetup手順どおりにsetupしていれば)Po
symbol-sdk@3.0.7で作るアカウントリストリクショントランザクション
# はじめに
こんにちは。
symbol-sdkの3系、トランザクションシリーズ第八弾です。
今回はアカウントリストリクションをやっていきます。
https://www.npmjs.com/package/symbol-sdk/v/3.0.7
## 注意事項
書いてあるコードについて、正確性や完全性を保証するものではありません。あくまで参考程度として頂き、最新情報は公式ドキュメンテーションをご確認ください。
# デッドラインと鍵ペア
まずは共通となる個所について。デッドラインと鍵ペアです。
“`jsx
import symbolSdk from ‘symbol-sdk’;const network = symbolSdk.symbol.Network.TESTNET;
const deadline = network.fromDatetime(new Date(Date.now() + 7200000)).timestamp;const facade = new symbolSdk.facade.SymbolFacade(network.name);
co
[TypeScript] CommonJSプロジェクトの型定義で”export default”を使ってはいけない?!
## はじめに
JavaScriptで実装されているライブラリにおいて、`index.d.ts`で型定義を公開しているものがある。その中で、package.jsonに`”type”: “module”`の設定がなくCommonJSの設定になっているプロジェクトにおいて、以下のような`export default`を利用した型定義がいくつか見られた(以下の例は[axios-retry](https://github.com/softonic/axios-retry/tree/master)のindex.d.tsを少しわかりやすくしたもの)。
“`ts:index.d.ts
import * as axios from ‘axios’declare namespace IAxiosRetry {
export interface axiosRetryConfig {
…
}
}
export type axiosRetryConfig = IAxiosRetry.axiosRetryConfig;declare function axiosRetry(ax
JavaScript の Selenium 実行環境 (Node.js (Mocha) から Selenium 実行)
JavaScript の Selenium 実行環境の構築する
Selenium のエクスポートでも選べる JavaScript のテストフレームワーク の Mocha を使ってやってみる
作った環境で使ったバージョンと手順の大枠はこんな感じ– 環境、バージョン
– Windows11
– Node.js v18.15.0
– npm v9.5.0
– mocha v10.2.0
– selenium-webdriver v4.11.1
– chromedriver v116.0.0
– 手順
1. Node.jsインストール
1. Selenium実行環境構築
2-1. Mocha, selenium-webdriver, chromedriver インストール
2-2. 実行モジュール作成、実行# Node.jsインストール
1. Node.js インストーラー取得(LTSの方を選択)
https://nodejs.org/
1. インストーラ実行
画面に従い進める、許
PipedreamでLINE BotのNode.js SDKを使う実験
`@line/bot-sdk`を読み込んで普通に実行することができました。
モジュールあるのでこんなことしなくてもいいんですけどね
> ![スクリーンショット 2023-08-22 14.37.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/4a193609-340c-f27d-0c71-7338e4058f4f.png “スクリーンショット 2023-08-22 14.37.55.png”)
## プッシュメッセージを試すコード
実験です
“`js
import line from ‘@line/bot-sdk’const config = {
channelSecret: ”,
channelAccessToken: ”
};
const client = new line.Client(config);const sendMsg = async (msg) => {
const messages = [{
typ
ローカル環境で postgres と typeORM を使って SSL/TLS 通信する
あまり需要はないと思いますが意外と苦戦したので共有しておきます。
## 目次
* **環境**
* ホスト
* node コンテナ
* postgres コンテナ
* 初期ファイルとフォルダ構成
* **Dockerfile を作成**
* **docker-compose.yml を作成**
* **node コンテナを動かすための package と tsconfig を用意**
* **最終的に動かすソースコードの用意**
* **SSL/TLS 通信に向けて準備**
* 作業のコンテナを一時的に作成し立ち上げる
* postgres の設定ファイルをマウントフォルダ内にコピーする
* 証明書を作成する
* ルート証明書を作成する
* 中間証明書を作成する
* サーバー証明書を作成する
* postgres 用にサーバー証明書を作成 (中間証明書がある場合)
* サーバー証明書と中間証明書を結合する
* node コンテナから postgres に接続するための証明
Nest.jsアプリケーションをEC2インスタンス上で永続的に起動させる
## pm2を利用した手順
1. `pm2`のインストール
“`
npm install -g pm2
“`2. Nestjsを`pm2`で起動
“`
pm2 start npm –name your-app-name — run start
“`
3. `pm2` のプロセスリストを確認してアプリケーションが実行されていることを確認
“`
pm2 list
“`
4. `pm2` で起動したアプリケーションを自動的に再起動するように設定(コマンドを実行するように指示を受けるのでコピペして実行する)
“`
pm2 startup
“`
5. 現在の `pm2` のプロセスリストを保存
“`
pm2 save
“`
## pm2とは?
Node.jsをバックグラウンドで永続的に実行するためのプロセスマネージャ。
以下の特徴を持つ。
1. **永続性**: システムが再起動した後でも、`pm2` で管理されているアプリケーションは自動的に再起動されます。
2. **クラッシュリカバリ**: アプリケーションが何らかの理由で
Next.js13 学習メモ
# 参考にしたサイトなど
https://reffect.co.jp/react/next-js-13/# Next.13 のディレクトリ構造の特徴
– Next.js 13 は、12以前とはかなり仕様が異なっている
– 具体的には、これまでは `Pages Directory` だったものが `App Directory` になった。単に `Next.js` で検索すると、古い仕様の記事がヒットしてしまうため要注意。| 関連ワード | page.tsxの配置 | Path | 備考 | 公式 |
|:-|:-|:-|:-|:-|
| App Directory | app/tasks/page.tsx | /tasks | page.tsxというファイル名は固定。 |-|
| ~~※Pages Directory~~ | ~~pages/tasks.tsx~~ | ~~/tasks~~ | ~~Next.jsでも使用できるが、非推奨。~~ |-|
| Route Group | app/tasks/[id]/(group1)/(group2)/page.t
API Gateway の HTTP API を AWS CDK で作成する
CDKを使用してAPI GatewayのHTTP APIを作成するサンプルです。
認証はCognitoを使用して認可コードグラントを利用します。## AWS CDK
“`console
% npm install @aws-cdk/aws-apigatewayv2-alpha @aws-cdk/aws-apigatewayv2-authorizers-alpha @aws-cdk/aws-apigatewayv2-integrations-alpha
“`cognitoドメインのdomainPrefixはユニークな文字列である必要があります。cognitoドメインの代わりにカスタムドメインを使用することも可能です。
“`ts:bin/sample.ts
#!/usr/bin/env node
import ‘source-map-support/register’;
import * as cdk from ‘aws-cdk-lib’;
import { SampleStack } from ‘../lib/sample-stack’;const app = new
儂にはQiitaなんかに記事を書いてるような時間は無いのじゃ(色々とアプリを作りました)
## 8ヶ月ぶりにQiitaにログイン
デベロッパーのみなさんごきげんよう。
お待たせしました(誰も待っていない)。
以前の記事から実に8ヶ月、習慣とは恐ろしいもので、ちょっと離れると、ログインするのすら面倒になり、さらに、こんな所に駄文を書き散らして一体何になるのだと、最初の記事の冒頭に自分の勉強した事の備忘録として始めました。等と書いた事などすっかり忘れ、さらに、幾つかのqiitaイベントに申し込んだにも関わらず自動返信メールすら来ないという有様で、こんなユーザーフレンドリーではないプラットフォームはもういやだと、荷物をまとめて勝手に旅に出ていました。
さて、旅の道中で色々とアプリを作っていた訳ですが、孤独の中で一人黙々とアプリを作り、襲い来る幾多のバグや動作不良、寝不足、空腹と戦いながらようやく思うように動いてくれたアプリをモニター越しに見ながら、ニヤニヤし、アプリが出来ました と呟いたところで、自分以外に使う人nullであり、また、過去記事にもたまに書いてますが、海外でプログラミングとは全く関係ない仕事をしており、周りにプログラマーなど一人もいない状況で、周りの友人に見せたと
Node.jsのバージョンをnode-sassのバージョンに合わせて下げた方法
自分のための備忘録です。
## エラー内容
いつものようにプロジェクトの開発環境を立ち上げようとすると、以下のエラーが出ました。
“`bash
$ npm run start# 略
ERROR in ./src/css/style.sass (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/css/style.sass)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Error: Cannot find module ‘node-sass’
“``node-sass`が見つからないとのことですが、`package.json`には記載があります。
“`package.json
“dependencies”: {
// 略
“node-sass”: “^4.13.1”,
// 略
}
“`インストールを試みると、以下のエラーが出ました。
“`