weblog of key_amb

主にIT関連の技術メモ

Rundeck によるバッチ実行サーバの冗長化について考えてみた、試してみた #Rundeck

ここ数日ジョブスケジューラ熱が高まっていますが、少し前に下の記事で知った Rundeck も気になっていました。 Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう - インフラエンジニアway - Powered by HEARTBEATS Rundeck の仕組みと冗長化…

cron の冗長化法について調べてみた #cron

Apache Mesos はすごいプロダクトだと思うのですが、単にジョブスケジューラを冗長化するという用途に対しては、やや牛刀な感があるツールだと言えるでしょう。 一方で、バッチサーバの冗長化というのは、割と見過ごされがちなポイントではあると思います。 …

第1回 Apache Mesos 勉強会に行ってきた。 #mesos

第1回 Apache Mesos 勉強会に行ってきました。 第1回 Apache Mesos勉強会 - connpass Mesos が何かを一口に言うのは難しいですが、サーバを束ねてクラスタとして扱い、そのクラスタ上で色んなアプリケーションをジョブとして実行させるもの、というような認…

(メモ) メモリリークの調査方法まとめ

とりあえず参考になりそうな記事のリンクを貼っておきます。 ゆくゆくは加筆してツールや使い方をまとめるかもしれません。 [OS] メモリリークの調査方法 - th0x4c 備忘録 valgrind でメモリリリークを調べる - sonots:blog 恐怖の JVM 大量メモリ消費!メモ…

(メモ) Nginx のアクセス制御と context の話 #nginx

