Myśli, porady, tutoriale na temat środowiska Eclipse (i nie tylko)...

wtorek, 18 listopada 2008

3. edycja Eclipse DemoCamp Poznań już w poniedziałek!

Zapraszamy na 3. edycję Eclipse DemoCamp Poznań - cyklu imprez odbywających się na całym świecie pod patronatem Eclipse Foundation. Spotykamy się w poniedziałek, 24 listopada w Piwnicy 21 w Poznaniu. Start o 18:00.

Będziemy promować Eclipse'a jako IDE oraz platformę RCP tym razem jednak przygotowaliśmy dla Was coś wyjątkowego! Prosto z Kanady zaprosiliśmy Wassima Melhema - lidera technicznego zespołu tworzącego Eclipse Plug-in Development Environment (PDE), obecnie rozwijającego komercyjne produkty bazodanowe w oparciu o platformę Eclipse. Dawid Weiss z Politechniki Poznańskiej opowie o kulisach osadzania wyszukiwarki Carrot w aplikacji RCP, zaś Bartosz Michalik przedstawi sposób na niechciane rozszerzenia platformy, prezentując mechanizm PDE Product Customization.

Zachęcamy i Was do współtworzenia imprezy w sesji lightning talks, która ostatnio cieszyła się dużym zainteresowaniem. Jeżeli chcecie opowiedzieć o Waszym produkcie, doświadczeniach, problemach czy poruszyć jakikolwiek temat związany z Eclipsem - scena, mikrofon i projektor staną się Wasze na kilka minut.

Tak jak uprzednio przygotujcie się na ożywione dyskusje przy darmowym piwie i pizzy oraz na odrobinę aktywności fizycznej na matach DDR ;-) A wszystko to w znakomitym towarzystwie poznańskiej społeczności IT!

Udział jest bezpłatny jednak prosimy o rejestracje na stronie (lub mailowo u organizatorów) .

środa, 29 października 2008

Czas na małe podsumowanie

Ponad rok temu (a dokładniej 7. października) pojawił się pierwszy post na tym blogu, pora zrobić małe podsumowanie. Muszę przyznać, że gdy zaczynałem swoje własne blogowanie (jestem też współautorem bloga eclipser-blog) nie miałem pojęcia, czy ktokolwiek będzie chciał, czytać moje porady i przemyślenia...po roku jednak okazuje się, że kilka osób tutaj zajrzało, a niektórzy zaglądają nawet dość regularnie.
A co mówią o moim blogu liczby?

  • Powstało 71 (łącznie z tym) postów.
  • Pojawiły się 52 komentarze (przy okazji dziękuję wszystkim za ich komentarze - cieszy, gdy widać, że ktoś to czyta i znajduje chwilę, żeby zostawić coś od siebie).
  • Najwięcej postów pojawiło się zaraz po założeniu bloga (czyli w październiku 2007) -10 postów, ale w sierpniu 2008 też nie próżnowałem - 9 postów.
  • Najbardziej leniwy byłem w maju i wrześniu tego roku, kiedy to pojawiło się wtedy po jednym wpisie.
  • 3 razy zmieniałem szatę graficzną.
  • Google Analitycs twierdzi, że:
    • na blogu było 11 547 odwiedzin
    • strony bloga pokazano 20 886 razy
    • czytelnicy pochodzili z 43 krajów (najwięcej oczywiście było z Polski)
    • jak na stolicę przystało, to właśnie z Warszawiacy najczęściej odwiedzali bloga
    • najczęściej czytanym postem był post o Mylynie, później o RCP, szukaliście też często informacji, w jaki sposób instalować wtyczki
  • FeedBurner mówi, że:
    • 94 osoby są zapisane do subskrypcji kanału RSS
    • kanał RSS jest wykorzystywane przez kanał z java.pl
To chyba na tyle tych statystyk. Dziękuję wszystkim, którzy przez ten rok chcieli mnie czytać i zapraszam do dalszego obserwowania bloga - obiecuję (w miarę) regularną aktywność :)

wtorek, 28 października 2008

Jak korzystać z filtrów?

Pamiętam jak bardzo byłem zdziwiony i zadowolony, gdy po raz pierwszy odkryłem, że widok Package Explorer daje możliwość filtrowania swojej zawartości - niby taka mała rzecz, a ucieszyła mnie niezmiernie. O czym mówię? Kiedy wejdziemy sobie do menu widoku znajdziemy tam opcję Filters...
Gdy wybierzemy właśnie tę opcję pojawi nam się okienko z możliwościami filtrowania zawartości widoku pod różnym kątem:
Jak widzimy mamy sporo elementów, które możemy ukryć, np. zamknięte projekty (ang. Closed projects), puste pakiety (ang. Empty packages), elementy nie-javowe (ang. Non-java elements) i wiele innych. Możemy też stworzyć swój własny filtr, nadając mu nazwę oraz podając pliki o jakich rozszerzeniach powinny być ukryte.
Z filtrów należy jednak korzystać ostrożnie, bo po jakimś czasie możemy zapomnieć, że jakiś element ukryliśmy i będziemy go usilnie szukać nie mając pojęcia, że wystarczy odznaczyć, którąś z opcji w filtrach, aby go zobaczyć ponownie.

