Markup Template Engine is a new feature of Groovy, that is a kind of Embedded DSL which is implemented using Groovy 2.x features like:
- Custom Type Checker(Type Check Extension)
- Compiler Configuration
You can generate HTML/XML using full brown programming language features:
- modularity
- abstraction
- type system
- flow structure
- variable, OOP, etc, etc..
Introduction to GraalVM and Native ImageKoichi Sakata
2019/08/23 JVM Language Summit Report Event at KanJava JUG
https://kanjava.connpass.com/event/139770/
This slide is about GraalVM, especially SubstrateVM that is able to generate native images.
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~Shinji Takao
クラウドや多言語の環境に対応できる 新しいJava実行環境 GraalVM は、ネイティブビルドだけでなく、通常の Java VM として使うこともできます。
このたび、クラウド環境用ベンチマーク「BluePerf」などを使い、GraalVM と OpenJDK を比較したので、結果を報告します。
Japan Java User Group (JJUG) Cross Community Conference (CCC) 2021 Fall 発表資料
https://www.youtube.com/watch?v=5MtjfQfdC_g
The document discusses features and enhancements in Groovy 1.8.0, including improved AST processing, new logging capabilities using the @Log annotation, support for method locks with @WithReadLock and @WithWriteLock, interruptible loops, memoization of recursive functions, and integration with JSON parsing. Slides provide code examples and diagrams to illustrate these Groovy language and library improvements.
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...Uehara Junji
The document compares Java and Groovy implementations of a word counting program. The Java version uses HashMaps and file input/output to count word frequencies, while the Groovy version uses a default map with integer values and sorts the entries by value before outputting. Both programs take a file, split the contents on whitespace, count each word, and output the results.
The document describes code for making an HTTP request to a server using sockets in Groovy. It defines a SocketAccess class with a main method that creates a socket connected to groovy.codehaus.org on port 80. The socket's input and output streams are used to send the HTTP request and read the response line by line, printing each line.
Easy Going Groovy 2nd season on DevLOVEUehara Junji
The document appears to be a slide presentation about Groovy programming. It includes slides with code samples and descriptions of Groovy features like Grails, Griffon, Spock testing, and integrating Ant tasks. Later slides demonstrate using Groovy with HtmlUnit to programmatically upload a file to a wiki site.
Slides for JJUG(Japan Java User Group) 2009 Fall BOF.
Talking about groovy history, new features in Groovy 1.6,1.7.
Especially focused on AST Transformations.
This document appears to be slides from a presentation about Groovy and Grails. The slides cover topics like: the history of Groovy; Groovy's integration with Java; Groovy's syntax including closures, collections, and meta-programming; and Grails' use of Groovy for web application development. Later slides discuss how Groovy is implemented and distributed, and some Groovy features like Grape for dependencies and Power Assert for assertions.
LispBuilder is lisp interpreter and parser implemented as Groovy’s Builder. LispBuilder accepts Lisp like expression, and can be evaluated on groovy.
http://wiki.github.com/uehaj/LispBuilder
The document discusses using the Grails framework to build web applications on Google App Engine for Java (GAE/J). It mentions that Grails scaffolding and GORM work well with GAE/J's data storage options like BigTable and Memcache. While some Grails features need modification for GAE/J like replacing JSP with GSP and handling cookies differently, Grails is overall a good fit for developing on GAE/J due to similarities with Java EE.
This document discusses the web application framework Grails. It begins by asking what Grails is, then explains that Grails is a web application framework similar to Ruby on Rails but uses the Groovy programming language instead of Ruby. Some key features of Grails mentioned include using Java EE as the base, allowing war file generation, and incorporating tools like Spring Framework, Hibernate, and SiteMesh through the use of Groovy's domain-specific language for development.
IoT Devices Compliant with JC-STAR Using Linux as a Container OSTomohiro Saneyoshi
Security requirements for IoT devices are becoming more defined, as seen with the EU Cyber Resilience Act and Japan’s JC-STAR.
It's common for IoT devices to run Linux as their operating system. However, adopting general-purpose Linux distributions like Ubuntu or Debian, or Yocto-based Linux, presents certain difficulties. This article outlines those difficulties.
It also, it highlights the security benefits of using a Linux-based container OS and explains how to adopt it with JC-STAR, using the "Armadillo Base OS" as an example.
Feb.25.2025@JAWS-UG IoT
17. 静的型チェックにより検出されるエラー例
import groovy.transform.TypeChecked
@TypeChecked 型が違う!
int foo(String s) { そんなメソッド無い!
int i = s
// [Static type checking] - Cannot assign value of type java.lang.String to
variable of type int
String result = s.toUppperCase()
// [Static type checking] - Cannot find matching method
java.lang.String#toUppperCase(). Please check if the declared type is right and
if the method exists. 型が違う!
return result
// [Static type checking] - Cannot return value of type java.lang.String on
method returning type int
}
Slide # 11 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.
18. GGTS 3.0.0から利用
Slide # 12 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.
19. フローセンシティブタイピング
def a = -3
a.abs()
a.toUpperCase()
a = "ABC"
a.abs()
a.toUpperCase()
Slide # 13 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.
20. フローセンシティブタイピング
aはint型と見な
def a = -3
a.abs()
a.toUpperCase()
a = "ABC"
a.abs()
a.toUpperCase()
Slide # 13 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.
21. フローセンシティブタイピング
aはint型と見な
def a = -3
a.abs()
a.toUpperCase()
a = "ABC" aはString型と
a.abs()
a.toUpperCase()
Slide # 13 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.
22. フローセンシティブタイピング
aはint型と見な
def a = -3
[Static type checking] -
a.abs() Cannot find matching method
java.lang.Integer#toUpperCas
a.toUpperCase() e()
a = "ABC" aはString型と
a.abs()
a.toUpperCase()
Slide # 13 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.
23. フローセンシティブタイピング
aはint型と見な
def a = -3
[Static type checking] -
a.abs() Cannot find matching method
java.lang.Integer#toUpperCas
a.toUpperCase() e()
a = "ABC" aはString型と
a.abs()
[Static type checking] - Cannot
a.toUpperCase() find matching method
Slide # 13 JGGUG G*Workshop
java.lang.String#abs() rights reserved.
Copyright(C) 2012 NTT Software Corporation All
27. ベンチマーク(CompileStatic)
1.2##
1.0##
0.8##
CompileStatic
0.6##
Groovy#1.8.2#
0.4## Groovy#2.0.1#
Groovy#2.0.1#CompileSta<c#
0.2## Java#SE#1.7.0u6#
0.0##
]#
#
)]#
#
]#
)]#
]#
#
]#
#
a]
f)]
g]
rt]
es
y)
m
ch
ry
#i f
in
st
c#i
so
ar
or
re
ku
ce
na
a
dR
a<
rn
ck
lN
[F
y#T
nn
an
er
ea
#te
ui
( st
ra
ar
c#t
a
st
[Q
hr
ct
[F
ce
ib
(i n
in
a<
pe
[T
[F
an
[B
ib
( st
[S
st
[F
ib
(i n
[F
ib
[F
https://github.com/alextkachman/fib-benchmark をベースに計測。
グラフはJavaを1としたときの実行時間の比率(大きいほど速い)。
Slide # 15 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.
33. ベンチマーク(vs. Groovy++)
1.2##
Grroovy++
1.0##
0.8##
Groovy#1.8.2#
0.6##
Groovy#2.0.1#
0.4## Groovy#2.0.1#CompileSta<c#
Java#SE#1.7.0u6#
0.2## Groovy#2.0.1#indy#
Groovy++0.9.0/1.8.2#
0.0##
]#
#
)]#
)]#
]#
)]#
]#
#
]#
#
a]
g]
rt]
es
y)
m
ch
ry
f
#i f
in
st
c#i
so
ar
or
re
ku
ce
na
a
dR
a<
rn
ck
lN
[F
y#T
nn
an
er
ea
#te
ui
( st
ra
ar
c#t
a
st
[Q
hr
ct
[F
ce
ib
(i n
in
a<
pe
[T
[F
an
[B
ib
( st
[S
st
[F
ib
(i n
[F
ib
[F
Slide # 21 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.
36. ベンチマーク(indy)
1.2##
1.0##
0.8##
0.6## Groovy#1.8.2#
Groovy#2.0.1#
0.4##
Groovy#2.0.1#CompileSta<c#
Java#SE#1.7.0u6#
0.2##
Groovy#2.0.1#indy#
0.0##
]#
#
)]#
)]#
]#
)]#
]#
#
]#
#
a]
g]
rt]
es
y)
m
ch
ry
f
#i f
in
st
c#i
so
ar
or
re
ku
ce
na
a
dR
a<
rn
ck
lN
[F
y#T
nn
an
er
ea
#te
ui
( st
ra
ar
c#t
a
st
[Q
hr
ct
[F
ce
ib
(i n
in
a<
pe
[T
[F
an
[B
ib
( st
[S
st
[F
Groovy 2.0.1 -indy
ib
(i n
[F
ib
[F
Slide # 24 JGGUG G*Workshop Copyright(C) 2012 NTT Software Corporation All rights reserved.