読者です 読者をやめる 読者になる 読者になる

iPad Pro9.7インチとApple PencilとTwelve Southのスタンドを買った

iPad Pro9.7インチ今日出ましたね!ということで、経済貢献の一環として購入いたしました。 iPad Proで動画モニタリング AmebaFRESHという動画サービスを作っているので常時鑑賞するモニタが欲しかったのですが、Thunderboltはメインディスプレイ、BENQの安…

エンジニア10年選手になりましたが、過去の実績を重視するのはやめませんか?

※たいした記事じゃないので、読み流して良いです この春でエンジニアとしては10年選手になります。キャリアとしては最初の3年ちょいがしがないSIerで、リーマン・ショックから3年くらいはフリーランスで、Web系の現職(3年半経過でキャリア最長となった)で…

Alpine Linux Meetupを開催します(トニーモリス枠あり)

来る4/14(木)に、21cafeにおいてAlpine Linux Meetup #1を開催します。 alpine-linux-meetup.connpass.com DockerのベースイメージがどんどんAlpineがデファクトになりつつなる中、今こそAlpine Linuxについてちゃんと知っておこうというのが主な宗旨です…

Amazon ECSでHAProxyのDockerコンテナを各Taskに配置するのがなかなか良い件

どうも、コンテナ芸人です。久しぶり?にAmazon ECSを使ったネタをお届けします。 今のプロジェクトではDBにMySQLを利用していますが、コスト低減のためにMaster(Multi-AZ)だけRDSでSlaveはEC2で構築しています。で、SlaveにはELB経由で参照していましたが、…

Reeder3でインプット整理し始めたらなかなか良かった件

最近RSSリーダーとしてReeder3を利用しています。 Reeder 3Silvio Rizziニュース¥600 Reeder3はMac、iOS両方に対応されたRSSリーダーです。 どんなアプリ UI見れば一目瞭然ですが、こんな感じです。これはReeder3 for MacのUIはこんな感じ。メーラーみたいで…

【書評】サーバ/インフラエンジニア養成読本 DevOps編

Kaizen Platform社の@glidenoteさんから、「サーバ/インフラエンジニア養成読本 DevOps編」をご恵贈頂きました! www.amazon.co.jp この本の表紙なんですが、CircleCI がCircle CIになっているとTwitterで喚き散らしていたところ、「CircleCIによる継続的イ…

Alpine Linux入門 -内部構造とapkでパッケージインストール編-

さて、前回のエントリはAlpine Linuxの環境を作ってみる話でした。 stormcat.hatenablog.com 今回は実際にAlpine Linuxの中身を探索していったり、apkでのパッケージインストール等をやってみます。 前回使った仮想環境をそのまま利用します。前回の環境構築…

Alpine Linux入門 -環境構築編-

今、Docker界隈ではAlpine Linuxへの注目が急速に高まってきています。 Alpine Linuxは非常に軽量なディストリビューションであり、軽量なDockerイメージを作るために必要不可欠な要素になりつつあります。Alpine Linuxの有用性については、この間行われたJA…

運用的関心事を実験的にAWS Lambda on VPCにお任せしてみたので所感

リリースした時はきれいだったコードも、運用に曝されることで汚くなっていったりしますよね。 ChatOpsな今のプロジェクトでは、「とあるイベントが発生した際に、運用担当者が迅速に反応できるようSlackに通知してほしい」という要望が出てきたりしています…

JAWS-UGコンテナ支部#4で喋ってきました #jawsug_ct

弊社のセミナールームで行われましたJAWS-UGコンテナ支部 #4で喋ってきました。 jawsug-container.connpass.com 今回は「Dockerイメージは軽ければ軽いほど価値がある!」ということでDockerの減量について特化して喋りました。発表スライドは以下をご覧くだ…

2016年の展望とかアレコレ

いよいよサービスのローンチが近いので新年感は無いですが、今年の展望やらなにやらを書いておきます。 キャリアチェンジ サーバサイド飽きたのでフロントエンドに本腰入れて進出します。今年中盤くらいでキャリアチェンジしたい。弊社、フロントエンドやネ…

大規模な組織で新しいツールを導入するのにはかなりエネルギーがいる話 - CircleCI編 -

この記事はCircleCI Advent Calendar 2015 の25日目の記事です。ちょっと遅れました。 前回は@toyo_takasingの「CircleCIを活用した歌詞添削運用フローの自動化」でした。 takasing104.hateblo.jp さて、ノリで作ったCircleCI Advent Calendarですが最終日を…

Amazon EC2 Container Service(ECS)と戯れた1年とコンテナ芸人の来年について

