SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
wxPython入門
増田 (@whosaysni)
自己紹介
•  増田 泰 (@whosaysni)
•  Google+ つかってません
•  GitHub<<<BitBucket
•  某バイオベンチャー勤務
•  ドキュメント翻訳とかDjango本とか
•  一般社団法人PyConJP理事
•  PyConJPきてください 9/13-15
•  http://2014.pycon.jp/
wxPython
•  GUIライブラリ
•  wxWidgetsのPythonラッパー
•  SWIG使ってる
•  各OSのGUIコンポーネントを使う
•  OSXならCocoa
•  Windowsならwin32
•  LinuxならGTK
•  wxWidgetsライセンス
•  条文はLGPL2だが、バイナリの配布時に独自
の使用許諾ができる例外条項がある
まずは基本
GUIプログラム
•  シェルで起動
•  操作(イベント)に合わせてハ
ンドラが呼ばれる
•  ハンドラがUIコンポーネントを
操作する
•  次のイベント待ち
GUIプログラミングって?
スクリプト
•  シェルで起動
•  処理を逐次実行
•  最後の処理を終えたら終了
•  シェルに制御を戻す
Webフレームワーク
•  Webサーバが起動
•  リクエストに合わせて
ハンドラが呼ばれる
•  ハンドラがレスポンス返す
•  次のリクエスト待ち
ディス
パッチ	
ハンドラ	
ビュー
操作	
イベント
ループ
ウィジェット Widget
•  ボタンとかウィンドウとか、画面の構成要素
•  UIを実際に描画する(自動的にね)
•  ユーザ操作に応じてイベントを生成する
•  wxPython/wxWidget
•  ほとんどのウィジェットがクラスで階層化
wxObject	
 ...	
 wxWindow	
wxControl	
wxBu4on	
wxSta7cText	
wxMenu	
...	
wxPanel	
wxTopLevelWindow	
wxFrame	
wxDialog
イベントループ
while len(event_q):
ev = event_q.pop()
handler = dispatch(ev)
if handler:
handler(ev)
イベントキュー	
イベントループロジック	
GUI操作	
その他	
  
イベント	
イベントハンドラ	
イベントハンドラ	
イベントハンドラ	
たいていのGUIフレームワークには、
・イベントループを実行する関数
・ハンドラを登録する関数
があり、(1)ハンドラを定義して(2)ディ
スパッチャに登録し、(3)イベントルー
プを呼ぶようになっている。
wxPythonのイベントループ
>>> import wx
>>> app = wx.App() # Appインスタンス
>>> frame = wx.Frame(None) # ウィンドウつくる
>>> app.SetTopWindow(frame)
>>> frame.Show(True)
True
>>> app.MainLoop() # ここがメインループ
(ループ中。ウィンドウ閉じるまで戻りませんw)
アプリは wxApp() をサブクラス化する
# coding: utf-8
import wx
class MyApp(wx.App):
def OnInit(self): #Appインスタンス生成時に呼び出される
self.frame = wx.Frame(None) # 何でも属性にできる。Python最高ヤッホウ
self.frame.SetTitle(u'よろしくwxさん')
self.SetTopWindow(self.frame)
self.frame.Show(True)
return True # お約束。重要
if __name__=='__main__':
app = MyApp()
app.MainLoop()
GUIのレイアウト
GUIのレイアウト
•  ウィジェットをウィンドウのどこに配置するか
•  位置(x, y)と大きさ(w, h)
•  配置(右寄せ、左寄せ)
•  伸長(ウィンドウに合わせてサイズ変更)
•  グループ化(OK/Cancelボタンとか)
•  wxWidgetsでは、Sizerオブジェクトがレイアウ
トを制御する
•  ウィンドウにSizerを登録する
BoxSizer()があれば無問題!だと思う
硬派のSizer道(嘘)
BoxSizer
wx.BoxSizer(wx.VERTICAL)
wx.BoxSizer(wx.HORIZONTAL)
v_box = wx.BoxSizer(wx.VERTICAL)
v_box.Add(widget_A)
v_box.Add(widget_B)
h_box = wx.BoxSizer(wx.HORIZONTAL)
h_box.Add(v_box)
h_box.Add(widget_C)
VERTICAL	
HORIZONTAL	
C	
A	
B
BoxSizer
def OnInit(self):
...
label = wx.StaticText(
self.frame, -1, u'ボタン三兄弟', style=wx.ALIGN_CENTER)
btn_1 = wx.Button(self.frame, -1, u'ボタン長男')
btn_2 = wx.Button(self.frame, -1, u'ボタン次男 ')
btn_3 = wx.Button(self.frame, -1, u'ボタン三男')
sizer = wx.BoxSizer(wx.VERTICAL)
btn_sizer = wx.BoxSizer(wx.HORIZONTAL)
btn_sizer.Add(btn_1, 3, wx.ALL¦wx.EXPAND, 30)
btn_sizer.Add(btn_2, 2, wx.ALL¦wx.EXPAND, 20)
btn_sizer.Add(btn_3, 1, wx.ALL¦wx.EXPAND, 10)
sizer.Add(label, 0, wx.ALL¦wx.EXPAND, 50)
sizer.Add(btn_sizer, 0, wx.ALL¦wx.EXPAND, 0)
self.frame.SetSizer(sizer)
self.frame.Fit()
50	
50	
50	
 30	
