SlideShare uma empresa Scribd logo
1 de 148
Baixar para ler offline
UnityでのLINQ活用例
室星亮太
2015/02/20(金)
質問です
Unityでゲームを作成している方?
LINQ知っている方?
LINQ使っている方?
LINQがっつり使っている方?
ありがとうございました
UnityでのLINQの活用事例を通し、
LINQの良さや利用方法を紹介します。
今日の目標
みなさんに
• LINQを使うとコードが読みやすくなることを知ってもらう
• LINQを活用できるシーンが多いことを知ってもらう
• LINQを使ってみよう・勉強してみようと思ってもらう
• LINQにこんな便利なメソッドあったんだと知ってもらう
Unityでの例を通して!
ところで
ゲーム開発で大切なもの
たくさんありますよね
その中のひとつ
簡潔で読みやすいコード
なぜかって?
動けば同じじゃないかって?
仕様、変わりますよね?
リリース後もアプデしますよね?
「汚いコードでとりあえず動く物」
短期的には早いかもしれない
×"短期的な開発速度
⃝!中・長期的な開発速度
仕様は開発途中で変わりますよね?
簡潔で読みやすく奇麗なコード
これに比べて汚く長いコードの
仕様変更はとても大変!
遊びながら試行錯誤し面白い物を作る
それには簡潔で読み安いコードが必要!
あと汚く長いコード、まじアプデしんどい!
読みやすいコードは大切
賛成していただけますか?
ところで今日のテーマは
LINQです
LINQを使うと、
リストなどのコレクションを扱うコードが、
簡潔に読みやすくなりますよ!
さて、LINQとは
LINQとは
統合言語クエリ!(LINQ)!は、強力なクエリ機能を!C#!言語および!
Visual!Basic!言語の構文へと拡張する、Visual!Studio!2008!で導入
された機能のセットです。!
MSDN%LINQよりh*ps://msdn.microso7.com/ja:jp/library/bb397926.aspx
イメージわきます?
配列とかリストとかディクショナリとか
シーケンス(↑のようなオブジェの集まり)を
を扱うコードがLINQを使うと綺麗に書ける
ってことだけとりあえず今はイメージしてください(適当ですいません)
今日お話しするのは、LINQ%to%Objectsです
今日の話で「LINQが使えるようになる」とはなりません。みなさんに便利さを紹介しようと思います。
自己紹介
• 名前:室星亮太
• 所属:Fuller,)Inc.
• 仕事:Unityを用いたゲーム開発
• 投稿先:h3p://qiita.com/RyotaMurohoshi
• Twi3er:@RyotaMurohoshi
• コミュニティ:Androidの会Unity部
ライブラリUniLinq作ったり
UniBookでLINQについて書いたり
LINQ大好きです!
「LINQのないC#なんてC#じゃない」
って言う方もいますが、私もそう思います!
そんな私が
こういう風に使える、こんな状況で使える
という例をガンガン紹介していきます
第一部
今すぐに使って欲しいメソッド3選
Count・All・Any
こんなクラスがあって
public class Monster
{
public int Id { get; set; }
public string Name { get; set; }
public int Hp { get; set; }
/* 中略 */
}
List<Monster>の中でHpが0以下の要素を数える
のようなリスト内の指定の条件を満たした要素を数える
ってことやりません?
Count
特定の条件を満たした要素を数える
Hpが0以下の要素、つまり死んでいる
モンスター(Monster)の数を数えたい
よくあるforeach、ifのコード
List<Monster> monsterList = LoadMonsterList ();
// LINQを使わないと
int deadMonsterCount = 0;
foreach (Monster monster in monsterList) {
if(monster.Hp <= 0) {
deadMonsterCount++;
}
}
Count
指定の条件を満たした要素を数える
List<Monster> monsterList = LoadMonsterList ();
// Hpが0以下の要素の数に
int deadMonsterCount =
monsterList.Count ((Monster monster) => monster.Hp <= 0);
さっきの2つのコード
どう読めます?
このコード、どう読みます?
List<Monster> monsterList = LoadMonsterList ();
// LINQを使わないと
int deadMonsterCount = 0;
foreach (Monster monster in monsterList) {
if(monster.Hp <= 0) {
deadMonsterCount++;
}
}
int型のdeadMonsterCountを0で初期化
foreach文でmonsterListをまわす
もし要素のmonsterのHpが0以下ならば
deadMonsterCountをインクリメント
あ、つまり!
HPが0以下のモンスターを数えるのか!
という1回頭の中での変換が必要
一方LINQは?どう読みます?
// LINQを使うと
List<Monster> monsterList = LoadMonsterList ();
// Hpが0以下の要素の数に
int deadMonsterCount =
monsterList.Count ((Monster monster) => monster.Hp <= 0);
int型のdeadMonsterCountを次の値で初期化
monsterList内の次の条件を満たす要素数だ!
条件は要素のHPが0以下だ!
ほぼ意味的に、
「Hpが0以下のモンスターを数えろ!」
左から右に素直に読める!
foreach文、if文のは
「どう処理しているか」が書かれている
LINQでは
「何がしたいか」が書かれている
だからLINQのコードは読みやすい
しかも簡潔
ここからは基本、LINQ版のみでさくさく行きます
Any
特定の条件を満たす要素が
存在するか調べる
Any
特定の条件を満たす要素が存在するか調べる
List<Monster> monsterList = LoadMonsterList ();
// Hpが0以下のモンスターが存在すればtrue
bool isExistDeadMonster =
monsterList.Any((Monster monster) => monster.Hp <= 0);
All
全ての要素が指定の条件を
満たすか調べる
All
全ての要素が指定の条件を満たすか調べる
List<Monster> monsterList = LoadMonsterList ();
// 全てのモンスターのHpが0以下ならばtrue
bool isAllMonsterDead =
monsterList.All((Monster monster) => monster.Hp <= 0);
次はUnityっぽいので
かつ
割とマイナーなやつを
第二部
Editor拡張でも活躍
OfType
OfType
指定の型の要素のみにフィルタリングし、
指定の型のシーケンスに変換
Projectウィンドウ中で選択中の物の中で、
テクスチャ(Textureクラス)のみを処理する
(UnityEditor拡張)
• UnityEditor.Selec0onクラスのobjectsプロパティを利用
• Selec0on.objectsは現在選択しているものを取得
• 型はUnityEngine.Object[]で取得
• これには当然テクスチャ(Textureクラス)以外のものも含まれる
• けどTextureのみを対象にしたい
フィルタリングといえばWhere
これをis演算子とあわせて
foreach (UnityEngine.Object target in
Selection.objects.Where (o => o is Texture)){
// キャストする or as演算子利用がめんどい
Texture texture = target as Texture;
// ここでTextureに何かしらの処理
}
Castメソッドでキャストもできますが
foreach (Texture texture in Selection.objects
.Where (o => o is Texture)
.Cast<Texture>()){
// ここでTextureに何かしらの処理
}
そこでOfTypeですよ!
OfType
指定の型の要素のみにフィルタリングし、指定の型のシーケンスに変換
// Selection.objectsの中の要素をTexture型のみにフィルタリングし、
// IEnumerable<Texture>に変換
foreach (Texture texture in Selection.objects.OfType<Texture> ()){
// ここでTextureに何かしらの処理
}
UnityのEditor拡張で、Selec.onは利用シーンが多い!
(MenuItemと合わせて導入が楽!)
「Selec%on.objects.OfType<Texture>7()」、ぜひ!
実際に使った例がこちら!!h#p://qiita.com/RyotaMurohoshi/items/b01e3cdb91fea96f4574
OfTypeメソッド
他ではNUnitLiteというライブラリを使った際
System.Objectから特定の型への変換でも使いました
Editor拡張でのLINQ活用
LINQ、実はiOSで問題があります
けれどUnityEditor内であれば大丈夫!
Editor拡張から利用し始めるのはオススメ!
第三部
指定の条件を満たす先頭の要素を取得する
First、FirstOrDefault
List<Monster>の中でHpが0以下の要素が一つ欲しい
のようなリスト内の指定の条件を満たす要素を一つ取得する
ってことやりません?
First
指定の条件を満たす先頭の要素を取得する
条件を満たした要素がない場合は例外発生
First
指定の条件を満たす先頭の要素を取得する。条件を満たした要素がない場合は例外発生
List<Monster> monsterList = LoadMonsterList ();
// ひとつもHpが0以下の要素が存在しないなら例外発生
Monster deadMonster = monsterList
.First ((Monster monster) => monster.Hp <= 0);
Firstメソッドは
条件を満たす要素がない場合例外が発生!
じゃあ例外を発生たくない場合?
Anyで存在チェックしてあった場合のみ、もしくは...
FirstOrDefault
指定の条件を満たす先頭の要素を取得する
条件を満たした要素がない場合は
その型の規定値を返す
条件を満たした要素がない場合、
「規定値を返す=nullを返す」じゃない!
ここ要注意!値型の規定値はnullじゃない!
規定値
• クラス型の場合、null
• intの場合、0
• floatの場合、0.0F
• boolの場合、false
• Vector3の場合、x、y、zが全て0.0F
FirstOrDefault
指定の条件を満たす先頭の要素を取得する。条件を満たした要素がない場合はその型の規定値を返す
List<Monster> monsterList = LoadMonsterList ();
// ひとつもHpが0以下の要素が存在しないならMonsterクラスの規定値nullに
Monster deadMonster = monsterList
.FirstOrDefault ((Monster monster) => monster.Hp <= 0);
ここでさらにもう一つ!
DefaultIfEmpty
シーケンスが空ならば引数で渡したものを
唯一の要素とするシーケンスに変換
Firstと組み合わせてこんなことができる
DefaultIfEmpty
シーケンスが空ならば引数で渡したものを唯一の要素とするシーケンスに変換
List<Monster> monsterList = LoadMonsterList ();
Monster defaultMonster = GetDefaultMonster ();
int targetId = GetTargetId ();
// 指定IDのモンスターを探す。なかったらdefaultMonsterに。
Monster targetMonster = monsterList
.Where ((Monster monster) => monster.Id == targetId)
.DefaultIfEmpty (defaultMonster)
.First (); // このオーバーロードは単純に先頭要素取得
ところで
デリゲートとラムダ式
• 「(Monster*monster)*=>*monster.Hp*<=*0」はラムダ式
• 「ラムダ式」ではなく「デリゲート」を引数にとる
• LINQの多くのメソッドがFunc<T,*TResult>を取る
• ラムダ式の用途の一つはデリゲートの生成
詳しくは! h"p://qiita.com/RyotaMurohoshi/items/740151bd772889cf07de にまとめました
第四部
算術計算系
Max、Min、Sum、Average
こんなクラスを使います
public class PlayLog
{
public int StageId { get; set; }
public int Score { get; set; }
public DateTime PlayedAt { get; set; }
public TimeSpan PlayTime { get; set; }
}
List<PlayLog>の要素の中で一番大きいScoreを求める
のようなリスト内要素を変換して、その一番大きい値を求める
ってことやりません?
Max
各要素に変換を施しその最大値を計算する
Max
各要素に変換を施しその最大値を計算する
List<PlayLog> playLogList = LoadPlayLogList ();
// PlayLogListのScoreの最大値
int maxScore =
playLogList.Max ((PlayLog playLog) => playLog.Score);
Min
各要素に変換を施しその最小値を計算する
Min
各要素に変換を施しその最小値を計算する
List<PlayLog> playLogList = LoadPlayLogList ();
// PlayLogListのScoreの最小値
int minScore =
playLogList.Min ((PlayLog playLog) => playLog.Score);
Sum
各要素に変換を施しその合計値を計算する
Sum
各要素に変換を施しその合計値を計算する
List<PlayLog> playLogList = LoadPlayLogList ();
// PlayLogListのScoreの合計値
int sumOfScore =
playLogList.Sum ((PlayLog playLog) => playLog.Score);
Average
各要素に変換を施しその平均値を計算する
Average
各要素に変換を施しその平均値を計算する
List<PlayLog> playLogList = LoadPlayLogList ();
// PlayLogListのScoreの平均値
double averageOfScore =
playLogList.Average ((PlayLog playLog) => playLog.Score);
ところで
LINQとiOS(1)
• Unity+iOSだと実機実行時エラーになることがある
• 理由はAOTコンパイルがうまくいっていないみたい
• それを解決するためにUniLinqっていうやつを作った
LINQとiOS(2)
• IL2CPP登場
• IL2CPPで大丈夫か試したら、テストするやつが実機でエラーに
• AssemblyクラスのCodePathプロパティがnullなのが原因
• 今後も正しく動くかどうかなど、継続して調べていきます!
第五部
並び替え
OrderBy、OrderByDescending
ThenBy、ThenByDescending
List<PlayLog>をScroreの降順で並び変える
のような整列操作
ってやりません?
OrderBy
各要素に変換を施し
その結果で並び替え
OrderBy
各要素に変換を施しその結果で並び替え
List<PlayLog> playLogList = LoadPlayLogList ();
// スコアの降順で並び替え
IEnumerable<PlayLog> orderedPlayLog = playLogList
.OrderByDescending ((PlayLog playLog) => playLog.Score);
OrderByは昇順で並び替え、OrderByDescendingは降順で並び替え
元のデータを並び変えるのでなく、新たに並び替えたシーケンスをつくる
もし同じScoreならどうしよう?
同ScoreならばPlayTimeが短い順にしたい場合は?
もう一度OrderByを呼ぶのは間違い!
ThenBy
OrderByで並び替えたもので、
同評価だったものを並び替え
ThenBy
OrderByで並び替えたもので、同評価だったものを並び替え
List<PlayLog> playLogList = LoadPlayLogList ();
// スコアの降順で並び替えて、同点なら時間が短い方を先に
IEnumerable<PlayLog> orderedPlayLog = playLogList
.OrderByDescending ((PlayLog playLog) => playLog.Score)
.ThenBy ((PlayLog playLog) => playLog.PlayTime);
第六部
スキップと取得
Skip、Take、SkipWhile、TakeWhile
データを画面に10個ずつ表示
インデックス0の1ページ目、0番目から9番目
インデックス1の2ページ目、10番目から19番目
インデックス2の3ページ目、20番目から29番目
ってことやりません
Skip%+%Take
Skip
先頭から引数で渡した個数だけ
要素を飛ばす
Take
先頭から引数で渡した個数だけ
要素を返す
Skip+Take
データを画面に10個ずつ表示、今回は3ページ目(インデックスは2)
List<PlayLog> playLogList = LoadPlayLogList ();
int numPerPage = 10;
int pageIndex = 2;
int skipNum = numPerPage * pageIndex;
// 3ページ目(インデックスは2)、20番から10個の要素を取得
IEnumerable<PlayLog> selectedPlayLogs = playLogList
.Skip (skipNum)
.Take (numPerPage);
今、DateTime型のPlayedAtの昇順でPlayLogが並んでいる
ある時刻から、他のある時刻までのデータを取得したい
SkipWhile)+)TakeWhile
SkipWhile
先頭から引数で渡した条件が真の間
要素を飛ばす
TakeWhile
先頭から引数で渡した条件が真の間
要素を返す
SkipWhile)+)TakeWhile
List<PlayLog> playLogList = LoadPlayLogList ();
DateTime start = GetStartTime ();
DateTime end = GetEndTime ();
// PlayedAtがstartより後or同時刻で、endより前な要素を取得
IEnumerable<PlayLog> selectedPlayLogs = playLogList
.SkipWhile ((PlayLog playLog) => playLog.PlayedAt < start)
.TakeWhile ((PlayLog playLog) => playLog.PlayedAt < end);
第七部
その他オススメ
ElementAt
シーケンス中の
指定のインデックスの要素を取得
⚪番インデックスの要素が欲しい
こういう時、ありますよね。どうします?
あまり書かないかもしれないけど、リファクタリングの途中で必要なこともある?
多くのLINQメソッドの返値型である、IEnumerable<T>型は
インデクサで要素にアクセスできない!
ToArrayはダメ絶対!
// ToArrayで配列にしてからアクセス?
// 効率悪い!!!
// playLogsはIEnumerable<PlayLog>型
PlayLog index5PlayLog = playLogs.ToArray ()[5];
ElementAt
// インデクサはないけれど
// ElementAtメソッドでインデックスにアクセスできる
PlayLog index5PlayLog = playLogs.ElementAt (5);
ToDic&onary
シーケンスから辞書を作る
キーを指定する。バリューも指定できる。
こんなクラスを使います
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public ItemType ItemType { get; set; }
}
public enum ItemType
{
Weapon, ConsumptionItem, ValuableItem
}
List<Item>*からItemのIdをキーとする
Dic$onary<int,-Item>をつくる
みたいなことしたくありません?
それLINQで一行でかけます!
ToDic&onary
シーケンスから辞書を作る!(その1)
List<Item> itemList = LoadItemList ();
// Idプロパティをキーとするディクショナリの生成
// もしキーの重複があったら例外が発生
Dictionary<int, Item> itemDict = itemList
.ToDictionary((Item item) => item.Id);
ToDic&onary
シーケンスから辞書を作る!(その2)
List<Item> itemList = LoadItemList ();
// Idプロパティをキー、Nameプロパティバリューとする
// ディクショナリの生成
// もしキーの重複があったら例外が発生
Dictionary<int, string> itemDict = itemList.ToDictionary(
(Item item) => item.Id,
(Item item) => item.Name);
ToLookup
シーケンスからILookupを作る
グループ化したコレクションを生成
List<Item>*itemListがあって
Dic$onary<ItemType,2List<Item>>が欲しい
LINQにはDic(onary<ItemType,5List<Item>>に似ている
ILookup<ItemType,.Item>が作れるメソッドがある
ToLookup
シーケンスからILookupを作る(グループ化したコレクションを生成)
List<Item> itemList = LoadItemList ();
// ILookup<ItemType, Items>は
// Dictionary<ItemType,List<Item>>に似ている
ILookup<ItemType, Item> itemLookup = itemList.
ToLookup((Item item) => item.ItemType);
// ディクショナリのように[]とキーでそのグループにアクセスできる
IEnumerable<Item> weapons = itemLookup[ItemType.Weapon];
SelectMany
リストのリストの平滑化を行う
SelectMany
リストのリストの平滑化を行う(その1)
// モンスターのリストのリスト
List<List<Monster>> listOfMonsterList = LoadListOfMonsterList ();
// モンスターのシーケンスに
IEnumerable<Monster> monsters = listOfMonsterList
.SelectMany ((List<Monster> list) => list);
SelectManyはリストのリストだけが対象じゃない
結構使える!
こんなクラスがあって
public class MonsterParty
{
public string Name { get; set; }
// Monsterのリスト、このプロパティがミソ
public List<Monster> MonsterList { get; set; }
}
SelectMany
リストのリストの平滑化を行う(その2)
// パーティーのリスト
List<MonsterParty> monsterPartyList = LoadMonsterPartyList ();
// モンスターのシーケンスに
IEnumerable<Monster> monsters = monsterPartyList
.SelectMany ((MonsterParty party) => party.MonsterList);
Dis$nct
重複を除く
Dis$nct
重複を除く
// シンプルな例
int[] ids = new int[]{0, 1, 1, 2, 2, 2, 3, 3, 4};
// 重複が除かれている
IEnumerable<int> distinctedIds = ids.Distinct ();
Dis$nct
重複を除く
// パーティーに同じモンスターはいないが、他のパーティーには同じモンスターがいる
List<MonsterParty> monsterPartyList = LoadMonsterPartyList ();
// 重複の無しモンスターのIdのシーケンスを作る
IEnumerable<int> monsterIds = monsterPartyList
// モンスターのシーケンスにして
.SelectMany (party => party.MonsterList)
// Idのシーケンスにして
.Select (monster => monster.Id)
// 重複を排除する
.Distinct ();
ちなみにLINQには次のような集合演算を行うものもあります
差集合を求める!Except
和集合を求める!Union
積集合を求める!Intersect
Join
二つのシーケンスをキーで突合
PlayLogクラスとStageDataクラスから、PlayDataを作りたい
public class PlayLog {
// StageのIdのみでStageの情報はない
public int StageId { get; set; }
public int Score { get; set; }
/* 中略 */
}
public class StageData {
public int Id { get; set; }
public string Name { get; set; }
/* 中略 */
}
PlayLogクラスとStageDataクラスから、PlayDataを作りたい
public class PlayData {
// StageDataクラスの名前から
public string StageName { get; set; }
// PlayLogクラスのScoreから
public int Score { get; set; }
/* 中略 */
}
List<PlayLog>なplayLogListと
List<StageData>なstageDataListから
PlayDataのシーケンスを作りたい
foreachな例
// foreachな例、長い
List<PlayData> playDataList = new List<PlayData> ();
foreach(PlayLog playLog in playLogList) {
StageData targetStageData = null;
foreach(StageData stageData in stageDataList) {
if (playLog.StageId == stageData.Id) {
targetStageData = stageData;
break; // nullなやつはないよねというコード
}
}
playDataList.Add (new PlayData {
StageName = targetStageData.Name,
Score = playLog.Score,
});
}
LINQ利用な例
// LINQ利用な例、まだ長い
List<PlayData> playDataList = new List<PlayData> ();
foreach(PlayLog playLog in playLogList) {
StageData stageData =
stageDataList.First (stage => stage.Id == playLog.StageId);
playDataList.Add (new PlayData {
StageName = stageData.Name,
Score = playLog.Score,
});
}
Joinの例
IEnumerable<PlayData> playDatas = playLogList.Join (
stageDataList,
(PlayLog playLog) => playLog.StageId, // PlayLogのキー
(StageData stageData) => stageData.Id, // StageDataのキー
// 二つのキーが ったPlayLogとStageDataが来る
(PlayLog playLog, StageData stageData) => new PlayData {
StageName = stageData.Name,
Score = playLog.Score,
});
さて
LINQとのつきあい方
• エラーにならないライブラリを作るor使う
• エラーになるメソッドor使い方で使わない
• Editor拡張のみで使う
• エラーになる問題が直るまで待つ
何か質問あります?
さて、今日の目標のおさらいです
今日の目標
みなさんに
• LINQを使うとコードが綺麗になることを知ってもらう
• LINQを使える活用シーンが多いことを知ってもらう
• LINQを使ってみよう・勉強してみようと思ってもらう
• LINQにこんな便利なメソッドあったんだと知ってもらう
いかがだったでしょうか?
LINQ使ってみたくなりましたか?
ありがとうございました!
@RyotaMurohoshi

Mais conteúdo relacionado

Mais procurados

プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードShigenori Sagawa
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
共変戻り値型って知ってますか?
共変戻り値型って知ってますか?共変戻り値型って知ってますか?
共変戻り値型って知ってますか?Ryota Murohoshi
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-torisoup
 
UniTask入門
UniTask入門UniTask入門
UniTask入門torisoup
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方Yoshifumi Kawai
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャtorisoup
 
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜Mikito Yoshiya
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかYoshifumi Kawai
 
Javascript like objects and JSON processing in VBA
Javascript like objects and JSON processing in VBAJavascript like objects and JSON processing in VBA
Javascript like objects and JSON processing in VBABruce McPherson
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践Yoshifumi Kawai
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Yoshifumi Kawai
 
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~UnityTechnologiesJapan002
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionYoshifumi Kawai
 
Effective Modern C++ 勉強会 Item 22
Effective Modern C++ 勉強会 Item 22Effective Modern C++ 勉強会 Item 22
Effective Modern C++ 勉強会 Item 22Keisuke Fukuda
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜Unity Technologies Japan K.K.
 

Mais procurados (20)

プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
良いコードとは
良いコードとは良いコードとは
良いコードとは
 
共変戻り値型って知ってますか?
共変戻り値型って知ってますか?共変戻り値型って知ってますか?
共変戻り値型って知ってますか?
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
 
UniTask入門
UniTask入門UniTask入門
UniTask入門
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
 
Javascript like objects and JSON processing in VBA
Javascript like objects and JSON processing in VBAJavascript like objects and JSON processing in VBA
Javascript like objects and JSON processing in VBA
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
UniRx の1歩目
UniRx の1歩目UniRx の1歩目
UniRx の1歩目
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
 
世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト
 
Effective Modern C++ 勉強会 Item 22
Effective Modern C++ 勉強会 Item 22Effective Modern C++ 勉強会 Item 22
Effective Modern C++ 勉強会 Item 22
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
 

Semelhante a UnityでのLINQ活用例

UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDとsters
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようKenji NAKAGAKI
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前Hiroshi Yamato
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことJiro Nishitoba
 
ゲームエンジンの中の話
ゲームエンジンの中の話ゲームエンジンの中の話
ゲームエンジンの中の話Masayoshi Kamai
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことRetrieva inc.
 
いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介Kouji Hosoda
 
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open sourceYoshiyuki Nakamura
 
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウみくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウtorisoup
 
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?Masamitsu Maehara
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介Hiromu Yakura
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会Tetsuya Morimoto
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことKatsutoshi Makino
 
誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)YutoNishine
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6信之 岩永
 

