Do you speak Java?

poniedziałek, 29 grudnia 2008

Poświąteczna wyprzedaż....

No i stało się... zostałem złapany, jak masa innych ludzi, na haczyk poświatecznych promocji. 

A stało się to tak - jako, że od jakiegoś czasu rozglądam się za nowym (bardzo) dużym telewizorem, moim pierwszym w technologii LCD[1] i mam już (prawie ;) ) upatrzony model, pojechałem do MediaMarkt by obejrzeć te głośne "wietrzenie magazynów". Interesującego mnie modelu nawet nie znalazłem - ale modele podobne wcale nie były przecenione a cena była znacznie wyższa niż ta w sklepach internetowych. Machnąłem więc na to wszystko ręką i poszedłem sprawdzić jeszcze z czystej ciekawości ceny monitorów... no i znowu nic ciekawego. 

Ale! był jeszcze jeden sprzęt który od jakiegoś czasu był w centrum mojego zainteresowania - a mianowicie konsola do gier :) na początku myślałem tylko o Wii z uwagi na nowatorskie sterowanie. A potem zacząłem kierować się w strone PS3, ze względu na mocniejszy sprzęt i odtwarzacz BlueRay. Mailowe dyskusje z kolegami również przekonywały mnie do konsoli ze stajni Sony. Doszedłem do działu z konsolami i... szok! PS3 80GB + LittleBigPlanet za 1299 zł! jeszcze skonsultowałem się z kolegą allegro i koleżanką ceneo i wyszło na to, że faktycznie jest to bardzo dobra oferta. Z wypiekami na twarzy wróciłem do sklepu i zapakowałem do samochodu moją pierwszą w życiu konsole do gier[2] . Nie pamiętam kiedy ostatnio byłem tak podekscytowany na myśl o grach komputerowych, miło jest wrócić myślami do dzieciństwa ;)

No ale czemu ja o tym tutaj piszę? Ponieważ gdy zmierzałem do sklepu z zamiarem kupienia PS3 przez moją głowę przeszła myśl - " czy ta konsola wspiera Javę?"... chwila konsternacji i kolejna myśl "czy ja jestem chory, że tak myśle? a jeśli tak to jak poważnie" :).  Co zrobić... jak to mówiliśmy w radiu Euro podczas audycji  o javarsovii 2008 - kochamy Javę więc trudno o niej nie myśleć ;)

Historia cała oczywiście zakończyła się szczęśliwie - podłączyłem konsole do mojego 14 calowego tivi i gram w piękną grę LBP[3].. a na pudełku widnieje piękny napis "JAVA Powered" :)


[1] Do tej pory używam tylko 16-sto letniego samsunga, który ma 14 cali a został kupiony za pieniądze z komunii ;) Muszę powiedzieć że sprawuje się świetnie i wróżę mu jeszcze wiele lat pracy

[2]No tak.. nie miałem Pegasusa... w sławną CONTRE grałem u kolegów ;) 

[3]A grę polecam wszystkim! Piękna, bajkowa grafika, przemiły główny bohater i 0 (słownie ZERO) przemocy.

poniedziałek, 15 września 2008

Pakiety - maven swoje, java swoje

Ostatnio w pracy zaobserwowałem bardzo dziwną rzecz. W Eclipse miałem zaimportowany projekt zarządzany przez mavena2 którego wiele klas moje IDE oznaczało pięknym czerwonym krzyżykiem. Według Eclipse zadeklarowane w klasach pakiety (logiczne*) różniły się od katalogów w których były one umieszczone (pakiety fizyczne*). "Co jest" - pomyślałem -"przecież 3 minuty temu budowałem ten projekt i maven nie zgłosił mi żadnego >>ale<<".

Wszedłem więc ponownie do linii koment i wpisałem "mvn clean install". I co? Nic.. widzę na własne oczy "Success". Jak bym nie zobaczył, to bym nie uwierzył. Po krótkim zbadaniu sprawy i paru testach okazało się, że maven2 (a konkretnie 2.0.9 - innych nie sprawdzałem), kompletnie nie zwraca uwagi na pakiety fizyczne. i w katalugu "target" buduje po prostu ścieżke zgodnie z pakietem logicznym.