30	
30	
20	
20	
10	
10	
10	
20	
 20	
(上揃え)
イベント処理
おさらい
イベントキュー	
イベントループロジック	
GUI操作	
その他	
  
イベント	
イベントハンドラ	
イベントハンドラ	
イベントハンドラ	
GUIプログラム
•  シェルで起動
•  操作(イベント)に合わせてハ
ンドラが呼ばれる
•  ハンドラがUIコンポーネントを
操作する
•  次のイベント待ち
ディス
パッチ	
ハンドラ	
ビュー
操作	
イベント
ループ
イベントハンドラはどこにでも書ける
def event_handler(evt): #普通の関数
...
•  evt: イベントオブジェクト
•  イベントの種類
•  パラメタ(マウス座標など)
•  その他、発生元のウィジェットなどの情報
•  wx.Appのメソッドとして書くのがいい
•  evtから他の変数引っ張るの大変
•  詳しくはあとで
イベントをハンドラに結びつける
ウィジェットの Bind() メソッドをつかう
例: widget.Bind(wx.EVT_MOUSE, handler)
•  この操作で、
•  「widget」が
•  「マウスイベント」を受け取ると
•  handler を呼び出す
•  アプリのインスタンスメソッドの場合
•  def handler(self, evt): ...
•  self.bind(wx.EVT_MOUSE, self.handler)
ハンドラの中でウィジェットを操作する
def OnInit(self):
...
self.btn = wx.Button(self.frame, -1, u'押さないで')
self.btn.Bind(wx.EVT_BUTTON, self.OnOsunaPressed)
def OnOsunaPressed(self, evt):
self.btn.SetLabel(u'マジで'+self.btn.GetLabel())
self.frame.Fit()
tips
アプリケーションの参照をとる
•  Appクラスに変数置いてるんだけど。
 →いいね!
•  モジュール変数使って渡していい? ダメです
•  ウィンドウにAppのインスタンス渡す?ダメ
_人人人人人人人_
> wx.GetApp() <
 ̄Y^Y^Y^Y^Y^Y ̄
