2020-01-01から1年間の記事一覧

JavaScript ビデオを撮影 スクリーンショット スナップショット

スクショ後、ブラウザのダウンロードフォルダに画像をダウンロード var canvas = document.createElement('canvas'); var video = document.querySelector('video'); var ctx = canvas.getContext('2d'); // Change the size here canvas.width = parseInt(v…

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

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

cron 正時1時間ごと、10分ごとの書式

正時1時間ごとに実行 0 */1 * * * 正時10分ごとに実行 */10 * * * * * * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ | │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── month (1 - 12) │ │ │ └────────── day of month (1 - 31) │ │ └─────────────── …

chromeのデベロッパーツールでレスポンシブ対応テスト

各種スマホ端末をシミュレートしたり、任意の幅を指定することができる。 レスポンシブな端末固有ビューポートのテスト | Chrome DevTools | Google Developers Chrome DevTools での Device Mode によるモバイル端末のシミュレート | Google Developers

はてなブログ 見たままモードでソースコード貼れるようにしてほしい

選択した範囲の引用、スタイル変更までできるのに、そこまでできてソースコード書式がないのがすっごく不便 はてなユーザはプログラマーも多いと思うのに、ソースコード書式の需要は一般的じゃないと思われてるのかなあ はてなダイアリーのときはできてた気…

MQTTというプロトコルのメリットデメリット

真偽不明だがとりあえずメモ。 〇到達保証がある ✖到達保証があるぶん、一時的に接続が切れたときにわからない ✖送信データ量の制約がある

JavaScript 独自イベントを作成し、キーバインドの有効・無効を切り替える

elm.addEventListener( "show", function(){ window.dispatchEvent(evInputStart); }); elm.addEventListener( "hide", function(){ window.dispatchEvent(evInputEnd); }); function avoidKeyEvent(e) { // キーバインドなし return; } function dispatchKe…

ボタンの名前を短縮表示+ツールチップを出す

三点リーダー短縮表示+マウスオーバー時にツールチップを出す。 ソースコード <button title="あいうえおかきくけこさしすせそたちつてとなにぬねの"><div style="overflow: hidden; width: calc(10vw - 20px); white-space: nowrap; text-overflow: ellipsis;">あいうえおかきくけこさしすせそたちつてとなにぬねの</div></button> 説明 ツールチップを出すにはbuttonタグにtitle属性をつける。 <button id="hoge" title="あいうえお">あいうえお</button>

有効/無効の英語は、valid/invalid enable/disableのどっちか?

論理・操作が有効/無効(正しい/間違い):valid/invalid 許可・装置が有効/無効(利用可/利用不可):enable/disable 信号・機能が有効/無効(正常/異常):assert/negate 行為・結果が有効/無効(効果あり/効果なし):effective/ineffective 状況…

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

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

varとletの違い for文内部でループカウンタを使いたいときはletを使うべき

ボタン1~ボタン3というボタンが3つある ボタン1を押したときはコンソールに1と出す ボタン2~以下略 このとき、ループカウンタをvarで宣言すると、どのボタンを押しても3と出てしまう for - loopCounter is var - JSFiddle - Code Playground これは…

HTML5 JavaScript 複数のボタンに似たような処理を結び付ける

やりたいこと ボタンが10個あって、1~10の番号が振られている。 ボタンを押すと、番号の数字をコンソールに出力する。 実現方法1 ボタンに一つずつ異なるidをつけて、getElementById→addEventListener。 デメリット:似た処理でソースコードが肥大化する。…

JavaScript 同名関数がある場合は、後から定義されたものが優先される

単一のjsファイル内に同じ関数がある場合もそうだし、htmlで下記のようにsrc指定する順番もそう。 hoge.jsとpiyo.jsに同じ名前の関数がある場合、 hoge.js内で自分のファイル内の関数を呼んだつもりでも、piyo.jsの同名関数が呼ばれてしまうので注意。 <script src="js/hoge.js"></script> <script src="js/piyo.js"></script>

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で検証済みのアドレ…

Grafana アラートを追加しようとすると「Template variables are not supported in alert queries」

同じダッシュボードを、条件によって表示を切り替えて使いまわしたい。 そのため、GrafanaのURIにクエリで条件となる変数を渡して、それを使ってSQL文を書く。 ・・・というような場合、アラート(アラートメール)が使えない。 テンプレート変数が動的だか…

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

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

Windows10 タスクバーに月日も表示したい

対策 タスクバー上で右クリック→タスクバーの設定 小さいタスクバーボタンを使うをオフにする ↑ 対策でこの方法を書いてるページほんとわかってない!!!!! 小さいタスクバーボタンを使うをオンにしながら、月日も表示したいんだ!!!!!

HTML5 submit時に画面更新させない

関数呼ぶ前にpreventDefaultでsubmitのデフォルト動作をキャンセルしてしまう。 それでゆっくりと関数の処理を行う。 onSubmit="event.preventDefault();onOkButton();" 先にキャンセルしておかないと、関数の後でreturn falseすると、 関数内の処理によって…

HTML5 OKボタン押下時に、submitのバリデーションチェックをした後にonclickの関数を呼ぶ

ポイント ・form onSubmitを使うこと <form onSubmit="function();"> <input class="input" type="text" required> <button type="submit">Ok</button></form> NGな例 イベントリスナで規定のsubmitをキャンセルしてonclickで呼びたい処理を書く HTML要素.addEventListener('click', (e) => { // 規定の動作をキャンセル e.preventDefault(); // イベント発生時に行う処理} …

ブラウザ全画面・iframeのリロード

// 全画面リロード document.location.reload(); // iframeだけリロード document.getElementById("iframeID").contentWindow.location.reload();

JavaScript 数値かどうかのチェック

Number.isFinite() でOK

JavaScript null, 空文字チェックを同時に行う

if (!prm) でOK。 ただし、prmが数値の0で来る場合も該当してしまうので気を付けること。

JavaScript オブジェクトのプロパティ存在チェック

in演算子を使うと簡単。 var a = {dog:1,cat:2}; console.log('dog' in a);// trueconsole.log('human' in a);// false

JavaScript 例外を出す方法

throw 例外メッセージorその他 で意図的に例外を出せる。 投げた例外はcatch(e)のeに入っている。

JavaScript JSON オブジェクトを比較する方法

要素の順番が保証されている場合 JSON.stringifyを使う。 キー、値がすべて一致する場合 var a = {"WL_Lv1":-1, "WL_Lv2":-1, "WL_Lv3":-1, "WL_Lv4":-1};var b = {"WL_Lv1":-1, "WL_Lv2":-1, "WL_Lv3":-1, "WL_Lv4":-1};if(JSON.stringify(a) === JSON.stri…

GitHub issueの変更通知メールに返信しても、issueに登録されない場合がある

本文をフッターまで全部消して、 引用の不等号はじまりの文章のみでメール送信した場合、その内容はissueに登録されない。 >test

JavaScript async await promiseのシンプルな使い方

ググりまくっていろんなページみたけど、下記が一番わかりやすかった。 簡単な説明とサンプルコードから始まってるから実用的。 numb86-tech.hatenablog.com 全部読む必要はない。 全体の1/10くらい、 つまり、そこでの処理が終わるのを待つことなくコードを…

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…