Semelhante a UnityでのLINQ活用例 (20)

UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDと
 
Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
ゲームエンジンの中の話
ゲームエンジンの中の話ゲームエンジンの中の話
ゲームエンジンの中の話
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介
 
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウみくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
 
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
 
Unity ゲーム開発
Unity ゲーム開発Unity ゲーム開発
Unity ゲーム開発
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
 
誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6
 
私とUnityとLINQと
私とUnityとLINQと私とUnityとLINQと
私とUnityとLINQと
 

Mais de Ryota Murohoshi

UnityでC#6.0が使える未来がそろそろ来そう!
UnityでC#6.0が使える未来がそろそろ来そう!UnityでC#6.0が使える未来がそろそろ来そう!
UnityでC#6.0が使える未来がそろそろ来そう!Ryota Murohoshi
 
【Unity】気づいたら加わっていたあいつ【もくもく】
【Unity】気づいたら加わっていたあいつ【もくもく】【Unity】気づいたら加わっていたあいつ【もくもく】
【Unity】気づいたら加わっていたあいつ【もくもく】Ryota Murohoshi
 
【ハピバ】未来に備えたKotlin、大好きだぜ!【Kotlin 1.0】
【ハピバ】未来に備えたKotlin、大好きだぜ!【Kotlin 1.0】【ハピバ】未来に備えたKotlin、大好きだぜ!【Kotlin 1.0】
【ハピバ】未来に備えたKotlin、大好きだぜ!【Kotlin 1.0】Ryota Murohoshi
 
