Pi’s zijn Betaalbaar
EenLuxe Taart
Een Fiets
(alleen het wiel)
€35
Monday, 28 October 13
3/4 Pak Luiers
10.
Chalkboad Electronics Touchscreen
§10" or 7" Form Factor
§ Verbind via HDMI/USB
§ Getest met JavaFX 8
§ 10% Exclusieve Korting:
G1F0U796Z083
Monday, 28 October 13
11.
Hoe installeer jejouw Pi
>
Stap 1: Installeer Linux
>
Stap 2: Download/Copieer Java 8 voor ARM EA
>
Stap 3: Deploy and Run JVM Language Apps
http://steveonjava.com/
javafx-on-raspberry-pi-3-easy-steps/
Monday, 28 October 13
12.
Wat zit erin jouw Lab Kit
Touch Screen
SD Card
Toetsenbord
Gele Doos:
1.
2.
3.
4.
l
l
l
l
l
Stroom Adapter
LVDS Kabel/Bord
Raspberry Pi Model B
Mini-USB Kabel (stroom)
Micro-USB Kabel (toetsenbord)
AUB: Bewaar de verpakking voor later!
Monday, 28 October 13
13.
Electriciteit en Veiligheid!
>
Stekkeruit de muur voordat je begint
>
Verwijder statische electriciteit door
een metaal oppervlak aan te raken
>
Raak onbeschermde snoeren/metaal
niet aan
>
Nooit de SD Kaart verwijderen of
aansluiten als er stroom op staat
13
Monday, 28 October 13
14.
Aansluiten van dePi (Deel 1)
Belangrijk: Sluit alles eerst aan voordat je er stroom op zet!
Plaats de SD Kaart in de Pi
1.
l
Lijkt ondersteboven van boven af bekeken
Plaats het HDMI bord in de HDMI plug van
2.
de Pi
Verbind de Pi stroom kabel aan het HDMI
3.
bord
l
Gebruik de Micro USB Kabel (de kortere)
14
Monday, 28 October 13
15.
Aansluiten van dePi (Deel 2)
Schuif de LCD kabel aan de achterkant van het
scherm
4.
l
l
De kant met gouden aansluiters moet boven
Voorzichtig, de aansluiting is kwetsbaar!
Sluit de USB uitgang aan een van de USB ports
van de Pi
5.
l
Dit is voor de touch input
Sluit het toetsenbord aan
6.
1.
Gebruik de Mini USB kabel (de langere)
Controleer de verbindingen en sluit de stroom aan
15
Monday, 28 October 13
16.
Werkt het nu?
>
Alshet goed is zie je een aantal LED lampjes oplichten, dit geeft aan
dat de Pi aan het opstarten is
l
>
Het LCD scherm zou nu moeten aangaan
l
>
Opstarten duurt ongeveer 30 seconden
Als de licht sensor belemmerd is, dan lijkt deze wat schemerig
Als het goed is zie je een Linux opstart scherm met heel veel tekst
Hacking Time!
Monday, 28 October 13
17.
Inloggen
Bij login, typeje gebruikersnaam:
> pi
En voer het wachtwoord in:
> raspberry
Monday, 28 October 13
18.
Draai je eersteProgramma
Verander de map naar de project map
> cd MaryHadALittleLambda
Run(=uitvoeren van) het script
> ant
Monday, 28 October 13
Hack de Code
Run(=uitvoerenvan) de Nano tekst editor:
> nano src/sample/MapObject.java
Bewaar je aanpassingen:
> Control-O Enter
Verlaat Nano:
> Control-X
Compileer/Run:
> ant
Monday, 28 October 13
21.
Mary Had aLittle Lamb(da)
Dit is een Engels Kinderliedje over
een meisje met een Lammetje!
Mary had a little lambda
Whose fleece was white as snow
And everywhere that Mary went
Lambda was sure to go!
https://github.com/steveonjava/MaryHadALittleLambda
Monday, 28 October 13
22.
Het genereren van“Streams”
Van een collection (=verzameling):
> anyCollection.stream();
Bekende reeks van objecten:
> Stream.of("bananen",
"peren",
"appels");
Numerieke reeks:
> IntStream.range(0,
50)
Iteratief:
> Stream.iterate(Color.RED,
>
c
-‐>
Color.hsb(c.getHue()
+
.1,
c.getSaturation(),
>
c.getBrightness()));
22
Monday, 28 October 13
23.
Nu gaan weboerderij dieren maken!
SpriteView
tail
=
s.getAnimals().isEmpty()
?
s
:
s.getAnimals().get(s.getAnimals().size()
-‐
1);
Stream.iterate(tail,
SpriteView.Lamb::new)
.substream(1,
8)
.forEach(s.getAnimals()::add);
23
Monday, 28 October 13
Filteren van Collections(=verzamelingen)
Collection.removeIf
> Verwijdert alle elementen die voldoen the ‘if’ expressie
List.replaceAll
> Filteren en vervanging met gebruik van 1 input
ObservableCollection.filtered
> Geeft een lijst terug van het gefilterde
28
Monday, 28 October 13
29.
Moeilijke eters…
Predicate<SpriteView>
pure
=
a
-‐>
a.getColor()
==
null;
mealsServed.set(mealsServed.get()
+
s.getAnimals().filtered(pure).size()
);
s.getAnimals().removeIf(pure);
29
Monday, 28 October 13
Mapping Streams
Past eenMap Functie toe op elk element:
> Function<?
super
T,
?
extends
R>
Resultaat: Lijst is even groot, maar kan van een ander type zijn.
31
Monday, 28 October 13
32.
Single Map (enkelemap)
s.getAnimals().setAll(s.getAnimals()
.stream()
.map(sv
-‐>
new
Eggs(sv.getFollowing())
.collect(Collectors.toList())
);
32
Monday, 28 October 13
33.
Of een DoubleMap! (dubbele map)
s.getAnimals().setAll(s.getAnimals()
.stream()
.map(SpriteView::getFollowing)
.map(Eggs::new)
.collect(Collectors.toList())
);
33
Monday, 28 October 13
Flat Map (plattemap)
Past een Een-op-Veel Map Functie toe op elk element:
> Function<? super T, ? extends Stream<? extends R>>
En maakt het dan weer plat naar een enkele map (single map).
Resultaat: De lijst kan langer worden en het type kan anders zijn.
35
Monday, 28 October 13
Reduce (=verminderen)
Vermindert eenlijst naar een enkel element:
> Identity: T
> Accumulator: BinaryOperator<T>
Resultaat: Lijst van hetzelfde type, maar slechts 1 element blijft over.
38
Monday, 28 October 13
39.
En de (voorheen)kleine vos at ze allemaal op!
Double
mealSize
=
shepherd.getAnimals()
.stream()
.map(SpriteView::getScaleX)
.reduce(0.0,
Double::sum);
setScaleX(getScaleX()
+
mealSize
*
.2);
setScaleY(getScaleY()
+
mealSize
*
.2);
shepherd.getAnimals().clear();
39
Monday, 28 October 13
Mary Had aLittle Lambda Project
>
>
Open-source project om lambda kenmerken te demonstreren
Visuele representatie van streams, filters en maps
https://github.com/steveonjava/MaryHadALittleLambda
41
Monday, 28 October 13
42.
NightHacking Tour
Stephen Chin(@steveonjava)
http://steveonjava.com/
Real Geeks
Live Hacking
nighthacking.com
Monday, 28 October 13
43.
Safe Harbor Statement
Thepreceding is intended to outline our general product
direction. It is intended for information purposes only, and may
not be incorporated into any contract. It is not a commitment
to deliver any material, code, or functionality, and should not
be relied upon in making purchasing decisions. The
development, release, and timing of any features or
functionality described for Oracle’s products remains at the
sole discretion of Oracle.
Monday, 28 October 13