Groovy presentation on Exception #7 conference

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Groovy presentation on Exception #7 conference - Presentation Transcript

    1. Groovy – другой взляд на Java Вадим Войтюк [email_address] http://voituk.kiev.ua/
      • современный динамический язык для платформы Java
      • вся мощь JVM и JRE
      • syntax-sugar из Python, Ruby, Smalltalk
      • современные парадигмы программирования
      • меньше кода «скучного» кода
      • поддержка концепции DSL (Domain Specific Languages)
      • повышение продуктивности разработчиков
      • упрощение автоматизированного тестирования
      • сохранение инвестиций в Java- технологии
      Groovy – это … Groovy – другой взляд на Java Киев, 15 марта 2008 г.
    2. public class Filter { public static void main( String[] args) { List list = new ArrayList(); list.add( &quot;Rod&quot; ); list.add( &quot;Neeta&quot; ); list.add( &quot;Eric&quot; ); list.add( &quot;Missy&quot; ); Filter filter = new Filter(); List shorts = filter.filterLongerThan( list, 4 ); System.out.println( shorts.size() ); Iterator iter= shorts.iterator(); while ( iter.hasNext() ) System.out.println( iter.next() ); } public List filterLongerThan( List list, intlength ) { List result = new ArrayList(); Iterator iter= list.iterator(); while ( iter.hasNext() ) { String item = (String) iter.next(); if ( item.length() <= length ) result.add( item ); } return result; } } Пример: Java код Groovy – другой взляд на Java Киев, 15 марта 2008 г.
    3. String mas[] = {”Rod”, “Neeta”, “Eric”, “Missy”}; List l = new LinkedList(Arrays.asList(mas)); for(Iterator i = l.iterator(); i.hasNext();) if(i.next().length() > 4) i.remove(); System.out.println(l.size()); for(String s: l) System.out.println(s); Пример: Java код (снова) Groovy – другой взляд на Java Киев, 15 марта 2008 г.
    4. def list = [&quot;Rod&quot;, &quot;Neeta&quot;, &quot;Eric&quot;, &quot;Missy&quot;] def shorts = list.findAll{ it.size() <= 4 } println shorts.size() shorts.each { println it } Результат: 2 Rod Eric Пример: Groovy код Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • JRE + Огромное количесто уже написаного Java- кода (библиотеки, фреймворки, среды, ...)
      • Динамическая типизация, замыкания, билдеры GroovyBeans и другой syntax-sugar …
      • Метапрограммирование
      • Те же механизмы и инструменты поддержки процесса разрабоки
      • Grails – наш ответ RoR подходу
      • Прост в изучении и понимании
      • Groovy - это не JPython, не JRuby, не BeanShell
      Особенности Groovy Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • Динамическая и опционально статическая типизация int a = 2 def str = &quot;Hello&quot;
      • С интаксис для списков, хешей, массивов, RegExp -ов .. . def myMap = [&quot;Neta&quot;:33, &quot;Eric&quot;:35, new Date()] (&quot;1234567&quot; =~ /[0-9]+/).each {println it}
      • Работа с свойствами обьекта как с коллекциями assert document.all[“form”]==document.all.form
      • Замыкания myMap.each { name, age -> println &quot;$name is $age years old&quot; }
      • Перегрузка операторов + , - , /, * , <<, >> , [], ...
      Основы синтаксиса Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • Оператор ?. ( safe navigation ) и ?: (elvis operator) Obj?.method1()?.method2()?.method()… def x = (a!=null?a:b) => def x = a?:b
      • Категории и Expando - расширение ЛЮБОГО класса , даже final
      • Template Engine аля Velocity
      • Default Parameters void hello(name=&quot;World&quot;) {...}
      • Currying – замашки на Функциональное Программирование
      • Aliases def p = System.out.&println; p(&quot;Hello“)
      • Duck typing и приведение к интерфейсу (оператор AS )
      Расширенные возможности Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • String
      • - contains(), count(), execute(), padLeft(), center(),
      • - padRight(), reverse(), tokenize(), each(), etc.
      • Collection
      • - count(), collect(),join(),each(),reverseEach(),
      • - find/All(), min(), max(), inject(), sort(),etc.
      • File
      • - eachFile(), eachLine(), withPrintWriter(), write(), getText() ...
      • Методы можно добавлять самостоятельно
      GDK – JDK на стероидах Groovy – другой взляд на Java Киев, 15 марта 2008 г.
    5. (new MarkupBuilder ()).records() { car(name:'HSV Maloo', make:'Holden', year:2006) { country('Australia') record(type:'speed', 'Pickup Truck, speed 271kph') } car(name:'P50', make:'Peel', year:1962) { 10.times{ country('Isle of Man') } record(type:'size', ‘Street-Legal Car at 59 kg') } car(name:'Royale', make:'Bugatti', year:1931) { country('France') record(type:'price', 'Most Valuable Car at $15Mln') } } Groovy Builder- ы – Пример – Код Groovy – другой взляд на Java Киев, 15 марта 2008 г.
    6. <records> <car name='HSV Maloo' make='Holden' year='2006'> <country>Australia</country> <record type='speed'>Pickup Truck, speed 271kph</record> </car> <car name='P50', make='Peel', year='1962' > <country>Isle of Man<country> … … // 10 раз <record type='size’>Street-Legal Car at 59 kg</record> … … Groovy Builder- ы – Пример – Результат Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • Синтаксическая поддержка иерархических структур
      • - XHTML
      • - XML
      • - Ant
      • - Swing
      • - SWT - Hibernate Criteria
      • Возможность добавить свой Builder
      • - Objects
      • - GraphicsBuilder
      • - GraphBuilder
      Groovy Builder- ы – их есть... Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • GPath - XPath - like запросы по композиции обьектов
      • Extended Xml processing
      • Groovy SQL – расширение JDBC
      • Встроенный Ant
      • Grapplet
      • Groovlet, GSP, RESTlet – наш ответ Servlet -ам , JSP и REST
      • XML-RPC & GroovyWS & Gdata & Jabber RPC
      • GroovyMock & JUnit & TestNG и другие..
      • JSR 223: Scripting for the Java Platform
      • Groovy Scriptom – интеграция с COM/COM+
      Что ещё может Groovy? Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • Компилятор + Интерпретатор (groovyc/groovy)
      • Консоль+инспектирование (groovyConsole/groovysh + inspect)
      • Ant Task + Maven Plugin
      • Плугины к популярным IDE: Eclipse, IDEA, Oracle JDeveloper, Netbeans
      • … и редакторам: JEdit, Emacs, UltraEdit, vim
      Инструментальная поддержка Groovy – другой взляд на Java Киев, 15 марта 2008 г.
    7. Идеологическая поддержка Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • http://groovy.codehaus.org
      • http://groovy.dzone.com
      • Книга “Groovy in Action”
      • Книга “Scripting in Java”
      • Groovy / Grails maillist
      • http://voituk.kiev.ua/groovy
      Источники знаний Groovy – другой взляд на Java Киев, 15 марта 2008 г.
      • Вопросы можно слать на e-mail [email_address]
      Вопросы? Groovy – другой взляд на Java Киев, 15 марта 2008 г.

    + voitukvoituk, 2 years ago

    custom

    1201 views, 0 favs, 4 embeds more stats

    http://voituk.kiev.ua/groovy-presentation-for-excep more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1201
      • 589 on SlideShare
      • 612 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 27
    Most viewed embeds
    • 608 views on http://voituk.kiev.ua
    • 2 views on http://209.85.135.132
    • 1 views on http://64.233.183.104
    • 1 views on http://209.85.129.132

    more

    All embeds
    • 608 views on http://voituk.kiev.ua
    • 2 views on http://209.85.135.132
    • 1 views on http://64.233.183.104
    • 1 views on http://209.85.129.132

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags