SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Learning Process Calculate 
with CSP, Groovy, GPars 
in JJUG 2014.09.18 
kyon_mm
Self Introduction 
きょん kyon_mm 
テストアーキテクト 2年目 
TDD/BDD, SCM, Agile, Softwaretest, 
SoftwareEngineering 
なごや 
基礎勉強会, SCMBC, Nagoya.Testing, 
Cafe.Testing
Agenda 
the word of CSP 
Good points 
Try! GPars! Verify! FDR!
the word of CSP
CSP 
並行処理のモデルとして利用されているプロセ 
ス代数の一例です。 
プロセス代数の他の例としては、ご存知π計算 
だと思います。 
太一(@ryushi)さんが名古屋に来たときにGoの 
話をしていたので、jjugの皆様もGoを知ってい 
ると思い、Goユーザには身近なCSPの話をしに 
きました。
CSP 
Tony Hoareが考案したモデルで、いまや様々な 
言語やフレームワークに影響を与えています。 
Occamはもちろんですが、Erlangも影響を受け 
ています。 
並行処理関連で「チャネル」がうんたらとか言 
われたら、CSPかな?って思って聞くといいか 
もだよ!
Good points
Good points 
研究者と実績がたくさん 
逐次実行と並行実行の仕様を比較するツール 
Groovy(もしくはJava)で実装できる
逐次実行と並行実行 
の比較 
並行実行を正しく仕様化するのは難しいと言わ 
れており、僕もよく間違います。 
逐次実行だったらあまり間違わないところでも、 
並行実行にするだけで難しくなることがよくあ 
る。
逐次実行と並行実行 
の比較 
そこで、FDR(ツール)ですよ。CSPとほぼ同等 
の記法のスクリプトを入力とする検証ツール。 
CSP記法で同じ結果を得るための「逐次実行の 
仕様」と「並行実行の仕様」両方を書く。 
FDRにそれぞれを入力すると、どの程度同一か 
判定してくれる! 
結果によっては、ライブロックフリー、デッド 
ロックフリーなどが保証される!!
Groovyで書ける 
CSPをJava実装したものがJCSPというライブラ 
リとして後悔されていて、GParsはJCSPをラッ 
プしている! 
Groovyに並行処理を書ける!
Try GPars
GPars 
Groovyをインストールすれば入っています。 
org.codehaus.gpars:gpars:1.2.1 
JCSPスタイルで書く事も、GParsスタイルで書 
く事も可能。 
GParsスタイル = DataFlowクラス系との組み合 
わせ
Sample 
groovyx.gpars.plugAndPlayパッケージ配下に 
簡単なものがいくつか定義されているので、そ 
れらを使って、とりあえず動かしてみる事がで 
きます
plugAndPlay 
classes 
GConsole 
GConsoleStr 
ingToIntege 
r 
GDelta2 
GFixedDelay 
GIdentity 
GIntegrate 
GNumbers 
GObjectToCo 
nsoleString 
GPairs 
GParPrint 
GPCopy 
GPlus 
GPrefix 
GPrint 
GSquares 
GStatePairs 
GSuccessor 
GTail
class Executor implements CSProcess { 
def out1 
def out2 
def random = new Random() 
@Override 
void run() { 
while (true){ 
out1.write(random.nextInt() % 10) 
out2.write(random.nextInt() % 10) 
sleep(50L) 
} 
} 
}
def channelA = Channel.one2one() 
def channelB = Channel.one2one() 
def channelC = Channel.one2one() 
final def par = new PAR([ 
new Executor(out1: channelA.out(), out2: 
channelB.out()), 
new GPlus(inChannel0: channelA.in(), 
inChannel1:channelB.in(), outChannel: channelC.out()), 
new GPrint(inChannel: channelC.in(), heading: "足し算 
しちゃうよ?") 
]) 
par.run()
JCSP,GPars 
処理はCSProcessインターフェースの実装に書 
きます。これをプロセスといいます。 
プロセスとプロセスのやり取りはチャネルを通 
してのみ行います。 
1プロセス対Nプロセス、1チャネル対Nチャネル 
もあります。
JCSP,GPars 
new PAR([someProcess,,,])とすることで、プ 
ロセス合成をしている。 
制限がありますが、プロセス通信は1マシン内 
でも、マシン間でも出来ます。(夢がひろがる!
例えばGSuccessorのなかみ↓ 
ChannelInput inChannel 
ChannelOutput outChannel 
void run() { 
while (true) { 
outChannel.write(inChannel.read() + 1) 
} 
}
例えばGPrintのなかみ↓ 
ChannelInput inChannel 
String heading = "No Heading Provided" 
long delay = 200 
def void run() { 
def timer = new CSTimer() 
println "${heading}" 
while (true) { 
println inChannel.read().toString() 
if (delay != 0) { 
timer.sleep(delay)
CSP 
チャネルは同期的に動作し、プロセスは非同期 
に動作する。(同期的メッセージング、非同期 
動作) 
ただし、GParsではチャネルを非同期にするこ 
ともできる!(実際あやうい気はするが、わか 
らない)
Sample with 
Dataflow 
入力した文字列をフォーマットして、挨拶文を 
返すプログラム 
Input <-> Formatter <-> Greeter <-> Output
class Formatter implements Callable<String> { 
DataflowReadChannel rawNames 
DataflowWriteChannel formattedNames 
@Override 
String call() { 
while(!Thread.currentThread().isInterrupted()) { 
String name = rawNames.val 
formattedNames << name.toUpperCase() 
} 
} 
}
class Greeter implements Callable<String> { 
DataflowReadChannel names 
DataflowWriteChannel greetings 
@Override 
String call() { 
while(!Thread.currentThread().isInterrupted()) { 
String name = names.val 
greetings << "Hello " + name 
} 
} 
}
def a = new SyncDataflowQueue() 
def b = new SyncDataflowQueue() 
def c = new SyncDataflowQueue() 
! 
group.task new Formatter(rawNames:a, formattedNames:b) 
group.task new Greeter(names:b, greetings:c) 
! 
// 送信と受信をする 
a << “Joe" // チャネルに送信 
println c.val // 出力 
…
Verify FDR
FDR3 Released! 
書籍やなんかではFDR2!と書かれていますが、 
現在はFDR3.10がリリースされています。 
FDRは学術目的のみ無償で利用できるライセン 
スです。
FDR3 
みてみよう! 
http://www.cs.ox.ac.uk/projects/fdr/ 
FDR3 で 検索!
Conclusion
Conclusion 
CSPを使ってみたいなら、GParsを使うと簡単な 
プロセスがいくつか定義されているので、動か 
しやすいし、Groovy自体の書きやすさもあって 
よい。 
モデルとコードが近くなりやすいCSPで書いて 
おくと、ツールでの検証が捗るし、検証してか 
らコードに書くのもそんなに困らない。 
机上デバッグやめたいれす^q^
Append 
非同期処理のプロジェクトで失敗したのをキッ 
カケに真面目に取り組み始めました。 
いまは、CSPベースの何かを開発しています。 
CIサーバ 
テスティングフレームワーク 
ビルドツール
ご清聴ありがとぴょん◆

Más contenido relacionado

La actualidad más candente

プログラミング技法特論第5回
プログラミング技法特論第5回プログラミング技法特論第5回
プログラミング技法特論第5回
guest61bed5f
 

La actualidad más candente (16)

ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
 
道具を磨き続ける
道具を磨き続ける道具を磨き続ける
道具を磨き続ける
 
技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら
 
Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*Javaな人が今すぐ使えるG*
Javaな人が今すぐ使えるG*
 
Listen&notifyとbwpの間違った使い方
Listen&notifyとbwpの間違った使い方Listen&notifyとbwpの間違った使い方
Listen&notifyとbwpの間違った使い方
 
Smalltalk との比較で深まる Citrine の理解
Smalltalk との比較で深まる Citrine の理解Smalltalk との比較で深まる Citrine の理解
Smalltalk との比較で深まる Citrine の理解
 
神戸Rustの会 #1 LT - I'm lazy rust programmer
神戸Rustの会 #1 LT - I'm lazy rust programmer神戸Rustの会 #1 LT - I'm lazy rust programmer
神戸Rustの会 #1 LT - I'm lazy rust programmer
 
塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)
塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)
塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)
 
プログラミング技法特論第5回
プログラミング技法特論第5回プログラミング技法特論第5回
プログラミング技法特論第5回
 
Goでこれどうやるの? 入門
Goでこれどうやるの? 入門Goでこれどうやるの? 入門
Goでこれどうやるの? 入門
 
JavaScript 非同期処理 入門
JavaScript非同期処理 入門JavaScript非同期処理 入門
JavaScript 非同期処理 入門
 
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
 
Shortcodin
ShortcodinShortcodin
Shortcodin
 
いまさら聞けないRake入門
いまさら聞けないRake入門いまさら聞けないRake入門
いまさら聞けないRake入門
 
ここがすごい! なぞとPHP5.3
ここがすごい! なぞとPHP5.3ここがすごい! なぞとPHP5.3
ここがすごい! なぞとPHP5.3
 
Go言語オーバービュー201507
Go言語オーバービュー201507Go言語オーバービュー201507
Go言語オーバービュー201507
 

Destacado

Groovy AST Demystified
Groovy AST DemystifiedGroovy AST Demystified
Groovy AST Demystified
Andres Almiray
 
Griffon Update Gr8conf 2013
Griffon Update Gr8conf 2013Griffon Update Gr8conf 2013
Griffon Update Gr8conf 2013
Andres Almiray
 
Grailsでシステム構築
Grailsでシステム構築Grailsでシステム構築
Grailsでシステム構築
Megumi Sato
 

Destacado (15)

そんなリザルトキャッシュで大丈夫か? #jjug
そんなリザルトキャッシュで大丈夫か? #jjugそんなリザルトキャッシュで大丈夫か? #jjug
そんなリザルトキャッシュで大丈夫か? #jjug
 
Legend of Java Concurrency/Parallelism
Legend of Java Concurrency/ParallelismLegend of Java Concurrency/Parallelism
Legend of Java Concurrency/Parallelism
 
Java EEの話(仮)
Java EEの話(仮)Java EEの話(仮)
Java EEの話(仮)
 
Introduction to Spock
Introduction to SpockIntroduction to Spock
Introduction to Spock
 
GroovyでJSON2014
GroovyでJSON2014GroovyでJSON2014
GroovyでJSON2014
 
Groovy AST Demystified
Groovy AST DemystifiedGroovy AST Demystified
Groovy AST Demystified
 
Griffon Update Gr8conf 2013
Griffon Update Gr8conf 2013Griffon Update Gr8conf 2013
Griffon Update Gr8conf 2013
 
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
Grailsでシステム構築
Grailsでシステム構築Grailsでシステム構築
Grailsでシステム構築
 
簡単!Groovy入門
簡単!Groovy入門簡単!Groovy入門
簡単!Groovy入門
 
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
 
Xtext And Grails20091218
Xtext And Grails20091218Xtext And Grails20091218
Xtext And Grails20091218
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料などRxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
 

Similar a Groovyで学ぶプロセス代数 #jjug

2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
 
もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…
Yasumasa Suenaga
 
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
Takuya Ueda
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perl
Jiro Nishiguchi
 

Similar a Groovyで学ぶプロセス代数 #jjug (20)

async/await不要論
async/await不要論async/await不要論
async/await不要論
 
Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
 
パフォーマンスの良いGASの書き方 Best Practice
パフォーマンスの良いGASの書き方 Best Practiceパフォーマンスの良いGASの書き方 Best Practice
パフォーマンスの良いGASの書き方 Best Practice
 
Googleの基盤クローン Hadoopについて
Googleの基盤クローン HadoopについてGoogleの基盤クローン Hadoopについて
Googleの基盤クローン Hadoopについて
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 
Ll tiger clojure
Ll tiger clojureLl tiger clojure
Ll tiger clojure
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
 
もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…
 
Flutterを体験してみませんか
Flutterを体験してみませんかFlutterを体験してみませんか
Flutterを体験してみませんか
 
競プロでGo!
競プロでGo!競プロでGo!
競プロでGo!
 
【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア
 
今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋今日から始めるGopher - スタートGo #0 @GDG名古屋
今日から始めるGopher - スタートGo #0 @GDG名古屋
 
Das 2015
Das 2015Das 2015
Das 2015
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perl
 
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
[GTCJ2018]CuPy -NumPy互換GPUライブラリによるPythonでの高速計算- PFN奥田遼介
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
Introduction to argo
Introduction to argoIntroduction to argo
Introduction to argo
 
C++による数値解析の並列化手法
C++による数値解析の並列化手法C++による数値解析の並列化手法
C++による数値解析の並列化手法
 

Más de kyon mm

ICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJ
kyon mm
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
 
@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA
kyon mm
 

Más de kyon mm (20)

Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 
Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hackt
 
ザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daiザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000dai
 
ICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJ
 
焦らず急いでの意味
焦らず急いでの意味焦らず急いでの意味
焦らず急いでの意味
 
Sta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkanSta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkan
 
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 
Gradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggugGradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggug
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornight
 
@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA
 
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAAJenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
 
GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggug
 
契る意味 #pykonjp2014
契る意味 #pykonjp2014契る意味 #pykonjp2014
契る意味 #pykonjp2014
 
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAいつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYA
 
Test Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in TokyoTest Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in Tokyo
 
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumiソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
 

Último

Último (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Groovyで学ぶプロセス代数 #jjug