ENECHANGE Developer Blog

ENECHANGE開発者ブログ

ネイティブアプリ開発をスムーズにするためにサーバーサイドエンジニアとして取り組んだ4つのこと

EV充電サービス事業部の@yuyasatです。暑い時期ですが、日々EVライフを満喫しています。1kmあたりの移動で考えたときにガソリンよりも電気の方が安いのでガソリン車時代よりも距離を乗っている気がします(環境に良いのか悪いのか・・)。 今回は、EV充電サ…

Team Blog HubのAtomフィード配信はじめました

CTO室の岩本 (@iwamot) です。同僚エンジニアの情報発信を活性化するのが、ぼくのミッションのひとつです。 ENECHANGEでは、Team Blog Hubを使って、所属エンジニアのブログ記事や発表スライドを集約・公開しています。経緯は「Team Blog Hub を用いた ENECH…

作る前に知っておきたかった、アプリデザイン時のチェックポイント4選

EV充電サービス事業部デザイナーの @hoshility と申します。 2022年5月に電気自動車 ( EV )・プラグインハイブリット車 ( PHEV ) 向けの充電サービスのアプリをリリースしました。こちら大変便利なアプリになっているので、ぜひ使ってみていただけると嬉しい…

Flutter採用理由とFlutterで開発してみて

引き続き、EV充電サービス事業部の@yuyasatです。 前回は、EV充電サービスアプリ開発経緯についてご紹介いたしました。今回は、ネイティブアプリ開発にあたってなぜFlutterを採用したのか、Flutterを採用してみてどうだったのかというのを紹介したいと思いま…

エネチェンジEV充電アプリリリース🎉

EV充電サービス事業部の@yuyasatです。 今年1月に昨年まで在籍していたエネルギークラウド事業部からEV充電サービス事業部に異動し、開発責任者としてエネチェンジEV充電のアプリを開発してきました。先月19日にアプリをリリースすることができ、エネチェン…

Lambda関数URLを実戦投入してシンプルなリダイレクト処理を構築する(コスト編)

ENECHANGE所属のエンジニア id:tetsushi_fukabori こと深堀です。 東京の我が家で飼っているバーニーズマウンテンドッグは暑さでバターのように溶けて伏しています。 涼しい土地に広い庭付き一戸建てで健やかに過ごさせてあげたいですね。 今回は前回に引き…

CloudFront Functions 関数でクエリ文字列を復元する

CTO室の岩本 (iwamot) です。「小ネタでも積極的に投稿する」をモットーとしております。 先日、Amazon CloudFront の CloudFront Functions を使って、HTTP リクエストのリダイレクト処理を実装しました。https://example.com/foo?key1=A&key2=B&key2=C へ…

GitHub Actions Job Summaries を使ってみた

CTO室の岩本 (iwamot) です。2022-05-09 にリリースされた GitHub Actions Job Summaries を、さっそく使ってみました。ワークフロー実行時のパラメータを表示しただけですが、まさにこういうことがやりたかったので、うれしいリリースです。

Lambda関数URLを実戦投入してシンプルなリダイレクト処理を構築する(実装編)

ENECHANGE所属のエンジニア id:tetsushi_fukabori こと深堀です。お久しぶりです。 この4月から所属事業部がかわりました。 元はEMAPシリーズを提供しているエネルギークラウド事業部に所属して「アプリケーションエンジニア兼PM兼事業部内テックリード」と…

案件固有の機能を開発していくためのリポジトリ戦略

EV充電サービス事業部の@yuyasatです。記事を書くのがだいぶ久しぶりになっていました。EV充電サービス事業部は2022年1月に発足した事業部で、マネージャーをしております。今回はEV充電サービス事業部の話ではなく、私が昨年まで在籍していたエネルギークラ…

Ruby の fluent-logger gem を使って Fluent Bit にログを渡せるかどうか調べた

ENECHANGE の CTO 室でインフラエンジニアを務めている岩本です。 Ruby の fluent-logger gem を使って Fluent Bit にログを渡せるかどうか調べてみました。調査結果と、調査した背景をまとめておきます。

XSS についての講習会を開催しました

ENECHANGE で CTO をしている田中です。 今回は先日社内で開催した情報セキュリティ講習会について紹介したいと思います。講師として株式会社セキュリティイニシアティブジャパンの小笠さんを迎え、XSS(クロスサイトスクリプティング)について実際の挙動を…

Provisioned Concurrency な Lambda の実行時間をどう監視すべきか

ENECHANGE の CTO 室でインフラエンジニアを務めている岩本です。 今回の記事では、Provisioned Concurrency(プロビジョニングされた同時実行数)を設定した AWS Lambda 関数について、実行時間をどのように監視すべきか考えてみます。 Duration メトリクス…

Bugsnag で app version を設定しないともったいない

ENECHANGE の CTO 室でインフラエンジニアを務めている岩本です。 先日 Bugsnag を初めて使いました。社内用ツールのエラー監視が目的です。ENECHANGE では Bugsnag が以前から活用されているのですが、私はこれまで触る機会がなかったのでした。 Bugsnag を…

新しくVPNを構築した件

CTO室のkazです。2022年最初の投稿は「WeWork東京スクエアガーデンへの本社機能移転決議」の裏で業務に支障が出ないよう、仕組みを考え、検証して構築する。そしてそれをみんなにつかってもらうタスクの1つであるVPNを紹介します。

