Traefik on k8s で let's encrypt のワイルドカード TLS 証明書を自動発行する

Traefik (proxy) を k8s Ingress controller として使うと、ワイルドカード証明書の自動発行が簡単そうなのでやってみた。 Traefik 公式ドキュメント が、わかりにくい、というか、設定のための情報が散逸してたり、そもそもプロダクトとして必ずしも k8s を…

react-scripts の dev server を fastify(-webpack-hmr) で動かす

とりあえずやってみたらパッと見動いた、くらいの内容で、ただのメモ書きです。 API server と create-react-apps で生成した Vue app を dev server で同居させるには、 本来的には dev server からの proxy でなんとかする するのがスジっぽい。 でも、た…

pug でカスタムタグをあつかう

ゴール form-button(label="Label") のような入力を与えたときに <button type="button">Label</button> のような出力を得る。 pug の処理の流れ おおまかにいうと、 字句解析 → 構文解析 → コード生成、の順をおって最終成果物 (html) が生成されている。 各フェーズは npm module (pug の…

vscode + vue.js + typescript + eslint + prettier + airbnb で自分向きの環境を整える (2)

vscode + vue.js + typescript + eslint + prettier + airbnb で自分向きの環境を整える (1) - daily dayflower の続き。 ゴール再掲 vue-cli (ui) で生成したプロジェクトをベースにしたい TypeScript つかいたい スタイルガイドのベースとしては airbnb ス…

vscode + vue.js + typescript + eslint + prettier + airbnb で自分向きの環境を整える (1)

タイトルと同じようなキーワードでググれば情報はいっぱいでてくるんだけど、鮮度とかの問題もあるのか、やりたいことに違いがあるのか、サイトによって若干内容に差がある。なので、まずは自分なりの requirement を決めて、それを満たすような vscode を整…

vue-codemirror を試す

CodeMirror っていう JavaScript 製のエディタコンポーネントの Vue.js 用コンポーネント vue-codemirror を触ってみたときの備忘録。 最終的なコードはここにある。 github.com vue-codemirror をプロジェクトに読み込む import Vue from 'vue' import VueC…

Spring Boot で ApplicationContext を初期化せずに application.properties の内容を取得する

このへんのソースを読むと、一応以下のように書けるっぽい?なんか目的外使用っぽくてよくないですけど。 StandardEnvironment env = new StandardEnvironment(); new ConfigFileApplicationListener().postProcessEnvironment(env, new SpringApplication()…

Spring Initializr の desktop app を Electron で書いた

https://github.com/dayflower/electron-spring-initializr IntelliJ IDEA の Ultimate 版だと Project 生成のときに Spring Initializr を利用して作成することができるんだけど、 Community Edition にはその機能がない。単に Web の Spring Initializr を…

Synaptics Clickpad で右クリックを有効にする on Ubuntu Precise (12.04)

2本指タップで右クリックになるし、それに慣れちゃったけど、一応 http://ubuntuforums.org/showthread.php?t=1966016 オンラインで変更するには $ xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Soft Button Areas" 3872 0 3984 0 0 0 0 0数字…

Skype4Py で bot を作る

コンタクトリストのユーザーがオンラインになったら「おかえり」というストーキング bot。ちなみに Ubuntu 12.04 (Precise) で Skype4Py (パッケージ名 python-skype) をインストールするにはレポジトリに ppa:skype-wrapper/ppa を追加する必要がある (パッ…

uWSGI でファイルが更新された時にリロードする

最初は inotifyx 使って自力で書こうとしてたんだけど,ブロックしてうまくいかなかったりして,thread でも立てなきゃいけないのかなと思って uwsgidecorators を読んでたら,そもそも uwsgidecorators (というかそもそも uwsgi-core) にファイル更新検知機…

NLog で動的にログの出力状況を変更する

設定のオンオフで,ログを出力するかどうかを変えたり,出力先 (ファイルや TextBox など) を変更したい場合。たとえば NLog.config が以下のようなときに <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> </targets></nlog>

Rack::Auth::Digest::MD5 のつかいかた

Rack::Auth::Digest::MD5 は opaque を渡さないといけない((つうかそもそも opaque は optional なはずなのに Rack::Auth::Digest::MD5 では必須パラメータってのも変なんだけど。))ので素直に書けないと思いがちだけど,現在の Rack::Auth::Digest::MD5 は…

Ubuntu 12.04 (Precise) のインストールではまったこと

普通にインストールするぶんにははまらないけど個人的事情ではまった部分です。 つまり備忘録。 LVM を有効にしたインストール 基本路線は Ubuntu 8.04 を LVM 有効にしてインストールする - daily dayflower のとおり。ただし,dm-mod はインストールする必…

DataMapper でカスタムリレーション

DataMapper - Associations の「Customizing Associations」に書いてある。 User と Message というモデルがあり,Message には宛先が(複数)指定できる,とする。できるだけ規約ベースで書くと以下のようになる。 class User include DataMapper::Resource p…

Microsoft Word で LL 言語から差し込み文書作成

タイトルは釣り。 簡単な帳票 (Excel 系じゃなくて Word 系の文書) をプログラムから作成する必要がでてきたので調べた。テンプレートとなる文書にちょっとした変数の差し込みを行う必要があるケース。 ただし 旧来の Microsoft Office Document (OLE2) はサ…

winbind による Active Directory 認証 on Ubuntu 11.04

Ubuntu での winbind による Active Directory 認証は以前 winbind で Linux 認証 on Ubuntu - daily dayflower で書いたんだけど,だいぶ古くなったんで今の環境むけに。一応,対象 Natty だけど Maverick とかたぶん Lucid あたりまで適用できると思う。面…

Java で RSA 暗号を使う

まず OpenSSL コマンドで RSA 秘密鍵を生成する。 $ openssl genrsa -out private_key.pem 1024 Generating RSA private key, 1024 bit long modulus ........................++++++ ...++++++ e is 65537 (0x10001)末尾にビット数を指定している。OpenSSL …

KVM で PXE ブートしようとしたら難儀した

KVM の場合,virt-install コマンドに --pxe オプションをつければ PXE ブートさせることができる。Xen と違って完全仮想化だから。ばんざい。 # virt-install --name=hogehoge --accelerate --os-variant=rhel5.4 \ --ram=384 --vcpus=1 \ --file=hogehoge.…

Debian 6.0 Live イメージを PXE 経由でブート

さいきんの Debian は Live 起動用イメージも用意しているらしい。んで,Live 起動イメージはネットワークブート用のイメージも用意されている。たとえば,http://ftp.jaist.ac.jp/pub/Linux/Debian-CD/6.0.0-live/i386/net/ をみるといくつかの種類 (GNOME …

羽田空港から台北いってきた - 風景編

日本ともそう遠くは変わらない風景*1。 路地裏。表の顔と裏の顔の分離。奥のトラックはギリギリじゃないか。 芸術の街? 街の各地にオブジェとか結構あった。たぶん花博は関係ない。 市街地中心でもないのに,こんな巨大オブジェがそびえたってたりする。 事…

羽田空港から台北いってきた - 食事編

食事は全般的に日本人の舌に合ってると思う。ただ八角 (スターアニス) が苦手だとつらいかも。といっても小籠包は八角の香りはしないので大丈夫。 明月湯包 明月湯包[ミンユエタンパオ] | 台湾グルメ・レストラン-台北ナビ たぶん支店のほうに行ったのかな…

羽田空港から台北いってきた - ホテル編

http://www.rivierataipei.com/jp/index.asp オフィシャルサイト 「博覧会の会場に一番近いプティックホテル」とかつっこみどころ満載…… (ラブホじゃぜんぜんないのでご安心を) リビエラホテル(欧華酒店) | 台湾ホテル予約-台北ナビ 台北ナビ経由でも予約…

羽田空港から台北いってきた - 交通編

羽田空港 羽田は都心からそれなりに時間がかかる*1のでそんなに便利になったという気はしないけど,でも羽田から外国にいけるというのはなんだか不思議な感覚だった。たしかにもともと国際線ターミナルもおまけみたいにあったけどさ。 明るい雰囲気。成田ほ…

羽田空港から台北いってきた - 準備編

建設予定地

split はデフォルトで後続する空フィールドを削除する

昔々はまったことあるけど,久々に Perl 使ったらはまったので記念*1に。 sub show { print join q{, }, @_; print "\n"; } # デフォルトでは後続する空フィールドは削除される show split(/:/, 'a:b:c:::'); ### => a, b, c # 第3引数を正数で指定すると,…

Cacti に SNMP デバイスを追加したときのメモ

スマートスイッチ(NETGEAR GS724Tv3)を Cacti でモニタリングしたときの記録 SNMP 経由で監視するデバイス (ハブ) を追加する 「Create」メニューの「New Graphs」を選択する 右上にある「Create New Host」リンクをクリックする 適当に設定する 「Hostnam…

郵便番号データは自分で加工しない

結論を先に。 細かい要件がない場合,zipcloud さんの提供している加工済データを使う (日本郵便さんの提供している原本ではなく) ライセンスが不明だけど Web API の利用規約とかみると商用利用等も OK と思われる わりきって Web API を使う (よそにまかせ…

Compiz を Python からあやつる

タイトルは大袈裟。 ここ半年ほど Compiz のワークスペース切替器にキューブではなくデスクトップの壁(wall)を使っています。こっちのほうがキビキビ動くし。んでこの wall plugin ですが,システム起動直後だと,ワークスペース切替時に壁紙がスクロール…

電源連動 USB HDD の切断・再接続を CLI で

さいきんの外付けハードディスクは電源連動機能とかついてたりしますね。んで,たとえば REGZA とかにつなぐと,テレビの電源を on にしたときだけハードディスクの電源が on になったりします。同じようなことを Linux からもやってみたい。といっても PC …