SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
紹介
2008/1/17
 上原潤二
内容
Grailsとは
特徴
1. フレームワークのディストリ
   ビューション
2. CoC
3. DRY原則
4. Groovy
まとめ
デモ
Q&A
とは
Grailsとは?(1 of 2)
誤解を恐れずに一言で
「Ruby on Railsの
Groovy版」
 Webアプリフレームワーク(OSS)
 実績あるJavaインフラ上
 Spring, Hibernateベース
Grailsとは?(2 of 2)
もっと誤解を恐れずにいうと
「マトモなPHP」
Webアプリ・単純なDB機能向け
ワンストップソリューション
複雑化するJava開発へのアンチ
テーゼ
Grailsの歴史
2006年3/20に0.1版リリース
 当初名称は「Groovy on Rails」だっ
 た
英仏など欧州で開発・利用が盛ん
2008/1/15現在1.0RC3が最新安定
ビルド
1ヶ月以内に1.0正式版が出る予定
Grailsで何ができるの?
「Webアプリフレームワー
ク」の利点に加え
 重複・煩雑さ排除
 開発者関心を限定集中
→結果として生産性向上
特徴         つ
1.   フレームワークのディストリビュー
     ション
2.   CoC
3.   DRY原則
4.   Groovy
1. フレームワークのディス
    トリビューション
フレームワーク戦国時代
無数のフレームワーク
際限ないバージョンアップ
それぞれ得失あり
相性問題
解決策

Grails
  = フレームワークのディストリビューション

 検証され実績のある組み合わせ
フルスタック・フレームワーク
Grailsは標準で以下を含む
       ORMフレームワーク:           Hibernate
         DIxAOPコンテナ:           Spring
   テスティングフレームワーク:      JUnit, canoo WebTest
       MVCフレームワーク:     Spring MVC, Webflow
               ロギング:           Log4j
         HTMLレイアウト:           SiteMesh
        試験用組み込みDB            HSQLDB
 試験用組み込みServletコンテナ:               Jetty
    バッチ処理フレームワーク:                 Quartz

プラグインで拡張可
インストーラ一発でインストール
2. CoC
CoC
Convention over Configuration
“規約に従っていれば設定が省
略できる”
 さらばXML設定ファイル
 さまざまな利点
CoCの例(1)
       grails-app/taglib配下に
       “HogeTaglib.groovy”という名前のクラス
       定義を置くとGSPカスタムタグとして動作
                                                                  HELLO
     HogeTaglib.groovy
                                                 Grails
     class HogeTaglib {
       def mytag = {
                                                               test.gsp
          out << “HELLO”
        }
     }                                                         <g:mytag />


                                       taglib/        views/
※GSP=Groovy Server Pages. Groovy版JSP
CoCの例(2)
    クラス名が“Service”で終わる
    クラスは自動的にインスタンス
    化されて依存性注入
HogeController.groovy      HogeService.groovy
class HogeTaglib {         class HogeService {
 HogeService hogeService      void sayHello() {
     :                        }
  hogeSrivice.sayHello()
                           }
}
3. DRY原則
DRY原則
Don’t Repeat Yourself
“重複を避けよ”
 重複の例:
  • 設定ファイル内容と、
    ソースコードの情報
  • 毎回似たようなコード
DRY原則適用の例(1)
  唯一のモデルクラス定義がさま
  ざまな処理の本ネタに
                           Grails

class Book {           自動生成             Spring        Spring bean

  String title
                         自動生成
  Person author
}                                      Hibernate
                                                      RDBMS
                      自動生成
  1回だけ
                                   自動生成          BOOK TABLE
  手書き             Scaffolded
                  Views                          id title     author_id
                               Scaffolded        0   “hoge”   3
                               Controllers
                                                 1   “fuge”   7
DRY原則適用の例(2)
 定型処理コマンド群と雛形の自
 動生成
