つくる

ひっそりと佇む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事業をはじめるにあたって考えたこと

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

pixivFACTORYでは事業開発に携わるバックエンドエンジニアのメンバーを募集しています

こんにちは。ピクシブで採用担当をしているokayuです。 ピクシブでは現在、pixivFACTORYというプロダクトを支えるバックエンドエンジニアを大募集しています。そこで今回は、FACTORY部のエンジニアhayaよりピクシブのバックエンドエンジニア業務についてご紹…

GitLab の Merge Request でテストカバレッジを可視化した

はじめましての方ははじめまして。 Scala エンジニア Javakky です。 今回は、 Scala のテストカバレッジツールである scoverage の導入方法と、 GitLab を使った可視化について見ていきます。 scoverage とは scoverage は Scala 向けのテストカバレッジ計…

Notionでスクラム開発のバックログ管理をする話

こんにちは、ピクシブで新規事業部に所属しています、ああうえ(@_kwzr_)と申します。所属している部署では2019年ごろからスクラム開発を導入しており、スクラムマスターをやっていた時期もあります。 今回は、バックログをClickUpからNotionに移行した理由や…

Slack Platform(Deno)でチーム開発に便利なbotを作った話

こんにちは。ピクシブで新規事業部に所属しています、ああうえ(@_kwzr_)と申します。 最近、自分の所属する部署で飼っている便利botをSlack Platformで作り直したので、その紹介をしようと思います。 Slack Platformとは、Slack上にアプリケーションをホステ…

ピクシブ株式会社はDroidKaigi 2022に協賛します

ピクシブ株式会社は2022年10月5日から7日にかけて開催される、DroidKaigi 2022にサポータースポンサーとして協賛します。 droidkaigi.jp ピクシブ株式会社はDroidKaigi 2017より毎年協賛させていただいております。今年は特に東京ドームでの大規模な開催とい…

pixivをNext.jsでリプレイスする取り組みをご紹介します。

pixivではNext.jsを用いたフロントエンドのリプレイスプロジェクトを2022年3月末より行っており、現時点(2022年8月)でリクエスト機能をNext.jsにてリプレイスしました。 今回のpixiv insideではピクシブ株式会社で働くエンジニアの取り組みとして、pixivのフ…

2年目エンジニアが行った技術選定のプロセスを公開します!

はじめましての方ははじめまして。ピクシブで Scala エンジニアとして働いている Javakky です。 突然ですが、ピクシブのエンジニア職組織で行っている「プロセス評価」とはご存知でしょうか? 現在では少し異なりますが、過去の活動についての記事はこちら …

良薬口に苦し!?カルテ携えた "主治医" に診てもらうRailsプロダクト健康診断のご紹介

ピクシブには数多くのRails製プロダクトがあり、それらを各チームで開発しています。 各チームでの知見や悩み事を共有するRails系サービス互助会というものもありますが、今回はRailsアプリケーションを健康に保つための取り組みであるRailsプロダクト健康診…

Scalafix (Linter) のルール開発をした話

はじめましての方ははじめまして。新卒期間も終了し、晴れて一般エンジニアになりました Javakky です。 今回は、 Scala の Linter であり自動リファクタリングツールでもある Scalafix について、ルール開発の流れについて話していこうと思います。 github.…

環境を GitLab CI に移行してビルドを高速化した話

はじめましての方ははじめまして。ピクシブで Scala エンジニアとして働いている Javakky です。 今回はビルド高速化 / デプロイの利便化のためビルド環境を Jenkins から GitLab に移行しましたので、そのレポートをお送りしていきたいと思います。 弊社の…

pixiv のデザインシステム実装『charcoal』を OSS 化します

こんにちは、@f_subal です。普段はおもに pixivFACTORY のフロントエンドを見たり、社内のデザインシステム整備の仕事をやったりしています。 さて、2021年に開催した弊社カンファレンス #pixivdevmeetup にて発表しましたデザインシステムの Web 版実装が…

ParamHelperにPSR-7とValueObject の力を授けた話

こんにちは、VTuberとPHP をこよなく愛しているふじしゃんです。 去年の7月からpixiv運営本部 Webエンジニアリングチームでアルバイトをしています。 今回は、pixivのParamHelperにPSR-7とValueObjectの力を授けたRequestParamFilterをピクシブ百科事典に実…

Google Cloud Secret Manager を使って機密情報の保存をセキュアにした話

はじめましての方ははじめまして。21新卒エンジニアの Javakky です。 突然ですが質問です!みなさんは本番環境で利用するDBのアクセス情報などの機密情報はどこに保存していますか?弊チームでは、社内でホスティングしているGitLabを利用しており、リポジ…

みんなでプロダクトをつくる「おもちゃ箱」の取り組み

こんにちは、pixivのリクエスト機能を開発するチーム(以下、リクエストチーム)で22新卒として内定者アルバイトをしているsaitoです。 リクエストチームでは、コミッションという新しい領域に挑戦しています。リクエスト機能をリリースして1年が過ぎた今で…

Scala で Writer モナドを利用して警告処理を実装した話

