SlideShare una empresa de Scribd logo
1 de 33
SPL
  2012/5/23
FukuokaPHP #1
Yasushi Ichikawa
@cakephper / @ichikaway
http://d.hatena.ne.jp/cakephper
1. SPL とは
 2. Autoload
 3. Iterator


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
SPL とは
SPL とは?

 Standard PHP Library
  クラス、インターフェース、例外、関数
   PHP5.0 から導入された
  



@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
SPL とは?

 使わなくても良い
 使えば便利というだけ
  

  


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
SPL とは?

 Autoload
 Iterator
 配列処理
  
 ファイル操作
 例外
 スタック、キュー
 Observer
                           http://jp.php.net/manual/ja/book.spl.php

@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
Autoload
Autoload

 require/import 地獄に
 サヨナラだ
                             require_once('File');
                             require_once('DB');
                             require_once('Session');
                             require_once('Model');
                             require_once('Helper');
                             require_once('Form');

@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
Autoload

 クラス利用時に動的読込み
 ファイル名とクラス名を一致
  
 させておくと良い
  


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
マジックメソッド __autoload



 new Foo();
  

     NG: Foo クラスが無い


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
マジックメソッド __autoload


 require './lib/Foo.php';
 new
           Foo();
                     OK


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
マジックメソッド __autoload
 require './lib/Foo.php';
 require './lib/Bar.php';
 new Foo();
  
 new Bar();

                     OK

@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
マジックメソッド __autoload

 function __autoload($name){
   require 'lib/'. $name . '.php';
 }
  
 new Foo(); //$name に Foo
 new Bar(); //$name に Bar

                     OK
@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
SPL autoloader
 __autoload()
   グローバル関数
   処理は1つのみに限定

 spl_autoload_register()
  
  コールバックを登録 
  複数コールバックの登録が可能


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
SPL autoloader

 // CakePHP 例 lib/Cake/bootstrap.php

 require CAKE . 'Core' . DS .'App.php';
  
 spl_autoload_register(array('App', 'load'));




@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
Iterator
Iterator

 繰り返し処理
 foreach
                    でまわせる

  

@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
Iterator クラス達
   AppendIterator            LimitIterator

   ArrayIterator             MultipleIterator
                             NoRewindIterator
   CachingIterator
                             ParentIterator
   CallbackFilterIterator
                             RecursiveArrayIterator
   DirectoryIterator
                             RecursiveCachingIterator
  FilesystemIterator
   EmptyIterator
                             RecursiveCallbackFilterIterator
                             RecursiveDirectoryIterator
   FilterIterator            RecursiveFilterIterator
   GlobIterator              RecursiveIteratorIterator
   InfiniteIterator          RecursiveRegexIterator

   IteratorIterator          RecursiveTreeIterator
                             RegexIterator


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
Iterator

ディレクトリクラス
RecursiveDirectoryIterator
  

    例
    ・ディレクトリの中のディレクトリのファイルを取得



@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
Iterator

 再帰クラス
  RecursiveIteratorIterator

  例
  ・配列の中の配列まで処理
  ・ディレクトリの中のディレクトリを処理


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
Iterator

 正規表現クラス
  RegexIterator

  例
  ・イテレーション中に正規表現で処理
  ・ディレクトリの .php ファイルのみを取得


@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
Iterator
         DirectoryRecursiveIterator


                            RecursiveIteratorIterator
 ディレクトリを
 再帰的に探索しながら
  
 特定ファイル名に絞込み
  
                                    RegexIterator



@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
階層構造ディレクトリからファイル一覧表示

 $Iterator =
  new RecursiveIteratorIterator(
   new RecursiveDirectoryIterator($path)
  );
  
 foreach ($Iterator as $file) {
   if ($file->isFile()) {
       echo $file->getPathname(). "n";
   }
 }

  
@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
階層構造ディレクトリからファイル一覧表示




 RecursiveXXXXIterator のインスタンスを
  
 RecursiveIteratorIterator に渡してまわす

  



@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
階層構造ディレクトリからファイル一覧表示
   さらに php ファイルのみに絞る
 $Iterator =
  new RecursiveIteratorIterator(
       new RecursiveDirectoryIterator($path)
  );
 $Iterator2 =
  new RegexIterator(
     $Iterator,
     '/^.+.(php)$/i'
  );
 foreach ($Iterator2 as $file) {
   if ($file->isFile()) {echo $file->getPathname(). "n";}
 }
@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
階層構造ディレクトリからファイル一覧表示
     さらに php ファイルのみに絞る




  
 RecursiveXXXIterator に対して
 RegexIterator をかぶせて正規表現で絞る
  



@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
イテレーション中に HtmlEscape

Class HtmlEscRII extends             
             RecursiveIteratorIterator {

    public function current() {
      return htmlspecialchars(
      parent::current(),
         ENT_QUOTES,
         'UTF-8'
      );
    }
}
@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
 
RecursiveIteratorIterator

RecursiveIteratorIterator のメソッド(一部)

current()              現在の値を返す
key()                  現在のキーを返す
  
