Jak rok temu i tym razem fundacja Eclipse zaproponowała konkurs w którym do wygrania są koszulki, polo oraz kurtki od eclipse, a dla najlepszych bilet na EclipseCon 2010 lub Eclipse Summit Europe 2009.
Co trzeba zrobić?
Wystarczy napisać krótką recenzję nowej wersji Eclipse (Galileo) w której opiszemy przynajmniej 3 rzeczy które lubimy bądź nie w nowym eclipse, opublikujemy to na blogu, grupie dyskusyjnej lub jakimś portalu, o czym poinformujemy ludzi z eclipse.
Więcej info na stronie Blogathon-u.
Od kilku dni dostępna jest nowa wersja Eclipse Galileo, powoli opadają emocje więc warto sprawdzić co zmieniło się w nowej wersji, a jest o czym pisać bo pomimo niewielkiego skoku na liczniku numeru wersji sam eclipse odmienił się znacznie. Choć na pierwszy rzut oka różnic nie zauważycie.

Eclipse Ganymede po prawej, po lewej nowa wersja Galileo
Jak widać zmian w oknie głównym nie ma żadnych, i słusznie jak dla mnie jest niemal idealne. Jednak mile zaskoczeni zostali użytkownicy MacOS (w tym ja) otóż nowy Eclipse wykorzystuje również Cocoa do wyświetlania okien, na pewno poprawi to warunki estetyczne aplikacji. Dodatkowo dzięki Customize Perspective mamy możliwość ustawić jakie ikony chcemy widzieć w toolbarze oraz jakie pozycje w menu mają być dostępne, dzięki temu dokładnie dostosujemy IDE do naszych możliwości. Continue reading ‘Eclipse Galileo nowości i różnice’
Już jutro w godzinach 11-15 odbędzie się w Krakowie Eclipse Demo Camp na którym prezentowana będzie najnowsza wersja o kodowej nazwie Galileo. Spotkanie odbędzie się w klubie Baraka znajdującym się na skrzyżowaniu ulicy Warszauera i ulicy Estery. Więcej informacji na stronie spotkania.
Dzisiejszego dnia udostępniony został Eclipse Galileo. W chwili obecnej jest to tzw. EarlyAccess więc dostęp ograniczony jest do pobrania przez sieć bittorrent (zarejestrowani użytkownicy mają dostęp do bezpośredniej metody pobierania).
Zapraszam do ściągania i opisywania zmian względem poprzedniej wersji Ganymede.
Jedną z bardziej denerwujacych rzeczy w pisaniu aplikacji Javovych (aplikacji webowych) jest ciągłe redeployowanie aplikacji celem sprawdzenia czy naniesione poprawki lub nowe funkcje działają poprawnie.
W językach skryptowych takich jak PHP, Ruby czy też świeży Grails dzieje się to w pełni automatycznie, zmienię część kodu, przechodzę do przeglądarki odświeżam i cieszę się, że działa (bądź nie). Continue reading ‘Wygodniejsze tworzenie aplikacji z JavaRebel’
Zend_Tool to narzędzie które wspomóc ma tworzenie szkieletu aplikacji a w zamyśle programistów tego komponentu być może wspomoże tworzenie całej aplikacji. Jest to odpowiednik aplikacji Bakery znanej z CakePHP, Railsów czy też javovych Grailsów.
Brzmi genialnie, w rzeczywistości jeszcze wiele temu projektowi potrzeba żeby stać się prawdziwym konkurentem dla choćby Bakery. W tej chwili możliwe jest jedynie stworzenie szkieletu projektu, dodanie kontrolerów, akcji i widoków, całą resztę przejmuje programista.
Warto jednak dodać, że jest to świetny start do zbudowania własnej aplikacji, gdyż szkielet wygenerowany przez Zend_Tool oparty jest o nowość w bibliotece czyli Zend_Application (o którym napiszę w przyszłości)
Aplikacja jest prosta w użyciu, wystarczy wpisać zf.sh (zf.bat dla windows-a) by naszym oczom ukazała się mała pomoc ze spisem komend jakie aplikacja może wykonać (nie jest ich wiele).
Continue reading ‘Zend_Tool_Project – początki Rapid’
Przed chwilą zdarzył mi się dziwny przypadek, wykorzystując zbudowany formularz dodawałem dane do bazy, jednak dane nie zawierały polskich znaków, zamiast nich były łagodnie mówiąc “krzaczki”, poprawiłem szybko krzaczki w bazie i zaczęły się poprawnie wyświetlać na stronie, problem więc nie był w samej bazie a w formularzu. Nastała chwila konsternacji gdyż sam spring został skonfigurowany pod utf-8 (ustawione kodowanie znaków) a dane przesyłane do bazy były w kodowaniu ANSI.
Po przeszukaniu internetu okazało się, że nie jestem sam, i aby wszystko zaczęło działać wystarczy ustawić filtr w pliku web.xml.
<filter>
</filter><filter -name>charsetFilter</filter>
<filter -class>org.springframework.web.filter.CharacterEncodingFi lter</filter>
<init -param>
<param -name>encoding</param>
<param -value>UTF-8</param>
</init>
<filter -mapping>
</filter><filter -name>charsetFilter</filter>
<url -pattern>/*</url>
I wszystko działa poprawnie.
Rozwiązanie znalezione na: http://forum.springsource.org
Jak ważne jest testowanie wie każdy programista, testy jednostkowe można pisać po stworzeniu aplikacji, lub co zalecane w trakcie jej tworzenia. Samo pisanie testów nie jest męczącym zajęciem o ile tworzymy niewielki projekt z odseparowanymi od siebie klasami. Problem zaczyna wzrastać do rangi misji niemożliwej gdy jedna klasa połączona jest z innymi klasami nie zawsze jawnie zadeklarowanymi jak to ma miejsce w aplikacjach opartych o Springframework.
W takim momencie z pomocą przychodzi nam adnotacja @ContextConfiguration zawarta w pakiecie org.springframework.test. Dzięki niej możemy bezpośrednio do naszej klasy testu jednostkowego podpiąć skonfigurowany wcześniej kontekst aplikacji zawierający zadeklarowany beany.
Continue reading ‘Springframework @ContextConfiguration – podpinamy kontekst do testów’
Tworzenie mojego projektu* rozpocząłem od zdefiniowania bazy danych, tabel w bazie oraz odpowiednich relacji między tabelami, na koniec dodałem sekwencje. Wszystko wygląda pięknie, i tak w teorii działa.
Jak każdy programista jestem leniwy, zamiast tworzyć mapowania w moim IDE o wiele lepiej wygenerować je wprost z bazy. W IntelliJ robi się łatwo o ile znajdziemy odpowiednią opcję o czym pisałem jakiś czas temu. Niestety szybko przekonałem się, że nie jest to idealne odwzorowanie moich tabel. Nie wiedzieć czemu IntelliJ zapomniał zaimportować sekwencje zadeklarowane w bazie, co skutkowało wystąpieniem szeregu błędów podczas prób zapisania danych w bazie, w szczególności wyróżnia się jeden:
org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.springframework.orm.hibernate3.HibernateSystemException:
ids for this class must be manually assigned before calling save():
com.darekzon.coffeine.domain.Category;
nested exception is org.hibernate.id.IdentifierGenerationException:
ids for this class must be manually assigned before calling save():
com.darekzon.coffeine.domain.Category
Continue reading ‘@GeneratedValue oraz @SequenceGenerator – czyli sekwencje w hibernate’
Tworząc mój projekt stanąłem przed problemem którego nie potrafiłem rozwiązać, było to w miarę łatwe parsowanie przyjaznych linków celem wydobycia z nich parametrów. Spring 2.5.6 z którego korzystałem nie miał takiej możliwości (nie znalazłem rozwiązania), więc postanowiłem migrować projekt do najnowsze wersji tego frameworka a mianowicie do wersji 3.0.0 M3.
Z racji, że korzystam z mavena uznałem, że wystarczy zmienić wersje bibliotek w pliku POM.xml i wszystko ładnie będzie działać, niestety repozytoria które miałem skonfigurowane nie posiadały w swoich zasobach najnowszej wersji Spring-a.
Po szybkim przejrzeniu strony springframework.org szybko pobrałem konfigurację repozytorium Springa w którym przechowywane były najnowsze wersje bibliotek, niestety, po skonfigurowaniu tego repozytorium nie można było go zaktualizować (pobrać listy zawartości). Przeszukałem internet i nie znalazłem nic na ten temat, wpadłem natomiast na ciekawą aplikację jaką jest Nexus. Aplikacja pomaga nam utworzyć własne repozytorium, wymagając jedynie systemu operacyjnego z rodziny *Unix i maszyny wirtualnej javy, udostępniany jest też plik *.war, więc wszyscy użytkownicy, tomcata również znajdą coś dla siebie.
Tak więc utworzyłem na swoim serwerze vps repozytorium zawierające najnowszą wersję Springa, dodałem konfigurację do pliku POM.xml i wszystko działa, no prawie wszystko. Moje IDE nie widzi nowych wersji podczas wpisywania zależności, ale pobiera je poprawnie.
Dla wszystkich chętnych poniżej wstawiam konfigurację pliku POM.xml z moim repozytorium.
<repositories>
<repository>
<id>repo.a</id>
<url>http://mvn.darekzon.com/nexus/content/groups/public</url>
</repository>
</repositories>
Ostatnie komentarze