タグ

tsuwatchのブックマーク (3,228)

  • エンジニアがROIに向き合ってみたら起こったこと - RAKSUL TechBlog

    この記事はラクスルの2022年アドベントカレンダー8日目です。今日はエンジニアがROIを考えるようになった結果起こった変化や、私のチームでのROIの計算方法についてご紹介したいと思います。 自分と所属しているチームの紹介 改めまして、ノバセル株式会社でデータエンジニアをしているyamnakuと申します。最近は登山やキャンプなどアウトドア活動にはまっている新卒2年目です。twitterもぜひフォローしていただけると嬉しいです。Snowflakeに関する話題が多めです。 みなさまYoutube Liveご視聴いただきありがとうございます! 先ほど検証内容の記事を公開いたしました! Liveでご紹介できなかった部分の検証もあるので、是非ご一読いただければと思います〜😃#SnowVillage #SnowflakeDBhttps://t.co/ltJle79TXz— yamnaku (@yamn

    エンジニアがROIに向き合ってみたら起こったこと - RAKSUL TechBlog
  • 開発生産性の現在地点~エンジニアリングが及ぼす多角的視点 / Current status of development productivity

    2024/2/15 Developers Summit 2024 登壇資料 https://event.shoeisha.jp/devsumi/20240215

    開発生産性の現在地点~エンジニアリングが及ぼす多角的視点 / Current status of development productivity
    tsuwatch
    tsuwatch 2024/02/16
    ちょうど今取り組んでる内容なので参考にさせてもらいます
  • クリック率を最大化しない推薦システム

    セレンディピティのある推薦、多様性のある推薦、コンテンツ生産者を配慮した推薦など、クリック率の最大化(だけ)を目指さない推薦システムについての紹介です。 連絡先: @joisino_ (Twitter) / https://joisino.net/

    クリック率を最大化しない推薦システム
    tsuwatch
    tsuwatch 2024/01/27
    消費者と生産者を両方を考慮した推薦、多様なコンテンツを消費するユーザーのほうがコアユーザーに転換しやすいなどは知見の塊だ。コンテンツの推薦と言ってるのになんではてブ民は広告の話持ち出して批判してるんだ
  • クックパッドを退職しました - 昼メシ物語

    2024年1月末まで在籍していますが昨年12月に業務は終えていて、いまは有休消化期間中です。2010年から約14年間勤めてきた、自分の生き様そのものとも言えるクックパッドを離れるのには、表現しきれないほど大きく、複雑な思いがあります。 僕がこの14年間でやってきたことを振り返ってみます。 入社 クックパッドに入社した時は新卒3年目相当で、26歳でした。もともと料理Ruby が好きで、当時まだ珍しかった Ruby on Rails でサービス開発をしているらしいという点や、当時からネットウォッチしていた @ryo_katsuma さんが所属していること、直属の上司の井原さんが転職したことが決め手になり、体当たりで飛び込みました。当時の僕はほとんど実績もなく、入れてもらえるかギリギリのところだったと思いますが、おそらく井原さんが頑張って交渉してくれたのだと思います。当に感謝しています。こ

    クックパッドを退職しました - 昼メシ物語
  • Twitterはタイムラインをどうやってキャッシュしているか - Qiita

    Twitterの内部構造を読解してみる 前口上 Twitterのようなマイクロブログサービスでは短時間で書き込みも多く、特にタイムライン周りは単にRDBのデータを出し入れるするだけではスケールしなくなります。 インターネット上に断片ながらTwitterの中の人がアーキテクチャについて解説した記事や動画がいくつか落ちていたので、Twitterがタイムラインをどうやってキャッシュしているかについてまとめてみたいと思います(推測を含みます)。 Twitterのテーブル構造 単純なTwitterのテーブル定義をRDBで定義すると以下のようになると思います。 tweets ツイート id user_id contents tweet_at followers フォロワー source_user_id destination_user_id users ユーザー id user_name timeli

    Twitterはタイムラインをどうやってキャッシュしているか - Qiita
  • 第3回 最少人数のチームで | なにもできないからプロデューサーになった | ほぼ日刊イトイ新聞

    『マリオ』や『ゼルダ』や『ピクミン』をつくり、 世界中で尊敬されているゲームクリエイター‥‥ と書くと、正しいんですけど、なんだかちょっと 宮茂さんのことを言い切れてない気がします。 クリエイティブでアイディアにあふれているけど、 どこかでふつうの私たちと地続きな人、 任天堂の宮茂さんが久々にほぼ日に登場です! 糸井重里とはずいぶん古くからおつき合いがあり、 いまもときどき会って話す関係なんですが、 人前で話すことはほとんどないんです。 今回は「ほぼ日の學校」の収録も兼ねて、 ほぼ日の乗組員の前でたっぷり話してもらいました。 ゲームづくりから組織論、貴重な思い出話まで、 最後までずっとおもしろい対談でした。 え? 宮さんがつけた仮のタイトルが、 『なにもできないからプロデューサーになった』? そんなわけないでしょう、宮さん! 糸井 宮さんが入社したばかりのころは、 ある意味、任天

    第3回 最少人数のチームで | なにもできないからプロデューサーになった | ほぼ日刊イトイ新聞
  • Railsでモジュラモノリスを実現する3つの代表的パターン 5つの基準で見たそれぞれの評価

    「【ハイブリッド開催】Rubyで追求するモジュラモノリスの可能性」は、バックエンドにRubyを採用している株式会社タイミー、hacomono社、ワンキャリア社が、Rubyにおけるモジュラモノリスの可能性や良い点、悪い点を共有する勉強会です。ここで株式会社タイミーの須貝氏が登壇。まずは、Railsでモジュラモノリスを実現する3つの代表的パターンと、各パターンの評価について話します。 須貝氏の自己紹介 須貝俊 氏:では、「RailsでModular Monolithを選択された御社に質問したいN個の疑問」というタイトルで発表をしたいと思います。 (スライドを示して)まずは自己紹介をしたいと思います。須貝と申します。タイミーには、2022年1月からジョインしています。スポットワークシステム領域というところで、チーム名がIronBank Squadという、企業さま向けの請求や、ワーカーさまへの給与

    Railsでモジュラモノリスを実現する3つの代表的パターン 5つの基準で見たそれぞれの評価
  • 開発と保守・運用の分業は個別ミッションの遂行手段にコンフリクトを生じさせやすい - mtx2s’s blog

    ソフトウェアエンジニアリング組織の主たる業務機能は、開発、保守、そして運用の3つだろう。これらをどう組織化するか。それが、生産性にもビジネスにも影響する。私は多くのケースにおいて、この3つの機能をすべて持つ、少人数のプロダクトチームをいくつか組織化する。その理由は、過去の記事で何度か書いたように、開発でのアウトプットに対するフィードバックサイクルをまわせるようになるからだ。それが、技術・サービスの両面を向上させる。 しかし稿のケースは違う。ここで取り上げるのは、保守・運用が、開発とは分離された構造を持つ組織だ。この体制における課題を明らかにし、そのうえで解決策を探ってみたい。 事象は開発と保守・運用の分離が上手く機能していないこと 問題は開発が保守・運用を阻害すること 課題は個別ミッション遂行におけるコンフリクトを解消すること 対策は共通ミッションに立ち戻ること 結論は両チームをあえて密

    開発と保守・運用の分業は個別ミッションの遂行手段にコンフリクトを生じさせやすい - mtx2s’s blog
  • エンジニアに求められるソフトスキルって何だろう|nacam403

    「ソフトスキル」っていうの、ありますよね。明確な定義や定量化をしやすいハードスキルに対して、定義しにくい定性的なスキルのことです。ソフトウェアのエンジニアでいうと、特定のプログラミング言語やフレームワークに関する技術力や専門性はハードスキルと言えそうです。 ハードスキルはもちろん重要です。エンジニアならコードが書けることは大前提でしょう。そして、ソフトスキルもまた重要です。良いエンジニアって、コードを書くのも上手ですが、それ以外のことも上手だったりしませんか?エンジニアが組織の中で、成果をあげる、信頼を得る、そして何より楽しく働き続けるためには、ソフトスキルも伸ばす必要があるはずです。 でもソフトスキルって結局何なのか、どうやって伸ばすのか、今ひとつ分かりませんよね。今回はいくつかの記事に分けながら、自分なりの言語化を試みていきます。 最初にざっくり大分類してみた + 1まずは大分類を挙げ

    エンジニアに求められるソフトスキルって何だろう|nacam403
  • GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG

    はじめに こんにちは。ブランドソリューション開発部FAANSバックエンドブロックの佐野です。普段はサーバーサイドエンジニアとして、FAANSのバックエンドシステムを開発しています。 FAANSとは、弊社が2022年8月に正式ローンチした、アパレル店舗で働くショップスタッフの販売サポートツールです。例えば、コーディネート投稿機能や成果確認機能などを備えています。投稿されたコーディネートはZOZOTOWNやWEAR、Yahoo!ショッピング、ブランド様のECサイトへの連携が可能です。成果確認機能では、投稿されたコーディネート経由のEC売上やコーディネート閲覧数などの成果を可視化しています。 記事では、成果データの集計処理におけるBigQueryのクエリ実行処理のユニットテストをGoで実装した取り組みと、その際の工夫についてご紹介します。 目次 はじめに 目次 成果データの集計処理とは 抱え

    GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG
  • モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith

    モジュラモノリスにおいてトランザクションはどうあるべきなのかについて整理している資料が少ない気付きがあったので「簡易的に」整理しました

    モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith
  • Go言語を嫌う6個の理由 - さめたコーヒー

    ある仕事でそれまでRubyで書かれていたサーバーサイドをGo言語ですべて書き直すことになって、それまでRubyのコードを書いていた僕はそのままGo言語を書くことになった。その仕事そのものはお客様(僕は外部委託のエンジニアとして参画していた)との関係も良好で素晴らしい仕事をさせてもらうことができたと思っているが、Go言語だけは好きになれなかった。 はじめは流行っている言語だから何か素晴らしい魅力があるのではないかと期待していた。しかし書き始めるうちにどうも自分には合わないなと思うようになり、2年ほど書いて案件の契約が終わる頃にはGo言語でサーバーサイドを書くことは危険だとさえ思うようになった。 あれから数年がたちますますGo言語の案件は増えている。サーバーサイドを書く選択肢としてGo言語を選択する会社も増えている。しかし当にそれでいいのか?ただ流行っているからという理由だけで選択するにはあ

    Go言語を嫌う6個の理由 - さめたコーヒー
  • モノリスなRailsにモジュラーモノリスを導入した話 - hacomono TECH BLOG

    こんにちは、プラットフォームチーム所属のまこたすです。 昨今、様々な場で「モジュラーモノリスを導入した」という話を目にするようになってきました。弊社でも昨年からモジュラーモノリスの試験導入を進めており、社内でノウハウが徐々に溜まってきたため、今回 技術ブログ で なぜ導入したのかと知見の共有 をさせていただけたらと思います。 想定読者 モノリスなアプリケーションの分割を検討している Railsへのモジュラーモノリスの導入を検討している 話さないこと チーム体制がどうあるべきかという観点の話 以下アーキテクチャについての詳細 モノリスアーキテクチャ モジュラーアーキテクチャ 背景 今回「モジュラーモノリスを導入した」というタイトルですが、最初に検討・導入に至るまでの背景について触れたいと思います。 hacomonoという組織・サービスの成長 hacomonoというサービスはリリースから現在に

    モノリスなRailsにモジュラーモノリスを導入した話 - hacomono TECH BLOG
  • ワークフロー実行基盤をFargateからEC2へ変更したらコストもパフォーマンスも改善できて幸せになった話 - ZOZO TECH BLOG

    はじめに こんにちは、ブランドソリューション開発部バックエンド部SREブロックの小林(@mirai_kobaaaaaa)です。普段はWEARやFAANSというサービスのSREとして開発、運用に携わっています。 WEARではAmazon Elastic Kubernetes Service(以下、EKSと呼ぶ)を用いて複数システムのインフラ基盤を構築・運用しています。その中の1つとして、ワークフロー処理の実行基盤が存在しています。 記事では、そのワークフロー実行基盤が抱えていた課題と、それらをどのように解決したのかを紹介します。また、付随して得られたメリットについても紹介いたします。 目次 はじめに 目次 WEARにおけるワークフロー ワークフロー処理内容 ワークフロー実行基盤の構成 ワークフロー実行基盤の課題 コスト内訳の調査 過剰なPodスペック Fargate実行時間の増大 ワーク

    ワークフロー実行基盤をFargateからEC2へ変更したらコストもパフォーマンスも改善できて幸せになった話 - ZOZO TECH BLOG
  • WEARにおけるKubernetesネイティブな負荷試験基盤の導入とその効果 - ZOZO TECH BLOG

    はじめに こんにちは。ブランドソリューション開発部バックエンド部SREの山岡(@ymktmk)です。普段はファッションコーディネートアプリ「WEAR」のSREとしてクラウドの運用やリプレイスをおこなっています。 昨年から、私たちのチームでは分散した技術スタックをKubernetesへ統一するリプレイスプロジェクトを開始し、先月ついにKubernetesへの移行が完了しました。 techblog.zozo.com また、Kubernetesへの段階的な移行と並行して、Kubernetesの柔軟性を活かした運用改善や開発者体験の向上に取り組んできました。その一環として、k6-operatorを活用した負荷試験基盤を作成しました。 記事ではWEARにKubernetesネイティブな負荷試験基盤を導入した背景とその効果についてご紹介します。Kubernetes環境における負荷試験基盤の導入を検

    WEARにおけるKubernetesネイティブな負荷試験基盤の導入とその効果 - ZOZO TECH BLOG
  • DIP(依存性逆転の原則)を守っていない話

    一昨日くらいに 「DIP してもどうせ辛くなるよね」的なことを適当にツイートしたら引用 RT や RT 後言及やエアリプで言及された上に「こいつは設計を何も理解しとらん」みたいなことを言われた。「俺は当に何も理解していないのか?」と不安になったので、自分の考えをちゃんと書いておこうと思った。先に自分の立場を言うと、なんたらアーキテクチャとか SOLID 原則は有用だし自分も使うが、それを厳守しようとは思っていないと言う立場だ。 DIP とはなんだったか DIP(依存性逆転の原則)は SOLID 原則の一つで、一言で言うと「抽象に依存させると依存関係が逆転する」といったものだ。何のことやらという風になるので例だけ挙げると、UserRepository と UserService があってこのように定義すると class UserRepository { get() { return dat

    DIP(依存性逆転の原則)を守っていない話
    tsuwatch
    tsuwatch 2023/08/06
  • DIP(依存性逆転の原則)を守っていない話

    一昨日くらいに 「DIP してもどうせ辛くなるよね」的なことを適当にツイートしたら引用 RT や RT 後言及やエアリプで言及された上に「こいつは設計を何も理解しとらん」みたいなことを言われた。「俺は当に何も理解していないのか?」と不安になったので、自分の考えをちゃんと書いておこうと思った。先に自分の立場を言うと、なんたらアーキテクチャとか SOLID 原則は有用だし自分も使うが、それを厳守しようとは思っていないと言う立場だ。 DIP とはなんだったか DIP(依存性逆転の原則)は SOLID 原則の一つで、一言で言うと「抽象に依存させると依存関係が逆転する」といったものだ。何のことやらという風になるので例だけ挙げると、UserRepository と UserService があってこのように定義すると class UserRepository { get() { return dat

    DIP(依存性逆転の原則)を守っていない話
    tsuwatch
    tsuwatch 2023/08/06
  • Repositoryによる抽象化の理想と現実/Ideal and reality of abstraction by Repository

    Repositoryによる抽象化の理想と現実/Ideal and reality of abstraction by Repository

    Repositoryによる抽象化の理想と現実/Ideal and reality of abstraction by Repository
    tsuwatch
    tsuwatch 2023/08/06
  • Pull Requestを小さくする戦略 - 開発チームのパフォーマンス向上のための第一歩 - Agile Journey

    Agile Journeyをご覧の皆さん、こんにちは。ZOZOの御立田です。 私が所属する株式会社ZOZOは、「世界中をカッコよく、世界中に笑顔を。」を企業理念として掲げ、ファッションEC「ZOZOTOWN」、ファッションコーディネートアプリ「WEAR」などの各種サービスの企画・開発・運営や、「ZOZOSUIT」「ZOZOMAT」「ZOZOGLASS」などの計測テクノロジーの開発・活用をおこなっています。また、カスタマーサポート、物流拠点「ZOZOBASE」を運営しています。 ファッションコーディネートアプリ「WEAR」やショップスタッフの販売サポートツール「FAANS」を手がける、私が所属するブランドソリューション開発部では、「開発生産性を3倍に」を目標に掲げ、多くの改善を進めています。 「開発生産性」をどのように定義するかには議論がありますが、まず私たちが向き合ったのは「仕事量の生産

    Pull Requestを小さくする戦略 - 開発チームのパフォーマンス向上のための第一歩 - Agile Journey
  • WEARをリノベ!Objective-CからSwiftへのリプレイス戦略でも使えるスナップショットテスト - ZOZO TECH BLOG

    目次 目次 はじめに マイページ画面リプレイスに伴う課題 使用したライブラリ Objective-Cでリファレンス、Swiftでテスト リファレンス画像のファイルサイズを小さく デバイスも言語も一気にテスト 複数言語のテスト自動化 複数デバイスを一気にテストする方法 いにしえVCのためのスタブデータの用意 おわりに はじめに みなさん、こんにちは! 松井です。普段はWEAR iOSアプリ開発で、コードを書く筋肉をパンパンに鍛えています。WEARアプリは、長い歴史を持っており、まだまだObjective-Cで書かれたレガシーなコードも居座っているんです。そんな中、私たちは地道にリファクタリングを進めています。そうしたObjective-CからSwiftへのリプレイス戦略において、スナップショットテストを活用したお話をしたいと思います。 スナップショットテストと聞くと、一般的にはコードの修正前

    WEARをリノベ!Objective-CからSwiftへのリプレイス戦略でも使えるスナップショットテスト - ZOZO TECH BLOG