Suche senden
Hochladen
Groovyノススメ
•
7 gefällt mir
•
1,556 views
Takuma Watabiki
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 57
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Meetup C++ A brief overview of c++17
Meetup C++ A brief overview of c++17
Daniel Eriksson
Live in shell
Live in shell
Tiến Nguyễn
FunctionalJS - George Shevtsov
FunctionalJS - George Shevtsov
Georgiy Shevtsov
Groovy and Grails talk
Groovy and Grails talk
desistartups
Groovify your java code by hervé roussel
Groovify your java code by hervé roussel
Hervé Vũ Roussel
Functional programming with Immutable .JS
Functional programming with Immutable .JS
Laura Steggles
Composition in JavaScript
Composition in JavaScript
Josh Mock
Theming Plone with Deliverance
Theming Plone with Deliverance
Rok Garbas
Empfohlen
Meetup C++ A brief overview of c++17
Meetup C++ A brief overview of c++17
Daniel Eriksson
Live in shell
Live in shell
Tiến Nguyễn
FunctionalJS - George Shevtsov
FunctionalJS - George Shevtsov
Georgiy Shevtsov
Groovy and Grails talk
Groovy and Grails talk
desistartups
Groovify your java code by hervé roussel
Groovify your java code by hervé roussel
Hervé Vũ Roussel
Functional programming with Immutable .JS
Functional programming with Immutable .JS
Laura Steggles
Composition in JavaScript
Composition in JavaScript
Josh Mock
Theming Plone with Deliverance
Theming Plone with Deliverance
Rok Garbas
Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)
Sumant Tambe
Facilite a vida com guava
Facilite a vida com guava
Romualdo Andre
JavaScript for Web Analysts
JavaScript for Web Analysts
Lukáš Čech
Java 7
Java 7
Bipul Sinha
Let's talks about string operations in C++17
Let's talks about string operations in C++17
Bartlomiej Filipek
Javascript3
Javascript3
mozks
C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012
Sumant Tambe
Functional programming in javascript
Functional programming in javascript
Boris Burdiliak
Quicli - From zero to a full CLI application in a few lines of Rust
Quicli - From zero to a full CLI application in a few lines of Rust
Damien Castelltort
งานPop pornapa
งานPop pornapa
Pw Mlp
GoLightly: A Go Library For Building Virtual Machines
GoLightly: A Go Library For Building Virtual Machines
Eleanor McHugh
Vocabulary Types in C++17
Vocabulary Types in C++17
Bartlomiej Filipek
Reactive Programming Patterns with RxSwift
Reactive Programming Patterns with RxSwift
Florent Pillet
Ragel talk
Ragel talk
elliando dias
Easily mockingdependenciesinc++ 2
Easily mockingdependenciesinc++ 2
drewz lin
第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング
nobu_k
Thinking in Sequences - Streams in Node.js & IO.js
Thinking in Sequences - Streams in Node.js & IO.js
Artur Skowroński
Ruby on Rails Intro
Ruby on Rails Intro
zhang tao
2018 cosup-delete unused python code safely - english
2018 cosup-delete unused python code safely - english
Jen Yee Hong
Groovy for java developers
Groovy for java developers
Puneet Behl
Understanding java streams
Understanding java streams
Shahjahan Samoon
5. Ввод-вывод, доступ к файловой системе
5. Ввод-вывод, доступ к файловой системе
DEVTYPE
Weitere ähnliche Inhalte
Was ist angesagt?
Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)
Sumant Tambe
Facilite a vida com guava
Facilite a vida com guava
Romualdo Andre
JavaScript for Web Analysts
JavaScript for Web Analysts
Lukáš Čech
Java 7
Java 7
Bipul Sinha
Let's talks about string operations in C++17
Let's talks about string operations in C++17
Bartlomiej Filipek
Javascript3
Javascript3
mozks
C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012
Sumant Tambe
Functional programming in javascript
Functional programming in javascript
Boris Burdiliak
Quicli - From zero to a full CLI application in a few lines of Rust
Quicli - From zero to a full CLI application in a few lines of Rust
Damien Castelltort
งานPop pornapa
งานPop pornapa
Pw Mlp
GoLightly: A Go Library For Building Virtual Machines
GoLightly: A Go Library For Building Virtual Machines
Eleanor McHugh
Vocabulary Types in C++17
Vocabulary Types in C++17
Bartlomiej Filipek
Reactive Programming Patterns with RxSwift
Reactive Programming Patterns with RxSwift
Florent Pillet
Ragel talk
Ragel talk
elliando dias
Easily mockingdependenciesinc++ 2
Easily mockingdependenciesinc++ 2
drewz lin
第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング
nobu_k
Thinking in Sequences - Streams in Node.js & IO.js
Thinking in Sequences - Streams in Node.js & IO.js
Artur Skowroński
Ruby on Rails Intro
Ruby on Rails Intro
zhang tao
2018 cosup-delete unused python code safely - english
2018 cosup-delete unused python code safely - english
Jen Yee Hong
Was ist angesagt?
(19)
Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)
Facilite a vida com guava
Facilite a vida com guava
JavaScript for Web Analysts
JavaScript for Web Analysts
Java 7
Java 7
Let's talks about string operations in C++17
Let's talks about string operations in C++17
Javascript3
Javascript3
C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012
Functional programming in javascript
Functional programming in javascript
Quicli - From zero to a full CLI application in a few lines of Rust
Quicli - From zero to a full CLI application in a few lines of Rust
งานPop pornapa
งานPop pornapa
GoLightly: A Go Library For Building Virtual Machines
GoLightly: A Go Library For Building Virtual Machines
Vocabulary Types in C++17
Vocabulary Types in C++17
Reactive Programming Patterns with RxSwift
Reactive Programming Patterns with RxSwift
Ragel talk
Ragel talk
Easily mockingdependenciesinc++ 2
Easily mockingdependenciesinc++ 2
第一回MongoDBソースコードリーディング
第一回MongoDBソースコードリーディング
Thinking in Sequences - Streams in Node.js & IO.js
Thinking in Sequences - Streams in Node.js & IO.js
Ruby on Rails Intro
Ruby on Rails Intro
2018 cosup-delete unused python code safely - english
2018 cosup-delete unused python code safely - english
Ähnlich wie Groovyノススメ
Groovy for java developers
Groovy for java developers
Puneet Behl
Understanding java streams
Understanding java streams
Shahjahan Samoon
5. Ввод-вывод, доступ к файловой системе
5. Ввод-вывод, доступ к файловой системе
DEVTYPE
How to write rust instead of c and get away with it
How to write rust instead of c and get away with it
Flavien Raynaud
サイ本 文
サイ本 文
Takashi Takizawa
2007 09 10 Fzi Training Groovy Grails V Ws
2007 09 10 Fzi Training Groovy Grails V Ws
loffenauer
Java 7 & 8 New Features
Java 7 & 8 New Features
Leandro Coutinho
Java 7 LavaJUG
Java 7 LavaJUG
julien.ponge
Groovy 1.8の新機能について
Groovy 1.8の新機能について
Uehara Junji
Groovy Basics
Groovy Basics
Wes Williams
JavaSE7 Launch Event: Java7xGroovy
JavaSE7 Launch Event: Java7xGroovy
Yasuharu Nakano
The Beauty of Java Script
The Beauty of Java Script
Michael Girouard
The Beauty Of Java Script V5a
The Beauty Of Java Script V5a
rajivmordani
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Tsuyoshi Yamamoto
Productive Programming in Groovy
Productive Programming in Groovy
Ganesh Samarthyam
ekb.py - Python VS ...
ekb.py - Python VS ...
it-people
Sbaw091006
Sbaw091006
Atsushi Tadokoro
모던자바의 역습
모던자바의 역습
DoHyun Jung
Tips and Tricks of Developing .NET Application
Tips and Tricks of Developing .NET Application
Joni
Java 7 at SoftShake 2011
Java 7 at SoftShake 2011
julien.ponge
Ähnlich wie Groovyノススメ
(20)
Groovy for java developers
Groovy for java developers
Understanding java streams
Understanding java streams
5. Ввод-вывод, доступ к файловой системе
5. Ввод-вывод, доступ к файловой системе
How to write rust instead of c and get away with it
How to write rust instead of c and get away with it
サイ本 文
サイ本 文
2007 09 10 Fzi Training Groovy Grails V Ws
2007 09 10 Fzi Training Groovy Grails V Ws
Java 7 & 8 New Features
Java 7 & 8 New Features
Java 7 LavaJUG
Java 7 LavaJUG
Groovy 1.8の新機能について
Groovy 1.8の新機能について
Groovy Basics
Groovy Basics
JavaSE7 Launch Event: Java7xGroovy
JavaSE7 Launch Event: Java7xGroovy
The Beauty of Java Script
The Beauty of Java Script
The Beauty Of Java Script V5a
The Beauty Of Java Script V5a
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Productive Programming in Groovy
Productive Programming in Groovy
ekb.py - Python VS ...
ekb.py - Python VS ...
Sbaw091006
Sbaw091006
모던자바의 역습
모던자바의 역습
Tips and Tricks of Developing .NET Application
Tips and Tricks of Developing .NET Application
Java 7 at SoftShake 2011
Java 7 at SoftShake 2011
Mehr von Takuma Watabiki
「普通の設計」をするということ
「普通の設計」をするということ
Takuma Watabiki
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
Takuma Watabiki
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
Takuma Watabiki
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
Takuma Watabiki
JGGUG Community LT 2016
JGGUG Community LT 2016
Takuma Watabiki
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
Takuma Watabiki
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Takuma Watabiki
Gradleどうでしょう
Gradleどうでしょう
Takuma Watabiki
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Takuma Watabiki
Spock's world
Spock's world
Takuma Watabiki
スーパー戦隊進化論
スーパー戦隊進化論
Takuma Watabiki
Gws in fukuoka
Gws in fukuoka
Takuma Watabiki
Devsumi2012 JGGUG LT
Devsumi2012 JGGUG LT
Takuma Watabiki
Spockを使おう!
Spockを使おう!
Takuma Watabiki
G*Magazineを読もう
G*Magazineを読もう
Takuma Watabiki
G*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIII
Takuma Watabiki
Mehr von Takuma Watabiki
(16)
「普通の設計」をするということ
「普通の設計」をするということ
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
バックエンドのエンジニアがiOSアプリ開発をやってみて思うこと - フロントエンドのアーキテクチャの考察 -
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
『現場で役立つシステム設計の原則』は一般的なSI現場で役立つのか?
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
JGGUG Community LT 2016
JGGUG Community LT 2016
Spring in-summer-gradle-hands on-withanswers
Spring in-summer-gradle-hands on-withanswers
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Gradleどうでしょう
Gradleどうでしょう
Jjug 20140430 gradle_basic
Jjug 20140430 gradle_basic
Spock's world
Spock's world
スーパー戦隊進化論
スーパー戦隊進化論
Gws in fukuoka
Gws in fukuoka
Devsumi2012 JGGUG LT
Devsumi2012 JGGUG LT
Spockを使おう!
Spockを使おう!
G*Magazineを読もう
G*Magazineを読もう
G*におけるソフトウェアテスト・シーズンIII
G*におけるソフトウェアテスト・シーズンIII
Kürzlich hochgeladen
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
BkGupta21
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Rizwan Syed
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Precisely
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
MounikaPolabathina
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dubai Multi Commodity Centre
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Raghuram Pandurangan
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
mohitsingh558521
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Alfredo García Lavilla
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Slibray Presentation
Kürzlich hochgeladen
(20)
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Groovyノススメ
1.
Groovy 2009.12.12 DevLOVE 2009
Fusion takuma.watabiki@jggug.org
2.
JGGUG
Grails/Groovy twitter id : bikisuke
3.
Groovy 10
4.
Groovy
5.
Groovy
6.
Groovy • JVM
7.
Groovy • JVM •
8.
Groovy • JVM • •
9.
Groovy • JVM • • • Java
10.
Groovy • JVM • • • Java •
Ruby Python, Smalltalk
11.
Java
12.
13.
Java
C)
14.
Java
Groovy C)
15.
Groovy
Java Java
16.
Groovy
Java Java
17.
18.
ERROR Java Groovy
19.
import java.io.*; import java.util.regex.*; public
class ErrorExtractor { public static void main(String[] args) { BufferedReader br = null; BufferedWriter bw = null; try { br = new BufferedReader(new InputStreamReader( new FileInputStream(new File("/work/server.log")))); bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("/work/errorlist.log"))); String line = null; Pattern p = Pattern.compile(".*ERROR.*"); while((line = br.readLine()) != null) { Matcher m = p.matcher(line); if(m.matches()) bw.write(line + "¥n"); } } catch (Exception e) { } finally { try { br.close(); bw.close(); } catch(Exception e) {} Java } } }
20.
import java.io.*; import java.util.regex.*; public
class ErrorExtractor { public static void main(String[] args) { BufferedReader br = null; BufferedWriter bw = null; try { br = new BufferedReader(new InputStreamReader( new FileInputStream(new File("/work/server.log")))); bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("/work/errorlist.log"))); String line = null; Pattern p = Pattern.compile(".*ERROR.*"); while((line = br.readLine()) != null) { Matcher m = p.matcher(line); if(m.matches()) bw.write(line + "¥n"); } } catch (Exception e) { } finally { try { br.close(); bw.close(); .groovy } catch(Exception e) {} } } }
21.
import java.util.regex.*; BufferedReader br
= null; BufferedWriter bw = null; try { br = new BufferedReader(new InputStreamReader( new FileInputStream(new File("/work/server.log")))); bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("/work/errorlist.log"))); String line = null; Pattern p = Pattern.compile(".*ERROR.*"); while((line = br.readLine()) != null) { Matcher m = p.matcher(line); if(m.matches()) bw.write(line + "¥n"); } } catch (Exception e) { } finally { try { br.close(); bw.close(); main } catch(Exception e) {} }
22.
import java.util.regex.*; BufferedReader br
= new BufferedReader(new InputStreamReader( new FileInputStream(new File("/work/server.log")))); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("/work/errorlist.log"))); String line = null; Pattern p = Pattern.compile(".*ERROR.*"); while((line = br.readLine()) != null) { Matcher m = p.matcher(line); if(m.matches()) bw.write(line + "¥n"); } br.close(); bw.close(); try-catch
23.
File f =
new File("/work/errorlist.log") new File("/work/server.log").eachLine { line -> if(line =~ ".*ERROR.*") { f.append(line + "¥n") } } Groovy
24.
25.
import java.io.*; import java.util.regex.*; public
class ErrorExtractor { public static void main(String[] args) { BufferedReader br = null; BufferedWriter bw = null; try { br = new BufferedReader(new InputStreamReader( new FileInputStream(new File("/work/server.log")))); bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream("/work/errorlist.log"))); String line = null; Pattern p = Pattern.compile(".*ERROR.*"); while((line = br.readLine()) != null) { Matcher m = p.matcher(line); if(m.matches()) bw.write(line + "¥n"); } } catch (Exception e) { } finally { try { br.close(); bw.close(); } catch(Exception e) {} } } }
26.
File f =
new File("/work/errorlist.log") new File("/work/server.log").eachLine { line -> if(line =~ ".*ERROR.*") { f.append(line + "¥n") } }
27.
28.
• • Expando Meta
Class • Grape • Mixin • AST • ...
29.
Groovy
30.
31.
Groovy
32.
Groovy
33.
Groovy
34.
35.
Hudson kkawa Groovy
※
36.
Hudson kkawa Groovy
※ ※2008 SDC SQUARE
37.
Groovy Q&A
38.
Q.
39.
A. Hudson CLI
groovy groovysh
40.
Q.
Scala
41.
A.
Groovy
42.
Q.
43.
A. Groovy
! Groovy @torazuka
44.
Q. Groovy
45.
A.
Groovy JOJO Groovy
46.
A.
Groovy JOJO Groovy
47.
Q. Groovy
48.
A.
49.
Groovy
50.
Groovy
JGGUG
51.
Groovy
JGGUG
52.
53.
54.
55.
Groovy
JVM Java
Jetzt herunterladen