タグ

ブックマーク / dwango.github.io (12)

  • ニコニコ動画のコード改善の歩み - dwango on GitHub

    はじめに こんにちは。ニコニコ動画開発の小池です。 私の所属するチームではニコニコ動画の動画サービスのサーバーサイドをメインに担当しております。 今回は PHPerKaigi2024 向けの記事として、動画サービスのコード改善についてこれまでの歴史や取り組みとその成果について紹介していきたいと思います。 文中の3つのフレーズをチャレンジトークンとしてみました。ぜひ探してみてください! (※ 記事の見出しにの横についている「#」はチャレンジトークンではありません。チャレンジトークンは文中に配置されています。紛らわしくてすみません!) 2006年: ローンチ ニコニコ動画は2006年にローンチされて以来、皆様の応援のおかげで現在までサービスが継続されております。 当時はRuby on Railsが流行り始めてCakePHPが出ているかどうかといったくらいの時代で、フレームワークを利用しないとい

    ニコニコ動画のコード改善の歩み - dwango on GitHub
    tuki0918
    tuki0918 2024/02/20
  • Sass製SVG爆速表示ライブラリのご紹介 - dwango on GitHub

    こんにちは。ニコニコ生放送生放送フロントエンドシステムセクションのmisuken(GitHub/Twitter)です。 今回は10月に公開したsmart-svgreact-sass-inlinesvgという2つのSVG表示ライブラリに関して、作成に至った経緯、ライブラリの特徴、工夫したポイント、パフォーマンス等の話をしていきたいと思います。 ライブラリを作成した経緯 これまでのSVGの表示方法 ニコニコ生放送ではこれまで、SVGを表示する際にはreact-inlinesvgというライブラリを使用していました。 react-inlinesvgは<img>のようにsrcにURLを渡して表示するタイプのライブラリです。 SVG要素がDOMに展開されるため、CSSからスタイルを適用できます。 react-inlinesvgのREADMEに書いてある使用例。 import React from '

    Sass製SVG爆速表示ライブラリのご紹介 - dwango on GitHub
    tuki0918
    tuki0918 2022/12/05
  • 社内LT配信システムの紹介 - dwango on GitHub

    ドワンゴ 技術コミュニケーション室のsaka1です。 この記事では、社内で用いられているLightningTalk(LT)用のライブストリーミングシステムについて紹介したいと思います。 LTは普段こんな感じで行われています。 実は、社内ではLTの開催形式について見直しが行われつつあります。 記事の執筆時点ではまだこのシステムは使われていますが、ライフサイクルとして末期かもしれません。 せっかくなのでシステムがどういったものだったかについての記録を残したいと思い、記事を書くことにしました。 記事ではまず、なぜシステム開発が必要だったかについて簡単に説明し、次にシステムの技術的詳細について紹介していきます。 LT運営にどういった課題があったか エンジニア有志が参加するLT会はそれまでも定期開催されていたのですが、エンジニアの人数が増えるにつれて、 一つの会議室に全員が物理的に集合してLTを開催

    社内LT配信システムの紹介 - dwango on GitHub
    tuki0918
    tuki0918 2019/05/24
  • AV1リアルタイムハードウェアエンコーダを開発しました - dwango on GitHub

    選定作業にはAOMが公開しているソフトウェアエンコーダaomを使用し、改造によってツールを削減したときの映像品質を比較しました。 映像品質は一般的にビットレートと客観/主観画質のバランスで表されます。 客観画質とは計算によって数値化した画質のことで、代表的な手法としてはPSNRやSSIMがあります。 主観画質とは人の目で映像を評価した画質のことです。 今回は、客観画質としてPSNRを用いた指標(RD性能)を用い、映像品質を比較しました。 PSNRには"30dBを下回ると低品質である"といった基準はありますが、人の目で見たときの評価と必ずしも一致するわけではありません。 そこで、主観画質の評価も並行して実施し、多角的に映像品質低下を防止しました。 選定結果 まず、Superblockサイズを64X64と128X128とで比較しました。 その結果、テストケースのうち約75%でRD性能に変化がな

    AV1リアルタイムハードウェアエンコーダを開発しました - dwango on GitHub
    tuki0918
    tuki0918 2019/05/14
  • 革新的懇親会アイテム「プルタブフック」のご案内 - dwango on GitHub

    ドワンゴ 技術コミュニケーション室の塩谷( @kwappa / kwappa@friends.nico )です。 エンジニアにとって勉強会やカンファレンスに参加するのは学びであるとともに楽しみでもあります。そんなイベントをさらに楽しみなものにしてくれるのが、みんな大好き懇親会。 日はそんな懇親会をさらに楽しくしてくれる、革新的で魔法のようなアイテム「プルタブフック」をご紹介します。 懇親会といえば 🍣 と 🍕 、そして 🍺 がつきものですよね。でも、皿を持ち、箸を持ち、さらに缶を持つのはとても大変です。空きスペースを探してウロウロするのはなんだかマヌケなものですし。 そんな悩みを解決してくれるのが、この「プルタブフック」。これさえあれば、べる・飲む・喋るという懇親会の行動をスムーズに切り替えることができます。 使い方はいたって簡単。プルタブを開けたら垂直に立て、その穴にフックを通

    革新的懇親会アイテム「プルタブフック」のご案内 - dwango on GitHub
    tuki0918
    tuki0918 2018/11/09
  • Dwango on GitHub

    ドワンゴ社内の様子や、文化技術をご紹介します。

    Dwango on GitHub
    tuki0918
    tuki0918 2018/11/01
  • Webフロントエンド パフォーマンス改善ハンドブックを公開しました - dwango on GitHub

    パフォーマンス改善ハンドブック ウェブページにおけるパフォーマンスに関する問題の見つけ方や考え方の事例をまとめた Webフロントエンド パフォーマンス改善ハンドブックを公開しました。 URL: https://dwango-js.github.io/performance-handbook/ このハンドブックでは過去に行ったWebフロントエンドのパフォーマンス改善の事例を中心に紹介しています。 注意点としてWebフロントエンドは常に変化しているため、現在の最適な解決方法を提案するものではありません。 また、アプリケーションによっても最適な解決方法は異なります。 今回の事例ではViewライブラリにReactを用い、映像再生プレイヤーなどある程度複雑な機能を持ったウェブアプリケーションのWebフロントエンドを扱います。 具体的にはニコニコ生放送(以下「生放送」)で行った事例を中心に書かれていま

    Webフロントエンド パフォーマンス改善ハンドブックを公開しました - dwango on GitHub
    tuki0918
    tuki0918 2018/09/17
  • VRM - dwango on GitHub

    VRM - VR向け3Dアバターファイルフォーマット - 「VRM」はVRアプリケーション向けの人型3Dアバター(3Dモデル)データを扱うためのファイルフォーマットです。glTF2.0をベースとしており、誰でも自由に利用することができます。また、Unity向けのVRMファイルの読み書きを行うC#による標準実装(UniVRM)がオープンソースで提供されます。 VRMについて 「VRM」って何?どんなことができる? VRMとは VRMで何ができるの? VRMの特徴 VRMファイルに設定できるライセンスデータ VRMファイルを作ってみたい VRMファイルのつくりかた(既存3Dモデルからのコンバート) VRMファイルを眺めてみたい VRMファイルの読み込みかた VRMファイルの読み込みかた(簡易版) VRMファイルを投稿する・探す VRMファイルが使えるアプリケーションは? 3Dキャラクター投稿プ

    VRM - dwango on GitHub
    tuki0918
    tuki0918 2018/04/16
  • とあるクエリを2万倍速にした話 -データベースの気持ちになる- 後編 - dwango on GitHub

    技術コミュニケーション室 OSSグループの髙﨑です。 記事は、とあるクエリを2万倍速にした話 -データベースの気持ちになる- 前編の続きです。 前回の記事でお話しした内容がPullRequestを作ったときの過程だったわけですが、 そのような結果に至った経緯、Index Only Scanを使わなかったPostgreSQL特有の事情について、 PostgreSQLのアーキテクチャなども交えもう少し詳しくお話させていただきます。 要するに 実行計画のコストとはレコードやindexの読み込み、フィルタ処理などからその実行にどの程度の時間が必要となるかの推定値 indexを張る際にはそのindexがどのように辿られるかを意識する必要がある 範囲検索される可能性があるカラムはindexの先頭にはあまり適さない PostgreSQLにおけるIndex Only Scanは新しい/更新頻度の高いデー

    とあるクエリを2万倍速にした話 -データベースの気持ちになる- 後編 - dwango on GitHub
    tuki0918
    tuki0918 2018/01/21
  • 白黒漫画にDeep Learningで着色する ~参照画像を使って~ - dwango on GitHub

    この記事はドワンゴアドベントカレンダー26日目(延長戦!)の記事です。 私は、Dwango Media Villageで研究を行なっている古澤です。Dwango Media Villageは、ドワンゴの機械学習系の研究とその応用を行なっているチームです。 今回紹介するのは白黒漫画にDeep Learningで着色する研究です。さらに、応用としてプロジェクタを用いて実世界のイラストにも着色結果を投影できるようにしました。 出来ること一覧 記事では、以下の2つの事柄がどのようなテクニックを元に可能になったかのおはなしを書いていきます。 Deep Learningで白黒漫画1タイトル+参照画像を入力とした白黒漫画の自動着色 Deep Learning+Jetsonで実世界に描かれたイラストの色塗り(自動着色結果のプロジェクション) 動画あり! Comicolorization 最近、タイのバン

    白黒漫画にDeep Learningで着色する ~参照画像を使って~ - dwango on GitHub
    tuki0918
    tuki0918 2017/12/26
  • エンジニアが読みたくなる職務経歴書 - dwango on GitHub

    この記事はドワンゴ Advent Calendar 2017 24日目の記事です。メリークリスマス! ドワンゴ 技術コミュニケーション室の塩谷( @kwappa / kwappa@friends.nico )です。 先日、技術コミュニケーション室のメンバーから「友人転職を検討しているが、職務経歴書の書き方がわからず悩んでいる」という相談を受けました。ぼくは以前から職務経歴書についてはなんども書いたり喋ったりしてきたのですが、具体的な書き方やサンプルについてまとめたものはなかったので、この記事を書くことにしました。 以下は、ぼくが以前から考えていることと、書類選考をするときに書いてあると嬉しいことをまとめたものです。会社としてオフィシャルに定めた基準ではないことをご了承ください。 転職に必要な書類 中途採用に応募する場合、「履歴書」と「職務経歴書」が必要です。転職サービスを経由しての応募の

    エンジニアが読みたくなる職務経歴書 - dwango on GitHub
    tuki0918
    tuki0918 2017/12/24
  • https://dwango.github.io/scala_text/

    tuki0918
    tuki0918 2016/01/31
  • 1