beginIteration()       イテレーション前に実行
endIteration()         イテレーション終了時に実行
beginChildren()        子階層イテレーション時に実行
endChildren()          子階層終了時に実行
 

@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
RecursiveIteratorIterator



多階層の配列から入れ子テーブル html 出力

current()        <tr><td> value </td></tr>
   
beginIteration() <table>
endIteration()   </table>
beginChildren() <table>
endChildren()    </table>
 

@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
RecursiveIteratorIterator




多階層の配列から入れ子テーブル html 出力
  
https://gist.github.com/2768801




@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
PHP 祭り 2012
            福岡
         @phpmatsuri
@cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
THANK YOU

Más contenido relacionado

La actualidad más candente

PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件についてPHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について
健治郎 安井
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
 
最近のRails開発のはなし
最近のRails開発のはなし最近のRails開発のはなし
最近のRails開発のはなし
Yoichi Toyota
 
家に帰るまでが遠足です
家に帰るまでが遠足です家に帰るまでが遠足です
家に帰るまでが遠足です
Cryolite
 
Garageを触ってみた
Garageを触ってみたGarageを触ってみた
Garageを触ってみた
Yoichi Toyota
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミング
lestrrat
 

La actualidad más candente (20)

debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
 
Web技術勉強会23回目
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目
 
PHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件についてPHP buildpackでhackとphalconが動いた件について
PHP buildpackでhackとphalconが動いた件について
 
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI SeminarModern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
 
ALPSチュートリアル(4) Python入門
ALPSチュートリアル(4) Python入門ALPSチュートリアル(4) Python入門
ALPSチュートリアル(4) Python入門
 
最近のRails開発のはなし
最近のRails開発のはなし最近のRails開発のはなし
最近のRails開発のはなし
 
家に帰るまでが遠足です
家に帰るまでが遠足です家に帰るまでが遠足です
家に帰るまでが遠足です
 
Fuel php osc tokyo2012
Fuel php osc tokyo2012Fuel php osc tokyo2012
Fuel php osc tokyo2012
 
Garageを触ってみた
Garageを触ってみたGarageを触ってみた
Garageを触ってみた
 
ALPSチュートリアル(7) アプリケーションのALPS化
ALPSチュートリアル(7) アプリケーションのALPS化ALPSチュートリアル(7) アプリケーションのALPS化
ALPSチュートリアル(7) アプリケーションのALPS化
 
CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
Google container builderと友だちになるまで
Google container builderと友だちになるまでGoogle container builderと友だちになるまで
Google container builderと友だちになるまで
 
GoらしいAPIを求める旅路 (Go Conference 2018 Spring)
GoらしいAPIを求める旅路 (Go Conference 2018 Spring)GoらしいAPIを求める旅路 (Go Conference 2018 Spring)
GoらしいAPIを求める旅路 (Go Conference 2018 Spring)
 
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
 
PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門PHP5.5新機能「ジェネレータ」初心者入門
PHP5.5新機能「ジェネレータ」初心者入門
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミング
 
Haskell で CLI
Haskell で CLIHaskell で CLI
Haskell で CLI
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門
 

Destacado (8)

型! 型!
型! 型!型! 型!
型! 型!
 
Matuura cpp
Matuura cppMatuura cpp
Matuura cpp
 
Chakkason.pptx
Chakkason.pptxChakkason.pptx
Chakkason.pptx
 
Objc lambda
Objc lambdaObjc lambda
Objc lambda
 
連邦の白いヤツ 「Objective-C」
連邦の白いヤツ 「Objective-C」連邦の白いヤツ 「Objective-C」
連邦の白いヤツ 「Objective-C」
 
Essence of the iterator pattern
Essence of the iterator patternEssence of the iterator pattern
Essence of the iterator pattern
 
The Essence of the Iterator Pattern
The Essence of the Iterator PatternThe Essence of the Iterator Pattern
The Essence of the Iterator Pattern
 
Iterator Pattern
Iterator PatternIterator Pattern
Iterator Pattern
 

Similar a SPL fukuokaphp_1

20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo
ichikaway
 
Cakephp tokyo5
Cakephp tokyo5Cakephp tokyo5
Cakephp tokyo5
ichikaway
 
Scala2.8への移行
Scala2.8への移行Scala2.8への移行
Scala2.8への移行
guest5f4320
 
CakePHP最新情報 PHPカンファレンス関西2012
CakePHP最新情報 PHPカンファレンス関西2012CakePHP最新情報 PHPカンファレンス関西2012
CakePHP最新情報 PHPカンファレンス関西2012
ichikaway
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patterns
nekop
 
FP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIterateeFP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIteratee
pocketberserker
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented feature
tamtam180
 

Similar a SPL fukuokaphp_1 (20)

FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3
 
20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo
 
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
 
Cakephp tokyo5
Cakephp tokyo5Cakephp tokyo5
Cakephp tokyo5
 
Scala2.8への移行
Scala2.8への移行Scala2.8への移行
Scala2.8への移行
 
