nodejs
環境 Nodejs v20 TS 5 以下は、TypeScriptライブラリをnpmに公開する手順の記事です。この記事では、TypeScriptのプロジェクトの初期設定、ビルド、公開、バージョンアップの方法について説明します。 初期設定 TypeScriptライブラリを作成するには、まずnpm…
背景 Mac移行とかするときnode_modulesがたくさんあるとめっちゃ遅くなる npm installは移行してからやればいいので別になくてもいい。ってことで全削除したい コマンド find . -name 'node_modules' -type d -prune ポイントは-prune 。-pruneオプションは…
やりたいこと 俺は、最近画像から文字認識をしたいと思い、いくつかの方法を試した。 しかし、自分でOCRのライブラリ環境を整えるのは面倒だと感じ、手軽に高精度なOCRを行える方法を探していた。 そこで、Google Cloud Platform(GCP)のOCR APIを利用する…
JSONCとは 通常のJSONではコメントを書くことができない。 しかし、JSONCという特殊なJSON形式が存在し、コメントを書くことができる。ただし、JSONCは特殊な形式であるため、通常のJSONパーサーではパースできない。 そこで、マイクロソフト社が開発したnod…
やりたいこと Discordは便利なコミュニケーションアプリケーションであり、Discord botを開発することは、プログラミングに興味を持っている人にとって魅力的なプロジェクトの一つです。 今回は、Discord botをTypeScriptで作成し、!pingコマンドを送信する…
環境 Playwright 1.25 やりたいこと ページにある要素のinnerTextを取得したい コード ポイントは el: HTMLElement していること。これがないと型がanyになってしまいエラーになる。 import { chromium } from 'playwright'; (async () => { const browser =…
令和最新版Nodejsって響きよくないですか? 環境 Nodejs v14 概要 よくある、指定したパスのファイルが存在するかのチェック いくつか方法があるのでメモ 【方法1】fs.existsSync()を使う 一番オーソドックスというか古典的。どのNodejsのバージョンでも実…
環境 Fastify 3.x やりたいこと 画像とかサーバーにある静的ファイルをを返したい バイナルファイルもきちんと表示できるようにしたい 【方法1】fs.readFileを使う 一番ベーシック。Fastityに限らず、nodejs使ってるなら標準メソッドで解決しようって考え方…
結論 fastify使うなら fastify-cli使え 環境 Nodejs 10 fastify v3.0.0 概要 Nodejsでサーバーfastify-cliを使ってAPIサーバーのひな壇を作って、GCPのCloud Runにデプロイするところまでやってみる。 インストール まずはfastify-cliをインストール 公式で…
環境 Nodejs 12 やりたいこと Nodejsを使ってMySQLに接続したい。今どきのasync / awaitを使っていい感じに書きたい。というかコールバック書きたくない インストール 有名なのは mysql なのだが、mysql2というのもある。 すごく昔にsidorares/nodejs-mysql-…
答え 公式クライアントの「fluent-logger」を使う。 fluent/fluent-logger-node: A structured logger for Fluentd (Node.js) やり方 デバッグしやすいように以下のfluendの設定をしたサーバーを用意する。 <source> @type forward port 24224 </source> <match *.*> @type stdout </match> 受け…
環境 Nodejs 12 やりたいこと nodejsで画像加工をしたい。でもってやはり有名なのはImageMagick 早速一番それっぽいのを見つけたものの最終更新が8年前ww rsms/node-imagemagick: Imagemagick module for NodeJS — NEW MAINTAINER: @yourdeveloper This i…
軽くググっても石器時代みたいな書き方載せてるページしか見つからなかったのでメモ 環境 Nodejs 12+ コード これで hoge/piyo/fugaのディレクトリが再帰的に作成される。 const fs = require('fs').promises; (async () => { const path = './hoge/piyo/fug…
環境 Nodejs 10 Puppeteer 2.x やりたいこと Puppeteerでスクレイピングして画像をダウンロードする際、URLの場合はrequestsモジュール等で適当にダウンロードすればよいが、画像がsrc要素にBase64形式で最初から埋め込まれている場合はそのやり方ができない…
Expressでよく使われてるreq, resの中身はなにか - 動かざることバグの如しの続き 環境 Nodejs 10 Express 4.x やりたいこと 例えば以下のようなExpressを用いたサーバーのコードがあったとする const express = require('express'); const app = express();…
環境 Nodejs 10 Express 4.x 結論 reqはIncomingMessage resはServerResponse で、nodejsの標準のオブジェクトで別にExpress特有のものではなさそう 経緯 よく見かけるNodejsのHTTPフレームワークことExpressのHello Worldのサンプル const express = requir…
ESLintでPrivate Class Field使うとエラーになる問題 Nodejs v12でようやくクラスでプライベートな変数を持つことができる。 変数が #val のように頭に#をつけるので、初見キモいなって思ったけど以下の詳しい経緯見たら納得した Private Class Field の導入…
結論 正式なLTSになってるわけじゃないけど、本番投入に問題ない仕上がりにはなってる Node.js v12 でfs/promisesがexperimentalでなくなった件 Node.js10からfs Promises APIが実装された。 が、実行すると、 ExperimentalWarning: The fs/promises API is …
環境 Nuxt.js 2.8 背景 Nuxt.jsはVuejsを元に作られているので、CSSフレームワークを追加したいときは、「追加したいCSSフレームワーク vuejs」とかで検索すればインストール方法がすぐ出る。現に、bootstrap-vueとかvuetifyはそれ専用のライブラリが出てい…
環境 Nodejs 12 puppeteer 1.17 概要 puppeteerは本当に便利で、やろうと思えば(大抵のことは)なんでもできる。今回は現在位置をうまく偽装してみる。 コード 今回は東京駅にセットしてみる。ただしデフォルトではブラウザの左上の確認プロンプトが出てし…
緯度経度からなる地点Aから地点Bへの距離と方角がほしい人生だった 環境 nodejs 10 求める計算式面倒問題 正直地理の計算詳しくないのでさっぱりだが、地球が楕円であるので、式が面倒らしい 例えば以下はPythonで計算するコードを載せてくれている例 長い […
マジで簡単だったのでメモ Functionの作成 GCPの管理画面から「Functions」を開く 名前:任意 割り当てるメモリ量:1GB トリガー:HTTP ランタイム:Nodejs 今回は8にした index.jsの中身を以下 const puppeteer = require('puppeteer'); exports.screensh…
他のチュートリアルとか、やってみた!だと早速認証周りだとかElement UIとかに手を出してて難しすぎる。 本質的に、一番シンプルな感じで Qiita API v2 認証不要を叩いて リスト表示するだけのアプリをNuxt.jsで作って firebaseに無料デプロイ! までやる。…
さらばnodebrew 今までnodebrew使ってたけど、コマンド体型がrbenvやpyenvと違って独特である。バグとかはなくて安定はしていたが、やはり*bnv系で揃えたほうがいいなあということで、一式をnodenvに合わせた 環境 Mac OS Mojave nodenvのインストール 今ま…
晒す env: commonjs: true es6: true node: true extends: standard globals: Atomics: readonly SharedArrayBuffer: readonly parserOptions: ecmaVersion: 2018 rules: indent: - error - 2 linebreak-style: - error - unix quotes: - error - single sem…
環境 puppeteer 1.12 nodejs 10 やりたいこと Puppeteerでリダイレクトを記録したい コード すでにいろいろ記事は上がっているが、以下。ポイントはredirectChain()使うところだろうか。 const puppeteer = require('puppeteer'); (async () => { const brow…
環境 Docker 18 docker-compose 1.23 debian系 やりたいこと とあるDockerイメージにNodejsをインストールすることにした。普通ならapt-get install nodejsとパッケージ管理システム経由でインストールするのが定石だが、理由があってイメージサイズを小さく…
環境 nodejs v10 やりたいこと 例えばあるURLへHTTPリクエストして、失敗した場合にリトライしたい。けど失敗したときのレスポンスコードが500のときはやり直すけど、404のときは無駄なのでそのままエラーにしたい。 いいライブラリがないか探していたところ…
2022年7月30日追記 Puppeteerのpage._clientは非公開APIなのでcreateCDPSession()を使用してclientにアクセスしたほうがいいとのこと const client = await page.target().createCDPSession(); await client.send( 'Input.synthesizeScrollGesture', { x: 0,…
環境 nodejs 10 やりたいこと rubyのbinding.pryみたいにプログラムコードの途中で実行を止めて変数の中身とか参照したい やり方 例えば以下のようなjavascriptを用意する。 const val1 = 1; const val2 = 2; debugger console.log(val1 + val2); 1つ目のポ…