この記事はContainer with AWS Advent Calendar 2015の21日目の記事です。 昨日はpottavaさんの「AWSで docker-swarmクラスタを立ち上げようとして失敗した話」でした。 qiita.com Amazon EC2 Container Service (ECS)と戯れた1年 今年はproductionにDocker…

CircleCIで変更があった箇所だけに限定してビルドするテクニック

この記事は CircleCI Advent Calendar 2015 - Qiita の10日目の記事です。 前回はpokrkamiさんによる「circle.ymlの書き方」でした。 pokrkami.hatenablog.com 今日はCircleCIで変更があった箇所だけに限定してビルドするテクニックについて書きます。 時間…

WebアプリをDocker構成にした場合にフロントエンドリソースを扱うためのデザインパターン

この記事はCyberAgent エンジニア Advent Calendar 2015の7日目の記事です。 www.adventar.org 6日目はkaelaelaさんの「なぜデザイナーとエンジニアは分業するのか」でした。 弊社のAdvent Calendarは2年連続の参戦です。思えば昨年も12月2週の月曜だった気…

2015年、今年買って良かったものをまとめてみた

年末はAdvent Calendarやら何やらで忙しいですが、今年も買って良かったものを振り返ってみなければなりません。 ちなみに昨年はこちら。 stormcat.hatenablog.com 昨年はお茶プレッソを激推ししたわけですが、未だに重宝していてコレが無い生活はちょっと考…

CircleCIのキャッシュ(cache_directories)の挙動を解説するよ

この記事は CircleCI Advent Calendar 2015 - Qiita の3日目の記事です。 2日目はtakusさんによる「AWS CodeDeploy と CircleCI で Docker コンテナを自動デプロイ」でした。 CircleCI Advent Calendar 2015 の 2 日目を書きました。 / “AWS CodeDeploy と C…

CircleCIでサクッとビルドチェーンを実現する

この記事は CircleCI Advent Calendar 2015 - Qiita の1日目の記事です。 2日目はtakusさんです というわけでCircleCIのAdvent Calendarの一発目です。一応複数記事書いて出来る限り埋めたいと思ってるので、小ネタ戦略でいきます。今回やりたいことは以下の…

JAWS-UGコンテナ支部 #3 で喋ってきた #jawsug #jawsug_ct

みなさま、秋のGIシーズンいかがお過ごしてでしょうか。 ところで今作ってるサービスとAmazon ECSについて JAWS-UGコンテナ支部 #3 について喋ってきましたよ(^ω^) jawsug-container.connpass.com 発表スライドはこちら。40分で喋られることって結構限ら…

CircleCI Advent Calendar 2015を勝手に開催します

Qiita Advent Calendar 2015に、勢いでCircleCI Advent Calendar 2015作りました。 qiita.com 完全に軽いノリだったので、数人集まればよいかなーと思っていたら意外にも既に2桁の登録がありました。みんな大好きCircleCI! しかもCircleCIの中の人も寄稿し…

フリーランスを辞めて3年たったのでとりあえず所感

2015年も早10月になりました。業務充実しすぎてしばらくブログ書けてなかったゴミです。すいません。 思えばフリーランスから足を洗い、道玄坂の緑の会社に入社してちょうと3年ということになります。ちょうど29のときでした。 stormcat.hatenablog.com まー…

UbuntuでUpstartを使ってECS Agentをサービス化する

さて、先日Docker1.8がリリースされました。なんといっても目玉はLogging DriverのFluentd対応ですが、ウチのプロジェクトでもこれの対応を見越して早速Docker1.8にバージョンをあげています。 Docker1.8で何が変わるかは以下のエントリを抑えておくとよいで…

Go1.5リリース直前、CircleCIでビルドする準備を整えた

まもなくリリースされるはずのGo1.5に備え、とりあえずみんな大好きCircleCIでGo1.5を使ってビルドができるよう準備してみました。 予備知識 とりあえず予備知識は以下の通りです。 Go1.5をビルドするために、Go1.4が必要 GOROOT_BOOTSTRAP という環境変数が…

クラウド(AWS)、Docker時代のサーバサイドエンジニアに素早く脱皮するための資料まとめ

チームに新しいメンバーが入ってきていて、クラウドやDockerが初めてなメンバーも結構いるので抑えておくべき書籍とかWeb文献をまとめなきゃなーと思ってたんですが、社内でドキュメントに残すよりもブログに書いたほうが良い気がしたのでブログに書きます。…

EC2 Container Service(ECS)を管理して、Blue-Green Deploymentを実現するツールを書いた