Scala2.8への移行
Scala2.8への移行Scala2.8への移行
Scala2.8への移行
 
CakePHP最新情報 PHPカンファレンス関西2012
CakePHP最新情報 PHPカンファレンス関西2012CakePHP最新情報 PHPカンファレンス関西2012
CakePHP最新情報 PHPカンファレンス関西2012
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
 
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道20123時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia
 
最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介最近、僕がハマったFuelPHPの紹介
最近、僕がハマったFuelPHPの紹介
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patterns
 
behatエクステンションの作り方
behatエクステンションの作り方behatエクステンションの作り方
behatエクステンションの作り方
 
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
 
CakePHP2.0 performance, upgrade shell
CakePHP2.0 performance, upgrade shellCakePHP2.0 performance, upgrade shell
CakePHP2.0 performance, upgrade shell
 
FP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIterateeFP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIteratee
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented feature
 
Traitsについて
TraitsについてTraitsについて
Traitsについて
 
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
 

Más de ichikaway

VAddy at LL Diver LT
VAddy at LL Diver LTVAddy at LL Diver LT
VAddy at LL Diver LT
ichikaway
 

Más de ichikaway (20)

forteeに脆弱性検査をかけてみた VAddy編
forteeに脆弱性検査をかけてみた VAddy編forteeに脆弱性検査をかけてみた VAddy編
forteeに脆弱性検査をかけてみた VAddy編
 
Understanding Computer Architecture with NES Emulator
Understanding Computer Architecture with NES EmulatorUnderstanding Computer Architecture with NES Emulator
Understanding Computer Architecture with NES Emulator
 
VAddyの課金システムを Stripeに乗り換えた話
VAddyの課金システムを Stripeに乗り換えた話VAddyの課金システムを Stripeに乗り換えた話
VAddyの課金システムを Stripeに乗り換えた話
 
Hello, Worldまで3ヶ月 Golangでファミコンエミュレータ実装 #gocon fukuoka 2019
Hello, Worldまで3ヶ月 Golangでファミコンエミュレータ実装 #gocon fukuoka 2019Hello, Worldまで3ヶ月 Golangでファミコンエミュレータ実装 #gocon fukuoka 2019
Hello, Worldまで3ヶ月 Golangでファミコンエミュレータ実装 #gocon fukuoka 2019
 
ゼロから始めるファミコンエミュレータ生活 PHPerKaigi2019
ゼロから始めるファミコンエミュレータ生活 PHPerKaigi2019ゼロから始めるファミコンエミュレータ生活 PHPerKaigi2019
ゼロから始めるファミコンエミュレータ生活 PHPerKaigi2019
 
現場で使える脆弱性検査サービス VAddy
現場で使える脆弱性検査サービス VAddy 現場で使える脆弱性検査サービス VAddy
現場で使える脆弱性検査サービス VAddy
 
OS入門 Fukuoka.php vol.18 LT資料
OS入門 Fukuoka.php vol.18 LT資料OS入門 Fukuoka.php vol.18 LT資料
OS入門 Fukuoka.php vol.18 LT資料
 
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
Yapc8oji: セキュリティテストサービスを開発運営してきた2年Yapc8oji: セキュリティテストサービスを開発運営してきた2年
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
 
VAaddyとは VAddyミートアップvol3_20160629
VAaddyとは  VAddyミートアップvol3_20160629VAaddyとは  VAddyミートアップvol3_20160629
VAaddyとは VAddyミートアップvol3_20160629
 
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
 
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
 
Vulnerabilities are bugs, Let's test for them!
Vulnerabilities are bugs, Let's test for them!Vulnerabilities are bugs, Let's test for them!
Vulnerabilities are bugs, Let's test for them!
 
脆弱性もバグ、だからテストしよう!
脆弱性もバグ、だからテストしよう!脆弱性もバグ、だからテストしよう!
脆弱性もバグ、だからテストしよう!
 
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
 
継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2継続的Webセキュリティテスト testing casual talks2
継続的Webセキュリティテスト testing casual talks2
 
Ctf2015 ichikawa Eizoku PM2.5 dial
Ctf2015 ichikawa Eizoku PM2.5 dialCtf2015 ichikawa Eizoku PM2.5 dial
Ctf2015 ichikawa Eizoku PM2.5 dial
 
VAddy - CI勉強会 fukuoka
VAddy - CI勉強会 fukuokaVAddy - CI勉強会 fukuoka
VAddy - CI勉強会 fukuoka
 
Jenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテストJenkinsを使った継続的セキュリティテスト
Jenkinsを使った継続的セキュリティテスト
 
継続的セキュリティテストVaddy説明資料
継続的セキュリティテストVaddy説明資料継続的セキュリティテストVaddy説明資料
継続的セキュリティテストVaddy説明資料
 
VAddy at LL Diver LT
VAddy at LL Diver LTVAddy at LL Diver LT
VAddy at LL Diver LT
 

Último

Último (12)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: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...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: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
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: 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
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

SPL fukuokaphp_1