Dość frustrujący błąd, zwłaszcza gdy chcemy coś zdebudować, a tu nic z tego... można stracić kilka cennych chwil zastanawiając się nad tym co jest nie tak. Miejmy nadzieje, że w najbliższej wersji zostanie to naprawione!

Miejcie się na baczności :)

* to moje nazewnictwo. nie wiem czy ktoś przede mną go używał. jeśli uważacie że jest błędne to z chęcią wysłucham ciepłych słów krytyki :)

wtorek, 22 lipca 2008

m2eclipse 0.9.5 wydany!

Cóż za wspaniała nowina! 17. lica została wydana najnowsza wersja, moim zdaniem najlepszego, pluginu do Eclipse integrującego go z Mavenem2 - czyli m2eclipse. Wersja ta została oznaczona numerkiem 0.9.5 ale patrząc na zmiany w stosunku do poprzedniej wersji aż dziw bierze, że twórcy zdecydowali się przeskoczyć tylko o ostatnią cyferkę w numeracji!

Najbardziej znaczącą i najfajniejszą zmianą w stosunku do poprzedniej wersji jest całkiem nowy edytor pliku pom.xml, który już nie jest zwykłym edytorem XML lecz pełnoprawnym "łizardem". Przyjrzyjmy się mu!
Jak widać na powyższym obrazku na edytor składa się aż 11 zakładek. Dużo... ale każda ma swoje konkretne zadanie i wywiązuje się z niego znakomicie. Zastosowanie większości z nich można rozpoznać bo ich nazwie, które odwołują się do konkretnych sekcji w POM.xml. Opiszę więc tylko te najciekawsze.

  • Overview
Zakąłdka ta (widoczna na obrazku powyżej), zawiera w sobie wszystkie ogólne informacje o projekcie. Dla programisty znającego mavena2 sekcje w tej zakładce nie stanowią tajemnicy. Możemy tutaj ustawić tak podstawowe informacje jak : artifactId, groupId, version, scope, packaging oraz poma-rodzica, moduły, propertiesy i tak dalej. Co ciekawe z poziomu tej zakładki nie byłem w stanie dodać ani usunąć propertiesu. Chyba mały błąd się wkradł.
  • Dependencies

Tutaj możemy dodać, lub usunąć, zależności zarówno do sekcji "dependencies" jak i "dependencyManagement" nazsego POMa. Warte nadmienienia jest to, że m2eclipse indeksuje sobie repozytorium lokalne oraz ibiblio więc potrafi podpowiedzieć nam groupId, artifactId, version oraz type. wystarczy wcisnąć znaną wszystkim kombinacje klawiszy ctrl+spacja.

  • Dependency Hierarchy


To bardzo przydatna zakładka która wyświetla hierarchie zależności przechodnich. Wraz z ich wersjami i zakresem.
  • Dependency Graph

Nareszcie! Wyświetlanie grafu zależności to była jedna z funkcjonalności której brakowało mi najbardziej w poprzednich wersjach pluginu m2eclipse. Skonstruowany graf jest czytelny i ładnie rozplanowany, a dodatkowo każdy węzeł możemy swobodnie przesuwać. Jeśli pom ma naprawdę dużo zależności (co się zdarza wcale nie rzadko) i nie możemy jakiejś znaleźć możemy skorzystać z funkcji search. Podczas wpisywania interesującej nas frazy przyrostowo będą podświetlane na żółto te zależności których nazwa spełnia zadany przez nas warunek. Bardzo fajna funkcja.

  • pom.xml

w zakładce tej mamy dostęp do samego pliku xmlowego którego możemy ręcznie zmienić korzystając z podpowiedzi które dostarcza nam edytor.


Plugin m2eclipse już od jakiegoś czasu był bardzo dobrym narzędziem. Wersja 0.9.5 chodź nie pozbawiona błędów powinna być co najmniej wypróbowana przez każdego programistę który pracuje z mavenem2. Na prawdę warto! pełny spis nowinek w wersji 0.9.5 możecie znaleźć tutaj

środa, 25 czerwca 2008

Eclipse Ganymede przybyło!!

