momota.txt

hello, hello, hello, how low?

Google Apps Script でサーバレスな為替レート取得クローラをつくる

Google Apps Script (GAS) は、Google が提供する JavaScript プラットフォームで、Google apps (Calendar, Docs, Drive, Gmail, Sheets, and Slides) に対して処理する JavaScript を簡単に書ける。 Excel マクロのすごい版みたいな感覚。

このスクリプトからHTTP GETリクエストを出したり、受け付けたりできる。

今回は、この GAS を使って、無料の Web クローラをサーバレスでつくってみる。

Windows ログイン時に、Cドライブ以外のBitLockerを解除する

BitLocker は Windows 10 Professional/Enterprise に標準搭載されているディスク暗号化機能。 最近、会社 PC を Windows 10 にアップデートしたので使うようになった。

BitLocker は OS ログイン前に C ドライブの暗号化を解除しろ、とパスワード入力を求めてくる。 ただし、その後、OS ログインしても、C ドライブ以外 (たとえば、D ドライブ) は暗号化されたままとなっており、いちいち当該ドライブへアクセスしてパスワード入力して暗号化を解除する必要があった。 また、暗号化解除前に D ドライブ上のファイルへアクセスするとエラーが起きてしまい、大変うざったい。

そこで、OS ログイン時に自動的に C ドライブ以外のディスク暗号化解除するために PowerShell とバッチを書いてスタートアッププログラムに登録した話を書く。

セキュリティクラスタには怒られるのかもしれないが、OS に管理者権限ユーザでログインできている時点でもういろいろ見れて当たり前やろ、という思想。

全体の流れは以下。

  1. BitLocker 解除用の PowerShell を書く
  2. バッチファイル unlock-bitLocker.cmd を書く
  3. バッチファイル unlock-bitLocker.cmd をタスクスケジューラに登録する
  4. タスクを呼び出すバッチファイル trigger_unlock-bitLocker.cmd を書く
  5. バッチファイル unlock-bitLocker.cmd をスタートアッププログラムに登録してあげる

MySQL パフォーマンスチューニング

MySQL 5.7 のパフォーマンスチューニングについて、調べてたのでまとめる。

// 結構な文量になってしまった…

大きく、2つのアプローチがある。

  1. DBチューニング
    • システム変数 (my.cnf) のチューニング
    • 全体最適
  2. アプリ (SQL) チューニング
    • 個別最適

まあ、地道に、計測→問題点の特定→修正→計測… のサイクルを回すしかない。

Ansible ABC

チーム内での Ansible 勉強会の資料を公開。

ansible logo

公式サイトは以下。

前提知識としては、以下。知っていたほうが理解が早い。

公式から引用すると、Ansible は simple IT automation engine

Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.

—– How Ansible Works より

Ansible で MacBook Pro をセットアップ

MacBook Pro 2700/13.3 MF839J/A を購入したので (わーい) 、構成管理ツール ansible を使ってセットアップした。

macbook pro

t-wada さんのエントリ Mac の開発環境構築を自動化する (2015 年初旬編) – t-wadaのブログ変更する を見れば事足りると思われるので、本稿は自分用のメモ(t-wada さんのを少しだけカスタマイズ & 補足)。

実行環境は以下。

what version
laptop MacBook Pro (Retina 13-inch, Early 2015)
OS OS X El Capitan 10.11.6
ansible 2.1.1.0

ネットワークエンジニアのための cisco.vim

ネットワークエンジニアのみなさん、こんにちは。

ネットワークエンジニアのための junos.vim の cisco バージョンです。

cisco の configuration をカラーリングする vim プラグイン momota/cisco.vim を作ったのでご活用下さい。

対象は、cisco ルータと Catalyst スイッチ、Nexus スイッチです。

色を付けることによって、configuration の解釈を手助けしたり、 configuration 作成時のミスに気づきやすくしたりする効果が期待できます。 (誤ったタームを入力すると色が付かないので)

以下のようにカラーリングします。 (colorscheme は molokai)

before

display_before

after

display_after

ネットワークエンジニアのための junos.vim

ネットワークエンジニアのみなさん、こんにちは。

Juniper の configuration をカラーリングする vim プラグイン momota/junos.vim を作ったのでご活用下さい。

対象は、Juniper EX シリーズとSRX シリーズです。

色を付けることによって、junos configuration の解釈を手助けしたり、 configuration 作成時のミスに気づきやすくしたりする効果が期待できます。 (誤ったタームを入力すると色が付かないので)

以下のようにカラーリングします。 (colorscheme は molokai)

before

display_before

after

display_after

before: display set モード

display-set_before

after: display set モード

display-set_after

cisco 版はこちら ネットワークエンジニアのための cisco.vim

RuboCop でコーディングスタイルを矯正する

RuboCop Logo

textlintで日本語テキストの文字校正を試してみた とかで、lint 系の記事を目にしたので そろそろ導入してみるか、と思い立った。

RuboCop はRuby の静的コードアナライザ。 bbatsov/rubocop

The Ruby Style Guide に沿ったコーディングスタイルに矯正(注意)してくれる。 無駄なスペースが入力されている、とか、無駄な改行が入っている、とか、 この変数1度も使われてないよ?とかクラスの中の行数が多すぎる、とか、 1行の文字数が長すぎる、とか。

大人数で開発していると細かなコーディングスタイルを合わせるだけでも面倒なので こういうツールによって人間が矯正されると AI 時代に思いを馳せることができて良い感じですね。