Node.js

Node.js new net.createConnectionでタイムアウトになってconnect失敗する

やりたいこと Windows上のローカルでNodejsアプリを動かしてTCPソケット通信をしたい 現象 特定の場合にnet.createConnectionがタイムアウトになって通信できない 調査の結果判明した条件 社内LANだとOK 外部LANだとNG 原因 Windowsファイアウォールにガード…

Node.js printf的な文字列フォーマット・書式を使う

Node.js: printf風の文字列フォーマットをする方法 - Qiita ↑文字、数字をそのまま単純に置き換えたい場合のみ使える ただし、utilモジュールでは、%0.3fのようなちょっとした応用的な使い方はできない そういう使い方をしたいときはsprintf-js↓を使う必要が…

Node.js node-schedule 実行開始後に実行周期を変える

起動~3秒後までは、毎秒メッセージ出力 3秒たったら3秒ごとの周期に変更(メッセージ出力処理は変わらず) const schedule = require('node-schedule'); var hogehoge = 0; var job = schedule.scheduleJob('* * * * * *', function () { console.log(hogehog…

Azure Node.js SendGrid 不審メール・迷惑メールのラベルを回避して、Azure経由でメール送信

Sendgridの公式ページからアカウント作って、公式ページの方法で送ろうとしていたが、送信者の名前を変えられなかったり、独自ドメインなしだと信頼性を上げられなかったりという問題があった。そこでいろいろ試した結果、Azure経由で送ると、それらの問題を…

Node.js SendGrid Single Senderのテストメール送信

const sgMail = require('@sendgrid/mail');// sgMail.setApiKey(process.env.SENDGRID_API_KEY);sgMail.setApiKey('hogehoge');const msg = { to: 'hoge@hoge.com', from: 'hoge@hoge.com', subject: 'Sending with SendGrid is Fun', text: 'and easy to d…

Node.js SendGrid Single SenderのVerifyまで

テストメール送信ということで、Single Senderを選択。 入力内容の説明は下記。 Single Sender Verification | SendGrid Documentation 送信元の名前 - 受信者がメールを受信したときに表示されるユーザーフレンドリーな名前です。 送信元メールアドレス - …

Node.js SendGrid 公式の手順通りにテストメールを送ろうとすると、403 Forbidden errorになる

問題 下記2つの公式ページにある、テストメール送信手順に従ったのに、403 Forbidden errorになる。 www.twilio.com sendgrid.kke.co.jp 原因 fromに指定するメールアドレスが、'test@example.com'のままだったこと。 fromには、SendGridで検証済みのアドレ…

Node.js インストールしたはずなのにError: Cannot find module 'モジュール名'が出る

自分の場合。 npm installコマンドを実行時のカレントディレクトリが不適切だった。 インストールしたいアプリのディレクトリに移動してから、npm installすればOK。 npm install時はカレントディレクトリを確認しよう!という、基本的・初歩的であるがゆえ…

Node.js SyntaxError: await is only valid in async function

awaitが使えるのはasyncつけた関数の中。 じゃあ下記ケースではどこにasyncをつけるべきか? hoge: function() { var self = this; return new Promise((resolve, reject) => { try { await _get(); ここ。await部分を含む、最も近い無名関数。 return new P…

Node.js POSTリクエストの応答が504 Gateway Time-outになる

現象 POSTを受けてサーバで行う処理は正常動作しているが、処理後にクライアントに戻ってくる応答が504 Gateway Time-outになる。 原因 サーバで正常レスポンスを返していなかった。 下記追加したら改善。 res.sendStatus(200);

requestとxmlhttprequest

サーバではrequest、クライアント(ブラウザ)ではxmlhttprequestを使う。

fs.mkdirとfs.mkdirSync どっち使ったほうがいいか

基本はfs.mkdirを使う 理由 フォルダのアクセスは時間がかかる。 同期にすると時間がかかる処理が終わるまで次の処理を実行せずに待つから、 全体のパフォーマンスが落ちる。 http://info-i.net/fs-mkdir

JSONファイルの全データ受信チェック

JSONデータを受け取る際、受信データをできる限り漏れなく受け取り、正しく解釈するためには、何をすべきかを考える。 まず大前提として、TCPで送受信する際、データが途中で途切れたりすることは無い。 (プロトコル上、基本的に保証されている。) しかし…

SFTPファイル転送を監視する

readdirをsetIntervalで実行すればOK その際の注意点2つ ・clearIntervalを都度行うこと ・ファイル転送「完了」を検知したければ、chokidarでまず完了を検知した上で、別フフォルダにrename(移動)後、別フォルダをreaddirで監視する形にする。 ←readdir…