Nareszcie! Przeładowywania strony www.eclipse.org nie było dziś końca! Już zaczynałem się denerwować, ale w końcu jest!! Eclipse 3.4 Ganymede w końcu jest do ściągnięcia z oficjalnej strony. Już nie mogę się doczekać kiedy będę miał to cudeńko na swoim komputerze! Mam nadzieje, że wy również nie będziecie się bać nowego zaćmienia! A tutaj jest lista wszystkich nowinek w tej świeżej bułeczce.

wtorek, 24 czerwca 2008

Eclipse - ustawienia na wynos

Już jutro premiera Eclipse Ganymede, czyli najnowszej odsłony najpopularniejszego IDE dla javy. Czy warto się przenieść z poprzednich wersji? Ba! Pewnie, że warto. Ale warto również zabrać ze sobą ustawienia starego środowiska! Skróty klawiszowe to napewno jeden z pierwszych elementów, który warto zmigrować. Zróbmy to więc wspólnie.

Spróbujmy podejść do sprawy logicznie.. gdzie możemy weeksportować klawisze?  Pierwsze miejsce gdzie ja szukałem tej opcji to sekcja "keys" w okienku "preferences". 

No i się nie pomyliłem! jest upragniony guzik "Export...". Klikamy na niego - jedyna opcja typu pliku to csv - mi pasuje! Klikam "zapisz..." i już się ciesze z mojego nowego odkrycia.

Czas przetestować import. Ale nie widzę w poprzednim okienku klawisza "Import...". No i ślepa uliczka. Okazało się, że moje przeczucia całkowicie mnie zawiodły.

Odpowiednie miejsce na migrację klawiszologii to "File->Export". W okienku wybieramy sekcje "General" oraz element "Preferences" i klikamy "Next"

Wybieramy tutaj konfigurację którą chcemy wyeksportować (ja wybieram "Export all") za pomocą guzika "Browse..." wskazujemy plik, do którego eksport ma być wykonany. Klikamy finish i gotowe.

A import? banalnie prosty! "File->Import", sekcja General, element Preference

Okienko importu jest bardzo podobne do okna eksportu. Wybieramy plik, opcje które chcemy zaimportowąć, klikamy guzik "finish" i gotowe!

Mam nadzieje, że teraz już nic was nie powstrzyma przed migracją do najnowszego Eclipse. Mnie napewno nie :) 

poniedziałek, 23 czerwca 2008

Eclipse na skróty.

Jakoś mam taki zwyczaj, że gdy wpada mi w łapy nowy edytor (zwykły tekstowy jak jEdit czy też IDE) to pierwsze co robię po uruchomieniu to wchodzę w ustawienia klawiszowe i sprawdzam czy udostępnia on moje ulubione funkcje.
Lata programowania w Eclipse (to już ponad 3 będzie) sprawiły, że bez niektórych skrótów trudno mi wyobrazić sobie pisanie czegokolwiek a ich brak jest dla mnie jak malutki kamyczek w bucie - niby chodzić mogę ale niedogodność czuję przy każdym kroku.
Czasami zaskakuje mnie to, że niektóre z moich ulubionych skrótów nie są znane moim kolegom-programistą. "A przecież ja też mogę tych najlepszych skrótów nie znać" - pomyślałem sobie. Dlatego postanowiłem podzielić się z wami moją herbatą i w-ztką* aby tym samym sprowokować was do podzielenia się ze mną swoimi ulubieńcami. Wszak dobrych skrótów nigdy nie za wiele.

1. Edytor
  • ctrl+d - usunięcie całej linii w której znajduje się kursor (bez konieczności jej zaznaczenia)
  • ctrl+alt+up arrow/down arrow - sklonowanie linii w której znajduje się kursor powyżej/poniżej danej linii (bez konieczności jej zaznaczania)
  • alt+up arrow/down arrow - przeniesienie linii w której znajduje się kursor powyżej/poniżej danej linii.
  • ctrl+/ - zakomentowanie zaznaczonych linii za pomocą "//"
  • ctrl+shift+/ - zakomentowanie zaznaczonych linii za pomocą "/* */"
  • ctrl+alt+j - połączenie linii
  • ctrl+l - skocz do linii
  • ctrl+left arrow/right arrow - skacz po "wielbłądziejKonwencji"
  • ctrl+q -idź do ostatnio edytowanej linii
  • ctrl+o - idź do metody/zmiennej
  • ctrl + j - proste wyszukiwanie przyrostowe
  • ctrl+shift+o - uporządkuj importy
  • ctrl+shift+f - sformatuj kod
  • ctrl+t - wyświetl hierarchie typu (gdy kursor ustawiony jest na jego nazwie)
  • alt+shift+w - pokaż otwarty zasób w package explorerze/nawigatorze/historii/outline (wybieramy z wyświetlonej listy)
  • alt+shift+r - zmień nazwe pliku.
  • alt+shift+s - wyświetl okno "zarządzania kodem" (przyznaje się bez bicia - nie wiedziałem jak to nazwać )
  • alt+shift+t - wyświetl okno refactoringu