Filtrowanie zawartości to domena nie tylko widoku Package Explorer, inne widoki też często dają takie możliwości (np. Outline), jednak czasami kryją się one pod mniej intuicyjną nazwą - np. w widoku Problems znajdziemy opcję Configure Content...:
po wybraniu której pokaże nam się miej więcej takie okno:

W oknie tym możemy:

  • określić błędy jakiego typu mają się wyświetlać (np. błędy kompilacji, błędy wtyczek, itp.)
  • wskazać jaki tekst mają zawierać opisy błędów, które mają się pojawiać w widoku
  • określić jakiego rodzaju informacje mają być wyświetlane (błędy - ang. errors, ostrzeżenia - ang. warnings czy informacje - ang. info)
  • wskazać, których elementów problemy mają być brane pod uwagę (np. opcja On selected element and its children pozwala na wyświetlanie błędów z całego jednego konkretnego projektu zaznaczonego w widoku Package Explorer)
  • dodawać własne konfiguracje zawartości, zapisywać je i później w łatwy sposób się między nimi przełączać
Polecam korzystanie w filtrów, gdyż potrafią one ukryć sporo niepotrzebnych w danej chwili informacji, a co za tym idzie w znaczny sposób przyspieszyć naszą pracę.

środa, 22 października 2008

Kurs podstawowy, część IV

Witam po dość długiej przerwie. Dzisiaj będzie krótko - IV część kursu podstawowego, mam jednak nadzieję, że wkrótce uda mi się napisać coś dłuższego (mam w planach wpis o wszechobecnych filtrach oraz o testowaniu wtyczek - macie jakieś preferencje co do kolejność?).
W dziejszym odcinku kursu mówię m.in. o:
- konfiguracjach uruchomienie
- kilku ciekawych skrótach (Ctrl+Shift+O, Ctrl+Shift+F, Ctrl+3)
- widok Tasks

Miłego oglądania życzę:

piątek, 12 września 2008

Kurs podstawowy, część III

Mam dla Was kolejną część cyklu dla początkujących. Co tym razem? Zaczynamy kodować, korzystamy z widoku Problems, rozwiązujemy pierwsze problemy, poznajemy skrót Ctrl+1, zobaczmy do czego służą wzorce kodu, korzystamy z refaktoryzacji:

czwartek, 28 sierpnia 2008

O Eclipse w Java Express

Właśnie ukazał się pierwszy numer zupełnie nowego (i darmowego!) internetowego pisma o Javie - Java Express. Część pisma zajmuje tematyka eclipsowa, dlatego szczególnie polecam zapoznanie się z tym materiałem. A przy okazji mogę się pochwalić, że jestem autorem jednego z artykułów i mam nadzieję, że uda się nawiązać dłuższą współpracę przy tworzeniu kolejnych numerów.

Kurs podstawowy, część II

Zapraszam do drugiej części kursu podstawowego - usłyszycie kilka słów o elementach interfejsu użytkownika w Eclipse, stworzymy nowy projekt oraz napiszemy kawałek kodu. Zapraszam!


Kurs Podstawowy II - pierwszy projekt from Jakub Jurkiewicz on Vimeo.

środa, 27 sierpnia 2008

Jak instalować wtyczki w Eclipse 3.4 (Ganymede)?

Już kiedyś pisałem o tym w jaki sposób instaluje się wtyczki w Eclipsie, jednak w najnowszej wersji stary mechanizm instalacji oraz aktualizacji wtyczek (tzw. Update Manager) został zastąpiony nowym mechanizmem o nazwie P2. Dla przeciętnego użytkownika (i na takim się dzisiaj skupimy) zmiana ta niesie głównie trochę inny interfejs użytkownika, a także łatwiejsze zarządzanie i aktualizację zainstalowanych już wtyczek.
Eclipse dość często wykorzystywany jest do pisania projektów w C i C++, dlatego też jako przykład pokażę Wam w jaki sposób zainstalować wtyczkę CDT, która umoliwia właśnie programowania w C/C++ za pomocą Eclipse'a.
Zaczynamy od wybrania opcji Help -> Software Updates:

Powinno się nam pokazać mniej więcej takie okno, w którym wybieramy zakładkę Available Software:
Z listy wybieramy Ganymede Update Site i dalej zaznaczamy Eclipse C / C++ Development Platform oraz Eclipse C / C++ Development Tools, na koniec klikamy przycisk Install:
Eclipse sam sprawdzi zależności wybranych przez nas wtyczek i poprosi nas o potwierdzenie, które elementy mają zostać zainstalowane:

Klikamy Finish i czekamy, aż Eclipse pobierze odpowiednie wtyczki i zainstaluje je w naszym środowisku:
Na koniec zostaniemy zapytani, czy chcemy ponownie uruchomić Eclipse:


Klikamy Yes i możemy już swobodnie korzystać z nowych wtyczek, w tym przypadku z narzędzi CDT.

Ustawienia kompilatora dla projektów Javy.

