adarapata328のブックマーク (388)

  • SwiftGenとSwift-DocCを活用してコード上の画像を一瞬でプレビューする方法 - Mirrativ Tech Blog

    こんにちはiOS開発をしている福山です。 この記事では、SwiftGenとSwift-DocCを用いて、xcassetsを開かずにコード内の画像をQuick Help(右パネルまたは⌥オプションキー+クリック)で直接確認する方法を紹介します。 各ツールの簡単な説明 Swift-DocCは、Swift言語用のドキュメント生成ツールです。Swiftコード内に書かれたコメントから、ナビゲーションが容易で、見た目も美しいドキュメントを生成することができます。 SwiftGenは、Xcodeプロジェクトで使われるリソース(画像、フォント、色、ローカライズなど)を静的に型付けされたSwiftコードに変換するツールです。自動生成された安全なコードを通じてリソースにアクセスできるため、タイプミスによるエラーや存在しないリソースへの参照をコンパイル時に検出するのに役立ちます。 SwiftGenの生成コード例

    SwiftGenとSwift-DocCを活用してコード上の画像を一瞬でプレビューする方法 - Mirrativ Tech Blog
  • モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog

    こんにちは、エンジニアのちぎら(@_naru_jpn)です。ミラティブでは、配信中のゲームに視聴者が介入できるゲームとライブ配信が融合した次世代のゲーム体験を提供しており、この体験を ライブゲーミング と呼んでいます。 ライブゲーミングは、Unity から WebGL 向けにビルドされた WebAssembly 製のゲームを、アプリに配置したウェブブラウザ上で動作させることによって実現しています。*1 今回は UnityでモバイルWebGLゲーム開発を頑張る話 の「メモリリークによって発生するクラッシュ」にも書かれているような、捕捉は難しいがユーザー影響があるような例外の発生を捕捉して、計測をするための仕組み作りについて解説をします。 ライブゲームが動作する仕組み 例外を捕捉することを考える前に、ライブゲームがどのように動作しているのかを知る必要があります。 Unity の WebGL 向

    モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog
    adarapata328
    adarapata328 2024/03/18
    便利
  • input type=“date” の沼から、ライブラリを導入する意義を考える - Mirrativ Tech Blog

    はじめまして!2023年7月からミラティブでフロントエンドインターンをしております、かずえもんと申します😺 今回は、インターンでの作業中にハマってしまった Safari のバグについて調査していたら、なんと10年モノの issue だったことが判明し、ライブラリを導入する意義について考える機会となった話を書いてみたいと思います。 Safari の日付入力欄に無効な日付を入れると起こるバグ onChange が正しく呼ばれないのは Safari が原因? Safari 17 以降で再現しないので原因は Safari で間違いなさそう Safari 17 以前での解決方法として DatePicker を使ってみる まとめ: ネイティブを補う存在としてのライブラリ We're Hiring!! Safari の日付入力欄に無効な日付を入れると起こるバグ 2023年8月、私はミラティブの管理シス

    input type=“date” の沼から、ライブラリを導入する意義を考える - Mirrativ Tech Blog
  • ミラティブCTO交代の挨拶 - Mirrativ Tech Blog

    みなさまこんにちは、ちぎら @naru_jpn とよこて @n0mimono です。noteの方に対談を掲載していますが、テックブログのほうでも記事を書いてみようと思います。社内外の多くの方に読んでいただければ幸いです。 note.com prtimes.jp CTOを交代しました! 今のCTOより こんにちは、ミラティブ3代目CTOの千吉良(ちぎら)です。プレスリリースにあるように2024年1月よりCTOに就任しました、よろしくお願いいたします。 夏さん、横手さんと組織の中でCTOの移り変わりを眺めていて自分がその立場になるとは夢にも思わず生活をしていた訳ですが、せっかく挑戦する機会をいただいたのでお話を受けさせていただくことにしました。 私は2018年の8月からミラティブに副業ではじめて関わり、そのまま同年12月にミラティブに入社しました。 note.com インタビューにも書いたと思

    ミラティブCTO交代の挨拶 - Mirrativ Tech Blog
  • UnityチームでGodot勉強会をしました - Mirrativ Tech Blog

    こんにちは、ミラティブ菅谷です。ミラティブではUnityチームで定期的に勉強会を行っています。今回はその取り組みの一つとして行ったGodot勉強会について紹介します。Unityエンジニアから見たGodotの特徴や触ってみての感想を記載しました。 背景:Unityライセンス体系の変更 2023年9月、Unityはライセンス体系の変更を発表しました。この変更は、多くのUnityユーザーに影響を与え、さまざまなゲームエンジンに関する議論を促しました。ミラティブのUnityチームもこの動きに注目し、ゲームエンジンの多様化に関する議論を行いました。最終的にライセンス体系は再変更されたため、ミラティブでもUnityからの移行は見送りとなりましたが、この話題をきっかけに他のゲームエンジンへの理解を深めることでUnityの長所と短所をより明確に把握することが必要であるとの結論に至りました。 Godot選択

    UnityチームでGodot勉強会をしました - Mirrativ Tech Blog
  • サービスの管理画面を継続的に改善するためのReact Hook FormとZod活用術 - Mirrativ Tech Blog

    こんにちは!ミラティブのフロントエンドエンジニア どじねこ です。 今回は、ミラティブを支える社内向けの管理システムにおいて、機能開発の体験を改善する取り組みを「MUIZodReact Hook Form の活用術」としてご紹介させていただきます。 前提 ミラティブでは、他の多くの Web サービスと同様に配信者さんの登録した情報や配信の履歴を管理する社内向けのシステムが存在しています。 特に管理システムのフロントエンドにおいては、その特性上入力フォームの実装がその大半を占めています。 日々の機能開発においては、そうした管理システムに実装された入力フォームの新規実装や機能拡張が行われています。 課題 一般的な入力フォームでは、画面の初期描画の際にすでに設定済みの値をフォームに適用する初期化処理や、入力された内容を検証して必要に応じてエラー表示するバリデーション処理が必要です。 ミラ

    サービスの管理画面を継続的に改善するためのReact Hook FormとZod活用術 - Mirrativ Tech Blog
  • 内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog

    インフラストリーミングチームの近藤 (@udzura) です。今回は、ミラティブで内製しているオブジェクトストレージサーバ「b3」の紹介記事を書きたいと思います。 今回の記事は、6月にGopher Talkというイベントで発表した「Go製ミドルウェアを実践投入するにあたりやったこと」をベースに、内容を詳細にしたり直近の開発状況に合わせて更新したものです。一部内容はこの発表と重複していますがご了承ください。 オブジェクトストレージサーバを内製した背景 1. 大量オブジェクトの操作や増え続ける転送量に対応したい 2. 一定期間しかファイルの保持をしない 3. オンメモリ/SSD/HDDを組み合わせたチューニングがしたい オブジェクトストレージb3の特徴 S3 互換の基的なAPIを実装 LSM-Tree index+WALなDB/マージ操作に対応 I/O 帯域を制限可能 非同期レプリケーション

    内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog
  • 東方原作、別に全員が遊んでなくていいと思うけど、グッズとして買うだけ買っといてもいいんじゃない?な話 - オチがなくてよい日記

    結論はタイトルのとおりです。あとは余談というなの雑語りです。 最近ほんのり話題になってますね、「東方原作やってないやつは東方に愛がないのか」問題。個人的には「血気盛んじゃ、よかにせじゃ」くらいの気持ちです。Twitter(新X)で見たときからめちゃくちゃ触れたかったけど㍉も触れなかったのえらくない?( 触れなかったのは結局「それは中国拳法が四千年前に通った道だ」ってなっちゃうのと、「そのノリでおっさんたちが『若いね~w』『時代は繰り返すw』とか言うの、大学生からしたらクソムカつくだろうなコレ」と思ったので、ツイートはしなかった感じです。 とはいえ事象としてはやっぱ面白いな―と思ったんで、いい機会として思ったことザラッとまとめます。 実際、みんな東方原作やってないんすかね? 今年の人気投票のアンケート項目「04ノーコンテニューでクリアできた難易度」を見てみました。 toho-vote.inf

    東方原作、別に全員が遊んでなくていいと思うけど、グッズとして買うだけ買っといてもいいんじゃない?な話 - オチがなくてよい日記
  • ミラティブでのアウトゲーム設計の紹介 - Mirrativ Tech Blog

    こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。 今回はミラティブのライブゲーム開発で行ったアウトゲームの設計について紹介します。 以前アウトゲーム設計に関してXでポストしたらレスポンスをいただけたのでできるだけ丁寧に解説してみました。こんな話も聞きたいよというのがあったら是非教えてください。 よくありそうなソシャゲアウトゲームの設計について今更記事化してるんだけどどれだけ需要あるんだろう。MVPの概念とかクリーンアーキテクチャライクな知識って業界的な浸透率どんなもんなんだ。— 鉄 -TETSU- (@tetsujp84) 2023年8月28日 アウトゲームについて ゲーム開発者にとっては馴染み深いと思いますが、ゲームにはインゲームと呼ばれる部分とアウトゲームと呼ばれる部分に別れます。インゲームゲーム体験のコアでキャラクターを操作したり、アクションがあったりと

    ミラティブでのアウトゲーム設計の紹介 - Mirrativ Tech Blog
    adarapata328
    adarapata328 2023/09/22
    こんな感じでやっております
  • UnityのWebGLアプリ開発における"使えないライブラリ問題"の回避策 - Gaudiy Tech Blog

    ファンと共に時代を進める、Web3スタートアップのGaudiyUnityエンジニアをしているくりやま(@xamel7)です。 Gaudiyでは"Gaudiy Fanlink"というブロックチェーンや生成AIなどの技術を活用したファンプラットフォームで、漫画、アニメ、アイドルといったIP(知的財産コンテンツ)独自のコミュニティの開発・運営をしています。 service.gaudiy.com このFanlinkの一機能として、現在、新たに開発を進めているのがIPのカジュアルゲームです。 「GANMA!コミュニティ」で先日公開されたカジュアルゲーム ▼登録不要で遊べます ganma-community.com WebサービスであるFanlinkとの連携が必要なこともあり、GaudiyUnityチームではWebGLビルドによるアプリケーション開発を行っています。 WebGLビルドは、スタンドア

    UnityのWebGLアプリ開発における"使えないライブラリ問題"の回避策 - Gaudiy Tech Blog
    adarapata328
    adarapata328 2023/09/21
    良い記事だ…
  • UnityでモバイルWebGLゲーム開発を頑張る話 - Mirrativ Tech Blog

    こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。 ミラティブのライブゲームUnityで開発し、MirrativアプリのWebGLで動いています。 ライブゲームを支える仕組みと実際のライブゲーム開発で使用した技術については過去の記事で紹介しています。 tech.mirrativ.stream tech.mirrativ.stream UnityはWebGL向けにもビルドでき、モバイルのWebGLであってもUnity製プロダクトが動くようになっています。一方で、Unityは正式にはモバイルWebGL対応をサポートしておらず、ネイティブのモバイル開発と比べると開発の難易度は高いです。その難易度の高さは具体的にどこにあったのか、実際にモバイルWebGL向けのゲームを開発した経験を元に知見を共有します。 パフォーマンス編 モバイルWebGLの開発は常にパフォーマンスの意

    UnityでモバイルWebGLゲーム開発を頑張る話 - Mirrativ Tech Blog
  • あてっこ!ぷにまるずで利用したVisualScriptingとデザイナーフレンドリーな開発 - Mirrativ Tech Blog

    皆さんこんにちは。Unityエンジニアのおはぎです。 ミラティブでは先日「あてっこ!ぷにまるず」(以下ぷにまるず)というライブゲームをリリースしました。 使っている技術については以下の記事に概要が書かれています。 tech.mirrativ.stream 稿ではその中からVisualScriptingについて詳細を記述していきます。 VisualScripting VisualScriptingはUnity公式が提供しているノードベースのノーコードツールです。 Unity2018からBoltとしてAssetStoreで有料販売されていましたが、 Unity社が買い取りUnity2021からはVisualScriptingとして統合されています。 unity.com ぷにまるずで使われているVisualScripting ぷにまるずのインゲームでは以下のものがVisualScripting

    あてっこ!ぷにまるずで利用したVisualScriptingとデザイナーフレンドリーな開発 - Mirrativ Tech Blog
    adarapata328
    adarapata328 2023/08/02
    VisualScriptingは便利
  • 【Go/GCP】ライブゲーム「あてっこ!ぷにまるず」を支えるバックエンド技術 - Mirrativ Tech Blog

    バックエンドエンジニアの makino です。日は、先日リリースしたライブゲーム「あてっこ!ぷにまるず」のバックエンド技術について紹介します。 ライブゲーム「あてっこ!ぷにまるず」について ライブゲームとは、Mirrativアプリ上で遊べるゲームであり、配信中のゲームに視聴者が介入できることが特徴です。 「あてっこ!ぷにまるず」では、配信中に視聴者を招待して一緒にGvGバトルを楽しむことができます。 開発スタッフがプレイした動画をご紹介📺✨ バウンド数に注目👀⁉ こんなに連鎖できたら気持ちよさそう…🐰💕 動画を参考にレッツ❗チャレンジ💁 SNSスタッフは2回バウンドできました🙌 まだまだ道のりは険しい…🏔 pic.twitter.com/YdZMRKxbgv— 【公式】あてっこ!ぷにまるず (@punimals_jp) 2023年7月18日 Mirrativのライブゲーム

    【Go/GCP】ライブゲーム「あてっこ!ぷにまるず」を支えるバックエンド技術 - Mirrativ Tech Blog
  • あてっこ!ぷにまるずを支える技術紹介 〜モバイルWebGLの開発事例〜 - Mirrativ Tech Blog

    Unityエンジニアのいも(@adarapata)です。 みなさんはUnityでWebGLプラットフォーム開発していますか? ミラティブでは先日「あてっこ!ぷにまるず」というライブゲームをリリースしました。 これはモバイルブラウザで動くWebGLです。 PCブラウザ想定のWebGLは多くありますが、モバイルブラウザを想定したゲームはあまり多くはありません。 いざ開発しようとしてもそもそも動くのか?このライブラリは対応しているのか?要求水準は満たせるのか?といったさまざまな課題が待ち受けているでしょう。 エントリーでは、あてっこ!ぷにまるず(以下ぷにまるず)を実際にリリースするにあたって利用したライブラリの簡単な紹介や、ちょっと気をつけるポイントなどを紹介していきます。 個別の技術スタックに関する話は別途エントリを書いていくので、ここでは全体のサマリーと簡単な選定理由などに留めておきます。

    あてっこ!ぷにまるずを支える技術紹介 〜モバイルWebGLの開発事例〜 - Mirrativ Tech Blog
  • Unityチームでの輪読会の取り組み紹介とUniRx/UniTaskクイズ - Mirrativ Tech Blog

    こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。Unityチームの一員として、私たちが週に1時間を費やして行っている輪読会について紹介したいと思います。輪読会では、チーム内で読むを都度決め、それを読み進めていきます。これまでにはパフォーマンスチューニングのやUniRx/UniTaskのを読みました。また、後半にはUniRx/UniTaskので学んだことを元にクイズを作成しましたので是非挑戦してみてください。 具体的な流れ チーム内で読むを決め、全員が(現物 or 電子書籍)を用意します。輪読会では、前回の続きから読み始め、15分程度経ったら区切って次の人に交代します。ある程度のまとまりを読んだら、それぞれの意見や重要そうな点、気付きなどを議論します。1回の勉強会は1時間で、できるだけメンバー全員に参加してもらっています。 ポイント・メリット 輪読会に

    Unityチームでの輪読会の取り組み紹介とUniRx/UniTaskクイズ - Mirrativ Tech Blog
    adarapata328
    adarapata328 2023/07/19
    実際使うやつから小ネタまで問題作ってみました
  • C#の可能性を切り開いていく専門会社「Cysharp」 | Cygames Magazine(サイマガ)

    C#の可能性を切り開いていく専門会社「Cysharp」の目指すところ プログラミング言語のC#を中心としたゲーム技術開発を行い、C#(※1)の良さを世の中に伝えていくために設立されたサイゲームスのグループ会社「Cysharp」。ゲーム業界への貢献のためにC#向けのOSSライブラリを数十個公開するなどの活動をし、「CEDEC AWARDS 2022 エンジニアリング部⾨優秀賞」の受賞、国際的なゲームクリエイターの祭典「GDC2022」に登壇するなど認知を広めています。そんな「Cysharp」設立の経緯から今後の展望まで、代表取締役に話を聞きました。 ※1 C#……Microsoftが開発した.NETプラットフォーム向けプログラミング言語。ゲームエンジンUnityでも採用されるなど幅広い領域で使用されている。サーバーサイド開発では世界中のエンジニアが利用している開発者向けQ&Aサイト「Sta

    C#の可能性を切り開いていく専門会社「Cysharp」 | Cygames Magazine(サイマガ)
  • モブプログラミングで「一緒に働く」を戦略的に仕事に取り入れよう - Agile Journey

    みなさん、こんにちは。「制御不能なアジャイルモンスター」こと及部敬雄(@TAKAKING22)です。私は現在、 Silver Bullet Club というソフトウェア開発チームに所属していますが、チームでは2017年5月にモブプログラミングを採り入れ、現在も継続しています。こうした経験のなかで得られたモブプログラミングに関する知見を、書籍、記事、コミュニティ活動などを通して発信してきました。また、アジャイルコーチとしてチームや組織へのモブプログラミングの導入支援もしています。 稿では、モブプログラミングを実際の現場で活用する際に直面しがちな悩みポイントを抑えつつ、個人やチーム、そして組織がモブプログラミングとどう向き合っていけばよいのかについて、ご紹介します。 モブプログラミングとは モブプログラミングの流れ なぜモブプログラミングが必要なのか 分担作業とモブプログラミングの比較 2つ

    モブプログラミングで「一緒に働く」を戦略的に仕事に取り入れよう - Agile Journey
  • 週休3日制を3年運用してわかったこと|DeployGate

    こんにちは、デプロイゲート採用広報チームです! 今回はお試しのトライアル期間を含めて、約3年間に渡って運用している週休3日制について、導入の経緯や目的を振り返ってみたいと思います。また会社側から見たときのメリットやデメリットなどもご紹介したいと思います。 みんなの働く時間を有意義にしたい「楽しく働く、楽しく生きる」をコアバリューにしている弊社では、仕事はただのお金を稼ぐための手段だと割り切って「早く終わらないかな〜」などと思いつつ過ごすのはとてももったいない事だと考えています。できれば一度きりの人生仕事からもプライベートからも大いに刺激を受けて、学びを得て、それらを双方に還元しながら人生を豊かにしていけるとすごく楽しそうですよね。 ですので、せっかく人生の貴重な時間を弊社に使おうと思ってもらえたチームメンバーには、「毎日めっちゃ有意義な時間を過ごしてます!」と声を大にして言ってもらえるよ

    週休3日制を3年運用してわかったこと|DeployGate
  • neue cc - async/awaitのキャンセル処理やタイムアウトを効率的に扱うためのパターン&プラクティス

    async/awaitの鬼門の一つとして、適切なキャンセル処理が挙げられます。別に基的にはそんな難しいことではなく、CancellationTokenSourceを作る、CanellationTokenを渡す、OperationCanceledExceptionをハンドリングする。というだけの話です。けれど、Tokenに手動でコールバックをRegisterしたときとか、渡す口が空いてないものに無理やりなんとかするときとか、タイムアウトに使った場合の始末とか、ちょっと気の利いた処理をしたいような場面もあり、そうした時にどうすれば良いのか悩むこともあります。 こういうのはパターンと対応さえ覚えてしまえばいい話でもあるので、今回はAlterNatsの実装時に直面したパターンから、「外部キャンセル・タイムアウト・大元のDispose」が複合された状況での処理の記述方法と、適切な例外処理、そして最

  • Unityでアセットレギュレーションをテスト・自動化できるOSS『Asset Regulation Manager』をリリースしました | CyberAgent Developers Blog

    Unityでアセットレギュレーションをテスト・自動化できるOSS『Asset Regulation Manager』をリリースしました ゲーム・エンターテイメント事業部から、Unityでアセットレギュレーションをテスト・自動化できるツール『Asset Regulation Manager』をOSSとしてリリースいたしました。 記事ではこのツールを作った目的と、簡単な使い方についてまとめます。 コンセプト Unityゲーム開発において「アセットレギュレーション」を厳密に管理することは重要です。 アセットレギュレーションの代表的な例として、テクスチャサイズやメッシュの頂点数が挙げられます。 例えばあるプロジェクトで、キャラクターのテクスチャサイズに対して 1024 × 1024 px 以内というレギュレーションを決めたとします。 もしこのレギュレーションが守られずに 2048 × 2048

    Unityでアセットレギュレーションをテスト・自動化できるOSS『Asset Regulation Manager』をリリースしました | CyberAgent Developers Blog
    adarapata328
    adarapata328 2022/06/16
    よい