Corredor

ウェブ、プログラミングの勉強メモ。

npm

axios でエラーレスポンスを取得するにはどうしたらいいの?

非同期通信を簡単に実装できる npm パッケージ「axios」。 axios - npm 通常、レスポンスデータを取得する際は次のように実装する。 import axios from 'axios'; (async () => { const response = await axios.post('/api/login', { /* リクエストボディ */ …

TypeScript で ORM。TypeORM を使って PostgreSQL とやり取りしてみた

Node.js 上で使える O/R マッパーというと、以前 Sequelize というモノを紹介した。 neos21.hatenablog.com neos21.hatenablog.com コチラも MySQL や PostgreSQL など、色々な DB と接続できるマッパーだった。 今回見つけた TypeORM という O/R マッパーは…

TypeScript で Express サーバを実装するためのボイラープレートを作った

サーバサイド JS であれば、個人的には TypeScript がなくても書けるのだが、複数人で開発するとなると、型チェックを導入できた方が安全な実装になる。 ということで今回は、Express サーバを TypeScript で実装するためのボイラープレートプロジェクトを作…

Netlify Functions を使って複数の SNS にマルチポストする Function を作った

AWS Lambda とほぼ同等の機能を無料で利用できる、Netlify Functions。 今回はコレを使って、ブックマークレット形式で呼び出せる Function と、Slack の Slash Command として呼び出せる Function を2つ作ってみた。 どちらも、「オレオレマイクロブログ」…

無料で使える AWS Lambda:Netlify Functions を使ってみた

任意の関数をリクエスト単位で実行できる FaaS。最も有名なのは AWS Lambda だと思うが、コレとほぼ同じ機能を無料で利用できる Netlify Functions というモノを使ってみた。 Netlify に登録する Netlify Functions を使ってみる Git リポジトリを連携して N…

Create React App + TypeScript + SCSS 環境を構築してみる

2016年に create-react-app 単体で試したことがあった。 neos21.hatenablog.com あれから3年半が経過。React がもてはやされていた中で「Angular はちょっと重たいよねー」「とはいえ React も難解になってきたよねー」とか言っていると Vue.js の手軽さで S…

tiny-segmenter・kuromoji.js : JavaScript 製の形態素解析ツールを2つ使ってみた

形態素解析ツールというと MeCab が有名だが、コレはライブラリをマシンにインストールし、Python・Ruby・Java・Perl・Node.js 言語などにバインディングするライブラリを導入することで使える。機能的には十分便利だが、導入手順や言語の制約があり、ライブ…

htop と gtop を試してみる

リッチな top コマンドである htop と gtop を試してみる。 htop gtop htop htop は OS に応じてパッケージマネージャでインストールする。C 言語製。 $ brew install htop # MacOS $ sudo apt install htop # Ubuntu など $ sudo yum install htop # CentOS…

GitHub 管理している Angular 製のサイトを GitHub Pages で公開するための GitHub Actions

何回ギフハブ言うんやって感じのタイトルになってしまった…。 拙作の Angular Utilities は、コレまで $ npm run build $ npm run deploy とコマンドを実行することで、npm の gh-pages パッケージを利用して GitHub Pages にデプロイしてきた。 それを今回…

Node.js で電卓 CLI アプリを作った : @neos21/calc-cli

CLI で電卓を使いたくて、Node.js でサクッと作ってみた。その名も @neos21/calc-cli : node-calc-cli。 @neos21/calc-cli - npm GitHub - Neos21/node-calc-cli: @neos21/calc-cli : CLI Calculator $ npm install -g @neos21/calc-cli # 「calc」コマンド…

JavaScript コードをブックマークレットコードに変換する「Bookmarkletify」を作った

ブックマークレットを作る時、エディタで JavaScript コードを書き、それを難読化して縮めつつ、先頭に javascript: とプロトコルを記載したり即時関数で囲んだりする。コレを自動化するツールを作った。その名も @neos21/bookmarkletify。 既に類似パッケー…

docker-compose を使った Node.js・npm 開発環境構築例

Dockerによるアプリケーション開発環境構築ガイド【電子書籍】[ 櫻井 洋一郎 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > その他ショップ: 楽天Kobo電子書籍ストア価格: 4,180円 docker-compose を使って、Node.js・npm の開発環境を構築してみる。…

GitHub Sponsors と npm fund を設定してみた

GitHub 上でスポンサーを募れる GitHub Sponsors というサービスと、npm で資金提供を呼びかけられる npm fund コマンドがそれぞれ提供開始されたので、セットで作ってみた。 GitHub Sponsors の登録方法 GitHub リポジトリごとに Sponsor ボタンを付ける np…

Instagram に投稿された画像・動画をダウンロードする CLI ツール「igsv」を作った

Twitter から画像・動画をダウンロードする @neos21/twsv という npm パッケージを作ったが、それの Instagram 版を作った。その名も igsv。「InstaGram SaVer」の略のつもり。 先に作ったツールの紹介 以降ツールを作るまでの苦労話 以上 先に作ったツール…

Twitter に投稿された画像・動画をダウンロードする CLI ツール「twsv」を作った

Twitter に投稿された画像や動画をダウンロードする際、 画像 : Chrome ブラウザでツイートを開き、画像をアドレス欄までドラッグして開き、ダウンロード 動画 : Syncer - Twitter の動画を保存するための URL 変換器でダウンロード としていた。 コレをもっ…

ターミナルからツイートするだけの CLI ツール「Just Tweet」を作った

ターミナルからツイートする CLI ツール、Just Tweet というモノを作った。 GitHub - Neos21/just-tweet: ツイートするだけの CLI ツール。 @neos21/just-tweet - npm インストールは以下のように npm でグローバルインストール。 $ npm install -g @neos21/…

色々な設定ファイルにプロキシ設定が含まれていないか確認するスクリプト

自分は、社内ネットワーク内で仕事をする時と、インターネットに直接繋いで作業する時とで、設定ファイルを使い分けている。.bashrc や .gitconfig、.npmrc などのファイルだ。 社内ネットワークで仕事する場合は、これらのファイルに社内ネットワーク向けの…

Prettier を ESLint と併用して使ってみた

コードフォーマッタである Prettier を使ってみた。ESLint と併用するための環境も作った。 大まかには以下の文献を参考にした。 参考:Prettier 入門 ~ESLintとの違いを理解して併用する~ - Qiita package.json と .eslintrc.js の内容は次のとおり。 Pra…

Wercker を使ってみた感想

Oracle Container Pipelines として取り込まれた CI・CD ツールである Wercker を使ってみたので紹介。 wercker 参考:Oracle Blogs 日本語のまとめ: [Cloud] New in Developer Cloud - Fn Support and Wercker Integration Wercker ってどんなもの?僕が感…

LINE Messaging API と Oracle Digital Assistant を併用して LINE から呼び出せるチャットボットを構築する

以前、LINE Messaging API を用いて、オウム返しするだけのボットを作った。 neos21.hatenablog.com また、Oracle Digital Assistant というモノを使うと、ユーザの発言を解釈して複雑な会話フローを実現できることを学んだ。 neos21.hatenablog.com 今回は…

Express はレスポンスを返してからも処理が続行できる

Express において、res.json() とか res.send() とかを呼んだ後も処理が継続できることを知った。リクエストに対するレスポンスの用意ができたら迅速に res.send() を呼んでレスポンスしてしまい、残処理はそのあとゆっくりやれる、というワケだ。てっきり r…

Express のレスポンス関連メソッド「res.end()」「res.send()」「res.json()」の違い

Express でレスポンスを返す時、res.end()・res.send()・res.json() などのメソッドを使用するが、それぞれの違いは何か、res.end() は必ず呼ばなければならないのか、あたりを調べた。 Express の API リファレンスを呼んでみる まずは Express の API リフ…

JavaScript で YAML を扱うなら「js-yaml」が楽チン

Node.js で YAML ファイルを読み込んで扱いたくなったので、ググって1件目に出てきた js-yaml を使ってみた。 js-yaml - npm $ mkdir practice-yaml-in-js && cd $_ $ npm init -y $ npm install -S js-yaml $ touch index.js index.js const fs = require('…

2色のコントラスト比を導く Compare Colour Contrast Ratio を作ってみた

見やすい色の組み合わせかどうか。 WCAG2.0 (Web Content Accessibility Guidelines) という、ウェブアクセシビリティに関するガイドラインがある。 参考:Web Content Accessibility Guidelines - Wikipedia この中で、文字色と背景色とのコントラスト比を…

LINE Messaging API を使ってオウム返しする Node.js 製チャットボットを作ってみる

突然だが、LINE Messaging API というモノを使って、簡単なチャットボットを作ってみる。 完成すると、LINE アプリでチャットボット用アカウントを友達登録して、トーク画面から会話できるようになる。メッセージの処理はしないので、ただユーザの発言をオウ…

Express サーバでエラーハンドリングをミドルウェアに分ける

Express サーバを作っていて、例外のハンドリングを簡単に実装できる方法を知ったのでまとめてみる。 Express 関連用語をまとめる express.Router() ミドルウェア Expressにおけるミドルウェアとは next() ミドルウェアは記述された順に実行される エラーハ…

Node.js アプリでログをファイルに出力する「log4js」

Node.js 製のアプリでログをファイル出力するライブラリである、log4js を使ってみた。 log4js - npm log4js-node by log4js-node 以前、log4javascript というライブラリは使ったことがあって、コチラはファイル出力するアペンダが標準にはなかったので自作…

mocha で行うユニットテスト内でスパイ・モック化するなら「sinon」

以前、mocha という npm パッケージを使った単体テスト環境を構築したが、この mocha はテストランナーとしての側面が強く、特定のメソッドをモック化したりする機能は有していない。 neos21.hatenablog.com Jasmine のように、spyOn().and.callFake() や to…

今更だけど ESLint を始めてみたら簡単に始められた

コレまで、誰かが作った js-beautify の設定ファイルを引き継いで開発したり、Angular CLI で生成される TSLint 設定ファイルを手直ししたりしたくらいだったので、今回は ESLint をゼロから始めてみることにした。 ESLint - Pluggable JavaScript linter TS…

node-schedule を使って Node.js で定期処理を行う

node-schedule という npm パッケージを使うと、Node.js で書いた一連の処理を定期実行できる。 GitHub - node-schedule/node-schedule: A cron-like and not-cron-like job scheduler for Node. まずはインストールしてみよう。 # 作業ディレクトリを作って…