Zwykle gdy nadzorujemy lub po prostu uczestniczymy w jakimś projekcie zależy nam na wysokiej jakości produktu końcowego, a co za tym idzie chcemy aby kod był napisany nie tylko poprawnie, ale też zgodnie z szeroko rozumianymi dobrymi praktykami. Co jednak zrobić, jeśli w naszym zespole są osoby, które uważają, że kod nie musi być piękny, ważne żeby robił to co do niego należy? Otóż, Eclipse może nam pomóc zdyscyplinować takie osoby i wymusić pewne dobre praktyki. Na czym ta pomoc polega? W łatwy sposób na poziomie całej przestrzeni pracy (ang. workspace) lub też na poziomie projektu możemy ustawić jaki kod kompilator ma uważać za błędny, o jakim ma ostrzegać, a co po prostu ignorować.
Załóżmy, że chcemy ustawić te opcje dla konkretnego projektu. W widoku Package Explorer klikamy prawym przyciskiem myszy na projekcie i wybieramy opcję Properties. Dalej wybieramy Java Compiler - >Errors / Warnings:
Zaznaczamy opcję Enable project specific settings, co pozwoli nam na dostosowanie ustawień wyłącznie dla wybranego przez nas projektu.
Po prawej stronie zobaczymy rozwijane kategorie kryjące różnorakie elementy, którym warto się przyjrzeć i skonfigurować według naszych preferencji. Na przykład jeśli nie chcemy aby programiści tworzyli metody o takiej samej nazwie jak konstruktor to ustawiamy wartość Method with a constructor name na Error, wówczas jeśli programista będzie chciał stworzyć taką metodę to kompilator mu na to nie pozwoli:
Możemy też np. uczulić programistę na różne konstrukcje - i tak jeśli zaznaczymy opcję Redundant null check, to jeśli kompilator wykryje niepotrzebne sprawdzanie wartości null to poinformuje o tym programistę ostrzeżeniem:
Myślę, że warto się przyjrzeć tym opcjom i dostosować je do swoich przyzwyczeń lub też standardów, aby nasz kod stawał się jak najlepszy, bo chyba nikt nie lubi później długimi godzinami zastanawiać się "Co ja wtedy miałem na myśli?", prawda?

Skróty dla edytora

Ostatnio ukazał się ciekawy post przypominający kilka interesujących skrótów, które ułatwiają i przyspieszają pracę z edytorami w Eclipsie. Myślę, że warto zwrócić uwagę na:

  • Alt + Góra/Dół - przesuwanie aktualnej lunii w górę lub w dół
  • Ctrl + Alt + Góra/Dół - kopiowanie linii w górę lub w dół
  • Ctrl + L - przejście do linii o wybranym numerze
  • Ctrl + . - przejście do następnego błędu lub ostrzeżenia (dostępne tylko dla etytora Javy)
Warto też pamiętać o skrócie Ctrl + Shift + L, który pokazuje nam listę wszystkich skrótów dotępnych w danym kontekście (np. dla edytora)

Kopiowanie połączeń do repozytorium CVS

Zwykle, gdy pracowałem w nowej wersji Eclipse'a lub gdy pracowałem nad jakimiś błędami w starszych wersjach denerwowało mnie to, że za każdym razem muszę od nowa tworzyć połączenia do repozytoriów CVS'a. Ostatnio jednak odkryłem dość ciekawą funkcjonalność - kopiowanie połączeń do serwera CVS między instancjami Eclipse'a. W widoku CVS Repositories klikamy prawym przyciskiem na wybranym połączeniu i wybieramy Copy to Clipboard.


W drugiej instacji Eclipse'a w tym samym widoku klikamy prawym przysickiem i z menu kontekstowego wybieramy Paste Connection.


Prawda jakie to proste?

poniedziałek, 25 sierpnia 2008

Następny będzie Galileo!

Było Kallisto, Europa i Ganimedes, czyli kolejne nazwy wydań Eclipse'a ale jednocześnie nazwy tzw. galileuszowych księżyców Jowisza. Kolejny w kolejce był Io, jednak po długich dyskusjach (chodziło głównie o możliwość mylenia nazwy Io z liczbą dziesięć pisaną po amerykańsku jako IO oraz z interfejsem wejścia/wyjścia - I/O) podjęto decyzję, że kolejna edycja Eclipse'a będzie nosiła nazwę odkrywcy księżyców, których nazwy nosiły poprzednie edycje. Czekamy zatem na Galileo!

czwartek, 21 sierpnia 2008

Letnia Szkoła Eclipse już za miesiąc!

Jak już pisałem w tym roku odbędzie się 3. edycja Letniej Szkoły Eclipse, 5-dniowe szkolenie z programowania wtyczek dla platformy Eclipse. Są jeszcze wolne miejsca, więc zapraszamy zarówno studentów, jak i firmy do udziału! Pozytywne wrażenia gwarantowane!

Eclipse + PHP?

Na Polskim Forum Eclipse dość często pojawiają się pytania o możliwość pisania kodu PHP w Eclipsie. Sam jeszcze z takiego połączenia nie korzystałem, ale znalazłem dzisiaj dwa filmy, które prezentują w jaki sposób rozpocząć korzystanie z PHP Developement Tools od momentu ściągnięcia przez pisanie kodu aż do bardziej zaawansowanych funkcji projektu PDT.






