Dockerのビルド時にGithubのプライベートリポジトリをcloneする

表題についてざっと調べると、

などの情報が出てくるのですが、そんな大げさな話じゃなく単にcloneがしたいだけなんです。
調べても意外と出てこなかったのでdocker buildの待ち時間に記事として残しておきます。
なお、記事のタイトルは非正確で、厳密にはプライベートリポジトリをnpm installする話です。

Continue Reading…

リモートのタグを一括削除するときは–deleteを使おうと思った話

この記事は12/19のGit Advent Calendarの記事です。

ひょんなことから、リモートのGitサーバにある4000個のタグを一括削除することになりました。

タグ消すときはgit push origin :タグ名でタグを消してたのですが、 4000個もあると丸一日待っても終わらないので、他に素早く消せる方法はないだろうか、 とコマンドを探していたら良いものを見つけた、という備忘録です。

※タグについて書きますがブランチにおいても同様です。

Continue Reading…

Selenium IDEで作ったテストをCLI環境で動かしてみる

この記事は12/21 クローラー/Webスクレイピングの記事です。

最近、自社システムのシナリオテストの実施方法周りの調査をやっているのですが、

  • GUIからテストコードの原型を作成できる
  • テストコードを編集してもGUIで編集できる可逆性が有る
  • CIのためにヘッドレスで実行できる
  • 環境構築が簡単

な手法を調べており、selenese-runnerというツールとSeleniumが提供しているSelenium Hubというツールを利用したらいいんじゃないか、という結論になりました。
この方法なら専門的な技能がなるべく少なくて済むんじゃないか。

と思っている方法を紹介します。

Continue Reading…

docker composeでMySQLのデータ領域をローカルにマウントする

この記事は12/1のDocker2 Advent Calendar, 12/3のHamee Advent Calendarの記事です。

こんにちは。
docker composeめちゃくちゃ便利ですよね。
Chef, Vagrant, Puppet, Ansible, Fabric…とプロビジョニングツールとか仮想化ツールを色々触ってきましたが、
それらよりずば抜けて扱いやすいと思っているツールです。

で、ローカルで開発している時に困るのが、 MySQLをはじめDBにデータを持ってもコンテナを破棄するとデータがすっ飛ぶ 問題です。
軽量なアプリの場合ならDB破棄してシード流して、、、という構成でもイケるかも知れませんが、多くの場合オーバーヘッドが大きすぎてまともに開発できなくなると思います。

Docker for Macを使用している場合はこの問題は難なく解消できるのですが、
docker-machineを使用している場合に恐らくドハマリするので、備忘録として残しておきます。

Continue Reading…

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

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

Continue Reading…

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

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

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

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

Continue Reading…

ActiveResourceでChatworkのAPIクライアントを作る際にハマったところと解決策

れこです。
久々にRubyの記事です。

仕事でよくChatworkを使用するので、いい加減オレオレAPIクライアントじゃなくてちゃんとしたのを作ろう
ということで、ActiveResourceを利用したAPIクライアントを作ってみました。

ActiveResourceは基本的にRuby on Railsで作られたアプリケーション用のAPIクライアントなのですが、汎用的に作られているのでChatworkのAPIにも対応できました。
ということで他のAPIにもActiveResourceを利用するために備忘録を残しておきます

Continue Reading…

aタグのdownload属性でサーバを介さずにファイルダウンロードする

この記事はHTML5 Advent calendarの16日目の記事です。

HTML5からaタグにdownloadという属性が指定可能になったようです。
この属性が指定されたaタグは、href属性の値をブラウザで開くのではなく、リンク先をファイルとしてダウンロードします。

今までcanvasで画像を生成した画像など、jsで生成したファイルをユーザに保存させるにはwindow.openにdata urlを渡して新窓で表示させ、ユーザに右クリ等で保存してもらう方法しか知らなかったのですが、
aタグのdownload属性がまさにやりたいことドンピシャだったので備忘録を残します。

Continue Reading…