IPoE (IPv6) と PPPoE (IPv4) を一つのルーターで併用したい

ここのサーバーを IPv6 でつないでテストしたいと思いネット回線について色々調べたところ、 IPv6 接続はネットの混雑を回避できるから速いというメリットしかなさそうな説明がされていました。 しかしメリットしかない話という物はこの世に存在しないようで、どうやら今まで何番でも使えていたポート番号が一部しか利用できなくなる模様です。これはサーバー建ててる身としては受け入れがたい問題なので解決することにしました。

“IPoE (IPv6) と PPPoE (IPv4) を一つのルーターで併用したい” の続きを読む

Laravel のログにリクエストごとのIDを出す

システムに障害が発生してログを見た時に、いいタイミングで同時にリクエストが来てエラーも複数出ている際、これは同一リクエストで起こったエラーなのか、それともそれぞれ異なるリクエストで発生したエラーなのか分からなくなる現象がまれに起きます。特に外部連携系のAPIだと、リクエストが同一サーバーからくることが多いので、IPアドレスをログに出しても全部同じになってしまいます。そういった場合リクエストを区別するために、リクエストごとにUIDを振って出力する必要が出てきます。

“Laravel のログにリクエストごとのIDを出す” の続きを読む

「リンクされた図」があるとマクロが遅くなる問題の対策

Excel でマクロを実行した際、日によって遅くなる時があるなあとぼんやりと考えていたのですが、いい加減時の流れのせいにするのはやめて本腰を入れて調べたところ、どうやらリンクされた図が貼ってあるブックを開いていると遅くなることが分かりました。

“「リンクされた図」があるとマクロが遅くなる問題の対策” の続きを読む

Evaluate を使うと2回実行されてしまう(Excel VBA)

Excel VBA には Evaluate というメソッドが存在しています。ざっくりいうと、セルにいれるような数式の実行結果を返してくれるものです。SUM のような標準で用意されているワークシート関数はもちろんですが、数式には UDF(ユーザー定義関数。マクロの Function とか Sub とか)を入れることも可能です。しかし、なぜか Evaluate に UDF を渡すと2回呼び出されてしまいます。

“Evaluate を使うと2回実行されてしまう(Excel VBA)” の続きを読む

Excel 方眼紙に背景色を付けるとファイルサイズが思いのほか増える

Excel 方眼紙は時と場合によっては便利ですが、デメリットをしっかりと理解しておくことが重要です。たまたま気が付いた、というか理解はしていたけど考えないようにしていたのですが、方眼紙の場合はそうでないシートに比べて面積あたりのセル数が増えるので、ファイルサイズが大きくなります。その差がそこそこあったので記事にしようと思います。

“Excel 方眼紙に背景色を付けるとファイルサイズが思いのほか増える” の続きを読む

Node.js で中間証明書が設定されていない Web サイトにアクセスする

node.js でWebスクレイピングするツールを作ったのですが、アクセス先のサイトの証明書が切れたらしく最近更新されたようです。それは問題ないのですが、なぜか中間CA証明書が返ってこず(たぶんWebサーバーの設定漏れ)、証明書の検証ができない旨のエラーが。wget してみても同様の状態。証明書チェーンの検証を無効にすればつながりますが、セキュリティ的によろしくないです。まあ、管理者に連絡して設定してもらえばいいんですが、それまで待っていられない場合の応急処置を書いておきます。

“Node.js で中間証明書が設定されていない Web サイトにアクセスする” の続きを読む

Excel 全シートのカーソルを左上のセルに移動するマクロ

Excel は保存時にカーソルの位置も記録されるため、開き直した時に変なところにカーソルがあると気になってしまいます。提出する書類とかだと毎回カーソルを左上に持っていくようにしている方も多いのではないでしょうか。

私はそれ用のマクロを作って使っているのですが、環境が変わるたびに(特にデータ持ち込みしにくい場合)導入するのが面倒なのでここで公開します。※インターネット繋がらない環境だと詰みですが。

“Excel 全シートのカーソルを左上のセルに移動するマクロ” の続きを読む

結局、ko.track はどこまで効くのか

knockout.js のプラグインである knockout-es5 を使用すると、双方向バインディングが利用できるようになります。入力欄の内容が ViewModel に入るだけでなく、ViewModel に代入した値が画面に反映されます。

ただ、単純に ko.track(obj) するだけだと、ViewModel の深い階層のオブジェクトに値を代入しても画面に反映されなかったり、今まで動いていたのに配列を書き換えた途端に動かなくなったりと、いまいち挙動がつかめません。一通り以下で試してみようと思います。

“結局、ko.track はどこまで効くのか” の続きを読む