czwartek, 31 lipca 2008

Kurs podstawowy, część I

W zeszłym roku miałem przyjemność prowadzić zajęcia ze studentami. Podczas zajęć studenci korzystali głównie z Eclipse'a do wykonywania swoich zadań związanych z kodem. Okazało się jednak, że to co dla mnie jest zaletą Eclipse'a - liczba funkcji i możliwości jakie daje, dla osób, które wcześniej nie miały z Eclipsem do czynienia, była wadą, gdyż nie potrafili oni odnaleźć się w tym środowisku. Postanowiłem zatem stworzyć pewien przewodnik, który pomógłby początkującym użytkownikom Eclipse'a ogarnąć jego możliwości i spokojnie zacząć pracę. Doszedłem do wniosku, że nagranie filmów wideo będzie najszybszym i najprostszym sposobem przedstawienia tych informacji, ale jeśli znajdę troche dodatkowego czasu, to zrobię też wersję statyczną.
Jeśli będziecie mieli jakieś uwagi, albo pomysły, o czym warto powiedzieć początkującym użytkownikom Eclipse'a, to czekam na komentarze.

Dzisiaj pierwsza cześć kursu - ściągniemy i uruchomimy Eclipse'a po raz pierwszy.

Kurs Podstawowy I - ściąganie i pierwsze uruchomienie from Jakub Jurkiewicz on Vimeo.

Część druga jest TU.

Mylyn na żywo (po polsku i angielsku)

Jednym z najczęściej czytanych postów na blogu są te, które dotyczą Mylyna. Postanowiłem zatem pokazać Wam "na żywo" w jaki sposób korzystać w podstawowej funkcjonalności jakie daje nam ten projekt. Poniżej znajdziecie wideo - niestety jakość nie jest najlepsza, jeśli więc znacie jakiś dobry sposób, żeby umieścić w sieci filmy w dobrej jakości to proszę dajcie znać.


Mylyn w praktyce from Jakub Jurkiewicz on Vimeo.

Dzisiaj znalazłem też świetna prezentację głównego twórcy Mylyna. Myślę, że warto na tę prezentację spojrzeć, nawet jeśli korzystacie już z tego narzędzia - ja sam dowiedziałem sie o kilku funkcjach, o których do tej pory nie miałem pojęcia.

środa, 16 lipca 2008

Widok "Display" - po co, jak i dlaczego?

Wczoraj pisałem trochę o warunkowych punktach wstrzymań, zostańmy jeszcze chwilę w tematyce szukania błędów w naszym kodzie. Chciałem Wam dzisiaj pokazać w jaki sposób można wykorzystać mało znany widok Display. Poniżej znajduje się krótki film, w którym staram się zaprezentować możliwości tego widoku. Co prawda jakość nie jest porywająca, ale mam nadzieję, że da się oglądać.


Widok "Display" - po co, jak i dlaczego? from Jakub Jurkiewicz on Vimeo.

wtorek, 15 lipca 2008

Warunkowe punkty wstrzymań

Każdy programista wcześniej, czy później staje przed koniecznością skorzystania z opcji debug w swoim ulubionym narzędziu. Pewnie nie raz już analizowaliście w ten sposób swój kod w Eclipsie, ciekaw jednak jestem, czy jesteście w pełni świadomi jakie możliwości niesie ze sobą mechanizm odpluskwiania (ang. debugging) w Eclipsie? Jedną z najciekawszych opcji jest możliwość tworzenia warunkowych punktów wstrzymań (ang. breakpoint). Wyobraźmy sobie, że w naszym kodzie mamy pętlę,w której przeglądamy 1000 obiektów i wiemy, że błąd występuje tylko dla obiektów o określonej wartości...czy będziemy 900 razy klikali Resume, aby w końcu zatrzymać się w odpowiednim miejscu? czy może chwilowo wstawimy instrukcję warunkową, która pozwoli nam się zatrzymać, znajdziemy błąd, a potem...zapomnimy tę instrukcję usunąć? Na pomoc przychodzi nam Eclipse! Jeśli klikniemy na punkcie wstrzymań prawym klawiszem myszy (na pasku edytora Javy, lub w widoku Breakpoints)


i wybierzemy opcję Breakpoint Properties..., zobaczymy, że ostnieje sekcja Enable Condition.


W polu edycji dostępny jest asystent kodu (ang. code assist), więc bez problemu możemy korzystać ze skrótu Ctrl+Spacja i odwoływać się do obiektów i metod dostępnych w kodzie, w zasięgu danego punktu wstrzymań. Po dodaniu warunku:

zauważymy, że nasz punkt wstrzymać wygląda teraz trochę inaczej:
Jeśli przyjrzymy się uważniej sekcji pozwalającej definiować warunek dla punktu wstrzymać, zauważymy tam dwie opcje:

  • condition is 'true' - punkt wstrzymań zatrzyma się, jeśli podany przez nas warunek przyjmie wartość prawdziwą
  • value of condition changes - punkt wstrzymań zatrzyma się, jeśli podany przez nas warunek zmieni swoją wartość z "prawda" na "fałsz" lub na odwrót
