サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
product.10x.co.jp
10xall.notion.site 10Xセキュリティチームの沢田(@swdyh)です。10Xアドベントカレンダー2024 の26日目の記事です。昨日は@yutatatatata さんの「商品データの裏側を覗く:意外に知らない商品IDの世界」という記事でした。自分も商品データに関する開発をしていた時期がけっこうあったので、奥が深くて面白いなと思って読みました。 先日、情報処理安全確保支援士の試験を受けたのですが、今日が結果の発表日でした。結果は不合格でした。JavaScriptのコードができてたり、画面を描く問題あったりして面白く解いてたはずだったんですが、午後の点数が57点で、あと1歩でした。またがんばります。 今日の記事では、セキュリティチームの日々の取り組みについて紹介したいと思います。 プロダクトの設計と実装レビュー 社内で書かれたDesign Docに一通りチームで目を通すよう
この記事は10Xアドベントカレンダー2024の18日目の記事になります。 昨日はJOJOさん(@joj0hq)が「10Xのエンジニアとして入社から2年目を振り返る」という記事を公開しているので、そちらもぜひご覧ください。 はじめに 取り組んだプロジェクト 類似商品検索の実装 新しい検索精度モニタリングの導入 トップ画面での推薦枠A/Bテスト アルゴリズム アーキテクチャ 検索系RPCのレイテンシ改善 ボトルネック 効果 Elasticsearchのバージョンアップ 課題 互換性の調査 リリース手順 バージョンアップによるパフォーマンス改善 これからの取り組み LLMの活用 リランキング おわりに はじめに こんにちは、10Xで検索推薦の機能・基盤の開発運用を担当している安達(id:kotaroooo0)です。 2024年1月に入社し、もうすぐ1年が経ちます。 今回はこの1年間を振り返り、印
こんにちは、10X プロダクトデザイナーの日比谷(@suuminbot)です。 現在10Xでは新規プロダクトを複数開発している真っ只中ですが、私もその一環でshadcn/uiとTailwind CSSを活用しつつ、SaaSのサービス画面(管理画面)用のコンポーネントライブラリをゼロから構築していました。 少し前に一通り最低限必要なコンポーネントをFigma・実装ともに作りきり、現在は実際にそのコンポーネントライブラリを使って自分自身が複数のプロダクトのUIを作ったり、開発が進んでいる様子を見ているところです。 このブログでは、今回取り組んだことや学びをご紹介していこうと思います。 新規構築の経緯 外部コンポーネントライブラリのあるある課題 自分たちのプロダクトに合った形のコンポーネントライブラリを、クイックに立ち上げたい 「クイックな立ち上げ」と「こだわり」を両立できるshadcn/ui
10X在籍8年目、取締役CTOのishkawaです。 この記事は10Xアドベントカレンダー2024の3日目の記事です。 メイン事業であるStailerは現在5年目です。 自分はプロダクト開発を統括する立場として、プロダクト戦略立てたり、開発プロセスの整備の旗振りをしたり、開発体制を調整したり、採用活動に奔走したりと、色々な取り組みをしてきました。そして今、何に注力しているかというと、コードの立て直しです。 なぜコードの立て直し? プロダクトを5年くらい開発していると、開発速度は当初と比べて落ち着いてきます。その要因は色々あると思いますが、自分は「事業やプロダクトのフェーズの変化による規模や複雑度の変化」と「規模や複雑度に対する技術的な適応度」の2点に着目しました。 前者はプロダクトマネジメントのトピックです。Stailerでは、自分たちが持つ強み、組織の規模、得られる事業成果、運用にかかる
こんにちは、セキュリティチームの@sota1235です。 突然ですが、ソフトウェアエンジニアの皆さんに質問です。他者に漏らしてはいけないAPI keyやSSHのprivate keyを誤ってGitHubにpushしてしまったことはありますか?私はあります。*1 日々、スピード感を持ってものづくりに臨んでいく中で本当はcommitしてはいけないものを間違ってcommitしたり、それに気づかずにGitHubにpushしてしまうなんてことは人間がミスをする生き物である以上、誰にでも起きえる事故です。 今回はそんな事故を検知するのにtrufflehogを活用しているお話をします。 なお今回は事故を未然に予防する話には触れません。 github.com credentialsを誤ってGitHubにpushすることのリスク credentialsとは credentialsのあるべき管理方法 GitH
10X ソフトウェアエンジニアの @metalunk です。ネットスーパー、ネットドラッグストアのプラットフォームである Stailer 事業で、機械学習(ML)と検索を専門として働いています。 2024年4月からいま(2024年8月)までの5ヶ月間で6つの推薦機能をリリースできました。この成果を支えたのはチームと ML platform(機械学習の基盤システム)です。このブログではチームの取り組み、ML platform の機能、および具体的な成果についてご紹介します。 このブログは技術ブログの体ではありますが、さまざまな業界、職種の方に読んでいただくことを目指して執筆しました。 (3) 章, (5) 章だけは機械学習に取り組んでいる人向けの内容を含みますので興味のない方は読み飛ばしてもらって結構です(機械学習に取り組んでいなくても興味のある方はぜひ読んでください)が、それ以外は IT
こんにちは、セキュリティチームの@sota1235です。 セキュリティチームでは昨年の夏頃からGitHub上のセキュリティリスクを洗い出し、順に対応や改善を行っています。 そのうちの1つとして、昨年の秋ごろからGitHubのPersonal Access Tokenの取り扱いの改善を行ってきました。 具体的には以下の取り組みを行いました。 CI等で利用されているPersonal Access Tokenの利用廃止 OrganizationにおけるPersonal Access Token(classic)の利用禁止設定 今回はこの2つの取り組みについて、どのような課題設定を行い、どんな手順で完了したのかをお話しします。 以下のような課題感、疑問をお持ちの方に対する1つの回答になりうると思うので該当する方はぜひご一読ください🙏 GitHubにおけるPersonal Access Token
こんにちは、ソフトウェアエンジニアの@futaboooです。 先日スクリーンリーダーへ対応したプレスリリースを配信しました。今日はその裏側について紹介です。 10x.co.jp はじめに とあるパートナーのネットスーパーシステムをStailerへリプレイスして少しすると、お客様から「今まで使えていたのに使えなくなった!」という切実な声が届きました。この問い合わせを通じて、視覚障害者のお客様がスクリーンリーダーを使って買い物をしていたこと、そしてStailerがそのニーズに応えていないことに気づきました。 そこで、我々は視覚障害者のお客様へのヒアリングを開始し、どのような環境でアプリを使っているのか、使用しているデバイスやスクリーンリーダーソフトウェアの種類など、具体的な情報を収集しました。このプロセスを通じて、アプリがより多くの人々にとって使いやすいものになるための重要な改善点を発見しまし
はじめに 前提 背景と課題 対応方針 StailerのElasticsearchに関する特性 要件 スケールイン・アウトではなくスケールアップ・ダウン リソース負荷トリガーではなくスケジュールトリガー 設計 cloud-sdk-goでの処理 モニタリング おわりに はじめに こんにちは、検索エンジニアの安達(id:kotaroooo0)です。 10Xで検索基盤・検索機能の開発運用をしています。 最近は推薦システムの開発もちょっとやり始めました。 負荷に合わせてElasticsearch(ElasticCloud)をスケーリングする機能を作りコスト削減したので、その取り組みについて経緯と内容を紹介します。 前提 背景と課題 10Xでは小売チェーン向けECプラットフォームStailerにおいて、検索機能の開発運用にElasticsearchを利用してしています。 Elasticsearchクラ
データ基盤チームに所属しているデータエンジニアの吉田(id:syou6162)です。10X社内のデータマネジメントの仕事をしています。 最近、社内でディメンショナルモデリング勉強会を行なったですが、なぜ勉強会を行なったのか、どのように行なったのか、勉強会を行なった結果何が得られたかについてまとめます。 ディメンショナルモデリング勉強会開催の背景 勉強会の進め方やスコープ 勉強会の参加者 勉強会で学んだ内容 Four-Step Dimensional Design Process キーの設計について 複数スタースキーマを適切に利用し、ファントラップを避ける コンフォームドディメンション まとめ: 勉強会で得られたもの ディメンショナルモデリング勉強会開催の背景 前回のエントリにまとめた通り、10Xのデータマネジメントの課題の中でも「データウェアハウジングとビジネスインテリジェンス」は優先度が
データ基盤チームに所属しているデータエンジニアの吉田(id:syou6162)です。10X社内のデータマネジメントの仕事をしています。 10X社内では2022年10月にデータマネジメント成熟度アセスメントを実施していましたが、それから約一年半が経過し、データマネジメント上の課題が進捗 / 変化した箇所が出てきました。そこで、最近の成果を振り返りつつ今後のデータマネジメントの方針を改めて見直すため、データマネジメント成熟度アセスメントを再度行なうことにしました。本エントリではその内容についてまとめます。 前回のデータマネジメント成熟度アセスメントへの取り組み 今回のデータマネジメント成熟度アセスメントのやり方 成熟度アセスメントの実際の結果 前回実施時との差分が大きかった項目 データセキュリティ データ品質 メタデータ 優先度が高かったにも関わらずあまり進まなかった項目 まとめ 前回のデータ
こんにちは、セキュリティチームでソフトウェアエンジニアをしてる@sota1235です。 明けましておめでとうございます!本年も10X Product Blogを何卒よろしくお願いします。 さて、今回はセキュリティチームで今年の6月ごろから取り組んできたGitHub Dependabot Alertの削減についてお話しします。 サマリーとしては以下です。 今年の6月頃から取り組みを開始 初期はセキュリティチームで毎日トリアージ、泥臭くAlertの対応を行う 主要なRepositoryのAlertは一通り解消、一部は担当チームへの移譲等を行い継続的に維持できる状態へ 結果として半年間で500件弱のAlertをcloseし、残ってるAlertも対応方針が全て確定した状態になりました。 この数が多いか少ないかはソースコードの規模感にも依存するので言及しませんが、この記事では小さいリソースで取り組み
こんにちは。セキュリティチームでソフトウェアエンジニアをしてる@sota1235です。 この記事は10Xアドベントカレンダーの13日目の記事です。 www.notion.so 昨日の記事はSuzuki Ryotaさんのお届けチームでオーナーシップを持っていくぞでした! 今回はGitHubの監査ログを定期的にexportし、保存する仕組みを作った話をします。 監査ログとは GitHubの監査ログ GitHubの監査ログは永久には保存されない 監査ログの出力方法 この記事の本題 監査ログ出力の仕組み ざっくり要件 技術選定 ログの保存場所 ログの取得処理 ログの取得・保存処理はGitHub Actionsで行う 全体像 1. BigQueryに最新データを取得しに行く 2. 監査ログを取得する 3. 監査ログを保存する 権限管理 監査ログに含まれるデータについて考える 具体的にどこに制限をつけ
この記事は 10X アドベントカレンダー2023 の10日目(12/10)の記事です。9日目(12/9)の昨日は、 id:takanamito さんによる「grpc-dartのInterceptorを使う」でした。 10Xのお届けチーム エンジニアリングマネージャー(以下, EM)の id:hisaichi5518です。10Xではソフトウェアエンジニアとしてサーバサイド、Android、iOS、Flutterと色々やってきて、今は「人を動かして、ことを成す」を目指してEMとして活動しています。 今回は、自分が担当しているお届けチームについて「どんな雰囲気なのか」「どういうチームを目指しているのか」「具体的な活動」について書いていこうかなと思います。書き終わって気付いたんですが、今年のテーマは"開発・プロダクト"らしく、ちょっとテーマに沿ってない感があるけどまあいいかってなりました。人生って
10X の Kubernetes おじさん兼娘ちゃん好き好きおじさんこと SRE の @tapih です。 この記事は 10X プロダクトアドベントカレンダー2023 の 8 日目の記事です。昨日は PdM の @enaminnn さんの記事でした。 note.com 本記事では、 2023 年 1 月頃に行っていたインフラコスト削減の施策についての話をご紹介します。 施策を行った背景 Goals / Non Goals Node pool の命名規則 Pod の移行 AOT コンパイル リソース設定 振り返り インスタンスコスト削減 CronJob 実行時間の短縮 リソース使用の安定化 今後について マニフェストレポジトリの統一と自動化 Re-architecture の機運 Wrap up 施策を行った背景 弊社が提供している Stailer では、サービスローンチ当初から Kuber
CTOのishkawaです。 この記事は10X アドベントカレンダー2023の3日目の記事です。 先日、サーバーサイドのメンバーを中心として、コードをどのように分割管理していくか話すオフサイトを実施しました。オフラインで1日中話していたこともあり、話題は色々な方向に進んだのですが、その中でもモノリス解体にトピックを絞ってシェアしたいと思います(他の話は他のメンバーが書いてくれるはず!)。 前提 10Xには4つの開発チームがあります(お買い物チーム、お会計チーム、お届けチーム、マスターデータチーム)。今年の4月にチーム分割が始まり、コードやデータのオーナーシップも各チームにアサインしてきました。 この組織移行によってオーナーシップ分割は進んでいるものの、依然としてモノリスのパッケージ(Dartのパッケージ)は大きいままで、ほとんどのコードがそこにある状態でした。領域ごとのディレクトリ分割は進
この記事は 10X アドベントカレンダー2023 という企画の1日目(12/1)の記事です。 こんにちは、10Xでソフトウェアエンジニアをしている 岡野(@operandoOS)です。 今回 10Xで3回目となるアドベントカレンダー企画の1日目をありがたく担当させていただきます💪 目次 目次 10X アドベントカレンダー2023ってなに? さてさて、本題へ CIは絶対に速い方がいい CIを高速化するテクニックの紹介 キャッシュの利用 マシン性能の調整 ジョブの並列実行とテスト分割 最適なテスト分割 ジョブの実行順序・依存関係の最適化 不要なジョブ・ステップを削除する テストコードの実行速度を上げる 紹介したテクニックを活用した10XでのCI高速化事例 アプリのビルド時間の大幅短縮に成功!! APIのテスト実行時間の大幅短縮に成功!! CIを高速化するために日々取り組んでいること CI/C
こんにちは、10Xでコーポレートエンジニアをやっているハリールです。このブログは 会議全部ふっとばして社員の集中力を10xした話(バッグバン) の付録として会議ビッグバンの実現方法についてまとめたものになります。 はじめに 結果的に多くの成果とポジティブフィードバックで完遂できた10Xの会議ビッグバンですが、udonさんのアイデアを初めて聞いた時に、実は強めに反対していました。 実行することで得られるメリットは理解できるものの、安全に実行するためのロジックの準備やテスト期間が短いこと、なによりまずは段階的にルール策定と啓蒙を行い、それでもイシューが解決できない場合に、次のステップとして会議ビッグバンの流れがよいのではと当時は思っていました。 そんな私に対して、それならばとまずは特に会議が多いメンバーに対して実態をヒアリングし、そのほぼ全員が賛同している点、また、ロジック準備・テストのための
こんにちは!経営企画の仕事をしているudonです。1年半前の見習いQA以来、2度目の文章です。今回は10X社内の会議のルールを整理し、そして全社員の未来のカレンダー予定を一旦全部消す、通称「ビッグバン」の第一回を実施したのでその背景や内容について書きます。 (イメージ) 10Xでは社内におけるコミュニケーションを大きく「同期」「非同期」に分けています。同期は会議や突発的な電話など同じ場にいることが前提であるコミュニケーションを指し、Slackなど非同期は必ずしも同じ時間での往復を前提としない文章やドキュメントによるコミュニケーションを指します。入った当初は「ドウキ・・?ヒドウキ??」とドキドキしてた私ですが、2年も経つと慣れてしまいました。慣れって怖いですね。 話が長いという皆様の期待を裏切ることなく、タイトルにもなっているビッグバン(会議の全削除)の話にいくまで5,000文字嵩んでしまっ
こんにちは、セキュリティチームの@sota1235です。 10Xのセキュリティチームではプロダクトに近い領域での権限管理に関して、リスク整理と対応を日々行なっています。 今回はその取り組みの一環であるGitHub Actionsのpermissionsに関しての取り組みをご紹介します! なぜやるのか そもそもこの取り組みを始めたWhyを軽く説明します。 10XではGitHubで日々の業務が行われており、守るべき資産の数多くがGitHub上で管理されています。 また、アプリケーションのデプロイや日々の運用などもGitHub Acitonsを利用しながら行われており、もしGitHub上で何かしらのセキュリティリスクが顕在化した時のダメージは大きいです。 例えば守るべき主な資産は以下が挙げられます。 Git管理されているソースコード 業務上のやり取りが行われるIssue、Pull Request
こんにちは。品質管理部のブロッコリーです。 現在、品質管理部ではQA(Quality Assurance, 品質保証)エンジニア、テストエンジニア、シニアテストエンジニア、SET(Software Engineer in Test)の募集をしています。 この中で、10Xが目指している品質管理部全体の姿については、以前に記事にしています。(記事公開当時は「品質管理部」ではなく「QAチーム」と表現しています) product.10x.co.jp 品質管理部全体については示したものの、SET職種について明確に何を求めているのか示すことができていませんでした。そのため、SETで応募しようか悩んでいる方にも分かりづらい形になっていたと思います。 そこで10XにおいてSETに求めることを言語化したので、本記事ではそれを紹介していきます。 本記事で言いたいことを3行で ただ単にテストコードを書くことでは
Analytics Engineerの吉田(id:syou6162)です。BigQueryを中心に10X社内のデータ管理の仕事をしています。 最近、データカタログの本格導入の準備を進めていて、それに向けた補助ツールとしてdbt-osmosisもゴリゴリと使い倒すようになってきました。その中で「10Xでの運用を考えるとこういうケースで困るし、前職までの経験を踏まえると解決できると他社でも役に立ちそう」「この挙動は普通にバグっぽいな...」というものがあったので、立て続けにPull Requestを送りました。ありがたいことに全部マージしてもらえましたが、せっかくなのでデータカタログの導入に向けてdbt-osmosisを採用した背景やどういったPull Requestを送ったか紹介します。 データカタログ導入の必要性 メタデータをいかに効率よく入力するか: dbt-osmosisの導入 取り込
こんにちは。 品質管理部のtarappoです。 早いもので2023年度も1Q(4月〜6月)が終わって上半期も後半戦です。 品質管理部は、次の記事に書いたとおり4月から組織体制を変えました。 上記の記事の執筆時点からさらに体制は変化しています。 ざっくりと執筆時点での体制を図にすると次のような感じです。 以前はチームへのアサインが固定化されてないメンバーもいましたが、今は各開発チームへのアサインは固定化されています。 上記のブログ記事や登壇含め、体制変化については伝えているものの、この体制になって各チームでどういったことを行なっているかについては話していません。 そこで、本記事ではこのチーム体制になってから各開発チームでの品管メンバーの動きについてフォーカスして話したいと思います。 その中で、まずは私が所属する「お会計チーム」についてフォーカスして話したいと思います。 開発チームごとの動きと
Analytics Engineerの吉田(id:syou6162)です。BigQueryを中心に10X社内のデータ関連の管理をしています。10Xに入社してそろそろ一年になろうかとしていますが、データ基盤を適切に管理 / 運用するためにSQLによる監視を少しずつ取り入れています。この記事では、具体的にどのようなSQLを書いて監視しているのか紹介したいと思います。 なお、SQLを使ったデータ基盤の監視自体については私の前職のTech Blogで詳細に書いていますので、そちらを参照してください。 SQLを使った監視でデータ基盤の品質を向上させる - MonotaRO Tech Blog データ管理に役立つメタデータに関する勉強会を社内外で開催しました - MonotaRO Tech Blog 本エントリはこれをベースに「dbtをフルに活用している10Xの環境向けに入れた監視」や「BigQuer
こんにちは、Software Engineerの@sota1235です。最近の趣味はギター練習です。 今回は私が所属するセキュリティチームで新たにソフトウェアエンジニアを募集し始めた話をします。 採用目的が全開みたいなタイトルになっていますが、伝えたいことは「セキュリティエンジニアだけでなくソフトウェアエンジニアをセキュリティチームで募集するに至った」背景です。 10Xのセキュリティチームが組成されてから1年半でどのような変化があり、どんな課題を解決するためにこの意思決定に至ったのか。なぜソフトウェアエンジニアが必要なのか。 スタートアップにおいてプロダクトのセキュリティ品質を担保するための体制をどう組み立てていくかの一例として参考になれば幸いです。 目次 目次 ソフトウェアエンジニア(Product Security Ops)とは なぜソフトウェアエンジニアの募集をするのか 1. 現在の
障害プロセスを改善してきた話 こんにちは。Reliability & Securityチームに所属するSoftware Engineerの@sota1235です。 今回は10X内における障害対応プロセスの改善をご紹介します。 今が完成系ではなく道半ばではありますがこの半年 ~ 1年で大きく進化したので同じくらいのフェーズの会社で困ってる方がいたら参考にしてみてください! ちなみに私ごとですが去年の5/26にこんな投稿をしてたのでやっと伏線を回収する形となります(※ ドヤ顔ではありません)。 目次 こんな感じで紹介していきます。 目次 障害対応プロセスの改善に踏み切った背景 課題1. 障害の報告フォーマットが統一されていない 課題2. 障害報のクオリティの差異が大きく後から振り返りが難しい 課題3. 障害対応者が特定の人に偏る 第一の改善 改善1. 障害報告書のフォーマット更新 改善2. S
CTOのishkawaです。 10Xの開発チームは、4月1日からドメインベースの開発体制に移行しました。 ここで言うドメインとは、注文やピックパックや配達などの業務領域を指す言葉です。ドメインベースの開発体制に移行するということは、開発チームの分割単位をドメインにして、各ドメインを担当する開発チームが決まっている状態にするということです。 組織移行の背景 これまでは、開発チームの分割単位をパートナー企業としてきました。各パートナー企業を担当する開発が決まっているため、パートナー企業の目線でプロダクトの未熟な面があっても迅速に対応できますし、それによって事業機会を掴めたケースもありました。 一方で、プロダクトを開発運用する中で以下の課題も出てきました。 認知コストの増大: Stailerは多様なドメインを抱えるプロダクトなので、すべてのドメインを理解するのは至難の業です。一方で、パートナー企
デザイン部のmaasaです。春ですね。 冬眠から目が覚めたクマさんも小躍りを始めているころでしょう。 私の家の目と鼻の先では、熊の親子がお散歩している様子が目撃されておりました。(※) 10Xのデザイン部も4月から4名体制になったことでわくわくが止まりません。 (※) これを書いている当の本人ですが、3月より北海道から働いております。詳しくは以下を参照。 note.com 昨年度下半期はいかに限られたリソースの中でできることを模索し、並行して採用活動を進めるということに注力していました。 チームが4人になったことで、「ユーザー体験をよりよくするための取り組みを戦略的に思考し、アクションに移せる体制の土台」ができました。 なお、デザイナー採用は引き続き継続しております。 募集要項はこちら open.talentio.com open.talentio.com さて、本題に入りましょう。 4月
はじめに こんにちは!お会計チームの yamakazu (@yamarkz) です。 10Xでは4月から新しい期が始まるため、最近はバタバタしています。新しい組織や取り組みが始まってきていて、今年度はこれまでとはまた違った大きな変化が生まれそうで楽しみです。 さてそんな今回は期の変わり目ということもあり、 節目として「Stailerの開発を支える取り組み」を紹介します。 取り組みはプロダクトの規模や性質、組織構造、願望によって変わる唯一無二の存在で、各社様々な工夫を凝らして、より良い開発体験を追求していると思います。 自分たちもその時々の状況に合わせて、最適なやり方に変えて開発してきました。 今後も取り組み自体は変わっていくと思いますが、2023春時点での取り組み状況 (仕組み / ルール / 文化 / ツール) をスナップショットとして取り上げみようと思います。 はじめに 前提 取り組み
次のページ
このページを最初にブックマークしてみませんか?
『10X Product Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く