ENECHANGE Developer Blog

ENECHANGE開発者ブログ

RubyWorld Conference 2018 2日目

昨日に引き続き、RubyWorld Conference 2018の報告です。

基調講演-2 Don't Stop Moving

情熱プログラマーの著者としても知られるMicrosoftのChad Fowlerさんの講演でした。情熱プログラマーは昨年読んでいて、講演後にサインをもらっている人もいたので、持ってこればよかったと後悔しています。

では、1時間の講演の中で、印象に残った点を紹介します。

・生存戦略 深さと広さという指標で、Linux Kernal Engineerのように狭く深いエンジニアという戦略もあるし、SaaSスタートアップのCTOのように、様々なことを広く知っている人になるという戦略もあるということでした。 その昔、Ken Smithさんに3つのことを学びなさいと言われたそうです。その3つとは、ディレクトリサービス、Unix、プログラミング言語だそうです。その現代版として、OS(Linux等)、データベース、プログラミング言語を学ぶと良いとおっしゃっていました。

続きを読む

RubyWorld Conference 2018 1日目

プラットフォーム事業部のtaki(@yuyasat)です。 今日、明日と島根で開かれているRubyWorld Conference 2018に来ています。RubyWorld Conference 2018 は、弊社もSilver Sponsorです。その関係で参加させていただきました。
午前中は移動だったため、まつもとゆきひろさんの基調講演は聞けませんでした。本記事では、午後からの講演についてまとめました。
私の理解不足により間違っている点がございましたら、コメントください。

午後のA-1、A-2、A-3は主にRubyとプログラミング教育に関する話題でした。

続きを読む

ランダムにおちるfeature/system specへの対応とリトライ機構

背景

プラットフォーム事業部のtaki(@yuyasat)です。ENECHANGE社には2016年10月から参画し、主にRuby on RailsやJavaScriptまわりの実装を行っています。

ENECHANGE社の顔とも言えるサービスが、電気・ガス比較サイト エネチェンジです。WordpressとRailsでできており、リポジトリのfirst commitから4年以上が経過しています。確認したところ、first commitはCTOの白木で、2014年5月16日でした。会社の設立が2015年4月ですから、会社の歴史よりも長い歴史をもつリポジトリということになります。ENECHANGE社の前身はCambridge Energy Data Labで、その当時に開発が開始されたわけです。

そんな4年以上の歴史を持つリポジトリですが、機能も増え、申し込み可能な電力会社も増えてきており、それに伴って自動テストの数も増えてきています。また昨年Vue.jsを導入するなど、フロントエンドもリッチになってきており、絶対に落とせない画面に関してはfeature specも書いています。[^1]

feature specが増えてくると悩まされるのが「テストが通るときもあるんだけどたまにおちる」「自分のlocalでは通るのにCI上では通らない」といったことです。100%落ちるのであればデバッグがしやすいですが、環境依存だったり、通ったり落ちたりすると原因究明に時間がかかります。通ることもあるものですから、Rebuildして通ればOKとしている開発現場も多いでしょう。

続きを読む

Terraformのdiff(差分)を見やすくする

プラットフォーム事業部のtaki(@yuyasat)です。 最近、とあるクライアントのインフラを構築しています。いつもであればインフラの基本的な構築はインフラ部門に任せます。ですが、今回は、ElasticBeanstalkがメインとなる構成であるものの、Webサーバだけでなく、バッチ処理を行うためのWorkerも利用し、さらにAWS Lambda等とも連携するため、構築後の動作確認は主にアプリケーションエンジニア側で行なっています。

一発でうまくいけばいいのですが、大抵は設定漏れや環境変数が間違っているなど様々な理由により、初回構築時はうまくいきません。その原因追求のため、アプリケーションエンジニア側でも環境を再構築することがあります。その際、弊社ではインフラを Terraform で管理しているので Terraform のコマンドを実行することになります。

続きを読む

第二回開発合宿(日帰り)を開催しました

エネルギースタートアップ、ENECHANGE株式会社 CTOの白木@shirakiaです。

第一回の開発合宿では旅館で一泊の形式だったのですが、ライトウェイトに形を変えて第二回を行いました。 という事でこの記事では、第二回開発合宿の様子をご紹介いたします。

今回は業務とは無関係に、エンジニアが各々スキルアップしたい内容に取り組むという形式で行いました。 ENECHANGE株式会社では、通常業務範囲内の技術の習得はもちろん、普段利用しない技術を学ぶ時間も支援していきます。

サマリー

  • 日程:8/25(土) 11時くらい現地集合(宿泊なし)
  • 参加ルール:自由参加
  • テーマ:業務時間外なので、仕事以外ならなんでも良い(今必要なスキルアップ or OSS開発推奨)
  • スケジュール:11時朝会(各自やること発表)、以降机・ソファー等でもくもく作業、適当にランチに行く、18時成果発表、19時希望者で夜ごはん
  • 費用:場所代、移動費は会社持ち
  • 場所:池袋のおしゃれ部屋的なところ

朝会

まずは朝会からスタートです。この日何をするのかを、各々が発表していきます。この発表が各自のコミットメントを高め、その日一日のパフォーマンスを高めます。

f:id:shirakia:20180826233033j:plain
朝会はやはりスタンディングで

続きを読む

ALBで複数のWebサーバをコントロールする

こんにちは。先日、富士の麓でソロキャンで思う存分焚き火してきたCTO室のkazです。 今日は、フロントエンド開発者が使用しているサーバのサーバ証明書 の有効期間が過ぎてしまっており、「更新よろ」と言われていたタスクを隙間時間で対応した記事を書きたいと思います。

これまで、開発者用サーバのサーバ証明書は、サーバ毎に配置し更新時などは管理工数が大きくなりがちでした。この機会にAWSのACMでサーバ証明書を管理できるように構成を変更し、その過程で、ALBのホストベースによるルーティングを使用してホストヘッダ毎にリクエストを割り振るように再設計しました。 個人的にはECSで開発してほしいんですが、開発者側で事情がいろいろあるようなので、今後のタスクとして積んでおきます...!

続きを読む