Nginx 1.4 系を使っています。 Nginx で特定 IP のアクセスのみ許可する場合、次のような設定を書きます。 http { satisfy any; allow xxx.xxx.xxx.xxx; # 許可アドレス deny all; } ここで、許可アドレス以外は Basic 認証を入れたい場合、次のようにすれば…

(メモ) AWS VPC 設定の自動化について考えてみた。 #aws #ansible

AWS を使う多くの案件の構築に携わり VPC 周りの設定をしていると、いつも同じようなことをやっていることに気づきました。 VPC を作って、Subnet を作って、Routing Table を設定して、Security Group 作って、…。 だいたい、環境構築時の最初の1回しかやら…

AWS Managed Policies の現状と課題 #aws

AWS

2/16 に公式ブログ - Amazon Web Services ブログ: 【新機能】マネージドポリシー for AWS Identity & Access Management で発表された AWS IAM の新しい Policy 管理機能である、Managed Policies を試してみました。 機能の概要を以下にかんたんにまとめて…

正規表現の一部にオプションを適用する

正規表現で大文字小文字を無視したい場合、/<pattern>/i のように指定することが多いと思います。 Perl なら次のような雰囲気です。 my $text = 'HogeHoge'; if ($text =~ /hoge/i) { : } が、時と場合によっては正規表現の一部で大文字小文字を無視したいようなこと</pattern>…

第8回 Elasticsearch 勉強会に行ってきた #elasticsearch #elasticsearchjp

2/13(金)に開催された第8回 Elasticsearch 勉強会に行ってきました。 第8回elasticsearch勉強会 #elasticsearch #elasticsearchjp - elasticsearch勉強会 | Doorkeeper 以下、内容のメモです。 1. Elasticsearch導入チェックリスト / @johtani Elasticsearch…

書評 - 『Webエンジニアが知っておきたいインフラの基本』を読んで

株式会社ハートビーツの CTO 馬場俊彰さんが書かれた『Webエンジニアが知っておきたいインフラの基本』を読みました。 Amazon.co.jp: Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~: 馬場 俊彰: 本 昨年…

Firefox でツールバーのカスタマイズが保存されない

しばらく前から、Firefox のツールバーをカスタマイズして「お気に入り」等のアイコンを入れても、再起動時に失われるという事象に悩まされていました。 ちょっと調べたところ、下記公式ページに対処方法が載ってました。 ツールバーとウィンドウサイズが保…

ShipIt を使って Perl モジュールのリリース作業を自動化する

ShipIt は Perl プロダクトのビルド、テスト、リリースを自動化してくれるツールで、CPAN へのアップロードもできます。 今回は以下の作業を半自動化するために、ShipIt を利用しました。 モジュール群の VERSION インクリメント ChangeLog の更新 リリース…

Git Tag を使って GitHub にリリースする

やってみると意外と簡単でした。 タグを作って GitHub に push すれば自動的に Release が作られます。 タグを作る git tag -a 0.01 -m "release 0.01" [commit hash] 末尾にコミットハッシュを付けることで特定の時点のタグを、後から遡って付けることもで…

(メモ) DigitalOcean の "Scrub Data" オプションについて

Droplet を削除するときに "Scrub Data" というオプションがあって、デフォルト Yes だったのでそのまま削除したのだけど、なんだろう?と思ったのでちょっと調べてみた。 https://www.digitalocean.com/community/questions/scrub-data-destroying-droplet …

DigitalOcean で dokku を動かす

dokku は Docker をベースにした、Heroku のような環境をかんたんに実現するためのソフトウェアとのこと。 DigitalOcean は、1時間あたり1円から使える安価なクラウド IaaS です。 DigitalOcean には dokku インストール済みの Image があるので、かんたんに…

git commit 時の author 情報を一時的に or 特定のリポジトリで変える

Git

いままでずっと alias oreno-commit='git commit --author="アカウント <メアド>"' みたいな alias 作ってやってたのだけど、下記でもいいことに最近気がついた。 export GIT_AUTHOR_NAME=アカウント export GIT_AUTHOR_EMAIL=メアド 上を自分のスニペットに…

(メモ) Perl の文字コード変換について

EUC-JP => UTF-8 な変換をしたくて、Encode.pm を使ったら化けたのだけど、Unicode::Japanese にしたら上手く行った。 use Unicode::Japanese; print Unicode::Japanese->new($content, 'euc-jp')->get; 参考 Unicode-Japanese-0.49 - Convert encoding of j…

(メモ) NoSQL じゃなくて RDB を使う理由

今のところ ぶいてく: KVS上でアプリを動作させるために必要なたった2つのこと とほぼ同意見です。 トランザクションを使う必要がある 単一の主キー以外で検索したい この2つが主要な理由だと思います。 NoSQL になくて RDB にある機能としては、他にもテー…

(メモ) AWS DynamoDB のトランザクション・インデックスについて

トランザクション、セカンダリインデックスに着目して機能と制約をまとめています。 Web上の記事を調べたものなので、正確な情報は一次情報を当たって下さい。 トランザクション機能はない 擬似的にトランザクションを実現する Java のライブラリはある RANG…

(メモ) BigTable のトランザクション・インデックスについて

トランザクション、セカンダリインデックスに着目して、機能と制約をまとめています。 Web上の記事を調べたものなので、正確な情報は一次情報を当たって下さい。 トランザクションを使いたいデータセットは、同一のエンティティグループに属させなければなら…

(メモ) ElastiCache Memcached の使い勝手調査

ちょっと前に AWS ElastiCache Redis のイケてないところ ※2014/12/21 時点 - weblog of key_amb というエントリを書いたのですが、ElastiCache Memcached の使い勝手はどんなものだろう、ととりあえずドキュメントを読んだり、ぐぐって参考記事を眺めたりし…

(メモ) Slim ことはじめ

Slim を触り始めたので Getting Started 的なことを書いておく。 文法 本家サイトを見るのが一番いいと思うが、英語つらいとかいう場合のためにその他参考サイトを載せておく。 File: README — Documentation for slim (3.0.0) Slimテンプレートエンジンを使…

Middleman, Slim, Sass を使って AngularJS のチュートリアルをやってみた

AngularJS のチュートリアルとして、すぐできる AngularJS を写経しました。 ただコピーするだけでは面白くないのと、最近のフロントエンド開発のツールをついでに触ってみたかったので、Middleman, Slim, Sass を使って書き直しました。 本当は途中まで Cof…

(メモ) CoffeeScript ことはじめ

Sass の記事とほぼ同じような内容ですが、CoffeeScript を触り始めたので、Getting Started 的なことを書いておきます。 CoffeeScript <=> JavaScript の変換は Js2coffee: convert JavaScript code to CoffeeScript で行うことができます。

(メモ) Slim と AngularJS を同時に使う場合のエラー回避

SlimでAngularJSを扱ってエラーが出たときの対処法 - 大学生からはじめるWeb開発 を先に見て気になっていたのですが、試していたところ、やっぱりエラーになってしまいました。 エラーになったのは {{ }} によるデータバインディングです。 参考サイトでは3…

Vim で CoffeeScript を編集しやすくする

Slim のときとほぼ一緒ですが、CoffeeScript を Vim で編集するための初期設定です。 自分の dotfiles は GitHub - progrhyme/dotfiles: my dotfiles に置いてます。 シンタックスハイライト GitHub - kchmck/vim-coffee-script: CoffeeScript support for v…

(メモ) Sass ことはじめ

CSS

Sass を触りはじめたので、Getting Started 的なことを書いておく。 Sass to CSS Sass のコードが CSS にどのように変換されるか確かめたいときは、下記のサイトを使えばよい。 SassMeister | The Sass Playground! Sass のコードを貼り付けると、CSS への変…

Vim で Slim を編集しやすくする

シンタックスハイライト 参考: Vim で slim のシンタックスハイライトを行う - C++でゲームプログラミング 下のプラグインを入れればよさそう。 slim-template/vim-slim · GitHub .vimrc に下を書いて、:NeoBundleInstall で。 NeoBundle "slim-template/vim…

(メモ) Bower こと始め

AngularJS 使ってみようとしたら、Bower でインストールするやり方が載ってたので、「なんじゃそれ?」と思いながら Bower をインストールしてみました。 Bower は npm (Node.js のパッケージマネージャ)でインストールできます。 npm install -g bower で、…

(メモ) Slim の出力結果を見やすくする

Middleman で Slim を使ってみたのですが、デフォルトだと HTML が minify されるのか、1行に出力されてしまいました。 プロダクション環境はそれでいいかもしれませんが、開発時はつらいので、とりあえず参考サイトからコピペした以下のオプションを Middle…