środa, 15 września 2010
Zaczęły się prace nad nowym Netbeansem 6.10
wtorek, 10 sierpnia 2010
Pisanie testów w groovym i Netbeansie
Netbeans (nawet najnowszy 6.9.1) ma błąd, który "psuje" plik antowy jeżeli chcemy wrzucać klasy Grooviego do testów. Dostajemy na konsoli:
Compiling 1 source file to /Users/piotrzalewski/NetBeansProjects/JavaApplication5/build/classes compile: /Users/piotrzalewski/NetBeansProjects/JavaApplication5/nbproject/build-impl.xml:725: Unknown attributes [apgeneratedsrcdir, processorpath] BUILD FAILED (total time: 5 seconds)
Zgłaszałem to jako buga na netbeans.org, został przypisany i trochę zignorowany :(. A szkoda, bo pisanie testów w Groovym jest łatwiejsze i wygodniejsze.
Postanowiłem więc mimo wsystko na tym posiedzieć i poszukać rozwiązania.
Są dwa problemy do rozwiązania:
- 1. Nieścisłość w plikach anta.
- 2. Wymuszenie kompilacji plików *.groovy przed testem i ich wykonanie w trakcie testu.
Dla piewszego problemu znalazłem japońskie rozwiązanie pod http://feather.cocolog-nifty.com/weblog/2010/06/netbeans69groov.html. Do pliku groovy-build.xml należy dodać definicje atrybutów:
<attribute default="${javac.processorpath}" name="processorpath"/>
<attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
w sekcji makrodefinicji dla "javac".Drugi problem był łatwiejszy i rozwiązanie w bardziej ludzkim języku:
http://charliesquires.wordpress.com/2009/08/30/running-groovy-tests-in-netbeans-6-7-1/
Podany kod należy wkleić między tagi Uff - od razu łatwiej ;)
<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
<j2seproject3:junit testincludes="**/*Test.class"/>
</target>
<target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
<fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpath="${javac.classpath}"/>
<groovy>
properties."test.includes.class" = properties."test.includes".split("\\.")[0] + ".class"
</groovy>
<j2seproject3:junit excludes="" includes="${test.includes.class}"/>
</target>
<target name="-init-macrodef-junit">
<macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<sequential>
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true">
<batchtest todir="${build.test.results.dir}">
<fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
<filename name="@{testincludes}"/>
</fileset>
</batchtest>
<classpath>
<path path="${run.test.classpath}"/>
</classpath>
<syspropertyset>
<propertyref prefix="test-sys-prop."/>
<mapper from="test-sys-prop.*" to="*" type="glob"/>
</syspropertyset>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
<jvmarg line="${run.jvmargs}"/>
</junit>
</sequential>
</macrodef>
</target>
A w samym tagu project dodać:xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3"
Kindle - internetowy tablet?
Internet za darmo? Tak wygląda - bo za bezprzewodową łączność opartą na 3G nic się nie płaci. Kindle staje się bardzo ciekawym konkurentem dla brania laptopa na wakacje. Wady - przeglądarka Kindle jest bardzo uproszczona, nie wyświetla poprawnie wielu zaawansowanych styli css. Obsługa Javascriptu jakaś jest - ale fabrycznie jest wyłączona. Jednak wystarczające aby sprawdzić pocztę, jakieś informacje na blogach, czy gazetach w sieci.
poniedziałek, 26 lipca 2010
Nowy-stary Kindle
Krótkie rozeznanie bojem nowych cech:
- Zoomowanie PDF - można ustawić sobie powiększenie 150%, 200%, 300%, oraz to co bylo do tej pory czyli szerokość strony. Powiększony fragment możemy przesuwać skokowo, lub płynie (z naciśniętym shiftem). Niestety ponieważ nie jest to płynne zoomowanie, nie mogę tylko trochę powiększyć sobie aby zlikwidować marginesy w książce. Tu niestety jest to mało przydatne, gdyż najmniejsze powiększenie 150% powoduje, że czytając linijkę tekstu musimy przesuwać w bok wyświetlany fragment. Natomiast bardzo przydatne jest to w momencie gdy czytamy dwukolumnowe (lub wielokolumnowe) teksty np. gazety (JavaExpress ;) ), możemy spokojnie powiększyć sobie tylko ten fragment z kolumną tekstu, która cała będzie nam się mieściła na szerokość. Dzięki temu spokojnie będziemy czytali duże i wyraźne teksty.
- Kolekcje - bardzo fajna funkcja która pozwala nam na posegregowanie naszych zbiorów ebooków. Każdy dokument może należeć do wielu kolekcji - więc jest to coś co wreszcie pozwoli mi znajdywać dokumenty szybko i sprawnie. Wystarczy na dokumencie dać strzałkę w prawo, a następnie "Add to Collection". Lub utworzyć kolekcję i wybrać książki które w niej się znajdą. Bardzo ładnie i sensownie zostało to zrobione, bez problemu można dodawać i usuwać.
- Facebook i Twitter ;) - można się cytatami i komentarzami od razu dzielić z przyjaciółmi. Fajne - w dowolnym prawie miejscu mogę napisać komentarz na Facebooku za darmo ;) Aż, żałuję, że nie jestem fanem Facebooka ;). Sprawdziłem - działa całkiem sprawnie.
sobota, 24 lipca 2010
Nowy soft dla mojego Kindelka
W nowej wersji mają być dostępne:
- Kolekcje - możliwość przypisania swoich książek, audiobooków, etc do kolekcji. Jeżeli to jest to o czym myślę to jest to najbardziej wyczekiwana funkcja dla mnie. Do tej pory mimo,że książki można było wrzucać i segregować w różnych podkatalogach to ich listę czytnik wyświetlał zawsze "płasko" (nie hierarchicznie), bez podziałów na podkatalogi. Powodowało to, że miałem 5 stron różnych książek na liście i znalezienie konkretnej gdy nie pamiętałem tytułu było czasochłonne.
- PDF Pan i Zoom - ooooo! to jest chyba druga opcja której mi brakowało, mam wiele pdf-ów i czytanie ich nie było tak wygodne, bo nie dało się powiększyć czcionki. Mam nadzieję, że teraz będzie lepiej.
- Password protection - czyli można zażądać hasła przy wybudzaniu czytnika.
- Dwa nowe duże fonty oraz poprawienie pozostałych aby były bardziej czytelne.
- Możliwość umieszczania komentarzy na Twiterze i Facebooku - ja tam nie wiem ale boję się już zajrzeć do lodówki bo zobaczę tam znaczek Facebooka :)
- Popularne cytaty - możliwość zobaczenia co inni zaznaczyli najciekawszego w kupowanych książkach - ciekawe może być przydatne przy ocenie nowych książek.
Włączyłem w swoim Kindle GSM i zobaczymy czy będzie się potrafił sam upgredować - jak narazie mam jeszcze soft 2.3 - oznaczenie nowego to 2.5.
Szczegóły i instrukcja instalacji pod: http://www.amazon.com/gp/help/customer/display.html/ref=pe_81240_16401580_hp_kswup_nav_autowire?nodeId=200324680
czwartek, 17 czerwca 2010
Netbeans 6.9 wydany
Zmiany opisywałem przy okazji wydania pierwszej wersji (6.9M1).
W skrócie:
- netbeans będzie się uruchamiał już tylko dla Javy 6
- wsparcie dla OSGI - jak na razie dla mnie czarna magia ;)
- drobne poprawki dla PHP
- drobne poprawki edytora Javy
- drobne poprawki debugera Javy (np. możliwość grupowania breakpointów w grupy)
- dodano biblioteki dla Springa 3.0
Dodatkowo ulepszono edycje klas CSS - co może mi się bardzo przydać.
Pełna lista zmian:
http://wiki.netbeans.org/NewAndNoteWorthy#New_And_Noteworthy_in_NetBeans_6.9.
czwartek, 6 maja 2010
Groovy, Griffon i wybór IDE
Mam nowy nieduży projekt aplikacji standalone, postawiłem więc zapoznać się przy okazji z Griffonem. Griffon (http://griffon.codehaus.org/) jest frameworkiem (1) do pisania w Groovym aplikacji w Swingu. Ma ogromne wsparcie do pisania w sposób zgodny z MVC (wzorzec projektowy Model-View-Controler) - prawie się nie da zepsuć tego wzorca korzystając z Griffona :)
Zacząłem od wyboru IDE dla Groovego i na tym trochę utknąłem. Google zwraca sporo wyników, ale większość jest dość starych - a w technologi mocno rozwijającej się wszystko się zmienia z miesiąca na miesiąc. Ludzie byli dość zgodni, że jednym z najlepszych jest na pewno IntelliJ IDEA, ale niestety jest płatne. Zostałem z Eclipsem vs. Netbeans. Z tych dwóch Netbeans jest mi bardziej znane i chyba będzie łatwiejsze w użyciu - wsparcie dla groovego jest standardowo dostępne od wersji 6.7, a właśnie niedawno pokazała się wersja 6.9Beta. Jakby dla zupełnego przekonania mnie o tym pokazała się nowa wtyczka specjalnie dla Griffona (http://blogs.sun.com/geertjan/entry/griffon_and_netbeans_ide_61) - o ile mi wiadomo Eclipse nie dorobił się jeszcze wtyczki ułatwiającej prace z Griffonem.
Instalacja wtyczki jest prosta:
- pobrałem plik zip
- rozpakowałem
- w Netbeans wybrałem Tools->Plugins, zakładka Downloaded, przycisk Add Plugins i wskazałem oba pliki *.nbm.
- klik na Install i pierwszy problem - moja wersja 6.9Beta (na MacOSX) ma wbudowane pluginy do groovego z dnia 2010-04-20, a wtyczka do griffona wymaga ich z dnia 2010-04-21 - dziwna sprawa.
- spróbuję więc z Netbeans w wersji "night build" - w końcu w tej chwili do codziennych buildów trafiają chyba tylko poprawki do wersji Beta, więc nie powinno być.
- i niestety dostaję ten sam błąd - wygląda, że w pluginie jest wpisane na stałe jaką dokładnie wersje powinien mieć Groovy Support, nowsza też odpada - dla MacOs jest to niestety nie trafione. Wpisałem komentarz na strone autora - zobaczymy jutro.
I tak skończyła się na razie "łatwa instalacja" ;)
Sprawdziłem w domu na windowsie niestety także jest to wersja inna niż wymagana przez ten plugin. Wygląda na to, że na razie tylko na Linuxie działa ;) Dopisałem o windowsie i poczekam na reakcje autora.
(1) framework - zbiór blibliotek? ktoś proponował tłumaczenie "szkielet" które chyba jest najlepsze