Jeśli po raz pierwszy zaglądacie do właściwości punktów wstrzymań, to pewnie zauważyliście również inne opcje...o nich jednak napiszę innym razem.

poniedziałek, 14 lipca 2008

Zasady tworzenia interfejsu użytkownika dla wtyczek

W zeszłym tygodniu po raz kolejny wpadłem na zestaw zasad tworzenia interfejsu użytkownika dla wtyczek do Eclipse'a. Ostatnio jednak znalazłem wersję uaktualnioną, na którą warto spojrzeć nawet jeśli znacie tę pierwotną wersję. Jeśli tworzycie rozszerzenia, to warto zapoznać się z tym dokumentem, aby tworzony przez Was interfejs był przyjazny i zgodny z zasadami, jakimi kierują się twórcy Eclipse'a.

wtorek, 8 lipca 2008

IBM Rational Team Concert, czyli programowanie w jazzowych klimatach

Jakiś czas temu pisałem, że IBM otwiera swoją nową platformę Jazz dla wszystkich chętnych.

Była to wówczas wersja beta, od prawie dwóch tygodni dostępna jest już oficjalna wersja tej platformy oraz pierwszego narzędzia, które z niej korzysta, czyli IBM Rational Team Concert (RTC). Ciągle jednak każdy może osobiście wypróbować Jazza, gdyż dostępna jest wersja darmowa Express-C.


Zacznijmy może jednak od możliwości jakie dają nam Jazz oraz RTC. Czym jest sam Jazz? Jest to platforma wspomagająca zespoły programistyczne w realizacji projektów. Jazz skupia się na małych i średnich zespołach wykorzystujących zwinne metodyki, ale jego możliwości pozwalają również na zastosowania w innych warunkach. Najważniejsza funkcjonalność to:

  • Zarządzanie procesem
    W momencie definiowania nowego projektu możemy określić, czy chcemy korzystać z jednego z predefiniowanych procesów - do wyboru mamy Eclipse Way, OpenUp, Scrum, Agile Process oraz Simple Team Process (a także Cloudburst Sample Process, który służy wyłącznie do celów edukacyjnych). Po wyborze procesu możemy ten proces dostosować jak tylko nam sie to podoba. Oprócz takich rzeczy jak liczba kamienii milowych (ang. milestones), iteracji (ang. iterations), możemy definiować w jaki sposób ma się odbywać rozwój oprogramowania w poszczególnych fazach, np. możemy określić, że w czasie tzw. gry końcowej (ang. end game) każda zmiana kodu w repozytorium wymaga zatwierdzenia przez kierownika. Możemy określać kto może wykonywać poszczególne czynności w czasie trwania projektu, które czynności sa zabronione, a które wymagają zatwierdzenia. Możemy również definiować dodatkowe ograniczenia, np. że każda zmiana wprowadzana do repozytorium musi mieć przyporządkowaną jednostkę pracy (ang. work item).
  • Użytkownicy i zespoły
    W ramach naszego projektu definiujemy użytkowników oraz role jakie każdy z nich pełni (role te potem mają odzwierciedlenie przy precyzowaniu procesu). Użytkownicy mogą być podzieleni na zespoły, np. możemy mieć zespół zajmujący się interfejsem użytkownika, inny od komunikacji z bazą danych, a jeszcze inny od logiki biznesowej. Każdy zespół może definiować swoje własne procesy, według których chce podążać - można oczywiście też narzucić zespołom pewne wytyczne, których nie będzie można zmienić.
    Co więcej, RTC znacznie ułatwia pracę zespołów rozproszonych - zespoły takie nie są już traktowane jako coś wyjątkowego, ale jako normalność. Jakie ułatwienia znajdziemy w RTC? Chociażby możliwość integracji Jabbera, możliwość podglądu, kto w zespole nad czym pracuje, jak wygląda jego/jej obciążenie, jest również system powiadomień o zmianach (np. że ktoś właśnie dodał coś do repozytorium, albo że jakiś build sie nie powiódł). Wszystko to jest widoczne w specjalnym widoku Team Central, który daje nam podgląd na to co się dzieje w zespole.
  • Kontrola wersji
    Jazz oferuje własny system kontroli wersji (ang. version control system). Oprócz podstawowej funkcjonalności umożliwia on m.in. wstrzymywanie zmian (ang. suspend) - wyobraźmy sobie sytuację, gdy pracujemy nad nowa funkcjonalnością, nagle dzwoni to nas kierownik projektu, że klient odkrył krytyczny błąd, który musi być natychmiast naprawiony (bo inaczej oczywiście klient zrezygnuje z naszego produktu). Kierownik oczywiście nie zrozumie, że chcielibyśmy najpierw dokończyć to co robimy aktualnie, zapisać zmiany do repozytorium i dopiero później możemy się zająć błędem. Jazz daje nam możliwość wstrzymania zmian (stan naszego kodu wróci do ostatniego pobranego z repozytorium), wprowadzenia poprawek do starego kodu, zapisanie zmian do repozytorium oraz późniejszy prosty powrót do wprowadzonych przez nas wcześniej już zmian. Dodatkowo dzięki kilku poziomom, na których trzymany jest kod, możemy dzielić się swoja praca z innymi członkami zespołu bez potrzeby zapisywania naszych zmian do centralnego repozytorium, np. jeśli chcemy aby ktoś nam pomógł w znalezieniu błędu. Trzeba też dodać, że wszystkie zmiany zapisywane do repozytorium łączone są w zbiory zmian (ang. change sets), które później mogą być dołączane do różnych artefaktów (np. do jednostek pracy, buildów, itp.) oraz w prosty sposób przeglądane i cofane w razie potrzeby.
    Nasz kod możemy podzelic na komponenty, aby w łatwy spssób wydzielać kod, który później może być reużywany. Możemy tez tworzyć tzw. zrzuty (ang. snapshots) naszego kodu, do kórych możemy później w prosty sposób powracać.
  • Jednostki pracy, czyli zarządzanie zadaniami
    Jazz jako zadanie traktuje tzw. jednostki pracy (ang. work items), które mogą być odpowiednio dostosowywane do naszych potrzeb (jest to powiązane z zarządzaniem procesem), np. możemy określić jakie rodzaje jednostek pracy są nam potrzebne (np. defekt, nowa funkcjonalność, itp.), w jakich stanach może się znaleźć jednostka pracy (np. otwarty, zamknięty, naprawiony, itp.) oraz kiedy może byc wprowadzona zmiana stanu (np. możemy zdefiniować, że ze stanu naprawiony jednostka pracy może przejśc w stan ponownie otwarty, ale już nie w stan nowy). Możemy też definiować własne zapytania (ang. query) o jednostki pracy, które możemy zapisywać i współdzielić z całym zespołem. W ramach jednostek pracy mogą odbywać się dyskusje, mogą do nich być dołączane inne artefakty (np. zbiory zmian, wyniki buildów, linki, itp.). Jednostki pracy są również traktowane jako elementy podstawowe przy planowaniu kolejnych iteracji oraz przy szacowaniu obciążenia użytkowników.
  • Mechanizm budowania
    Dostępny jest również mechanizm budowania (ang. build) rozwijanych aplikacji (możemy w tym celu wykorzystać popularne narzędzie jak ANT, czy Maven), którego integracja z resztą RTC pozwala na proste wywoływania nowych żądań budowania, wyświetlanie wyników oraz na powiadamiania o wynikach.
  • Raportowanie
    Dzięki RTC (oraz wbudowanemu Birtowi) w łatwy sposób możemy generować raporty dotyczące naszego projektu.
