SlideShare a Scribd company logo
Xamarin で
ReactiveUI を使ってみた
2014.4.19
すまべん特別編「Xamarin 2.0であそぼう!」@関東
1
自己紹介
• @amay077
• 位置情報エンジニア、

モバイルアプリエンジニア、etc
• VB6→VC6→C#2.0

→Java/Obj-C→C#5.0
• Cosmoroot,Inc(Nagoya,
Tokyo)
2
地図, 位置情報,
オープンデータ,
C#, Android, iOS,
Xamarin
Now Hot topics
•        (ロジネビュラ)
• 千年先まで費用ゼロのクラウド型倉庫管理システム
•       (ジクウ)
• リアルタイム位置データ収集プラットフォーム
• Nepula(ネプラ)
• 基幹業務システム向けPaaS
おもにココ担当
クラウドサービスプロバイダ
3
HexRinger developed at
ハマッカソン #2
ref http://blog.airs.co.jp/2010/12/06/hamackathon-20101204.html
4
しゃべPOI developed for
OpenStreetMappers
続きは… 位置情報系Androidアプリケーションの開発 - Togetterまとめ
5
富士フォト with ふじのくにオープンデータ
MashupAward9, アーバンデータチャレンジ東京2013
ref シビックハックの広まりと地方エンジニアの躍進 ‒ MA9総括 ¦ finder
6
富士フォト with ふじのくにオープンデータ
MashupAward9, アーバンデータチャレンジ東京2013
7
iOS版は Xamarin で
作りました
おことわり
• 資料内の C# コードはスペース節約のため「後
ろ { カッコ」にしています
• Xamarin の勉強会なので iOS/Android 中心の
話をします
• Mac が主PC なので Xamarin Studio を使って
います
8
目次
• MvvmCross ではダメ?
• Reactive Extensions について
• ReactiveUI とは
• まとめ
9
MvvmCross
ViewModel Model
View(Droid) View(iOS)
IHogeService
HogeDroid HogeTouch
PCL
PF毎のView+DataBinding
PF固有機能(カメラ、アプリ連
携、GPS…)
10
MvvmCross
• Xamarin でクロスプラットフォームアプリを開
発する際の事実上標準のMVVMフレームワーク
• Android, iOS, WinStore, WP, Mac などに対応
• M-VM を PCL で共通にできる
• プラットフォーム依存機能は IoCコンテナで
11
これで良くね?
12
MvvmCross のデメリット
• 全方位&高機能が故にFat!
• アセンブリ数:15(プラグインも入れると
40over)
• チュートリアル動画が40本以上もある
• ルールたくさん(Binding、ValueConverter、
Service、Plugin…)
13
MvvmCross のデメリット
• クロスプラットフォームな為、機能が最大公約数
• 前の画面からの戻り値を受け取れない(Android
の onActivityResult)とか
• 各PFの最新機能に追いつけない
• iOS - Storyboard
• Android - Fragment
14
MvvmCross 以外の
選択肢
15
QuickCross
• https://github.com/MacawNL/QuickCross
• No-Binary!
• PowerShell でコマンド叩くとコードを生成
• Mac なので試せませんでした…
16
propertycross.com
各SDKでクロスPF開発するための指針が書いてあるみたい
圧倒的じゃないか…
17
そして ReactiveUI
18
…の前に
!
Reactive Extensions
!
について
19
Reactive Extensionsとは
• https://rx.codeplex.com/
• 非同期処理やイベントを LINQ っぽく書いてチェ
インできるスゴイやつ
• TPL(async/await含む) と比べると、複数の結果
を返せるのでストリーム処理に便利
20
私とRx
• Android の非同期処理でコールバック地獄
• jQuery.Deferred みたいなの欲しい
• 「.NET には Rx がある」というのを知る

ref:Reactive Extensionsで非同期処理を簡単に by @neueccさん

「なにこれスゴイ!」
• Java には Rx ないの?
21
Java でも Rx
• reactive4java - 開発終了
• Androidアプリ開発で使ってます
• LINQ to Objects もあるよ
• RxJava
• 事実上標準の Rx for Java になる気配
• Netflix なので安心なんじゃないでしょうか
22
こうなる事は分かってた
// Java - reactive4java!
ObservableBuilder.range(0, 9)!
.where(new Func1<Integer, Boolean>() {!
@Override public Boolean invoke(Integer x) {!
return x % 2 == 0;!
}!
}).select(new Func1<Integer, Float>() {!
@Override public Float invoke(Integer x) {!
return x / 2f;!
}!
}).register(new Observer<Float>() {!
@Override public void next(Float x) { !
System.out.println(x); !
}!
@Override public void finish() { }!
@Override public void error(Throwable arg0) { }!
});
23
// C#!
Observable.Range(0, 10)!
.Where(x => x % 2 == 0)!
.Select(x => x / 2f)!
.Subscribe(Console.WriteLine);
で ReactiveUI とは
24
ReactiveUI
• http://www.reactiveui.net/
• Reactive Extensions を全面的に採用した
MVVMフレームワーク
• WPF, WP, WinStore, iOS, Android, Mac 対応
• 元Microsoft で GitHub の中の人が作ってる
25
MvvmCross のこれ…
ViewModel Model
View(Droid) View(iOS)
IHogeService
HogeDroid HogeTouch
PCL
26
ReactiveUI でもできます
ViewModel Model
View(Droid) View(iOS)
IHogeService
HogeDroid HogeTouch
PCL
IObservable
IObservable
IObservable
M-V-VM の「つなぎ」に
Rx を使ったら…
…もっと COOL に!
27
基本的なクラス構成
MvxViewModel
: INotifyPropertyChanged
MvxActivity
MvxViewController
…
MvvmCross
ReactiveObject
: INotifyPropertyChanged
ReactiveActivity
ReactiveViewController
…
ReativeUI
View ViewModel
28
ViewModel の例
public class HogeViewModel : ReactiveObject {!
string _myName;!
public string MyName {!
get { return _myName; }!
set { this.RaiseAndSetIfChanged(ref _myName, value); }!
}!
!
public HogeViewModel() {!
this.MyName = "amay077";!
}!
}
29
View と Binding の例
public partial class HogeViewController : !
ReactiveViewController, IViewFor<HogeViewModel> {!
public override void ViewDidLoad() {!
base.ViewDidLoad();!
!
this.OneWayBind(this.ViewModel, !
vm => vm.MyName, !
v => v.lblMyName.Text, !
x => x.ToUpper());!
!
this.ViewModel = new HogeViewModel();!
}!
}
30
View と Binding の例
この ViewModel の…
MyName プロパティを…
Viewのラベルに表示する…
…大文字に変換してからね
31
public partial class HogeViewController : !
ReactiveViewController, IViewFor<HogeViewModel> {!
public override void ViewDidLoad() {!
base.ViewDidLoad();!
!
this.OneWayBind(this.ViewModel, !
vm => vm.MyName, !
v => v.lblMyName.Text, !
x => x.ToUpper());!
!
this.ViewModel = new HogeViewModel();!
}!
}
Binding いろいろ
// this = ReactiveViewController!
!
// 双方向 Binding!
this.Bind(this.ViewModel, !
vm=> vm.MyName, v => v.EditMyText.Text);!
!
// コマンドに Bind!
this.BindCommand(this.ViewModel, !
vm => vm.MyCommand, !
v => v.MyButton);
32
Rx っぽい ViewModel
public class HogeViewModel : ReactiveObject {!
ObservableAsPropertyHelper<DateTime> _time;!
public DateTime Time {!
get { return _time.Value; }!
}!
!
public HogeViewModel() {!
_time = Observable.Interval(!
TimeSpan.FromSeconds(1))!
.Select(x => DateTime.Now)!
.ToProperty(this, vm => vm.Time);!
}!
}
33
public class HogeViewModel : ReactiveObject {!
ObservableAsPropertyHelper<DateTime> _time;!
public DateTime Time {!
get { return _time.Value; }!
}!
!
public HogeViewModel() {!
_time = Observable.Interval(!
TimeSpan.FromSeconds(1))!
.Select(x => DateTime.Now)!
.ToProperty(this, vm => vm.Time);!
}!
}
Rx っぽい ViewModel
1秒毎に…
現在時間を…
プロパティに設定する
34
Property を IObservable へ
public class HogeViewModel : ReactiveObject {!
bool _isAgreed;!
public bool IsAgreed {!
get { return _isAgreed; }!
set { this.RaiseAndSetIfChanged(ref _isAgreed, value); }!
}!
!
public HogeViewModel() {!
IObservable<bool> agreed = !
this.ObservableForProperty(vm => vm.IsAgreed)!
.Select(x => x.Value);!
}!
}
35
Reactive な Command
public class HogeViewModel : ReactiveObject {!
public bool IsAgreed { // 省略!
public ICommand Register { get; private set; }!
!
public HogeViewModel() {!
IObservable<bool> agreed = !
this.ObservableForProperty(vm => vm.IsAgreed)!
.Select(x => x.Value);!
var cmd = new ReactiveCommand(agreed);!
cmd.Subscribe(_ => /* 実行した時の処理 */);!
this.Register = cmd;!
}!
}
36
View で使う
public partial class HogeViewController : !
ReactiveViewController, IViewFor<HogeViewModel> {!
public override void ViewDidLoad() {!
!
this.Bind(this.ViewModel, !
vm=> vm.IsAgreed, v => v.ToggleAgreed);!
!
this.BindCommand(this.ViewModel, !
vm=> vm.Register, v => v.RegisterButton);
37
Registerコマンドの CanExecute が true の時のみ押せる
実行したところ
38
vm.Register.Subscribe(
_=> /* 実行した時の処理 */)
Command実行∼
Property更新を
流れるように
39
シナリオ
40
Model
!
.GpsAvailable
.GetLocations()
ViewModel
!
.Location
.StartGps()
View
bind
notify
listen
notify
Model(適当)
public class MyLocationModel {!
public IObservable<bool> GpsAvailable() {!
return Observable.Return(true);!
}!
!
public IObservable<LatLon> GetLocation() {!
var r = new System.Random();!
!
return Observable.Interval(TimeSpan.FromSeconds(1))!
.Select(x => new LatLon(!
34d + r.NextDouble(), !
135d + r.NextDouble()));!
}!
}
41
ViewModel
public class FourthViewModel : ReactiveObject {!
MyLocationModel _model = new MyLocationModel();!
!
ObservableAsPropertyHelper<LatLon> _location;!
public LatLon Location { get { return _location.Value; } }!
!
public ICommand StartGps { get; private set; }!
!
public FourthViewModel() {!
var cmd = new ReactiveCommand(_model.GpsAvailable());!
!
_location = cmd.SelectMany(_ => _model.GetLocation())!
.ToProperty(this, vm => vm.Location);!
!
this.StartGps = cmd;!
}!
}
42
public class FourthViewModel : ReactiveObject {!
MyLocationModel _model = new MyLocationModel();!
!
ObservableAsPropertyHelper<LatLon> _location;!
public LatLon Location { get { return _location.Value; } }!
!
public ICommand StartGps { get; private set; }!
!
public FourthViewModel() {!
var cmd = new ReactiveCommand(_model.GpsAvailable());!
!
_location = cmd.SelectMany(_ => _model.GetLocation())!
.ToProperty(this, vm => vm.Location);!
!
this.StartGps = cmd;!
}!
}
ViewModel
43
Execute されたらモデルで測位開始、
結果を逐次 Property へ
GPS が使えるなら
CanExecute = true
View は普通に Binding
public override void ViewDidLoad() {!
base.ViewDidLoad();!
!
this.OneWayBind(this.ViewModel, !
vm => vm.Location, v => v.LatLabel.Text, !
x => x.Lat.ToString("0.00"));!
!
this.OneWayBind(this.ViewModel, !
vm => vm.Location, v => v.LonLabel.Text, !
x => x.Lon.ToString("0.00"));!
!
this.BindCommand(this.ViewModel, !
vm => vm.StartGps, v => v.StartGpsButton);!
!
this.ViewModel = new FourthViewModel(); !
}
44
複合条件
(Rx を活かして)
45
シナリオ
46
ViewModel
!
.Red
.Green
.Blue
.Color
View
bind
notify
depends
ViewModel
public class FifthViewModel : ReactiveObject {!
float _red;!
public float Red {!
get { return _red; } set { this.RaiseAndSetIfChanged(ref _red, value); }!
}!
/* Blue, Green は省略 */!
!
ObservableAsPropertyHelper<Color> _color;!
public Color Color { get { return _color.Value; } }!
!
public FifthViewModel() {!
var r = this.ObservableForProperty(vm => vm.Red).Select(x => x.Value);!
var g = this.ObservableForProperty(vm => vm.Green).Select(x => x.Value);!
var b = this.ObservableForProperty(vm => vm.Blue).Select(x => x.Value);!
!
_color = Observable.CombineLatest(r, g, b, !
(x, y, z) => new Color(x, y, z)).ToProperty(this, vm => vm.Color);!
}!
}
47
public class FifthViewModel : ReactiveObject {!
float _red;!
public float Red {!
get { return _red; } set { this.RaiseAndSetIfChanged(ref _red, value); }!
}!
/* Blue, Green は省略 */!
!
ObservableAsPropertyHelper<Color> _color;!
public Color Color { get { return _color.Value; } }!
!
public FifthViewModel() {!
var r = this.ObservableForProperty(vm => vm.Red).Select(x => x.Value);!
var g = this.ObservableForProperty(vm => vm.Green).Select(x => x.Value);!
var b = this.ObservableForProperty(vm => vm.Blue).Select(x => x.Value);!
!
_color = Observable.CombineLatest(r, g, b, !
(x, y, z) => new Color(x, y, z)).ToProperty(this, vm => vm.Color);!
}!
}
ViewModel
48
3つの値が ったら初回設定、
以降はいずれかが変わったら設定
View と Binding
public override void ViewDidLoad() {!
this.Bind(this.ViewModel, vm => vm.Red, v => v.RedSlider.Value);!
this.Bind(this.ViewModel, vm => vm.Green, v => v.GreenSlider.Value);!
this.Bind(this.ViewModel, vm => vm.Blue, v => v.BlueSlider.Value);!
!
this.OneWayBind(this.ViewModel, !
vm => vm.Color, !
v => v.ColorView.BackgroundColor, !
x => new UIColor(x.R, x.G, x.B, 1f));!
}
49
iOSなのでUIColorに変換
View で MultiBinding でも
public override void ViewDidLoad() {!
var r = this.ObservableForProperty(v => v.ViewModel.Red)!
.Select(x => x.Value);!
var g = this.ObservableForProperty(v => v.ViewModel.Green)!
.Select(x => x.Value);!
var b = this.ObservableForProperty(v => v.ViewModel.Blue)!
.Select(x => x.Value);!
!
Observable.CombineLatest(r, g, b, !
(x, y, z) => new UIColor(x, y, z, 1f))!
.ObserveOn(RxApp.MainThreadScheduler)!
.Subscribe(x => this.ColorView.BackgroundColor = x);!
}
50
UIThread で
ところで
今まで紹介したこれ
51
ReactiveProperty の方が
イケてますよね
52
http://reactiveproperty.codeplex.com/
スッキリ!
public class FifthViewModel {!
public ReactiveProperty<float> Red { get; private set; }!
public ReactiveProperty<float> Green { get; private set; }!
public ReactiveProperty<float> Blue { get; private set; }!
!
public ReactiveProperty<Color> Color { get; private set; }!
!
public FifthViewModel() {!
!
this.Color = Observable.CombineLatest(Red, Green, Blue, !
(x, y, z) => new Color(x, y, z)).ToReactiveProperty();!
!
}!
}
53
ReactiveUI で画面遷移
• MvvmCross では
• ShowViewModel<NextViewModel>()
• ReactiveUI だと
• Router.NavigateCommandFor<NextViewMo
del>() - 参照
• が、iOS/Android では未対応のようで…
54
画面遷移
• 画面遷移はプラットフォーム毎に仕組みが違って、
しかも進化が早い
• MvvmCross も、iOS の Storyboard に対応し
切れていない
• 割りきって View に画面遷移コードを書くか、

Resolver(後述)を使って自作する
55
IoC というか DI というか
• MvvmCross では
• Service を使う by @iseebiさん
• ルールに従えば Resolver を意識することない
• ReactiveUI では
• RxApp.MutableResolver を使う
• 全てコードを書く必要あり
56
Resolver の仕組み
r = RxUI.Resolver
HogeDroid
(Android)
HogeTouch
(iOS)
Model
IHogeService
r.Register(()=>new HogeDroid(), typeOf(IHogeService))
var svc = r.GetService<IHogeService>()
…PCL
57
public partial class AppDelegate : UIApplicationDelegate {!
public override bool FinishedLaunching(!
UIApplication app, NSDictionary options) {!
!
var r = RxApp.MutableResolver;!
!
r.Register(!
() => new HogeTouch(), !
typeof(IHogeService));!
または!
r.RegisterLazySingleton(!
() => new HogeTouch(), !
typeof(IHogeService));
Resolver へ登録
58
都度インスタンスを生成
初回1回だけ、あと使い回し
Resolver を使って
インスタンス化
// Model(PCL) にて!
!
IHogeService svc = !
RxApp.MutableResolver.GetService<IHogeService>();!
!
svc.SomeMethod(); // 実体は Resolver に登録したクラス
59
まとめ
60
ReactiveUI のメリット
• Rx で、(主に)ViewModel のコードを削減
• IoCコンテナ(Resolver)でPF固有機能を解決
• iOS/Android/WPF などの DataBinding が用意
されている
61
参考リンク
• neue cc 

http://neue.cc/
• かずきのBlog@hatena

http://okazuki.hatenablog.com/
• Rx入門 ¦ xin9le.net

http://xin9le.net/rx-intro
• GitHub's Xamarin starter apps

http://log.paulbetts.org/open-source-githubs-xamarin-
starter-apps/
62
ありがとうございました
63
おまけ
• Rx も PCL 化されましたが、
• Android用、iOS用のSystem.Reactive.PlatformServices.dll

は、どこに?

あるいはどうやってビルドしたらよいでしょう?
• あと PlatformServices.dll は

iOS の AOT で問題なく使えるのでしょうか?
• ref:https://twitter.com/atsushieno/status/
457399573363712000
64
おまけ
• PCL の Profile に Silverlight を含めると
IObservable が無くなってしまうので実質SLは
(ry
• Profile78 

This is Xamarin's current preferred profile.

とのこと。
65

More Related Content

What's hot

Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理
torisoup
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
torisoup
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
torisoup
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
 
Orange Cube 自社フレームワーク 2015/3
Orange Cube 自社フレームワーク 2015/3Orange Cube 自社フレームワーク 2015/3
Orange Cube 自社フレームワーク 2015/3
信之 岩永
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
torisoup
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
信之 岩永
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
Unity Technologies Japan K.K.
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
健一 辰濱
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
 

What's hot (20)

Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
Orange Cube 自社フレームワーク 2015/3
Orange Cube 自社フレームワーク 2015/3Orange Cube 自社フレームワーク 2015/3
Orange Cube 自社フレームワーク 2015/3
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 

Viewers also liked

Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
Yoshito Tabuchi
 
Xamarin基礎講座 Xamarinハンズオン(2016.09 浜松) #JXUG #jaghama
Xamarin基礎講座 Xamarinハンズオン(2016.09 浜松) #JXUG #jaghamaXamarin基礎講座 Xamarinハンズオン(2016.09 浜松) #JXUG #jaghama
Xamarin基礎講座 Xamarinハンズオン(2016.09 浜松) #JXUG #jaghama
Hironov OKUYAMA
 
Xamarin & Google Maps SDKでクロスプラットフォーム地図アプリ
Xamarin & Google Maps SDKでクロスプラットフォーム地図アプリXamarin & Google Maps SDKでクロスプラットフォーム地図アプリ
Xamarin & Google Maps SDKでクロスプラットフォーム地図アプリ
Kohei Otsuka
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Yoshito Tabuchi
 
続Xamarinはじめました
続Xamarinはじめました続Xamarinはじめました
続Xamarinはじめました
Yuya Yamaki
 
Jxugc#22 lt古川
Jxugc#22 lt古川Jxugc#22 lt古川
Jxugc#22 lt古川
F. Syam
 
Xamarinは辛いよ
Xamarinは辛いよXamarinは辛いよ
Xamarinは辛いよ
Takkiiii
 
Xamarin.Forms概要
Xamarin.Forms概要Xamarin.Forms概要
Xamarin.Forms概要
Hironov OKUYAMA
 
Xamarin.Formsで鉄道模型を制御してみた
Xamarin.Formsで鉄道模型を制御してみたXamarin.Formsで鉄道模型を制御してみた
Xamarin.Formsで鉄道模型を制御してみた
ayasehiro
 
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 EastiOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
 
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性
Atsushi Nakamura
 
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
 
カメラアプリ開発入門3
カメラアプリ開発入門3カメラアプリ開発入門3
カメラアプリ開発入門3
Takashi Ohtsuka
 
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tipsゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
Daiki Kawanuma
 
JXUGC 13 東京 はじめに
JXUGC 13 東京 はじめにJXUGC 13 東京 はじめに
JXUGC 13 東京 はじめに
Yoshito Tabuchi
 
かけ算で使いこなす Xamarin
かけ算で使いこなす Xamarinかけ算で使いこなす Xamarin
かけ算で使いこなす Xamarin
Tatsuji Kuroyanagi
 
Xamarin開発環境の選択
Xamarin開発環境の選択Xamarin開発環境の選択
Xamarin開発環境の選択
Miho Kurosawa
 
Xamarinはじめました
XamarinはじめましたXamarinはじめました
Xamarinはじめました
Yuya Yamaki
 
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015 この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
Shinichi Hirauchi
 
.NET Compiler Platform
.NET Compiler Platform.NET Compiler Platform
.NET Compiler Platform
信之 岩永
 

Viewers also liked (20)

Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
 
Xamarin基礎講座 Xamarinハンズオン(2016.09 浜松) #JXUG #jaghama
Xamarin基礎講座 Xamarinハンズオン(2016.09 浜松) #JXUG #jaghamaXamarin基礎講座 Xamarinハンズオン(2016.09 浜松) #JXUG #jaghama
Xamarin基礎講座 Xamarinハンズオン(2016.09 浜松) #JXUG #jaghama
 
Xamarin & Google Maps SDKでクロスプラットフォーム地図アプリ
Xamarin & Google Maps SDKでクロスプラットフォーム地図アプリXamarin & Google Maps SDKでクロスプラットフォーム地図アプリ
Xamarin & Google Maps SDKでクロスプラットフォーム地図アプリ
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
 
続Xamarinはじめました
続Xamarinはじめました続Xamarinはじめました
続Xamarinはじめました
 
Jxugc#22 lt古川
Jxugc#22 lt古川Jxugc#22 lt古川
Jxugc#22 lt古川
 
Xamarinは辛いよ
Xamarinは辛いよXamarinは辛いよ
Xamarinは辛いよ
 
Xamarin.Forms概要
Xamarin.Forms概要Xamarin.Forms概要
Xamarin.Forms概要
 
Xamarin.Formsで鉄道模型を制御してみた
Xamarin.Formsで鉄道模型を制御してみたXamarin.Formsで鉄道模型を制御してみた
Xamarin.Formsで鉄道模型を制御してみた
 
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 EastiOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
 
Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性Enterpriseから見たXamarinの可能性
Enterpriseから見たXamarinの可能性
 
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
 
カメラアプリ開発入門3
カメラアプリ開発入門3カメラアプリ開発入門3
カメラアプリ開発入門3
 
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tipsゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
 
JXUGC 13 東京 はじめに
JXUGC 13 東京 はじめにJXUGC 13 東京 はじめに
JXUGC 13 東京 はじめに
 
かけ算で使いこなす Xamarin
かけ算で使いこなす Xamarinかけ算で使いこなす Xamarin
かけ算で使いこなす Xamarin
 
Xamarin開発環境の選択
Xamarin開発環境の選択Xamarin開発環境の選択
Xamarin開発環境の選択
 
Xamarinはじめました
XamarinはじめましたXamarinはじめました
Xamarinはじめました
 
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015 この辺でXamarin導入による 効果と限界をしっかり把握してみよう  MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
 
.NET Compiler Platform
.NET Compiler Platform.NET Compiler Platform
.NET Compiler Platform
 

Similar to Xamarin で ReactiveUI を使ってみた

Xamarin ~ iOS/Android/Windows アプリを C# で作ろう~
Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~
Xamarin ~ iOS/Android/Windows アプリを C# で作ろう~
Fujio Kojima
 
JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤Yuichi Sakuraba
 
社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)
Iwana Chan
 
実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
Ayumi Goto
 
覚醒!JavaScript
覚醒!JavaScript覚醒!JavaScript
覚醒!JavaScript
Haraguchi Go
 
RxSwiftのデータバインディングだけ
RxSwiftのデータバインディングだけRxSwiftのデータバインディングだけ
RxSwiftのデータバインディングだけ
Hironytic
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
Yasuhito Yabe
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Android
yo_waka
 
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
Yukihiro Kitazawa
 
何が変わった JavaFX 2.0
何が変わった JavaFX 2.0何が変わった JavaFX 2.0
何が変わった JavaFX 2.0
Yuichi Sakuraba
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
 
Lt 111217
Lt 111217Lt 111217
Lt 111217
Tomoyuki Obi
 
NoSQL and JavaScript 2013-02-09
NoSQL and JavaScript 2013-02-09NoSQL and JavaScript 2013-02-09
NoSQL and JavaScript 2013-02-09
WakandaJA
 
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャーNode.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
 
From Swing to JavaFX - SwingからJavaFXへのマイグレーションガイド
From Swing to JavaFX  - SwingからJavaFXへのマイグレーションガイドFrom Swing to JavaFX  - SwingからJavaFXへのマイグレーションガイド
From Swing to JavaFX - SwingからJavaFXへのマイグレーションガイド
Yuichi Sakuraba
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
Yuji Kubota
 
WKWebViewとUIWebView
WKWebViewとUIWebViewWKWebViewとUIWebView
WKWebViewとUIWebView
Yuki Hirai
 
WordPress widget api
WordPress widget apiWordPress widget api
WordPress widget api
Takami Kazuya
 
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvMedia Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvAtsushi Tadokoro
 
cordova/electronの構造を知る
cordova/electronの構造を知るcordova/electronの構造を知る
cordova/electronの構造を知る
Yasuharu Seki
 

Similar to Xamarin で ReactiveUI を使ってみた (20)

Xamarin ~ iOS/Android/Windows アプリを C# で作ろう~
Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~
Xamarin ~ iOS/Android/Windows アプリを C# で作ろう~
 
JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤
 
社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)
 
実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
 
覚醒!JavaScript
覚醒!JavaScript覚醒!JavaScript
覚醒!JavaScript
 
RxSwiftのデータバインディングだけ
RxSwiftのデータバインディングだけRxSwiftのデータバインディングだけ
RxSwiftのデータバインディングだけ
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Android
 
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
 
何が変わった JavaFX 2.0
何が変わった JavaFX 2.0何が変わった JavaFX 2.0
何が変わった JavaFX 2.0
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
Lt 111217
Lt 111217Lt 111217
Lt 111217
 
NoSQL and JavaScript 2013-02-09
NoSQL and JavaScript 2013-02-09NoSQL and JavaScript 2013-02-09
NoSQL and JavaScript 2013-02-09
 
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャーNode.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
 
From Swing to JavaFX - SwingからJavaFXへのマイグレーションガイド
From Swing to JavaFX  - SwingからJavaFXへのマイグレーションガイドFrom Swing to JavaFX  - SwingからJavaFXへのマイグレーションガイド
From Swing to JavaFX - SwingからJavaFXへのマイグレーションガイド
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
 
WKWebViewとUIWebView
WKWebViewとUIWebViewWKWebViewとUIWebView
WKWebViewとUIWebView
 
WordPress widget api
WordPress widget apiWordPress widget api
WordPress widget api
 
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCvMedia Art II 2013  第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
Media Art II 2013 第6回:openFrameworks Addonを使う 2 - ofxOpenCV と ofxCv
 
cordova/electronの構造を知る
cordova/electronの構造を知るcordova/electronの構造を知る
cordova/electronの構造を知る
 

More from Hironov OKUYAMA

Xamarin advent calendar 2016 参加者募集
Xamarin advent calendar 2016 参加者募集Xamarin advent calendar 2016 参加者募集
Xamarin advent calendar 2016 参加者募集
Hironov OKUYAMA
 
Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)
Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)
Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)Hironov OKUYAMA
 
給食献立×オープンデータでアレルギー事故を防ぐ
給食献立×オープンデータでアレルギー事故を防ぐ給食献立×オープンデータでアレルギー事故を防ぐ
給食献立×オープンデータでアレルギー事故を防ぐHironov OKUYAMA
 
Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発
Hironov OKUYAMA
 
HexRinger needs GeoHex #gms2012
HexRinger needs GeoHex #gms2012HexRinger needs GeoHex #gms2012
HexRinger needs GeoHex #gms2012
Hironov OKUYAMA
 
HexRinger と FOSS4G の紆余曲折
HexRinger と FOSS4G の紆余曲折HexRinger と FOSS4G の紆余曲折
HexRinger と FOSS4G の紆余曲折Hironov OKUYAMA
 
AdMob やってみた for 2011.7.9 #jaghama #3
AdMob やってみた for 2011.7.9 #jaghama #3AdMob やってみた for 2011.7.9 #jaghama #3
AdMob やってみた for 2011.7.9 #jaghama #3Hironov OKUYAMA
 
HexRinger for 2011.5.14 #jaghama
HexRinger for 2011.5.14 #jaghamaHexRinger for 2011.5.14 #jaghama
HexRinger for 2011.5.14 #jaghama
Hironov OKUYAMA
 
HexRinger
HexRingerHexRinger
HexRinger
Hironov OKUYAMA
 

More from Hironov OKUYAMA (9)

Xamarin advent calendar 2016 参加者募集
Xamarin advent calendar 2016 参加者募集Xamarin advent calendar 2016 参加者募集
Xamarin advent calendar 2016 参加者募集
 
Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)
Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)
Xamarin によるクロスプラットフォームモバイルアプリ開発(2014.06)
 
給食献立×オープンデータでアレルギー事故を防ぐ
給食献立×オープンデータでアレルギー事故を防ぐ給食献立×オープンデータでアレルギー事故を防ぐ
給食献立×オープンデータでアレルギー事故を防ぐ
 
Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発
 
HexRinger needs GeoHex #gms2012
HexRinger needs GeoHex #gms2012HexRinger needs GeoHex #gms2012
HexRinger needs GeoHex #gms2012
 
HexRinger と FOSS4G の紆余曲折
HexRinger と FOSS4G の紆余曲折HexRinger と FOSS4G の紆余曲折
HexRinger と FOSS4G の紆余曲折
 
AdMob やってみた for 2011.7.9 #jaghama #3
AdMob やってみた for 2011.7.9 #jaghama #3AdMob やってみた for 2011.7.9 #jaghama #3
AdMob やってみた for 2011.7.9 #jaghama #3
 
HexRinger for 2011.5.14 #jaghama
HexRinger for 2011.5.14 #jaghamaHexRinger for 2011.5.14 #jaghama
HexRinger for 2011.5.14 #jaghama
 
HexRinger
HexRingerHexRinger
HexRinger
 

Recently uploaded

Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (8)

Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Xamarin で ReactiveUI を使ってみた