タグ

ブックマーク / inside.pixiv.blog (17)

  • pixivの全文検索基盤とElasticsearchによるリプレイス - pixiv inside

    まもなく17周年を迎えるpixivでは、長年にわたり作品などの全文検索基盤としてApache Solrを使用してきました。 しかし、サービスの規模が拡大する中で、従来の基盤に問題が生じていました。これを受けて、pixivでは全文検索基盤のリプレイスを実行しました。 今回のリプレイスにより、pixivでは検索結果の更新反映時間や検索APIのレイテンシが大幅に短縮されました。また、今後のスケールに対応可能になり、新機能開発においても全文検索が容易に利用できるようになりました。 記事では、pixivの全文検索基盤の歴史や、今回オンプレミス環境でElasticsearchクラスタを構築し、リプレイスを完了するまでの取り組みについてご紹介します。 こんにちは。pixivのnamazuです。最近、私たちのチームで進めていたpixivの全文検索基盤のリプレイスが完了しました。この機会に、pixivの全

    pixivの全文検索基盤とElasticsearchによるリプレイス - pixiv inside
  • 事業計画を立てる上で必要なプロセスをシステム化し改善した話 - pixiv inside

    こんにちは。プラットフォーム開発部兼財務データ企画部のshigeniiと申します。 普段はデータ基盤の運用保守、および、全社的なデータ活用やデータ駆動推進を担当しています。 今回は、財務に関する情報の収集からその可視化までの過程をシステム化することで、事業計画や予算策定のプロセス改善に結び付けた我々の取り組みについて、システム化に焦点を当てながら書き綴りたいと思います。 この記事がバックオフィス業務において、同じような課題を抱えている方に少しでもご参考になれば幸いです。 経緯 財務レポート可視化プロジェクト システム化にあたっての具体的な取り組み Before After システム化にあたっての課題 今回の対応 全体的なシステム構成 財務レポートを作るまでのながれ 説明1.各業務システムのデータを取得 説明2.マスタ情報の取得・作成 説明3.データの加工・突合機能 説明4.データに対するセ

    事業計画を立てる上で必要なプロセスをシステム化し改善した話 - pixiv inside
  • dbt導入におけるデータモデリング環境整備 - pixiv inside

    はじめに 初めまして。プラットフォーム開発部にてデータ基盤の整備をしているazukiと申します。 今回はdbt(Data build tool)を導入した経緯と非中央集権的なdbtの使い方についてご紹介したいと思います。 今回は導入に関してまとめていますので、dbtの運用面の詳細は別記事で解説予定です。 データモデリングツール導入の背景 ピクシブではプロダクトの多さを理由に非中央集権データ組織を採用しています。 ドメインチームがメインでデータの取り組みやデータモデリングを行い、データ駆動推進室やデータ基盤チームはそのサポートや整備を担当しています。 その背景に関しては、【PIXIV MEETUP 2023】の方でお話していますのでぜひご覧下さい。 speakerdeck.com 今までBigQueryのデータ加工SQLは自社で開発したツールで管理していました。 pythonから変数埋め込み

    dbt導入におけるデータモデリング環境整備 - pixiv inside
  • 新卒研修で「ソフトウェアテスト研修」を実施しました! - pixiv inside

    こんにちは。クリエイター事業部 FANBOX部でエンジニアをやっているkumaです。今回は新卒研修で行った「ソフトウェアテスト研修」についてのレポートをお伝えします! ピクシブにおける新卒研修 2022年4月1日、ピクシブ株式会社にも10名の方が新卒として入社してくれました。弊社では入社後の2週間前後を新卒研修期間としており、会社理解からビジネスマナー、プロダクト開発に関するトピックなど様々なものを学ぶ時間になっています。 今回この記事では、新卒研修の一つである「ソフトウェアテストについて」という研修についてお伝えします。研修は、以前insideでも紹介して頂いたkuma & pnlyで担当いたしました。 inside.pixiv.blog ソフトウェアテスト研修 以降では、実際の研修資料を引用しながら我々が研修で取り上げた内容について一部紹介していきたいと思います。 “難しすぎない”を

    新卒研修で「ソフトウェアテスト研修」を実施しました! - pixiv inside
  • pixivのブックマークに関する負荷対策をしました - pixiv inside

    10/22(金) 追記 この記事で解説している内容について解説する勉強会を開催することとなりました。以下のconnpassよりお申し込みください。 pixiv.connpass.com 10/22(金) 追記 pixivのブックマークについて ブックマークDBの問題について 具体的な対策内容 論理削除廃止・index追加・ブックマークタグのテーブル分割 適応ハッシュインデックスの無効化 アプリケーションコードのリファクタリング・全発行クエリの列挙と見直し 大きな更新処理の非同期化 結果 あわせてよみたい pixivではサービスの成長に伴い、気に入った作品に対して付けることができるブックマークの総数が急速に増加しており、ユーザーの皆様に滞りなくサービスを提供し続けるためブックマークに関するデータベース(以後DB)の負荷対策が必要になりました。 2021年2月より対策を行うプロジェクトを発足し

    pixivのブックマークに関する負荷対策をしました - pixiv inside
  • 毎秒1万リクエストの負荷試験をした話 - pixiv inside

    はじめまして。ピクシブで広告関連のプロダクトを開発しているeastです。今回は、社内で運用している広告配信サーバーの負荷テストを実施したので、その話をしたいと思います。 経緯 ピクシブの広告配信サーバーは、pixiv体を中心に複数のサービスに対して広告配信を行なっています。現在私はこの広告配信サーバーの大規模改修を行なっているのですが、先日ついに広告配信サーバーの改修がほぼ完了したので、試しに負荷試験を行なってみたいと思い立ちました。 目標は毎秒1万リクエスト ピクシブの広告配信サーバーへのリクエスト数はDailyで 4〜6億req もあり、これは毎秒平均に直すと約 5,000RPS(Request Per Second) になります。さらに、ピークタイムである休日の深夜帯には 12,000RPS にも達します。つまり新しい広告配信サーバーにも、毎秒12,000のリクエストを捌く性能が必

    毎秒1万リクエストの負荷試験をした話 - pixiv inside
  • 永久保存版Railsアップデートガイド - pixiv inside

    はじめまして、2018年7月入社の sue445です。自称「フルスタックキュアエンジニア」です。最近はpixiv PAYのチームでRailsを書いたり社内gemを作ったりしています。 好きなプリキュアはキュアピースです。 前置き 先日Rails 5.2.1がリリースされました https://weblog.rubyonrails.org/2018/8/7/Rails-5-2-1-has-been-released/ pixiv PAYでもその対応を行っていて、先日番環境にRails 5.2.1を投入しました 💪 ググると特定のバージョンでのアップデート方法はいろいろ見つかるのですが、どのバージョンでも使える汎用的な方法が意外になかったので紹介しようと思います。 Rails 4.1系以降はだいたいこの方法でアップデートしてきたのでそれなりに実績のある手法だと思います。 筆者スペック 初め

    永久保存版Railsアップデートガイド - pixiv inside
  • BigQueryを使ったレコメンド改善事例とその仕組み - pixiv inside

    pixiv運営部、おすすめ改善チームのogaです。pixiv上で最近行った、イラストのレコメンド改善事例とその技術的な部分について紹介します。 概要 今回の取り組みでは、ブラウザ版pixivのトップページなどに表示しているイラストの「おすすめ作品」機能に対して、「最近投稿された作品を優先してレコメンドする」という変更を加えました。 この施策は以下の2点を期待して実施したものです。 作品を閲覧しているユーザーが、投稿されたばかりのイラストをより多く見られるようになること 作品を投稿しているユーザーが、最近投稿した作品への反応をより多くもらえるようになること 背景としては、ユーザーがトップページを訪問する際、同じ作品が何度も表示されているという状況がありました。 ある日におすすめ作品として表示されたイラストの、投稿時期別の割合を下に載せました。何ヶ月も前に投稿されたイラストが7割を占めている

    BigQueryを使ったレコメンド改善事例とその仕組み - pixiv inside
  • 放置しがちな社内システムこそ式年遷宮していこう - pixiv inside

    こんにちは、CTO兼福岡オフィスマネージャーの@edvakfです。最近はとあるC++のコードをRustに逐語訳しながらRustを勉強中です。 今回はピクシブで使っているデプロイ管理画面のpployをgo-pployにリプレースした話を書きます。 まずは結論から メンテナビリティの向上 を目指して社内システムをリプレースした 小規模であっても新規開発から得られる学びはとても大きい その気になれば式年遷宮できるシステム規模を心がけましょう そもそもpployとは? pployとは、「デプロイ管理画面」という類の小さなウェブアプリケーションです。 ピクシブで開発しているウェブアプリケーションのデプロイは基的にはすべて 「デプロイ中」状態になる masterにpushする staging等にデプロイして確認する productionにデプロイする 問題無ければ「デプロイ中」状態を解く という手順

    放置しがちな社内システムこそ式年遷宮していこう - pixiv inside
  • 酔っ払ってもコードが書きたい!JavaScriptを書き散らかしてPrettierに介護してもらう方法 - pixiv inside

    こんにちは、一般ノーマルエンジニアのgeta6です。社内ではpixiv SketchというサービスでJavaScriptを書く仕事をしています。今日はPrettierの話をします。 JavaScriptを書くのが大好きな皆さま各位におかれましては、きっと酒のつまみにコードを書くこともあるでしょう。しかし酔っ払いながらコードを書くと、往々にして上記のような書き散らかしをしてしまうことがあります。 このコードは動きます。動きますが、思わず目を背けたくなる汚さです。この世に存在することが許されるべきか疑うレベルです。ESLint先生も思わずブチギレです。当然ですね。 CIにLintを仕込んでいた場合は当然通りませんし、gitのprecommit hookにLintを仕込んでいた場合はgit commitすら許されません。堅牢なシステムは酔っ払いにコードをコミットする権利すら与えてくれないのです。

    酔っ払ってもコードが書きたい!JavaScriptを書き散らかしてPrettierに介護してもらう方法 - pixiv inside
  • Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside

    CTO兼福岡オフィス立ち上げ担当として新アプリを作っている@edvakfです。 JSON APIを開発しているとこういう問題がありがちですよね。 仕様どおりにAPIの形式を作ったはずだけどなんか自信が持てない テストでいくつかのキーが存在するかの簡単なチェックはしてるつもりだけど、全部チェックするのは大変すぎる APIのControllerやViewをリファクタリングしたらレスポンスの形が変わってアプリがめっちゃクラッシュし始めた というのが怖くて誰もリファクタリングできなくなった APIドキュメントがメンテされない 知らない間にレスポンスのフィールドが増えてたけどドキュメントに書いてない これらを解決したい!と思って試行錯誤したら、スマートに解決することができました。この記事ではRailsのことについて書きますが、考え方は他の言語・フレームワークでも同じです。 なお、今回使ったgemのバ

    Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside
  • pixivを常時HTTPS化するまでの道のり(後編) - pixiv inside

    ピクシブ株式会社で開発基盤チームとして働いている @catatsuy です。 前編ではpixivを常時HTTPS化する前にやった前準備として、広告、画像といったリソースをHTTPSに切り替える際の手順を紹介しました。 pixivを常時HTTPS化するまでの道のり(前編) - pixiv inside 後編では実際にpixivのアプリケーション自体を常時HTTPS化していく手順を紹介します。 従来のHTTPS配信 pixivPHPアプリケーションを実行するアプリケーションサーバー(Apache/mod_php)の前段にnginxを配置する構成になっています。以前からセキュリティ的に重要なページはHTTPSで提供しており、nginxでHTTPS終端処理を行っていました。HTTPSで応答する場合はアプリケーションサーバーにX-HTTPSヘッダーを付けてプロクシーしています。 具体的には以下のよ

    pixivを常時HTTPS化するまでの道のり(後編) - pixiv inside
  • pixivを常時HTTPS化するまでの道のり(前編) - pixiv inside

    ピクシブ株式会社で開発基盤チームとして働いている @catatsuy です。主にpixiv技術的な改善をしていますが、広告チームも兼任しているので広告周りの開発もしています。 今回pixivの常時HTTPS化を担当したのでやったことを紹介します。 pixivをHTTPS化した理由 現在のインターネット全体の流れとして常時HTTPS化が進んでいます。エドワード・スノーデン - Wikipediaが暴露したNSAの事件発覚や 公衆無線LANの利用拡大により、通信経路上でユーザーの個人情報を保護することがインターネット全体として非常に重要になってきました。Googleが行っている調査によると、HTTPSページの閲覧時間はウェブ全体の利用時間の3分の2にも及びます。 それだけではありません。ブラウザに新しく追加されるAPIや機能(HTTP2/WebRTC/ServiceWorkerなど)はHTT

    pixivを常時HTTPS化するまでの道のり(前編) - pixiv inside
  • Atomic Designの概念に基づいたJavaScriptフレームワークのコンポーネント設計とは? - pixiv inside

    はじめに こんにちは。はてなブログとエモい話が何よりもすきな17新卒のエンジニアPotato4dです。 ひょんなことからこのpixiv insideに技術的な記事を書く機会に恵まれたので、JavaScript周りの話を書きたいと思います。 概要 モダンなJavaScript環境に慣れ親しんだ方には、「コンポーネント」という単位をベースとしたUIやロジックの開発を行う事は珍しくないかと思います。 しかしながら、その「コンポーネント」という単位の大きさと分割指標については、中々まとまった資料が存在せず、それぞれの開発者や、フレームワークによりけりとなっている印象を受けます。 昨今のフロントエンド開発、特に全てJavaScriptで完結するSPA開発で頭の悩ませる部分としては、状態の管理に次ぐ、大きな課題となっているのではないでしょうか。 今回の記事では、そんなJavaScriptにおける「コン

    Atomic Designの概念に基づいたJavaScriptフレームワークのコンポーネント設計とは? - pixiv inside
  • 実際に運用してみてわかった、大規模Mastodonインスタンスを運用するコツ - pixiv inside

    おはようございます、ImageFlux開発責任者のharukasanです。3日前の4月14日、ピクシブではPawooが急にリリースされることになりまして、ここ数日はずっとPawooサーバにログインしていました。このPawooサーバ、既にピクシブの監視体制に入っており、アラート受信後インフラエンジニアが障害対応できる仕組みを整えています。案の定、リリース直後の15、16日は週末にもかかわらずアラートを受け取ることになり、サーバにはりつくことになったわけです。どんなシステムであろうとアラートを受け取ったら対応する、それが我らインフラエンジニアです。 pawoo.netの構成 さて、それではまずPawooの構成を見ていきましょう。digすればわかりますがpawoo.netAWS上に構成されています。数百台以上の物理サーバを常時運用しているピクシブであっても、さすがにこんなにはやく物理サーバは用

    実際に運用してみてわかった、大規模Mastodonインスタンスを運用するコツ - pixiv inside
  • (前編)すぐに使えるディレクターの技術とは?LINE社、ヤフー社等のディレクターが大集結! - pixiv inside

    サービスの要件定義に進行管理、プロモーションからUI改善まで……。 WEBディレクターとしてプロジェクトをうまく回すために必要な仕事は多岐に渡ります。 しかし、そんな中で 「ディレクションのスキルアップってどうしたらいい?」 「社内にベンチマークとなる人が見つけられない…」 「そもそも自社のディレクション手法が正しいのか不安・・」 なんて悩みを抱えるWebディレクターも少なくありません。そこで、「実際に明日からの業務に役立つ情報をシェアできる交流の場が欲しい!」そんな声から生まれたピクシブ主催のイベント「DIRECTORs' SCRAMBLE vol.1」が、2017年3月9日、代々木のピクシブオフィスで開催されました。 ピクシブ株式会社、LINE株式会社、ヤフー株式会社、クックパッド株式会社、株式会社サイバーエージェント(※ 発表順)のディレクターが集結。同イベントで彼らが語った内容につ

    (前編)すぐに使えるディレクターの技術とは?LINE社、ヤフー社等のディレクターが大集結! - pixiv inside
  • ImageMagick・Blenderを使った画像合成技術 — ピクシブの画像処理エンジニアが語る(3) - pixiv inside

    ピクシブで働く人の姿や、どんな技術を使ってプロダクトを生み出しているのかがみえる。そんなイベント「pixiv Night #02」が、2017年3月14日に代々木のピクシブオフィスにて開催されました。 テーマは「画像処理」ということで、イラスト1枚からグッズを作成できるサービス「pixivFACTORY」の開発チームに所属するhayaが、同サービスの画像処理システムについて、具体的な実装方法を語りました。その内容をお届けします。 買う前に実物を目にしたような体験をさせたい 物を買う時、実物をみたいと思いませんか? たとえば、オリジナルマグカップを作りたいと考えた場合、イラストを描いて画像ファイルを入稿すれば、イラスト入りマグカップは製造できます。しかし、お金を払って手に入れるものなのですから、どういう見た目になるのかを事前に確認できないと不安になりますよね。 では、イラストが入った状態のグ

    ImageMagick・Blenderを使った画像合成技術 — ピクシブの画像処理エンジニアが語る(3) - pixiv inside
  • 1