つくる

How Adopting Rust and Zstandard in our 3D Model Distributing Server Highly Improved the Performances

Introduction Hi, my name is yue, from the VRoid team. We recently rewrote our 3D model distributing server in Rust and adopted Zstandard (zstd) as the compression format. As a result, the following changes occurred compared to the original…

3Dモデルの配信サーバーでRustとZstandardを採用して数倍のパフォーマンス向上を実現した

はじめに こんにちは、VRoid部所属のエンジニアのyueです。 この度VRoid Hubで3Dモデルの配信サーバーの見直しを行い、技術選定から始めRustとZstandard (zstd)を採用した実装に切り替えました。 結論から見るに従来のNode.js製サーバーと比べて以下のことを…

BOOTH 3Dモデルカテゴリ取引白書2024

BOOTHの「3Dモデル」カテゴリに関する取引データをかいつまんで公開いたします。 2023年にも同様の記事を公開しましたが、本記事は2023年の取引データも加えた最新版です。

夏インターンでPHPStanのバグを直してコントリビュートした話

こんにちは。先日PIXIV SUMMER BOOT CAMP 2023にpixivウェブエンジニアリングコースで参加した、zer0-starです。 インターン期間中に、メンターのtadsanによりPHPStanのバグが発見され、僕がそれを直しました。 せっかくなので、直したバグについて話してい…

レクチャープロジェクトからアプローチする、縦スクロールマンガの文化醸成

こんにちは!縦スクロールコミック部でプランナーをしているkanatannnです。 縦スクロールコミック部では、その名の通り縦スクロールマンガ(Webtoon)に関するプロジェクトを日々動かしているのですが、それらのプロジェクトの目的は『縦スクロールマンガの…

好きな3Dキャラクターでゲームを遊ぶ ―「VRoid」×「パスパルトゥー2」連携によって実現されたコンテンツのパーソナライズ化―

ゲーム内で好きな3Dキャラクターを利用できるシステムを組み込んだ、お絵描きアドベンチャーゲーム「パスパルトゥー2:あるアーティストのキセキ」。4月の発売以降、配信に3Dキャラクターを利用しているVTuberの方はもちろん、多くの方から「自分のアバター…

Play all your favorite original 3D characters in-game! Check out the inventive collaboration between VRoid and Passpartout 2 that makes it possible!

The illustration adventure game Passpartout 2: The Lost Artist incorporates a system where you can play in-game as a 3D character of your choice. Since being released in April, the game has allowed anyone and everyone, including VTubers, t…

ピクシブがコミケ102で休憩所出展した話

こんにちは! ブランドアクティベーション室で海外アライアンスを担当しているwanchanです。 ピクシブは2023年8月12日(土)から13日(日)に、日本最大規模の同人誌即売会「コミックマーケット」に初めて休憩所という形式で出展いたしました。今回は開催に…

「Cookieless」をテーマに、アドテック東京2023 - ad:tech tokyo2023に登壇しました

アドプラットフォーム事業部プログラマティックマネジメント部マネージャーのko_chanです。2023年10月20日(金)に開催されたアドテック東京 - ad:tech tokyo2023にて、RTB House ジャパン株式会社ブースで実施されたディスカッションに登壇しました。 登壇…

Fundamentals of Data Engineeringの社内読書会をやりました

はじめに 初めまして。プラットフォーム開発部にてデータ基盤を整備しているkashiraと申します。 ピクシブではデータエンジニアリングのスキルアップを目的として、有志で Fundamentals of Data Engineering (洋書) の読書会を行いました。 www.oreilly.com …

データ分析コンペティションへのスポンサード事例のご紹介

スポンサーについて はじめまして、エンジニアのsugasugaと申します。 普段は、機械学習技術をもちいて、ユーザーのみなさんの好みにマッチした作品をお届けするオススメ機能(レコメンド機能)の開発を行っております。 今回は弊社が行ったスポンサード事例…

2段階認証のバックアップコードの仕様をどのように決めたか紹介します

こんにちは、プラットフォーム開発部で認証認可基盤の開発を担当しているabcangです。 先日pixivのログイン画面で2段階認証が利用できるようになりました。現時点ではTOTP(Time-based One-Time Password)認証アプリとバックアップコードの2種類が2要素目の認…

pixivコミックストアの作品検索機能をMySQLの全文検索からElasticsearchに移行しました

こんにちは!ピクシブでバックエンドエンジニアとして働いているこのぴーです。 今回はpixivコミックストアの作品検索機能をMySQLの全文検索からElasticsearchに移行したときの手順と移行後の効果についてお話していこうと思います。 背景 pixivコミックスト…