grails <command>
bootstrap           bug-report            clean
compile             console               create-app
create-controller   create-domain-class   create-integration-test
create-plugin       create-script         create-service
create-tag-lib      create-unit-test      doc
generate-all        generate-controller   generate-views
help                install-plugin        install-templates
list-plugins        package-plugin        package
plugin-info         release-plugin        run-app-https
run-app             set-proxy             set-version
shell               stats                 test-app
upgrade             war
4. Groovy
Groovyとは何か(1)
 「GroovyはJava言語の拡張である」
    C      →   C++
    Java   →   Groovy

JVM上で動作
動作原理やセキュリティモデル同じ
Javaプログラマにとって親和性が高く容易に習得可
Groovyとは何か(2)
何が拡張されたか?
C++    = C + オブジェクト指向
Groovy = Java + ?

    動的な動作
    高抽象・簡潔記述

   + とても書ききれないほどの他の機能
Groovyコード例(1)
Hello.java
public class Hello {
  public static void main(String[] args) {
    System.out.println(”Hello World”);
  }
}




Hello.groovy
println ”Hello World”
Groovyコード例(2)
Java
import java.util.*;
public class HashMapTest {
   public static void main(String[] arg) {
      Map<String,Integer> map = new HashMap<String,Integer>();
      map.put(quot;太郎quot;, 35);
      map.put(quot;次郎quot;, 30);
      map.put(quot;三郎quot;, 20);
      for (Map.Entry<String,Integer> entry : map.entrySet()) {
         System.out.println(entry.getKey()+quot;:quot;+entry.getValue());
      }
   }
}



Groovy
map = [太郎:35, 次郎:30, 三郎:20]
map.each { println quot;${it.key}:${it.value}quot; }
につ
いて他にも
 いろいろ
Grailsの構成
ユーザ
記述
        Domain       Service       Taglib       Controller       View
コード                                                                        Test Cases
      Groovy Class Groovy Class    Groovy      Groovy Class      GSP

                               Groovyランタイム
                                                                               ユーザ
        Spring Hibernate filters Logging scaffold              非標準 非標準
        Plugin Plugin Plugin Plugin Plugin
                                                    ・・・        Plugin Plugin
                                                                                記述
コア層                                                                            Plugin


                            Grailsプラグイン基盤
                                                                        Canoo
下位層      Spring Hibernate         Log4J        Jetty   Sitemesh JUnit
                                                                        Webtest
                                                                                HSQLDB



                                          JDK
                                        Java VM
Grails on Java EE
コマンドラインから
 > grails war
と叩くと.warが生成されるので
TomcatやWebsphareにでもデプロ
イすればよい
ここで生成されるwarは
「production releaseバージョン」で
あり、動的性質が除去されている
(設定ファイルをいじっても反映されない)
プロジェクト構成の標準化
    grails create-
    appでここ以          Javaコードも
    下の構造が            ここに置けば
    生成される。           再起動無しで
                     自動コンパイ
         Grailsアプ    ル・更新可能
         リとしての
         基本構造
                       テスト
                       コードとテ
                       ストレ
         メッセージバ        ポートは
         ンドルとか。        ここに。




                      grails warで
                      生成される
                      Jarのための
                      情報
他にもいろいろ(1 of 2)
DSL
  ORM-DSL、悲観的ロック、キャッシュ制御
  Spring DSL
テスティング関係
  テスト用RDBMS(HSQLDB)
  サーブレットエンジン(Jetty)
  シナリオベースのWebテスティングフレームワークCanoo Webtest
  HTTPベースのHTMLレイアウトエンジンSitemesh
  DB連携テスト用の自動テスティング(integration test)
  テスティングフレームワーク連携(JUnit)
GORM: Grails ORM
  Hibernateを動的かつ簡易に扱うためのラッパー
  ダイナミックファインダー: 実行時に生成されるfinderメソッド群(findBy,
  findWhere, )
  DAO不要
  継承、1:多、多:多関連サポート
