Java_exPress_003_2009_03.pdf

(10012 KB) Pobierz
JAVA exPress
161636738.026.png
Maszynista
j j e e p p . . s s e e t t G G r r a a p p h h i i c c s s ( ( ) ) ; ;
Zaczynając cały pomysł z czasopismem dotyczącym Javy nie
miałem pojęcia jak ten temat zostanie przyjęty. Już od samego początku
nie było łatwo: poszukiwania autorów, patronów itp. Niemniej jednak
po wydaniu pierwszego numeru "coś zaskoczyło". Zaczęło się od
zbiórki pieniędzy na hosting, później zgłoszenia potencjalnych autorów,
a skończywszy na dwóch osobach, bez których JAVA exPress nie
wyglądałby tak, jak wygląda. Mowa tutaj o Marku i Jakubie.
Marek Podsiadły zgłosił się do pomocy już dawno temu i dzięki niemu mamy artykuły w wersji
html. A żeby nam wszystkim było łatwiej, napisał aplikację, której efektu widzicie na
http://javaexpress.pl poniżej "W ostatnim numerze". Tak tak, to się generuje automagicznie dzięki
Markowi. Co więcej, Marek kończy pisać aplikację (w Grails), która zastąpi mało efektywny arkusz i
dokument na Google Docs, do naliczania brykietów i aukcji.
Jakub Sosiński natomiast, to nasz nadworny grafik. Pomógł dostosować logo Developers World
oraz JAVA exPress, zrobił projekt roll-up, który mieliście okazję zobaczyć na COOLuarach i
4Developers, oraz przygotował nowa szatę graficzną naszego czasopisma. Mam nadzieję, że Wam się
podoba.
Jeśli macie jakieś uwagi co do pisma, lub chcielibyście pomóc go tworzyć lub napisać artykuł,
to zapraszam do kontaktu mailowego: kontakt@dworld.pl.
Do zobaczenia 1 czerwca...
P.S. Zdjęcie z okładki możecie znaleźć na
http://www.flickr.com/photos/nikonvscanon/504339356/
Pozdrawiam,
Grzegorz Duda
P P l l a a n n p p o o d d r r ó óż y y
M ASZYNISTA : JEP . SET G RAPHICS ();......................................................................................1
M EGAFON : COOL UARY , 4D EVELOPERS , J AZOON , G EE CON, S PRING ..................................2
P OCZEKALNIA : K UBEK KAWY - CZYLI ALTERNATYWNY KURS J AVY , CZ . III...........................3
D WORZEC G ŁÓWNY : GWT DLA POCZĄTKUJĄCYCH ............................................................10
D WORZEC G ŁÓWNY : N IE MA NIC ZA DARMO - B IBLIOTEKI O PEN S OURCE ..........................17
B OCZNICA : T ESTOWANIE METOD PRYWATNYCH ..................................................................21
B OCZNICA : J2ME: S ERIALIZACJA OBIEKTÓW , CZ . I...........................................................26
K ONDUKTOR : W ZORCE PROJEKTOWE : T EMPORAL O BJECT ...................................................34
M ASZYNOWNIA : P ROGRAMOWANIE BEZ SŁOWA REDEPLOY .................................................40
R OZJAZD : E XPRESS KILLERS , CZ . II...................................................................................46
W IĘCEJ WĘGLA : R ECENZJA : E CLIPSE W EB T OOLS P LATFORM ............................................47
1 1
161636738.027.png 161636738.028.png 161636738.029.png 161636738.001.png 161636738.002.png
Megafon
7 marca odbyła się pierwsza edycja multi-
konferencji 4Developers. Czemu mutli? Ponie-
waż na jednej konferencji można było posłuchać
o Javie, .Net, Zarządzaniu projektami i o języ-
kach specjalizowanych. Świetny pomysł, świetna
organizacja i świetni prelegenci. Czego można
więcej chcieć od konferencji? Wg. JAVA exPress
najlepszy wykład poprowadził Neal Ford, ze swo-
im sztandarowym tematem - produktywność deve-
lopera.
Ale to nie był jedyny dobry wykład. Zarów-
no Ted, Adam, Waldi, Jacek i przedstawiciele fir-
my e-point nie zamierzali zaniżać poziomu
konferencji.
Już wkrótce na stornie konferencji
(http://4developers.org.pl/) znaleźć będzie moż-
na prezentacje i materiały wideo. A więc zamiast
się rozpisywać zapraszam do oglądania.
No i oczywiście na 4Develoeprs nie mogło
zabraknąć JAVA exPress (jako patrona medialne-
go) i prowadzonego przeze mnie Java Undergro-
und. Ciekaw jestem jak tym razem podobały się
Wam lightning talki.
Jazoon zbliża się wielkimi krokami. Już od
22 czerwca przez 3 dni w Zurychu będzie głośno
o Javie. Dla czytelników JAVA exPress specjalna
40% zniżka od cen na stronie. Zainteresowanych
zapraszam do kontaktu: kontakt@dworld.pl.
Oczywiście JAVA exPress objęło patronatem me-
dialnym to niezwykłe wydarzenie.
Jeśli za daleko Wam do Zurychu, a nie mo-
gliście uczestniczyć w 4Developers, to jeszcze
nic straconego. Już 7-8 maja, w Krakowie, odbę-
dzie się w pełni międzynarodowa konferencja o
Javie. GeeCON (http://geecon.org/), bo o nim
mowa, będzie trwał 2 dni, a każdego dnia będzie
można wybrać jedną z dwóch ścieżek. Na każdej
ścieżce wiele wspaniałych prelegentów nie tylko
z zagranicy, ale także naszych rodzimych – pol-
skich. Rejestracja już rozpoczęta. Do końca mar-
ca zniżkowe ceny, a wśród osób
zarejestrowanych do 15 marca rozlosowane zo-
staną licencje na IntelliJ IDEA oraz JavaRebel.
Tak, Java exPress także objęło patronatem Ge-
eCONa.
COOLuary - pierwsza Open Space Confe-
rence o Javie w Polsce już za nami (http://d-
world.pl/cooluary/). Zebraliśmy sporo
doświadczenia, pomysłów i pochwał. A więc nie
pozostaje nic innego, jak zabrać się za organiza-
cję kolejnej edycji COOLuarów. Więcej informa-
cji na stronie 8.
Jak widać ten rok obfituje w wydarzenia
Javowe. Nie sposób tutaj nie wymienić kolej-
nych dwóch konferencji. Pierwsza z nich, Ja-
va4People, odbędzie się 4 kwietnia w
Szczecinie. Druga natomiast, Javarsovia, plano-
wana jest na 27 czerwca, ale więcej szczegółów
dowiecie się w kolejnym numerze JAVA
exPress. W tym momencie warto nadmienić, że
obydwie te konferencje są darmowe.
Skład tekstu i wybór tematów: Grzegorz Duda
Grafika: Jakub Sosiński
Artykuły html i aplikacje: Marek Podsiadły
kontakt: kontakt@dworld.pl
2 2
161636738.003.png 161636738.004.png 161636738.005.png 161636738.006.png 161636738.007.png 161636738.008.png 161636738.009.png 161636738.010.png
Poczekalnia
K K u u b b e e k k K K a a w w y y c c z z y y l l i i a a l l t t e e r r n n a a t t y y w w n n y y k k u u r r s s J J a a v v y y , , c c z z . . I I I I I I
Bartek Kuczyński
Długo zastanawiałem się nad tym co powinni-
śmy zrobić na pierwszych prawdziwych zaję-
ciach z Javy (czytaj będziemy w końcu
programować). Weźmiemy się za programowa-
nie, bo większą część teorii już przebrnęliśmy w
dwóch poprzednich częściach, ale co będziemy
programować.
- Zapisujemy plik na dysku.
- Rozpakowujemy zawartość.
- Uruchamiamy.
- Zostaniemy poproszeni o wskazanie „Workspa-
ce” jest to katalog roboczy tu będą nasze projek-
ty.
- Naciskamy ctrl+n i z listy wybieramy Java -
Java Project. Można sobie pomóc wpisując na
górze okna „java project”
- Nazywamy nasz projekt w jakiś rozsądny spo-
sób, na przykład „Kubek Kawy fajny kurs java”.
- Naciskamy „finish”. Jak wyskoczą nam jakieś
okienka to naciskamy „OK”. Na tym etapie ra-
czej nic jeszcze nie zepsujemy.
- Powinno ukazać się nam coś w stylu rysunku 1
Zanim napiszemy pierwszy program należy włą-
czyć sobie jakieś pisadło. Na rynku jest wiele śro-
dowisk przeznaczonych do programowania.
Generalna nazwa to IDE od angielskiego „Integra-
ted Development Environment” - zintegrowane
środowisko programowania. Narzędzie takie za-
pewnia zazwyczaj kilka podstawowych opcji jak:
- podświetlanie składni
- sprawdzanie poprawności składni
- automatyczna konfiguracja kompilatora
- debugger
Pierwsze dwa punkty są minimalnym minimum.
Bez tego nie można mówić o IDE nawet jak o
edytorze kodu. Trzeci punkt nie jest obowiązko-
wy, ale zazwyczaj dostarczany nawet z najprost-
szymi edytorami. Ostatni punkt też nie jest
obowiązkowy, ale IDE aspirujące do miana po-
ważnego narzędzia powinno posiadać debugger.
Od tego punktu zaczynamy prawdziwą alterna-
tywność tego kursu. Zazwyczaj tradycyjne kursy
prowadzone na uczelniach czy też w ramach wy-
dawnictw książkowych zawierają magiczne zda-
nie „otwórz ulubiony edytor tekstu”. Co
pewnego razu kolega podsumował „Można pisać
w Excelu?”. Oczywiście, że można, pytanie
brzmi czy nie łatwiej użyć do tego zadania odpo-
wiedniego narzędzia? Ja nie powiem wam o ulu-
bionym edytorze. Od dziś przez pewien czas
waszym ulubionym edytorem jest Eclipse 3.4.1
Classic. Pobieramy go w następujący sposób:
- Wchodzimy na www.eclipse.org.
- Naciskamy „Download”.
- Z listy wybieramy „Eclipse 3.4.1 Classic”.
- Obok napisu „Download from” będzie link do
pliku.
Teraz jeszcze kilka słów co my tu mamy i bierze-
my się do pisania kodu.
1. Lista projektów, plików, bibliotek w projek-
tach. W praktyce podgląd aktywnej zawartości
przestrzeni roboczej.
2. Tu będą otwierać się pliki. Edytor.
3. Słówko „Problems” mówi samo za siebie. Tu
też będzie podgląd konsoli.
4. Różne pomocne okna. Później sam odkryjesz
co i jak.
5. Masa różnych przycisków. Pozwalają na two-
rzenie nowych plików, zapisywanie, drukowa-
nie, ale też na uruchamianie kompilatorów czy
debuggerów.
W miarę posuwania się naszych prac odkryjesz
zapewne do czego służy jakieś 90% opcji i przy-
cisków. Na razie nie zawracaj sobie tym głowy.
Możesz poeksperymentować, ale zakładam, że
nie bardzo znasz się na programowaniu więc i
tak niczego nie wykorzystasz.
Czas na pierwszy program. Naciskamy ctrl+n
wybieramy „Java-package” i jako nazwę podaje-
my nazwę pakietu. Pakiety służą przede wszyst-
kim do logicznej organizacji kodu. W praktyce
organizują go też fizycznie na dysku. Działają
3 3
161636738.011.png 161636738.012.png 161636738.013.png 161636738.014.png 161636738.015.png 161636738.016.png 161636738.017.png 161636738.018.png
Poczekalnia
Rysunek 1. Coś co będzie wam się śniło po nocach
trochę jak adres internetowy, zapewniając nie tyl-
ko podział logiczny, ale też unikalność nazw. O
tym wkrótce. Na razie piszemy pierwszy pro-
gram. Ja mój pakiet nazwałem pl.koziole-
kweb.javaexpress.kubekkawy.cz3 . Znowu
naciskamy ctrl+n i wybieramy „java-class”. Nazy-
wamy naszą nową klasę „Pierw-
szyProgram” i zaznaczamy opcję
„public static void main(String[]
args)”. Otrzymamy coś takiego
jak poniżej:
Metoda main(String[] args) jest punktem od któ-
rego startuje każdy program w języku Java. Tyle
trzeba obecnie o niej wiedzieć. Zamiast standar-
dowego „Hello world!” sprawdźmy który dzień
tygodnia dziś mamy. Program realizujący to za-
danie wygląda tak:
1. package pl.koziolekweb.javaexpress.kubekkawy.cz3;
2.
3. import java.util.Calendar;
4. import java.util.GregorianCalendar;
5.
6. public class PierwszyProgram {
7.
8. /**
9. * @param args
10. */
11. public static void main(String[] args) {
12. Calendar calendar = GregorianCalendar. getInstance ();
13. int dzień = calendar.get(Calendar. DAY_OF_WEEK );
14. System. out .println( "dziś mamy " + dzień + " dzień tygodnia" );
15. }
16. }
1. package pl.koziolekweb.javaexpress.ku-
bekkawy.cz3;
2.
3. public class PierwszyProgram {
4.
5. /**
6. * @param args
7. */
8. public static void main(String[]
args) {
9. // TODO Auto-generated method stub
10.
11. }
12. }
Niedziela jest pierwszym dniem tygodnia, ponie-
działek drugim itd. W liniach 3 i 4 znajdują się
4 4
161636738.019.png 161636738.020.png 161636738.021.png 161636738.022.png 161636738.023.png 161636738.024.png 161636738.025.png
Zgłoś jeśli naruszono regulamin