サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
inside.pixiv.blog
前置き こんにちは、インフラ部のsue445です。 下記の記事でも書いたように、先日開催されたPIXIV DEV MEETUP 2024のキーノートでインターコネクト同時開設に関して話をしました。 inside.pixiv.blog 発表スライドだけでは当日喋った内容が伝わらないと思ったため、本記事では当日喋った内容の書き起こしを掲載したいと思います。 前置き 書き起こし全文 諸注意 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 当日の反応 懇親会で聞いたみんなの感想 余談 書き起こし全文 諸注意 場所によっては日本語が若干変な文章になっているかもしれませんが、その場の雰囲気を出すために言い間違え以外は実際に喋った内容をそのまま掲載しているのでご了承ください。(文
PIXIV DEV MEETUP 2024当日の夕方にAquaステージ側におられた方は、「枕詞」についての語りから突然ボルテージ高くコールアンドレスポンスがはじまり、早口トークののちコールアンドレスポンスとともにドラが鳴るという発表を見た方も多くいらっしゃると思います。きっと言葉では言い表せないLT体験みたいなものを感じたのではないでしょうか。 申し遅れました。経営企画本部 経営企画補佐を務めております*1エンジニア職bashと申します。 ぜひこちらのじっくりとスライドを再読いただき、ポップな話に隠されたテック業界への問題提起とその解決について読み取っていただけるとうれしいです。 スライド この発表の経緯 世の中一般として「セキュリティチェックリスト」については大変だとか、記入を自動化できないかとか、そういう話題が多くあることにひっそりと心を痛めていました。 そこで私がセキュリティチェック
こんにちは。pixivのnamazuです。 先日開催されたPIXIV DEV MEETUP 2024にて、『pixivというシステムはどんな形をしているのか、それはなぜか。』というテーマで発表をさせていただきました。当日、セッションにご参加いただいた皆さま、そしてフィードバックをいただいた方々に、改めて感謝申し上げます。 Webサービス開発において面白い点の一つは、どのサービスもその要件や状況に応じて異なる選択がなされることです。結果として、類似点がある場合もありますが、細部において同じものはなく、すべてがユニークです。弊社内でもさまざまな違いが見られますが、業界全体を見渡すとさらに多様性が広がっていることでしょう。 今回の発表では、pixivのシステムに関する重要な要件や状況をいくつか取り上げ、現時点でどのような構造になっているかを、インフラストラクチャ、バックエンドアプリケーション、開
みなさまこんにちは、プロダクト開発ギルド長 bashです。この組織ではプロダクト開発運用を中心に「猛者が猛者を呼ぶ・猛者が猛者を磨き上げる"しくみ"をつくる」をテーマに、もっぱら開発を担う職や役割(プロダクトマネージャー、プロダクトデザイナー、コミュニティーマネージャー、エンジニア)の事業横断職能組織、開発サイクル改善活動、Developer Relationsの各部署を管轄しています。お見知りおきのほどよろしくお願いします。 さて、ピクシブ株式会社では社員のコミュニティ活動を推奨しています。各種技術ごとのテックコミュニティーをはじめ、様々なドメインで有志がコミュニティという形で勉強会やカンファレンスを開催して会社や組織をまたいで知の交流が行われており、その上に業務活動が成り立っているといっても過言ではありません。 以前こちらの記事で制度を紹介しましたが、よりシンプルな仕組みへとアップデー
クリエイター事業部の丸山(alitaso)です。 本エントリでは8月31日に開催された RubyKaigi 2024 follow up の開催報告をします。 RubyKaigi 2024 follow up とは RubyKaigi 2024 で「今後はこうしていこうと思っています」と言っていた人にその「今後」を伺うイベントです。 RubyKaigi 2024 follow up (2024/08/31 12:30〜) RubyKaigi 2024 登壇者のうち19名の方が RubyKaigi 2024 follow up でも進捗を発表されていました。またオンライン83名、オフライン75名の合計150名を超える一般参加者の方が申し込んでくださり、大変盛り上がった1日となりました。 各発表の終わりに中田さんとまつもとさん(途中参加)のコメントがあるのも本会ならではの取り組みでした。 主催
はじめに こんにちは、インフラ部のsue445です。 ピクシブでは2023年末に自社のデータセンターとAWSとをDirect Connect Gatewayで、データセンターとGoogle CloudとをCloud Interconnectで、それぞれインターコネクト(閉域網接続)を開通しました。 現在PastelaではDirect Connect Gatewayを、pixivcobanではCloud Interconnectをそれぞれ利用してオンプレミスのデータセンターと閉域網接続を行っています。 皆さんの会社でもデータセンターと各クラウドとを専用線などで閉域網接続は行っているかもしれません。しかし複数クラウドでの開通というのはあまり無い事例だと思います。 このエントリでは複数クラウドでの閉域網接続を通して得られた知見や、AWSとGoogle Cloudの微妙な仕様の違いを紹介させていた
まもなく17周年を迎えるpixivでは、長年にわたり作品などの全文検索基盤としてApache Solrを使用してきました。 しかし、サービスの規模が拡大する中で、従来の基盤に問題が生じていました。これを受けて、pixivでは全文検索基盤のリプレイスを実行しました。 今回のリプレイスにより、pixivでは検索結果の更新反映時間や検索APIのレイテンシが大幅に短縮されました。また、今後のスケールに対応可能になり、新機能開発においても全文検索が容易に利用できるようになりました。 本記事では、pixivの全文検索基盤の歴史や、今回オンプレミス環境でElasticsearchクラスタを構築し、リプレイスを完了するまでの取り組みについてご紹介します。 こんにちは。pixivのnamazuです。最近、私たちのチームで進めていたpixivの全文検索基盤のリプレイスが完了しました。この機会に、pixivの全
こんにちは、プラットフォーム開発部で認証認可基盤の開発を担当しているabcangです。 先日pixivでパスキーが利用できるようになりました。パスキーはパスワードに代わる認証方法で、顔認証・指紋認証・PINなどのデバイスの認証機能を使ってpixivや関連サービスにログインすることができます。 パスキーはデバイスやクラウドサービス(iCloudやGoogleなど)ごとに作成する必要があるため、1アカウントで複数のパスキーを作成することは一般的です。そのため、パスキーを削除するときなどに判別しやすくするには、パスキーに適切な名前をつけることが重要になります。しかし、ユーザーに適切な名前をつけてもらうのは大変なので、pixivでパスキーを作成した場合はそれらしい名前をデフォルトで設定しています。今回はそれらしい名前をどうやって設定しているかご紹介します。 AAGUIDを使用する AAGUID(A
はじめに こんにちは。インフラ部のlyluckです。 この記事ではオンプレミスKubernetesクラスター環境のデータがDatadogへ送りきれず欠損した現象と、その解消方法について紹介します。 背景 ピクシブでは2023年からオンプレミスKubernetesクラスターが稼働し始めました。 徐々にクラスター上で稼働するサービスが増えつつあります。今では10ノードほどの規模のクラスター上で10程度のサービスが稼働しており、常に300台ほどのPodが起動しています。 クラスターやクラスター上のリソースの監視にはDatadogを利用していましたが、時間帯によっては監視データが欠損することが問題になりました。 リソースの監視に支障をきたしたり、意図しないアラートのトリガーが発生してしまったりしたため、この問題に対応することになりました。 まとめ クラスターチェックランナーを使ってKubernet
こんにちは!ピクシブでバックエンドエンジニアとして働いているこのぴーです。 今回はpixivコミックストアの作品検索機能をMySQLの全文検索からElasticsearchに移行したときの手順と移行後の効果についてお話していこうと思います。 背景 pixivコミックストアのバックエンドはRuby on Railsで作成していて、今回Elasticsearchへ移行する作品検索機能はMySQLの全文検索を使用して実装されていました。 作品数が少なかった実装当時は問題なく動いていたのですが、取り扱う作品数が数十万作品となった現在、スロークエリの大部分を検索クエリが占めるほど性能が劣化してしまう事態となっていました。 さらに、インクリメンタルサーチによりクエリが大量に発行されたことが引き金となる障害が発生したため今回Elasticsearchへと移行することとなりました。 Elasticsear
こんにちは。プラットフォーム開発部兼財務データ企画部のshigeniiと申します。 普段はデータ基盤の運用保守、および、全社的なデータ活用やデータ駆動推進を担当しています。 今回は、財務に関する情報の収集からその可視化までの過程をシステム化することで、事業計画や予算策定のプロセス改善に結び付けた我々の取り組みについて、システム化に焦点を当てながら書き綴りたいと思います。 この記事がバックオフィス業務において、同じような課題を抱えている方に少しでもご参考になれば幸いです。 経緯 財務レポート可視化プロジェクト システム化にあたっての具体的な取り組み Before After システム化にあたっての課題 今回の対応 全体的なシステム構成 財務レポートを作るまでのながれ 説明1.各業務システムのデータを取得 説明2.マスタ情報の取得・作成 説明3.データの加工・突合機能 説明4.データに対するセ
こんにちは、CTOのharukasanです。私が担当しているファイナンシャルサービス本部ではピクシブが運営している各サービス(pixiv、BOOTH、pixivFACTORY、pixivFANBOX、pixivコミック、Pastelaなどなど)においてご利用頂く、決済・送金といったお金のやりとりに関するシステムの構築・運用を行っています。 ピクシブでは決済に関する手続きを変更することを目的に、2024年8月1日にサービス共通利用規約の改定をします。この記事では今回の規約改定を行う理由である、クレジットカード決済システムの可用性向上のために行うクレジットカード決済の転送サービス導入について、クレジットカード決済の仕組みも踏まえてご説明します。 ピクシブのサービスにおけるカード決済の仕組み ピクシブでクレジットカード決済を使った場合のお金の流れを簡単に図示してみました。実際にはもうちょっと複雑
はじめに 初めまして。プラットフォーム開発部にてデータ基盤の整備をしているazukiと申します。 今回はdbt(Data build tool)を導入した経緯と非中央集権的なdbtの使い方についてご紹介したいと思います。 今回は導入に関してまとめていますので、dbtの運用面の詳細は別記事で解説予定です。 データモデリングツール導入の背景 ピクシブではプロダクトの多さを理由に非中央集権データ組織を採用しています。 ドメインチームがメインでデータの取り組みやデータモデリングを行い、データ駆動推進室やデータ基盤チームはそのサポートや整備を担当しています。 その背景に関しては、【PIXIV MEETUP 2023】の方でお話していますのでぜひご覧下さい。 speakerdeck.com 今までBigQueryのデータ加工SQLは自社で開発したツールで管理していました。 pythonから変数埋め込み
こんにちは。 機械学習チームにてレコメンドの改善を行っているgumigumi4fです。 この記事では、Fluentdにて収集したログをBigQueryに挿入する際に使用しているプラグインを置き換えることによって、高スループットかつ低コストを実現した話について紹介します。 背景 pixivではアクセスログやアプリケーションログ等をBigQueryに収集し、分析できるような仕組みを構築しています。 BigQueryへアクセスログを挿入する際はFluentdとそのプラグインであるfluent-plugin-bigqueryを用いて直接BigQueryへ書き込むようになっていたのですが、その際にログ欠損が起こることが問題となっていました。 ログの欠損はピークタイムで発生しており、そのピークタイムのログの流量は概ね毎秒30000logとかなり多く、実際Fluentdのworkerプロセスが1work
FANBOX部でエンジニアをしているkumaです。 先日、那覇文化芸術劇場 なはーとにてRubyKaigi 2024が開催されました。昨年に引き続き、本年も学生支援企画として、RubyKaigiに参加したい学生さんを支援する取り組みを行いました。 inside.pixiv.blog 本記事では、今年の学生支援企画をメインで担当したkumaによる企画の振り返りを行います。 参加人数について 今年の学生支援企画についても昨年と同様、書類選考+面接1回という流れで参加者を決めていきました。面接では カンファレンスに参加したことがあるか RubyKaigiに参加するモチベーションは何か 普段どのようなことをやっているのか Rubyに関係あるかどうかは不問としました RubyKaigiに参加するにあたって懸念していることはあるか といった内容を質問し、総合的に判断して通過者を決定しました。 最終的に
こんにちは。ピクシブ24新卒のyuyukunです。 現在はOJTとしてpixivの開発・運用を行う部署に配属されています。PHPを勉強しながら、pixivの開発で直面している課題を解決したり、そもそもpixivではどうやって機能を提供しているのか?について日々学んでいます。 社内では、特にPHPでの開発のためにPhpStormを利用している方が多くいます。僕は普段からエディタとしてNeovimを利用しており使い慣れていることから、NeovimでPHPの開発環境を構築してみることにしました。 今回は、僕がNeovimを使ってpixivのコードを読んだり、開発したりしている環境を紹介します。一部ではありますが、主な機能として何を使っているのか、使ってみてどうだったかを書いてみようと思います。 スクリーンショットはサンプルのPHPプロジェクトを実際にNeovimで開いて編集している途中の様子で、
デザインシステム部の岡本(@mimo)です。ピクシブは2024年5月15日〜5月17日に渡って沖縄県那覇市で開催される RubyKaigi 2024 に Music Event Sponsor として協賛し、『RubyMusicMixin 2024』を開催いたします。 RubyMusicMixin 2024 As a Music Event Sponsor of RubyKaigi 2024, Pixiv Inc. is proud to host "RubyMusicMixin 2024", a lounge around music. Join us for a great late evening of music. Outline We will provide a venue for the party where you can chat with Rubyists while
こんにちは。マーケティング部のhotepです。 弊社がニックネーム制度というものを実施しているのはご存知でしょうか。ひらたくいうと、弊社に入るとき本名は奪われ、入社時に申請したニックネームで会社員生活をおくる制度です。「千と千尋の神隠し」の油屋で働き始めた千尋をイメージしてみてください。あってます。 え、いうて会社だしニックネームで呼ばれることないでしょ?形骸化された制度なんじゃない?って思うじゃないですか。映画で油屋の人たちが千尋って呼んでましたか。呼んでないですよね。 ニックネームで会社員生活を送るっていうのは、すべての社員からニックネームで呼ばれるし、メールアドレスもニックネームになるし、slackの名前もニックネームになるってことです。 同僚の本名は知りません。たまにオフィスでウーバーや宅配便を受け取ると、「え、この高橋って名前の人だれなの」とわかりません。それに同僚と飲みにいくと
はじめに こんにちは、VRoid部所属のエンジニアのyueです。 この度VRoid Hubで3Dモデルの配信サーバーの見直しを行い、技術選定から始めRustとZstandard (zstd)を採用した実装に切り替えました。 結論から見るに従来のNode.js製サーバーと比べて以下のことを実現しました。 最大のレスポンス時間が 1.5 ~ 2.5s から 300 ~ 400msまで低下 平均のレスポンス時間が 700 ~ 800ms から 150 ~ 200msまで低下 サーバーのCPU使用率が ~ 50% から ~ 10%まで低下 docker image のサイズが ~ 346mb から ~ 21mb程度まで削減 配信されるファイルサイズが平均 10 ~ 20% 軽量化されました レスポンス時間 CPU使用量 (上からAVG(MAX), AVG, AVG(MIN)) メモリー使用量に関し
ピクシブは2023年9月より、社員一人一人の生活に合った多様性のある働き方をサポートする「ピクシブワークスタイル」を開始しました。 www.pixiv.co.jp 今回、なぜ新制度の導入に至ったのか、その背景や狙いについて、当プロジェクトの責任者であるbashさんにインタビューを行いました。 まず、自己紹介をお願いします ピクシブには2013年11月にエンジニア職として中途入社しました。当時の社員数は70名ぐらいで、入社3ヶ月目ぐらいから技術開発マネージャーとして、エンジニア採用やインターンの企画などの業務を担当してきました。その後、関連会社のCTOや、VPoEなどの経験を経て、2020年からは社内IT部署の立ち上げを行い、2023年からは経営企画補佐という名前でソルバー&右腕型スタッフエンジニア的な業務を行っており、この11月からはEngineering Office活動も新規で始めてい
こんにちは!BOOTH部所属エンジニアのRND(らんど)です。 2023年9月29日に開催されたPIXIV MEETUP 2023のライトニングトークセッションにて「限界ORM!BOOTHとギフトとライブラリ」というタイトルで発表を行いました。 本記事はそちらの発表内容を元に記事に起こしたものです。 speakerdeck.com はじめに BOOTHのギフト機能の概要について 事例1:ライブラリでの表示 事例2:ギフトの複数回受け取り まとめ おわりに はじめに BOOTHは2013年にリリースされ2023年の12月に10周年を迎えるサービスで、Ruby on Railsで開発されています。 RailsではORMとしてActiveRecordが付属していますが、プロダクトを開発する中でActiveRecordの標準の機能では対応できないクエリが必要となるケースが多々あります。 そういった
こんにちは、CTOのharukasanです。2023年9月29日、ピクシブでは3年ぶりのオンサイトカンファレンスとなるPIXIV MEETUP 2023を開催しました。ご参加いただいたみなさま、誠にありがとうございます。 このミートアップでは、単にサービス紹介や技術的知見を一方的に共有するだけではなく、参加者の皆さんとたくさんのコミュニケーションをとり、そこから新しい何かが生まれることを重視しました。各ピクシブメンバーがそれぞれのゲストをアテンドし、会場でたくさんお話をさせていただくことができました。 当日の模様やセッション内容については、この記事をはじめとして今後さまざまな形でご紹介していきますので、そちらもぜひお楽しみください。 PIXIV MEETUP2023のビジョン 「創作活動を、もっと楽しくする。その想いと技術がつながる場所。」 本ミートアップは、ピクシブが掲げる「創作活動を、
こんにちは。福岡オフィスエンジニアの @petamoriken です。趣味でFloat16Arrayのponyfill1を公開しECMAScriptに入れてもらうように活動していたところ、喜ばしいことに2023年5月のTC39会議にてStage 3となりました。折角なのでその経緯を書いていこうと思います。 ECMAScript excitement 😉@TC39 advanced these proposals this week 🎉 4️⃣ Atomics.waitAsync 4️⃣ RegExp v flag 4️⃣ Well-Formed Unicode Strings 3️⃣ Decorator Metadata 3️⃣ Float16Array 2️⃣ Base64 for Uint8Array 2️⃣ Promise.withResolvers 2️⃣ TimeZone C
こんにちは、プラットフォーム開発部で認証認可基盤の開発を担当しているabcangです。 先日pixivのログイン画面で2段階認証が利用できるようになりました。現時点ではTOTP(Time-based One-Time Password)認証アプリとバックアップコードの2種類が2要素目の認証手段として利用できます。バックアップコードは、メインの2要素目の認証手段が使えなくなった際に代わりの認証手段として使用できるコードで、2段階認証を有効化したときに生成しています。 バックアップコードは長ければ長いほど安全ですが、長いといざ使うときに入力が大変ですし入力ミスもしやすくなります。しかし、逆にバックアップコードを短くしすぎるとセキュリティ的に問題になるため、利便性とセキュリティのバランスを取る必要があります。 今回はこのバックアップコードの仕様をどのように決めたかをご紹介します。 NIST SP
こんにちは、VRoid部所属のエンジニアのyueです。 VRoid Hubでページ遷移時にcanvasの状態を維持する改善をリリースしました。本記事ではこの取り込みについて解説していきます。 前提 VRoid Hubではモデル詳細画面と投稿者のみに表示するモデル編集画面が存在しています。この二つのページは別々のレイアウトを使っていたため、モデル表示用のcanvasを操作するインスタンスがお互い共通せず、ページ遷移するたびにモデルを再度読み込むことが必要でした。 今回はDOM APIを利用してコード変更を最小限に押えつつ、再度読みを無くすような改善を行いました。 問題の再現 通常Reactの再レンダリングを防ぐには様々な手段があります。例えば React.memo 、React コンポーネントの key 、classコンポーネントのshouldComponentUpdate などが存在します
こんにちは、ピクシブでエンジニアをしているnamazuです。 ピクシブ株式会社ではpixivを始めとする複数のサービスにおいてDDoS防御やBotへの対処としてCloudflare CDNを利用しています。 この度Cloudflareの提供するCloudflare Workersをマンガ家デビューを目指すクリエイターと出版社の編集者が繋がるサービス pixivコミックインディーズ にて利用しました。 本inside記事ではコミックインディーズの開発チームが取り組んだCloudflare Workersの活用事例についてご紹介します。 課題 pixivコミックインディーズはReact (+ vite)を用いて作られたウェブアプリケーションです。 CSR(ClientSideRendering)のSPAであり、コンテンツ配信用のNginxサーバーからindex.htmlを静的コンテンツとして配
はじめに 初めまして。プラットフォーム開発部にてデータ基盤を整備しているkashiraと申します。 ピクシブではデータガバナンス強化のために、Google Cloud Platform(GCP)のDataplexのデータリネージ機能を本番運用で使い始めました。 この記事では、「どのように導入したのか?」「導入によってどんな効果が出たのか?」について話していきます。 cloud.google.com データリネージとは? データリネージとは、データの流れを可視化する機能です。 BIやDWHで分析するデータは、各所に散らばった複数の処理を経て生成されます。 複数の散らばった処理を1つずつ追いかけるのには時間がかかり、何かデータに障害が発生した場合のデバッグや、データ変更をしたい場合の調査に対するコストが大きくなります。 こうした課題を解決するための仕組みの1つがデータリネージです。 具体的には
アドプラットフォーム事業部 アドプロダクト部 データチームでアナリティクスエンジニアをしているucchi-です。普段は主に、pixiv Adsという広告ネットワークのデータ周りを開発しています。 ads.pixiv.net 今回は、pixiv Adsで採用している、Lookerの埋め込みダッシュボードについて紹介します。 はじめに ピクシブでは全社的にLookerを使用しています。Lookerを使うことで、BigQueryに保存されている品質の高いデータを気軽に分析することができ、社内の仮説検証や意思決定に役立っています。 一方で、Lookerは社内の分析用途だけではなく、社外へのデータ提供にも活用できます。 具体的な手段はいくつかありますが、pixiv Adsでは、「シングルサインオン(SSO)組み込み」という形式で、クライアント向けの広告管理画面にLookerのダッシュボードを埋め込ん
プロダクトマネージャーのwatasukeと申します。 2023/6/15、BOOTHで「オーナーギフト機能」を数ヶ月前に予告したうえでリリースしましたが、その舞台裏についてお話いたします。 🎉ショップオーナー向けギフト機能アップデート🎉 自分のショップのダウンロード商品について、ギフト用URLを注文手続きなしで発行できるようになりました! プレゼント企画やご友人・知人へのシェアなど、さまざまな場面でご活用ください!🎁 ▼詳細はこちらhttps://t.co/agtHmZaRsD pic.twitter.com/Ef24ah25NX— BOOTH公式 (@booth_pm) 2023年6月15日 ギフト機能 ダウンロード商品を購入し、発行されるギフト用URLを使って第三者に贈ることができる機能 オーナーギフト機能 ショップオーナーであればダウンロード商品のギフト用URLを無料で発行でき
次のページ
このページを最初にブックマークしてみませんか?
『pixiv inside』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く