In Unicode 7. Eine Auflistung etwa unter http://emojipedia.org/new-emoji/.
Autor: Christian Ullenboom
WildFly (JBoss AS) 8.1 freigegeben
https://lists.jboss.org/pipermail/wildfly-dev/2014-June/002207.html
Auch unser Kurs http://www.tutego.de/seminare/java-schulung/wildfly-8-administration-kurs-jboss-as.html berücksichtigt die kleinen Updates.
Spark: Sehr hübsches Java Micro-Web-Framework
http://www.sparkjava.com/. Traumhaft einfach:
import static spark.Spark.*;
public class HelloWorld {
public static void main(String[] args) {
get("/hello", (req, res) -> "Hello World");
}
}
Wieder eine neue Sprache: Apple Swift
Na endlich kommt man für die iOS-Programmierung von Objective-C weg. Wirkt für mich wie eine Mischung aus Lua und JavaScript.
Einführung unter https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/. Viel Spaß
ControlsFX 8.0.6 mit einigen Updates
Die listet umfangreich http://fxexperience.com/2014/05/announcing-controlsfx-8-0-6/ auf. Neu sind etwa Dekoratoren zur Validierung:
JDK 7, Update 60 (JDK 7u60)
Siehe http://www.oracle.com/technetwork/java/javase/7u60-relnotes-2200106.html. Mal keine Security-Fixes nötig
Neu u.a.:
- This JDK release includes JavaFX version 2.2.60.
- This JDK release includes Java Mission Control(JMC) version 5.3. For more information, see JMC 5.3 Release Notes.
- http://www.oracle.com/technetwork/java/javase/2col/7u60-bugfixes-2202029.html
Crosspost: Einführung in die Hausautomatisierung und openHAB
Exploiting Software Running on Three Billion Java Devices (Black Hat 2013)
“Java ist auch eine Insel”, 11. Auflage, jetzt neu im Handel
Nach mehr als zwei Jahren gibt es ein Update der Insel: https://www.galileo-press.de/java-ist-auch-eine-insel_3606/. Aktualisiert auf Java 8, 1306 Seiten, ISBN 978-3-8362-2873-2, E-Book-Formate: PDF, EPUB, MOBI, Online.
Online ist das Buch nicht mehr, da es zu juristischen Auseinandersetzungen mit Mitbewerben kommen könnte. Vereinfacht ausgedrückt: Etwas verkaufen, was gleichzeitig frei ist, macht den Verlag verletzbar gegenüber Abmahnungen. Online bleibt aber weiterhin die jeweils letzte Version, also komplett wie üblich Auflage 10: http://www.tutego.de/javabuch/; das gilt auch für den 2. Band, den es ebenfalls bald im Handel geben wird.
Weiterhin ist eine PDF mit Kapitel 2 und 3 mit nahezu 300 Seiten vom 1. Band, 11. Auflage, online.
Thema der Woche: Java Memory Leaks
- Was ist die traditionelle Definition eines Memory Leaks (zu Deutsch Speicherleck)?
- Kann es Memory Leaks in Java geben?
- Studiere die Antworten unter https://stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java und extrahiere eine Reihe von Punkten.
- Wie kann man Memory Leaks finden? Gibt es Werkzeuge?
Java Tools & Technologies Landscape for 2014
Link: Wie man einen langlaufenden regulären Ausdruck stoppt
SceneBuilder 2.0 final
SceneBuilder 2.0 ist nun final, das Beta zog sich lange hin:
It has many cool new features and was a complete rewrite from the ground up so that it can be split into parts and embedded in your favorite IDE.
Updates unter http://fxexperience.com/2014/05/announcing-scenebuilder-2-0/, http://docs.oracle.com/javase/8/scene-builder-2/release-notes/jfxsb-release_notes_2-0.htm:
-
JavaFX Scene Builder Kit. JavaFX Scene Builder Kit is an API that allows the integration of Scene Builder panels and functionalities directly into the GUI of a larger application, or a Java IDE, such as NetBeans, IntelliJ, and Eclipse. See Working with the JavaFX Scene Builder Kit for more details.
-
Ability to add custom GUI components to the Library. Custom components imported from a third party JAR file can now be added permanently to the Library of available GUI components. See Adding Custom Components to the Library for more information.
-
Support for new JavaFX 8 UI components. The new UI components, TreeTableView, DatePicker, and SwingNode, that were introduced in the Java SE 8 are now supported in Scene Builder 2.0. To see the list of JavaFX 8 UI components that are available, type
FX8
in the Library panel’s search text field. -
3D Support. FXML documents containing 3D objects can now be loaded and saved in the Scene Builder tool. You can view and edit properties of the 3D objects using the Inspector panel. You can not, however, create new 3D objects using the Scene Builder tool. See JavaFX Scene Builder User Guide for more information.
-
Support for Rich Text. A new container, TextFlow, is now available in the Library of GUI components. You can drag multiple text nodes and other types of nodes, into the a TextFlow container. You can also directly manipulate the text nodes to re-arrange them in the container. Inline and property editing features are also available for each text node.
-
Library Panel Improvements. The default viewing option for the Library panel is a new feature that gives you the option to view all the component categories as collapsible sections.
-
Hierarchy Panel Improvements. It is now more flexible to re-parent objects from one container to another container. It is also possible to drag and drop an object from the Hierarchy Panel to the Content Panel, and vice versa. You can also now select multiple objects in the Hierarchy Panel in order to re-parent them.
-
Content Panel Improvements. You can now manipulate the components of an HBox, VBox, FlowPane, or Toolbar container directly in the Content Panel to re-order them. You can also insert a new component at any position in the container. Note that this direct manipulation is currently not available for the TilePane container.
-
Inspector Panel Improvements. Many property editors in the Inspector panel use the Suggested List dialog window, which displays a list of selectable values from which you can make a selection instead of manually entering them. For example, the CSS Style editor provides a list of applicable CSS properties, based on the currently selected object(s). List handling has also been simplified. Multi-selection of components of different types (i.e. Button + TextField) is now supported. In addition, the usability of many of the property editors, such as AnchorPane Constraints, Rotate, and Padding, have been improved.
-
Preview Window Improvements. The content in the Preview window is now automatically refreshed as the current FXML document is being edited. Hence, there’s no need to use the Refresh command in order to preview the modified UI layout.
-
Change in the Include FXML Command. When you click File from the Menu bar and then click Include, you can only select the FXML menu item if the current FXML document you are editing is saved on your system’s disk and is not empty.
PrimeFaces erreicht Version 5.0
Ein großer Schritt, von Version 4 auf 5. News unter http://www.theserverside.com/discussions/thread.tss?thread_id=79161. Im Kurs http://www.tutego.de/seminare/java-schulung/PrimeFaces-JSF2-Kurs.html gehen wir bald auch auf die Neuigkeiten ein.
Groovy 2.3.1 Update
Noch nicht lange die die Version 2.3 raus, jetzt schon kommt ein Update. Alle Infos unter http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&version=20366.
Value types in Java 9?
Value types in the vm, infant edition https://blogs.oracle.com/jrose/entry/value_types_in_the_vm1
gwtbootstrap3 Version 0.7 fertig
https://github.com/gwtbootstrap3 ist eine GWT-Bibliothek mit hübschen Komponenten, einen Grid-System, siehe dazu auch https://gwtbootstrap3.github.io/gwtbootstrap3-demo/, alles ist optimiert auf Umfluss für mobile Endgeräte. Es basiert auf Twitter Bootstrap http://getbootstrap.com/. Änderungen in Version 0.7:
- Added connivence methods to easily set margins/paddings on widgets.
- Ensured removal of all handlers on the unLoad of widgets
- Added methods to show/hide/toggle NavbarCollapse
- Further styled GWT’s CellTable/DataGrid to reflect Bootstrap tables
- Upped the dependency of GWT to 2.6.0
- Added submit/reset methods to Form
- Renamed all setTarget/setToggle methods to setDataTarget/setDataToggle, also any setter that referenced a data* attribute was renamed
- Added in a check as to not load jQuery if it’s already present
- Changed the parent of gwtbootstrap3-parent to oss-parent (org.sonatype.oss)
Was ich in meinem Code ändern musste war tatsächlich die *Data* Sache:
dismissButton.setDismiss( ButtonDismiss.MODAL ); –> dismissButton.setDataDismiss( ButtonDismiss.MODAL );
dialog.setKeyboard( true ); –> dialog.setDataKeyboard( true );
anchor.setTarget( "#" + title.hashCode() ); –> anchor.setDataTarget( "#" + title.hashCode() );
anchor.setToggle( Toggle.COLLAPSE ); –> anchor.setDataToggle( Toggle.COLLAPSE );
JUnit im Spoiklin Diagramm
Dokumentiert http://edmundkirwan.com/general/junit.html:
Eclipse 4.4.0 Release Candidate 1
Real Time Kommunikation mit Animated GIFs
Ein ziemlich intelligenter Trick, um Daten vom Server zum Client zu senden sind Animated GIFs. Ein GIF kann beliebig viele Frames haben und der Client hält die Verbindung offen um noch “den Rest” zu lesen.
https://github.com/videlalvaro/gifsockets ist eine JVM-Bibliothek in Java und Clojure, das genau das macht: Einen Server zu bauen, der Frame für Frame zum Client streamt. Es gibt ein Start-Frame, dann kann das Serverprogramm beliebig viele Frames senden und zum Schluss ein Abschluss-Frame – dafür gibt es eine API. Allerdings kodiert das Beispiel die Daten (hier Text) als Grafik “Graphics drawString()”; interessanter wäre es, Binärdaten über Farbwerte zu kodieren und auf dem Client dann auszulesen – hier ist also noch Platz für ein weiteres Open-Source-Projekt.
Natürlich brauch so etwas nicht wirklich, wenn man WebSockets nutzen kann. Doch es ist ein interessanter Hack.