Jeśli chodzi o architekturę to RTC składa się z dwóch podstawowych elementów - z serwera oraz klienta. Serwer do swojego działania wymaga bazy danych (domyślnie dostarczona jest darmowa baza danych Derby, można jednak korzystac równiez z DB2 oraz Oracle'a) oraz serwera aplikacji (domyślnie dostępny jest Tomcat, możemy jednak wykorzystać też Websphere'a). Jako ciekawostkę eclipsową mogę dodać, że serwer zbudowany jest z pomocą Equinoxa. Klient RTC to Eclipse ze zbiorem wtyczek (można zainstalować RTC jako aplikacje RCP, lub też skorzystać z możliwości wykorzystania istniejącej instancji Eclipse'a - sprawdziłem, działa na Eclipse Ganymede). Dodatkowo oprócz klienta desktopowego mamy możliwość dostepu przez interfejs webowy, pełen Ajaxa, bardzo przyjemny i intuicyjny.

IBM Rational Team Concert jest w chwili obecnej dostępny w trzech wersjach:
  • darmowej Express-C
  • oraz dwóch płatnych Express i Standard.
Wersja Express-C dostępna jest w postaci spakowanych plików zip, które wystarczy rozpakować, następnie uruchomić serwer odpowiednim skyrptem (plik startup.bat dla Windowsa oraz startup.sh dla Linuksa), później zostaje jeszcze uruchomić klienta. W przypadku wersji płatnych do instalacji wykorzystywany jest IBM Instalation Manager, który wszystko zanstaluje i pozwalo na proste uruchamianie serwera oraz klienta (możemy dodatkowo zainstalować sobie bazę danych DB2 Express, z którą może pracować nas serwer).

Trzeba przyznać, że już teraz RTC może się pochwalić bardzo wysoka jakością. Bierze sie to chyba stąd, że samo RTC było rozwijane za pomocą RTC, więc błędy były rozwiązywane na bieżąco.

Jazz oraz RTC to nie tylko narzędzie, ale też już spora społeczność. Na forum, które znajdziecie na oficjalnej stronie Jazza na pytania odpowiadają inni użytkownicy, a także programiści Jazza. Na tej samej stronie znajdziecie też materiały szkoleniowe, tutoriale oraz porady w jaki sposób wykorzystac Jazza oraz RTC w 100%.

Z tego co ostatnio ogłosił IBM Rational na IBM Rational Software Developement Conference, to wszystkie jego narzędzia będę wcześniej czy później zintegrowane z Jazzem, aby móc maksymalnie wykorzystywać jego możliwości oraz aby stworzyć pełną zintegrowana platformę do wytwarzania oprogramowania.

Pewnie dość nieudolnie udało mi się opisać funkcjonalność, które niosą ze sobą Jazz oraz IBM Rational Team Concert, dlatego też zachęcam do ściągnięcia darmowej wersji Express-C lub próbnej wersji Standard oraz wypróbowania tego wszystkiego o czym pisałem a także tego, o czym zapomniałem napisać!

wtorek, 1 lipca 2008

Szkoła Letnia Eclipse 2008 - rejestracja rozpoczęta!

Jako jeden z organizatorów zapraszam Was serdecznie na Szkołę Letnią Eclipse 2008. Całe wydarzenie odbędzie się w laboratoriach Politechniki Poznańskiej w dniach 22 - 26 września. O co chodzi? W kilku słowach...będzie to trzecia edycja szkolenia, które organizujemy dla studentów II roku informatyki na Politechnice Poznańskiej, od zeszłego roku jednak szkolenie jest otwarte również dla osób spoza PP, zapraszamy więc wszystkich chętnych! W ciągu pięciu dni eksperci od Eclipse'a będą pokazywać jak budować wtyczki oraz jak stworzyć własną aplikację RCP. Dowiecie się także szczegółów na temat EMF'a, RAP'a, OSGi oraz innych technologii około eclipsowych (więcej szczegółów w Programie). Szkolenie ma postać wykładów przeplatanych laboratoriami (ok. 15 minut prezentacji, a później ćwiczenie tego, co zostało zaprezenotwane), więc na pewno nie będziecie sie nudzić! Jeśli macie ochotę to zapraszamy do rejestracji (liczba miejsc jest ograniczona) i do zobaczenia we wrześniu!

czwartek, 26 czerwca 2008

Polski zwycięzca w konkursie na plakat reklamujący Eclipse Ganymede!

Michał Tkacz wygrał konkurs na najlepszy plakat reklamujący Eclipse Ganymede!
Gratulacje Michał!
Chyba miałem przeczucie, że Michał wygra, gdy umieszczałem jego pomysł na końcu postu o nowościach w Eclipse Ganymede.

środa, 25 czerwca 2008

Eclipse Ganymede już jest!

Tak! Eclipse Ganymede jest już na serwerach, więc można już go ściągać i wypróbować. W nowej wersji Eclipse'a mamy dostęp do 7 specjalnie przygotowanych wersji:

Eclipse dla programistów JEE
Klasyczny Eclipse
Eclipse dla programistów Javy
Eclipse dla programistów C/C++
Eclipse dla programistów wtyczek i RCP
Eclipse z narzędziami do modelowania
Eclipse dla programistów Javy z narzędziami do raportowania

Jeśli chcecie się dowiedzieć, jak bez większych problemów przesiąść się na nową wersję Eclipse'a to polecam artykuł na blogu Michała Margiela, gdzie dowiecie się jak w łatwy sposób wyeksportować oraz zaimportować swoje skróty klawiszowe.

poniedziałek, 23 czerwca 2008

Eclipse DemoCamp już dziś w Poznaniu, a w sobotę w Krakowie!

Przypominam, że już dzisiaj czeka nas wielkie eclipsowe wydarzenie w Poznaniu, czyli Eclipse DemoCamp! Serdecznie zapraszamy do Piwnicy 21 na godzinę 18:00. Jeśli jeszcze się nie dopisaliście to listy uczestników to zróbcie to już teraz (do edycji wiki potrzebne jest hasło na Bugzilli Eclipse'a, jeśli nie macie takiego konta, to dajcie znać w komentarzu, a dopiszę Was do listy).
Spotkanie zapowiada się bardzo ciekawie, będą goście z laboratorium IBM'u w Krakowie - Szymon Brandys oraz Tomek Żarna, będzie mowa modelowaniu biznesowym, generowaniu raportów, nowościach w Eclipse Ganymede, a także o mechanizmie zadań w platformie Eclipse, uczestnicy projektów eclipsowych w ramach Google Summer of Code opowiedzą o tym co przygotowują, a dodatkowo każdy z Was będzie mógł wziąć mikrofon i powiedzieć kilka słów od siebie! Z tego co wiem, to organizatorzy planują kilka niespodzianek, więc nie może Was tam zabraknąć!


Kraków też szykuje spotkanie w ramach Eclipse DemoCamp - najbliższa sobota 28.06.2008 godzina 12:30, klub RE. Jeśli nie możecie dołączyć do nas w Poznanu, to w Krakowie na pewno też będzie ciekawie, więc zachęcam do uczestnictwa!

poniedziałek, 16 czerwca 2008

Co nowego nas czeka w Eclipse Ganymede 3.4?

Jak już pisałem wielkimi krokami zbliża się premiera Eclipse Ganymede, czyli wersji 3.4. Pora chyba przyjrzeć się, czego można się spodziewać, gdy ściągniemy już nową wersję tego środowiska. Poniższy wybór nowej funkcjonalności jest całkowicie subiektywny, więc czekam na Wasze propozycje i opinię w komentarzach.

Java IDE (projekt JDT)

  • Pojawił się mechanizm...okruchów (?), czyli po angielsku breadcrumb, który ułatwia nawigowanie po strukturze projektu. Jak zauważycie, gdy macie otwarty edytor Javy to na pasku narzędzi pojawia się taki oto przycisk:
    Po wciśnięciu tego przycisku do naszego edytora u góry zostaje dołożony mniej więcej taki pasek:
    Co ten pasek nam daje? Otóż po pierwsze pokazuje gdzie w strukturze projektu się znajdujemy. Po drugie bez korzystania z eksploratora projektów (ang. Package Explorer) możemy w prosty sposób przemieszczać się między elementami na różnych poziomach (projektu, folderu, pakietu, klasy oraz elementów klasy):
  • Opcja Search->Occurences in File (Ctrl + Shift + U) używa różnych kolorów do oznaczania operacji odczyty i zmiany wartości szukanej zmiennej:
  • W podobny sposób jak powyżej oznaczane są wyszukane elementy w edytorze Javy - opcja Mark Occurences (Alt + Shift + O). Kolory możemy zmienić w preferencjach General->Editors->Text Editors->Annotations.
  • Quick Assist (dostępny pod skrótem Ctrl+1) ma teraz dodatkowe podpowiedzi:
    • enkapsulacja pola:
    • wydzielenie metody
  • Podpowiedzi metod statycznych klas jeszcze niezaimportowanych:
  • Liczby mogą być teraz kolorowane tak jak nam się to podoba (preferencje Java->Editor->Syntax Coloring):
  • Ostrzeganie o używaniu null'a
  • W nieposortowanych widokach, np. w widoku Outline, możliwe jest przesuwanie elementów kodu (pól/metod), a zmiany te zostaną odzwierciedlone w strukturze kodu.
  • Jeśli macie komputery z wieloma procesorami, to powinniście zauważyć przyspieszenie czasu kompilacji.
Platform / Workbench
  • Dotychczasowy mechanizm aktualizacji oraz instalacji nowych wtyczek (czyli Update Manager) został wymieniony na mechanizm o nazwie P2. Nowe podejście dość znacznie różni się od tego co było wcześniej, więc jeszcze przed premierą Eclipse Ganymede w oddzielnym poście opisać zmiany i pokazać jak korzystać z P2.
  • Pełne wsparcie SWT dla Windowsa 64-bitowego
  • TextLayout oraz StyledText z SWT dają możliwość zmiany koloru przekreślenia oraz udostępniają rożne style podkreślenia
  • Nowe projekty mogą od razu podczas ich tworzenia być dodawane do Zbiorów Roboczych:
  • Ulepszone możliwości drukowania:
    • Drukowanie numerów linii
    • Nie drukuje się już tło
    • Każda strona wydruku ma w nagłówku nazwę pliku
    • W stopce pojawia się numer strony
  • Przy prezentacji wyniku wyszukiwania podawany jest numer linii
  • Mamy możliwość eksportu oraz importu konfiguracji uruchomienia (ang. launch configuration), dostępne przez menu File->Export->Run/Debug oraz File->Import->Run/Debug

  • Pojawił się nowy widok Markers, który agreguje informacje z widoków Problems, Tasks oraz Bookmarks.
  • Widoki można od teraz zamykać klikając na nagłówku środkowym klawiszem myszy.
  • Jeśli chcemy zaznaczyć wiele linii w edytorze tekstowym (nie tylko dla plików Java) możemy skorzystać z nowego mechanizmu: klikamy trzymając Shift na numerze linii od której chcemy zacząć zaznaczanie, następnie klikamy z Shiftem na numerze linii, na której chcemy skończyć zaznaczanie.
Rozwój wtyczek (projekt PDE)
  • Pojawiło się narzędzie o nazwie Plugin Spy. Pisałem już o tym jakiś czas temu, więc chyba nie ma potrzeby żebym się o tym rozpisywał.
  • Widok Plug-in Registry pozwala wykonywać dodatkowe operacje na wtyczkach, takie jak:
    • Start
    • Stop
    • Włącz (ang. Enable)
    • Wyłącz (ang. Disable)
  • Jacek Pospychala wprowadził świetne zmiany do widoku Error Log. Po pierwsze dodał możliwość filtrowania, a po drugie dodał grupowanie informacji według sesji:

  • W edytorze punktów rozszerzeń (ang. extension points) można teraz łatwo zmieniać ich nazwy

  • Pojawił się specjalny edytor do tworzenia pomocy kontekstowej:
  • W konfiguracji uruchomienia (ang. launch configuration) dla aplikacji Eclipse (ang. Eclipse application) na zakładce Plug-ins można teraz w łatwy sposób filtrować dostępne wtyczki:
  • Punkty rozszerzeń mogą być oznaczane jako wewnętrzne (ang. internal):
    Każdy kto będzie chciał z takiego punktu skorzystać zostanie ostrzeżony, że ten punkt rozszerzeń został oznaczony jako wewnętrzny.
Pewnie sporo ciekawych rzeczy przeoczyłem, więc jeśli chcecie zobaczyć wszystkie nowości to warto przejrzeć strony z nowinkami dla kolejnych kamieni milowych Eclipse Ganymede (chwilowo strony mogą nie działać):
Pełną listę zmian znajdziecie tutaj.

Zatem uwaga - Eclipse Ganymede nadchodzi!