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

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

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

    ピクシブにおける不当な目的での作品取得行為に対する対策技術について - pixiv inside
    rinsuki
    rinsuki 2023/05/09
  • Android版 pixiv Sketchの新ドロー機能を開発したのでその裏側を赤裸々に語ります - pixiv inside

    Androidアプリをつくっているkobakenです。DroidKaigi 2019の登壇予告記事を投稿して以来ですね。皆さん元気にしていましたか? kobakenはというと、Androidpixiv Sketchをもりもり開発しておりました。Jetpack Composeをプロダクション投入したすぎてウズウズしています。 さて、今回はそんなAndroidpixiv Sketchのドロー機能を刷新して(以下、新ドローと呼びます。)新しい体験をお届けできたので、その開発の裏側についてご紹介していこうと思います。 Androidpixiv Sketchの新ドロー機能をリリースしました! Androidをお持ちの方は、とりあえず触ってみてください。 play.google.com 今回紹介するpixiv Sketchの新ドロー機能とは、 お絵かき新規勢でも直感的に触れるUI 普段お絵

    Android版 pixiv Sketchの新ドロー機能を開発したのでその裏側を赤裸々に語ります - pixiv inside
    rinsuki
    rinsuki 2021/03/17
  • WebRTC ♥ .NET ー WebRTCの.NETバインディング - pixiv inside

    こんにちは、ねこまんまです。 先日、ピクシブはWebRTCプロジェクトのフォークを公開しました。このフォークにはオリジナルのプロジェクトには含まれていないいくつかの変更が施されていますが、その中でも大きな機能追加である、WebRTCの.NETバインディングを紹介します。 pixiv/webrtc on GitHub このバインディングを用いることによって、Unityや.NET Framework、Monoといった.NETプラットフォームで映像や音声のライブ配信、受信が可能になります。 Linux上のFirefoxで、SoraのJavaScript SDKを利用して配信したディスプレイの映像を、同機上のUnity Editor、iOS、Androidのプレイヤー上で受信している。Unity上のプログラムはそれぞれ同じものを利用している。SFUとしてImageFlux Live Streami

    WebRTC ♥ .NET ー WebRTCの.NETバインディング - pixiv inside
    rinsuki
    rinsuki 2019/10/30
    すごい
  • GitLab令和最初のリプレイス。フルコンテナ化ポスグレ移行 - pixiv inside

    こんにちは、sue445です。 先日社内で使ってるGitLabのリプレイスをしたのでその辺の話をしたいと思います。 リプレイスの内容 今回のGitLabリプレイスでは主に下記を行いました。 サーバ移設に伴いURL以外全部変えた レガシーな環境で運用されていたGitLabを全てDockerコンテナに載せた MySQLからPostgreSQLに移行 以上を1時間弱のメンテでやりきった 構成 ざっくり書くと、SSL終端のフロントサーバのみ同じで、それ以外のバックエンドを全部変えました。 旧 APサーバ Debian Wheezy CPU: Intel Xeon E5-2640v2 * 2 Memory: 40GB Disk: 64G + 512G MySQL兼Redisサーバ Debian Wheezy CPU: Intel Xeon X3430 Memory: 8GB Disk: 256G M

    GitLab令和最初のリプレイス。フルコンテナ化ポスグレ移行 - pixiv inside
    rinsuki
    rinsuki 2019/09/19
  • 画像に関する新しい DOM API の紹介 - pixiv inside

    こんにちは、福岡オフィスでエンジニアをしている petamoriken です。 ECMAScript と DOM API が好きで、気づいたらいつも仕様を眺めています。よろしくお願いします。 この記事では画像に関する新しい DOM API を紹介します。一般的に DOM API は二つのブラウザによる実装があれば安定していると言われていますが、プロダクトなどに採用する際には十分気をつけてください。また将来的に仕様が変更される可能性があることにも留意してください。 HTMLImageElement#decode() 明示的に画像のデコードをさせるメソッドです。Promise<void> を返します。 実は画像の load イベント完了後では画像の大きさを取得することは出来ますが、まだデコード処理はなされていません。今まで明示的にデコードさせたかったらこのようなコードを書いていたと思います。

    画像に関する新しい DOM API の紹介 - pixiv inside
    rinsuki
    rinsuki 2018/12/13
  • Closedなesaの記事URLをSlackに貼ったら展開されるようにした - pixiv inside

    みなさんこんにちは。@FromAtomです。去年のアドベントカレンダーでは、 『【esa】社内ドキュメントツールのホッテントリを分かるようにしたら捗った話 』を書きました。今年もesaの話です。以前、中の人にインタビューしていただいた こともあるのですが、ピクシブではesaという情報共有サービスを利用しています。 社外秘の情報も書かれているためClosedなesaとして運用しており、もちろん外部の人はアクセスすることができません。そのため、Slackにesaの記事URLを貼っても展開機能が使えません。「それはそう」という感じなのですが、下の画像のPublicなesaのように、URLが展開されたほうが便利ですよね。 そこで、Slack AppのUnfurling links in messagesという機能を利用して、社内Slackに貼られたClosedな社内esaのURLでも展開できるよう

    Closedなesaの記事URLをSlackに貼ったら展開されるようにした - pixiv inside
    rinsuki
    rinsuki 2018/12/05
    便利っぽい
  • Flutterで社員研修用のアプリを作った話 - pixiv inside

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

    Flutterで社員研修用のアプリを作った話 - pixiv inside
    rinsuki
    rinsuki 2018/10/10
    オチがかなしい
  • おもしろTシャツを作ってiOSDCに挑みました - pixiv inside

    こんにちは。17年度新卒のkwzrです。普段はAndroidアプリとiOSアプリを開発しているエンジニアです。 2018年8月30日(木)〜9月2日(日)に開催されたiOSDC Japan 2018において、ピクシブから登壇者6名含む9名が参加しました。その際にピクシブ社員が着ていたイケてないピヨピヨしたソースコードが書かれていたTシャツについて解説していきます。 なんと社員全員が違うソースコードが書かれたTシャツを着ています! ノベルティとして、LGTMと書かれた扇子も配りました。こちらは人気が非常に高かったです。 アイデア出し せっかく9名も参加するので、発表やノベルティの配布以外でiOSDCを盛り上げたいという気持ちがあり、以下の3点を考慮したTシャツを作ることにしました。 ピクシブのエンジニアだということがわかる 懇親会などで話のネタになる 何を得意としているエンジニアなのか伝わる

    おもしろTシャツを作ってiOSDCに挑みました - pixiv inside
    rinsuki
    rinsuki 2018/09/26
  • BOOTH iOSアプリはどうやって有料ダウンロード商品の販売を解禁したか? #booth_pm #booth - pixiv inside

    2020/12/25 編注:この記事は2018年当時のエピソードです。現在はこの方法では審査に通らなくなりました。 おばんです、給料日であることをいいことに、にじさんじくじに課金しまくったBOOTH iOSエンジニアの @danbo-tanaka です。 平素よりBOOTH iOSアプリをご贔屓いただき、ありがとうございます。 みなさんもうアプリをアップデートしていただけましたでしょうか? 8月16日(木)にリリースしたv2.12.0では、これまで要望の多かった有料ダウンロード商品の販売を実装しました!🎉 これまでiOSアプリにおいて、デジタルコンテンツの購入に対応したアプリは多くありませんでした。それはAppleが用意したアプリ内課金(通称Apple税。手数料として30%をAppleに支払う必要がある支払い方法)を通さなければ、基的にデジタルコンテンツの取り扱いが許されなかったという

    BOOTH iOSアプリはどうやって有料ダウンロード商品の販売を解禁したか? #booth_pm #booth - pixiv inside
    rinsuki
    rinsuki 2018/08/20
  • 今日から簡単!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
    rinsuki
    rinsuki 2018/08/06
  • pixivのHTTP/2有効化の軌跡 - pixiv inside

    @catatsuyです。普段はpixiv技術的な改善や広告周りを見ています。今回はHTTP/2の話を紹介します。 HTTPS化とHTTP/2について 以前紹介したようにpixivは2017/4/18にHTTPS化を完了していました。 pixivを常時HTTPS化するまでの道のり(前編) - pixiv inside pixivを常時HTTPS化するまでの道のり(後編) - pixiv inside 昨今ブラウザで使える新しい技術はHTTPSが必須要件とされることが多くなりました。その中の代表格がHTTP/2です。HTTP/2自体はHTTPSを要求していませんが、実際にはHTTPSでなければブラウザ側で有効にならないため必須です。 HTTP/2に対応するメリットは他の詳しい記事を参照して欲しいですが、ざっくり以下のメリットがあります。 HPACKという仕様でハフマン符号を使ったHTTPヘッ

    pixivのHTTP/2有効化の軌跡 - pixiv inside
    rinsuki
    rinsuki 2018/05/10
  • 1