CloudWatch Metric Math の DIFF 関数を用いた Trusted Advisor チェック数の監視

ENECHANGE の CTO 室でインフラエンジニアを務めている岩本です。 今回は CloudWatch Metric Math の DIFF 関数によって解決できた課題をご紹介します。課題そのものは地味ですが、DIFF 関数が役立つ場面は多そうだと感じたため、記事にする次第です。

EC2 Auto Scaling のライフサイクルフックによる graceful shutdown の実現

ENECHANGE の CTO 室にてインフラエンジニアを務めている岩本です。AWS の各種サービスには地味ながらも便利な機能が多くあります。EC2 Auto Scaling のライフサイクルフックもそのひとつです。今回はこの機能のおかげで解決できた課題をご紹介します。

ENECHANGE における AWS 認定受験料補助制度の創設

ENECHANGE の CTO 室にてインフラエンジニアを務めている岩本です。先日、資格取得に関する記事を書いたところ思いのほか多くの方に読んでいただけました。その記事で紹介した「STAR 形式」にて本記事をお送りします。

Team Blog Hub を用いた ENECHANGE エンジニア記事まとめサイトの公開

7 月に ENECHANGE に入社した岩本と申します。CTO 室にてインフラエンジニアを務めております。 インフラ業務の傍ら、弊社エンジニアの記事まとめサイト ENECHANGE Engineers' Articles を構築し、公開しました。本記事にはその経緯を記します。

ENECHANGEの品質保証最適化への取り組み

ENECHANGEにて品質保証(QA:Quality Assurance)を担当している小田部です。最近はホットサンドメーカーを購入したので肉まんや大福にチーズ蒸しケーキなどを挟んで冬のホットなおやつを楽しんでます。お勧めは小さなピザにソーセージを乗せてケチャップを…

Wordpress(PHP-FPM)と Nginx との間の FastCGI の設定を見直した話

ENECHANGE のチーフエンジニアという肩書の 川西( a.k.a cuzic )です。 最近、子ども(男の子、6歳)がスーパーマリオメーカー2で作ったステージで遊んでいます。 見たことがない敵がたくさんいますね。びっくりします。 踏んだら倒せるかも分からないし…

wp-config.php 内の認証キーを aws secrets manager に移行した話

最近、子ども(男の子、6才)がスーパーマリオメーカー2をやっています。 スーパーマリオブラザーズを全然遊んだことないのに、いきなりスーパーマリオメーカー2を遊ぶ今の子供の感覚には違和感があります。ですが、そういう子も含めてちゃんと遊べるよう…

Wordpress のメディアファイルを s3fs から efs に移行した話

ENECHANGE の川西( a.k.a. cuzic )です。 最近、いびきの軽減を目的として、のどちんこを切除する手術を受けました。 職場で昼寝していて、いびきが職場に鳴り響いていたのがなくなり、職場環境改善にもつながりました。

Wordpress と Ruby on Rails の CSS の分離

はじめに 最近、急に Nintendo Switch が手に入るようになったので、子ども(6才、男の子)に買い与えました。あつまれどうぶつの森を攻略本とともに買ってみたのですが、1000ページ以上もある攻略本をどこに行くのにも持ち歩いています。 どんなに好きでも…

Amazon CloudFront を導入し、enechange.jp の Wordpress の記事配信を高速化した話

ENECHANGE 株式会社チーフエンジニアの川西こと cuzic です。 最近、enechange.jp のインフラ改善に精力的に取り組んでいます。 そこで、やりたいと思っていたことがかなり実現でき、ある程度、目処がついてきました。 せっかくなので、やってきた内容につい…

開発背景と現場の話[エネルギープラットフォーム事業編]

こんにちは。ここ数ヶ月、再エネや建設関連銘柄をウォッチしているCTO室のkazです。 ENECHANGEの前身は英ケンブリッジの研究機関で生まれました。くわしくは創業ストーリーをお読みください。 その後、2016年に小売全面自由化される日本市場に参入し、これま…

TerraformでIAM policy変数をプレースホルダーとして使用する

Operations Tips vol7 こんにちは。全社でリモートワークがメインとなり社内SE業務が増加気味のCTO室のkazです。 policyを記述するときにresoruceやconditionがわからない。または、リクエストのコンテキストから取得された値に置き換えたい場合、AWS Identi…

ENECHANGE での ec2ssh による .ssh/config の自動設定

ENECHANGE に勤務している cuzic こと 川西です。 最近は、子供(6歳)とマインクラフトで遊んだりしています。 私は 1時間ほどゲームするだけで、ヘトヘトで、グッタリです。 子どもはずっと遊んでいて、すごいな、と思います。

CloudWatch Eventsのスケジュールトリガーを使用してサーバの起動管理を行う

こんにちは。断捨離を進めていくなかで家にある廃棄対象の物がリモートワーク関連で驚きの価格で取引されてるのを見てニヤニヤしているCTO室のkazです。 今回は、CloudWatchを使用したインスタンスの起動管理をお伝えしたいと思います。

[Terraform] countで作成した設定ファイルをfor_eachでリファクタリングする

こんにちは。リモートワークに伴う運動不足解消のため、日々、Z戦士として走り込んでいるCTO室のkazです。 概要 Terraform 0.12以前はcount-functionとcidrsubnet-functionを使用してネットワークを作成していましたが、ネットワークに変更が入るときにリソ…