実例はあとで
大きなアプリを書くとき
•  ウィンドウやダイアログがたくさんある
•  ウィンドウごとにモジュールを作る
•  wx.Dialogやwx.Frameをサブクラス化する
ほとんどのウィジェットをPurePythonでサブクラス化OK!
Python完全勝利(S)!
•  ウィンドウ固有の処理はモジュールに押し込める
•  モジュールの if __module__==__main__ で
wx.App を作ってアプリ化する
これで、画面構成モジュール単位で開発できます!
MVC的な住み分け
•  Model
基本、Appインスタンス経由で参照する
•  Controller
ビジネスロジックはAppインスタンス
ウィジェットの細かい操作が多ければ
別モジュールに書く
テストの住み分け的にも大事
•  View
ウィジェットに複雑なデフォルト設定を
したいなら別モジュールに書くのがいい
ダメじゃないけどダメな例
(app.py)
def OnInit(self):
self.main_window = wx.Frame(....)
self.main_window_root_pane = wx.Panel(...)
self.main_window_sizer = wx.BoxSizer(...)
self.main_window_sizer.Add(self.main_window_root_pane)
self.main_window.SetSizer(self.main_window_sizer)
self.main_window_lr_sizer = wx.BoxSizer(...)
self.main_window_left_pane = ...
....
いい感じな例
(app.py)
import wx
from main_window import MainWindow
class MyApp(wx.App):
def OnInit(self):
self.main_window = MainWindow(...)
self.SetTopWindow(self.main_window)
...
self.main_window.some_method(...)
...
return True
def on_main_window_submit(self, evt):
...
(main_window.py)
import wx
class MainWindow(wx.Frame):
def __init__(self, *args, **kw):
wx.Frame.__init__(self, *args, **kw)
self.root_pane = wx.Panel(...)
self.sizer = wx.BoxSizer(...)
...
self.Bind(SOMEEVENT,
self.app.on_main_window_submit)
@property
def app(self):
return wx.GetApp()
def some_method(self, ...)
... do something ...
こっちは	
  
プレゼンテーション寄り	
こっちは	
ビジネスロジック寄り	
  
いい感じな例
(app.py)
import wx
from main_window import MainWindow
class MyApp(wx.App):
def OnInit(self):
self.main_window = MainWindow(...)
self.SetTopWindow(self.main_window)
...
self.main_window.some_method(...)
...
return True
def on_main_window_submit(self, evt):
...
(main_window.py)
import wx
class MainWindow(wx.Frame):
def __init__(self, *args, **kw):
wx.Frame.__init__(self, *args, **kw)
self.root_pane = wx.Panel(...)
self.sizer = wx.BoxSizer(...)
...
self.Bind(SOMEEVENT,
self.app.on_main_window_submit)
@property
def app(self):
return wx.GetApp()
def some_method(self, ...)
... do something ...
こっちは	
  
プレゼンテーション寄り	
こっちは	
ビジネスロジック寄り	
  
モジュールのモック化
(main_window.py)
import wx
class MainWindow(wx.Frame):
def __init__(self, *args, **kw):
wx.Frame.__init__(self, *args, **kw)
self.root_pane = wx.Panel(...)
self.sizer = wx.BoxSizer(...)
...
self.Bind(SOMEEVENT,
self.app.on_main_window_submit)
@property
def app(self):
return wx.GetApp()
...
(続く)
(続き)
...
# ここからモック駆動用コード
if __name__== __main__ :
class DemoApp(wx.App):
def on_main_window_submit(self, evt):
... do some nothing ...
...
# モックアプリを作って走らせる
app = DemoApp()
w = MainWindow(None)
app.main_window = w
app.SetTopWindow(w)
app.MainLoop()
「ホホウ。もう出来てるじゃないか。じゃあ工数減ら
して見積り再提出してもらえんかね」とお客様に言
われても当方は一切責任をもちません
おすすめツール
•  wxPython Demo
http://www.wxpython.org/download.php
Demoを見れば大抵のウィジェットは使える
•  Dash
https://itunes.apple.com/jp/app/dash-docs-
snippets/id458034879?mt=12
wxWidets のドキュメントがあります
enjoy!

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
 
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
実在感溢れるキャラクターを目指して ~ワンダ、トリコで培った 巨大キャラクターアニメーション5つの法則~
実在感溢れるキャラクターを目指して  ~ワンダ、トリコで培った 巨大キャラクターアニメーション5つの法則~実在感溢れるキャラクターを目指して  ~ワンダ、トリコで培った 巨大キャラクターアニメーション5つの法則~
実在感溢れるキャラクターを目指して ~ワンダ、トリコで培った 巨大キャラクターアニメーション5つの法則~
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
 
DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學DoozyUI_基礎介紹教學
DoozyUI_基礎介紹教學
 
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
 
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
 
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
 
ららマジでしかできない!?キャラクターアセット最適化事例
ららマジでしかできない!?キャラクターアセット最適化事例ららマジでしかできない!?キャラクターアセット最適化事例
ららマジでしかできない!?キャラクターアセット最適化事例
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
 
Unityで音を制す
Unityで音を制すUnityで音を制す
Unityで音を制す
 
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunityUnityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
Webで3Dモデルはどう扱う?PlayCanvas:3Dモデルディープダイブ+新機能紹介!
Webで3Dモデルはどう扱う?PlayCanvas:3Dモデルディープダイブ+新機能紹介!Webで3Dモデルはどう扱う?PlayCanvas:3Dモデルディープダイブ+新機能紹介!
Webで3Dモデルはどう扱う?PlayCanvas:3Dモデルディープダイブ+新機能紹介!
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 

Semelhante a wxPython入門(大阪Pythonユーザの集まり2014/03)

Extending the Unity Editor Extended
Extending the Unity Editor ExtendedExtending the Unity Editor Extended
Extending the Unity Editor Extended
Masamitsu Ishikawa
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
yut148atgmaildotcom
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
 
Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えた
Naruto TAKAHASHI
 
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するMedia Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
Atsushi Tadokoro
 

Semelhante a wxPython入門(大阪Pythonユーザの集まり2014/03) (20)

今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
 
Hubotを使ってbotをつくろう!
Hubotを使ってbotをつくろう!Hubotを使ってbotをつくろう!
Hubotを使ってbotをつくろう!
 
ゲームツクール!第11回 エディター拡張してみよう
ゲームツクール!第11回 エディター拡張してみようゲームツクール!第11回 エディター拡張してみよう
ゲームツクール!第11回 エディター拡張してみよう
 
DOMイベントの基礎から深淵まで
DOMイベントの基礎から深淵までDOMイベントの基礎から深淵まで
DOMイベントの基礎から深淵まで
 
Extending the Unity Editor Extended
Extending the Unity Editor ExtendedExtending the Unity Editor Extended
Extending the Unity Editor Extended
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
Titanium勉強会
Titanium勉強会Titanium勉強会
Titanium勉強会
 
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
ARコンテンツ作成勉強会:Myoを用いたVRコンテンツ開発
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
QtでHello, World!!
QtでHello, World!!QtでHello, World!!
QtでHello, World!!
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
Code ignitertalk 01
Code ignitertalk 01Code ignitertalk 01
Code ignitertalk 01
 
Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えた
 
Houdini 製品概要
Houdini 製品概要 Houdini 製品概要
Houdini 製品概要
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編HoloLensハンズオン:AirTap & SpatialMapping編
HoloLensハンズオン:AirTap & SpatialMapping編
 
Media Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用するMedia Art II 2013 第5回:openFrameworks Addonを使用する
Media Art II 2013 第5回:openFrameworks Addonを使用する
 
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介 デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介
 

Mais de 泰 増田 (8)

PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.keyPlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
SQLAlchemy Primer
SQLAlchemy PrimerSQLAlchemy Primer
SQLAlchemy Primer
 
Taming robotframework
Taming robotframeworkTaming robotframework
Taming robotframework
 
Open bio2004 biopython
Open bio2004 biopythonOpen bio2004 biopython
Open bio2004 biopython
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)
 
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
 
Django boodoo
Django boodooDjango boodoo
Django boodoo
 

Último

Ú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...
 
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日発表)
 
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
 
論文紹介: 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日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

wxPython入門(大阪Pythonユーザの集まり2014/03)