他にもいろいろ(2 of 2)
Webインターフェース
  レイアウトエンジンSiteMesh
  カスタムURLマッピング
  Webflow、カンバセーション、フラッシュスコープ
  ライブラリ独立AJAX(GWT、YUI、DoJoプラグイン..)
  GSPタグリブ: JSPカスタムタグと同等だがはるかに簡単で便利
Pluginシステム
  Grails = プラグインの集合体
  依存性情報を伴う拡張モジュール
  一発オンラインインストール
  多種多様なプラグイン
  Spring Security(Acegi plugin)
  オンラインアップデート、更新反映
  アプリ再起動を不要にするための更新検出/伝播制御、 リロードなどの枠組み
EJB3連携
スキャフォルディング
  CRUDビューの動的(もしくは静的)生成
まとめ
Railsと比較
Railsは高機能で情報多し
Grailsのメリット
 Java資産
 • 既存ライブラリ/システム、 技術者のスキル、
   教育投資、開発者・協力会社とのコネク
   ション、 ハードウェア・ミドルウェア資産、安
   定性、実績、性能
 JRuby on Railsと比べても意義がある
Grailsの(今の)問題点
重め
1.0前(RC3)
日本語情報ない(執筆中)。

現時点(2008/1)では実業務適用には
時期尚早か
試作や社内システム開発に是非
まとめ: Grailsの有用性
アジャイル開発
 「動的性質」の活用・Javaの限界突破
モデル駆動
  本質的作業に努力・関心を集中投下
“PHP”がわりの簡易さ、Javaとの継続性
  限られた開発者資源で売り上げ向上
Spring, Hibernateの設定は難しい
 やってられるかっ!!
デモ
Q&A
参考資料
 http://grails.org/doc/1.0.x/
 http://grails.org/
 http://groovy.codehaus.org/
Groovyホームページ
 http://docs.codehaus.org/display
/GRAILS/Success+Stories
Grailsを使用したサイト

Mais conteúdo relacionado

Mais procurados

Windows 7兼容性系列课程(1):Windows 7兼容性概述
Windows 7兼容性系列课程(1):Windows 7兼容性概述Windows 7兼容性系列课程(1):Windows 7兼容性概述
Windows 7兼容性系列课程(1):Windows 7兼容性概述
Chui-Wen Chiu
 
اف تي بي
اف تي بياف تي بي
اف تي بي
nansyrigan
 
技術トレンディセミナー フレームワークとしてのTrac
技術トレンディセミナー フレームワークとしてのTrac技術トレンディセミナー フレームワークとしてのTrac
技術トレンディセミナー フレームワークとしてのTrac
terada
 
Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证
Chui-Wen Chiu
 
20080424 Cdb2008 Postgresql News Bartunov
20080424 Cdb2008 Postgresql News Bartunov20080424 Cdb2008 Postgresql News Bartunov
20080424 Cdb2008 Postgresql News Bartunov
Nikolay Samokhvalov
 
『Ficia』インフラとPerlにまつわるエトセトラ
『Ficia』インフラとPerlにまつわるエトセトラ『Ficia』インフラとPerlにまつわるエトセトラ
『Ficia』インフラとPerlにまつわるエトセトラ
Masaaki HIROSE
 
Chinese Blogger Conference CIC Presentation Slides
Chinese Blogger Conference CIC Presentation SlidesChinese Blogger Conference CIC Presentation Slides
Chinese Blogger Conference CIC Presentation Slides
Denis Yu
 

Mais procurados (18)

What Can Compilers Do for Us?
What Can Compilers Do for Us?What Can Compilers Do for Us?
What Can Compilers Do for Us?
 
Windows 7兼容性系列课程(1):Windows 7兼容性概述
Windows 7兼容性系列课程(1):Windows 7兼容性概述Windows 7兼容性系列课程(1):Windows 7兼容性概述
Windows 7兼容性系列课程(1):Windows 7兼容性概述
 
اف تي بي
اف تي بياف تي بي
اف تي بي
 
