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

Form使わない!送信後も画面更新させずに表示処理継続可能な実装方法

やあ子供たち。寒いけど元気にしているかい。 ファイルのアップロードが出来るページを作る際に、基本として紹介されているのが、 Formを作成する。 その中にinputボタン(ファイル選択)(type="file")を作成 その中にinputボタン(送信)(type="submit"…

Javascriptのsortがstableであることの確認

やあ子供たち。 「最近のブラウザ上で走るjavascriptのsort()関数は、すっかりStableな sort になっている」ということのようなので、実験してみたよ。ま、それだけの内容のつまらないポストだけれども、中盤あたりの、比較関数定義(comp_*という名前)のと…

今どきのJavaScript 配列は便利なfor .. of 構文で楽しく回そう!

やあ子供たち。今日はこんなプログラムを書いて遊んでみたので紹介するよ。 結論から言うと「配列は、for.. of 構文で回そう。for .. in 構文は、オブジェクトの各フィールドを巡れるが、あまり使わなさそうだな」だ。 (みてほしいのはもちろん以下の「scri…

findOne

ドキュメントの中のある配列フィールドについて、 その中の要素がある条件(存在するかどうかや、その値などについて)を満たすかどうかを調べ、 その結果に応じて夫々、別の操作(挿入や削除、変更など)をその要素について行いたい場合、 そういう場合は、…

idとclassでCSSセレクト

#.

ドロップするとファイル名先頭に「<日付>_」がつく一行BAT

やあ子供たち。今日はものすごい発明をしたよ。以下のような1行BATファイルを作成して、 ren %1 "%date:/=%_%~nx1" そしてこれを名前は何でもいいのだが、例えば「PutDatePrefix.bat」という名前で保存したとしよう。さて任意のファイルをこのBATファイルに…

C#のStreamWriterではClose()呼び出しを忘れるな!

やあ子供たち。おじさんはつい先日、C#のStreamWriterを使っているプログラムが0バイトのファイルしか出力してくれなくなってしまう現象に出くわしたよ。 これがよくありがちなやつで、あるPCではちゃんと出力されるのに、別のPCでは0バイトになるというもの…

水槽ネタ:水交換でも二酸化炭素補給できるのか?

水交換しただけでなにやら水草が元気に!なぜなぜ?やあ子供たち。水交換をした後にやけに水草に気泡がついているなと思って調べてみたら、どうも水道水の中には二酸化炭素がそれなりに入っていて、水交換をすると、交換前の状態よりも二酸化炭素濃度が上が…

なんだっけ、createReadStreamがこけないようにするためのエラー・表示処理やあ子供たち。 NodeJSで、ファイルをダウンロードさせたい場合なんかに使うcreateReadStream()関数。容量の大きいファイルもストリーミングでリクエスト元にお届けしてくれるとても…

ブラウザのプロキシサーバ設定を行うと、httpリクエストのヘッダのメソッド行のURIフィールドが、絶対URLになるということのようだ。●WireSharkというツールを使ってプロトコルの中を見る。 見ようとしたのだが、外部URLなんてのっけからHTTPSなサイトばかり…

Windowsでもgrepしたい!findstr コマンドをもっと使おう!

やあ子供たち。今日はちょっとCEDECの講演タイトルばりのキャッチ―なタイトルにしてみたよ。 Windowsのフォルダの中に、テキストファイルがたくさんあって、(そう、例えば何かのアプリが出力したログだったりね)、でその中に特定の文字列を含むものがあれ…

レシート打ち込みはGoogleドキュメント音声入力とGoogleSpreadSheetにお任せ☆彡

やあ子供たち元気でやっているか。夏休みで慣れないレンタカーで行かなきゃならないからって、怖気づいていたりしやしないかい。今日はちょっとした小技を覚えたので紹介するぞ。おじさんは月に一回財布の中にたまったレシートをSpreadSheetに打ち込むという…

TimeNeoを作ったよ

やあ子供たち。 time_tのオレオレラッパーを作ってみたので紹介するぞ。最後に簡単なカレンダーの作り方もあるよ。 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <iomanip> #include <ctime> #include <string> using namespace std; #define TIMETNEO_LINEMAX 80 #define TI</string></ctime></iomanip></iostream>…

localtime_sでええやないか

#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #include <time.h> #include <vector> #include <algorithm> #include <map> using namespace std; int main(int argc, char* argv[]) { time_t now = time(nullptr); #if 0 tm nowtm = *localtime(&now); #else tm nowtm; localtime_s(</map></algorithm></vector></time.h></string></iostream>…

新しいExcelではutf-8なCSVのエクスポートができるぞい

やあ子供たち。元気でやっているか。最近おじさんは熱帯魚飼育を始めてみたよ。水が白く濁ってなかなか治らなくてな。まあ何でも勉強で、大変なんだけれども。 さて今日はExcelでutf-8なCSVをエクスポートしたいという内容だよ。(※本記事は、最近までおじさ…

HTTP range リクエストも、express.static()にお任せ

やあ子供たち。express.static()は中で、動画はちゃんとストリーミングで配ってくれてるのだろうとかいったあたりの中身に挙動がよくわからなかったので、動画ファイルのリクエスト来た時だけは自前のミドルウェアで捕まえて、単純な自前実装のストリーミン…

res.sendFile()について

やあ子供たち。今日はres.sendFile()についてだよ。そうExpressだね。 今日言いたいことは以下の2つだ。 res.sendFile()が受け取るパスは、express.staticとは関係ない絶対パスである。 res.sendFile()の後には、res.end()は必要ない! 以上だ。 じゃ今日は…

findOne()とfindOneAndUpdate()とでは、コールバックに返されるdocの階層が違うので気を付けよう

function(err, doc){ doc; //←findOne()の場合はこれがドキュメントのコピー。 doc.value; // ←findOneAndUpdate()で、updateされた方のドキュメントを受け取るように指定した場合はこれがドキュメントのコピー。docではないので、はまった。 } そゆこと。簡…

$pushと、$setOnInsert とがコンフリクトした話

(工事中)

socket.ioを使いたいならapp.listen()じゃだめさ

やあ子供たち。express勉強しているか。おじさんは勉強始めたばかりのくせにすぐこんなふうに上から目線のタイトルをつけた記事を書いちゃうんだからな。気を付けてくれよ。 さて今日はapp.listen()を使ってしまうと、socket.ioが使えなくなるという恐ろしい…

今いる場所でコマンドプロンプトを開いてくれるBATファイルを作ってみた

やあ子供たち。今日はタイトルの通りの内容のメモだよ。以下のコードをcmd_here.bat という名前にでもしたBATファイルとして保存して、任意のフォルダにコピーして、これを実行してみよう。すると、その場所に最初からいる状態でコマンドプロンプト画面が始…

express.static() を先回りして特定のファイルの返送処理を自分ロジックで上書きしよう。

やあ子供たち。 express.static()は便利な反面、実際には何をやってくれているのかがブラックボックスになっているとも言えるね。 例えばあるコンテンツページを表示した際に、pngを返した枚数だけカウントしたいだとか、jpegは禁止するだとか、動画は当然ス…

GoogleSpreadSheetの日付入力ショートカット

やあ子供たち、Excelで日付をショートカットキーで一発入力するのは「Ctrl+;(セミコロン キー)」で、超便利なわけなんだが、GoogleSpreadSheetを使っているときに、日付を入力したいというわけでそれをやろうとすると、ブラウザなだけに、画面の表示倍率…