サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
タスク管理術
engineer.crowdworks.jp
こんにちは。エンジニアの砂川です。 2023年10月頃にGoogle・Yahoo!から新しいメール送信者ガイドラインが出されました。 該当するメール送信者は、ガイドラインに沿っているか確認をし、沿っていない場合は対応する必要があります。 blog.google support.google.com 対応完了しきった皆様、お疲れ様でした。 絶賛対応中の方々、頑張っていきましょう。 ところで皆さんGmailのPostmaster Toolsの迷惑メール率の監視はいかがでしょうか? クラウドワークスではGmailガイドラインで定めているPostmaster Toolsの迷惑メール率を監視し、閾値を超えるとアラートを通知するような仕組みを作り、運用をしています。 この記事では、その仕組みをご紹介します。 なぜ作ったのか 定期的にPostmaster Toolsにログインして監視するのが面倒 (サブ
1年をふりかえる 年の瀬ご多端の折、皆様におかれましては本年も大変お世話になりました。crowdworks.jpの開発をしているプロダクト開発部部長の@hihatsです。 本記事はクラウドワークスAdvent Calendar 2023 シリーズ2の25日目の記事です。 今回は、プロダクト開発部として今年取り組んできたことと、その中での気づき、「Think Like a CTO」という書籍の話にも触れていきます。 今年やってきたこと 技術的負債解消への取り組み 昨年のアドベントカレンダーでも書きましたが、2023年も技術的負債の解消に取り組んで参りました。 結果としては、フロントエンドでの注力の割合が大きかった一年でした。詳しくは@okuto_oyamaさんの1日目の記事をご覧ください。 記事にもありますが、Vue.js化をフロントエンドを触る全チームが行える体制に整えることで加速させてい
この記事は クラウドワークス Advent Calendar 2023 シリーズ2 の 14日目の記事です。 こんにちは。crowdworks.jp SRE チームの田中(@kangaechu)です。 この記事を読んでいる方はGoogle/Yahoo.comから出されたメール送信者のガイドライン対応を絶賛対応中かと思います。 support.google.com support.google.com Postmaster @ Yahoo & AOL — More Secure, Less Spam: Enforcing Email Standards... みなさん、DNSにDMARCの設定を追加しましたか? ひとまずDMARCで設定したレポート送信先メールアドレスに大量のレポートが届いているものの、次になにしたらいいんだろう?と思っている方も多いかと思います。 DMARCレポートを解析し
この記事は クラウドワークス Advent Calendar 2023 シリーズ2 の 7日目の記事です。 こんにちは。crowdworks.jp SRE チームの田中(@kangaechu)です。 2023年は生成AI、特にLLM(大規模言語モデル)が盛り上がりを見せた年でした。皆さんもChatGPTやGitHub Copilotなどにより、その恩恵にあずかった1年だったかと思います。 自分も流行りに乗り、OpenAIのAPIを使用してチャットボットを作りましたが、うまくいかなかったためお蔵入りしました。 今回はその供養のため、どのようなことをやったかを書き残そうかと思います。 背景 LLM (大規模言語モデル) LLMブームの始まりは2022年11月30日にOpenAIがリリースしたChatGPTでした。 openai.com ChatGPTは大量のテキストデータを用いて訓練された事前
この記事は クラウドワークス Advent Calendar 2023 シリーズ1 6日目の記事です。 こんにちは。crowdworks.jp SRE チームの田中(@kangaechu)です。 この記事では crowdworks.jp の SRE チームが2023年にやったことを記載していきます。 やっていることは色々で、まとまりはありませんが、そこら辺はご容赦ください。 2022年の振り返り 2023年にやったこと CircleCI インシデント対応 RundeckのECS化 Railsで使用しているMemcachedをRedisに寄せる 課題 1. Memcachedでは停止時にデータが揮発する 2. Memcached単体ではマルチAZ構成でデータのレプリケーションができない 3. Memcached/Redisともにバージョンアップをしていない 4. MemcachedとRedi
この記事は クラウドワークス Advent Calendar 2023 シリーズ2 2日目の記事です。 こんにちは。crowdworks.jp SRE チーム 田中(@kangaechu)です。 年末といえば大掃除ですね。 皆さんのデータベースにも使っていないインデックスが溜まっていませんか? お掃除してきれいな新年を迎えましょう。 手順 1. MySQLで使っていないインデックスの一覧を取得 未使用のインデックスは sys.unused_indexes ビューで確認できます。 dev.mysql.com しかし、このビューの元データである performance_schema テーブルは起動時から終了時までのデータしか保持していません。 Tables in the Performance Schema are in-memory tables that use no persistent
この記事はクラウドワークス Advent Calendar 2023 シリーズ 1の1日目の記事です。 クラウドソーシングサービス「クラウドワークス」(以下 crowdworks.jp )にてエンジニアをしております、フロントエンドの可能性をしつこく信じ続ける@okuto_oyamaです。 一昨年・去年と引き続き、今年もアドベントカレンダー初日の盛り上げ手としてやっていきます。よろしくお願いします。 フロントエンド活動の振り返りをしてみよう 一昨年・去年もフロントエンド活動の振り返りをしてみましたが、今年もやっていきます。 qiita.com engineer.crowdworks.jp 全体総括編 まずは crowdworks.jp の全体のフロントエンド活動を総括していきます。 erbのVue.js化活動が拡大 昨年から続けているフロントエンドとバックエンドの分離作業についてお話ししま
こんにちは。crowdworks.jp SREチームの田中(kangaechu)です。 crowdworks.jpでは、2023年8月にAWS RDS MySQL 5.7から8.0へのアップデートが完了しました(ようやく!)。 今回はMySQL 8.0へのアップデートの手順と対応が必要な変更点について書いていきます。 MySQL 8.0にアップデートした理由 MySQL 8.0にアップデートした理由はAWS RDS MySQLのEOL対応のためです。 AWS RDS MySQL 5.7のEOLは2023年10月(のちに2023年12月に変更されました)であり、8.0へのアップデートが必要でした。 crowdworks.jpで使用している他のMySQLデータベースは8.0へのバージョンアップを完了していました。 しかしcrowdworks.jpのマスタデータベースは30億行を保持し、1日に約
crowdworks.jpでEMをしている久村です。 2023年5月より1つのチームのスクラムマスターをすることになりました。 私は開発者としてスクラムの経験はありましたが、スクラムマスターの経験はなかったです。 この記事では、直近チームで改善したことの内容と、そこからの学びを記事にしようと思います。 チーム説明 私がスクラムマスターとして関わっているチームは以下です。 エンジニアメンバーの異動・退職があり人数が減少し、プロダクトオーナー(PO)もメインとサブ(入社年次が浅い)で2名いましたが、サブの方が独り立ちしてメインで担当されるように変更になりました。 そのタイミングでスクラムマスターとして私がメンバーに加わりました。 メンバー変更した当初の状況としては、1週間のスプリント期間で以下のスクラムイベントは実施しておりました。 デイリースクラム リファインメント レトロスペクティブ プラ
はじめに Terraform職人の@minamijoyoです。先日、tfupdateが.terraform.lock.hclの更新に対応しました。v0.7.0から tfupdate lock というコマンドが追加されています。 github.com 例えば、あるディレクトリ配下のすべてのAWSプロバイダを指定バージョンに更新しつつ、複数プラットフォーム混在で使う.terraform.lock.hclもまとめて一括更新するには、以下のようなコマンドで簡単にできるようになりました。 $ tfupdate provider aws -v 5.7.0 -r ./ $ tfupdate lock --platform=linux_amd64 \ --platform=darwin_amd64 \ --platform=darwin_arm64 \ -r ./ 内部的にterraformコマンドには依
こんにちは。crowdworks.jp SREチームの田中(kangaechu)です。先日RubyKaigi2023に参加するため、松本に行きました。街を歩いていると目線の先に山が見えたり、温泉が近くにあったりなど松本の自然が近くにある感じがとてもよかったです。ちょっと住みたくなって不動産屋さんで家賃を眺めたりしておりました。 今回は小ネタとして、AWSのCloudWatchの料金が高くなったことで見つけたCloudTrailの設定についてです。 あなたのCloudWatch LogsとCloudTrailの料金、高くないですか? 先日、AWSのコスト異常検知サービスのCost Anomaly Detection からCloudWatchとCloudTrailのコストが跳ね上がっているとの通知が来ました。 Cost Anomaly Detectionで通知されたCloudWatchとClo
RundeckをFargate化してデプロイを自動化しました 久方ぶりです。crowdworks.jpのSREチームに所属しています @ciloholic です。 この記事では、半年ほど行なっていた「RundeckのECS on Fargate化」の取り組みを紹介していきます。 まず、Rundeckとは PagerDuty社が提供するOSSのジョブ管理ソフトウェアです。OSS版の「Rundeck Community」とEnterprise版の「PagerDuty Process Automation」が存在し、ジョブのスケジュール実行や処理失敗時の自動リトライ、処理の開始/終了/成功/失敗に対して通知フックが設定できます。SSH経由でもコマンドが実行できるため、複数サーバに渡ってジョブ実行が可能です。 なぜ、RundeckをFargate化したのか crowdworks.jpでは、2017
初めまして。crowdworks.jpのSREチームに所属しています @ciloholic です。 入社してかれこれ1年経ちますが、筆を執る機会がなかったため、今回が初エンジニアブログとなります。 この記事では、入社して3か月ほど行なっていた「AWS Lambda周りのメンテナンスコスト削減」の取り組みを紹介していきます。 背景 crowdworks.jpでは、多くのエンジニアがさまざまなGitHubリポジトリに色々な言語でLambdaを活用してきました。GitHubリポジトリは30個以上、使用言語はNode.js / Ruby / Goとさまざま、CI/CDもCircleCI / GitHub Actionsとバラバラです。 SREチームでは、定期的に各種言語のEOL対応やライブラリのアップデート作業を行なっているのですが、GitHubリポジトリもそれぞれ異なる、使用言語もCI/CDもバ
こんにちは、crowdworks.jp のデザインシステム構築に携わっているエンジニアの @t0yohei です。最近は日々デザインシステム難しいいいいと思いながらあれやこれやと考えているのですが、開発者の観点から何が難しいと思うのかをせっかくなので共有したいと思います。 デザイナーの観点からのデザインシステム構築については、一緒にやっているデザイナーさんがブログを投稿していました。よろしければ合わせてどうぞ。 デザインシステムを導入する為にやって良かったこと5選|YUCCA|note 余談ですが、デザインシステムに関わるエンジニアって何エンジニアなのでしょうか?デザインエンジニア?フロントエンドエンジニア? 自分はデザインをしないし(できないし)、元々は Rails エンジニアだったのでフロントエンド専門というわけでもなく、一体何者なんだろう...?と日々迷走しています。自分が何者かはわ
年の瀬ご多端の折、皆様におかれましては本年も大変お世話になりました。crowdworks.jpの開発をしているプロダクト開発部部長兼VPoEの@hihats です。 本記事はクラウドワークスAdvent Calendar 2022 24日目の記事です。 我々の組織ではこれまでも技術的負債解消に取り組んできていましたが、今期(10月)よりさらに人と時間をそこに集中しています。これまでこのブログでも紹介されてきたようにRuby on Railsのモノリスとなっているcrowdworks.jpにおいて、フロントエンドのVue.jsへの移行は今年に入ってから着々と進む中、バックエンドのほうは保守性の低下からどう脱却していくかが手付かずに近い状態でした。 この本丸を攻略するにあたって、闇雲にリファクタリングしていくぞ!では到底うまくいきそうにない。まず「何故やるのか、何をゴールとするのか」の意識あわ
こんにちは。crowdworks.jp における技術的負債の解消をリードするジャンヌチームです。 12 月ということでアドベントカレンダーの時期ですね。今年も弊社で開催しており、合計 25 名が参加して盛り上げております。 qiita.com ジャンヌチームからは @okuto_oyama が今年のフロントエンド活動の振り返りをしていました。 engineer.crowdworks.jp その中の1つに「Webpacker から Simpacker + webpack 構成へ」というものがあり、今回はそれに関する取り組みを紹介していきます。 Webpacker とは Webpacker は Rails アプリケーションにおける webpack でのフロントエンド開発をするときに用いる公式ライブラリです。このライブラリの利点として webpack のビルドシステムに詳しくなくとも汎用的な設定
この記事は クラウドワークス Advent Calendar 2022 の 2日目の記事です。 こんにちは。crowdworks.jp の SRE チームに所属している高橋です。 この記事では crowdworks.jp の SRE チームが2022年にやったことを記載していきます。やっていることは色々で、まとまりはありませんが、そこら辺はご容赦ください。 目次 2021年のふりかえり 2022年にやったこと crowdworks.jp の SRE チームメンバーが執筆したエンジニアブログ(再掲) スロークエリ改善 バージョンアップ祭り GitHub Actions と CircleCI の OIDC 対応(AWS アクセスキー廃止) Lambda のデプロイツールを lambroll に変更 ドキュメント運用の設計支援 さよなら sider.review いままでありがとう まとめ 20
この記事は クラウドワークス Advent Calendar 2022 の1日目の記事です。 クラウドソーシングサービス「クラウドワークス」(以下 crowdworks.jp)にてエンジニアをしております、フロントエンドの可能性をしつこく信じ続ける @okuto_oyama です。 一昨年・去年と引き続き、今年もアドベントカレンダー初日の盛り上げ手としてやっていきます。よろしくお願いします。 フロントエンド活動の振り返りをしてみよう 一昨年・去年もフロントエンド活動の振り返りをしてみましたが、今年もやっていきます。 qiita.com engineer.crowdworks.jp 去年と変わらず crowdworks.jp にはフロントエンド専属チームというものは存在しておりません。ですが、今年は去年よりも重要なフロントエンドにまつわる活動をしてこれたと思っています。 それでは、ご覧くださ
こんにちは。crowdworks.jp SREチームの@kangaechuです。 先日開催されたイベント HashiTalks: Japanを見ていましたが、Terraformのドリフト検出に関する発表が多く、Terraform運用において重要なポイントなんだなと感じました。 流行りに乗ったわけではないですが、今回はTerraformのドリフト検出をAtlantisで行った方法をご紹介します。 この記事は以下環境で検証しています。 Atlantis: 0.19.8 Terraform: 1.2.8 ドリフト検出 Terraformはインフラストラクチャを安全かつ期待通りに構築するために使用する、Infrastructure as Codeのソフトウェアです。 crowdworks.jpではAWS、GitHub、GCPの管理をTerraformで行っていますが、今回はAWSに絞って話します。
はじめに SREチームの @bayashi_ok です。 今回はクラウドワークスで運営しているWordPressサイトを静的ホスティングサービスであるShifterへ移行した話を書きます。 Shifterについて www.getshifter.io 特徴は公式リンクに詳しく書かれていますが、内部の仕組みとしては DockerでWordPressを更新時に起動 WordPressのコンテンツを静的HTMLに変換しS3に配置 CDN(CloudFront)からコンテンツを配信 となっており、 フロントエンドでは、WordPressを直接公開しなくなるのでWordPress本体やプラグインの脆弱性を気にすることなく運用できる バックエンドでは、必要な時のみDockerでWordPressを起動するため、セキュリティリスクが低減される と運用上かなり助かる仕組みだなと感じました。 speakerd
CoffeeScript 辞めました はじめに こんにちは、CrowdWorks のジャンヌチームのエンジニア bugfire です。 CrowdWorks は歴史のあるサービスで CoffeeScript が利用されている箇所が大量にあります。 具体的には411ファイルありました。1 いまとなっては CoffeeScript を利用したコードを新たに書くことも少なくなり、改善するときに TypeScript で書き直されることも多くなってきました。しかし、個別に変換すると時間が掛かってしまうため、まとめて機械的に変換することにしました! 3行まとめ CoffeeScript より TypeScript の方に記述を移していきたい。 利用している Sprockets の CoffeeScript 変換コードを借用して全ファイルを変換しました。 確認は変換前後の出力 JavaScript コ
はじめに SREチームの @minamijoyo です。趣味のTerraformで遊んでいたら、先日HashiCorpさんから「Core Contributor to HashiCorp Terraform for 2022」という名の、がんばったで賞をもらいました。対戦よろしくおねがいします。 HashiCorpさんから「Core Contributor to HashiCorp Terraform for 2022」に選ばれました。わーい。https://t.co/qMzV3d2eOc 写真は頂いたTerraformマグカップです。ありがとうございます。家宝にします。最近やってることの近況などを書いた。https://t.co/6u63Bm5urZ pic.twitter.com/GDbiD6Evzf— 城陽人 (@minamijoyo) 2022年4月11日 crowdworks.j
「HTMLの前提についてはざっと知った、ステップアップできるHTMLの勉強がしたい」「人に勧められるHTMLにまつわる書籍はあるだろうか」「令和でHTMLを学ぶならこの1冊、というものがほしい」―――そうした人々のニーズを叶えてくれる書籍が販売された。 その名も「HTML解体新書」だ。 本ブログ記事は、レビュアーとして関わり本書を読んだ@okuto_oyamaによる感想と、HTMLのこれからについて考えていることをまとめたものである。 本の内容については、著者によるブログ記事にまとまってあるのでそちらを参考にしてもらいたい。 creators.bengo4.com まだまだHTMLについて知らないことがあった 私がHTMLについて始めて触れたのは、とあるブログサービスのHTML編集機能からだ。その頃は HTMLの仕様というものを知る由もなく、どういったタグを使うと画面上にどのように表示され
こんにちは。SREチームの田中 (@kangaechu)です。リモートワークで座ってばかりの生活に危機感を感じ、昨年11月頃からランニングを始めました。最初は1キロ走っただけでヒイヒイ言っていたのですが、最近は10キロくらい走れるようになりました。運動は嫌いな方だったのですが、走るのが楽しいと思えるようになったのが一番の収穫かなと思っています。 今回はALB(Application Load Balancer)のログ検索について紹介します。 3行で説明するよ AWSの公式ドキュメントの通りAthenaの設定をするとALBの過去ログが検索できない 正規表現をいい感じにすることで過去ログも検索できるようになった Athenaのテーブル作成、Terraformでできるよ crowdworks.jpのシステムログ検索: Athena システムのイベントを適宜記録し、利用状況の把握や障害時の調査、シ
はじめに こんにちは、ジャンヌチームです。 前回のVue3 移行記事に引き続き、フロントエンド周辺の改善をおこなっています。 今回は開発体験の向上を目的とした、 VRT の導入の記録となる記事になります。 VRT について VRT とは Visual Regression Testing のことで、画像による回帰テスト、つまり画像の変更をテストするものです。 クラウドワークスでは Vue3 移行に伴い、ほぼ全ての Vue.js コンポーネントで Storybook を定義しています。 この Storybook 定義を用いて、Storyshot による DOM レベルの自動回帰テストを行っています。 しかし CSS の変更におけるビジュアルテストは担保できていなかったため、VRT を導入することにしました。 VRT 調査対象 VRT を導入するにあたり、どのツールを用いるとよいか調査をしてみ
Vue.js ロゴ画像提供 : https://github.com/vuejs/art はじめに こんにちは、クラウドワークス ジャンヌチームの@bugfire、@okuto_oyama、@yizknnです。 ジャンヌチームはクラウドワークスの負債を管理下に置くことがミッションのチームです。 問題の大きさに合わせて、直接解決する場合や、他チームと連動したりこちらから依頼することもあります。 弊社のアドベントカレンダー「crowdworks.jp のフロントエンド活動を振り返る 2021」の記事で触れていた Vue 3 移行が完了したので、その報告になります。 Save the date: Vue 3 is becoming the new default version on Monday Feb 7, 2022.https://t.co/ub8L4KhPsJ— Vue.js (@vue
クラウドワークス Advent Calendar 2021 の 23日目の記事を担当させていただきます @bayashi_ok です。 普段はSREチームに所属しながら、最近は他チームも兼任しており日々様々な事に挑戦中です。 今回は、2021年 SREチームでやったこと の中にも含まれているRedashのバージョンアップの詳細をお話しできればと思います。 クラウドワークス のデータ分析事情 クラウドワークスではデータ分析基盤として古くからRedashを使用しており、長らくversion 4で動き続けていました。 しかしクラウドワークスのRedashは以下のような技術的・組織的課題を抱えておりました。 課題1. 独自実装による魔改造 クラウドワークスのRedashはOSSのものとは違い以下のような独自実装をしていました。 Googleスプレッドシート連携 GoogleGroupとのメンバ連携
この記事は クラウドワークス Advent Calendar 2021 の18日目の記事です。 こんにちは。crowdworks.jp で、市場投入までの時間短縮を目指して日々改善活動をしている高橋です。最近はCIのテスト実行時間改善に取り組んでいますので、その際に調査した内容を紹介します。 はじめに CI(continuous integration)とは、自動でアプリケーションのビルドとテストを行うDevOpsソフトウェア開発の手法です。CIの目的は、バグを早期に発見して対処することやソフトウェアの品質を高めること、そしてソフトウェアの更新を検証してリリースするためにかかる時間を短縮することが挙げられます。 crowdworks.jpでは、CIツールにCircleCIのクラウド版を利用しており、テスティングフレームワークにはRSpecを利用しています。そのため、本記事ではCircleC
この記事は クラウドワークス Advent Calendar 2021 の 11日目の記事です。 こんにちは。SREチームの@kangaechuです。 この記事ではSREチームが2021年に実施したことをまとめました。やっていることは色々で、まとまりはないですが、そこら辺はご容赦ください。 2020年の振り返り 去年までにどのようなことをしてきたかはこの記事を参照ください。 engineer.crowdworks.jp 【あらすじ】 crowdworks.jpでは2012年のサービス開始から約9年が経過していた。サービス開始当初はさくらインターネットのVPSだったが、その後AWSに移行。インフラの継続的な改善は行なっていたが、サービスの成長や技術の進化に伴い、インフラ構成のモダナイズは喫緊の課題であった。2020年までに、SREチームではアプリケーションサーバのDocker化を進めたり、C
次のページ
このページを最初にブックマークしてみませんか?
『クラウドワークス エンジニアブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く