Javaのバージョニング問題の話しよっか
Javaのバージョニング問題の話しよっかJavaのバージョニング問題の話しよっか
Javaのバージョニング問題の話しよっかRyota Murohoshi
 
LINQ、Select連弾ってやります?
LINQ、Select連弾ってやります?LINQ、Select連弾ってやります?
LINQ、Select連弾ってやります?Ryota Murohoshi
 
C#のList_TがIListを実装している件
C#のList_TがIListを実装している件C#のList_TがIListを実装している件
C#のList_TがIListを実装している件Ryota Murohoshi
 
どうしてこのコードエラーになるんですか?
どうしてこのコードエラーになるんですか?どうしてこのコードエラーになるんですか?
どうしてこのコードエラーになるんですか?Ryota Murohoshi
 
広告ネイティブプラグインの辛かった話しよっか
広告ネイティブプラグインの辛かった話しよっか広告ネイティブプラグインの辛かった話しよっか
広告ネイティブプラグインの辛かった話しよっかRyota Murohoshi
 
UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張Ryota Murohoshi
 
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlinRyota Murohoshi
 
「LINQ」っていう名前だけでも 覚えて帰ってください!
「LINQ」っていう名前だけでも 覚えて帰ってください!「LINQ」っていう名前だけでも 覚えて帰ってください!
「LINQ」っていう名前だけでも 覚えて帰ってください!Ryota Murohoshi
 
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!Ryota Murohoshi
 
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料などRxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料などRyota Murohoshi
 
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数Ryota Murohoshi
 

