ブックマーク / tech-blog.monotaro.com (7)

  • ドキュメンテーションを文化にする〜コミュニケーションの「ハブ」作りに取り組んだ4年間~ - MonotaRO Tech Blog

    はじめに こんにちは。プラットフォームエンジニアリング部門の池田(@progrhyme)です。 この記事では、モノタロウのテック系の部門で筆者が取り組んできた「ドキュメンテーションプロジェクト」について、下の目次の流れに沿って紹介していきます。 【目次】 はじめに 「ドキュメンテーションプロジェクト」とは プロジェクト発足の背景 ねらい(まとめ) 何をやったか ドキュメンテーションの促進 Confluence → Googleドキュメントへの移行 その結果どうだったか 上手く行ったこと 上手く行かなかったこと まとめ 「ドキュメンテーションプロジェクト」とは 初めに、プロジェクトの概要について簡単に説明します。 このプロジェクトのミッション(=目標)は主に以下の2つです。 ドキュメンテーションを通してプロジェクト内外のコミュニケーションを効率化し、業務プロセスの効率を上げる 社内のドキュメ

    ドキュメンテーションを文化にする〜コミュニケーションの「ハブ」作りに取り組んだ4年間~ - MonotaRO Tech Blog
  • リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog

    どうも、レコメンド商品のシステム開発をしている野川と申します。 私は、2021年にモノタロウに新卒入社し、2022年5月からレコメンド商品の開発に関わり始めました。 モノタロウのレコメンド商品は、下の図の①~④の流れでクライアントサイドで表示しています。大部分の処理はJavaScriptで構成しており、UIもそのHTML部分をjQuery(JavaScript)で作成しています。 図:レコメンド商品表の流れ 入社当時私は、ソフトウェアエンジニアとして、「可読性の低いコードは駆逐するべきだ」「読みやすいコードだけが正義である」「理解しやすいシステムだけが皆を幸せにする」と心の底から考えていました。加えて、「なぜ先輩たちは可読性の低いコードを放置して平気なのか?」と疑問を持つこともしばしばありました。 レコメンド商品周りのコードはまさに可読性の低いコードベースとなっていたため、当事者となった私

    リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog
  • Software Design連載 2021年12月号 リリース作業とエラー追跡の改善 - MonotaRO Tech Blog

    新年あけましておめでとうございます。モノタロウでエンジニアをしております大西です。年もよろしくお願いいたします。 年もMonotaRO Tech Blogでは社内の様々な取り組みを定期的に更新して参りますので、お時間の空いた際にお読み頂けると嬉しく思います。皆様のお役に少しでも立つことができれば幸いです。 今回は、リリースにかかる時間の増加や、リリースに関する作業の属人化を体制変更によって解消した経緯と、大規模な開発体制におけるリリース作業や監視業務でのエラーやアラートの管理方法についてご紹介します。 記事の初出は、 Software Design2021年12月号「Pythonモダン化計画(第5回)」になります。 過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか

    Software Design連載 2021年12月号 リリース作業とエラー追跡の改善 - MonotaRO Tech Blog
  • Software Design連載 2021年10月号 スナップショットテストの可能性を追求する - MonotaRO Tech Blog

    こんにちは、辰巳です。 第3回は「スナップショットテスト」をテーマにお送りします! 「組織が拡大する中で、十分な設計情報がない状況でも、複雑に改修が積み重なったソフトウェアをいかに安全かつ正確に変更できるか?」 記事では、数多くの大幅なシステム変更の経験を経て、この課題に対してモノタロウがいま実践しているグッドプラクティスを紹介します。 記事の初出は、 Software Design2021年10月号「Pythonモダン化計画(第3回)」になります。過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか 第2回 Software Design連載 2021年9月号 「テストが無い」からの脱却 スナップショットテストの可能性を追求する モノタロウは、事業者向けの間接資材を販売

    Software Design連載 2021年10月号 スナップショットテストの可能性を追求する - MonotaRO Tech Blog
    kinushu
    kinushu 2021/10/21
  • Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog

    こんにちは、鈴木です。 「テストが無い」状態を脱却しました。 「いつの時代かよ!」と突っ込まれるかもしれませんが、モノタロウは創業から 20 年ほど EC をやっています。昨日書いたコードも、15 年前に書いたコードも、元気にビジネスを支えています。 記事ではモノタロウの EC を支える API の話をします。「テストが無い」状態がスタートラインでした。そこから、CI を導入して、ローカル開発環境の整備して、テストコードを書いて、リリースマネジメントを導入しました。 目新しいことは書きません。長寿の大規模システムであっても、愚直に数年取り組むことで、「前進できる!」「変えられる!」という実例を書きます。 ※記事の初出は、 Software Design2021年9月号「Pythonモダン化計画(第2回)」になります。第1回の記事は「Software Design連載 2021年8月号

    Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog
  • EOL対応はシステム見直しを行うベストタイミングである - MonotaRO Tech Blog

    今回のミッションと問題 テスト環境 テストの方針 全体像を知ったからできたこと テストを通じてあるべき姿を知る まとめ こんにちは。モノタロウで開発担当している竹原です。 皆さんは、EOL対応についてどのようなイメージをお持ちでしょうか? EOL(End Of Life)とは、ハードウェアやソフトウェア製品の販売や生産、ベンダーのサポートや修正・更新プログラムの提供終了を意味します。EOLを放っておくと脆弱性や不具合を抱えたまま運用することになりかねないため、基的には対応必須です。 とは言いつつも、不具合を出すリスクもあり作業内容としては広範囲のテスト作業となるため、入れ替えるハードウェアやソフトウェアに劇的な機能向上が無ければ、コストに見合う価値が得られません。しかし、確認範囲が広いという点を逆手にとるとシステム全体を見直す良い機会でもあります。 今回、私のチームでPythonのEOL

    EOL対応はシステム見直しを行うベストタイミングである - MonotaRO Tech Blog
  • スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog

    どんなことが起こったのか? モノタロウのサイトの監視について レイテンシ監視 トラフィック監視 エラー監視 リソース監視 ログ トラブルシュートの進め方 発生検知 発生箇所の特定 根原因の調査 強化 課題 おわりに SREチームの市原(@ichi_taro3) です。 モノタロウでは、www.monotaro.com という大規模なECサイトを自社で開発、運用しています。 Webアプリケーションの運用ではトラブルはつきものです。今回は、とあるトラブルシュート事例を軸に、どのように運用を改善しているのかについて紹介します。 どんなことが起こったのか? あるとき、モノタロウのWebサービス全体でレイテンシ悪化やバックエンドAPIへのタイムアウトの増加が頻発したことがありました。 当然これらは歓迎される状況ではなく、すぐに開発者やSRE、インフラチームの担当者が集まり調査を開始しました。現象は

    スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog
  • 1