タグ

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

  • リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog

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

    リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog
  • 社内ChatGPTを使ったGASアプリ開発の完全解説!業務改善の高速化を実現 - MonotaRO Tech Blog

    こんにちは。エンタープライズソリューショングループの石川です。大企業連携システムの基盤の開発や運用を担当していて、日々発生するエラーの監視や調査も行っています。今回は手間と時間がかかりがちだったエラー調査を、ChatGPTを使って改善した話をします。 エラー調査の背景 カタログサイトの概要とエラー発生時の影響 注文受付が影響を受ける理由とエラーの具体例 エラー発生時の調査手順 1. 注文受付へのリクエストがないか確認 2. 購買システムに注文情報を再送信する仕組みがあるか確認 3. 再送信の仕組みがない購買システムの場合は、社内の担当グループに対応依頼 MonoChatに聞きながらGASアプリケーションを作成 実現したかったこと 改善のためのアプリケーションを作成 改善の費用対効果 振り返り エラー調査の背景 カタログサイトの概要とエラー発生時の影響 大企業連携は、各企業様が持つ購買システ

    社内ChatGPTを使ったGASアプリ開発の完全解説!業務改善の高速化を実現 - MonotaRO Tech Blog
  • GitHub導入: よくある案件成功のコツと負担の事前コントロールで運用開始! - MonotaRO Tech Blog

    こんにちは、鈴木です。 GitHub Enterprise Cloud が使えるようになりました! オンプレミス版の Enterprise Server とは異なり、バージョンアップ作業やサーバ保守などの運用がないので快適です。 GitHub Enterprise Cloud の導入は、サービスを導入する経験として多くの学びがありました。知見をまとめて社内のテックカンファレンスで発表したので、その資料を公開します。 発散させる役割と収束させる役割の両方が必要なのだと思います。 こういうこと、ありますよね。いわゆる「タバコ部屋の会話」ですが、少人数が集まり雑談が発生する場(休憩スペースや昼、飲み会など)では発散する方向の会話が生まれやすいです。 こう思ったんです。「今は発散する方向に話が偏っている状態なので、収束させる方向の行動が必要ではないか」と。 勢いはあるけど、勢いしかない気運案件。

    GitHub導入: よくある案件成功のコツと負担の事前コントロールで運用開始! - MonotaRO Tech Blog
  • 66分かかる同期処理を10分以内に短縮せよ!~商品情報同期システムでの、処理速度と運用の改善~ - MonotaRO Tech Blog

    はじめに この記事では、モノタロウの基幹系を構成するシステムの一つである、商品情報管理システム(PIM:Product Information Management システム)の導入プロジェクトで、商品情報を基幹系と同期するシステム(商品情報同期機能)の性能や運用環境の改善を行った話をご紹介します。 背景 モノタロウの基幹系は、長年内製のシステムで支えられてきました。基幹系のシステムは、少数のWebアプリケーションと多数のバッチから構成されています。中でも商品情報の管理に関するシステムは、在庫や仕入先に関するシステムと一体化していて、商品情報に関する数多くのマスタメンテナンス画面を備えたやや複雑なシステムです(図1)。 図1 基幹系の概略図 当社のシステムは、もともと自分たちのビジネスに必要な機能を提供する手頃なパッケージ製品がなかったため、すべてを内製でまかなってきたという経緯があります

    66分かかる同期処理を10分以内に短縮せよ!~商品情報同期システムでの、処理速度と運用の改善~ - MonotaRO Tech Blog
  • 全社員からデータ基盤への問い合わせが殺到して2人では捌けなくなったので仕組みで解決する話〜datatech-jp Casual Talks #2 登壇後記〜 - MonotaRO Tech Blog

    データ基盤グループの吉です。 今回は先日開催されたdatatech-jp Casual Talksで登壇した内容について補足も含め紹介します。 datatech-jp.connpass.com 発表資料はこちらです。 データ基盤に関わる問い合わせ対応を仕組みで解決する from 株式会社MonotaRO Tech Team www.slideshare.net 発表内容の背景(問い合わせ対応における課題) 発表したこと 発表の反響 最後に datatech-jpは主にデータエンジニアリングやデータ活用に関わる方が参加するコミュニティで、DWHやデータマネジメント、データエンジニアリングに関わる技術、ツールなどについて知見を共有したり、輪読会やLT会のようなイベントを実施しています。 オーガナイザーとして同社同僚の吉田(id:syou6162)が参加しています。 その中でCasual

    全社員からデータ基盤への問い合わせが殺到して2人では捌けなくなったので仕組みで解決する話〜datatech-jp Casual Talks #2 登壇後記〜 - MonotaRO Tech Blog
  • Dockerコンテナに開発環境を構築し、良質な開発者体験を維持した話 - MonotaRO Tech Blog

    モノタロウのCRMグループでバックエンドエンジニアをしている新盛です。 モノタロウのCRMグループでは、主に顧客管理を中心に、フルスクラッチの基幹システムを運用しつつ、部分的にパッケージソフトや最新の技術を導入することで、増加する売上を支える事ができるシステムを目指して、システムのモダナイズに挑戦しています。 note.com モダナイズを進めると新技術を用いたシステムを取り扱う機会が必ず訪れます。従来の業務に支障なく、新しい技術を取り入れるためには様々な工夫が必要になります。 今回は引継ぎという場面で定常業務への影響をなるべく抑えて環境構築の容易化と開発者体験の両立を実現するためにDockerコンテナが活用できた話をします。 背景 課題 開発環境をDockerでコンテナ化するメリット Dockerコンテナを用いた環境構成 Dockerコンテナのシステム要件 DockerコンテナからDoc

    Dockerコンテナに開発環境を構築し、良質な開発者体験を維持した話 - MonotaRO Tech Blog
  • 初めての技術選定を頼まれた時に大事だったのは俯瞰的・相対的な考え方だった - MonotaRO Tech Blog

    背景 お題 技術の差別化 差別化から分かること 情報資産からToBeを考える 俯瞰的・相対的な技術選定 これまでの話から学んだこと 最後に はじめまして、MonotaROでデータエンジニアをやっています、芝です。 エンジニアのみなさん、技術を使って何か作ってみるのって楽しいですよね。 私は、公私ともに日々物作りに励んでいます。プライベートだと、最近はマイクロフロントエンドについて学んでいます。 技術を使うためには、技術を学ばなければいけません。 プライベートにおいては、好奇心に従って自由に学びますよね。 とりあえずgit cloneして動かしてみたり、書籍を購入して読んでみたりします。 というようにプライベートでは主に次のような選択肢があると思います。 書籍を読んで好きなものを選ぶ 実際に手を動かしてみて好きなものを選ぶ 人に教えてもらって好きなものを選ぶ 基的にプライベートの場合は何

    初めての技術選定を頼まれた時に大事だったのは俯瞰的・相対的な考え方だった - MonotaRO Tech Blog
  • 20 万行超のコードベースをテストせずにリファクタリングリリースした話 - MonotaRO Tech Blog

    こんにちは、鈴木です。 20 万行を超えるアプリケーションのほとんど全てのソースコードを変更し、テストを行わずに番リリースしました。 「それってテストいるんですか?」問題 いきなりですが質問です。ソースコードを 1 バイトでも変更したら再テストする必要はあるでしょうか。「絶対に再テストすべき」という方もいれば、「状況によるしケースバイケースかな・・」という方もいらっしゃると思います。 ケースバイケースと考える方は、どのような場合にテストを行わなくて良いと考えるでしょうか。例えば、コメント内の誤字を修正した場合はどうでしょうか。ローカル変数の名前を typo していたので修正した場合、デッドコードを削除した場合はどうでしょうか。 こんなことがありました ある日、Python のソースコードを眺めていると、「# $Id」のような CVS 時代のコメントがありました。いまやソースコードは Gi

    20 万行超のコードベースをテストせずにリファクタリングリリースした話 - MonotaRO Tech Blog
  • 1