技術トレンディセミナー フレームワークとしてのTrac
技術トレンディセミナー フレームワークとしてのTrac技術トレンディセミナー フレームワークとしてのTrac
技術トレンディセミナー フレームワークとしてのTrac
 
Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证Windows 7兼容性系列课程(5):Windows 7徽标认证
Windows 7兼容性系列课程(5):Windows 7徽标认证
 
Nginx常见应用技术指南(Nginx Tips)
Nginx常见应用技术指南(Nginx Tips)Nginx常见应用技术指南(Nginx Tips)
Nginx常见应用技术指南(Nginx Tips)
 
20080424 Cdb2008 Postgresql News Bartunov
20080424 Cdb2008 Postgresql News Bartunov20080424 Cdb2008 Postgresql News Bartunov
20080424 Cdb2008 Postgresql News Bartunov
 
『Ficia』インフラとPerlにまつわるエトセトラ
『Ficia』インフラとPerlにまつわるエトセトラ『Ficia』インフラとPerlにまつわるエトセトラ
『Ficia』インフラとPerlにまつわるエトセトラ
 
Apache Tapestry
Apache TapestryApache Tapestry
Apache Tapestry
 
Jslunch6
Jslunch6Jslunch6
Jslunch6
 
20071113 Msu Vasenin Seminar
20071113 Msu Vasenin Seminar20071113 Msu Vasenin Seminar
20071113 Msu Vasenin Seminar
 
Help mijn website is gehackt - Joomla User Group Den Bosch 2014
Help mijn website is gehackt - Joomla User Group Den Bosch 2014Help mijn website is gehackt - Joomla User Group Den Bosch 2014
Help mijn website is gehackt - Joomla User Group Den Bosch 2014
 
Install Moodle
Install MoodleInstall Moodle
Install Moodle
 
Chinese Blogger Conference CIC Presentation Slides
Chinese Blogger Conference CIC Presentation SlidesChinese Blogger Conference CIC Presentation Slides
Chinese Blogger Conference CIC Presentation Slides
 
Ruby on Rails Tutorial Part I
Ruby on Rails Tutorial Part IRuby on Rails Tutorial Part I
Ruby on Rails Tutorial Part I
 
Programming JNI
Programming JNIProgramming JNI
Programming JNI
 
Glass Fish Portfolio Launch(Japanese)
Glass Fish Portfolio Launch(Japanese)Glass Fish Portfolio Launch(Japanese)
Glass Fish Portfolio Launch(Japanese)
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1457
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1457俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1457
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1457
 

Semelhante a Grails紹介

20090323 Phpstudy
20090323 Phpstudy20090323 Phpstudy
20090323 Phpstudy
Yusuke Ando
 
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
devsumi2009
 
【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」
【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」
【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」
devsumi2009
 
Five Minutes Introduction For Rails
Five Minutes Introduction For RailsFive Minutes Introduction For Rails
Five Minutes Introduction For Rails
Koichi ITO
 
Open Source Type Pad Mobile
Open Source Type Pad MobileOpen Source Type Pad Mobile
Open Source Type Pad Mobile
Hiroshi Sakai
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
iwata
 
Sc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク DomaSc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク Doma
Toshihiro Nakamura
 

Semelhante a Grails紹介 (20)

P2P Bug Tracking with SD
P2P Bug Tracking with SDP2P Bug Tracking with SD
P2P Bug Tracking with SD
 
20090323 Phpstudy
20090323 Phpstudy20090323 Phpstudy
20090323 Phpstudy
 
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
【12-D-6】 Silverlight によるハイグレードなLOB/BI実現のためのコンポーネント活用法
 
20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編20090418 イケテルRails勉強会 第2部Air編
20090418 イケテルRails勉強会 第2部Air編
 
20090410 Gree Opentech Main
20090410 Gree Opentech Main20090410 Gree Opentech Main
20090410 Gree Opentech Main
 
Shibuya.abc - Gnashで遊ぼう
Shibuya.abc - Gnashで遊ぼうShibuya.abc - Gnashで遊ぼう
Shibuya.abc - Gnashで遊ぼう
 