最近は暑いのでめっきり外に出なくなりましたが、相変わらずDevOpsのOpsばっかりやっています。 さて、今やってるプロジェクトではAmazon EC2 Container Service(ECS)で完全にDockerベースでの開発をしています。本番運用を見越したオペレーションの作り込み…

Jenkinsと完全にサヨナラして、CircleCIに移行した話

長らくCIはJenkinsを利用して開発をしてきて、Hudson時代からご愛顧してきたのですが、この春から新しくスタートしたプロジェクトではJenkinsを利用しないという決断をしました。 Jenkinsとサヨナラした理由 複数プロジェクトで共有して利用するのがツライ …

J2SE環境でDependency Injection(CDI)するWeld

非J2EE系のスタンドアロンアプリケーションで、J2EEのCDI仕様のDIしたいときはWeldを使うと良さそう。 Weldgithub.com リリース一覧見てみると、3.0.0Alpha系であればCDI2.0をサポートしてる模様。 SprintBootは便利だけど、ちょっとそこまで大きめなものを…

DockerイメージとGitのブランチ戦略

今のプロジェクトではDockerを本格投入し始めましたが、ブランチの運用もちゃんと考えないといけないなーと思って考えた次第。 リポジトリ モノリシックに色々な責務を持つリポジトリではなくて、1リポジトリ=1Dockerfileにするのが良いと思う。CIも無駄なく…

エンジニアがやりたいことと、求められることは大抵一致しない件