ページ遷移時にReactコンポーネントの状態を維持する

こんにちは、VRoid部所属のエンジニアのyueです。 VRoid Hubでページ遷移時にcanvasの状態を維持する改善をリリースしました。本記事ではこの取り込みについて解説していきます。 前提 VRoid Hubではモデル詳細画面と投稿者のみに表示するモデル編集画面が存…

データ活用の推進に向けたデータのカタログ化

はじめに こんにちは。CTO室プラットフォーム開発部のshigeniiと申します。 社内では全社横断のデータ基盤の運用保守や改善、データ活用推進の業務を担当しています。 今回はデータ活用を推進する目的で対応を進めた「データのカタログ化」についてお話をさ…

レポートpixiv MANGA Night 2

こんにちは!コミック事業部エンジニアのKNRです。 先日、「インフラコストを根本から削減する」株式会社DELTA様との共同でイベントを実施したため、その模様をレポートします! pixiv MANGA Nightとは? ピクシブの4つのマンガに関係するプロダクト(「pixi…

質とスピードを追求する開発チームでの取り組み で発表しました

こんにちは、23新卒エンジニアでウェブエンジニアリングチームのpicopicoと申します。 2023年9月5日に、リンケージ、ピクシブ、DROBEの3社合同にて、「質とスピードを追求する開発チームでの取り組み」(https://drobe.connpass.com/event/292061/)というイベ…

Cloudflare Workersを利用した静的配信ページへの動的なOGPメタタグの挿入

こんにちは、ピクシブでエンジニアをしているnamazuです。 ピクシブ株式会社ではpixivを始めとする複数のサービスにおいてDDoS防御やBotへの対処としてCloudflare CDNを利用しています。 この度Cloudflareの提供するCloudflare Workersをマンガ家デビューを…

Dataplexのデータリネージ機能を導入した話

はじめに 初めまして。プラットフォーム開発部にてデータ基盤を整備しているkashiraと申します。 ピクシブではデータガバナンス強化のために、Google Cloud Platform(GCP)のDataplexのデータリネージ機能を本番運用で使い始めました。 この記事では、「どの…

Next.jsのプレビュー環境をプルリクから自動で構築する

こんにちは、アルバイトのciffeliaです。 pixivは、2022年にNext.jsによるフロントエンドのリプレイスを開始しました。2023年現在では、10人以上の開発者がNext.jsによるフロントエンド開発に参加しています。 この記事では、Next.jsプロジェクトにおけるプ…

Lookerの埋め込みダッシュボードを社外提供する上での課題と解決策

アドプラットフォーム事業部 アドプロダクト部 データチームでアナリティクスエンジニアをしているucchi-です。普段は主に、pixiv Adsという広告ネットワークのデータ周りを開発しています。 ads.pixiv.net 今回は、pixiv Adsで採用している、Lookerの埋め込…

リリース予告の理想と現実〜オーナーギフト機能リリースの舞台裏から〜

プロダクトマネージャーのwatasukeと申します。 2023/6/15、BOOTHで「オーナーギフト機能」を数ヶ月前に予告したうえでリリースしましたが、その舞台裏についてお話いたします。 ショップオーナー向けギフト機能アップデート自分のショップのダウンロード商…

KSP・自作アノテーションでフィーチャーフラグ運用を改善する

こんにちは。pixivコミックのAndroid版アプリを開発しているfusumaと申します。 今回はpixivコミックAndroidアプリのフィーチャーフラグ運用を、KSP・自作アノテーションで改善した事例を紹介します。 フィーチャーフラグとは フィーチャーフラグとは、コー…

RubyKaigi 2023にピクシブからsue445が登壇しました

2023/5/11(木)〜13(金)にかけて長野県松本市で開催された RubyKaigi 2023 に登壇しました。 rubykaigi.org 発表資料 登壇中のツイートまとめ 発表後の質問 感想 思い出 合わせて読みたい お知らせ 発表資料 speakerdeck.com 登壇中のツイートまとめ 自分の登…

ブラウザ上で3Dキャラクターと会話できる「ChatVRM」をオープンソースで公開しました

こんにちは、VRoid部のkeshigomuです。 普段は主にVRoid Hubのフロントエンドエンジニアとして、3Dキャラクターを表示するビューワーの開発に携わっています。また@pixiv/three-vrmという、Web上で3Dモデルを使ったコンテンツを開発するためのOSSライブラリ…

BigQueryのストレージ料金を大きく減らした話

はじめに 初めまして。プラットフォーム開発部にてデータ基盤を整備しているkashiraと申します。 BigQueryの大規模な料金改定が来ましたね。 cloud.google.com ピクシブでは、ストレージ料金に大きな課題を感じていたので、Preview版の時点からデータセット…

VRoid Hubにデバイスフローを実装した話

VRoid部でエンジニアとしてアルバイトをしているxxarupakaxx(@arupaka03254)です。 2月末にVRoid SDK v0.1.3がリリースされましたね!! そのリリースには新しい機能が追加されました。デバイスフローという認可フローの追加です。 ちなみに、デバイスフロ…

学生団体向けコンテスト、pixivスピードアップチャレンジを開催しました!

皆様、こんにちは。技術広報室のkamikoです。3月18日にピクシブオフィスとオンラインにて、学生団体向けに「pixivスピードアップチャレンジ」と銘打ったイベントを開催しました。 学生の皆さんにとって学びの多いイベントになるよう、約半年に渡る準備期間を…

ひっそりと佇むPhactory

こんにちは! pixiv事業本部Webエンジニアリングチームでアルバイトをしている、うすゆき(@usuyuki26)と申します! 今回は、ピクシブ百科事典のリファクタリングをしていく中で出会ったPhactoryについてお話しさせていただきます。 Phactoryとは Phactoryの…

ピクシブでのデータメッシュについて

はじめに 初めまして。プラットフォーム開発部にてデータ基盤を整備しているkashiraと申します。 ピクシブでは中央集権的なデータ組織ではなく、非中央集権的なデータ組織(データの民主化)を目指して活動してきました。 その結果データメッシュに近い形で運…

Bigtableの読み取り速度をGoとPHPで比較してみました

こんにちは、インフラ部でアルバイトをしているmya0です。 Cloud Bigtableをpixivのサービス内から利用したときの読み取り速度にどの程度影響があるのか調べるために、Go, PHP(cli), nginx+php-fpm, apache+mod_phpで測定し比較しました。 Bigtableとは Goog…

パルシィでは縁取り可能なTextViewを自作している

ピクシブ株式会社で主にアプリ開発を担当している @m4kvn です。普段は、パルシィ(Palcy)のAndroidアプリ版の開発をしています。 play.google.com 以前には次のような記事も書いています。 inside.pixiv.blog inside.pixiv.blog 今回は、パルシィで利用す…

コンテナ化していないアプリでもコンテナをデプロイに活用する

はじめまして、インフラ部でアルバイトをしているmya0です。 コンテナ化していないアプリケーションで、デプロイにコンテナレジストリを活用しました。 GitLab CI実行時にアセットをビルドし、結果をDocker Imageとしてコンテナレジストリに保管し、デプロイ…

pixivFACTORYへ図形機能を追加した経緯と実装のお話

こんにちは、mrble(@tubdaka616)です。pixivFACTORYのエンジニアとして、主にフロントエンドの開発を担当しています。 2023年1月、新たに「図形機能」をリリースしました。 \「図形」機能が登場◻️/ グッズの編集画面で図形が使えるようになりました 追加し…

【後編】完全自社開発の広告システム、pixiv Adsを支える技術を大公開

ピクシブ株式会社は2022年11月24日、pixivに運用型配信広告が簡単に出稿できる「pixiv Ads」をリリースしました。pixiv Adsは完全自社開発のセルフサーブ型の運用型広告プラットフォームです。実現にあたっては実に二年以上の歳月かけて、数々の技術的挑戦を…

【前編】完全自社開発の広告システム、pixiv Adsを支える技術を大公開

ピクシブ株式会社は2022年11月24日、pixivに運用型配信広告が簡単に出稿できる「pixiv Ads」をリリースしました。pixiv Adsは完全自社開発のセルフサーブ型の運用型広告プラットフォームです。実現にあたっては実に二年以上の歳月をかけて、数々の技術的挑戦…

【2023.1.26】モバイルアプリのウラ側を公開!pixiv App Nightを開催しました

ピクシブ株式会社は、モバイルアプリエンジニアが一堂に会して、 モバイルアプリ開発に関する知見を共有するイベント「pixiv App Night」を定期的に開催していく予定です。 イベントではiOS / Androidのエンジニアが、クリエイターの創作活動を支えるアプリ…

当たり前で不可欠な存在、ピクシブの決済サービスチームに業務インタビューしてみました!

皆様こんにちは、技術広報室のkamikoです。ピクシブにはpixivプレミアム、pixivリクエスト、BOOTH、pixivコミック等の決済処理や送金処理を支えるシステムを開発している決済サービスチームが存在しています。 各サービスの成長に伴い決済金額・決済件数・決…

BOOTH 3Dモデルカテゴリ取引白書

こんにちは、3Dビジネス室のwatasukeです。3Dビジネス室は3Dモデルクリエイターの創作活動を支援することをミッションにしたチームです。この記事では、その一環としてBOOTHの「3Dモデル」カテゴリに関する取引データをかいつまんで公開いたします。 3Dモデ…

「鮮度」と「精度」を両立させる広告データ基盤のつくり方

はじめに アドプラットフォーム事業部でアナリティクスエンジニアをしているucchi-です。 ピクシブは、2022年11月24日に「pixiv Ads」という広告ネットワークをリリースしました。広告主は、pixivに広告を少額予算から簡単に出稿できます。 ads.pixiv.net pi…

アプリ版デザインシステム実装を公開しました

アプリ版デザインシステム実装をOSS化しました こんにちは、ああうえ(@_kwzr_)です。新規事業部とデザインシステム部を兼務しており、アプリ版デザインシステムの実装を進めています。 Web版に引き続いて、アプリ版のデザインシステム(charcoal-ios, charcoa…

pixivコミックのAndroidアプリを支える技術

こんにちは、kobakenです。以前こんなことを話していましたが、現在絶賛Composeしております! 今回はpixivコミックのAndroidアプリを支える技術を紹介していきたいと思います。 pixivコミックとは pixivコミックでは、アニメ・映画化の話題の漫画からpixiv…

GitLab GCPに 移行した(後編)

こんにちは、インフラ部の id:sue445 です。 GitLabのGCP移行3部作の最後になります。 前回までの記事はこちらになります。余談ですが前編・中編・後編で合計約4万字になりました。 inside.pixiv.blog inside.pixiv.blog 今回の目次 今回の目次 やったこと5:…

GitLab GCPに 移行した(中編)

こんにちは、インフラ部の id:sue445 です。 前回に引き続きGitLabのGCP移行について紹介します。 前編の記事はこちらになります inside.pixiv.blog 今回の目次 今回の目次 やったこと2: 実際にGCPに構築した GitLab構築に関係するリポジトリの構成 gcp-gitl…

自分のアバターが様々なプラットフォームで動き出す!そんな夢の世界を支えるVRoid SDKの開発に加わってみませんか?

みなさん、こんにちは!技術広報室のkamikoです。個性豊かな自分のアバターが、さまざまなVR/ARプラットフォームで動き回る。そんな夢のような世界を実現しているのが、VRoidプロジェクトのひとつ、VRoid SDKのサービスです。 ピクシブ株式会社としてもVRoid…

Scala Linter (Scalafix) 入門

はじめましての方ははじめまして! Scala エンジニアの Javakky です。 本日は Scala Advent Calendar 2022 5日目ということで、僕が普段利用している Linter である、 Scalafix についてお話ししていこうと思います。 qiita.com Linter とは? Linter とは…

【2022.10.23】モバイルアプリ開発の知見を共有!pixiv App Nightを開催しました

ピクシブ株式会社は、モバイルアプリエンジニア向けのイベント「pixiv App Night」を定期的に開催していく予定です。 このイベントではiOS / Androidのエンジニアが一堂に会して、クリエイターの創作活動を支えるアプリのウラ側を質疑応答も交えながら、ざっ…

GitLab GCPに 移行した(前編)

こんにちは、インフラ部の id:sue445 です。 先日ピクシブ社内で利用しているGitLabをオンプレミス環境からGCPに移行しました。 とても長いので全3回にわけて紹介したいと思います。 全体の構成 前編:前置きとアーキテクチャ検討 中編:環境構築 後編:実際…

Scala プロジェクトでの Mockito 活用事例

はじめましての方ははじめまして。 Scala エンジニアの Javakky です。 今回は、弊チームで行われた Mockito の導入レポートについて代筆していこうと思います! Mockito とは? Mockito は Java 向けのモックフレームワークです。 site.mockito.org テスト…

会社の中でwebtoon事業をはじめるにあたって考えたこと

初めまして。縦スクロールコンテンツの事業に携わっている遠藤と申します。ピクシブで「タテヨミチーム」という部署を立ち上げてプロジェクトオーナーという役割で事業の立ち上げのようなことをしています。 昨年のこのくらいか、もう少し前くらいの時期から…