Docker(compose)使い始めてから.env系のライブラリを使わなくなってた

こんにちは。
一時期はAnsibleにお熱でしたが、最近はDocker(-compose)にお熱です。
※それぞれ全く別のツールですが、”開発環境を作る”という視点で見れば手段は違えど目的は同じだと思ってます。

Dockerを利用するようになり、環境変数の注入が簡単になったので気づけば.env系のライブラリ要らなくなっているなあと気づきました。
どんな風に、と言われてもドキュメントの通り使ったらそうなる、としか言い様が無いのですが、
一応備忘録として残しておこうと思います。

Continue Reading…

ユーザーの声を集める要望フォーラムを作って1年半が経った

こんにちは。たまには実務的なネタもありかなと思っています。
仕事の方で、タイトル通りのサービスを企画-運用まで全部やってみて1年半くらいが経ちました。

結果的に、一部機能は残したまま畳んだも同然の状態まで規模を縮小することになりました。
いっときは良いものが作れた、これで会社がよくなると思っていたワクワク感が、もうメンテナンスする手間もかからないほどに廃れ、社外でも社内でも使われないものになってしまった。

そんな失敗談を残しておこうと思います。
※会社としての公式な見解ではなく、作った中の人から見た主観と偏見で語ります。

Continue Reading…

Drupal7で指定したユーザが管理者ロールか否かを判断したいときはvariable_getを使いましょう

WEB EGGではじめてのDrupalネタです。
Drupalを触っててふと気になったのが、 指定したユーザが管理者ロールか否か を判定しようとしたものの、
調べてもベストプラクティスが見つからず、ソースコードを追ったらやっと正解を見つけたという話の備忘録です。

Continue Reading…

PHPのclearstatcacheのベンチマークを取ってみた。むしろ遅かった。

こんにちは。今回はPHPネタです。

PHPにはclearstatcacheという関数があります。

PHPはパフォーマンス向上のために それらの関数の戻り値をキャッシュします。しかし、ケースによっては、 キャッシュされた情報を消去したい場合もあるでしょう。 例えば、一つのスクリプト上で同じファイルが何度もチェックされ、 そのファイルが変更されたり削除されたりする可能性がある場合、 ステータスキャッシュを消去しなければならないと感じるでしょう。 このようなケースでは、clearstatcache()を使用することで ファイルの情報に関してPHPが持っているキャッシュをクリアすることができます。
PHP: clearstatcache – Manual

この機能はドキュメント見る限り割と古くから導入されてるそうですが、PHP5.1でバグってました。
それは後述するとして、 このバグを引き換えに得られる性能 はどんなもんなのさ?を計測してみました。

Continue Reading…

Makefile初めて触った。めっちゃ簡単だった

こんにちは。れこです。
makeというコマンド自体は何らかをインストールするときとかにたまに触るのですが、
自前でMakefileとやらを作ったことは今まで一度もなかった。

そんな私のはじめては「ISUCON 2016のGoの参考実装で使われていたので、触らざるを得なかった」という出会いでした。笑

「うわっmakeコマンド叩くやつだ」 とわけの分からない気構えをしていたのですが、
いざ触ってみたら学習コストほぼゼロで見やすくて使いやすいというとてもいいツールだったので簡単に紹介と備忘録を。

Continue Reading…

Railsでconfig/database.ymlを使わずURL文字列でDB接続したい

れこです。今回はRailsネタです。
作ったアプリをHerokuにデプロイするときに、各種アドオンで

のような文字列を環境変数で指定して使うというパターンが有ると思うのですが、
config/database.ymlに一切触らず に、この文字列でDB接続したい…

と思ったのでRailsのソースやドキュメントを読み漁ってみました。

Continue Reading…

RubygemsへのデプロイをCircleCIで自動化してみた

スクリーンショット 2016-09-25 4.25.59

ActiveResourceでChatworkのAPIを叩くgemを作ってみました。
これが初めて作ったgemなのですが、手で運用すると色々忘れそうな感じがした。

ライブラリのメンテはただでさえ手がかかるので、パッケージ管理サービスへのデプロイくらい手を抜きたい。
ということで、GithubのmasterブランチにpushされたらCircleCIを使って自動でgemをデプロイする設定をしてみました。

Continue Reading…