そんな今日この頃の技術ネタ

本家側に書くほどでもない小ネタ用

突然Dockerコンテナ内からネットワークに繋がらなくなったらiptablesを疑ってみよう

ちょっと前まで問題なく使えていたはずのイメージが、 ある日起動してみたらどうもネットワークに接続できない。

イメージは当然作成時と同じものだし、Dockerまわりの設定は変えてない、 ネットワークも別に阻害するような設定はしてないはずなのに・・・

結論からいえば、 ホスト側のiptablesを別件でも再起動するとDockerのデーモン起動時に設定した項目がリセットされてしまうことが原因だった。

僕は前職でこの件でかなりの時間を無駄にした経験があったのですぐに気づけたけど、 案外こういう話って記事で見かけなくて「これからDockerはじめてみよう」勢に把握されてなさそうなのでメモ的に書いてみた。

続きを読む

Ubuntuで/boot以下がいっぱいでapt-get upgradeできない時の対処メモ

ひとまずapt-get autoremoveする。

$ sudo apt-get autoremove


導入済みのlinux-imageの一覧を参照。

$ sudo dpkg --get-selections | grep linux-image

一般には新しい方から2~3バージョンあれば良いので、古い方からapt-get removeしていく。

$ sudo apt-get remove linux-image-4.2.0-16-generic  linux-image-4.4.0-38-generic

Chrome拡張機能を作ってみる その2. UIを作成する、設定を保存する

前回に引き続きChrome拡張機能を作ってみる話。

blue1st-tech.hateblo.jp

今回はHTMLでUIを構成したり、設定を保存したりしてみる。

「ページのタイトルとURLを事前に指定したフォーマットでクリップボードに保存する」というお題で作ってみた。

github.com


今回は以下のファイルで構成している。

  • 定義ファイルmanifest.json
  • 設定画面options.htmlとそこから呼ぶoptions.js
  • ポップアップ画面popup.htmlとそこから呼ぶpopup.js
  • 共通で使用するsetting.js
  • icon.png
続きを読む

Chrome拡張機能を作ってみる その1. HTMLを改変する

ざっくりChrome拡張機能(Chrome Extension)の作り方を学んでみた。

学ぶにも相応にモチベーションは必要ということで、 ある程度実用的かつ拡張機能らしさがある例題として「ログインページのパスワードフォームの文字列を平文で表示する」機能を作成してみることにした。

具体的には閲覧しているページのHTMLの<input type="password">要素を<input type="text">に置換すれば良い。

この動作を拡張機能で実装してみる。



拡張機能の作成の概要

拡張機能は大雑把には、以下の要素により作成できる。

  • 名称やアイコン、後述する実態ファイルの構成なんかを定義するmanifest.json
  • 機能の実体となるJavascript
  • UIを構成するHTMLとそれに付随するCSS、Javascript

今回の機能では以下のファイルを作成した。

  • manifest.json
  • constantscript.js
  • background.js
  • icon.png

github.com

続きを読む

Google Compute Engineを使ってみる

職場が変わると色々見えてくるものが変わるもんで、 2016年も末となって今更ながらにクラウドのサービスの凄み有り難みを体感している今日この頃。

そろそろサーバサイドエンジニアの職能として、 インフラエンジニアが用意してくれる箱をいじるだけでなく、 自身でもどういうものなのかある程度は把握する必要があるなと思うところ。

そんなサービスの一つが、Googleのインフラ上で仮想マシンを立てるIaaSであるところのGoogle Compute Engine。

幸いにして$300分のクレジットで2ヶ月間体験できるとのことなので、試しに使い始めてみるところまでやってみた。

続きを読む

Airbnb版Redash(?)なSupersetをひとまずDockerで立ち上げてみる

Web上でSQLを記述・保存できて気軽にデータの可視化できるスグレモノRedash。

blue1st-tech.hateblo.jp

Redashはシンプルながらも十分な機能があるのだが、 一方で使い込んでくるともう少しグラフに表現力があれば・・・とか、 ダッシュボードの配置がもっと柔軟なら・・・とか思ったりする場面もある。

そこで代替になりそうなのがAirbnb版RedashとでもいうべきSuperset。

github.com

(以前のまだ「Caravel」という名前だった頃から試してみようとは思いつつ時間を取れないでいたら、 いつの間にか名前が変わってた。)

今回はひとまずDockerで導入を行ってみた。

続きを読む

もうちょっと真面目にInfluxDBの使い方を調べてみる

以前にデータを可視化する手段の一つとしてInfluxDB+Grafanaについて調べていたけれど、 その時は導入してデータ投入して動いた段階で満足してしまっていた。

blue1st-tech.hateblo.jp

そうこうしている間にバージョンは1.0を回り、ちょうど使いたい案件もあったので、 改めてもう少し真面目に使い方を調べてみた。


そもそも時系列データベースなるものは何ものなのか

もちろん時系列データが扱いやすいらしいことは名前から明らかだけど、 具体的にどう便利なのかという部分を正直なところ理解していなかった。

どこまで時系列データベース一般の話かは分からないが、 InfluxDBを実際に使ってみて「ああなるほど、こりゃ便利だ」と思ったのが

  • スキーマレスなので要素の増減に柔軟に対応できる
  • 時系で変化するデータを集計するのに便利な機能が揃っている
  • 古いデータを自動で削除して容量を削減できる
  • 時間ごとの処理を定義できる

あたりだろうか。

続きを読む