Mais de Ryota Murohoshi (16)

UnityでC#6.0が使える未来がそろそろ来そう!
UnityでC#6.0が使える未来がそろそろ来そう!UnityでC#6.0が使える未来がそろそろ来そう!
UnityでC#6.0が使える未来がそろそろ来そう!
 
【Unity】気づいたら加わっていたあいつ【もくもく】
【Unity】気づいたら加わっていたあいつ【もくもく】【Unity】気づいたら加わっていたあいつ【もくもく】
【Unity】気づいたら加わっていたあいつ【もくもく】
 
【ハピバ】未来に備えたKotlin、大好きだぜ!【Kotlin 1.0】
【ハピバ】未来に備えたKotlin、大好きだぜ!【Kotlin 1.0】【ハピバ】未来に備えたKotlin、大好きだぜ!【Kotlin 1.0】
【ハピバ】未来に備えたKotlin、大好きだぜ!【Kotlin 1.0】
 
「var禁止」禁止
「var禁止」禁止「var禁止」禁止
「var禁止」禁止
 
Javaのバージョニング問題の話しよっか
Javaのバージョニング問題の話しよっかJavaのバージョニング問題の話しよっか
Javaのバージョニング問題の話しよっか
 
LINQ、Select連弾ってやります?
LINQ、Select連弾ってやります?LINQ、Select連弾ってやります?
LINQ、Select連弾ってやります?
 
C#のList_TがIListを実装している件
C#のList_TがIListを実装している件C#のList_TがIListを実装している件
C#のList_TがIListを実装している件
 
どうしてこのコードエラーになるんですか?
どうしてこのコードエラーになるんですか?どうしてこのコードエラーになるんですか?
どうしてこのコードエラーになるんですか?
 
広告ネイティブプラグインの辛かった話しよっか
広告ネイティブプラグインの辛かった話しよっか広告ネイティブプラグインの辛かった話しよっか
広告ネイティブプラグインの辛かった話しよっか
 
UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張
 
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin
 
T4使ってみた
T4使ってみたT4使ってみた
T4使ってみた
 
「LINQ」っていう名前だけでも 覚えて帰ってください!
「LINQ」っていう名前だけでも 覚えて帰ってください!「LINQ」っていう名前だけでも 覚えて帰ってください!
「LINQ」っていう名前だけでも 覚えて帰ってください!
 
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
 
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料などRxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
 
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
 

Último

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Último (11)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

UnityでのLINQ活用例