2. uruchamianie
  • alt+shift+x, a potem jedna z opcji:
  • j -uruchom jako aplikacje javową
  • a - uruchom jako applet
  • t - uruchom jako junit

3. Perspektywa
  • ctrl+shift+t - otwórz typ (klasa/interfejs/enum)
  • ctrl+shift+r - otwórz zasób (ang.resource)
  • ctrl+n - nowy...(projekt/typ/zasób)
4. Czas na zmiany

Wszystkie powyżej wymienione skróty klawiszowe ergonomicznie rozkładają się na klawiaturze i nie ma potrzeby ich zmiany. Niestety są dwa skróty, które od dłuższego czasu zadziwiaja mnie, że wciąż nie zostały zmienione

  • ctrl+F6 - to chyba najbardziej niewygodny skrót klawiszowy w Eclipse, a jednocześnie jeden z najbardziej przydatnych. Wyświetla on okienko dzięki któremu możemy przeskoczyć no innego otwartego edytora (np. za pomocą strzałek). CTRL+TAB to moja propozycja na ten skrót. Nie odkryłem przysłowiowej Ameryki. Mają tak przeglądarki których używam (Opera i FireFox) oraz TotalCommander i pewnie masa innych programów.
  • ctrl+3 - Quick Access. To bardzo fajna funkcja, która została nam udostępniona rok temu wraz z premierą Eclipse 3.3 (Europa). Okienko które pojawia się po naciśnięciu kombinacji tych klawiszy pozwala nam dostać się do niemal każdego elementu Eclipse.
    Może to być na przykład:
    • otwarty plik
    • zmiana perspektywy
    • przejście do lub pokazanie nowego widoku
    • wywietlenie okienka z menu (np. preferences)
    • wyświetlenie konkretnej sekcji z konkretnego okna (np. preferences/keys
    Jestem bardzo ciekaw ile osób wykorzystuję tą bardzo przydatną funkcje - osobiście nie znam nikogo po za mną. A szkoda bo naprawdę warto! moja propozycja na przemapowanie tego skrótu to : CTRL+` (czyli guzik z tyldą który jest zaraz pod Esc).
Podobno programista ma być leniwy, aby zawsze szukał sposobów by wykonać zadanie szybciej, łatwiej i przyjemniej. Na pewno zestaw odpowiednich skrótów klawiszowych wspiera tą szczytną idee.
A jakie są Twoje ulubione skróty w Eclipse?

* - to oczywiście zestaw obowiązkowy z filmu Miś, ciekawe ile osób na to wpadło ;)

wtorek, 10 czerwca 2008

Polska silna Eclipsem

W związku z nadchodzącą wersją Eclipse 3.4 ochrzczoną nazwą kodową Ganymede, na stronie www.eclipse.org został ogłoszony konkurs na najlepszy wpis promujący to IDE. Jak pewnie zdążyliście zauważyć pchnięty chęcią posiadania koszulki z zaćmionym słońcem postanowiłem wziąć w nim udział.
Jakeż było moje zdziwienie gdy po dopisaniu się na stronie konkursu zobaczyłem że Polska jest Eclipsową potęgą! Szybko policzylem wpisy i cóż się okazało? Przewodzimy w świecie dziewięcioma wpisami. Za nami daleko w tyle są Niemcy (5 wpisów).
Co tam porażka na Euro, Polska silna Eclipsem :D!

Eclipse 3.4 nowości - część 1.

Już w czerwcu światło dzienne ujrzeć ma Eclipse 3.4 czyli najnowsza wersja najpopularniejszego IDE dla Javy. Na dzień dzisiejszy ze strony www.eclipse.org możecie pobrać wersje RC4. Czy warto wypróbować nowe dziecko Eclipse Fundation? W serii postów o nowościach w nim zawartych chcę was przekonać że TAK. Zaczynamy!
  • Podświetlanie użycia zmiennej.
Gdy najedziemy kursorem na nazwę zmiennej Eclipse podświetli nam wszystkie jej użycia. Funkcjonalność tą znamy już od dawna, ale w nadchodzącej wersji kolor podświetlenia rozróżni dla nas miejsca w kodzie gdzie wartość zmiennej jest czytana oraz gdzie wartość do zmiennej jest wpisywana.
  • Generowanie metod dostępowych.
Po zadeklarowaniu nowej zmiennej najeżdżamy na nią kursorem i używamy kombinacji klawiszy "ctrl+1"


W okienku które się pojawi wybieramy "Create getter and setter for 'nazwa_twojej_zmiennej'". Pojawi się kolejne okno w którym możemy przedefiniować nazwy metod, ich położenie w klasie oraz wygenerować domyślne komenatrze.


Klikamy "OK" i gotowe!

  • Breadcrumb
Na pasku narzędziowym pojawiła się całkiem nowa ikonka,
kliknięcie jej (lub użycie kombinacji klawiszy SHIFT+ALT+B) powoduje wyświetlenie w oknie edytora dodatkowego elementu, który widoczny jest na górze poniższego zrzutu ekranu.

Pasek ten jest podzielony na 5 części, z których każda reprezentuje element króry aktualnie edytujemy.
1. Projekt nad którym pracujemy (w tym przypadku Test)
2. Katalog wprojekcie (src)
3. pakiet (eu.margiel)
4. Klasa/Interfejs/Enum (Test)
5. metoda/zmienna... (setVariable(String))

klikając na czarną strzałkę przy odpowiednim elemencie możemy zmienić jego zawartość a więc przejść do innego katalogu/klasy/metody, możemy również to wykonać strzałkami na klawiaturze.


poniedziałek, 9 czerwca 2008

JAVArsovia 2008 - wspomnienia.


Uff... Już po! Tydzień temu odbyła się druga konferencja organizowana przez Warszawską Grupę Użytkowników Java (WJUG) JAVArsovia 2008 : ciekawie o javie. Wydarzenie to w moim życiu było o tyle ważne, iż miałem zaszczyt być jednym z organizatorów konferencji. Wszystko było (prawie :) ) dokładnie tak jak zaplanowaliśmy. Prezentacje podzielone na 4 panele zostały wysłuchane przez ponad 250 słuchaczy! Trzeba przyznać, że w najśmielszych marzeniach nie spodziewaliśmy się aż tak dużej liczby uczestników. Dzięki naszym sponsorom: Sun Microsystems, Google, e-point, HP, Javatech, Javart oraz JBossowi uczestnicy dostali specjalne gadżety konferencyjne : koszulki, smycze oraz kubki a na koniec imprezy zostali zaproszeni na wspaniałą imprezę kończącą konferencję. Nie będę się rozpisywał jak świetnie było, kto był ten wie! A kto nie - niech żałuje i przeczyta relacje na blogu Jacka Laskowskiego.


Na zdjęciu prawie wszyscy organizatorzy JAVArsovii. Od lewej (Mariusz Lipiński, Jacek Laskowski, Sebastian Pietrowski, Mateusz Zięba, Andrzej Porażyński, Wiktor Gworek, Michał Grzejszczak, Ja, Paweł Wrzeszcz oraz Bolesław Dawidowicz. Brakuje Tomasza Szymanskiego.)

Bez dwóch zdań, pomoc przy organizacji tej największej w całości poświęconej javie darmowej konferencji w Europie wschodniej i środkowej była dla mnie momentem przełomowym. Dlatego kontynuując przełomy postanowiłem z tej okazji rozpocząć pisanie mojego bloga. Kilka osób namawiało mnie do tego od dawna, sam również o tym myślałem. Zatem cytują Filozofa z filmu Rejs "Przejdźmy od słów do czynów. Chciałem powiedzieć kilka słów"