器用貧乏エンジニアですこんばんは。 自分はサーバサイドエンジニアですが、近い将来完全な職種チェンジ(というか領域チェンジ)を考えています。ここで言う職種は例えば以下のようなものを指します。 サーバサイドエンジニア フロントエンドエンジニア(フ…

docker-composeの設定をECS形式に変換するツール

Dockerコンテナの集合を定義するdocker-composeってやつがありますが、EC2 Container Service(ECS)ではコンテナの集合をTask Definitionという概念があってdocker-composeの定義をそのまま使うことはできません。 Task DefinitionsはJSONで定義するんですけ…

第3回 かわいいKotlin勉強会に参加してきた #jkug

ドリコムさんで開催された「かわいいKotlin勉強会」に参加してきました。 第3回 かわいいKotlin勉強会 #jkugkotlin.doorkeeper.jp 基本的なAndroidにおいてのKotlinに期待してる人が多いので、Androidクラスタの方が多数でした。ちょっと時系列でさらっと振…

勉強会情報をすぐにキャッチアップして反応するためのライフハック

人気の勉強会とかすぐに埋まってしまいますよね。最近は抽選とかもあったりするので、多少反応が遅くてもなんとかなったりしますが、やはり早くキャッチアップしたいものです。 メール通知も有効ですが、それだけでは瞬発力に欠けるので自分はTwitterを有効…

Goを習得するために乗り越えるべき精神的障壁

Go

長らくScalaをプライマリ言語としてきたプログラマですが、今のプロジェクトではGoをやっています。 最近ゴリゴリと書き始めて感じてることは、Goを習得する上では技術的なことよりも精神的障壁を乗り越えることが先だということです。 そもそも目的も言語仕…

サクッとベンチマークテストするためにGo製のboomを使う

ベンチ職人の皆様こんばんは サクッとHTTPのベンチマーク取るための定番といえばApache Bench(通称ab)ですが、最近はGoで書かれたboomってやつをよく使ってます。 rakyll/boomgithub.com インストール もちろんGoがインストールされてることが前提。go get…

Terraformを割と安全に使う方法

インフラの構成管理という意味で今のプロジェクトではTerraformを使ってます。 hashicorp/terraformgithub.com 非常に便利ですが、まだまだ全然枯れてないので若干猛獣使いな感じです。というわけで現時点で「割りと安全に」Terraformを使う方法を簡単に紹介…

風邪をひかない技術

21世紀に入ってからまだ一度も風邪をひいてないマンです。そもそも風邪の感覚すら忘れている。 バカは風邪をひかない論に該当してるかもしれませんが、風邪=人生における損だと思っているのでそれなりに対策してます。 手洗い まあ基本ですよね。ハンドソー…

Private Docker Registryを冗長化するためのDockerイメージ

前回、Private Docker Registryを立てる話を書きましたが、冗長構成じゃなかったのでしてみたって話。 Amazon EC2 Container Service(ECS)でPrivate Docker Registryを立ててみた - tehepero note(・ω<)stormcat.hatenablog.com 冗長構成用のDockerイメージ …

Amazon EC2 Container Service(ECS)でPrivate Docker Registryを立ててみた

初夏ですね(もうあちーよ)。 さて、今回はAmazon EC2 Container Service(以下、ECS)についてのネタです。 そもそもECSとは Amazon EC2 Container Service (高いスケーラビリティとパフォーマンスを備えたコンテナ管理サービス) | アマゾン ウェブ サービ…

硬直しきったプロジェクトで働いた思い出

ふと昔いたプロジェクトについて思い出したので書く。 経歴 2006-2009 中小SIer 2009-2012 フリーランス 2012-現在 サイバーエージェント 今日の話は中小SIer時代のこと。本エントリでは所属会社と呼ばせてもらう。 所属会社について 社員30名くらいで、当時…

IntelliJ IDEAでGoLangの環境構築 2015春

久しぶりにIntelliJ IDEAでGoLangの環境構築してみたら、なんか前とはちょっと変わっていたので書き残しておきます。 諸準備 Goのインストール とりあえずhomebrew使います。現状の最新版は1.4.2です。 $ brew install go 次に、環境変数を設定。.bashrcとか…

Terraform0.4のDockerサポートを試してみた

みんなだいすきテッッラフォォォォムゥ!! ということで本日はTerraformネタをお届けします。 そもそもTerraformとは TerraformはHashicorpがリリースしているオーケストレーションツールです。 Terraform by HashiCorp ChefやAnsibleでは作られた環境に対してミドルウェ…

PhantomCIの料金プランが変更になってた件

以前、このブログでPhantomCIという新手のCIサービスを紹介しました。 CircleCIやTravisCIよりもかなり安くCIできるPhantomCIを試してみた - tehepero note(・ω<)stormcat.hatenablog.com このPhantomCI、ビルドが成功したときだけ課金の対象になるという成…

CircleCIアンチパターン 2015春

今日はCircleCIで気持ちよくCIを回すために、抑えておいた方が良いアンチパターンについて書きます。わりと基本的な話なので、心当たりがあれば見直してみると良いと思います。 Fat Repository Anti Pattern(巨大なリポジトリ) CircleCIのコンテナは使い捨…

IntelliJ IDEAのキーバインド設定をAppCodeでも共有しようとしたらかなりハマった件

当方、開発IDEは基本的にIntelliJ IDEAですが、最近iOSもやってるのでAppCodeもよく利用しています。 JetBrains AppCode: Swift Execution of Your Bright Ideaswww.jetbrains.com AppCodeはJetBrainsが開発しているiOSやMacのアプリケーションを開発するた…

今風にPostgreSQLの開発環境をつくってみた

最近ホットすぎるPostgreSQL界隈ですが、せっかくなので今風に開発環境を作ってみました。 PostgreSQLおさらい 近年のPostgreSQLの進歩は目覚しいものがあって、高いスケーラビリティはもちろん、アプリとの親和性の高さもあって注目度を増しています。 9.4…

えっ、エンジニアなのにまだ24時間営業ジム行ってないの?

タイトルは完全に釣りです。 最近都内にはJOYFITやらFitness24やらエニタイムフィットネスやらの24時間年中無休のジムがアホみたいに次々と出店しているのですが、とうとうウチのマンションの近くにもエニタイムフィットネスが出来たので通い始めたらライフ…

Scalaを始めて早5年、今一度冷静にScalaと向き合ってみた

今年は2015年で、社会人になってプログラマとしてデビューしたのがディープインパクト*1がまだ現役だった2006年で早9年。そして自分がScalaという言語に出会ったのが2010年なので、なにげにキャリアの半分くらいをScalaを触って過ごしてるということになる(…

CircleCIで任意のツールをインストールして使う際の定番スニペット

春ですね!というわけで懲りずにCircleCIネタを投下していきます。 CircleCIのコンテナにはJavaやらNodeやらRubyとかのランタイムがあらかじめセットアップされていますが、当然欲しいものがなかったりするので自分でコンテナにセットアップしてやる必要があ…

念願の部署異動を果たしたので、最近の技術的チャレンジについてまとめた

どうもこんばんは。 私事ですが、先日部署異動を果たしました。1年半くらいずっとソロ活動だったのですが、さすがに色々と気が狂いそうになってきたし存在価値を自問自答した結果、かなり無理言って新規事業に異動させてもらうことにしました。 この会社に入…

CircleCIやTravisCIよりもかなり安くCIできるPhantomCIを試してみた

今回は新手のCIサービスであるPhantomCI(ふぁんとむしーあい)を紹介しましょう。 PhantomCI - Docker Based Continuous Integration トップページにCircleCIとTravisCIのプランの比較マトリックスがあるように、思いっきり意識しています。 主な特徴 まず…