トップへ戻る
シン・ウルトラマン
inside.pixiv.blog
はじめましての方ははじめまして。ピクシブで Scala エンジニアとして働いている Javakky です。 今回はビルド高速化 / デプロイの利便化のためビルド環境を Jenkins から GitLab に移行しましたので、そのレポートをお送りしていきたいと思います。 弊社のデプロイについて まずは、弊チームリポジトリの動作環境とデプロイの流れがどうなっていたかを見ていきます。 弊チームの利用する環境としては、本番環境 (サーバー)、ステージング環境 (サーバー)、共用開発環境 (サーバー)、個人用開発環境 (ローカル) の 4種類が存在します。厳密にはバッチ処理をするサーバーも存在するのですが、デプロイ時には本番環境と全く同時にデプロイしているため、ここでは本番環境に含めることにします。 個人用開発環境でのプログラムの起動は sbt run コマンドで行っているのですが、その他サーバー上
pixiv事業本部の丸山(@alitaso)です。 2022年4月よりピクシブは Ruby アソシエーションの Platinum スポンサーとして協賛を開始しました。 ピクシブ株式会社 - Ruby Association www.ruby.or.jp Ruby アソシエーションとは Ruby Associationは、プログラミング言語Rubyの普及と発展のための非営利団体です。Ruby関連のプロジェクトやコミュニティ、ビジネスの関係を強化し、Rubyの利用に関する諸問題の解決に取り組みます。 Ruby 開発及びコミュニティ支援をはじめとして、RubyWorld Conference や Ruby Prize といったカンファレンスの開催、Ruby技術者認定試験事業や事業者認定制度などを実施しています。 特に開発に関連する部分では 公募型開発プロジェクト 開発用の設備購入費用やサービス利
こんにちは、@f_subal です。普段はおもに pixivFACTORY のフロントエンドを見たり、社内のデザインシステム整備の仕事をやったりしています。 さて、2021年に開催した弊社カンファレンス #pixivdevmeetup にて発表しましたデザインシステムの Web 版実装が先日 OSS 化されました 🎉 1。GitHub と npm から利用できます。 github.com www.npmjs.com 発表時点では「pixiv-elements」という名称でしたが、公開にあたって「charcoal」という名前になりました。「charcoal(木炭)」とはデッサンの道具であり、線を引く、表現の基礎となる素材の一つです。また創作物を主役とするサービスの基盤として、それ自体は色を持たないモノクロの素材である、というニュアンスも含みます。 (ただし、npm パッケージのスコープは
こんにちは、VTuberとPHP をこよなく愛しているふじしゃんです。 去年の7月からpixiv運営本部 Webエンジニアリングチームでアルバイトをしています。 今回は、pixivのParamHelperにPSR-7とValueObjectの力を授けたRequestParamFilterをピクシブ百科事典に実装した話を書いていきます。 ParamHelper について これまでピクシブ百科事典には、リクエストパラメータやリクエストボディを厳密に検証する仕組みがありませんでした。 Webアプリケーションにとって入力値検証は非常に重要なことです。 pixivでは、受け取った値を安全に扱うためにParamHelperという機能を実装し、必ず検証するようにしています。 以下のように書くことで値を検証しPHPStanで型付けを行うことができます。 <?php $page = ParamHelper:
こんにちは、pixivのリクエスト機能を開発するチーム(以下、リクエストチーム)で22新卒として内定者アルバイトをしているsaitoです。 リクエストチームでは、コミッションという新しい領域に挑戦しています。リクエスト機能をリリースして1年が過ぎた今でも、ユーザーにより価値を届けるためには何をするべきかをチームみんなで考えて取り組みを続けています。 そんなリクエストチームで、昨年から「おもちゃ箱」という新しい取り組みをはじめたので、紹介します。 背景 リクエストチームでは、2021年に「再送依頼」「ファンレター」「プランの複数設定」などのリクエストの体験を向上させるための本質的な改善を繰り返し行ってきました。 それらのリリースの合間では、プロダクトマネージャーが次のリリースの準備を進めます。この間は、プロダクト開発の凪とも呼べる状態になっていて、エンジニアは不具合の修正や運用の改善、データ
こんにちは、アドプラットフォーム事業部でアナリティクスエンジニアをしているucchi-です。 ピクシブでは社員向けの情報発信やコミュニケーション促進のために「社内ラジオ」という社内番組を運営しています。 本日は社内ラジオを1年間運営し続けて得た気付きや知見をシェアします。 背景 新型コロナウイルスでリモートワークが進む中で、社内コミュニケーションの場が減り、社内の情報共有の機会が失われる、という課題がありました。 そこで、社内の情報共有の場所を増やすため、2021年2月に社内ラジオという社内番組がスタートしました。 社内ラジオの詳細 社内ラジオはGoogle Meetライブストリームを用いて社員向けに配信する番組です。 発表者(社員)が自発的にチームの成果やドメイン知識などを持ち寄って発表しています。 全社員が参加する会議が終わった後、毎週水曜の昼12:00〜12:45に放送しています。
デザインシステムを利用した色の設定 色の実装について Theme切り替え 依存関係 デザインシステムと Material Components for Android Color Theming コンポーネント まとめと今後 フリーランスのソフトウェアエンジニアとして活動している djyugg です。ピクシブ株式会社では、業務委託として主に pixiv Android アプリの開発に携わっています。 play.google.com 多くの要望を頂いていた pixiv Android アプリのダークテーマ対応を2021年7月末にリリースしました。 このダークテーマ対応は、ピクシブのデザインシステムの思想を実装して実現しています。今回は、Android アプリでいかにデザインシステムの実装を実現し、ダークテーマに対応したかを紹介します。 なお、今回は主に Android View 向けの内容と
中高生国際Rubyプログラミングコンテスト2021 in Mitakaスポンサー記事を発信しましたpixiv事業本部の丸山(@alitaso)です。 2021年12月4日(土)に 中高生国際Rubyプログラミングコンテスト2021 in Mitaka の最終審査会がオンラインで行われました。ピクシブからは CTO の道井(@harukasan)がスポンサー賞審査員として、スポンサー担当のわたし丸山が観覧者として参加しました。 コンテスト全体で97作品の応募があり、最終審査会では選出された7作品のプレゼンテーションがありました。どの作品も創意工夫や努力の様子を垣間見ることができ、プログラミングを仕事にしている我々も刺激を受けました。 ピクシブ賞 受賞作品 滝沢市立滝沢第二中学校 科学技術部 の チーム「鰤が素振り」のゲーム「芋がポテッと落ちたんじゃが」をピクシブ賞として選出させてもらいました
どうも、Slackでの心温まるやりとりが好きなwatasukeです。 ピクシブには"いい書き込み"が集められる専用のチャンネルがあります。 それが、#z-いい話と#z-sugoi-messageです。 その名の通り、「いい話感がある書き込み」と「すごい感じの書き込み」が集められています。 私はこの2つのチャンネルが好きで、ピクシブの社風も現れていると思いますので、ご紹介いたします。 (余談ですが、prefixの「z-」は仕事とは直接関係ない話題用のチャンネルにつけられるものです) "いい書き込み"を集めたチャンネルをつくるために まず、"いい書き込み"を集めるためのSlackチャンネルをつくります。(例:#z-いい話) 次に、Reacji ChannelerをSlackに導入します。 詳しくはリンク先を見ていただきたいですが、任意の絵文字リアクションのつけられた書き込みを予め設定したチャン
コーポレートエンジニアリング・社内IT分野の責任者を務めておりますbashです。 2020年にこのような記事を出しておりましたが、その後ご無沙汰しておりました。 inside.pixiv.blog 同様の設問で当時と2022年に向けた現在のdiffとこの先の展望についてご紹介します。 現在のチーム体制を教えていただけますか メンバー構成 チームワーク 今後取り組みを広げるにあたり、手が足りていない領域はどこだと思いますか? 目標・今後の整備 コーポレートエンジニアリング業務を行う上でのやりがいはどんなところですか? 未来のチームメンバーに、何かメッセージはありますか? 現在のチーム体制を教えていただけますか 2020年当時は責任者含めて兼務者2名 現在は責任者は別事業部兼務あり メンバーはフルタイムコミット4人で構成 この通り圧倒的な戦力増強を果たしました。 メンバー構成 昨冬から今夏にか
はじめましての方ははじめまして。21新卒エンジニアの Javakky です。 この度、社内向けサービスの管理画面に権限管理機能を実装するにあたり、 Casbin というアクセス制御ライブラリを利用しましたので導入までの流れをレポートしていきます。 Casbin とは Casbin とはオープンソースで開発されているアクセス制御ライブラリで、Go・Java・Node.js・PHPなどさまざまな言語で実装されています。 Casbin の行うアクセス制御は、 アクセス制御モデル と アクセス制御ポリシー の 2種類の設定からなります。 アクセス制御モデルとは主体 (ユーザー・権限など) と対象物 (ページなど) の対応について定めたルールのことです。Casbin では、 アクセス制御リスト (ACL) や ロールベースアクセス制御 (RBAC) 、 属性ベースのアクセス制御 (ABAC) などに
pixiv事業本部の丸山(@alitaso)です。普段は Ruby/Rails を使ってpixivコミックの開発に携わっています。 『中高生国際Rubyプログラミングコンテスト2021 in Mitaka』に Gold スポンサーとして協賛します。 www.ruby-procon.net ピクシブは『創作活動がもっと楽しくなる場所を創る』をミッションに掲げて日々プロダクト開発に取り組んでいます。本コンテストでつくるプログラム作品も創作活動の一つであり、未来の創作活動を担う中高生の方々を応援する運営理念に共感し協賛させていただくことになりました。 今回は Gold スポンサーと合わせてノベルティスポンサーとして、コンテスト応募者のみなさまに配布するノベルティ製作を担当させていただきます。現在鋭意製作中ですのでおたのしみに! 中高生国際Rubyプログラミングコンテスト2021 創意工夫に満ちた
こんにちは、福岡オフィスのエンジニア@imaimaです。 先日2021年10月12日から15日にわたって開催されたElixirConf US 2021にオンライン登壇し、ぶじに終わりましたので、そちらについてのお話をします。 ElixirConf US 2021について ElixirConfとは、プログラミング言語Elixirの開発者や愛好家が世界中から集う技術カンファレンスです。 2021.elixirconf.com 今年のElixirConf USは、テキサス州オースティンで開催され、 In-person(オフライン) 10月12日〜13日 Virtual(オンライン) 10月14日〜15日 の形式で行われました。 登壇に至るまでの経緯 Elixirそのものに関しては、imaimaがおもに趣味で書いてきており、その関係もあって社外で個人的にElixirの勉強会を定期〜不定期で行なって
こんにちは。フロントエンドエンジニアのpnlyです。 こちらの記事は前後編に分かれた記事となっておりますので、前編の記事「PIXIV Design System 2021 の発表をしました(前編)」もあわせてご覧いただけるとよりお楽しみいただけると思います。 前編では、デザインシステムを作ろうとして試行錯誤したエピソード、そして出来上がった設計思想についてお話しました。そしてこの後編では、その思想をどのようにして実現したのかについて具体的な実装をご紹介します。 デザインシステムの実装 "pixiv-elements" 前回の記事で出てきました"デザインシステムの三層構造"の実装は一つのモノリポジトリで管理されています。ガイドラインの根本となる定数以外にも、その定数をより利用しやすくするためのユーティリティや型定義、CIスクリプト、Storybookなどのドキュメントなど、デザインガイドライ
10/22(金) 追記 この記事で解説している内容について解説する勉強会を開催することとなりました。以下のconnpassよりお申し込みください。 pixiv.connpass.com 10/22(金) 追記 pixivのブックマークについて ブックマークDBの問題について 具体的な対策内容 論理削除廃止・index追加・ブックマークタグのテーブル分割 適応ハッシュインデックスの無効化 アプリケーションコードのリファクタリング・全発行クエリの列挙と見直し 大きな更新処理の非同期化 結果 あわせてよみたい pixivではサービスの成長に伴い、気に入った作品に対して付けることができるブックマークの総数が急速に増加しており、ユーザーの皆様に滞りなくサービスを提供し続けるためブックマークに関するデータベース(以後DB)の負荷対策が必要になりました。 2021年2月より対策を行うプロジェクトを発足し
皆さんこんにちはFromAtomです。 さて、もうすぐiOSDC Japan 2021が開催されますね!iOSDC JapanはiOS関連技術をコアのテーマとした技術者のためのカンファレンスです。 https://iosdc.jp/2021/ ピクシブ株式会社は、iOSDC Japan 2021のデザインスポンサーを務めており、ロゴと公式サイトの制作を担当しました。「デザインスポンサー」はあまり聞き慣れないスポンサーだと思いますので、簡単に説明します。一般的なスポンサーでは、カンファレンス運営を金銭面で支援することが多いですが、デザインスポンサーでは次の作業を行うことでカンファレンス運営を支援します。 カンファレンスロゴのデザイン カンファレンス公式サイトのデザイン カンファレンス公式サイトの開発 この記事ではカンファレンスロゴとサイトのデザイン制作秘話について、弊社デザイナーのyukki
みなさんこんにちは。スマホアプリ分野テックリードをしている@FromAtomです。 この記事では、ピクシブのスマホアプリエンジニアを支える福利厚生を紹介したいと思います。今回はスマホアプリエンジニアが便利になる福利厚生に焦点を合わせますが、ピクシブ株式会社にはスマホアプリエンジニアやエンジニアに限定せず、様々な便利福利厚生が存在しています。詳しくは下記のページをご覧ください。 環境を知る|ピクシブ株式会社 ピクシブ社員がいきいきと働ける「仕組み」とは? 制度・福利厚生をご紹介!- pixiv inside ※上記記事で紹介されている福利厚生の一部は、現在の社会情勢を鑑みて中止になっているものもございます。 PC購入制度 社員が使用したいPC / Macを会社が全額負担で支給してくれる制度です。自分が一番使いやすいPCで業務が出来るので、快適に業務を遂行することができます。また、支給されたP
こんにちは。pixiv運営本部 開発支援チームでpixivのコーディング環境の向上をしているyosatakです。 入力取得の安全性向上 PHPでは以下のようなURLのクエリパラメータを$_GET['id']経由で取得できます。 https://www.pixiv.net/novel/show.php?id=14921239 しかし、スーパーグローバル変数$_GETは再代入可能な上に、stringだけでなく配列が外部から自由に入力されうるため、取得時に値の範囲を絞り込まなければ以後の処理で想定外の問題が生じる可能性があります。 filter_input()に適切なフィルタを用いることで同様の検証が可能です。pixivでは数値の範囲やデフォルト値を設定できるよう何度かの試行錯誤を経て、2016年頃からParamHelperというヘルパクラスを実装することで安全に入力を取得できるようにしています
エンジニアのyui540です。 PIXIV DEV MEETUPで「ブランディングページの世界観を表現する技術」というタイトルで、私が今まで関わってきたPIXIVプロダクトのブランディングページを実装するにあたって、サービスの世界観を表現するのにどのような動き・技術的な工夫をしたのかをご紹介しました。 もっとページの世界観を表現するブランディングページがインターネットに増えてほしいのでセッション資料を公開します。 yui540 2019年4月新卒入社。マーケティング&ユーザグロース部プレミアムサービス部所属のCSSエンジニアをしています。特技はCSSアニメーションを使って、バチバチに動くWebサイトを作ること。
pixiv事業本部の丸山(@alitaso)です。 2021年9月9日〜11日の3日間にわたって RubyKaigi Takeout 2021 という Ruby のための技術カンファレンスが開催されます。今年は時勢もありオンラインでの開催になります。 ピクシブ株式会社は Platinum スポンサーとして協賛いたします。 BOOTH、pixivFACTORY、pixivコミック、pixiv Sketch、VRoid Hub といった多くのサービスが Ruby に支えられています。スポンサーシップを通して Ruby コミュニティへ少しでも還元できればと思っています。 ピクシブからはコアコミッターの中村(@usa)をはじめ多くのメンバーが参加予定です。みなさまとお会いできるのを楽しみにしています。 alitaso 2018年4月入社。Ruby/Railsを使ってpixivコミックの開発に携わっ
2021/10/25追記 おまたせしました。この記事の後編も公開しておりますので、合わせてお読みください。 inside.pixiv.blog こんにちは。プロダクトデザイナーの yksk とフロントエンドエンジニアの f_subal です。 ピクシブにはデザインシステムを開発するチームがあります。ピクシブが運営する数多くのプロダクトが共通のガイドライン、コードを使ってUIを設計できる体制への移行を目的としており、そのための仕組みづくりに取り組んでいます。 今回は、先日行われた pixiv DEV MEETUP 2021 のセッション「PIXIV Design System 2021」で発表した、技術的な取り組みについて前後編に分けて発表します。 前編にあたるこの記事では f_subal パートの内容をおさらいをしていきます。 PIXIV Design System 2021 昨年のpix
こんにちは。 21新卒エンジニアの ahu です。 今月の1日から3日にかけて、AWS Jumpstart for NewGrads という AWS のスペシャル研修が開催され、弊社からは11名の新卒エンジニアが参加しました。 今回は、その参加レポートをお届けします。 AWS Jumpstart for NewGrads とは? AWS Jumpstart for NewGrads は、AWS のサービスを用いた Web アプリケーションの開発やシステムの設計が体験できる、新卒エンジニア向けのプログラムです。 アマゾンウェブサービスジャパン株式会社様により主催され、3日間の日程で参加者は60名以上にものぼりました。 研修プログラムの内容 AWS Jumpstart for NewGrads の内容は、以下のようなものでした。 AWS の基礎的な概念やサービスが学べる事前学習用の動画コンテン
こんにちは、CTOの道井です。今回は5/31まで開催していたPIXIV DEV MEETUPから5/14に行ったLIVE SESSION内のキーノートについてご紹介します。 PIXIV DEV MEETUPのビジョン これまでピクシブではオフラインの技術カンファレンスを定期的に開催してきました。昨年開催したPIXIV TECH FES.はCTOになってすぐ開催したイベントだったので、あれから1年経ったかと思うと非常に感慨深く感じます。 ピクシブの開発文化には「みんなが同じ場所に集まって仕事をする」というものがあります。ひとつの場所に全員が集まるのはコストがかかる方法ですが、コミュニケーションの速度をあげ、少ない人数でさまざまなサービスを展開していくピクシブには非常にマッチした文化でした。これまでの技術カンファレンスにおいても、ライブハウスを貸し切り、1つの場所に集まるという開催手法はこの文
こんにちは。ピクシブ株式会社でBOOTHのバックエンドエンジニアをしている @orekyuu です。 今回はPIXIV DEV MEETUPで開催された前夜祭的な企画「至極の難問言語仕様クイズ 〜最強のマルチリンガル決定戦〜」を紹介します。 至極の難問言語仕様クイズとは Ruby / PHP / JavaScript / Java / YAMLから各5問、合計25問出題される4択クイズに答えて、正答率を競う企画です。 難問言語仕様クイズというだけあり、正解させる気のない超難問揃いです。 YAMLを除く4言語からは、PIXIV DEV MEETUPに参加して頂いた凄腕エンジニアにゲストとして1問ずつ出題していただきました。 優勝景品 多言語王トロフィー 優勝者には「最強のマルチリンガル」ロールと、重箱の隅をつつく「多言語王トロフィー」を用意しました。 ちなみに、トロフィーのアクリルフィギュア
こんにちは、pixivのリクエスト機能を開発するチーム(以下、リクエストチーム)でプロダクトマネージャーをしているgeta6です。 ピクシブでは、社内ドキュメンテーションツールとしてNotionを採用しています。Notionでうまいことドキュメンテーションが機能し、継続できるよう、使い方やルールを各メンバー・各チームみんなで考えています。 本日はそんなNotionで実際にやってみて得られた気づきや知見をシェアします。もし参考になることがあれば、取り入れたり取り入れなかったりしていただければ幸いです。 背景 リクエストチームは立ち上げ当初より一貫してフルリモート体制で働いています。お互いにそれほど顔馴染みのないメンバー同士でしたが、第1回目の緊急事態宣言が出る前後からこちら、ほぼ物理的に顔を合わせることなく仕事をしています。 基本的にメンバーはDiscordに常駐しており、朝会・定例・雑談・
全国1億2000万人の同僚プロデューサーの皆様、初めまして。 20新卒でエンジニアをやっているkiridarumaです。現在はインフラ部でピクシブのサービスの運用や保守を行っています。 ピクシブ社内では社内のコミュニケーションツールとしてSlackを使用しています。もちろん業務上必要なチャンネルややり取りが基本ですが、雑談用の#z-xxxというチャンネルをある程度自由に作ることが認められていて、たくさんの雑談系チャンネルが存在します。 今回は、その中の#z-imasというチャンネルについて紹介したいと思います。 #z-imasは、アイドルマスターシリーズが好きな人が集まるチャンネルで、2021年4月時点で40人ほどのプロデューサー(アイマスP、アイドルマスターファンの通称)が参加しています。 自分がアイドルマスターに出会ったきっかけは、高校の時に友達と『劇場版アイドルマスター輝きの向こう側
コーポレートIT・テスト・品質とりまとめ、VRoid・NEOKET等新規系事業支援に、エンジニア組織運営、pixiv inside運営、PIXIV DEV MEETUP運営などを通じて、技術を軸に社内を広くエンパワーメントする仕事をしているbashです。 こちらの募集に当選し2021/4/26発売の書籍『ユニコーン企業のひみつ』をいただきました。ありがとうございます。 🦄 テック企業のみなさま、テックブログの記事の候補に一冊いかがでしょうか!!!q 🙏 » 🦄 書籍『ユニコーン企業のひみつ』を貴社テックブログでレビューしていただける企業さまを募集します https://t.co/TdfL58TwpS— Kakutani Shintaro (@kakutani) 2021年4月7日 世界的に大成功を収めているテック系ユニコーン企業の組織編成や働き方紹介している本作。じっくり読んでいくぞ
みなさんはじめまして。初めてじゃない方はお久しぶりです。pixivコミックAndroidアプリ担当のconsommeです。好きなウマ娘はトウカイテイオーとマヤノトップガンです。 Androidアプリにおいて、アプリ内で使えるアイテムやサービスの有料会員登録などを行う上で必要になるのが Google Play Billing Library(以下PBL)です。こちらの最新版が2021年3月時点でバージョン3なのですが、2021年8月以降は新規アプリで、同年11月以降はすべてのアプリにおいてバージョン3の使用が必須になります。そう、既存のアプリでも猶予はあと半年ほどしかないのです。 android-developers-jp.googleblog.com とは言え、アプリ内購入周りはお金が絡む部分のため、対応するにも慎重にならざるを得ません。もし不具合が発生したら…というのを考えると、なかなか
こんにちは、インフラ部の id:sue445 です。私事ですが先日GCPの Professional Cloud Architect を取得しました。 そういうわけで今日はGCPではなくAWSの話をします。 tl;dr; 劇的ビフォーアフター 構成 移行のモチベーション パフォーマンス向上 コスト圧縮 アーキテクチャの採択理由 やったこと 1. DB作成 2. MySQL 5.7 -> 8.0 MySQL 8.0でハマったこと MySQL 8.0からデフォルトの認証がcaching_sha2_passwordになった RDSのMySQL 8.0からMariaDB 監査プラグインがなくなった 3. 本番用のDockerイメージを作成 困ったこと:CodeIgniterがログの標準出力に対応していなかった 4. ECS + Fargate + CodePipeline構築 5. CDN作成 6
次のページ
このページを最初にブックマークしてみませんか?
『pixiv inside』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く