はじめましての方ははじめまして。21新卒エンジニアの Javakky です。 今回は、「ログに出力はしたいけど、ロジックからは分離したい」そんなモチベーションを叶えるモナド、 Writer モナドを利用した話について書いていきます。 前回のお話 社内の管理画面…

GitLab を利用したプロジェクトに Scala Steward を導入して依存関係を継続的に更新する仕組みを作った話

はじめましての方ははじめまして。21新卒エンジニアの Javakky です。 今回は、リポジトリの依存関係を最新に保つための取り組みを始めたので、そのレポートになります。 背景 私の部署では Scala というプログラミング言語と sbt というビルドツールを利用…

WACATE2021 冬に参加してきました #WACATE

こんにちは!クリエイター事業部 FANBOX部でエンジニアをやっているkumaです。pixivFANBOX開発とソフトウェア品質・テストに関する技術互助会「t-software-quality」活動に携わっています。 inside.pixiv.blog 2021年12月12日、 12月19日の2日間で行われたWA…

pixiv Android アプリでのデザインシステムを活用したダークテーマ対応

デザインシステムを利用した色の設定 色の実装について Theme切り替え 依存関係 デザインシステムと Material Components for Android Color Theming コンポーネント まとめと今後 フリーランスのソフトウェアエンジニアとして活動している djyugg です。ピ…

中高生国際Rubyプログラミングコンテスト2021 in Mitaka 最終審査会参加報告 & ピクシブ賞受賞者インタビュー

中高生国際Rubyプログラミングコンテスト2021 in Mitakaスポンサー記事を発信しましたpixiv事業本部の丸山(@alitaso)です。 2021年12月4日(土)に 中高生国際Rubyプログラミングコンテスト2021 in Mitaka の最終審査会がオンラインで行われました。ピクシ…

事業部横断でソフトウェア品質・テストの技術を研鑽する場 t-software-qualityのご紹介

高信頼性ソフトウェアエンジニアリング研究会 bashです。 ピクシブでは、何を実現すべきかの探索から、設計・実装・テスト・リリース、そしてフィードバックを得て再考するというすべてのアクションをプロダクトチームで包括的に担当する、いわゆるフルサイ…

Scala を利用した社内向けサービスの管理画面に Casbin を導入しました!

はじめましての方ははじめまして。21新卒エンジニアの Javakky です。 この度、社内向けサービスの管理画面に権限管理機能を実装するにあたり、 Casbin というアクセス制御ライブラリを利用しましたので導入までの流れをレポートしていきます。 Casbin とは …

ElixirConf US 2021 登壇のご報告

こんにちは、福岡オフィスのエンジニア@imaimaです。 先日2021年10月12日から15日にわたって開催されたElixirConf US 2021にオンライン登壇し、ぶじに終わりましたので、そちらについてのお話をします。 ElixirConf US 2021について ElixirConfとは、プログ…

PIXIV Design System 2021 の発表をしました(後編) #pixivdevmeetup

こんにちは。フロントエンドエンジニアのpnlyです。 こちらの記事は前後編に分かれた記事となっておりますので、前編の記事「PIXIV Design System 2021 の発表をしました(前編)」もあわせてご覧いただけるとよりお楽しみいただけると思います。 前編では、…

pixivのブックマークに関する負荷対策をしました

10/22(金) 追記 この記事で解説している内容について解説する勉強会を開催することとなりました。以下のconnpassよりお申し込みください。 pixiv.connpass.com 10/22(金) 追記 pixivのブックマークについて ブックマークDBの問題について 具体的な対策内容 …

#iOSDC Japan 2021にピクシブのエンジニアが3名登壇しました

こんにちは。pixivコミックのiOSアプリを開発しているkaraage(@krgpi)です。 2021年9月17日から19日に渡って開催されたiOSDC Japan 2021に、3名のエンジニアが登壇しました。登壇した各メンバーの発表スライドと発表後のコメントをまとめましたので、ご活…

型安全なHTTP入力を保証するParamHelper

こんにちは。pixiv運営本部 開発支援チームでpixivのコーディング環境の向上をしているyosatakです。 入力取得の安全性向上 PHPでは以下のようなURLのクエリパラメータを$_GET['id']経由で取得できます。 https://www.pixiv.net/novel/show.php?id=14921239 …

#iOSDC Japan 2021にピクシブのエンジニアが3名登壇します!

こんにちは。ピクシブでpixivコミックのiOSアプリ開発をしているkaraage(@krgpi)です。2021年9月17日から19日に渡って開催されるiOSDC Japan 2021に、今年も3名のエンジニアが登壇します。 iosdc.jp 登壇情報 以下、ピクシブのエンジニアが今年発表する内…

PIXIV DEV MEETUPでお話した「ブランディングページの 世界観を表現する技術」のセッション資料公開

エンジニアのyui540です。 PIXIV DEV MEETUPで「ブランディングページの世界観を表現する技術」というタイトルで、私が今まで関わってきたPIXIVプロダクトのブランディングページを実装するにあたって、サービスの世界観を表現するのにどのような動き・技術…