タグ

ブックマーク / devpixiv.hatenablog.com (15)

  • JSがブラウザを固めてつらいので、新しいAPI「requestIdleCallback」を使うことにした - pixiv inside [archive]

    「ピクシブ株式会社 Advent Calendar 2015」の24日目の記事です。こんにちは、今年8月からピクシブに入社した新米の@_furoshikiです。入社直後は、古くなって大変なことになっているJavaScriptのコードを、そーっと触る系エンジニアをやっていました! 私はピクシブに入る前から、オフィスの一部を借りて「東京Webパフォーマンス」という趣味丸出しなイベントを開催しています。その中で扱ったテーマのひとつである「requestIdleCallback」が、古いJavaScriptのコードにUIをブロックされ、荒んでいた私の心を救ってくれました! 今回、このrequestIdleCallbackというブラウザの新機能について、pixiv insideのブランド力を信じて、日に多く広まるよう宣伝してみようかとおもいます! そもそも、ブラウザのなにが問題なのか? Windo

    JSがブラウザを固めてつらいので、新しいAPI「requestIdleCallback」を使うことにした - pixiv inside [archive]
  • ピクシブとさくら共同開発のクラウド画像変換サービス、なぜImageFluxは生まれたのか - pixiv inside [archive]

    こんにちは、子育てと仕事の両立に苦慮している@harukasanです。 このたび新しいプロダクトである、画像配信・変換に特化したクラウドサービス、ImageFluxをリリースしました。 このサービスはさくらインターネットさんと共同で行わせて頂くサービスになっております。 今回は、なぜImageFluxをつくったかという話をしようと思います。 ImageFluxが解決する問題 Webにおいて画像はなくてはならない要素です。 ユーザのアイコンやプロフィール画像、デザインの背景、ヘッダー画像…… さまざまな画像がPC、アプリ、さまざまなデバイスにいろんなサイズで表示されます。 画像がメインコンテンツでないサービスであったとしても、いろいろな形で画像を扱わなければなりません。 配信されるサイズについてデザイナーと議論し、 フォーマットや転送量をモバイルアプリエンジニアと確認し、 インフラチームに負

    ピクシブとさくら共同開発のクラウド画像変換サービス、なぜImageFluxは生まれたのか - pixiv inside [archive]
    yuiseki
    yuiseki 2017/04/28
  • Mac mini増殖中!iOSアプリのビルドをマスター・スレーブ化して時間を短縮する - pixiv inside [archive]

    チームでiOSアプリの開発をしていると、ビルドのコストが肥大化しがちです。ピクシブでは、ビルドとテストをMac mini上に構築したJenkinsで行っているのですが、ビルドキューが詰まり、開発速度が上がりにくくなっていました。 これを改善するため、最近、iOSチームのビルドサーバーを、Mac mini 1台から3台に増やし、マスター・スレーブ環境でビルドできるようにしました。今回、そのための設定について、エンジニアの @anchan から紹介します! ビルドサーバーの環境設定は、GitHubに公開しています! モチベーション Xcodeは1台のマシンでビルドを並列化できません。チームメンバーとアプリの数が増えるにつれ、それに比例してJenkinsのビルドキューが詰まるようになりました。 Mac mini 1台では厳しくなってきたので、Mac mini 3台でJenkinsのマスター・スレ

    Mac mini増殖中!iOSアプリのビルドをマスター・スレーブ化して時間を短縮する - pixiv inside [archive]
  • LINE Botをサーバーレスで開発!Google Apps ScriptとLINE Messaging APIを使ってチャットボットを作ってみた - pixiv inside [archive]

    こんにちは、今年4月に入社した新卒エンジニアのyasuです。pixivのメンテナンスチームでPHPを書いています。好きな言語はLispです。 記事では、最近大流行中の人工知能を利用したチャットボットの開発について紹介します。 チャットボットが作れるAPILINEが提供 開発した簡単なチャットボットとの会話 LINE Botを作るために必要なもの Google Apps Script(GAS)でサーバーレスな開発 超簡単なウェブサーバを作ってみる さっそくチャットボットを作ってみる LINE Messaging APIとGASの連携 チャットボットの基礎:オウム返しをさせてみる チャットボットとオウム返しを楽しんでみる チャットボットともっと楽しく会話するために、いろんな機能を追加してみる 簡単に扱える全自動会話APIを使って雑談してみる チャットボットを少し便利に!Wikpedia検索

    LINE Botをサーバーレスで開発!Google Apps ScriptとLINE Messaging APIを使ってチャットボットを作ってみた - pixiv inside [archive]
  • pixiv小説で機械学習したらどうなるのっと【学習済みモデルデータ配布あり】 - pixiv inside [archive]

    こんばんは。プログラマーのhakatashiです。2ヶ月ぶりですね。普段はpixivコミックやpixivノベルの開発を手伝っていますが、今回もそれとは全く関係ない話をします。 pixiv×機械学習機械学習」「深層学習」といった単語がプログラマーの間でも広く囁かれるようになって既に幾年月経とうとしています。ここpixivの開発陣においても、人口に膾炙する機械学習の輝かしい成果に関する話題は尽きることがなく、常に最新のトピックに目を光らせています。 そんな取り組みの一環として、今回は弊社が運営するpixiv小説機能の投稿データで機械学習を行ってみたので、簡単に紹介したいと思います。 ※この記事における「pixiv小説」とは「pixiv小説投稿機能およびそれによってpixivに投稿された小説」を指し、「pixivノベル」とは異なります。 word2vecとは 自然言語処理における機械学習

    pixiv小説で機械学習したらどうなるのっと【学習済みモデルデータ配布あり】 - pixiv inside [archive]
  • 二次元から三次元を作る方法 — サーバ内でBlenderを動かしてみたら意外にもイケていたという話 - pixiv inside [archive]

    こんにちは、エンジニアのみどです。 ピクシブは、イラスト1枚で簡単にオリジナルグッズが作れるサービス pixivFACTORY を開発しています。 そのpixivFACTORYのプレビューに焦点を絞った勉強会を社内で行いました。 今回は、その勉強会の内容を公開したいと思います。 プレビューとは pixivFACTORYでは、グッズの仕上がりのイメージを確認する機能を提供しています。 この機能は、チーム内でプレビューと呼ばれていて、pixivFACTORYの売りのひとつになっています。 今回の勉強会では、ピクシブのエンジニアがこのプレビューに関する技術やノウハウについて発表を行いました。 pixivFACTORYのプレビューを支える技術 まず、私がアプリケーションサーバ側の処理について発表しました。 ImageMagickやBlenderといったソフトウェアをどのように使い分けているかが見所

    二次元から三次元を作る方法 — サーバ内でBlenderを動かしてみたら意外にもイケていたという話 - pixiv inside [archive]
    yuiseki
    yuiseki 2015/09/24
  • pixiv小説縦書き機能 開発の裏側 ~横のものを縦にする~ - pixiv inside [archive]

    はじめましてこんにちは。pixivでアルバイトをしているhakatashiです。 さる6月10日、パソコン版pixiv小説にて縦書き表示機能がリリースされました。この開発のあらかたを担当したので、今回の縦書き機能開発における裏側を紹介いたします。 構想 縦書き機能開発にあたり、設計段階からその大部分を一任されました。小説機能開発において自分の中に絶えず理念として存在していたのは、ユーザーに最高の読書体験を提供することです。縦書きによって得られる利益を最大化し、快適な閲覧を支援するために、以下のような構想を置きました。 縦書き横書きの組版の差異における違和感を可能な限り軽減すること。 スクロールとページングを融合した、柔軟で快適な閲覧インターフェイスを提供すること。 この2点について詳しく解説します。 縦組版 まず、ウェブブラウザで縦書き表示を実現するにあたり、どのような手法をとるかという問

    pixiv小説縦書き機能 開発の裏側 ~横のものを縦にする~ - pixiv inside [archive]
    yuiseki
    yuiseki 2015/06/16
  • ドリコムさんに「社会人交換留学」してきました - pixiv inside [archive]

    こんにちは。4月からリードエンジニアという肩書になり、会社の技術選択などに一定の責任を持つことになったedvakfです。 少々前のことになりますが、4月に株式会社ドリコムさんへ「社会人交換留学」として1週間行ってきました。さらにその後ドリコムさんからスーパーRailsエンジニアのonkさんを1週間迎えてピクシブの業務に携わってもらいました。 面白いけどあまりない試みで手探り状態でしたが、やってみると案の定大成功と言えるものとなったと思っています。「社会人交換留学」の事例がもっと増えるように、何が良かったのかを書いてみます。 発端と目的 常に新しい技術を学びたい意欲はエンジニアなら誰でも持っていると思いますが、常に刺激を得られるような取り組みとして社内で短期間だけ別のチームにインターンのような形で行くことを頻繁にやっていけたら、という話を弊社マネージャーのbashさんとしていたところ、bas

    ドリコムさんに「社会人交換留学」してきました - pixiv inside [archive]
    yuiseki
    yuiseki 2015/05/25
  • 『pixivエンジニアが教えるプログラミング入門』という本が出ます - pixiv inside [archive]

    インフラチームの @catatsuy です. 去年非エンジニアの新卒にプログラミング研修というのをやりました. 非エンジニアの新卒にプログラミング研修を行いました - pixiv inside [archive] 縁あってこの研修の内容を書籍化しました. pixivエンジニアが教えるプログラミング入門 (星海社新書) 作者:金子 達哉星海社Amazon Amazon では 2015/03/26 に発売されるそうです. 非エンジニア向けということで手軽に手に取れるように技術書ではなく新書として星海社さんから発売されます.内容は実際にやったプログラミング研修を同じく実際に Mac 上で動く画像投稿掲示板を作ってもらうという内容です.実際に作る画像投稿掲示板のコードは以下に公開しています. catatsuy/sinatra_keijiban 以下の様な読者が対象読者であることを書の『はじめに』

    『pixivエンジニアが教えるプログラミング入門』という本が出ます - pixiv inside [archive]
    yuiseki
    yuiseki 2015/03/12
  • ピクシブでの検証機の管理について - pixiv inside [archive]

    こちらは ピクシブ株式会社 Advent Calendar 2014 の12/23の記事です。 こんにちは、pixivAndroidアプリを開発している若手アルバイト @i315 です。 今回はピクシブで行っているAndroidアプリのデバッグに使う検証機の管理についてお話します。 Android開発でコードを書いたあとに手元でアプリを走らせるには、エミュレータを使用したりPCに実機を接続しアプリをインストールする方法があります。エミュレータを使用する方法は、パフォーマンスの問題*1があることに加え、PCから操作するために実機を使うのに比べ思うような操作感を得られない欠点があります。そのため、ピクシブでは開発中に実機でデバッグをしています。 実機デバッグは複数の端末で素早く検証でき、利点も多いのですが端末の数を増やすにつれ管理が煩雑になります。そのため、ピクシブでは検証センターと称する検

    ピクシブでの検証機の管理について - pixiv inside [archive]
    yuiseki
    yuiseki 2014/12/29
  • App Indexing のススメ - pixiv inside [archive]

    こちらは ピクシブ株式会社 Advent Calendar 2014 の12/15の記事です。 こんにちは。pixivAndroidアプリ担当の @consomme72 です。 今回は、Googleのサービスである「App Indexing」についてご紹介します。 App Indexing とは? 2013年10月にGoogleが発表した、Googleで検索されたWebページのコンテンツと、アプリのコンテンツの紐付けを行うことができるサービスです。日では2014年6月でも機能が公開され、pixivのアプリもローンチパートナーとして紹介されております。 Androidアプリでは、Manifestファイルにてhttpのリンクを受け取れるようにIntent-filterを設定しておけば、Webブラウザからリンクを開いた際にアプリを起動することができます。しかしその際に、ブラウザで開くかアプリ

    yuiseki
    yuiseki 2014/12/16
  • pixivのサムネイル事情 - pixiv inside [archive]

    この記事はピクシブ株式会社Advent Calendar 12/10の記事です。 こんにちは、インフラチームの@harukasanです。 さて、今日はpixivで使用しているサムネイル変換サーバについて紹介しようと思います。 pixivにはたくさんのサムネイルがある pixivにはうんざりするほどたくさんの種類のサムネイルがあります。 これは対応しているプラットフォームが多く、また画面毎にもサイズが異なるからです。 PC版であるwww.pixiv.netだけでも10種類以上のサムネイルが使用されています。 また、サムネイルにはアスペクト比を固定したものと、スクエアにクロップした2種類があります。 (Ugoira Tech Talks: Ugoku Backendより) 従来の方法ではこれらのサムネイルをアップロード時に生成していたため、サムネイル生成を非同期化するなどして対応していました。

    pixivのサムネイル事情 - pixiv inside [archive]
    yuiseki
    yuiseki 2014/12/11
  • pixivでBloomFilterを使うためにやったこと - pixiv inside [archive]

    こんにちは。最近はAndroidアプリ開発に入門しました、@edvakfです。 pixivではキャッシュ兼汎用KVSとしてKyotoTycoon (KT)を使用しており、頻繁にアクセスされるキーはアプリケーションサーバー内のAPCPHPのshared memory cacheです)にもキャッシュすることで多段化しています。 このような構成の弱点として、「ほとんどの場合は値が無いけど毎回存在確認が必要なキー」の場合に前段にキャッシュが無くて毎回後段にまで問い合わせなければいけないという問題があります。ネガティブキャッシュ(値がないことをキャッシュする)を使うという手もありますが、問い合わせるキーの数が膨大になってくると現実的ではありません。 pixivでは、作品に付いている最大10個のタグについて、ピクシブ百科事典に記事があるかどうかを判定する必要がありました。これに加え、最近ではBOOT

    pixivでBloomFilterを使うためにやったこと - pixiv inside [archive]
    yuiseki
    yuiseki 2014/07/23
  • 非エンジニアの新卒にプログラミング研修を行いました - pixiv inside [archive]

    今年のピクシブ株式会社には総合職 2 人とデザイナー 2 人が新卒として入社しました. そんなフレッシュな新卒に新卒エンジニアがプログラミングの基礎を教えろというお達しが出ました. ということで秋卒業で既に入社していた私(@catatsuy)とアルバイトから入社した 2 人(@geta6/@RooandQoo)の合計 3 人中心でプログラミング初心者向けに研修内容を考えました. 題材 @tarbrick からのリクエストで最終目標は『画像投稿掲示板を作る』ことに決まりました. 方針 今回のプログラミング研修の目的は総合職・デザイナーの人たちをエンジニアにすることではありません. エンジニアの人たちが普段の業務でどういったツールをどういった流れで使っているのかを学ぶことで,円滑にエンジニアとコミュニケーションを取れるようにすることが目的です. そこで方針として以下のものを決めました. 全員

    非エンジニアの新卒にプログラミング研修を行いました - pixiv inside [archive]
    yuiseki
    yuiseki 2014/05/04
  • pixiv inside [archive]

    わかりやすさを追求したらマンガになりました。 マンガでわかる「配信広告の運用でマネタイズを行う際にeCPMを過信してはいけない理由」の紹介です。 マーケティング部にて広告事業を担当しているdrillです。社内ではアドネットワーク・SSP等の配信広告の運用によるマネタイズを主な業務として行っています。 配信広告の収益性を判断するために、1,000impあたりのコスト(メディアサイドでは収益)である「eCPM」を指標とすることは多いと思いますが、各配信広告サービス管理画面のeCPMだけにとらわれると正確な収益の比較・検証が行えない場合があるので気をつけましょう、という内容の記事です。 (eCPM=1,000impあたりのコスト、メディアサイドでは1,000impあたりの収益) リクエスト送信数に対するimp数の乖離 メディア側が広告のJSタグを呼び出したり、アプリから広告SDKにcallを送っ

    pixiv inside [archive]
    yuiseki
    yuiseki 2012/07/03
  • 1