タグ

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

  • ピクシブにおける不当な目的での作品取得行為に対する対策技術について - pixiv inside

    CTOのharukasanです。 pixivをはじめとするピクシブが運営している各サービスにおいて、ユーザーの投稿した作品を不当な目的を持って取得する行為から守ることは、プラットフォームとして重要な責務のひとつであるとピクシブは考えています。これまでもピクシブでは、作品が不当な目的で大量に取得されないよう機械的なクローリングを検知し、ブロックするために様々な手段を講じてきました。この記事では、現在行っている対策と、今後実施していくために現時点で取り組んでいる施策についてご説明します。 English version is available here これまでに実施している不当な目的での作品大量取得への対策について ピクシブでは不当な目的で作品を大量取得されることを防止するため、基的な対策に加え、様々なソリューションを導入しています。ここでは特徴的な技術についていくつかの例を紹介します。

    ピクシブにおける不当な目的での作品取得行為に対する対策技術について - pixiv inside
    Nyoho
    Nyoho 2023/05/09
  • アプリ版デザインシステム実装を公開しました - pixiv inside

    アプリ版デザインシステム実装をOSS化しました こんにちは、ああうえ(@_kwzr_)です。新規事業部とデザインシステム部を兼務しており、アプリ版デザインシステムの実装を進めています。 Web版に引き続いて、アプリ版のデザインシステム(charcoal-ios, charcoal-android)をOSS化しました。 github.com github.com inside.pixiv.blog Web版との同期 アイコン・色・定数などが複数のリポジトリに定義されてしまっていると、更新が困難になってしまいます。 charcoal-iosとcharcoal-androidでは、CIで定期的にWeb版の定数の定義を用いて、自動的に更新を行なっています。Web版の定数はJSONで定義されており、iOS版ではQuickTypeを用いてSwiftの型に変換しています。Android版でも同様にKot

    アプリ版デザインシステム実装を公開しました - pixiv inside
    Nyoho
    Nyoho 2023/01/26
  • アプリエンジニア育成プロジェクト - pixiv inside

    アプリエンジニア育成に取り組んでいます こんにちは、ピクシブで新規事業部に所属しています、ああうえ(@_kwzr_)と申します。普段のプロダクト開発に加えて、全社的なモバイルアプリ領域の開発体験の向上に取り組んでいます。 最近モバイルアプリの世界ではネイティブなフレームワーク以外の開発手段を採用するものが増えてきましたね。 また、ネイティブアプリ開発の進化によって、iOSではUIKitからSwiftUIAndroidではAndroid ViewからJetpack Composeが採用されることが増えてきました。 モバイルアプリ領域の中で採用できる技術が増えてきたことで、最近は採用したいエンジニアと、世の中にいるエンジニア技術的なミスマッチが起こりやすくなってきたと感じます。 ピクシブのアプリでは、ビューアーなどの閲覧体験が重要になってくるものが多かったり、ライブ配信・視聴機能や、ドロー

    アプリエンジニア育成プロジェクト - pixiv inside
    Nyoho
    Nyoho 2023/01/20
    「iOSの学習内容を公開します」いいね
  • pixivをNext.jsでリプレイスする取り組みをご紹介します。 - pixiv inside

    pixivではNext.jsを用いたフロントエンドのリプレイスプロジェクト2022年3月末より行っており、現時点(2022年8月)でリクエスト機能をNext.jsにてリプレイスしました。 今回のpixiv insideではピクシブ株式会社で働くエンジニアの取り組みとして、pixivフロントエンドNext.jsでリプレイスする取り組みについて実際に取り組んだメンバーからご紹介します。 まずは皆さんの自己紹介をお願いします namazu: pixivのウェブ領域に関するテックリードを担当しているnamazuです。今回のNext.jsプロジェクトではPjMやNext.jsのホスティング回りの実装を担当しています。 shu: 2022年3月に入社したshuです。Next.js化ではフロントエンドの設計、実装を担当しています。 mog: エンジニアとしてアルバイトをしているmogです。Nex

    pixivをNext.jsでリプレイスする取り組みをご紹介します。 - pixiv inside
  • pixiv と OSS と わたし - pixiv inside

    はじめましての方ははじめまして。ピクシブで Scala エンジニアをしている Javakky です。 今回は、僕がピクシブ株式会社で働く中で、 OSS と関わるようになったきっかけについて話したいと思います。 入社 と OSS 私は、2020年の 5月に内定者アルバイトとしてピクシブ株式会社へ入社後、1年ほど ピクシブ百科事典 の開発に関わっていました。 ピクシブ百科事典は 2009年から運営されている息が長いサービスで、レガシーな部分も多かったこともあり、ちょうどテストなどの改修が盛んに行われている時期でした。 そんな中、僕にとっての転機が訪れます。 百科事典のMySQLに依存した実装コードへのテスト追加にあたり、メンターの tadsan から提案されたのが、https://github.com/vimeo/php-mysql-engineでした。このライブラリは、当時まだリリースされて

    pixiv と OSS と わたし - pixiv inside
    Nyoho
    Nyoho 2022/08/09
  • pixiv のデザインシステム実装『charcoal』を OSS 化します - pixiv inside

    こんにちは、@f_subal です。普段はおもに pixivFACTORY のフロントエンドを見たり、社内のデザインシステム整備の仕事をやったりしています。 さて、2021年に開催した弊社カンファレンス #pixivdevmeetup にて発表しましたデザインシステムの Web 版実装が先日 OSS 化されました 🎉 1。GitHub と npm から利用できます。 github.com www.npmjs.com 発表時点では「pixiv-elements」という名称でしたが、公開にあたって「charcoal」という名前になりました。「charcoal(木炭)」とはデッサンの道具であり、線を引く、表現の基礎となる素材の一つです。また創作物を主役とするサービスの基盤として、それ自体は色を持たないモノクロの素材である、というニュアンスも含みます。 (ただし、npm パッケージのスコープは

    pixiv のデザインシステム実装『charcoal』を OSS 化します - pixiv inside
  • pixivのブックマークに関する負荷対策をしました - pixiv inside

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

    pixivのブックマークに関する負荷対策をしました - pixiv inside
    Nyoho
    Nyoho 2021/10/22
    “6月のindexの追加、9月のタグ絞り込みに関するテーブル分割の完了により、ブックマークDBのSlowQueryの数を最終的にほぼ0にすることができました”
  • 毎秒1万リクエストの負荷試験をした話 - pixiv inside

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

    毎秒1万リクエストの負荷試験をした話 - pixiv inside
  • Flutterで社員研修用のアプリを作った話 - pixiv inside

    みなさんはじめまして。初めてじゃない方はお久しぶりです。ピクシブでAndroidアプリエンジニアをしておりますconsommeです。 ピクシブでは基的に年一回、社員同士の交流を深めるという目的のもと、社員研修を開催しています。2018年は2泊3日の沖縄研修が計画されました。そのなかで研修運営チームから「社員研修で使うアプリを作れないか?」という相談を受けました。 研修中は基的にチーム行動になるので、自分のチーム以外の人が何をしているかがわかりづらい。それなら各自で研修中に撮った写真を共有して、みんなで楽しめれば社員同士の交流につながるのではないか、そのためのアプリが欲しい、とのこと。 そう言われるとアプリエンジニアとしては作らないという選択肢はありません。ぜひやりましょう、ということで、社員研修を盛り上げるためのアプリを開発することになりました。 システム構成 アプリ側 アプリはFlu

    Flutterで社員研修用のアプリを作った話 - pixiv inside
    Nyoho
    Nyoho 2018/10/11
  • 失われた2人日をiMac Proで取り戻し、開発体験を向上するまでの軌跡 - pixiv inside

    お初です。2017年10月入社の @kobaken です。iOSアプリ開発を生業にしております。 最近はすっかりスタァライトされてしまい、舞台創造科の一員になってしまいました。 普段は声優のことを考える傍ら、pixivpixiv SketchのiOSアプリの開発をしています。 ところで、iOSアプリ開発をされている皆さんの中に、このような現象に頭を悩まされている方はいるでしょうか? なかなか終わらないビルド……侵されるCPUリソース……固まるIDE…… わかります。自分も以前までは上記の症例に頭を悩まされ、【精神破壊(メンタルブレイク)】される寸前でした。 どうにかして作業効率を上げないと僕が病んじゃう!そうすると開発の手が止まって、新しい価値をユーザに届けられなくなっちゃう!私これからどうすればいいの〜〜〜!……そんなとき僕たちの目の前に現れたのが「iMac Pro」でした。 iMa

    失われた2人日をiMac Proで取り戻し、開発体験を向上するまでの軌跡 - pixiv inside
    Nyoho
    Nyoho 2018/09/12
    かなりビルド時間短くなるんだなあ。Swiftのコンパイル結構かかるからなあ。Objective-Cのビルドはちょっぱやなんだけど
  • 永久保存版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
    Nyoho
    Nyoho 2018/08/22
  • 今日から簡単!Webpacker 完全脱出ガイド - pixiv inside

    こんにちは、@f_subal です。普段はおもに pixivFACTORY のフロントエンドを見ています。 今回は pixivFACTORY において、フロントエンドのビルドに Webpacker を利用するのをやめた話をします。 Webpacker をやめよう rails/webpacker は Ruby on Railsプロジェクトwebpack を導入する際に用いられる gem です。必要な webpack の設定ファイルの生成や、Rails のテンプレートからビルド済みの JavaScript ファイルを読み出すために用いるヘルパー関数など、多数の機能を提供します。 結論から言うと、Webpacker を入れてもあまり良いことがありませんでした。単に必要が無いというより、あることによって面倒が増していると感じたので、剥がしました。以下 Webpacker が導入された Ra

    今日から簡単!Webpacker 完全脱出ガイド - pixiv inside
  • 3/28に公開されたRubyの脆弱性情報についてのポエム的解説 - pixiv inside

    こんにちは。Rubyコミッターのusaです。 なんかRuby の 最新 リリースと一緒に、脆弱性 情報 が いっぱい 公開 されましたね。うわー、なんかよくわかんないけど、やばそうですね!正味のところ、こいつら結局どれくらい危なそうなのか、それらの脆弱性の記事を書いた人がたまたまピクシブにいましたので、率直に音を語っていこうと思います。 CVE-2017-17742: WEBrick における HTTP レスポンス偽装の脆弱性について うまく利用するのは難しいとは思いますが、使いようによっては利用者(WEBrickで作って公開したサイトを訪問した人)をひどいめにあわせることができるかもしれない脆弱性です。 でも、WEBrickで作ったサイトをプロダクションで公開してる人なんているわけないよねははは。 CVE-2018-8777: WEBrick における巨大リクエストにともなう DoS

    3/28に公開されたRubyの脆弱性情報についてのポエム的解説 - pixiv inside
    Nyoho
    Nyoho 2018/03/29
  • 熟練のRubyコアコミッター、ピクシブに立つ - pixiv inside

    「プログラミング言語Rubyのコアコミッター・中村宇作氏を採用しRuby開発とImageFlux開発を加速します」のニュースで既報の通り、Rubyのコアコミッターを務められているusaこと中村宇作が入社しました。 聞き手はニュースの写真にも登場している、bashこと執行役員 技術マネジメント室長 小芝です。 プロフィール 1973年生まれ、富山県出身。 2000年よりRubyの開発に携わり、現在は主にWindows版の開発および安定版の保守を担当。Ruby公式サイトに世界で一番多く記事を書いている人。 RubyKaigi2013スピーカー、大江戸Ruby会議05キーノート。 TRICK 2013、TRICK 2015 入賞者。 好きなメソッド: Enumerable#map 座右の銘: ケセラセラ GitHubTwitter ID: @unak 自己紹介 まずは自己紹介をお願いします。

    熟練のRubyコアコミッター、ピクシブに立つ - pixiv inside
    Nyoho
    Nyoho 2018/03/20
  • ピクシブはRubyKaigi 2017のAfter Kaigi SponsorとしてRubyコミュニティを支援しています #rubykaigi - pixiv inside

    開発部長の@bash0C7こと小芝です。 プログラミング言語Rubyの国際的なカンファレンス「RubyKaigi 2017」が2017年9月18日(月)〜20日(水)に開催されます。そして、私たちピクシブはAfter Kaigi Sponsorとして、会期最終日である20日(水)の晩に、After Partyを開催します! 開催概要 美味しい事や飲み物を片手に、Rubyをはじめとする様々な技術について、星空の下でたのしく語り合いましょう。 会場 そごう広島店館屋上 星空のビアガーデンです。 当日はRubyKaigi 2017会場から、ピクシブメンバーがご案内いたします。 広島国際会議場から徒歩10分程度です 貸切のため、RubyKaigi 2017参加者同士で思う存分交流ができます。 日時 2017年9月20日(水) 18:30開演 途中参加ももちろんOKです。 参加費 無料です。

    ピクシブはRubyKaigi 2017のAfter Kaigi SponsorとしてRubyコミュニティを支援しています #rubykaigi - pixiv inside
    Nyoho
    Nyoho 2017/09/12
    “そごう広島店本館屋上 星空のビアガーデンです。”
  • 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
    Nyoho
    Nyoho 2017/06/21
  • 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
    Nyoho
    Nyoho 2017/06/13
  • 社内ISUCON開催のための構成とノウハウを公開!Amazon Lambdaでサーバレスのベンチマーカーを構築した話 - pixiv inside

    こんにちは。 pixivの投稿ユーザ向けグロースを担当しているエンジニアsestaです。 4月28日、ISUCON6戦の問題を作ったedvakf、catatsuyと一緒に第2回社内ISUCONを開催しました! ISUCONとは3人までのチームで参加し、与えられたウェブアプリケーションのチューニングを制限時間いっぱい行い、パフォーマンスに基づいたスコアで競いあうコンテストです。 去年の社内ISUCON開催記事に引き続き、 今年は当日の様子のレポートとベンチマークなどの全体構成について紹介します。 当日の様子 今年は38人もの社員が参加し、その中にはなんと、ビジネス職の新卒や人事(!?)も参加していました。 競技時間は10:30から18:00までと番のISUCONと同様にしました。 10:30によーいどんで始めた社内ISUCONですが、前半はなかなかスコアを伸ばすチームが現れませんでした

    社内ISUCON開催のための構成とノウハウを公開!Amazon Lambdaでサーバレスのベンチマーカーを構築した話 - pixiv inside
    Nyoho
    Nyoho 2017/05/24
  • 実際に運用してみてわかった、大規模Mastodonインスタンスを運用するコツ - pixiv inside

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

    実際に運用してみてわかった、大規模Mastodonインスタンスを運用するコツ - pixiv inside
    Nyoho
    Nyoho 2017/04/17
    パフォーマンスチューニングの話はマストドンに限らずとても役に立つからこれからも世界のために公開してください。世界に成り替わり、感謝申し上げます。
  • ImageMagick・Blenderを使った画像合成技術 — ピクシブの画像処理エンジニアが語る(3) - pixiv inside

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

    ImageMagick・Blenderを使った画像合成技術 — ピクシブの画像処理エンジニアが語る(3) - pixiv inside
    Nyoho
    Nyoho 2017/03/24
    headless blender便利そう
  • 1