【CSS】横幅が可変な要素を中央寄せにする

margin: 0 auto;で中央寄せするためには要素の幅を指定しないといけないので、横幅が可変な場合はこの方法では中央寄せにできません。

inline-blockを使えばできるみたいです。

<div class="pager_wrapper">
  <ul class="pager">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
  </ul>
</div>
.pager_wrapper {
  text-align: center;
}
.pager {
  display: inline-block;
}

中央寄せにしたい横幅が可変な要素を更にdivタグなどで囲い、外側の要素にtext-align: center;を指定します。

中央寄せにしたい要素は、display: inline-block;を指定します。

これで、親要素のtext-align: center;の影響を受けることになり、中央寄せになります。

【GoogleAnalyitcs】複数のトラッキングコードを一つのページに埋め込む

最新版のanalytics.jsであれば、複数のトラッキングコードを一つのページに埋め込むことができます。(ga.jsではできません)

ラッキングコードの定義

ga('create', 'UA-xxxxxxxx-1', 'auto');
ga('create', 'UA-xxxxxxxx-2', 'auto', {'name': 'sub'});

第4引数のハッシュにnameプロパティを渡すと、トラッキングコードに対して名前を設定することができます。

nameプロパティを渡さなかったトラッキングコードが、デフォルトでデータを送信する対象となります。

データの送信

pageviewを送ってみます。

ga('send', 'pageview');     // UA-xxxxxxxx-1にデータ送信
ga('sub.send', 'pageview'); // UA-xxxxxxxx-2にデータ送信

create時に設定した名前で、送信先を指定できます。

その他

  • 名前を指定してtrackerオブジェクトを取得
ga.getByName('sub');
  • すべてのtrackerオブジェクトを取得
ga.getAll()

AngularJSを初めて勉強する時にたどった道

最近、初めてAngularJSを使ったんですが、すごく便利でなぜ今までちゃんと触ってこなかったのかを後悔しています。

ただ、便利な面学習コストも高くて、なかなか使いこなすまでに時間がかかりそうです。

僕もまだ一部機能しか使えていませんが、これからAngularJSを勉強する人にオススメの記事などをメモ程度にまとめます。

公式サイト

http://angularjs.org/

英語が得意な人はここだけ見てればいいと思います。

f:id:w6500:20140220201746p:plain

どんなものなのかをとりあえず知りたい

アシアルさんの記事が概要を掴むのにわかりやすいと思います。

AngularJSに触れてみる その1 : アシアルブログ

あと、@naoya_itoさんのスライドで説明している「双方向バインディング」を見て、AngularJSすげー!ってなりました。

英語が苦手な人にオススメのチュートリアル

AngularJSのチュートリアルを、日本語で、しかもオシャレにまとめてくれていました。

AngularJS's tutorial - あなたとともにAngularJS

f:id:w6500:20140220202612p:plain

まとめ

ほとんど、有名な記事にお世話になりました。(ありがとうございますm(__)m)

概要をふんわりと掴む分には上で紹介したサイトで十分伝わると思います。

ただ、AngularJSには本当にたくさんの機能やお約束があるみたいなので、使いこなしたいとなったらやっぱり公式サイトのドキュメントを読み込むのが一番ですね。

EC2でping監視をする時はセキュリティグループで許可しましょうという話

EC2のインスタンスをzabbixで監視していると、なぜかping監視のところでアラートが挙がる。

なぜだなぜだーと悩んでいたら、セキュリティグループで許可しない限りpingも到達しないからでした。

セキュリティグループの設定

  • Custom ICMP ruleを選択

  • TypeはEcho Request

  • 接続元を指定

f:id:w6500:20140207000649p:plain

この設定をすることで、pingが通るようになります。

サーバにhtpasswdだけインストールしたい

NginxだけでWebサーバを構築したけど、Basic認証はかけたいからhtpasswd使いたい!でもApacheはインストールしたくない!って時の方法です。

$ yum install httpd-tools

htpasswdはhttpd-toolsというパッケージに分けられているみたいなので、これをインストールすれば、apacheをインストールせずともhtpasswdが使えるようになります。

apache2.4からアクセス制限の書き方が変わってた

apacheがこんなエラーを吐いてくるので、なんだろうなーと思っていたらアクセス制限の書き方が2.4から変わってました。

client denied by server configuration・・・

今までのこれが

<Directory "/hoge">
    Order allow,deny
    Allow from all
</Directory>

<Directory "/fuga">
    Order deny,allow
    Deny from all
</Directory>

こんな感じになります。

<Directory "/hoge">
    Require all granted
</Directory>

<Directory "/fuga">
    Require all denied
</Directory>

これで、エラーが解消されます。

参考

2.4のアップグレード内容は下記のURLにまとまっています。

http://httpd.apache.org/docs/2.4/upgrading.html

fluent-agent-liteのrpmを作成する

全部READMEに書いてあることなんですが、自分用にまとめます。

https://github.com/tagomoris/fluent-agent-lite

rpm-buildのインストール

rpmを作成するためにはrpm-buildが必要なので、インストールします。

$ yum install rpm-build

インストールすると、/root以下にrpmbuildというディレクトリが作成されます。

rpmbuild
├── BUILD
├── BUILDROOT
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS

fluent-agent-liteをダウンロード

fluent-agent-liteを一度ダウンロードします。

tarballを作成する

fluent-agent-liteのrootディレクトリで下記のコマンドを実行すると、tmp/archive/fluent-agent-lite-{version}.tar.gzが作成されます。

$ make -f Makefile.package

ファイルをrpmbuildのディレクトリに移動する

rpmに必要なファイルをrpmbuildのディレクトリに移動します。

$ cp tmp/archive/fluent-agent-lite-1.0.tar.gz /root/rpmbuild/SOURCES/
$ cp package/fluent-agent-lite.conf /root/rpmbuild/SOURCES/
$ cp SPECS/fluent-agent-lite.spec /root/rpmbuild/SPECS/

rpmbuildを実行

$ rpmbuild -ba SPECS/fluent-agent-lite.spec 

完了すると、rpmファイルが出来上がります

$ RPMS/x86_64/fluent-agent-lite-1.0-original.x86_64.rpm 

インストール

後は、出来上がったrpmからインストールするだけです。

$ rpm -ivh fluent-agent-lite-1.0-original.x86_64.rpm