Gradle wird den Build schon schaukeln am 15. Dezember 2011

25. November 2011 von Oliver Fischer in Treffen
Schlagwörter: , , ,

Am 15. Dezember 2011 lädt die Java Usergroup Berlin-Brandenburg zusammen mit Gradleware GmbH zum Vortrag Gradle wird den Build schon schaukeln mit Hans Dockter ein.

Der Vortrag

Gradle wird den Build schon schaukeln (Hans Dockter): Gradle ist der aufstrebende Stern am Himmel der Open-Source-Build-Systeme. Mit Gradle lässt sich der Build elegant an die projektspezifischen, unvorhersehbaren Anforderungen anpassen. Anhand vieler Livebeispiele geben wir einen Einblick in die Konzepte und die Anwendung von Gradle. Die Teilnehmer dürfen sich auf elegante Build-Skripts, schnelle Builds und innovative Features freuen.

Der Redner

Hans Dockter: Hans Dockter ist der Gründer und Leiter von Gradle, sowie der Geschäftsführer der Gradle GmbH, ein Unternehmen, das Training, Support und Beratung für Gradle und Enterprise-Projektautomatisierung im Allgemeinen anbietet. Hans Dockter hat 13 Jahre Erfahrung als Softwareentwickler, Projektleiter, Architekt, Trainer und Mentor. Er ist einer der führenden Köpfe im Gebiet der Projektautomatisierung und zeichnete sich verantwortlich für eine Vielzahl von komplexen Enterprise Builds. Er ist auch ein Verfechter von Domain-driven Design und gab Vorträge und Trainings zusammen mit Eric Evans zu diesem Thema. In grauer Vorzeit war er auch Committer für das JBoss-Projekt und schuf die JBoss-IDE.

Der Treffpunkt

GLS Campus, Haus 3, Aula, Kastanienallee 82, 10435 Berlin (Prenzlauer Berg)

Der Ablauf

18:30 Uhr Einlaß und Zeit für Networking
19:00 Uhr Vortrag Grade wird den Build schon schaukeln

Die Anmeldung

Die Anmeldung zur Veranstaltung erfolgt ausschließlich über das XING-Event der XING-Gruppe der JUG Berlin-Brandenburg. Hier geht es zur XING-Gruppe der JUG Berlin-Brandenburg.

  • Kommentare deaktiviert

Quelltext zum “Scala in der Praxis”-Vortrag

4. November 2011 von Oliver Fischer in Java, Java Code Beispiele

Auf Bitte einiger Teilnehmer unseres gestrigen Vortrags mit Arno Haase zu Scala in der Praxis ist hier der Quelltext.

package a
 
 
sealed abstract class Expr 
case class IntExpr (i: Int) extends Expr
case class VarExpr (name: String) extends Expr
case class BinExpr (left: Expr, right: Expr, op: String) extends Expr
 
object Expr {
  def eval (e: Expr, vars: Map[String, Int]): Int = e match {
    case IntExpr (i) => i
    case VarExpr (v) => vars(v)
    case BinExpr (left, right, "+") => eval (left, vars) + eval (right, vars)
    case BinExpr (left, right, "*") => eval (left, vars) * eval (right, vars)
  }
}
 
class ExprWithSyntax (e: Expr) {
  def + (other: Expr) = BinExpr (e, other, "+")
  def * (other: Expr) = BinExpr (e, other, "*")
 
  def apply (vars: (String, Int)*) = {
    val m = vars.foldLeft (Map[String, Int]()) ((res, cur) => res + cur)
    Expr.eval (e, m)
  }
}
 
object ExpressionSyntax {
  implicit def intAsExpr (i: Int) = IntExpr (i)
  implicit def withSyntax (e: Expr) = new ExprWithSyntax (e)
  implicit def intWithSyntax (i: Int) = new ExprWithSyntax (IntExpr (i))
  def Var (s: String) = VarExpr (s)
}
 
object HelloMain {
  def main (args: Array[String]) {
    import ExpressionSyntax._
    val e = 5 * (3 + Var ("x"))
 
//    println (Expr.eval (e, Map ("x" -> 2)))
    println (e ("x" -> 2))
  }
}
  • Kommentare deaktiviert