EPSONのPX-S05(B)をネットワーク経由で接続する

既にプリンタは(例えば自力で)LANには接続しているものとします。PC側はWindows10前提。

エプソン公式の方法(epson.snに接続してInstall Naviとかいうので接続する)だと、IPアドレスが固定という前提なので、もしDHCPIPアドレスを払い出されているようだと、プリンタのIPアドレスが変わった時点でインストールし直しになってしまいます。でも、WSD(Web Services on Devices)を使ったインストールなら、この問題は起きません。

  1. 次のページから「EpsonNet Print」のインストーラを落としてインストール https://www.epson.jp/dl_soft/readme/23814.htm
  2. プリンタの電源を入れる(もし長時間電源が入った後なら、いったん切って入れ直す)
  3. 「設定」の「デバイス」→「プリンターとスキャナー」を確認。入ってなければ「プリンターまたはスキャナーを追加します」

忘れがちなのでメモ。

HTTPからHTTPSにクエリパラメータも含めて転送

超がつくほど今更ですが、HTTPS対応した後で、従来のHTTPへのアクセスをHTTPSに転送したい場合は多いと思います。

そして、もしCGIなどの理由でクエリパラメータを使っていた場合、クエリパラメータも含めて転送したいのではないでしょうか。

http://example.jp/myapp/app.cgi?s=12
↓
https://example.jp/myapp/app.cgi?s=12

意外なことに、こういった「クエリパラメータもそのまま転送」が出てきません。なので、調べました。

続きを読む

古いUMPCをNextcloudサーバにしてみた

うちには古いUMPCの1つ、ONKYO BX407A4があります。

www.jp.onkyo.com

  • CPU:Atom Z515
  • メモリ:512MB
  • ストレージ:SSD 32GB
  • スクリーン:4.8型、1024x600ピクセル

Windows XPなら動くという代物です。

ずっと放置状態だったんですが、ふと、家庭内Nextcloudサーバにしてみては、と思いついて、やってみました。

続きを読む

JavaScriptで、とりあえずランダムな文字列を作る

また小ネタです。

JavaScriptで、別に暗号学的とかは考慮しない、一応ランダムな文字列を生成したい場合があります。

手軽な方法の1つは、Math.random()を文字列にすることですが、一応整数にしておきましょう。桁数も決め打ちというよりはシステム制約に則ることにします。

JavaScriptで使える安全な整数範囲は、Number.MAX_SAFE_INTEGERです。

developer.mozilla.org

なので、その桁数の長さの文字列にすれば常に同じ長さの文字列が得られます。

function getRandomNumberString() {
  const digitMax = Math.ceil(Math.log10(Number.MAX_SAFE_INTEGER))
  const number = Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)
  return ('0'.repeat(dMax-1) + String(number)).slice(-dMax)
}

ただの整数なので、利用者に見せない、単にシステム上区別がつけばいい程度の話に限定されますが、参考まで。

今日の日付をISO形式で取得する

小ネタです。

JavaScriptで、「今日の日付」をISO8601形式(YYYY-MM-DD)で取得する方法はいくつかありますが、toISOString()を使う場合、UTCになる都合上、タイムゾーンによる補正が必要です。

(new Date(Date.now() - (new Date()).getTimezoneOffset()*60000)).toISOString().substring(0,10)
// Dateの数を減らしたい人向け
const n = new Date()
new Date(n - n.getTimezoneOffset()*60000).toISOString().substring(0,10)

わざわざISO8601形式で日付を出すのは、input type="date"の値(valueminmax)として「今日」を使うためです。input要素で使うのだから、JavaScriptでもメソッド一発で出せるといいのですが。

Googleのメッセージングサービスを整理する

先日、Googleはメッセージング/コミュニケーション関連の統一責任者を設定しました。

www.theverge.com

また、「Hangout Meet」を「Google Meet」に改名したのも最近のことです。Google MeetはGSuite利用者向け(つまり有料)ですが、現在は無料のGmailユーザにも開放されつつあります。

gigazine.net

そもそも、Googleの関連サービスは名前が似ていたり機能が被っていたりと混乱を積極的に誘ってきます。そこで、とりあえず整理してみました。

続きを読む