- 正規表現の $ は末尾以外でマッチすることがある
最近、正規表現で先頭や末尾には ^ や $ より \A や \z を使った方がいいという話を聞いたり、いろいろな言語を触ったりして少し混乱してきたので、言語ごとの正規表現の違いについてまとめようと思います。
- podman で nginx + php + mariadb を立ち上げてみる
更新: firewalld の設定に誤りがあったので修正しました。 更新2: php のイメージに gd の jpeg と imagick を追加しました 更新3: firewalld の許可設定は不要でした CentOS 6 のサポート期限が迫ってきているので CentOS 8 について必死で勉強しています。試しに全部コンテナで環境作ろうとしたのですが、CentOS 8 は docker ではなく podman が標準っぽいので、試しに podman で web サーバーを立ち上げてみました。
- .bat で Excel ファイルを開く
バッチファイルまたはコマンドプロンプトから、「規定のアプリケーション」でファイルを開く方法についてです。単純にエクスプローラーでファイルをダブルクリックした時の動きを再現したいのですが、定期的に忘れて調べている気がするのでメモしておこうと思います。
- IPoE (IPv6) と PPPoE (IPv4) を一つのルーターで併用する方法
IPv6 を導入したいが、ポート番号を自由に使いたいので IPv4 は PPPoE のままにしたい。しかし配線を増やしたくないのでルーターは1台で実現する話です。ルーター2台使う方法は情報が多いのですが、1台で実現する方法は少なかったので紹介します。
- Laravel のログにリクエストごとのIDを出す
システムに障害が発生してログを見た時に、いいタイミングで同時にリクエストが来てエラーも複数出ている際、これは同一リクエストで起こったエラーなのか、それともそれぞれ異なるリクエストで発生したエラーなのか分からなくなる現象がまれに起きます。特に外部連携系のAPIだと、リクエストが同一サーバーからくることが多いので、IPアドレスをログに出しても全部同じになってしまいます。そういった場合リクエストを区別するために、リクエストごとにUIDを振って出力する必要が出てきます。
- 「リンクされた図」があるとマクロが遅くなる問題の対策
Excel でマクロを実行した際、日によって遅くなる時があるなあとぼんやりと考えていたのですが、いい加減時の流れのせいにするのはやめて本腰を入れて調べたところ、どうやらリンクされた図が貼ってあるブックを開いていると遅くなることが分かりました。
- Evaluate を使うと2回実行されてしまう(Excel VBA)
Excel VBA には Evaluate というメソッドが存在しています。ざっくりいうと、セルにいれるような数式の実行結果を返してくれるものです。SUM のような標準で用意されているワークシート関数はもちろんですが、数式には UDF(ユーザー定義関数。マクロの Function とか Sub とか)を入れることも可能です。しかし、なぜか Evaluate に UDF を渡すと2回呼び出されてしまいます。
- Excel 方眼紙に背景色を付けるとファイルサイズが思いのほか増える
Excel 方眼紙は時と場合によっては便利ですが、デメリットをしっかりと理解しておくことが重要です。たまたま気が付いた、というか理解はしていたけど考えないようにしていたのですが、方眼紙の場合はそうでないシートに比べて面積あたりのセル数が増えるので、ファイルサイズが大きくなります。その差がそこそこあったので記事にしようと思います。
- Node.js で中間証明書が設定されていない Web サイトにアクセスする
node.js でWebスクレイピングするツールを作ったのですが、アクセス先のサイトの証明書が切れたらしく最近更新されたようです。それは問題ないのですが、なぜか中間CA証明書が返ってこず(たぶんWebサーバーの設定漏れ)、証明書の検証ができない旨のエラーが。wget してみても同様の状態。証明書チェーンの検証を無効にすればつながりますが、セキュリティ的によろしくないです。まあ、管理者に連絡して設定してもらえばいいんですが、それまで待っていられない場合の応急処置を書いておきます。
- Excel 全シートのカーソルを左上のセルに移動するマクロ
Excel は保存時にカーソルの位置も記録されるため、開き直した時に変なところにカーソルがあると気になってしまいます。提出する書類とかだと毎回カーソルを左上に持っていくようにしている方も多いのではないでしょうか。 私はそれ用のマクロを作って使っているのですが、環境が変わるたびに(特にデータ持ち込みしにくい場合)導入するのが面倒なのでここで公開します。※インターネット繋がらない環境だと詰みですが。