【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」
【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」
【13-C-4】 「もう業務はとまらない!オフライン機能を使った業務アプリケーションの実例と最新 Curl 情報」
 
XS Japan 2008 Xen Mgmt Japanese
XS Japan 2008 Xen Mgmt JapaneseXS Japan 2008 Xen Mgmt Japanese
XS Japan 2008 Xen Mgmt Japanese
 
Revisited
RevisitedRevisited
Revisited
 
ブラウザでMap Reduce風味の並列分散処理
ブラウザでMap Reduce風味の並列分散処理ブラウザでMap Reduce風味の並列分散処理
ブラウザでMap Reduce風味の並列分散処理
 
20090522 Candycane
20090522 Candycane20090522 Candycane
20090522 Candycane
 
Five Minutes Introduction For Rails
Five Minutes Introduction For RailsFive Minutes Introduction For Rails
Five Minutes Introduction For Rails
 
Linuxユーザーのための Windows 管理入門
Linuxユーザーのための Windows 管理入門Linuxユーザーのための Windows 管理入門
Linuxユーザーのための Windows 管理入門
 
Open Source Type Pad Mobile
Open Source Type Pad MobileOpen Source Type Pad Mobile
Open Source Type Pad Mobile
 
Blockchain sharding
Blockchain shardingBlockchain sharding
Blockchain sharding
 
AWS IoT Greengrass V2 の紹介
AWS IoT Greengrass V2 の紹介AWS IoT Greengrass V2 の紹介
AWS IoT Greengrass V2 の紹介
 
セキュリティとアジャイル開発のいい関係について考える
セキュリティとアジャイル開発のいい関係について考えるセキュリティとアジャイル開発のいい関係について考える
セキュリティとアジャイル開発のいい関係について考える
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
 
Sc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク DomaSc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク Doma
 
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
【13 C 2】デベロッパーに贈る!M-V-VMパターンで造るWPFアプリケーション
 

Mais de Uehara Junji

Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309
Uehara Junji
 
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Uehara Junji
 
Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224
Uehara Junji
 

Mais de Uehara Junji (20)

Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
Groovy Shell Scripting 2015
Groovy Shell Scripting 2015Groovy Shell Scripting 2015
Groovy Shell Scripting 2015
 
Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418Shibuya JVM Groovy 20150418
Shibuya JVM Groovy 20150418
 
Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3Markup Template Engine introduced Groovy 2.3
Markup Template Engine introduced Groovy 2.3
 
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
 
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
Indy(Invokedynamic) and Bytecode DSL and Brainf*ckIndy(Invokedynamic) and Bytecode DSL and Brainf*ck
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
 
enterprise grails challenge, 2013 Summer
enterprise grails challenge, 2013 Summerenterprise grails challenge, 2013 Summer
enterprise grails challenge, 2013 Summer
 
New features of Groovy 2.0 and 2.1
New features of Groovy 2.0 and 2.1New features of Groovy 2.0 and 2.1
New features of Groovy 2.0 and 2.1
 
Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
 
groovy 2.1.0 20130118
groovy 2.1.0 20130118groovy 2.1.0 20130118
groovy 2.1.0 20130118
 
New feature of Groovy2.0 G*Workshop
New feature of Groovy2.0 G*WorkshopNew feature of Groovy2.0 G*Workshop
New feature of Groovy2.0 G*Workshop
 
G* Workshop in fukuoka 20120901
G* Workshop in fukuoka 20120901G* Workshop in fukuoka 20120901
G* Workshop in fukuoka 20120901
 
JJUG CCC 2012 Real World Groovy/Grails
JJUG CCC 2012 Real World Groovy/GrailsJJUG CCC 2012 Real World Groovy/Grails
JJUG CCC 2012 Real World Groovy/Grails
 
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)Java One 2012 Tokyo JVM Lang. BOF(Groovy)
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development life
 
Groovy 1.8の新機能について
Groovy 1.8の新機能についてGroovy 1.8の新機能について
Groovy 1.8の新機能について
 
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
 
Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Grails紹介