hma2motoのブックマーク (344)

  • 自作DBを始めたい人におすすめの本 - salachike:blog

    この記事は、慶應理工アドベントカレンダー2021の20日目の記事です。 カレンダー全日埋まってすごい 🎉🎉 adventar.org 「Database Design and Implementation」という簡素なDBをスクラッチで作っていくに取り組んだので、その読了エントリです。 Database Design and Implementation: Second Edition (Data-Centric Systems and Applications) (English Edition) 作者:Sciore, EdwardSpringerAmazon こんな人におすすめ MySQLやPostgreSQLを使った経験はあるが、DBの理論やその実装はあまり詳しくない人に特におすすめです。特に自作〇〇*1に興味がある人は間違いなく楽しめると思います。単純にに紹介されている理論

    自作DBを始めたい人におすすめの本 - salachike:blog
    hma2moto
    hma2moto 2021/12/20
  • イヤホン配信を支える音のプログラミング入門 - Mirrativ Tech Blog

    こんにちわ。shogo4405です。エントリーは普段UI開発を行なっているクライアントエンジニア向けに、Mirrativのイヤホン配信を支えている音のプログラムの基礎を紹介していきたいといます。 音のプログラミングの概要を掴んでもらい、より詳しい部分については文献を調べるための参考になれば幸いです。 はじめに イヤホン配信の概要になります。Mirrativの配信はゲーム音源をマイクからの集音に頼っています。ユーザーが配信を行う際に、イヤホンを装着するとゲーム音源が配信にのらず視聴側としては物足りない配信になります。 これを解決する手段として、OS内部で再生中のゲーム音源をキャプチャーした音源。マイクから集音した音源。これらの音源を合成する方法があります。この手段をとることにより、イヤホンしながらでもゲーム音声を視聴者に届けることができるようになります。サービス上では、イヤホン配信と呼称し

    イヤホン配信を支える音のプログラミング入門 - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/12/09
  • 配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方 - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 という記事を公開しました。ミラティブアプリ上では Unity を利用して 3D のアバターであるエモモを描画しており、配信コメントバーの描画コストが大きすぎるとエモモの動きや見た目に影響しますし、画面のスクロール操作にも支障が生じます。今回は、複数の描画方法についての計算コストの計測結果と共に、配信コメントバーの描画をいかに最適化したかについて書きたいと思います。 描画の基的な方針 配信コメントバーの全体像 前回の記事 で AVSampleBufferDisplayLayer と CMSampleBuffer に言及しました。CMSampleBuffer に表示する内容を描画する方法は、たくさんの種類があります。 画像をそのまま書き込んだり、ピク

    配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方 - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/12/02
  • テックブログ始めました。 - 電通総研 テックブログ

    これは電通国際情報サービス アドベントカレンダーの一日目の記事です。 はじめに 使っているツール Teams Shodo はてなブログ Markdownで書けること 高速に動作すること 見た目の調整にCSSHTMLを使えること 記事を簡単にエクスポートできること まとめ はじめに みなさんこんにちは、電通国際情報サービス(ISID)Xイノベーション部アドバンストテクノロジー部の佐藤太一です。 ISIDの技術的な取組みを外部に公開することで、ISIDをより多くのみなさんに知ってもらうためテックブログを始めました。 アドベントカレンダーの時期は、たくさんのエントリが公開されるので皆さんお忙しいとは思いますが、毎日新しい記事を公開予定ですので是非ごらんになってください。 使っているツール まずは、このブログを執筆するにあたって利用しているサービスやツールを紹介します。 Teams ISIDで

    テックブログ始めました。 - 電通総研 テックブログ
    hma2moto
    hma2moto 2021/12/01
  • 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日ミラティブの iOS アプリバージョン 9.38.0 にて「配信コメントバー」機能をリリースしました。この機能は iOS15 から利用可能になった PiP に関する技術を活用したもので、ミラティブ以外のアプリを開いている時に、端末の画面上にミラティブ固有のコンテンツを表示できる革新的な機能です。今回は、この「配信コメントバー」機能について背景や概要をご紹介したいと思います。 「配信コメントバー」機能とは 従来、iOS ではアプリがバックグラウンド状態に移行した後は、画面上に独自のコンテンツを表示するといったことは基的にできませんでした。例えば、ミラティブ iOS アプリでは配信中のコメントを届けるために、プッシュ通知を利用しています。 iOS 15 からピクチャ・イン・ピクチャ(以下: PiP)の柔軟性が増したこ

    配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/11/26
    このアイデア考えるのも実用的な形にして爆速でリリースしてしまうのもすごい
  • ミラティブの社内勉強会の紹介!! - Mirrativ Tech Blog

    こんにちはLivePlatformチーム所属の_mkazutakaです。 ミラティブでは、週1回木曜日にエンジニア向けの社内勉強会を開催しています。社内勉強会にはバックエンドエンジニアのみならず、iOSエンジニア、ビジネスサイドからの参加があります。 今年の8月でサービスリリース6周年を迎えたミラティブですがこれまで社内勉強会するという文化はありませんでした。 ミラティブでの社内勉強会も次で26回目になります。振り返りの意味も含め、なぜ・どうやって勉強会を開催しているかを紹介していきたいと思います。 社内勉強会をやっているけれども他の会社ではどのようにやっているのだろう、社内勉強会に興味がある、といった人達にとって参考になれば幸いです。 なぜ開催し始めたのか ミラティブでは月に一回プレミアムエモイデーという全体会議があります。当時プレミアムエモイデーにてチーム内の行動指針に沿った行動につい

    ミラティブの社内勉強会の紹介!! - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/11/25
  • Redash SaaSサービスから自前ホストへの移行した話 - Mirrativ Tech Blog

    概要 ミラティブではデータ分析用ツールとしてRedashのSaaS(redash.io)を使用している。(Lookerと併用) 2021年11月末で redash.io のサービスが終了する。そのため、自前のGCP環境にRedashを移行した。 Redash謹製の移行ツールが提供されているが、いくつかハマったポイントがあった。 記事では、GCP環境への移行手順・移行時のハマリポイント・移行後にあると便利なものを紹介する。 はじめに 初めまして、ミラティブでデータ分析基盤を担当している芝尾です。データ分析チームは5名のチームになっており、日々ユーザーの皆様のデータを分析してサービスの向上に努めています。今回はミラティブで使用していたデータ分析可視化ツールの移行を行いましたのでそのやり方を共有します。 背景 Redash hosted サービスが終了します。この記事 によると 2021/11

    Redash SaaSサービスから自前ホストへの移行した話 - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/11/05
  • DMMはAWS“から”オンプレミス“に”切り替える サーバーとネットワークのコストから見直す適切な環境選び

    DMM. comのITインフラ部が今期に注力している取り組みについて、事例を紹介しつつ話す「DMM meetup #31 ~DMMのインフラを支えるITインフラ部の取り組み紹介~」。ここでSRE部の松浦氏が登壇。WebRTCの配信システムについてと、配信サーバーをAWSからオンプレミスに切り替える理由を紹介します。 AWS“から”オンプレミス“に” 松浦庸介氏(以下、松浦):SRE部の松浦から「WebRTCの配信システムをAWSからオンプレミスに切り替えている話」ということで発表したいと思います。 まず、簡単に自己紹介をしたいと思います。2020年の5月に入社して、それ以来WebRTCのリアルタイム配信システムの開発や運用を担当している、松浦と言います。日はよろしくお願いします。 まずこのタイトル、みなさん「AWS“から”オンプレミス“に”」というところ、気になってる方がいるんじゃな

    DMMはAWS“から”オンプレミス“に”切り替える サーバーとネットワークのコストから見直す適切な環境選び
    hma2moto
    hma2moto 2021/10/29
  • ISUCON11本選のしくじりを振り返っていく - Mirrativ Tech Blog

    こんにちは、バックエンドエンジニアのmakinoです。ISUCON11選から1ヶ月半が経過し、2年連続失格の傷が癒えてきたので振り返りブログを書いていこうと思います。 ISUCON11選について 選の題材は大学の履修登録サイトでした。 すでに作問陣による選問題の解説と講評が出ているので、問題の詳細については下記の記事をご参照ください。 isucon.net 今回の問題は、高負荷な箇所を改善してもスコアが一気に上がるようなことはなく、じわじわ伸びていくような問題だったので競技時間中はずっと苦しんでいました。 また、選出場30チーム中12チームが失格になったことからも、問題の難易度が窺えるかと思います。 弊チーム「カレーおじさん」の最終スコアは68,347点でしたが、最後の負荷走行にてfailになってしまい失格となってしまいました。 また、運営の方が競技終了後に一時的にサーバーを開放

    ISUCON11本選のしくじりを振り返っていく - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/10/29
  • AndroidチームのIDE警告ゼロへの取り組み - Mirrativ Tech Blog

    こんにちは。エンジニアのshogo4405です。普段は、ミラティブで開発しながら、余暇にOSSのHaishinKit*1*2をつくっています。稿では、Androidチームで取り組んだAndroid Studioから出てくる警告対応ゼロの仕組み化について紹介します。 はじめに 筆者は、警告は一つ一つ適切なアクションを行うべき対象と考えています。警告一つ一つに意味を持っています。リリース後にクラッシュレポートを見て「あー警告」で指摘されてたという失敗経験もあります。チーム開発においては、IDEの警告ゼロが当然になるように働かきかけています。 Androidチームでは、2021年第3四半期のOKRの一つとして警告ゼロ対応を掲げました。着手当初は278 warnings, 306 weak warnings, 75 infosの警告等がありました。 ゼロ警告へのアプローチ まず初めにチームで実施

    AndroidチームのIDE警告ゼロへの取り組み - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/10/27
  • iOSDC Japan 2021 にエンジニア2名が登壇します!! - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 先日のApple Eventを見てポートがUSB Type-Cとなった新しい iPad mini が欲しくなりました。 さて、今年も毎年恒例のiOSDC Japanの開催時期となりましたね! 昨年と同様にオンラインで開催され、事前収録によるレギュラートークのストリーミング配信、ライブ配信のLT、スピーカーと直接話すことができるAsk the Speakerなどが予定されています。 iosdc.jp そして今年は、ミラティブからは2名のエンジニアのトークが採択され、レギュラートークで登壇します。 2名とも9/19(日) Day2 の登壇となりますので、 コメントと合わせて簡単に紹介します。ぜひご覧ください! 登壇情報 ■ ケースに応じたUICollectionViewのレイアウト実装パターン 日時: 2021/09/19 13

    iOSDC Japan 2021 にエンジニア2名が登壇します!! - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/09/17
  • Mirrativのバックエンド開発におけるMySQLとの向き合い方 - Mirrativ Tech Blog

    こんにちは、バックエンドエンジニアのmakinoです。先日、LINE LIVEさんとの共催イベントにて「Mirrativを支えるバックエンド開発 ~MySQLとの向き合い方~」というテーマでLTをしました。 connpass.com speakerdeck.com 今回はLTの内容から一部抜粋して、Mirrativのバックエンド開発において遭遇したMySQLに関する問題と、その対策について紹介します。 問題 その1 データ量/QPSの増加に伴って、非効率なクエリが顕在化した サービス初期の段階ではデータ量が少なかったり、ユーザーのアクティビティが少ないために問題がなかったクエリも、サービスの成長に伴ってデータ量・QPSが増加したことによって、MySQLに負荷をかけてしまうことがありました。 具体例を以下にいくつか示します。 数千件レコードのfilesort 適切なindexが利用できればM

    Mirrativのバックエンド開発におけるMySQLとの向き合い方 - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/09/16
  • 1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog

    こんにちは ハタ です。 今回は以前iOSのクライアントサイドで実装していた通知ぼかし機能をサーバサイド(配信サーバ)上に再実装した事を書きたいなと思います 今回はかなり内容を絞りに絞ったのですが、長くなってしまいました、、 目次機能があったのでつけてみました、読み飛ばして読みやすくなった(?)かもしれません 目次 目次 通知ぼかし機能とは サーバサイド通知ぼかし プロトタイプの実装 苦労の始まり その1 画像処理速度 苦労の始まり その2 データ量 さらなる計算量の削減を求めて さらなる最適化へ Halide の世界へ 簡単な halide の紹介 苦労の始まり その3 いざ リリース リリースその後 We are hiring! 通知ぼかし機能とは 通知ぼかし機能は、ミラティブ上での配信中に写り込んでしまったiOSの通知ダイアログをダイアログの中身を見えないようにぼかし処理をしてあげる

    1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/09/09
  • ELYZA DIGEST

    ELYZA DIGEST

    ELYZA DIGEST
    hma2moto
    hma2moto 2021/08/29
  • よくわかるcontextの使い方

    Goの標準パッケージにはcontextパッケージというものが存在します。 このパッケージは、net/httpやdatabase/sqlのような現実の事象と対応している何かが存在するようなパッケージではないため、初学者にとっては使い道がわからない、となってしまいがちです。 しかしcontextパッケージは、複数のゴールーチンを跨いだ処理を実装する際には非常に強力な力を発揮する、とても便利なパッケージなのです。 このでは、「contextとは何か?」というところから「どのように使えばいいのかわかる」ところまでたどり着けるように、Goのcontextまわりのことを解説しました。

    よくわかるcontextの使い方
    hma2moto
    hma2moto 2021/08/29
  • ISUCON11予選に参加して予選敗退しました - Mirrativ Tech Blog

    こんにちわ、エンジニアのタテノです。 8/21 に ISUCON11予選 が開催され、ミラティブから私とかずたかさん、stakmeさんの3人でチームミラティブとして参加しました。 isucon.net 3人ともISUCON参加ははじめてで、各々事前準備しつつ、当日、一時30位くらいまでスコアが伸びる場面もあるなど健闘しましたが、残念ながら予選敗退しました。 ミラティブからは、牧野さんが別チームで参加しており、見事10位で予選通過しました!おめでとうございます! tech.mirrativ.stream 記事では、チームミラティブでのISUCON予選を振り返っていきます。 参加表明 5/28 にISUCON11 の予選受付日程がアナウンスされ、牧野さんからエンジニアチームに対して、ミラティブチームでも出ませんかとお声がけがあります。 私は、これまでちょくちょくISUCONの話を聞いていたも

    ISUCON11予選に参加して予選敗退しました - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/08/26
  • ISUCON11予選に参加して10位で予選突破しました - Mirrativ Tech Blog

    こんにちは、バックエンドエンジニアのmakinoです。先日行われたISUCON11予選に参加し、10位で予選突破することができました。 isucon.net 私が所属している「カレーおじさん」チームは、前職の同僚の @sugaret, @lazydg と組んでいるチームで、ISUCON参加は3回目、予選突破は去年に続いて2回目になります。 それでは、さっそくISUCON11予選を振り返っていきたいと思います。 使用したツール alp pt-query-digest Cloud Profiler alpはaccess log解析、pt-query-digestはslow query解析で毎度使っているものです。 今年はCloud Profilerを新たに使ってみることにしました。いつもはベンチマーク実行時にpprofを手で叩いており面倒だったのですが、Cloud Profilerは継続的にプ

    ISUCON11予選に参加して10位で予選突破しました - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/08/25
  • Mirrativ×Unity as a Library 活用事例と開発テクニック - Mirrativ Tech Blog

    こんにちは、Unityエンジニアの菅谷です。今回はUnity as a Libraryの活用事例と開発テクニックとして、以前のLTで紹介した内容をまとめました。Mirrativでの活用事例を通してUnity as a Libraryの強みや課題を共有し、他のプロダクトでの導入の参考になれば幸いです。2021/6〜2021/7にMirrativ×Unity as a Libraryのテーマで行った3のLTをまとめた内容となっています。 mirrativ.connpass.com meetup.unity3d.jp mirrativ.connpass.com MirrativにおけるUnity Mirrativにはエモモという配信をサポートする3Dアバターが存在します。ユーザーは衣装やアクセサリーなどのアイテムを組み合わせてエモモを着飾ることができます。MirrativはiOSはSwift

    Mirrativ×Unity as a Library 活用事例と開発テクニック - Mirrativ Tech Blog
    hma2moto
    hma2moto 2021/08/24
  • マルチスレッド・プログラミングの道具箱

    まえがき クラウド上の仮想サーバから手元のスマートフォンまで、いまや複数のCPUコアを搭載するマルチコアはどこにでもある環境になりました。ハードウェア側が並列(Parallel)・並行(Concurrent)処理に向けて急速に進化する一方で、ソフトウェア側つまりプログラミング言語の進化はさほど追い付いていません。並行処理記述の手軽さを求めた Go言語 や、マルチスレッド処理の安全性を重視する Rust言語 などが登場してはいるものの、「普通にプログラムを記述するだけで複数CPUコア環境で高速に走るプログラミング言語」は遠い夢物語のままです。 モダンなプログラミング言語や並列・並行処理ライブラリは、複雑で難解なマルチスレッド処理を直接記述しなくてすむよう、安全性・利便性の高い抽象化レイヤを提供します(例:Go言語のgoroutineとchannel、Rust言語の Rayonライブラリ)。し

    マルチスレッド・プログラミングの道具箱
    hma2moto
    hma2moto 2021/08/02
  • Avoid priority inversion  |  Android Open Source Project

    hma2moto
    hma2moto 2021/07/09
    “Android 向け SMP Primer”