クラウドワークス エンジニアブログ

日本最大級のクラウドソーシング「クラウドワークス」の開発の裏側をお届けするエンジニアブログ

CoffeeScript 辞めました

CoffeeScript 辞めました

はじめに

こんにちは、CrowdWorks のジャンヌチームのエンジニア bugfire です。

CrowdWorks は歴史のあるサービスで CoffeeScript が利用されている箇所が大量にあります。 具体的には411ファイルありました。[^1]

いまとなっては CoffeeScript を利用したコードを新たに書くことも少なくなり、改善するときに TypeScript で書き直されることも多くなってきました。しかし、個別に変換すると時間が掛かってしまうため、まとめて機械的に変換することにしました!

3行まとめ

  • CoffeeScript より TypeScript の方に記述を移していきたい。
  • 利用している Sprockets の CoffeeScript 変換コードを借用して全ファイルを変換しました。
  • 確認は変換前後の出力 JavaScript コードの完全一致で行いました。
続きを読む

Terraform AWSプロバイダv4アップグレードツールを作ろう

はじめに

SREチームの @minamijoyo です。趣味のTerraformで遊んでいたら、先日HashiCorpさんから「Core Contributor to HashiCorp Terraform for 2022」という名の、がんばったで賞をもらいました。対戦よろしくおねがいします。

crowdworks.jp のインフラはAWSで運用されており、インフラの管理にTerraformを使っています。先日ようやくTerraform AWSプロバイダv4アップグレードが完了しました。既にご存知の人も多いかもですが、v4ではS3バケット関連で大きな破壊的変更が入っており、アップグレード作業はなかなか大変です。もう皆さんアップグレードは終わりましたか? crowdworks.jp ではもうかれこれ6年以上Terraformを利用しており、Terraformの設定はおよそ7万行、tfstateの数は280個ぐらいの規模感です。さすがに数万行規模になってくると、手で大きな破壊的変更をやる気が起きなくて、最近Terraformのリファクタリング用のライブラリを作り始めました。そして最終的にいいかんじのアップグレードツールを書きました。

github.com

とりあえずツールの使い方だけ知りたいという人はリポジトリのREADMEを読んで下さい。(※現状aws_s3_bucketリファクタリングにしか対応してないことに注意)

この記事ではツールの使い方ではなく、仕組みの解説をします。一体誰得なんだと思いつつ、Terraform設定をいいかんじにプログラムで書き換えたいなという人向けです。最低限のTerraformの使い方とGoプログラミングは前提知識とします。逆にAWSに特化した知識はほとんどなくても読むのには支障はないと思うので、他のクラウドプロバイダをお使いの人も参考になるはず。

本稿執筆時の各種ソフトウェアのバージョンは以下のとおりです。

特にtfeditはまだ作りたてなので、インターフェースはしばらく不安定かもしれません。最新の情報は各READMEやCHANGELOGなどを参考にして下さい。

続きを読む

エンジニアだけどPOやってみる!

エンジニアだけどPOやってみる!

はじめに

こんにちは、ビズアシスタントオンライン(以下、ビズアシ)というサービスのエンジニアをしている山田です。

みなさんこちらの記事はきっともう読んでくれてますよね?

そうです。ビズアシはPO(プロダクトオーナー)と愉快なエンジニアたちのパーティーでプロダクト開発に携わっています。

少し前に山あり谷ありの冒険をひとつ終え、ついにタイムカードアプリをリリースした私たちですが、なんと7月に現POが産休に入ります!

その間わたくし山田がPO代理を務めさせていただくこととなりました。 5月半ばから引き継ぎが始まり、まだ一ヶ月程のぴよっこPOです。右も左も分かりません、、、

当記事はそんなぴよっこPOの奮闘記、、、ではなく、頭の中の話になります。

続きを読む

既存プロダクトへのドメイン駆動設計の導入検討について

こんにちは!

はじめまして、クラウドログ開発チームで主にバックエンドを担当しているエンジニアの武田です。

クラウドワークスへの入社は2022年の2月で、現時点で約4ヶ月程経ちました。 常に新しい事へのチャレンジしながら毎日を過ごしているため、「あれ、まだ4ヶ月…」という感覚です。
今回はそんな日々のチャレンジを欠かさないクラウドログ開発チームから今後のチャレンジの一部をご紹介したいと思います。

現在、クラウドログ開発チームでは既存プロダクトへのドメイン駆動設計の導入検討をしています。 その中で私が考えている「課題」や「検討しているアプローチ」について、想いのままに書いてみたいと思います。 お付き合い頂ければ幸いです。

続きを読む

GAAD Japan 2022 でスポンサー協賛と LT をしてきました

アイキャッチ:GAAD Japan 2022 でスポンサー協賛とLTをしてきました

こんにちは。@okuto_oyamaです。

今回は 5 月 19 日に開催された GAAD Japan 2022 にて株式会社クラウドワークス(以下、弊社)としてスポンサー協賛させて頂くとともに LT という形で発表してきましたので、その振り返り記事になります。

続きを読む

© 2016 CrowdWorks, Inc., All rights reserved.