<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7903122543378555744</id><updated>2011-09-28T16:55:25.591-07:00</updated><category term='Mockito'/><category term='TestNG'/><category term='AtlasCamp'/><category term='SQL'/><category term='YAGNI'/><category term='Grzegorz Duda'/><category term='Podcast'/><category term='Software Craftsmanship'/><category term='devBlogi'/><category term='infoShare'/><category term='SQL Explorer'/><category term='SAI'/><category term='IntelliJ IDEA'/><category term='Software Developer&apos;s Journal'/><category term='Oracle'/><category term='DataSource'/><category term='MySQL Newsletter'/><category term='TDD'/><category term='JNDI'/><category term='Code Review'/><category term='Praktyki'/><category term='Spartez'/><category term='Joel Spolsky'/><category term='Atlassian TV'/><category term='Spring'/><category term='konferencje'/><category term='Na wesoło'/><category term='Cytaty'/><category term='Jersey'/><category term='Inżynieria Oprogramowania'/><category term='Javarsovia'/><category term='jQuery'/><category term='Eclipse Helios'/><category term='MySQL'/><category term='COOLuary'/><category term='Java EE'/><category term='REST'/><category term='4Developers'/><category term='Sun Microsystems'/><category term='java4people'/><category term='InfoQ'/><category term='Testowanie'/><category term='Tapestry'/><category term='NetBeans'/><category term='Java - ćwiczenia praktyczne'/><category term='Google App Engine'/><category term='JDBC'/><category term='37signals'/><category term='Trójmiasto JUG'/><category term='Atlassian'/><category term='e-point'/><category term='PJUG'/><category term='Agile'/><category term='Painless Software'/><category term='Maven'/><category term='Eclipse'/><category term='Scrum'/><category term='JavaExpress'/><category term='JavaScript'/><category term='SDJ'/><category term='GeeCON'/><category term='JavaBlackBelt'/><category term='certyfikaty'/><category term='Aptana Studio'/><title type='text'>Akademia Javy</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>72</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-8579178770948482538</id><published>2011-03-19T13:29:00.000-07:00</published><updated>2011-03-20T08:16:38.242-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Craftsmanship'/><title type='text'>Programowanie to nie rzemiosło?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam serdecznie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wczoraj zaczynałem dalej rozwijać aplikację na przedmiot Platforma Programistyczna .NET (fuuuuj...). W czasie poszukiwania informacji na temat &lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663324"&gt;Windows Communication Foundation&lt;/a&gt; (.NET WCF) natrafiłem na post o intrygującym tytule &lt;a href="http://dannorth.net/2011/01/11/programming-is-not-a-craft/"&gt;"Programming is not a craft"&lt;/a&gt;. Po skończeniu pracy zasiadłem do lektury i muszę powiedzieć nie przyszła mi ona łatwo. Po pierwsze nie zgadzam się z tezą przedstawioną przez autora, a po drugie stoi to w całkowitej sprzeczności z tym co przekazuje &lt;a href="http://art-of-software.blogspot.com/"&gt;Sławomir Sobótka&lt;/a&gt; na konferencjach i swoim blogu. Nie przeczytałem wszystkich komentarzy do postu (a jest ich ponad 130!), ale odniosłem wrażenie, że autor chyba nie do końca zrozumiał pojęcie rzemiosła w ujęciu informatyki. Tak czy siak, warto spojrzeć czasem na pewne rzeczy z perspektywy osoby trzeciej, która stoi w opozycji do tego, w co się wierzy i co się stoi. Dlatego właśnie zachęcam do przeczytania tego artykułu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na pewien czas to tyle. Jestem zawalony pracą i nie daje mi to możliwości pisania tylu postów, ile bym chciał. Ale mam nadzieję, że już niedługo to wszystko się unormuję i będę mógł dotrzymać obietnic napisania postów na pewne tematy (jak ta złożona &lt;a href="http://akademiajavy.blogspot.com/2011/02/ryan-singer-czowiek-ktory-zmusi-mnie-do.html"&gt;w tym poście&lt;/a&gt;).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i życzę miłej niedzieli przy pięknej pogodzie! :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-8579178770948482538?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/8579178770948482538/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2011/03/programowanie-to-nie-rzemioso.html#comment-form' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8579178770948482538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8579178770948482538'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2011/03/programowanie-to-nie-rzemioso.html' title='Programowanie to nie rzemiosło?'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-8164363476599295177</id><published>2011-02-16T11:48:00.001-08:00</published><updated>2011-02-16T12:09:31.841-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='37signals'/><title type='text'>Ryan Singer - człowiek, który zmusił mnie do myślenia</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam po długiej przerwie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Od końca zeszłego roku nie opublikowałem żadnego postu. Dlaczego? Powodów jak zwykle można by wymieniać wiele, ale ja ograniczę się do podania jednego, najważniejszego. Otóż od kilku tygodni jestem dumnym posiadaczem tytułu inżyniera fizyki technicznej ze specjalnością informatyki stosowanej! :) W tym tygodniu rozpocząłem studia na drugim stopniu, na tym samym kierunku. Ponieważ nie planuję pracować studiując na pierwszym semestrze (32 godziny tygodniowo, zajęcia do 20-21 itp. bardzo skutecznie to utrudniają) w wolnym czasie postanowiłem nadrobić wiele zaległości.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jedną z pierwszych rzeczy jakie postanowiłem nadrobić to obejrzenie trzech prezentacji Ryana Stingera, pracownika firmy &lt;a href="http://37signals.com/"&gt;37signals&lt;/a&gt;. Firma ta jest znana z m.in. Rails'ów dla języka Ruby, czy też rewelacyjnej wręcz książki ReWork. Prezentacje Ryana zmusiły mnie do przemyślenia sposobu, w jaki do tej pory podchodziłem do swoich małych projektów. Zbyt szybkie siadanie do komputera i rozpoczęcie kodowania kosztuje mnie teraz bardzo wiele w drugiej iteracji malutkiej aplikacji, którą planuję przerobić. Doszło do tego, że znaczna większość kodu, który napisałem do pierwszej wersji jest do wyrzucenia. Ale człowiek uczy się na błędach i od bardziej doświadczonych od siebie :) Spróbuję zastosować rady Ryana w tym projekcie, zobaczymy co z tego wyjdzie ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A teraz zapraszam do obejrzenia wspomnianych przeze mnie prezentacji:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;iframe src="http://player.vimeo.com/video/15772341?byline=0&amp;amp;portrait=0" width="403" height="225" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p style="text-align: center;"&gt;&lt;a href="http://vimeo.com/15772341"&gt;Ryan Singer at Future of Web Apps, London 2010&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;iframe src="http://player.vimeo.com/video/15774773?byline=0&amp;amp;portrait=0" width="400" height="300" frameborder="0"&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/15774773"&gt;Weaving Design and Development&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;iframe src="http://player.vimeo.com/video/15840418?byline=0&amp;amp;portrait=0" width="400" height="267" frameborder="0"&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/15840418"&gt;UI Fundamentals for Programmers&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-8164363476599295177?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/8164363476599295177/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2011/02/ryan-singer-czowiek-ktory-zmusi-mnie-do.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8164363476599295177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8164363476599295177'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2011/02/ryan-singer-czowiek-ktory-zmusi-mnie-do.html' title='Ryan Singer - człowiek, który zmusił mnie do myślenia'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-1233213077472592981</id><published>2010-12-27T12:48:00.001-08:00</published><updated>2011-07-20T14:08:23.281-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian'/><category scheme='http://www.blogger.com/atom/ns#' term='AtlasCamp'/><title type='text'>Cytaty #8</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nie wiem dlaczego, ale mam ostatnio nieodpartą ochotę pisać jak najwięcej postów na blogu :) Tym razem chciałbym przedstawić trzy zasłyszane hasła, które głęboko utkwiły mi w pamięci, oraz które dały mi wiele do myślenia.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pierwszy z nich pochodzi z jednego z moich ulubionych seriali -&lt;i&gt; Chorych Doktorów&lt;/i&gt; (ang. &lt;i&gt;Scrubs&lt;/i&gt;). W jednej ze scen Bob Kelso mówi do swojej pacjentki (a także do przysłuchującego się Turk'a):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="text-align: center;"&gt;&lt;i&gt;"Nic, co jest warte posiadania, nie przychodzi łatwo (...)"&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jakby tego było mało, potwierdza to niejako Rendy Pausch, którego książkę - &lt;i&gt;Ostatni Wykład&lt;/i&gt; - w ostatnim czasie przeczytałem już po raz trzeci od deski do deski. Są w tej książce (a także na &lt;a href="http://www.youtube.com/watch?v=ji5_MqicxSo"&gt;wideo z jego faktycznego ostatniego wykładu&lt;/a&gt;) pewne bardzo słuszne słowa:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="text-align: center;"&gt;&lt;i&gt;"Mury istnieją po to, by powstrzymywać ludzi, którzy nie pragną czegoś dostatecznie mocno"&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na sam koniec przytoczę słowa Dona Brown'a z firmy &lt;a href="http://www.atlassian.com/"&gt;Atlassian&lt;/a&gt;, który to w trakcie prezentacji pt. &lt;a href="http://www.atlassian.com/en/about/events/atlascamp/2010/day2/functional-and-integration-testing"&gt;"Functional and Integration Testing for the Lazy"&lt;/a&gt; na &lt;a href="http://www.atlassian.com/about/events/atlascamp/2010/"&gt;AtlasCamp 2010&lt;/a&gt; powiedział:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="text-align: center;"&gt;&lt;i&gt;"As we start any good story, every story begins in Maven"&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nie trzeba chyba dodawać, że Don nie jest miłośnikiem skomplikowania, jakie niesie ze sobą Maven, gdy używa się go w większych projektach? :) Prawda jest taka, że Maven jest cudowny, umożliwia i ułatwia wiele rzeczy, lecz każde ulepszenie przynosi tyle samo, jeśli nie więcej, problemów do rozwiązania. W moim przypadku, w ostatnim okresie, znaczną część czasu poświęcam na poprawianie konfiguracji Mavena zamiast zajmować się implementacją nowych funkcji w projekcie, co potrafi naprawdę mocno zniechęcić do tego narzędzia.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-1233213077472592981?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/1233213077472592981/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/cytaty-8.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1233213077472592981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1233213077472592981'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/cytaty-8.html' title='Cytaty #8'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-2166428326034749407</id><published>2010-12-26T15:52:00.001-08:00</published><updated>2010-12-26T16:33:31.031-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Developer&apos;s Journal'/><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaExpress'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='InfoQ'/><category scheme='http://www.blogger.com/atom/ns#' term='SDJ'/><title type='text'>Agile Central Europe 2010</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Święta to idealny czas na nadrobienie zaległości, które nie wymagają zbyt wiele zachodu. Ponieważ ostatnie kilka tygodni było naprawdę zwariowane, nie miałem tak naprawdę czasu przejrzeć ostatnich numerów &lt;a href="http://www.javaexpress.pl/"&gt;JAVA exPress&lt;/a&gt;, czy też &lt;a href="http://sdjournal.org/"&gt;Software Developer's Journal&lt;/a&gt;, lub też być na bieżąco z ciekawymi prezentacjami na &lt;a href="http://www.blogger.com/www.infoq.com"&gt;InfoQ&lt;/a&gt;. Całą sytuację pogorszył jeszcze fakt startu nowej inicjatywy kolegi z pracy, &lt;a href="http://www.nowaker.net/"&gt;Damiana Nowaka&lt;/a&gt; - &lt;a href="http://wpolsce.it/"&gt;wPolsce.it&lt;/a&gt;. Jest to portal, na łamach którego publikowane mają być docelowo informacje o wszystkich konferencjach informatycznych w Polsce. Dzięki tej inicjatywie dowiedziałem się o konferencji, która miała miejsce w tym roku - &lt;a href="http://agilece.com/"&gt;Agile Central Europe 2010&lt;/a&gt; w Krakowie. Piszę o tym, ponieważ przeglądając stronę konferencji natrafiłem na zapis wideo prezentacji Roberta Dempsey'a o ciekawym tytule &lt;i&gt;"Distributed Agile in a Multicultural World"&lt;/i&gt;. Od kiedy trafiłem do swojej pierwszej prawdziwej pracy informatycznej około 4 lata temu pracowałem zdalnie, w domu. Nie było biura jako takiego, był tylko sklep, dla którego pracowałem, lub od czasu do czasu mieszkanie właścicielki firmy oraz jej partnera, gdzie odbywały się sesje planowania. Już po kilku tygodniach pracy tam miałem okazję załatwiać sprawę z ludźmi zza granicy, co wpierw napawało mnie strachem (do tej pory nigdy nie opuściłem granic naszego wspaniałego ojczystego kraju), a także ekscytacją w różnej postaci. Już wtedy, te 4 lata temu, postanowiłem dojść w swojej karierze zawodowej do miejsca, w której będę pracował z ludźmi nie tylko z innego kraju, ale także innego kontynentu. Nie tak dawno temu, kiedy dostałem propozycję pracy w &lt;a href="http://www.spartez.com/"&gt;Spartezie&lt;/a&gt; (a jeśli mam być szczery już w trakcie odbywania tam praktyk studenckich) marzenie to powróciło ze zdwojoną siłą. Wraz z tym marzeniem przyszło przeświadczenie, że tak naprawdę nie jestem w żaden sposób przygotowany do takiej pracy i nie mam tu na myśli tylko moich zdolności programistycznych. Idąc tym tropem postanowiłem wolną chwilę w te święta spędzić na obejrzeniu prezentacji Roberta i czas na to poświęcony nie był ani trochę zmarnowanym. Prezentacja jest bardzo ciekawa i pomogła otworzyć mi oczy na tak wiele aspektów zdalnej pracy interkontynentalnej, że tak naprawdę mam teraz więcej pytań i wątpliwości niż wcześniej. Sądzę jednak, że jest to dobry objaw, gdyż pokazuje, że mi zależy. Ale żeby nie przedłużać, oto wspomniana przeze mnie prezentacja:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;iframe src="http://player.vimeo.com/video/12021592" width="400" height="225" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;center&gt;&lt;p&gt;&lt;a href="http://vimeo.com/12021592"&gt;Robert Dempsey - Distributed Agile in a Multicultural World&lt;/a&gt; from &lt;a href="http://vimeo.com/agilece"&gt;Krakow Tech Conferences&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;/center&gt;&lt;div style="text-align: justify;"&gt;Niestety filmik nie jest w najlepszej jakości, nie widać slajdów przez większość czasu - jednym słowem - &lt;a href="http://parleys.com/"&gt;Parleys&lt;/a&gt; to to nie jest ;) Przeglądając &lt;a href="http://vimeo.com/agilece"&gt;kanał&lt;/a&gt; na &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;, na którym umieszczono prezentację natrafiłem jeszcze na kilka zapowiadających się ciekawie prezentacji. &lt;a href="agilece.com/ace-conference-2010/2010/7/19/piotr-jagielski-refactoring-test-code.html"&gt;"Refactoring Test Code"&lt;/a&gt; Piotra Jagielskiego okazał się zacząć bardzo dobrze, lecz nie dane mi było dotrwanie choćby do 1/3 prezentacji  - prelegent omawiał wyświetlany na rzutniku kod, który był całkowicie nieczytelny dla widza. Maria Diaconu wraz z  Alexandrem Bolboacă wygłosili prezentację na temat &lt;a href="http://agilece.com/ace-conference-2010/2010/5/26/maria-diaconu-and-alexandru-bolboac-software-as-a-craft-an-i.html"&gt;"Software as a craft - an introduction to the Software Craftsmanship movement"&lt;/a&gt; - temat, który dzięki &lt;a href="http://art-of-software.blogspot.com/"&gt;Sławomirowi Sobótce&lt;/a&gt; jest mi znany o tyle, że jestem świadom jego istnienia i chętnie dowiaduje się czegoś na ten temat przy każdej możliwej okazji. Niestety prezentacja nie była ciekawa, a to za sprawą ciężkiego dla ucha angielskiego oraz małej ilości przekazanych treści.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Święta przed chwilą się skończyły, tak więc czas przygotować się do powrotu do pracy, na dziś to tyle.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-2166428326034749407?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/2166428326034749407/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/agile-central-europe-2010.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2166428326034749407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2166428326034749407'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/agile-central-europe-2010.html' title='Agile Central Europe 2010'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5600034215457255067</id><published>2010-12-25T03:12:00.000-08:00</published><updated>2010-12-25T08:21:33.112-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IntelliJ IDEA'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Co nowego w IntelliJ IDEA 10</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dwa tygodnie temu wróciłem po długim (5-tygodniowym) urlopie do pracy. Pierwsze co zwróciło moją uwagę to aktualizacja obecnie używanego przeze mnie IDE - &lt;a href="http://www.jetbrains.com/idea/index.html"&gt;IntelliJ IDEA&lt;/a&gt; - do wersji 10. Od dłuższego czasu, jeszcze przed pójściem na urlop, było dosyć głośno na temat nowej wersji naszego ulubionego edytora. Największy nacisk miał zostać położony na wydajność aplikacji, ale nie miało to być jedyne udostkonalenie, które miała wnieść najnowsza wersja. Poniżej prezentuje liste rzeczy, które najbardziej spodobały mi się w IDEA 10:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Poprawiona wydajność&lt;/b&gt; - na &lt;a href="http://www.jetbrains.com/idea/whatsnew/index.html"&gt;stronie z informacjami o nowościach w wersji 10&lt;/a&gt; firma &lt;a href="http://www.jetbrains.com/"&gt;JetBrains&lt;/a&gt; informuje, że nowa IDEA uruchamia się w czasie dwukrotnie szybszym niż poprzednia wersja, podobnie jak indeksowanie projektu. Liczby trochę przesadzone, ale 30-35% szybsze działanie, które osobiście odnotowałem od samego początku pracy z nową wersją edytora robi naprawdę duże wrażenie.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Odczepiane okna&lt;/b&gt; - to opcja, której bardzo brakowało mi po przesiadce z Eclipsa na IntelliJ IDEA. W nowej wersji brak ten został uzupełniony i możemy ustawiać okna edytora dowolnie, wedle uznania. Jest to bardzo ważne, kiedy pracuje się na dwóch monitorach. Mała rzecz, a cieszy :) Wiele osób bardzo narzekało, że w jednym oknie nie da się zmieniać w prosty sposób kolejności zakładek - teraz jest to równie proste jak w innych znanych IDE. Poniżej filmik prezentujący nową opcję:&lt;/li&gt;&lt;/ol&gt;&lt;center&gt;&lt;object width="400" height="300" id="_player" name="_player" data="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf" type="application/x-shockwave-flash"&gt;&lt;param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="flashvars" value="config={&amp;quot;clip&amp;quot;:{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;sites/default/files/videos/converted/detachable-editors.flv&amp;quot;},&amp;quot;plugins&amp;quot;:{&amp;quot;controls&amp;quot;:{&amp;quot;stop&amp;quot;:true}},&amp;quot;playlist&amp;quot;:[{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;http://tv.jetbrains.net/sites/default/files/videos/converted/detachable-editors.flv&amp;quot;}]}"&gt;&lt;/object&gt;&lt;/center&gt;&lt;ol start="3"&gt;&lt;li&gt;&lt;b&gt;Zakładki&lt;/b&gt; - to ciekawy sposób na zaznaczenie istotnego w danym momencie fragmentu kodu. Dzięki temu nie ma konieczności przeglądania od nowa całego kodu, aby znaleźć interesujący nas fragment. Poniżej prezentacja nowej funkcji:&lt;/li&gt;&lt;/ol&gt;&lt;center&gt;&lt;object width="400" height="300" id="_player" name="_player" data="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf" type="application/x-shockwave-flash"&gt;&lt;param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="flashvars" value="config={&amp;quot;clip&amp;quot;:{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;sites/default/files/videos/converted/idea-bookmarks.flv&amp;quot;},&amp;quot;plugins&amp;quot;:{&amp;quot;controls&amp;quot;:{&amp;quot;stop&amp;quot;:true}},&amp;quot;playlist&amp;quot;:[{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;http://tv.jetbrains.net/sites/default/files/videos/converted/idea-bookmarks.flv&amp;quot;}]}"&gt;&lt;/object&gt;&lt;/center&gt;&lt;ol start="4"&gt;&lt;li&gt;&lt;b&gt;Instant Autocompletion&lt;/b&gt; - polega na podpowiadaniu składni bez konieczności ciągłego wciskania kombinacji Ctrl + Space. Choć pokazano, że przyspiesza to prace przy pisaniu kodu (szczególne wrażenie zrobiło na mnie podpowiadanie składni XPath) to znając życie bardzo dużo osób zrezygnuje z tej funkcji całkowicie po relatywnie krótkim czasie. Mi na razie się podoba i jest wygodne, więc póki się nie zirytuje, póty zostaje :)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;center&gt;&lt;object width="400" height="300" id="_player" name="_player" data="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf" type="application/x-shockwave-flash"&gt;&lt;param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="flashvars" value="config={&amp;quot;clip&amp;quot;:{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;sites/default/files/videos/converted/autocomplete.flv&amp;quot;},&amp;quot;plugins&amp;quot;:{&amp;quot;controls&amp;quot;:{&amp;quot;stop&amp;quot;:true}},&amp;quot;playlist&amp;quot;:[{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;http://tv.jetbrains.net/sites/default/files/videos/converted/autocomplete.flv&amp;quot;}]}"&gt;&lt;/object&gt;&lt;/center&gt;&lt;ol start="5"&gt;&lt;li&gt;&lt;b&gt;Integracja z Apache Maven&lt;/b&gt; - obsługa Mavena w IntelliJ IDEA jest tzw. out-of-the-box, czyli nie potrzeba żadnych dodatkowych paczek, aby z niego korzystać. W nowej odsłonie edytora dodano indeksowanie zdalnych repozytoriów, pomoc przy refaktoryzacji pliku POM, etc.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;center&gt;&lt;object width="400" height="300" id="_player" name="_player" data="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf" type="application/x-shockwave-flash"&gt;&lt;param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="flashvars" value="config={&amp;quot;clip&amp;quot;:{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;sites/default/files/videos/converted/maven.flv&amp;quot;},&amp;quot;plugins&amp;quot;:{&amp;quot;controls&amp;quot;:{&amp;quot;stop&amp;quot;:true}},&amp;quot;playlist&amp;quot;:[{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;http://tv.jetbrains.net/sites/default/files/videos/converted/maven.flv&amp;quot;}]}"&gt;&lt;/object&gt;&lt;br /&gt;&lt;/center&gt;&lt;ol start="6"&gt;&lt;li&gt;&lt;b&gt;Productivity Guide&lt;/b&gt; - to dodatek trochę dla zabawy, choć w połączeniu z rozszerzeniem &lt;a href="http://plugins.intellij.net/plugin/?id=1003"&gt;Key Promoter&lt;/a&gt; może być bardzo pomocne. Idea jest bardzo prosta - IDEA zlicza ilość wykorzystania ułatwień, jakie dostarcza edytor i zestawia je w przejrzysty sposób. W ten sposób możemy łatwo dowiedzieć się o nowych skrótach klawiszowych, których jeszcze nie znaliśmy, a mogą nam się bardzo przydać. Dodatkowo każde z udoskonaleń jest opisane wraz ze skrótem klawiszowym oraz stosownym zrzutem ekranu.&lt;/li&gt;&lt;/ol&gt;&lt;center&gt;&lt;object width="400" height="300" id="_player" name="_player" data="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf" type="application/x-shockwave-flash"&gt;&lt;param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="flashvars" value="config={&amp;quot;clip&amp;quot;:{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;sites/default/files/videos/converted/050-Productivity-Guide.flv&amp;quot;},&amp;quot;plugins&amp;quot;:{&amp;quot;controls&amp;quot;:{&amp;quot;stop&amp;quot;:true}},&amp;quot;playlist&amp;quot;:[{&amp;quot;baseUrl&amp;quot;:&amp;quot;http://tv.jetbrains.net&amp;quot;,&amp;quot;scaling&amp;quot;:&amp;quot;orig&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;autoBuffering&amp;quot;:true,&amp;quot;url&amp;quot;:&amp;quot;http://tv.jetbrains.net/sites/default/files/videos/converted/050-Productivity-Guide.flv&amp;quot;}]}"&gt;&lt;/object&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Czas powiedzieć co mi się nie podoba w nowej odsłonie IntelliJ IDEA:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Sposób tworzenia branchy/tagów w Subversion&lt;/b&gt; - nie udało mi się jeszcze zrobić branchu w repozytorium SVN'a przy pomocy IDEA'i w sposób zadawalający. W Eclipse wystarczyło wskazać folder, do którego chce przekopiować katalogi z głowy trunk'a lub wskazanego innego folderu w repo, natomiast IDEA dodaje do przygotowanej przeze mnie lokalizacji folder o nazwie, którą pobiera ze źródłowego URL'a i dopiero tam kopiuje pliki - bardzo niewygodne.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Nie wszystkie nowe opcje działają w Community Edition&lt;/b&gt; - przykładowo nowe możliwości w obsłudze Maven'a nie są dostępne w wersji CE, co jest bardzo rozczarowujące.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Problem z pluginami&lt;/b&gt; - po aktualizacji z wersji 9 do 10.0 okazało się, że muszę instalować wszystkie rozszerzenia na nowo. Dziwne, bo sądziłem, że skoro wskazałem lokalizację poprzedniej wersji, gdzie znajdowały się pliki konfiguracyjne, IDEA sama się zorientuje, że trzeba trochę oprogramowania doinstalować...&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;W momencie pisania tego postu IDEA poinformowała mnie o dostępności nowej wersji, 10.01 build 99.32 (IDEA 10 to build 99.18), w której wprowadzono liczne poprawki. Taki stan rzeczy bardzo cieszy. Widać, że oprogramowanie się rozwija i to w bardzo dobrą stronę, czas więc zacząć zbierać na wersję Ultimate Edition :)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Z miłych zaskoczeń przy aktualizacji oprogramowania: od niedługiego czasu jestem szczęśliwym posiadaczem nowego laptopa - &lt;a href="http://h10025.www1.hp.com/ewfrf/wc/product?cc=pl&amp;amp;lc=pl&amp;amp;dlc=pl&amp;amp;product=4123959"&gt;HP Pavilion dv7-3130ew&lt;/a&gt;. Zainstalowana w nim karta WiFi jest firmy Broadcom, a z tego co wcześniej się orientowałem, jej instalacja pod Ubuntu bywa problematyczna. Jakież wielkie było moje zaskoczenie, gdy po pierwszym uruchomieniu Ubuntu 10.10 system zapytał mnie, czy nie chce zainstalować sterownika karty graficznej, karty WiFi oraz tunera cyfrowego DVR. Zgodziłem się i od tej pory nie mam z tym najmniejszych problemów - doskonały wzór dla twórców oprogramowania, co znaczy program &lt;i&gt;user-friendly&lt;/i&gt; :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To tyle na ten moment, czas wracać do świątecznego stołu i cieszyć się chwilami wytchnienia spędzonymi z rodziną :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Pozdrawiam i życzę wszystkim wesołych świąt!!!&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/TRYMCIVUPCI/AAAAAAAAGPU/DKo1GZ_zrwM/s200/Christmas%2BTree.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5554640421144247330" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 183px; height: 200px; " /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5600034215457255067?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5600034215457255067/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/co-nowego-w-intellij-idea-10.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5600034215457255067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5600034215457255067'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/co-nowego-w-intellij-idea-10.html' title='Co nowego w IntelliJ IDEA 10'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1cOqhuGJLjc/TRYMCIVUPCI/AAAAAAAAGPU/DKo1GZ_zrwM/s72-c/Christmas%2BTree.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-4609127869153467322</id><published>2010-12-06T08:29:00.000-08:00</published><updated>2010-12-06T08:39:33.492-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><title type='text'>Cytaty #7</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dzisiaj usłyszałem bardzo mądre słowa człowieka, który żył dawno temu, lecz jego słowa są aktualne także dzisiaj i jestem pewien, że będą za kolejnych 100, 200, czy 500 lat. Mowa tu o &lt;a href="http://pl.wikipedia.org/wiki/William_Faulkner"&gt;Williamie Faulkner'ze&lt;/a&gt;. Był to amerykański powieściopisarz, poeta, laureat Nagrody Nobla w dziedzinie literatury. A oto co powiedział w 1958r. Jean Stein'owi:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="text-align: center;"&gt;&lt;span class="Apple-style-span" &gt;&lt;i&gt;Always dream and shoot higher than you know you can do. Don't bother just to be better than your contemporaries or predecessors. Try to be better than yourself (...).&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I chociaż Faulkner mówił wtedy o pisarzach, to jednak nie ma chyba branży, w której słowa te nie miały by swojej racji. Bardzo często pracujemy lub uczymy się w towarzystwie ludzi z dużym doświadczeniem lub sporym talentem i notorycznie próbujemy być lepsi od nich. Niestety bardzo często okazuje się, że jest to zgubna motywacja - osoby te także stają się coraz lepsze, coraz trudniej być od nich lepszym. Za to samo bycie jutro lepszym od siebie samego, niż jest się dzisiaj, jest doskonałą motywacją dającą wciąż nowe, coraz lepsze wyniki.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Natchniony tą myślą wracam do pracy :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-4609127869153467322?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/4609127869153467322/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/cytaty-7.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4609127869153467322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4609127869153467322'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/cytaty-7.html' title='Cytaty #7'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3256402781688766416</id><published>2010-12-04T21:04:00.000-08:00</published><updated>2010-12-04T21:19:17.048-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tapestry'/><category scheme='http://www.blogger.com/atom/ns#' term='Trójmiasto JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>Nowy blog o Tapestry</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam serdecznie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pierwszy projekt z użyciem frameworku Spring 3 za mną, teraz prace skoncentrowane na zapoznawaniu się z językiem &lt;a href="http://www.jython.org/"&gt;Jython&lt;/a&gt; i pisaniu pracy inżynierskiej. Chociaż ostatnio coraz częściej spotykam się z opinią, że znajomość, choćby podstawowa, Springa to podstawa, to uważam używanie go do małych aplikacji za strzelanie do muchy z armaty. Znacznie pozytywniejsze wrażenie odniosłem odnośnie frameworka &lt;a href="http://tapestry.apache.org/"&gt;Tapestry&lt;/a&gt; (w wersji 5.2) po prezentacji Michała Grucy na spotkaniu &lt;a href="http://groups.google.com/group/jug-trojmiasto"&gt;Trójmiasto Java User Group&lt;/a&gt; pt. &lt;a href="http://it.wtrojmiescie.org/spotkania/przeglad-mozliwosci-szkieletu-aplikacyjnego-tapestry-5"&gt;"Przegląd możliwości szkieletu aplikacyjnego Tapestry 5"&lt;/a&gt;. Od tamtego momentu czekam z niecierpliwością na możliwość poznania w praktyce podstaw tego cudeńka. Ponieważ przez najbliższych kilka tygodni nie zapowiada się na to, żebym miał ku temu możliwość pocieszam się wpisami na blogu Michała, które wreszcie zgodził się upublicznić. I tak oto mam ogromną przyjemność zaprezentować &lt;a href="http://mgruca.wordpress.com/"&gt;"Reliable IT Solutions"&lt;/a&gt; - polski blog o podstawach programowania z użyciem Tapestry dla początkujących i nie tylko. A o to co sam autor o nim pisze i jak definiuje cel swojego młodego przedsięwzięcia:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 85, 85); line-height: 17px; "&gt;&lt;span class="Apple-style-span" &gt;&lt;blockquote&gt;&lt;i&gt;&lt;span class="Apple-style-span" &gt;Jestem jeno skromnym programistą, który stara się uczynić świat lepszym, poprzez promowanie dobrych nawyków i lepszych technologii. Mam nadzieję, że poprzez tego bloga, uda mi się dotrzeć do kilku osób i uczynić ich życie lepszym, by nie popełniały tych samych błędów, które ja musiałem popełnić.&lt;/span&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i zachęcam do czytania wpisów Michała!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3256402781688766416?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3256402781688766416/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/nowy-blog-o-tapestry.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3256402781688766416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3256402781688766416'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/12/nowy-blog-o-tapestry.html' title='Nowy blog o Tapestry'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-57441221096346373</id><published>2010-11-09T12:45:00.000-08:00</published><updated>2010-11-09T12:59:12.156-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='Jersey'/><title type='text'>Dlaczego lubię Jersey'a</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jest wtorkowy wieczór a ja zamiast siedzieć gdzieś z kolegami w PUB'ie, lub z dziewczyną w kinie, spędzam swój "wolny czas" pisząc kod do projektu grupowego, którego termin oddania zbliża się nieubłaganie. To dlaczego jestem taki uśmiechnięty? Otóż przyszedł ten moment, kiedy nareszcie trzeba zbudować RESTful Web Service. Dlaczego mnie to cieszy? Bo pisanie RESTowych usług jest bardzo proste i przyjemne, a to za sprawą frameworka &lt;a href="http://jersey.java.net/"&gt;Jersey&lt;/a&gt; :) Nie będę się rozwodził przesadnie nad tym dlaczego tak go lubię, gdyż pisać na ten temat można naprawdę długo i wiele. Wystarczę, że przytoczę &lt;a href="http://www.javarants.com/2008/12/25/using-jax-rs-jersey-to-build-a-jpajaxb-backed-json-rest-api/"&gt;artykuł&lt;/a&gt;, na który natknąłem się w czasie szukania informacji o wstrzykiwaniu obiektu sesji do RESTowej metody:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="text-align: center;"&gt;&lt;i&gt;This framework looks like it will have long legs in the Java community.&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Osobiście zgadzam się całkowicie z tą opinią. Wiele jest narzędzi do budowania RESTful Web Services, ale nie spotkałem jeszcze nikogo, kto dla osoby początkującej nie zalecił właśnie frameworka Jersey. Jak się później okazuje jest to miłość od pierwszego wejrzenia i wielu ludzi pozostaje przy tym rozwiązaniu, a to mówi samo za siebie :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-57441221096346373?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/57441221096346373/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/11/dlaczego-lubie-jerseya.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/57441221096346373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/57441221096346373'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/11/dlaczego-lubie-jerseya.html' title='Dlaczego lubię Jersey&apos;a'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5872793243475785479</id><published>2010-11-05T22:26:00.000-07:00</published><updated>2010-11-05T22:45:18.438-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Joel Spolsky'/><category scheme='http://www.blogger.com/atom/ns#' term='devBlogi'/><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Review'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian TV'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian'/><title type='text'>Cytaty #6</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sporo czasu minęło od ostatniego wpisu z cytatem (od zwykłego wpisu zresztą też). Jakiś czas temu przeglądałem materiały z &lt;a href="http://www.atlassian.com/tv/"&gt;Atlassian TV&lt;/a&gt; i natrafiłem na ciekawy materiał jednego z developerów firmy &lt;a href="http://www.atlassian.com"&gt;Atlassian&lt;/a&gt; o tym jak sprawna automatyzacja pozwoliła ułatwić i przyspieszyć prace nad projektem. Podsumowując swoją opowieść George Barnett powiedział:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="text-align: center;"&gt;&lt;i&gt;Automation is key.&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ta prosta sentencja dała mi wiele do myślenia. W swojej nowej pracy jako Junior Software Developer bardzo często z braku wiedzy, doświadczenia jak i znajomości technologii bardzo często wiele rzeczy robię "na piechotę". Podobnie jest z projektami na uczelni, a także własnymi mini-projektami. Pierwsze objawienie przyszło w momencie rozpoczęcia pierwszego poważniejszego projektu w ramach praktyk. Później w trakcie pracy z kolegą ze studiów nad projektem grupowym doszedłem do wniosku, że nawet najprostsza automatyzacja może bardzo ułatwić nam pracę (zwykłe przerobienie projektu, by można było nad nim pracować za pomocą Apache Maven uczyniła dosłownie cuda). Następnym krokiem w drodze ku oświeceniu był artykuł na &lt;a href="http://www.devblogi.pl/"&gt;devBlogach&lt;/a&gt; pt. &lt;a href="http://www.devblogi.pl/2010/10/jak-efektywnie-realizowac-zadania-kiedy.html"&gt;"Jak efektywnie realizować zadania, kiedy jesteś tylko szeregowym programistą"&lt;/a&gt;, który zaprowadził mnie do artykułu &lt;a href="http://www.joelonsoftware.com/"&gt;Joela Spolsky'ego&lt;/a&gt; &lt;a href="http://www.joelonsoftware.com/articles/fog0000000043.html"&gt;"The Joel Test: 12 Steps to Better Code"&lt;/a&gt;. Te wszystkie rzeczy uświadomiły mi, że nie tylko poznawanie nowych frameworków, wzorców projektowych, praktyk poprawiających efektywność pracy programistycznej etc. sprawiają, że moja praca może być lepsza. Dlatego w tym tygodniu wraz z moimi wykładowcami postanowiliśmy w formie testu przeprowadzić inspekcję kodu w sposób zautomatyzowany - kilka wybranych grup będzie poddawać rewizji kod innych grup w standardowy sposób - przy pomocy kodu wydrukowanego na kartkach, a pozostali będą używać do tego tandemu Atlassian FishEye + Crucible. Jakie będą tego wyniki? Napiszę już niedługo :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Tym czasem pora wrócić do pisania kodu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5872793243475785479?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5872793243475785479/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/11/cytaty-6.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5872793243475785479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5872793243475785479'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/11/cytaty-6.html' title='Cytaty #6'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3203088539714441732</id><published>2010-10-21T06:40:00.000-07:00</published><updated>2010-10-21T07:15:20.880-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='devBlogi'/><title type='text'>O dokumentacji słów kilka</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam serdecznie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Przez natłok pracy w ostatnim czasie nie mam możliwości być całkowicie na bieżąco z nowinkami ze świata informatyki (i nie tylko), przez co mam pewne zaległości na takich serwisach jak &lt;a href="http://www.devblogi.pl"&gt;devBlogi&lt;/a&gt;, czy &lt;a href="http://www.infoq.com"&gt;infoQ&lt;/a&gt;. Próbując trochę nadrobić zaległości z pierwszego serwisu trafiłem na bardzo pocieszający wpis - &lt;a href="http://www.devblogi.pl/2010/10/ostateczne-programistyczne-kata.html"&gt;"Ostateczne programistyczne kata"&lt;/a&gt;, które jest tłumaczeniem artykułu Jeffa Artwood'a. Dlaczego pocieszający? Ponieważ w bardzo bezpośredni sposób uzasadnia sensowność i starania wkładane w prowadzenie tego bloga, oto cytat:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 15px; "&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" &gt;&lt;i&gt;Prowadź bloga. Ja sam zacząłem pisać tego bloga na początku 2004 roku właśnie jako formę ćwiczenia. Zaczynając skromnie, później okazało się, że jest to jedna z najbardziej znaczących rzeczy, które zrobiłem w swojej zawodowej karierze. Ty również powinieneś prowadzić bloga.&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kolejne "objawienie" przyszło w momencie czytania artykułu &lt;a href="http://www.devblogi.pl/2010/09/pisanie-dobrej-dokumentacji-co-napisac.html"&gt;"Pisanie dobrej dokumentacji: co napisać"&lt;/a&gt;. Jakiś czas temu &lt;a href="http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-3.html"&gt;wspominałem&lt;/a&gt;, że w trakcie praktyk jednym z moich obowiązków było utrzymywanie i rozwijanie dokumentacji projektu. Dodajmy do tego jeszcze artykuł &lt;a href="http://www.devblogi.pl/2010/09/pisanie-dobrej-dokumentacji-styl.html"&gt;"Pisanie dobrej dokumentacji: styl"&lt;/a&gt; i okazuje się, że tak naprawdę niewiele wiem o pisaniu dokumentacji! Pokazuje to także jak obszerną (o wiele obszerniejszą niż sądziłem kilka miesięcy temu!) dziedziną jest informatyka :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na dzisiaj to tyle blogowania, czas zabrać się za pracę inżynierską :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3203088539714441732?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3203088539714441732/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/10/o-dokumentacji-sow-kilka.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3203088539714441732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3203088539714441732'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/10/o-dokumentacji-sow-kilka.html' title='O dokumentacji słów kilka'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-440561322651037994</id><published>2010-10-17T12:02:00.000-07:00</published><updated>2010-10-17T12:46:45.415-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian'/><title type='text'>Przemyślenia praktykanta #6 - podsumowanie</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam serdecznie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ponad trzy tygodnie po terminie, ale jak mówi polskie przysłowie "lepiej późno niż wcale" ;) Długo zastanawiałem się nad tym co mógłbym napisać w podsumowaniu praktyk, kiedy większość przemyśleń umieściłem w poprzednich wpisach.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;20) &lt;b&gt;Agile/Scrum jest idealny dla początkujących programistów&lt;/b&gt; - bałem się bardzo ilości dokumentacji, planów projektów itp. na początku pracy z ekipą ze Spartezu. Bałem się z dwóch przyczyn: tego, że będą zbyt zaawansowane technicznie oraz czasu, który będę musiał na nią poświęcić przez co nie zdążę zrobić nic znaczącego w trakcie praktyk. Z tymi obawami związany jest kolejny punkt...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;21) &lt;b&gt;Praktyki 3-miesięczne to strzał w dziesiątkę&lt;/b&gt; - moje praktyki trwały dokładnie 60 dni i od samego początku czułem, że wydłużenie standardowego czasu (20 dni) będzie strzałem w dziesiątkę. Praktyki są tak bogate w nową wiedzę i doświadczenia, że grzechem byłoby z tej możliwości nie skorzystać maksymalnie jak się da. Dzięki wydłużonemu czasowi miałem możliwość nadrobienia wielu zaległości w postawach znajomości Javy ale i zwykłej wiedzy informatycznej (a także trochę psychologii itp. :)) oraz spokojnie popracować nad konkretnym projektem. Jednym z rezultatów mojej pracy był plugin do &lt;a href="http://www.atlassian.com/software/jira/"&gt;Atlassian JIRA&lt;/a&gt; oraz pluginu &lt;a href="http://www.atlassian.com/software/greenhopper/"&gt;GreenHopper&lt;/a&gt;, który miał swoją premierę na &lt;a href="https://plugins.atlassian.com/"&gt;Atlassian Plugin Exchange&lt;/a&gt; prawie miesiąc temu!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;22) &lt;b&gt;Praca informatyka to ciągła nauka&lt;/b&gt; - ale nie mam tutaj na myśli tylko nauki nowego języka, czy tez technologii. Praktycznie każdego dnia uczyłem się pokory oraz poznawałem granice swoich umiejętności, by za chwile je przekraczać i stawać się coraz lepszy. Praktyki to specyficzny okres, gdyż granic takich jest bardzo dużo, mało jeszcze tak naprawdę wie się o programowaniu i pracy w prawdziwym zespole. Krzywa uczenia się w trakcie praktyk jeśli ma się szczęście pracować w zespole skłonnym do pomocy niedoświadczonemu programiście rośnie w zawrotnym tempie. Jeszcze kilka tygodni temu nie podejrzewałbym siebie o możliwości tak szybkiej nauki :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;23) &lt;b&gt;Praktyki wakacyjne mogą (i są!) świetną zabawą&lt;/b&gt; - kiedy pracuje się w zespole takim, w jakim ja miałem przyjemność przychodzenie do biura staje się czystą przyjemnością, każdy dzień zaskakuje nas czymś nowym, interesującym, ale także jest kolejną okazją do dobrej zabawy. W pokoju w którym siedziałem w drugiej części praktyk (razem z siedmioma innymi osobami) aż wrzał od śmiechu, dowcipów etc. Oczywiście, ważny jest umiar i zachowanie proporcji praca-zabawa, lecz oczywistym jest także, że "nikt" nie wysiedzi 8 godzin non-stop kodując i mając z tego dużą przyjemność (a przynajmniej ja tak nie mam), a chwile poświęcone na rozrywkę różnego rodzaju bardzo dobrze wpływają na morale zespołu oraz chęć do dalszego zmagania się z kolejnymi problemami.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Podsumowując to wszystko - praktyki uważam za bardzo udane, gdyż otworzyły mi bardzo szeroko oczy, były okazją do poznania zawodu "zza kulis" oraz były ciekawą i przyjemną formą spędzenia czasu. Co dalej? Rozpocząłem okres próbny jako Junior Software Developer i próbuję to pogodzić ze studiami (semestr pracy inżynierskiej) oraz innymi obowiązkami, na razie ze słabym skutkiem. Ale jestem wciąż dobrej myśli i jeśli wszystko pójdzie dobrze będę dalej publikować swoje przemyślenia i spostrzeżenia, tyle że tym razem jako początkujący programista, nie praktykant ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To wszystko na dziś, pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-440561322651037994?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/440561322651037994/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/10/przemyslenia-praktykanta-6-podsumowanie.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/440561322651037994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/440561322651037994'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/10/przemyslenia-praktykanta-6-podsumowanie.html' title='Przemyślenia praktykanta #6 - podsumowanie'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-9152130940664049906</id><published>2010-09-30T12:47:00.000-07:00</published><updated>2010-09-30T13:02:28.576-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><title type='text'>Agile/Scrum nie tylko w projektach informatycznych</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jako, że zacząłem właśnie ostatni (siódmy) semestr studiów inżynierskich muszę w ciągu kilku tygodni napisać pracę dyplomową. Fakt, że zacząłem własnie pracę i jeszcze jeden mini projekt na uczelni wcale tego nie ułatwia. Dlatego byłem bardzo mile zaskoczony, kiedy we wtorek przyszedłem na uczelnię i spotkałem się z moim promotorem, który oświadczył, że prace nad dyplomem będziemy prowadzić w tygodniowych sprintach! Z doświadczenia studenckiego wiem, że większości informacji, które wykładowcy przekazują nam na zajęciach zwyczajnie w życiu się nie wykorzystuje, a tu proszę, taka miła niespodzianka. Oboje z promotorem zdajemy sobie sprawę, że jest bardzo mało czasu na wykonanie pracy, ale taka organizacja bardzo to ułatwi i już widać jej pierwsze rezultaty. Dodatkowo umówiliśmy się, że w każdy poniedziałek do pewnej godziny będę wysyłać maile z krótkim sprawozdaniem co wykonałem do tej pory - coś pomiędzy codziennym standup'em, a retrospektywą na koniec sprintu. I w tym właśnie wydaje mi się, że jest ukryte piękno Agile/Scrum'a. To tak jak mówił Janusz Gorycki (z którym mam ogromną przyjemność pracować) na &lt;a href="http://it.wtrojmiescie.org/about/spin-trojmiasto"&gt;trójmiejskim SPIN'ie&lt;/a&gt; - jeśli potrzebujesz jakiejś własności/zachowania/elementu/praktyki/czegokolwiek z metodyki Scrum'a zwyczajnie adaptujesz je w swojej codziennej pracy nie przejmując się pozostałymi elementami. Dzięki temu (a zarazem przez to) do Scrum'a tak łatwo się przyzwyczaić, łatwo czerpać korzyści z korzystania z niego, ale także łatwo unikać komplikacji i problemów wynikających z jego stosowania.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To tyle krótkich refleksi na dzisiaj, czas wrócić do pracy nad projektem dyplomowym :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-9152130940664049906?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/9152130940664049906/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/09/agilescrum-nie-tylko-w-projektach.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/9152130940664049906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/9152130940664049906'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/09/agilescrum-nie-tylko-w-projektach.html' title='Agile/Scrum nie tylko w projektach informatycznych'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5115167817610383049</id><published>2010-09-29T14:23:00.000-07:00</published><updated>2010-09-30T01:36:46.914-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie'/><category scheme='http://www.blogger.com/atom/ns#' term='Mockito'/><category scheme='http://www.blogger.com/atom/ns#' term='TestNG'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Mockito i TDD - czy aby na pewno?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dwutygodniowe przerwy w pisaniu na blogu to jakaś klątwa Akademii :( Niemniej zważywszy na ilość pracy i obowiązków ostatnio cud, że choć tyle jestem w stanie zrobić. Temat dzisiejszego postu może trochę zmylić. Chociaż w pracy zapoznałem się z &lt;a href="http://mockito.org/"&gt;Mockito&lt;/a&gt; to rzecz raczej w tym, co umożliwia nam ten framework (pośrednio). Jakiś czas temu trafiłem na film ze spotkania &lt;a href="http://groups.google.com/group/wroclaw-jug"&gt;Wrocławskiej Grupy Użytkowników Javy&lt;/a&gt; właśnie pt. &lt;a href="http://www.dailymotion.pl/video/xb1lm3_wrocyaw-jug-9-mockito-i-tdd_tech"&gt;"Mockito i TDD"&lt;/a&gt;. O samym framework'u jest praktycznie niewiele powiedziane, pokazane nie jest praktycznie nic, ale prezentowane są bardzo mądre rady na temat pisania testów i samego podejścia do nich, toteż warto to obejrzeć:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;object width="480" height="264"&gt;&lt;br /&gt;&lt;param name="movie" value="http://www.dailymotion.pl/swf/video/xb1lm3_wrocyaw-jug-9-mockito-i-tdd_tech?additionalInfos=0"&gt;&lt;/param&gt;&lt;br /&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;br /&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;br /&gt;&lt;embed type="application/x-shockwave-flash" src="http://www.dailymotion.pl/swf/video/xb1lm3_wrocyaw-jug-9-mockito-i-tdd_tech?additionalInfos=0" width="480" height="264" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;a href="http://www.dailymotion.pl/video/xb1lm3_wrocyaw-jug-9-mockito-i-tdd_tech"&gt;Wrocław JUG 9 - Mockito i TDD&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;O konstrukcji given-when-then dowiedziałem się ostatnio w trakcie pracy nad produktem z kolegą &lt;a href="http://www.nowaker.net/"&gt;Damianem&lt;/a&gt; i muszę przyznać, że dzięki niej znacznie łatwiej pisze mi się testy! O wiele prościej wychwycić jest ten właściwy, pojedynczy element, który chcemy poddać testowaniu. W trakcie prezentacji wspominane są takie narzędzia testowe jak &lt;a href="http://code.google.com/p/hamcrest/"&gt;hamcrest&lt;/a&gt;, czy &lt;a href="http://code.google.com/p/fest/"&gt;FEST-Assert&lt;/a&gt;. To pierwsze narzędzie znam równie krótko jak &lt;a href="http://testng.org/doc/index.html"&gt;TestNG&lt;/a&gt;, ale w kilku przypadkach okazało się idealne, natomiast drugie bardzo mnie zaciekawiło i obiecałem sobie w ciągu najbliższych dni przyjrzeć się mu (może spisze swoje wrażenia w poście?).&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;A teraz aby nie przedłużać - życzę miłego oglądania :)&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;Pozdrawiam i do następnego razu!&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5115167817610383049?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5115167817610383049/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/09/mockito-i-tdd-czy-aby-na-pewno.html#comment-form' title='Komentarze (9)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5115167817610383049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5115167817610383049'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/09/mockito-i-tdd-czy-aby-na-pewno.html' title='Mockito i TDD - czy aby na pewno?'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-2501747724685291034</id><published>2010-09-13T14:58:00.000-07:00</published><updated>2010-09-13T15:08:10.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google App Engine'/><title type='text'>Mała pomoc przy pracy z GAE</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ostatnimi czasy w celach prywatnych zająłem się małą aplikacją, która docelowo ma działać na Google App Engine. Platformie jeszcze bardzo daleko do ideału, wciąż jest ogrom rzeczy do zrobienia, ale faktem jest, że prace są prowadzone i panowie (i oczywiście panie) z Google nie ustają w swych staraniach. Przykładem mogą być dwie (wydane bardzo krótko jedna po drugiej z powodu znalezienia ważnego bug'a) aktualizacje GAE SDK: &lt;a href="http://googleappengine.blogspot.com/2010/08/multi-tenancy-support-high-performance_17.html"&gt;1.3.6&lt;/a&gt; i &lt;a href="http://googleappengine.blogspot.com/2010/08/app-engine-137-sdk-bugfix-release.html"&gt;1.3.7&lt;/a&gt;. Problem ze stałym rozwojem środowiska jest taki, że dosyć często następują przerwy w dostarczaniu usługi. Można śledzić &lt;a href="http://googleappengine.blogspot.com/"&gt;bloga&lt;/a&gt;, można też śledzić &lt;a href="http://groups.google.com/group/google-appengine"&gt;grupę dyskusyjną&lt;/a&gt;, ale ja znalazłem najwygodniejsze rozwiązanie by być na bieżąco z informacjami o przerwach w działaniu GAE - kalendarz &lt;a href="http://www.google.com/calendar/embed?src=4chlpo92ci2f54c2u21shbjk9o%40group.calendar.google.com&amp;amp;ctz=America/Los_Angeles"&gt;Google App Engine Scheduled Maintenance Outages&lt;/a&gt;. Jest wygodny, łatwy do zintegrowania z Google Calendar / iGoogle i o wiele trudniej w ten sposób zapomnieć o maintenancie.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Mam nadzieję, że ta krótka notka komuś się przyda :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-2501747724685291034?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/2501747724685291034/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/09/maa-pomoc-przy-pracy-z-gae.html#comment-form' title='Komentarze (6)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2501747724685291034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2501747724685291034'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/09/maa-pomoc-przy-pracy-z-gae.html' title='Mała pomoc przy pracy z GAE'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-207615649116689427</id><published>2010-08-31T14:07:00.000-07:00</published><updated>2010-08-31T14:50:02.748-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><title type='text'>Przemyślenia praktykanta #5</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Znów dokładnie tydzień minął od ostatniego wpisu. Dzieje się coraz więcej, przez co czasu coraz mniej. Ale mam nadzieję, że to nie będę wciąż znacząco przeszkadzać w prowadzeniu bloga, szczególnie, że pomysłów na wpisy jest mnóstwo, tylko brakuje sił i możliwości na ich realizację (ale powoli staram się je realizować jak &lt;a href="http://akademiajavy.blogspot.com/2010/01/plany-na-2010-rok.html"&gt;noworoczne postanowienia&lt;/a&gt; :)). A więc do rzeczy!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;16) &lt;b&gt;Odkładaj swoje zabawki na miejsce&lt;/b&gt; - podobno nazywa się to &lt;i&gt;"błędem nowicjusza"&lt;/i&gt;, ale nie sądzę, żeby był ktoś, kto tego nie czyni w swojej codziennej pracy. W większości przypadków, kiedy testuję swój (i nie tylko swój)  kod, większość czasu poświęcam na znalezienie małego fragmentu kodu, w który zapomniałem jakiejś "drobnostki" - zwiększyć wartość indeksu, postawić negację w warunku logicznym etc. Takie błędy jednak są stosunkowo łatwe do wykrycia. Gorzej jest natomiast, kiedy błąd polega na nie zwolnieniu zasobów obiektu, który robi dla nas takie rzeczy jak rysowanie grafiki na podstawie zasobów systemowych lub utrwalanie danych zapisywanych do bazy. Z tym ostatnim miałem ogromną przeprawę, i od tego momentu nauczyłem się wykorzystywać sekcję finally w bloku try {} catch() :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;17) &lt;b&gt;Nie zakładaj, że skoro u Ciebie działa, to u innych też zadziała&lt;/b&gt; - dosyć sporo czasu w trakcie praktyk poświęcam na testowanie swoich rozwiązań. Do grupy produktów, nad którą teraz pracuje, przygotowałem dosyć spore (jak na nowicjusza) i szczegółowe środowisko testowe. Kiedy skończę debugować aplikację przenoszę kod do środowiska testowego i bombarduje go różnymi dziwnymi przypadkami użycia. Taki schemat zachowania bardzo szybko wszedł mi w krew i miałem idiotyczne przekonanie, że po wyjściu ze środowiska testowego można uznać produkt za sprawny. &lt;b&gt;BŁĄD!!&lt;/b&gt; Środowisko testowe jedynie symuluje pewne typowe, bądź mniej typowe zachowanie się produktu u klienta. Dlatego w miarę możliwości staram się, żeby ktoś, najlepiej osoba nie pracująca nad tym produktem, zobaczyła, czy u niej wszystko działa jak powinno.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;18) &lt;b&gt;Bądź dumny ze swojej firmy i swoich współpracowników&lt;/b&gt; - bardzo często podkreślałem, że czuje się szczęśliwy mogąc odbywać praktyki w Spartezie. Nie mam zamiaru nikomu słodzić, bo jak w każdej firmie są momenty fajne i przyjemne jak i takie, które chcielibyśmy, żeby nie miały miejsca. U nas jest tak, że tych pierwszych jest ponad 90%, dlatego z ogromną przyjemnością przychodzę codziennie do biura i zmagam się z coraz trudniejszymi problemami. Każdego ranka w drodze z domu na kolejkę i potem z kolejki do biura zastanawiam się z kim dzisiaj odbędę ciekawą rozmowę. Dodatkowym bodźcem jest fakt, że są to osoby, które są bardzo aktywne także poza firmą, stymulując środowisko. Czytam ich posty na różnorakich blogach, oglądam filmy z prezentacji, chodzę na ich prelekcje etc. i nie mogę się nadziwić, że Ci ludzie mają siłę i chęć codziennie odpowiadać na moje żenujące, zdecydowanie nie na ich poziomie pytania bez najmniejszego grymasu czy znużenia. To bardzo stymuluje mnie do pracy, coraz cięższej pracy, żeby któregoś dnia osiągnąć to co oni, a może nawet więcej :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;19) &lt;b&gt;Dzień spędzony całkowicie na integracji jest więcej wart niż tydzień siedzenia w biurze&lt;/b&gt; - w zeszłym tygodniu, w poniedziałek, firma Spartez zorganizował coroczny wypad integracyjny. W tym roku wybór padł na spływ kajakami po rzece Radunia i ognisto z kiełbaskami i zimnym piwkiem. To, że jestem w zespole niespełna dwa miesiące nie miało najmniejszego znaczenia i dzięki temu po pierwsze poznałem ludzi, z którymi codziennie spędzam po 8h w jednym pokoju i zdałem sobie (ku mojej ogromnej radości) sprawę z faktu, że z każdym z tych ludzi mam temat, na który mogę porozmawiać i nie musi to być temat związany w żadnej mierze z IT, a po drugie spędziłem jeden z najlepszych dni w swojej krótkiej karierze w miłym towarzystwie przez cały czas się uśmiechając :) Poniżej zamieszczam album zdjęć ze spływu (zdjęcia robione i udostępnione przez kolegę Krystiana - dziękuję :)).&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.pl/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.pl&amp;amp;captions=1&amp;amp;noautoplay=1&amp;amp;hl=pl&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.pl%2Fdata%2Ffeed%2Fapi%2Fuser%2Fdarkstariw%2Falbumid%2F5509826908349319505%3Falt%3Drss%26kind%3Dphoto%26hl%3Dpl" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na dzisiaj wystarczy :) Czas iść spać, żeby wyspanym i uśmiechniętym jutro znów zjawić się w biurze :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-207615649116689427?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/207615649116689427/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/przemyslenia-praktykanta-5.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/207615649116689427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/207615649116689427'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/przemyslenia-praktykanta-5.html' title='Przemyślenia praktykanta #5'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-6056515106249196780</id><published>2010-08-24T11:55:00.000-07:00</published><updated>2010-08-24T12:11:26.610-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian'/><title type='text'>They call me a Dragon Slayer!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dzisiejszy dzień był bardzo pracowity i pełen wyzwań. Tym bardziej po przyjściu do domu ucieszyłem się na widok paczki od amerykańskiego nadawcy - oto przyszła długo oczekiwana koszulka z firmy &lt;a href="http://www.atlassian.com/"&gt;Atlassian&lt;/a&gt; - &lt;b&gt;Dragon Slayer&lt;/b&gt;!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/THQYUBXULHI/AAAAAAAAGIg/t18qyXnQ7UI/s1600/2010-08-24-203406_2.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/THQYUBXULHI/AAAAAAAAGIg/t18qyXnQ7UI/s320/2010-08-24-203406_2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5509054976423636082" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/THQYUWAvHsI/AAAAAAAAGIo/Vnf1YWFrImM/s1600/2010-08-24-203406_4.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/THQYUWAvHsI/AAAAAAAAGIo/Vnf1YWFrImM/s320/2010-08-24-203406_4.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5509054981966077634" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://confluence.atlassian.com/display/ATLAS/Here+Be+Dragons"&gt;Dragon Slayer&lt;/a&gt; jest 8-etapowym cyklem wprowadzającym użytkownika w świat produktów firmy Atlassian, uczącym podstaw ich obsługi jak i integracji w jedną, dużą, komunikującą się całość. Po zakończeniu kursu można wysłać zgłoszenie wraz ze zrzutami ekranu pokazującymi efekt swojej pracy. Po kilku tygodniach (w moim przypadku czterech) dostaje się darmową koszulkę promocyjną :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Z uśmiechem na ustach wracam teraz do pracy :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Do zobaczenia już bardzo niedługo!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-6056515106249196780?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/6056515106249196780/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/they-call-me-dragon-slayer.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6056515106249196780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6056515106249196780'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/they-call-me-dragon-slayer.html' title='They call me a Dragon Slayer!'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1cOqhuGJLjc/THQYUBXULHI/AAAAAAAAGIg/t18qyXnQ7UI/s72-c/2010-08-24-203406_2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-4026087383109568167</id><published>2010-08-18T10:38:00.000-07:00</published><updated>2010-08-18T10:47:43.079-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Problemy z filtrowaniem w Maven'ie</title><content type='html'>Witam!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ten wpis ma bardziej charakter przypominajki dla mnie, ale jestem pewien, że komuś też się to przyda. Od jakiegoś czasu w kilku projektach, w trakcie tworzenia plików projektu Eclipse z czystego projektu Mavena pojawiał mi się taki błąd:&lt;/div&gt;&lt;span class="Apple-style-span"   style="font-family:monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; white-space: pre;"&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia, serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;pre name="code" class="brush: java;"&gt;[INFO] Resource directory's path matches an existing source directory. Resources will be merged with the source directory src/main/resources&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[ERROR] BUILD ERROR&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] Request to merge when 'filtering' is not identical. Original=resource src/main/resources: output=target/classes, include=[atlassian-plugin.xml], exclude=[**/*.java], test=false, filtering=true,&lt;br /&gt;merging with=resource src/main/resources: output=target/classes, include=[], exclude=[atlassian-plugin.xml|**/*.java], test=false, filtering=false&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Pojawia się on wtedy, kiedy dany zbiór zasobów filtrujemy więcej niż jeden raz (działanie zdefiniowanie w pliku POM.xml) i wywołujemy komendę: &lt;/div&gt;&lt;pre name="code" class="brush: java;"&gt;&lt;br /&gt;mvn eclipse:eclipse&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Co się okazuje, najnowsza wersja pluginu Mavena do generowania plików projektu Eclipse (2.7) nie radzi sobie z tym problemem w przeciwieństwie do swojej poprzedniczki - wersji 2.6. Aby temu zaradzić, zamiast mvn eclipse:eclipse wywołujemy komendę:&lt;/div&gt;&lt;pre name="code" class="brush: java;"&gt;&lt;br /&gt;mvn org.apache.maven.plugins:maven-eclipse-plugin:2.6:eclipse&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Mam nadzieję, że komuś się to przyda :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-4026087383109568167?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/4026087383109568167/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/problemy-z-filtrowaniem-w-mavenie.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4026087383109568167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4026087383109568167'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/problemy-z-filtrowaniem-w-mavenie.html' title='Problemy z filtrowaniem w Maven&apos;ie'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5237426380085243883</id><published>2010-08-14T11:23:00.000-07:00</published><updated>2010-08-22T14:53:23.504-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Review'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian TV'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian'/><title type='text'>Code Review for Teams Too Busy to Review Code</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pamiętacie wpis sprzed tygodnia o &lt;a href="http://akademiajavy.blogspot.com/2010/08/przemyslenia-praktykanta-4.html"&gt;Mini Code Review&lt;/a&gt;? Od tamtej pory, kiedy przelałem swoje myśli w post na blogu, coraz więcej zacząłem o tym myśleć i coraz więcej dostrzegać korzyści z tego płynących. Przez ostatni tydzień mierzyłem się z pewnym zagadnieniem, które jest bardzo słabo (a praktycznie wcale) nieudokumentowane i bardzo często Google kierowało mnie na stronę &lt;a href="http://www.atlassian.com/summit/2010/"&gt;Atlassian Summit 2010&lt;/a&gt;. Pomijając fakt, że zakochałem się od pierwszego wejrzenia w takich technologiach Atlassianowych jak JIRA, FishEye, a najbardziej Crucible, a w trakcie praktyk pracuję z produktami firmy Atlassian, postanowiłem trochę więcej dowiedzieć się na ich temat. Ponieważ w wielu przypadkach wolę o czymś posłuchać lub to obejrzeć niż o tym przeczytać, postanowiłem obejrzeć film na temat Code Review. Nie będę zdradzać co bardzo mi się spodobało w tej prezentacji, ale wydaje mi się, że po obejrzeniu go większość z Was będzie miała podobne wrażenia :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object id="ep_player" name="ep_player" height="305" width="500" data="http://cdn.episodic.com/player/EpisodicPlayer.swf?config=http%3A%2F%2Fcdn.episodic.com%2Fshows%2Fqgxefentgirm%2Fqhp5i9dsk1dt%2Fconfig.xml" type="application/x-shockwave-flash"&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Zachęcam do komentowania i do zobaczenia w następnym poście!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5237426380085243883?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5237426380085243883/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/code-review-for-teams-too-busy-to.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5237426380085243883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5237426380085243883'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/code-review-for-teams-too-busy-to.html' title='Code Review for Teams Too Busy to Review Code'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-4146117036680186978</id><published>2010-08-07T04:59:00.000-07:00</published><updated>2010-08-07T05:08:38.566-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Joel Spolsky'/><category scheme='http://www.blogger.com/atom/ns#' term='devBlogi'/><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><title type='text'>Cytaty #5</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Znów bardzo krótko, ale za to z ogromnym przesłaniem. &lt;a href="http://akademiajavy.blogspot.com/2010/03/o-dokumentacji-projektow-sow-kilka.html"&gt;Uwielbiam&lt;/a&gt; czytać wypowiedzi &lt;a href="http://www.joelonsoftware.com"&gt;Joela Spolsky'ego&lt;/a&gt; (choć na wiele trzeba patrzeć z &lt;a href="http://akademiajavy.blogspot.com/2010/03/o-dokumentacji-projektow-sow-kilka.html?showComment=1268591586702#c818384377233219726"&gt;przymrużeniem oka&lt;/a&gt;), tym bardziej ucieszył mnie nowy artykuł w serwisie &lt;a href="http://www.devblogi.pl/"&gt;devBlogi&lt;/a&gt;, tłumaczący artykuł &lt;a href="http://www.devblogi.pl/2010/08/prawo-nieszczelnych-abstrakcji.html"&gt;"Prawo Nieszczelnych Abstrakcji"&lt;/a&gt; (w oryginale &lt;a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html"&gt;"The Law of Leaky Abstractions"&lt;/a&gt;). Jeden fragment z tego artykułu bardzo mi się spodobał i ucieszył, gdyż pokazuje, że moje postępowanie względem podstaw programowania jest jak najbardziej słuszne:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;i&gt;Prawo przeciekającej abstrakcji oznacza, że kiedykolwiek ktoś proponuje jakieś nowe super narzędzie do generowania kodu, które uczyni nas tak bardzo efektywnymi, pojawiają się ludzie, którzy mówią „najpierw naucz się jak to zrobić manualnie, dopiero później używaj tego super narzędzia oszczędzającego czas”. Narzędzia do generowania kodu, które mają na coś nakładać abstrakcję , podobnie jak wszystkie abstrakcje, przeciekają. Jedynym sposobem na kompetentne radzenie sobie z tymi przeciekami jest zrozumienie jak abstrakcje działają i - względem czego. Więc abstrakcje oszczędzają czas na pracę, ale nie oszczędzają czasu na naukę.&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-4146117036680186978?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/4146117036680186978/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/cytaty-5.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4146117036680186978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4146117036680186978'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/cytaty-5.html' title='Cytaty #5'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-4526076114329889863</id><published>2010-08-06T12:32:00.000-07:00</published><updated>2010-08-06T13:27:53.517-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Review'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><category scheme='http://www.blogger.com/atom/ns#' term='Atlassian'/><title type='text'>Przemyślenia praktykanta #4</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Czasu ostatnio bardzo mało, ale jedna rzecz wymaga szczególnej uwagi i nie daje mi ostatnio spokoju. Jakiś czas temu głośno było o &lt;a href="http://en.wikipedia.org/wiki/Code_review"&gt;Code Review&lt;/a&gt;, jakie to one dobre, że każdy powinien w nich uczestniczyć etc. Można o tym poczytać np. w rewelacyjnym &lt;a href="http://blog.solidcraft.eu/2010/05/open-code-review.html"&gt;wpisie o Open Code Review&lt;/a&gt; na &lt;a href="http://blog.solidcraft.eu"&gt;blogu Jakuba Nabrdalika&lt;/a&gt;. Niestety "nie wszyscy mają na to czas i mozliwości". Całe szczęście istnieje rozwiązanie:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;15) &lt;b&gt;Mini Code Review&lt;/b&gt; - czy żeby uczestniczyć w Code Review trzeba na to przeznaczać specjalnie czas? Czy trzeba koniecznie odciągać wszystkich od ich pracy i kazać przestawić się myślami na tą jedną godzinę, by potem wrócić rozkojarzonym do pracy? A może zamiast tego (chociażby na początek) wprowadzić to jako stałą czynność przy wytwarzaniu oprogramowania? Jakiś czas temu, gdy przesiadałem się z jednego projektu na drugi, jeden z członków zespołu developerskiego, nim zrobiłem pierwszy commit do repozytorium, poświęcił mi chwilę czasu i wyjaśnił jak mam pracować. Idea jest bardzo prosta: po każdym ważniejszym commicie (w moim przypadku po prawie każdym commicie z uwagi na małe doświadczenie :)) tworzy się wirtualny review (co zajmuje dosłownie kilkadziesiąt sekund dzięki połączeniu Atlassian &lt;a href="http://www.atlassian.com/software/fisheye/"&gt;FishEye&lt;/a&gt; + &lt;a href="http://www.atlassian.com/software/crucible/"&gt;Crucible&lt;/a&gt;) i opisujemy w nim wykonane przez nas modyfikacje (jeżeli w opisie commitu tego nie zrobiliśmy) po czym zabieramy się za kolejne zadanie. W tym czasie osoby z naszego zespołu przeglądają nasze zmiany i oceniają lub w przypadku wątpliwości zadają pytania. Dana rewizja jest uznawana w momencie, gdy każdy z członków pomyślnie zakończy review. Ja sam działam w tym systemie zaledwie kilka dni, ale już wyniosłem z tego ogromną ilość nowej wiedzy! Co najlepsze - nie muszę odrywać nikogo od swoich zajęć jeśli chce jakąś drobną rzecz omówić - zostawiam komentarz i czekam na odpowiedź zwrotną.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Oczywiście nie mówię, że Open Code Review jest czymś złym, albo nadmiarowym - co to to nie! Po prostu widzę ile zajmuje czasu kolegom z zespołu uczenie mnie, instruowanie i tłumaczenie specyficznych zagadnień i zdaje sobie sprawę, że nie zawsze jest czas i możliwości, by usiąść i wspólnie przedyskutować dany fragment kodu na zasadzie burzy mózgów. Dzięki stałym review małych porcji kodu jestem w stanie lepiej zrozumieć system z którym pracuje i szybko wyłapywać złe praktyki lub błędy dzięki nieocenionej wiedzy bardziej doświadczonych członków zespołu :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To tyle, czas wracać do pracy :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-4526076114329889863?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/4526076114329889863/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/przemyslenia-praktykanta-4.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4526076114329889863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4526076114329889863'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/08/przemyslenia-praktykanta-4.html' title='Przemyślenia praktykanta #4'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5988231180000849933</id><published>2010-07-31T14:34:00.000-07:00</published><updated>2010-07-31T16:26:34.021-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='IntelliJ IDEA'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Aptana Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>Eclipse + Aptana Studio + jQuery</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam ponownie w ten ciepły i przyjemny wieczór :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dzisiaj jest dobry dzień na blogowanie :) Po spisaniu kolejnych przemyśleń z praktyk postanowiłem podzielić się kolejną rzeczą, która de facto jest z nimi związanymi, ale najpierw dwa zdania wyjaśnienia. Bardzo często spotykam się w rozmowach z developerami z opinią, że "Eclipse śmierdzi". Przykładem jest komentarz &lt;a href="http://henryk-konsek.blogspot.com/"&gt;Henryka Konska&lt;/a&gt; pod postem o &lt;a href="http://akademiajavy.blogspot.com/2010/07/problem-z-m2eclipse.html"&gt;m2eclipse&lt;/a&gt;. Podobnie mam w pracy, gdzie pewna osoba korzystająca z NetBeans/IDEA bardzo stwierdza w ciemno "w Eclipse tego nie ma" albo "w Eclipsie to nie działa". Dlaczego tak mnie to denerwuje? Ponieważ wydaje mi się, że każdy IDE ma swoje wady i bugi, ale każdy jest też dla innego typu programisty, z innym nastawieniem do pracy. Dla mnie Eclipse jest bardzo dobry z kilku prostych przyczyn:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;przy podstawowej pracy (moja praca najczęściej nie jest wielce skomplikowana) Eclipse w czystej postaci jest zwyczajnie szybki, to taki notatnik na sterydach&lt;/li&gt;&lt;li&gt;jeśli potrzebuję dodatkowej funkcjonalności (jak w dalszej części tego postu zostanie opisane) zwyczajnie znajduje link, wybieram komponent i instaluję (dla tych, którzy zaatakują mnie pluginem typu m2eclipse -&gt; zobaczcie czy plugin do GAE w NetBeans 6.9 działa tak jak w Eclipse)&lt;/li&gt;&lt;li&gt;jeśli wziąć pod uwagę Eclipse, NetBeans i IntelliJ IDEA - dla początkującego Eclipse jest najprostszy - takie jest bynajmniej moje zdanie :)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Wracając do tematu postu - &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; w Eclipse - standardowo w Eclipse JEE mamy podstawowe wsparcie dla JavaScriptu, ale dla jego biblotek (jak jQuery, Prototype itp.) nie. Bardzo dobrym zapełnieniem tej luki jest &lt;a href="http://www.aptana.com/"&gt;Aptana Studio&lt;/a&gt;. Jest to rozbudowane środowisko do tworzenia aplikacji webowych pracujące samodzielnie lub jako plugin Eclipse. W momencie moich pierwszych zabaw z AS musiałem zadowolić się konfiguracją Eclipse Galileo (3.5) i Aptana Studio 2.0.5 Stable - wersja 3 ciągle była (i jest) w fazie beta i nie współpracowała z Eclipse Helios (3.6). Dało się zainstalować Studio 2.0.5 na Heliosie, ale był to wielki błąd z mojej strony - nie mogłem uruchomić Menadżera Rozszerzeń właśnie przez brak wsparcia dla nowego wydania Eclipse.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Samego procesu instalacji pluginu nie będę tu przedstawiał, gdyż jest bardzo prosty. Zwrócę tylko uwagę na instalację pluginu jQuery w Aptanie. Po zainstalowaniu dodatku i ponownym uruchomieniu całego środowiska naszym oczom powinna się ukazać strona startowa My Studio:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_1cOqhuGJLjc/TFSwCmfZHSI/AAAAAAAAGFY/9ySCjafh_7k/s1600/Aptana+-+01.png"&gt;&lt;img src="http://2.bp.blogspot.com/_1cOqhuGJLjc/TFSwCmfZHSI/AAAAAAAAGFY/9ySCjafh_7k/s400/Aptana+-+01.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5500214603664661794" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 245px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wybieramy &lt;i&gt;Plugins&lt;/i&gt; -&gt; &lt;i&gt;AJAX&lt;/i&gt; i z długiej listy możliwych bibliotek wybieramy &lt;i&gt;jQuery Support&lt;/i&gt; (wciskamy &lt;i&gt;Get it&lt;/i&gt;):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/TFSwC9Bmr5I/AAAAAAAAGFg/hCOGgtJIfbs/s1600/Aptana+-+02.png"&gt;&lt;img src="http://4.bp.blogspot.com/_1cOqhuGJLjc/TFSwC9Bmr5I/AAAAAAAAGFg/hCOGgtJIfbs/s400/Aptana+-+02.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5500214609713737618" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 389px; height: 400px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Z listy, która się pojawi wybieramy obie wersje biblioteki jQuery: 1.3.2 oraz 1.4.2:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/TFSwDKi6gaI/AAAAAAAAGFo/1a8UyvUKzXw/s1600/Aptana+-+03.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/TFSwDKi6gaI/AAAAAAAAGFo/1a8UyvUKzXw/s400/Aptana+-+03.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5500214613343109538" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 324px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dalej instalacja przebiega standardowo. Dzięki tandemowi Aptana Studio + jQuery Support możemy w pełni cieszyć się z wsparcia dla jQuery (jak i czystego JavaScript'u) w Eclipse :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/TFSwDWpRLUI/AAAAAAAAGFw/cHRHCZiMekQ/s1600/Aptana+-+04.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/TFSwDWpRLUI/AAAAAAAAGFw/cHRHCZiMekQ/s400/Aptana+-+04.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5500214616590986562" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 136px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Na sam koniec chciałbym podzielić się dwoma wskazówkami do używania pluginu do jQuery - &lt;a href="http://docs.jquery.com/Plugins/Autocomplete"&gt;Autocomplete&lt;/a&gt;:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Bezpieczniejsze wyświetlanie podpowiedzi - ponieważ Autocomplete w żadnej mierze nie zabezpiecza wyświetlanych podpowiedzi, musimy to zrobić za niego. W tym celu jako drugi argument metody autocomplete musimy przekazać taką strukturę:&lt;/div&gt;&lt;pre name="code" class="brush: js;"&gt;&lt;br /&gt;$("#autocompleteDOMObject").autocomplete(data, {&lt;br /&gt;  formatItem: function(row, i, max) {&lt;br /&gt;    return "&lt;nobr&gt;" + new String(row[0]).replace(/&amp;amp;/g, '&amp;amp;').replace(//g, '&amp;gt;') + "&lt;/nobr&gt;";&lt;br /&gt;  },&lt;br /&gt;  formatMatch: function(row, i, max) {&lt;br /&gt;    return row[0];&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Funkcja &lt;i&gt;formatItem&lt;/i&gt; odpowiada za wyświetlanie kolejnych podpowiedzi, dlatego musimy zastąpić znaki '&lt;', '&gt;' oraz '&amp;amp;' odpowiednimi kodami, aby były one wyświetlane zamiast interpretowane. Metoda &lt;i&gt;formatMatch&lt;/i&gt; musi natomiast zwracać kolejne pozycje bez zamiany znaków, gdyż po tych znakach (które wprowadził użytkownik) każemy pluginowi wyszukiwać.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2) Wyszukiwanie nie tylko od początku zdania - jeśli chcemy, aby plugin wyszukiwał także dopasowania słów, które nie są pierwszymi słowami w danym zdaniu/łańcuchu, musimy jako drugi argument autocomplete podać:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;pre name="code" class="brush: js;"&gt;$("#autocompleteDOMObject").autocomplete(data, {&lt;br /&gt;  matchContains: "word",&lt;br /&gt;  autoFill: false&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;oraz wyedytować plik zawierający skrypt autocomplete:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:monospace;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre name="code" class="brush: js;"&gt;&lt;br /&gt;function matchSubset(s, sub) {&lt;br /&gt;  if (!options.matchCase)&lt;br /&gt;    s = s.toLowerCase();&lt;br /&gt;  var i = s.indexOf(sub);&lt;br /&gt;  if (options.matchContains == "word"){&lt;br /&gt;    i = s.toLowerCase().search("\\b[^0-9a-zA-Z]" + sub.toLowerCase());&lt;br /&gt;  }&lt;br /&gt;  if (i == -1)&lt;br /&gt;    return false;&lt;br /&gt;&lt;br /&gt;  return i == 0 || options.matchContains;&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Parametr &lt;i&gt;matchContains &lt;/i&gt;z wartością "word" mówi pluginowi, że ma wyszukiwać także słów wewnątrz łańcucha znaków. To, co zrobiliśmy w pliku ze skryptem pluginu to zamieniliśmy wyrażenie regularne na takie, które zapewnia nas, że brane będą pod uwagę jedynie "słowa", które nie zaczynają się żadnym znakiem specjalnym.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na dzisiaj to tyle. Drugi post może nie jest tak bogaty jak poprzedni, ale mam nadzieję, że znajdzie się ktoś, komu zawarte tutaj informacje się przydadzą :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5988231180000849933?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5988231180000849933/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/eclipse-aptana-studio-jquery.html#comment-form' title='Komentarze (6)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5988231180000849933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5988231180000849933'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/eclipse-aptana-studio-jquery.html' title='Eclipse + Aptana Studio + jQuery'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1cOqhuGJLjc/TFSwCmfZHSI/AAAAAAAAGFY/9ySCjafh_7k/s72-c/Aptana+-+01.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-7710708332643404432</id><published>2010-07-31T11:21:00.000-07:00</published><updated>2010-07-31T12:23:57.746-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><category scheme='http://www.blogger.com/atom/ns#' term='YAGNI'/><title type='text'>Przemyślenia praktykanta #3</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Moje praktyki trwają już ponad miesiąc (pozostały jeszcze dwa) i był to wspaniały okres, który oprócz ogromnej porcji wiedzy, doświadczenia i przyjemnej pracy dostarczył mi wiele powodów do zatrzymania się i porządnego zastanowienia (o czym można już było przeczytać już &lt;a href="http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-1.html"&gt;tutaj&lt;/a&gt; i &lt;a href="http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-2.html"&gt;tutaj&lt;/a&gt;). Sądzę, że jest to najlepszy moment na podzielenie się kolejną porcją przemyśleń. A więc do dzieła :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;10) &lt;b&gt;Nie bójmy się porażek&lt;/b&gt; - stare przysłowie mówi: "Kto nie gra, ten nie wygra" i uważam, że idealnie pasuje ono do okresu praktykowania. Jeżeli nie będziemy próbowali sparaliżowani perspektywą porażki lub (co jest niedorzecznością w trakcie praktyk, ale i później także w dużym stopniu) ośmieszenia się przed resztą zespołu to nigdy nie dowiemy się, czy nasz pomysł jest dobry, czy zły, nie będziemy wiedzieli wiedzieli w przyszłości, czy tego typu rozwiązań powinno się unikać, jakie niosą za sobą konsekwencje etc. Nie wierzmy na słowo, sprawdzajmy swoje pomysły, bawmy się przy metodzie prób i błędów.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;11) &lt;b&gt;Nie bójmy się zmian&lt;/b&gt; - po jakichś 3 tygodniach pracy nad projektem, który przydzielono mi na samym początku praktyk odbyłem bardzo długą rozmowę z opiekunem praktyk, każdy z nas podzielił się z drugim wrażeniami odnośnie wykonywanego projektu, jego szans, moich dotychczasowych umiejętności, priorytetów firmy i wielu, wielu innych spraw. Jaki był skutek tej rozmowy? Postanowiliśmy zarzucić obecnie wykonywany projekt i przejść w trochę inny rodzaj, w dodatku już w trakcie tworzenia przez pewną grupę. Z początku było mi ciężko dopisywać ostatnie linijki kodu do starego projektu (ustaliliśmy, że nie zostawiamy nieskończonych task'ów i że przejdę dopiero po wykonaniu wszystkich zadań jakie mi opiekun wcześniej wyznaczył), ale potem doszło do mnie, że ta zmiana może okazać się dużą szansą - i tak faktycznie było! Mam okazję na co dzień współpracować z grupą (małą, ale dzięki temu nie czuję się przytłoczony) doświadczonych developerów i podpatrywać ich w akcji :) &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;12) &lt;b&gt;Nie jesteśmy robotami&lt;/b&gt; - Tamtego dnia, gdy postanowiliśmy ze Sławkiem, że kończymy pracę nad jednym projektem, a zaczynami nad drugim, nasza rozmowa była najdłuższą czynnością jaką wykonałem, ale okazała się najbogatsza w wiedzę, możliwość spojrzenia na projekt okiem kogoś, kto nim zarządza. Do czego zmierzam? Do tego, że nikt nie oczekuje, iż będziemy siedzieli przed komputerem pełne 8 godzin od 9 do 17, nie wytykając nosa poza box poza krótką przerwą na drugie śniadanie. Czasem krótki czas spędzony daleko od biurka może przynieść więcej korzyści, niż kilka godzin siedzenia na tyłku męcząc się z jakimś zagadnieniem. Dla mnie takim miejscem odsapnięcia jest kuchnia (z uwagi na ekspres do kawy ;) ) i muszę przyznać, że rozmowy tam (a także ich brak, gdy nikogo w kuchni nie ma) potrafiły przybliżyć mnie do rozwiązania problemu bardziej niż siedzenie z tym problem tête à tête przez pół dnia.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;13) &lt;b&gt;You Ain't Gonna Need It&lt;/b&gt; - czyli w skrócie &lt;a href="http://en.wikipedia.org/wiki/You_ain't_gonna_need_it"&gt;YAGNI&lt;/a&gt;, jest zasadą mówiącą, że powinniśmy dodawać do projektu nową funkcjonalność dopiero w momencie, gdy ta funkcjonalność jest niezbędna. Dzięki temu unikamy nadmiernego rozrostu projektu i koncentrujemy się (a co za tym idzie lepiej wykonujemy) na tym, co najważniejsze. Osobiście miałem ten problem przy swoim pierwszym samodzielnym projekcie na praktykach - zacząłem dodawać nowe funkcjonalności nie pokrywając dostatecznie testami już stworzonych i po niedługim czasie mój system był dziurawy jak ser szwajcarski, duży, ale z małą ilością prawdziwej funkcjonalności. Na całe szczęście mam opiekuna, który w każdej chwili jest gotów ściągnąć mnie na ziemię i wskazać najodpowiedniejszy kierunek działań :) Jest to bardzo dobre, póki jeszcze sami nie jesteśmy w stanie dostrzegać i wykonywać najistotniejszych zadań w pierwszej kolejności. Wydaje się, że stoi to w sprzeczności z podchodzeniem do pracy z postawą eksperymentatora i metodą prób i błędów? Nie będę sam wynajdywał koła i powołam się na artykuł kogoś, kto umie to wytłumaczyć znacznie lepiej ode mnie - mówię tu o artykule &lt;a href="http://art-of-software.blogspot.com/2010/07/bo-w-zyciu-trzeba-byc-agile.html"&gt;"Bo w życiu trzeba... być Agile:)"&lt;/a&gt; &lt;a href="http://art-of-software.blogspot.com/"&gt;Sławomira Sobótki&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;14) &lt;b&gt;Nie taka dokumentacja zła jak ją malują&lt;/b&gt; - w obecnych czasach podobno zaledwie kilka firm na świecie przyznaje się do tego, że nie jest "zwinna", raptem jedna indyjska firma oficjalnie ogłosiła, że nie jest firmą pracującą w oparciu o zwinne metodyki. A z czym ludziom kojarzy się zwinna firma? Z brakiem dokumentacji, z końcem biurokracji itp. Ale czy naprawdę dokumentacja jest takim złem? Kiedy w zeszłym tygodniu zmieniłem projekt, za zadanie miałem (i nadal mam) uzupełnienie i aktualizacja dokumentacji tegoż projektu. Z początku bardzo mi się to nie spodobało, ale po kilku godzinach badania projektu zdałem sobie sprawę, że jest to idealna okazja na dogłębne poznanie obszaru, nad którym mam pracować. Daje mi to też możliwość zadawać trudne pytania autorom konkretnych fragmentów kodu, jeżeli jakieś zachowanie jest niejasne lub zwyczajnie nie działa tak jak do tej pory było to opisane. Po dwóch dniach spędzonych nad dokumentacją dostałem do wykonania proste zadanie poprawy drobnego kawałka kodu i dzięki zdobytej wiedzy rozwiązanie problemu zajęło (dosłownie!) 5 minut wraz z przetestowaniem. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na razie to wszystko. Pozdrawiam i do następnego razu! :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-7710708332643404432?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/7710708332643404432/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-3.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/7710708332643404432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/7710708332643404432'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-3.html' title='Przemyślenia praktykanta #3'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-6648559295120449801</id><published>2010-07-20T14:35:00.000-07:00</published><updated>2010-07-20T15:07:09.287-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='java4people'/><title type='text'>Duża porcja filmików</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ostatnio zastanawiałem się czemu &lt;a href="http://misko.hevery.com/about/"&gt;Miško Hevery&lt;/a&gt; nie publikuje nic na swoim &lt;a href="http://misko.hevery.com/"&gt;blogu&lt;/a&gt;, gdy w tym momencie pojawiła się wiadomość w czytniku RSS o jego nowej publikacji. Miško jest bardzo utalentowanym, chętnym do dzieleniem się swoją wiedzą i rozmowy programistą, który od jakiegoś czasu dosyć często pojawia się w cyklu &lt;a href="http://www.youtube.com/user/GoogleTechTalks"&gt;Google Tech Talks&lt;/a&gt;. Nie inaczej było tym razem - Miško Hevery wygłosił prezentację na temat &lt;a href="http://www.youtube.com/watch?v=ljNi8nS5TtQ"&gt;"How JavaScript works"&lt;/a&gt;, która jak dla mnie jest rewelacyjna, gdyż dopiero teraz zaczynam zabawę z JavaScript. Nie jest to prezentacja, która ma za zadanie nauczyć nas pisać skrypty JS, ale wytłumaczyć czemu pewne rzeczy się dzieją i co może być często problemem wynikającym z nierozumienia samej zasady działania języka. Film trwa godzinę, ale naprawdę dobrze się go ogląda - gorąco polecam:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="500" height="405"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ljNi8nS5TtQ&amp;amp;hl=pl_PL&amp;amp;fs=1?border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ljNi8nS5TtQ&amp;amp;hl=pl_PL&amp;amp;fs=1?border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dodatkowo rozmawiałem ostatnio z &lt;a href="http://blog.gruchala.eu/"&gt;Leszkiem Gruchałą&lt;/a&gt;, organizatorem konferencji java4people w Szczecinie na temat filmików z ostatniej edycji. Konferencję tą darze szczególnym sentymentem, gdyż była to moja pierwsza konferencja dla developerów w życiu, a wrażenia i wiedza z niej wyniesiona do tej pory procentują :) Okazało się, że są one dostępne na łamach portalu &lt;a href="http://parleys.com/"&gt;Parleys.com&lt;/a&gt; (należy przejść do działu &lt;i&gt;Spaces -&gt; Only JUGs -&gt; Szczecin JUG&lt;/i&gt;). Oto kilka najciekawszych moim zdaniem:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;"Comet &amp;amp; Beyeux" autorstwa &lt;a href="http://jdn.pl/blog/88"&gt;Waldemara Kota&lt;/a&gt;:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;object width="474" height="443"&gt;&lt;param name="movie" value="http://www.parleys.com/share/parleysshare2.swf?pageId=1885"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="pageId" value="1885"&gt;&lt;embed src="http://www.parleys.com/share/parleysshare2.swf?pageId=1885" type="application/x-shockwave-flash" allowfullscreen="true" width="474" height="443"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Zwinne i lekkie aplikacje webowe z Grails" &lt;a href="http://blog.japila.pl/"&gt;Jacka Laskowskiego&lt;/a&gt; (jeszcze bez swojego śrebrnego MacBook'a ;)):&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="474" height="443"&gt;&lt;param name="movie" value="http://www.parleys.com/share/parleysshare2.swf?pageId=1905"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="pageId" value="1905"&gt;&lt;embed src="http://www.parleys.com/share/parleysshare2.swf?pageId=1905" type="application/x-shockwave-flash" allowfullscreen="true" width="474" height="443"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="474" height="443"&gt;&lt;param name="movie" value="http://www.parleys.com/share/parleysshare2.swf?pageId=1909"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="pageId" value="1909"&gt;&lt;embed src="http://www.parleys.com/share/parleysshare2.swf?pageId=1909" type="application/x-shockwave-flash" allowfullscreen="true" width="474" height="443"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"System kontroli wersji GIT" &lt;a href="http://andrzejsliwa.com/"&gt;Andrzeja Śliwy&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="474" height="443"&gt;&lt;param name="movie" value="http://www.parleys.com/share/parleysshare2.swf?pageId=1890"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="pageId" value="1890"&gt;&lt;embed src="http://www.parleys.com/share/parleysshare2.swf?pageId=1890" type="application/x-shockwave-flash" allowfullscreen="true" width="474" height="443"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To na dziś tyle. Czas iść spać, żeby jutro wypoczętym przyjść na praktyki i zgłębiać się w temat RESTful Services :) Do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-6648559295120449801?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/6648559295120449801/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/duza-porcja-filmikow.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6648559295120449801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6648559295120449801'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/duza-porcja-filmikow.html' title='Duża porcja filmików'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-6233104436777000176</id><published>2010-07-17T14:00:00.000-07:00</published><updated>2010-07-17T14:46:35.315-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><title type='text'>Przemyślenia praktykanta #2</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Od mojego &lt;a href="http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-1.html"&gt;ostatniego postu&lt;/a&gt; minęło raptem cztery dni, ale nawet w tak krótkim czasie pojawiło się kilka przemyśleń, olśnień, a także postanowień. To jest dla mnie kwintesencja praktyk - zmuszają nie tylko do działania (w moim przypadku kodowania), ale w większym stopniu do myślenia, stawiania czoła problemom i otwieraniu się na nowe (choć z pewną dozą zdrowej podejrzliwości).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;7) &lt;b&gt;Nie zabieraj pracy do domu!&lt;/b&gt; - przez pierwsze dni była to moja zmora. Siedziałem w firmie po 9 godzin, a po przyjściu do domu zamiast się zrelaksować, siadałem nad problemem by do późnych godzin tak naprawdę niewiele posunąć się do przodu. Dlaczego tak było? Ponieważ nie miałem w koło siebie grupy fachowców w każdej chwili gotowej mi pomóc, ponieważ nie zapewniłem sobie należytego relaksu. Po kilku dniach i lekturze &lt;a href="http://37signals.com/rework/"&gt;Rework &lt;/a&gt;(znów ten Rework :)) uświadomiłem sobie, że jeżeli wszystkie zmartwienia i problemy związane z praktykami będę zostawiał w firmie, po pracy będę w stanie naładować swoje akumulatorki, aby następnego dnia stawić czoła wyzwaniu/przeciwności z pełnią sił i determinacji. Robiąc inaczej tylko podcinamy sobie skrzydła i w naprawdę krótkim czasie skazujemy siebie samych na wypalenie, po którym z odpowiedniego "chce" zrobi się śmiercionośne "muszę". Od kiedy wprowadziłem do życia tę zasadę osiągam więcej i szybciej, a najlepsze jest to, że robię to z przyjemnością!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;8) &lt;b&gt;Nawet najmniejszy unit test może rozjaśnić Twój dzień&lt;/b&gt; - dwa dni straciłem nad pewnym zagadnieniem numerycznym. Męczyłem się z doborem odpowiedniej biblioteki, potem z jej integracją, by na końcu zawsze okazywało się, że nie spełnia ona naszych wymagań. Zamiast iść do przodu, stałem w miejscu i przestawało mi się chcieć. Trzeciego dnia zmagań poszedłem do Sławka i namówił mnie do napisania swojego rozwiązania, ale z możliwie najmniejszą funkcjonalnością. Po jakiejś pół godzinie, gdy uruchomiłem pierwszy test i zobaczyłem wiadomość "Failure: 0" od razu się uśmiechnąłem i nabrałem chęci do pracy. Tak napędzony przez kolejne kilka godzin pracowałem dodając nowe testy i przez większość czasu uśmiechając się do siebie samego, nawet wtedy gdy nie wiedziałem jak mam to, czy tamto poprawić. Starałem się nie wprowadzać zbyt wielu modyfikacji naraz, aby móc dobrze przetestować całość. Efekt? Pod koniec dnia przyszedłem do Sławka z gotowym rozwiązaniem, pokrytym testami i spełniającym wszystkie nasze wymagania. Od tej pory staram się wyszukiwać nawet najmniejsze rzeczy, które wiem, że uda mi się zrobić szybko i poprawnie, co doda mi sił i motywacji do pracy - to naprawdę działa :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;9) &lt;b&gt;Utrzymuj rzeczy możliwie najprostszymi&lt;/b&gt; - jednym z problemów, który miałem przy zagadnieniu, o którym pisałem wcześniej było to, że zbytnio chciałem je rozbudowywać i to od samego początku. Brało się to z nauki, którą wpaja się na uczelniach wyższych (a przynajmniej na obu kierunkach, na których byłem - mam nadzieję, że gdzieś jest inaczej) - od samego początku myśl i projektuj i koduj z myślą o pełnej funkcjonalności systemu. Ten prosty problem pokazał mi, że oczywiście należy przewidywać możliwą rozbudowę systemu, ale nie należy jej wprowadzać od pierwszych chwil jego życia. Kiedy mój opiekun wskazał mi kluczowe zagadnienia, którymi musi zając się moja biblioteka sprawa nagle stała się kilkakrotnie prostsza i możliwa do zaimplementowania w ciągu jednego dnia. Dzięki temu mam gotowy szkielet, który w niedługiej przyszłości mam zamiar rozwijać, ale na dzień dzisiejszy jest już działający i jest wykorzystywany. Gdybym zabrał się za pełną (lub choćby połowiczną) potencjalną funkcjonalność od pierwszych chwil nie miałbym tego gotowego przed końcem roku, a co dopiero końcem praktyk.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na dzisiaj to tyle. Czas się wyspać, jutro też jest dzień (może na napisanie kolejnego postu? :)).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-6233104436777000176?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/6233104436777000176/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-2.html#comment-form' title='Komentarze (5)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6233104436777000176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6233104436777000176'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-2.html' title='Przemyślenia praktykanta #2'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-4328960007206369950</id><published>2010-07-13T09:07:00.000-07:00</published><updated>2010-07-13T14:07:02.414-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Przemyślenia praktykanta #1</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ostatni okres nie był dla mnie łatwy. &lt;a href="http://akademiajavy.blogspot.com/2010/07/pierwszy-dzien-praktyk.html"&gt;Zacząłem praktyki&lt;/a&gt; i tak jak na samym początku sądziłem, że będzie super produktywnie, pracowicie i entuzjastycznie, tak po niecałych dwóch tygodniach jedyne co bym z tego zdania pozostawił to pracowicie. A co z resztą? To trudne pytanie, na które cały czas nie znalazłem (i pewnie długo jeszcze nie znajdę) pełnej odpowiedzi. Do przemyśleń skłoniła mnie książka, którą właśnie czytam - &lt;a href="http://37signals.com/rework/"&gt;Rework&lt;/a&gt; - Jasona Fried'a oraz Davida Heinemeier Hansson'a (z firmy &lt;a href="http://37signals.com"&gt;37signals&lt;/a&gt; - twórców m.in. Ruby on Rails), o której niedługo trochę szerzej napiszę na blogu. Ale do rzeczy:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1) &lt;b&gt;Są wakacje&lt;/b&gt;! - nim jeszcze zacząłem praktyki miałem wielkie plany na wakacje: bieganie z samego rana, praktyki od 8 do 16, potem coś zjeść, praca inżynierska oraz jeden z 2 projektów, w których mam brać udział i spać - idiotyzm. Czas wakacji to przede wszystkim czas odpoczynku, relaksu, nabrania sił na boje kolejnego roku akademickiego. Bardzo dobrze podchodzą do tego panowie od marketingu w &lt;a href="http://isa.pl/"&gt;wydawnictwie ISA&lt;/a&gt; - w swoim newsletterze piszą:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;i&gt;Wakacje, to czas wytchnienia od nauki i pracy. Wolny czas można zagospodarować na 1001 sposobów. Proponujemy, aby część tego czasu spędzić z ciekawą lekturą.&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To nie musi być książka, równie dobrze można iść na plażę, do lasu, na rower i etc. etc. Sens jest w tym, by znaleźć coś, co nas relaksuje i pomaga się odprężyć.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2) &lt;b&gt;Jesteś na praktykach, nie w pracy&lt;/b&gt; - &lt;a href="http://tech.mrozewski.pl/"&gt;Mateusz &lt;/a&gt;bez przerwy mi to powtarza. Praktyki to czas nauki, nikt nie oczekuje, że w ciągu miesiąca (czy jak w moim przypadku trzech) praktykant zbuduje "nowe, lepsze Google". Oczywiście większość praktykantów, którzy zaczynają w dobrej firmie, chciałaby po skończeniu praktyk dalej współpracować z firmą - ja sam tak miałem/mam. Ale bardzo szybko okazuje się to bardzo zgubne. Przy każdej rzeczy, jaką się wykonuje myślenie zamiast kierować się ku rozwiązaniu idzie w kierunku zadowolenia szefa, czy się przypadkiem nie ośmieszymy etc. Tak jest często, jeśli nie jesteśmy pewni swojej wartości na rynku, a bardzo byśmy chcieli być widziani jak najlepiej. Takimi sprawami powinniśmy się martwić dopiero pod koniec lub na sam koniec praktyk, a do tej pory starać się robić zwyczajnie swoje i uczyć się przy tym jak najwięcej. Czy będziemy dalej pracować w tej firmie, czy nie - doświadczenie i tak wyniesiemy, a przecież po to idziemy na praktyki, prawda? :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3) &lt;b&gt;Refaktoryzacja&lt;/b&gt; - oto klucz do łatwiejszej nauki. Bardzo często łapie się na tym, że chce wykonać dane zadanie tak dobrze, że już nie wiem jak do tego podejść. Liznąłem temat TDD -  no to piszemy testy, poznałem metodę DRY/KISS/itp. - od samego początku piszę kod zgodny z nimi wszystkimi etc. Przykładów można wymieniać mnóstwo i oczywiście przesadzam, ale mam nadzieję, że idea jest jasna.  Dopiero dzisiaj uświadomiłem sobie, że moje podejście jest błędne. Brak mi doświadczenia, żeby pisać ładny, dobry produkcyjny kod. Dlatego zacząłem robić coś innego, za namową bardziej doświadczonych ode mnie - tworzę jakieś rozwiązanie, najłatwiej jak się da. Potem gdy już osiągnę cel zastanawiam się (jeśli jest na to czas oczywiście), czy da się to zrobić lepiej i jeśli tak, próbuje tak zrobić, ale nie wkładając w to za dużo czasu/wysiłku, tak by znajdywanie tego rozwiązania nie było męką, tylko przyjemnością. Jeśli jestem zadowolony z rozwiązania (a u mnie to oznacza możliwość "łatwej" integracji z całością, którą tworzę) zostawiam temat i przechodzę do następnego zagadnienia. Na artyzm przyjdzie jeszcze czas, a jest tyle do nauczenia się :) Bardzo często w nauce danego tematu nie chodzi o poznanie konkretnej technologii, ale bardziej o ideę, którą ona realizuje - wtedy nie ma sensu zbytnio się przejmować pięknem rozwiązania. Dużo czasu przez to straciłem, ale mam nadzieję, że wreszcie przejrzę na oczy :)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4) &lt;b&gt;Nie wszystko naraz!&lt;/b&gt; - kiedy idzie się na praktyki bardzo często ma się wrażenie, że od samego początku będzie się uczyło nie wiadomo ilu i jak wysublimowanych technik/narzędzi/ideologii/metodyk. Przez takie podejście bardzo łatwo utknąć w martwym punkcie, gdzie nie wiadomo czego się chwycić. Ja sam tak często miałem przed praktykami, ale na szczęście mój opiekun w Spartezie (Sławek) bardzo szybko sprowadza mnie na ziemię. Najczęściej idziemy sobie zrobić kawkę i dyskutujemy o tym co można by było zrobić dalej, wybierając jedną ze ścieżek. Nie ma tak, żeby łapać się kilku rzeczy naraz - w ten sposób w jednostce czasu nie zrobisz tak naprawdę nic, a jeśli będziesz robić po kolei, każdej z tych rzeczy nauczysz się lepiej i dokładniej. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5) &lt;b&gt;Jeśli naprawdę nie masz co robić, idź do domu&lt;/b&gt; - często znajomi opowiadają mi jak to na praktykach siedzieli 8h bezczynnie, tępo oglądając filmiki na YouTube lub grając w gierki na Facebook'u - to totalnie bez sensu. Jeśli w danym dniu zrobiło się już wszystko, co zostało zaplanowane, a następny krok jest na tyle obszerny i trudny (nieprzyjemny?!), a czasu stosunkowo za mało, tak że musielibyśmy jutro zaczynać i tak od nowa - poprośmy szefa o możliwość pójścia do domu. Lepiej wypocząć w domu, nabrać sił na kolejny dzień, niż męczyć się ciągnąć do tych 8 godzin dla samej zasady i skazując się na zmęczenie czy też brak pozytywnego podejścia następnego dnia. Na moich praktykach nie mam rygoru przychodzenia na konkretną godzinę. Mamy ustalony plan działań i w pewnym przedziale trzeba to zrobić. Dzięki luźniejszemu podejściu w momencie gdy czułem się gorzej mogłem spokojnie poleżeć w łóżku, by przyjechać do firmy wypoczęty. Nie miałem stresu, więc i robota szła lepiej. Dla samokontroli zapisuje sobie godziny przyjścia i wyjścia (oczywiście mniej więcej) i ku mojemu zdziwieniu przesiedziałem od początku praktyk więcej godzin, niż wynosi pracownicze minimum, a zrobiłem to z chęcią i nawet tego nie poczułem.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;6) &lt;b&gt;Kiedy masz problem - nie bój się zapytać innych&lt;/b&gt; - nic nie jest lepszym źródłem wiedzy niż doświadczenie starszych stażem! Już na samym początku praktyk dowiedziałem się, że będę musiał nauczyć się zagadnień z wielu dziedzin. Wiadomo, że nie każdy zna się na wszystkim, tak więc trzeba próbować aż do skutku. Nie mówię, że należy z najmniejszą rzeczą biegać po całym biurze siejąc popłoch. Mam to szczęście, że choć w firmie, w której robię praktyki każdy ma bardzo solidne podstawy z wiedzy ogólnej, już po chwili udało mi się rozpoznać kogo mogę o co pytać. Jedni podpowiedzą jak czegoś wyszukać, inni usiądą i zrobią z Tobą krótkie Code Review, jeszcze inni naprowadzą na rozwiązanie samymi pytaniami na temat problemu, ale wszyscy wyznają jedną zasadę - jeśli ktoś poprosi o pomoc - nie odmówią. Co jeszcze lepsze - kiedy już pomogą Ci znaleźć rozwiązanie będą ciekawi jak Ci poszło. Ostatnio w ten sposób bardzo miło zaskoczył mnie jeden z członków zespołu - dopytywałem się go o RESTful Services budowane w oparciu o &lt;a href="https://jersey.dev.java.net/"&gt;framework Jersey&lt;/a&gt; i tego samego dnia, a także następnego przez pytania o to, czy udało mi się rozwiązać problem dowiedziałem się masy nowych rzeczy (nie dziwota, bo temat dla mnie całkowicie nowy) i to w jednym z najprzyjemniejszych sposobów - przez rozmowę. Tak więc nie należy bać się zadawać pytań, bo w ten sposób może umknąć nam wiele niuansów, których próżno szukać w (nie)oficjalnych dokumentacjach.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Trochę przydługi wpis mi wyszedł, ale przynajmniej znalazłem formę na wyrażenie swoich myśli :) Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-4328960007206369950?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/4328960007206369950/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-1.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4328960007206369950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4328960007206369950'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-1.html' title='Przemyślenia praktykanta #1'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3154962770403849684</id><published>2010-07-06T09:26:00.000-07:00</published><updated>2010-07-11T10:33:14.468-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google App Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse Helios'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Problem z m2eclipse</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jaki Eclipse jest - każdy widzi i większość wie. W trakcie &lt;a href="http://akademiajavy.blogspot.com/2010/07/pierwszy-dzien-praktyk.html"&gt;niedawno rozpoczętych praktyk&lt;/a&gt; często spotykam się z opinią, że Eclipsem nie warto sobie w ogóle głowy zawracać, że jest kompletnie bezużyteczny etc. etc. Osobiście twierdzę, że mając na głowie mnóstwo rzeczy, których muszę się nauczyć "na wczoraj" (&lt;a href="http://akademiajavy.blogspot.com/2010/01/plany-na-2010-rok.html"&gt;lista postanowień noworocznych&lt;/a&gt; to przy tym pikuś ;)), zawracanie sobie głowy nauką i przyzwyczajaniem się do nowego IDE było by mało efektywne. Dlatego uparcie trzymam się Eclipsa i prę dalej. Miało być o problemie z integracją Eclipse Galileo z Mavenem, ale najpierw jeszcze sam nawrzucam na moje ukochane IDE. bo co za dużo, to niezdrowo:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Eclipse Helios po wielu próbach i ogromnej ilości dobrych chęci okazał się totalnie bezużyteczny do pracy z Google App Engine, AJAX'em, jQuery etc. Pluginy odpowiedzialne za wsparcie dla tych technologii/narzędzi zwyczajnie nie są kompatybilne z najnowszą wersją Eclipsa...&lt;/li&gt;&lt;li&gt;Na potrzeby napisania tego postu wróciłem dzisiaj na chwilę do Eclipse Galileo na Windows 7 i oto jaki komunikat otrzymałem przy starcie aplikacji (nie wymaga chyba komentarza):&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/TDNfV9jEoCI/AAAAAAAAGCY/1z8jO2fN0V0/s1600/2010-07-06+18-23-55.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/TDNfV9jEoCI/AAAAAAAAGCY/1z8jO2fN0V0/s400/2010-07-06+18-23-55.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5490837201598324770" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 378px; height: 300px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A teraz wracając do integracji Mavena z Eclipse Galileo (na Heliosie nawet nie pomyślałem, żeby to sprawdzić) - prostym rozwiązaniem wydawać by się mógłby się wydać wybór wtyczki m2eclipse. I tak jest, ale osobiście srodze się zawiodłem już na samym początku. Pierwszy problem to fakt, że Eclipse z natury uruchamia aplikacje za pomocą JRE, a nie JDK. Aby to zmienić musimy w &lt;i&gt;Window -&gt; Preferences -&gt; Java -&gt; Installed JRE'&lt;/i&gt;s ustawić jako domyślne JRE z JDK. Klikamy Add ...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/TDN5WdeKKMI/AAAAAAAAGDA/P4f0R91ti4M/s1600/2010-07-06+19-58-35.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/TDN5WdeKKMI/AAAAAAAAGDA/P4f0R91ti4M/s320/2010-07-06+19-58-35.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5490865797469972674" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 254px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;... wybieramy Standard VM ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/TDN5fMal4gI/AAAAAAAAGDI/8-xbqxCQhSk/s1600/2010-07-06+19-58-48.png"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/TDN5fMal4gI/AAAAAAAAGDI/8-xbqxCQhSk/s320/2010-07-06+19-58-48.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5490865947510432258" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 303px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;... i w Directory wpisujemy adres zainstalowanego w systemie JDK&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/TDN5m2TG9EI/AAAAAAAAGDQ/AelLXNwcZjM/s1600/2010-07-06+19-59-25.png"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/TDN5m2TG9EI/AAAAAAAAGDQ/AelLXNwcZjM/s320/2010-07-06+19-59-25.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5490866079012418626" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 262px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Potem wybieramy go jako domyślny na liście JRE i klikamy OK:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/_1cOqhuGJLjc/TDN7D3QBvCI/AAAAAAAAGDo/pUn11fIws1U/s1600/2010-07-06+20-00-08.png"&gt;&lt;img src="http://2.bp.blogspot.com/_1cOqhuGJLjc/TDN7D3QBvCI/AAAAAAAAGDo/pUn11fIws1U/s320/2010-07-06+20-00-08.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5490867676995763234" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 270px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wyłączamy Eclipse i otwieramy plik konfiguracyjny eclipse.ini (w głównym katalogu Eclipse). &lt;b&gt;PRZED&lt;/b&gt; parametrem -vmargs dodajemy parametr -vm, a linijkę niżej podajemy ścieżkę do JRE. U mnie wygląda to następująco:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/_1cOqhuGJLjc/TDN53KyMpxI/AAAAAAAAGDY/94KM8xsdZAM/s1600/2010-07-06+20-20-47.png"&gt;&lt;img src="http://2.bp.blogspot.com/_1cOqhuGJLjc/TDN53KyMpxI/AAAAAAAAGDY/94KM8xsdZAM/s320/2010-07-06+20-20-47.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5490866359389431570" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 159px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Pamiętajmy, by nie podawać ścieżek ze spacjami oraz używać '\\' lub '/' zamiast standardowego '\' Windowsa!&lt;/b&gt; Uruchamiamy Eclipse i cieszymy się wtyczką m2eclipse :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jeśli zaimportujemy projekt stworzony już wcześniej (&lt;i&gt;File -&gt; Import -&gt; Existing Maven Projects&lt;/i&gt;) i spróbujemy wykonać &lt;i&gt;Maven install&lt;/i&gt; z menu rozwijanego &lt;i&gt;Run as&lt;/i&gt; możemy otrzymać taki oto komunikat:&lt;/div&gt;&lt;br /&gt;&lt;pre name="code" class="brush: bash;"&gt;&lt;br /&gt;Could not calculate build plan: Missing:&lt;br /&gt;----------&lt;br /&gt;1) org.apache.maven.plugins:maven-resources-plugin:maven-plugin:2.4.1&lt;br /&gt;Try downloading the file manually from the project website.&lt;br /&gt;Then, install it using the command:&lt;br /&gt;mvn install:install-file -DgroupId=org.apache.maven.plugins -DartifactId=maven-resources-plugin -Dversion=2.4.1 -Dpackaging=maven-plugin -Dfile=/path/to/file&lt;br /&gt;Alternatively, if you host your own repository you can deploy the file there:&lt;br /&gt;mvn deploy:deploy-file -DgroupId=org.apache.maven.plugins -DartifactId=maven-resources-plugin -Dversion=2.4.1 -Dpackaging=maven-plugin -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]&lt;br /&gt;----------&lt;br /&gt;1 required artifact is missing.&lt;br /&gt;for artifact:&lt;br /&gt;org.apache.maven.plugins:maven-resources-plugin:maven-plugin:2.4.1&lt;br /&gt;from the specified remote repositories:&lt;br /&gt;central (http://repo1.maven.org/maven2, releases=true, snapshots=false)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Aby temu zaradzić musimy do POM'a dodać w sekcji build taki oto wpis o używaniu resource-plugin w nowszej wersji (np. 2.4.2). Całość wygląda następująco:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/_1cOqhuGJLjc/TDN6JPqsrjI/AAAAAAAAGDg/RhQi7I5dit4/s1600/2010-07-06+20-23-24.png"&gt;&lt;img src="http://2.bp.blogspot.com/_1cOqhuGJLjc/TDN6JPqsrjI/AAAAAAAAGDg/RhQi7I5dit4/s320/2010-07-06+20-23-24.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5490866669937798706" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 245px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Teraz po wykonaniu komendy &lt;i&gt;install&lt;/i&gt; w katalogu target znajdziemy nasz "wymarzony" plik JAR. Trochę (za)dużo zachodu, prawda? Niestety, takie właśnie są uroki używania Eclipse...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Mam nadzieję, że komuś przyda się ta informacja. Ja walczyłem ponad godzinę z Eclipse nim Maven zaczął mi w nim "działać". Bardzo pomocne okazały się wpis na &lt;a href="http://blog.v-s-f.co.uk/2010/06/m2eclipse-plugin-error-message/"&gt;Victoria's blog&lt;/a&gt;, &lt;a href="http://stackoverflow.com/questions/2921473/m2eclipse-eclipse-is-running-in-a-jre-but-a-jdk-is-required"&gt;Stackoverflow&lt;/a&gt; oraz &lt;a href="http://brightside.ning.com/xn/detail/1408301:Comment:14625"&gt;komentarz Nikola na blogu Bright Side&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3154962770403849684?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3154962770403849684/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/problem-z-m2eclipse.html#comment-form' title='Komentarze (9)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3154962770403849684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3154962770403849684'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/problem-z-m2eclipse.html' title='Problem z m2eclipse'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1cOqhuGJLjc/TDNfV9jEoCI/AAAAAAAAGCY/1z8jO2fN0V0/s72-c/2010-07-06+18-23-55.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-393213258562027355</id><published>2010-07-02T10:59:00.000-07:00</published><updated>2010-07-02T11:06:04.542-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Cytaty #4</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Trafiłem dzisiaj na bardzo ciekawy i bardzo trafny artykuł &lt;a href="http://art-of-software.blogspot.com/"&gt;Sławka Sobótki&lt;/a&gt; na temat &lt;a href="http://art-of-software.blogspot.com/2010/07/bo-w-zyciu-trzeba-byc-agile.html"&gt;podejścia Agile&lt;/a&gt;, w którym to napisał:&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;blockquote style="text-align: center;"&gt;Gdy jednak przyjrzeć się bliżej, to z tym Agile jest jak z seksem u nastolatków - każdy o tym mówi ale niewielu tak na prawdę to robi (a przynajmniej tak było kilkanaście lat temu w klasach mat-inf;).&lt;/blockquote&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jeśli sam autor nie zachęcił Was do przeczytania tego niedługiego (wyjątkowo :P) wpisu, to może ten cytat to zrobi :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-393213258562027355?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/393213258562027355/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/cytaty-4.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/393213258562027355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/393213258562027355'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/cytaty-4.html' title='Cytaty #4'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-217900072720845825</id><published>2010-07-01T09:32:00.000-07:00</published><updated>2010-07-01T10:30:14.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Praktyki'/><category scheme='http://www.blogger.com/atom/ns#' term='Google App Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse Helios'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Spartez'/><title type='text'>Pierwszy dzień praktyk</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Właśnie wróciłem z pierwszego dnia praktyk wakacyjnych w firmie &lt;a href="http://www.spartez.com/"&gt;Spartez.com&lt;/a&gt; :) Wrażeń było co niemiara, ale od początku :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Przyjechałem do firmy punktualnie o 8 (sam jestem zdziwiony, że udało mi się wstać :D) i narobiłem tym trochę zamieszania, bo nie było nikogo, kto by wiedział co mam robić albo gdzie siedzieć. Ale szybko udało się temu zaradzić i przyszedł czas na pierwsze zadanie - przygotowanie miejsca pracy. Byłem tak zestresowany pierwszym dniem, że do złożenia biurka podchodziłem 3 razy - ponoć do trzech razy sztuka... Gdy biurko w końcu stało trzeba było złożyć fotel (który nawiasem mówiąc spowodował wiele wiązanek, gdyż jest skórzany i wygląda jak fotel jakiegoś prezesa w banku :)) i tu znów pojawiły się problemy, ale metodą "małych kroczków i dużego młotka" udało się i z tym poradzić (choć ręce nadal mi dygotały). W czasie składania przyszła kolejna nowa osoba w zespole - student ETI imieniem Krzysiek.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Około godziny 10 przyszedł czas na Standup Meeting - mój pierwszy meeting scrumowy :) Wrażenia bardzo pozytywne i nie mogę się doczekać kolejnego :D Spotkanie było wyjątkowe, bo cała firma się zebrała, a to dlatego, żeby łatwiej nas (nowych) poznać z resztą zespołu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po standup'ie dowiedziałem się nad czym będę pracować przez najbliższe 3 miesiące i muszę powiedzieć, że projekt nie dość, że jest ciekawy technologicznie to w dodatku mi się spodobał i od samego początku przyjemnie mi się nad nim pracowało :) Reszta dnia upłynęła na robieniu ogromnego sajgonu na wirtualnej maszynie (Ubuntu + Eclipse x4 + Google App Engine Plugin to jakby samemu prosić się o kłopoty :D) i poznawaniu podstaw pracy z Google App Engine. W jednym z moich &lt;a href="http://akademiajavy.blogspot.com/2010/06/eclipse-helios-36-juz-jest.html"&gt;poprzednich wpisów&lt;/a&gt; pisałem o Eclipse Helios. Przygotowałem sobie specjalnie na dzisiaj czystą wersję, aby móc na nim pracować, ale spotkało mnie ogromne rozczarowanie - Google App Engine Plugin nie współpracuje z wersją Eclipse wyższą niż 3.5.x i trzeba było wrócić szybko do Galileo, a szkoda. Ale nawet to nie ostudziło mojego zapału do pracy :) Niestety o godzinie 15:30 padł prąd w całym budynku (awaria w Enerdze jak się później dowiedzieliśmy), która trwała prawie godzinę, tak więc po pewnym czasie zwinąłem się już do domu, bo nawet sieci nie było (a bez niej i tutoriali).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Podsumowując: tak jak byłem przerażony wizją praktyk wakacyjnych, tak teraz nie mogę się doczekać kiedy znów usiądę znów przy swoim biurku i będę mógł dalej pracować nad projektem! Ciekawe tylko jak długo takie nastawienie mi się utrzyma ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-217900072720845825?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/217900072720845825/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/pierwszy-dzien-praktyk.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/217900072720845825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/217900072720845825'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/07/pierwszy-dzien-praktyk.html' title='Pierwszy dzień praktyk'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-4550155218088922657</id><published>2010-06-28T23:37:00.000-07:00</published><updated>2010-06-28T23:47:20.580-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Cytaty #3 i materiały o Scrumie</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Przygotowując się do letnich praktyk muszę zapoznać się z podstawami Scruma. Do tego celu posłużyły mi dwa bardzo dobre, krótkie PDFy udostępniane przez firmę &lt;a href="http://www.poddrzewem.pl/"&gt;Pod Drzewem&lt;/a&gt; jako materiały ogólnodostępne:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.poddrzewem.pl/materialy-szkoleniowe/doc_download/1-scrum-podstawy"&gt;Scrum podstawy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.poddrzewem.pl/materialy-szkoleniowe/doc_download/21-przewodnik-po-metodyce-scrum"&gt;Przewodnik po metodyce Scrum&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W trakcie czytania tego drugiego dokumentu wyjaśniane jest kim są "świnki", a kim "kurczaki" przy pomocy krótkiej historyjki, którą pozwolę sobie przytoczyć:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Kurczak i świnka siedzieli sobie razem, gdy nagle kurczak powiedział: "Załóżmy restauracje!"&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Świnka zastanowiła się i zapytała: "A jak ją nazwiemy?"&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Kurczak odparł: "Jaja na boczku!"&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Na to świnka odrzekła: "O nie, dziękuje! Ty się tylko zaangażujesz, a ja - ja się poświęcę!"&lt;/i&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Praktyki już za dwa dni, tak więc trzeba wracać do pracy :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-4550155218088922657?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/4550155218088922657/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/cytaty-3-i-materiay-o-scrumie-dla.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4550155218088922657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4550155218088922657'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/cytaty-3-i-materiay-o-scrumie-dla.html' title='Cytaty #3 i materiały o Scrumie'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-1722094707382265361</id><published>2010-06-27T11:16:00.000-07:00</published><updated>2010-07-11T08:07:20.092-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse Helios'/><category scheme='http://www.blogger.com/atom/ns#' term='Java EE'/><title type='text'>Eclipse Helios (3.6) już jest!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na początku był &lt;a href="http://eclipse.org/callisto/"&gt;Callisto&lt;/a&gt; (2006), potem &lt;a href="http://eclipse.org/europa"&gt;Europa &lt;/a&gt;(2007), &lt;a href="http://eclipse.org/ganymede"&gt;Ganymede &lt;/a&gt;(2008), do niedawna &lt;a href="http://eclipse.org/galileo"&gt;Galileo&lt;/a&gt; (2009), a teraz mamy... &lt;a href="http://eclipse.org/helios"&gt;Heliosa&lt;/a&gt;! Za rok będzie Indigo, ale nim to nastąpi skupmy się na tym, co mamy teraz. Cztery dni temu (tj. 23.06) miało miejsce wydanie najnowszej wersji jednego z najlepszych IDE dla Javy (i nie tylko!) - Eclipse, którego opatrzono numerkiem 3.6. Co rzuciło mi się w oczy to znacznie szybszy start środowiska (specjalnie z tej okazji ściągnąłem Eclipse Galileo IDE for Java EE i nie instalowałem na nim żadnych pluginów) - to się nazywa dobre pierwsze wrażenie :) Sama zakładka Welcome również została przerobiona i sprawia wrażenie bardziej przemyślanej i lżejszej.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po kilku dłuższych chwilach zabawy z nowym Eclipsem zauważyłem bardzo ciekawą rzecz - Multi Quick Fix. Zamiast przy każdej naszej pomyłce wybierać metodę naprawy naszego błędu, w przypadku, gdy błędy w danym obszarze są identyczne, możemy wybrać możliwość zastosowania poprawki do wszystkich błędów jednocześnie. Niby mały szczegół, a już po chwili okazuje się bardzo pomocny :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/TCebRL0Ga3I/AAAAAAAAGB8/o5oxQiIQxAw/s1600/Quick+Fix.png"&gt;&lt;img src="http://4.bp.blogspot.com/_1cOqhuGJLjc/TCebRL0Ga3I/AAAAAAAAGB8/o5oxQiIQxAw/s400/Quick+Fix.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5487525390505634674" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 321px; height: 160px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dodatkowo z okazji wydania nowej wersji naszego ulubionego środowiska przygotowało kilka &lt;a href="http://eclipse.org/helios/demos.php"&gt;filmików&lt;/a&gt; prezentujących usprawnienia i nowości w poszczególnych modułach takich jak &lt;a href="http://live.eclipse.org/node/908"&gt;Java Development Tools (JDT)&lt;/a&gt;, &lt;a href="http://live.eclipse.org/node/911"&gt;Javaserver Faces (JSF) Tools&lt;/a&gt; czy &lt;a href="http://live.eclipse.org/node/909"&gt;PHP Development Tools (PDT)&lt;/a&gt;. Niestety filmiki są w słabej jakości i osobiście nie dotarłem do końca pierwszego filmiku za który się zabrałem, czyli JDT.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Najnowszą wersję środowiska można pobrać ze &lt;a href="http://eclipse.org/downloads/"&gt;strony producenta&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po pierwszych chwilach zachwytu czas wracać do nauki/pracy. Trochę czasu minie nim przystosuję Heliosa do mojego stylu pracy, ale już czuję w kościach, że nie będzie to czas zmarnowany :) Ciekaw jestem jak Wam drodzy czytelnicy przypadnie najnowsza wersja Eclipse do gustu :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-1722094707382265361?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/1722094707382265361/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/eclipse-helios-36-juz-jest.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1722094707382265361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1722094707382265361'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/eclipse-helios-36-juz-jest.html' title='Eclipse Helios (3.6) już jest!'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1cOqhuGJLjc/TCebRL0Ga3I/AAAAAAAAGB8/o5oxQiIQxAw/s72-c/Quick+Fix.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-8850766114622495762</id><published>2010-06-26T09:04:00.000-07:00</published><updated>2010-06-26T09:16:07.886-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Newsletter'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle Executive Outlines MySQL Strategy</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W dzisiejszym &lt;a href="http://dev.mysql.com/register/"&gt;MySQL Newsletter - Special Edition&lt;/a&gt; znalazła się bardzo interesująca pozycja - "Oracle Executive Outlines MySQL Strategy", 11 minutowy filmik Edwarda Screven'a, który opowiada o podejściu firmy Oracle do ich nowego produktu - MySQL. Screven przez cały czas podkreśla, że MySQL jest dla nich bardzo ważnym produktem, uzupełniający dotychczas tworzony przez Oracle &lt;a href="http://pl.wikipedia.org/wiki/LAMP"&gt;LAMP&lt;/a&gt;. Dzięki filmikowi dowiedziałem się o nowych wydaniach developerskich zarówno MySQL Community Server (wersja 5.5.3) jak i MySQL Workbench (wersja 5.2). Co najbardziej spodobało mi się w wypowiedzi przedstawiciela Oracle to prognozy włączenia i szerszej integracji MySQL z ich oprogramowaniem (np. możliwość tworzenia kopii zapasowych bazy danych nie będzie obejmować jedynie baz Oracle, ale już niedługo ma również obejmować bazy MySQL). Co z tych prognoz i obietnic wyjdzie - przekonamy się (sądzę, że już niedługo). Tymczasem zapraszam do obejrzenia opisywanego filmiku:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object id="flashObj" width="486" height="322" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"&gt;&lt;param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="flashVars" value="videoId=96381990001&amp;amp;playerID=1640183659&amp;amp;domain=embed&amp;amp;dynamicStreaming=true"&gt;&lt;param name="base" value="http://admin.brightcove.com"&gt;&lt;param name="seamlesstabbing" value="false"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="swLiveConnect" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1" bgcolor="#FFFFFF" flashvars="videoId=96381990001&amp;amp;playerID=1640183659&amp;amp;domain=embed&amp;amp;dynamicStreaming=true" base="http://admin.brightcove.com" name="flashObj" width="486" height="322" seamlesstabbing="false" type="application/x-shockwave-flash" allowfullscreen="true" swliveconnect="true" allowscriptaccess="always" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-8850766114622495762?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/8850766114622495762/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/oracle-executive-outlines-mysql.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8850766114622495762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8850766114622495762'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/oracle-executive-outlines-mysql.html' title='Oracle Executive Outlines MySQL Strategy'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5882957197004780215</id><published>2010-06-18T14:59:00.000-07:00</published><updated>2010-06-18T15:26:18.470-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Na wesoło'/><title type='text'>Cykl wytwarzania oprogramowania na wesoło</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sesja już za mną - wszystkie egzaminy zaliczone, teraz pozostaje jedynie czekać na wyniki i zbierać wpisy do indeksów. W związku z brakiem konieczności nauki mam wreszcie przygotować się trochę do wakacyjnych praktyk i w trakcie przeglądaniu materiałów z podstawami metodologii Scrum natrafiłem na rysunek ze strony &lt;a href="http://www.projectcartoon.com/"&gt;Project Cartoon&lt;/a&gt;. Zajrzałem na stronę i odkryłem, że jest dostępne &lt;a href="http://www.projectcartoon.com/cartoon/32"&gt;polskie tłumaczenie komiksu&lt;/a&gt;, a co jeszcze lepsze - &lt;a href="http://www.projectcartoon.com/create/"&gt;możliwość stworzenia własnego&lt;/a&gt;! Jestem wciąż pod wrażeniem beznadziejności projektu, który popełniłem na zaliczenie jednego z przedmiotu i natchnęło mnie to do stworzenia własnej wersji komiksu, opartej na moim akademickim doświadczeniu z projektami krótkoterminowymi:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/TBvuIS3VV4I/AAAAAAAAF9c/yDlvHmR0A_E/s1600/Etap+01.png"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: none; "&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/TBvuIS3VV4I/AAAAAAAAF9c/yDlvHmR0A_E/s1600/Etap+01.png"&gt;&lt;img src="http://4.bp.blogspot.com/_1cOqhuGJLjc/TBvuIS3VV4I/AAAAAAAAF9c/yDlvHmR0A_E/s400/Etap+01.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5484238797523998594" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 246px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/TBvuJJxhtDI/AAAAAAAAF9k/kr4r380CJ6U/s1600/Etap+02.png"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/TBvuJJxhtDI/AAAAAAAAF9k/kr4r380CJ6U/s400/Etap+02.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5484238812263593010" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 247px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/TBvuJTadU0I/AAAAAAAAF9s/NekRk2_dKio/s1600/Etap+03.png"&gt;&lt;img src="http://4.bp.blogspot.com/_1cOqhuGJLjc/TBvuJTadU0I/AAAAAAAAF9s/NekRk2_dKio/s400/Etap+03.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5484238814851191618" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 250px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/TBvyRX0msbI/AAAAAAAAF-E/f_iUiVg2kMs/s1600/Etap+04.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/TBvyRX0msbI/AAAAAAAAF-E/f_iUiVg2kMs/s400/Etap+04.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5484243351520063922" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 246px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/TBvuKALKEpI/AAAAAAAAF98/SSIQ9SgqWK8/s1600/Etap+05.png"&gt;&lt;img src="http://4.bp.blogspot.com/_1cOqhuGJLjc/TBvuKALKEpI/AAAAAAAAF98/SSIQ9SgqWK8/s400/Etap+05.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5484238826866610834" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 247px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Moja wersja komiksu jest również dostępna na &lt;a href="http://www.projectcartoon.com/cartoon/79947"&gt;stronie projektu&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To by było tyle z krótkiego relaksu, czas wracać do roboty! :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5882957197004780215?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5882957197004780215/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/cykl-wytwarzania-oprogramowania-na.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5882957197004780215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5882957197004780215'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/cykl-wytwarzania-oprogramowania-na.html' title='Cykl wytwarzania oprogramowania na wesoło'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1cOqhuGJLjc/TBvuIS3VV4I/AAAAAAAAF9c/yDlvHmR0A_E/s72-c/Etap+01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-254530137995416017</id><published>2010-06-16T14:51:00.000-07:00</published><updated>2010-06-16T15:22:31.586-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='PJUG'/><title type='text'>Podcast Java.pl #3</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sesja już prawie za mną i z przykrością stwierdzam, że mam z jej powodu niemałe zaległości w Blogsferze. Tym większa była moja radość, gdy dwa dni temu w czytniku RSS pojawiła się wiadomość o nowym (trzecim już) odcinku &lt;a href="http://podcast.java.pl/index.php/2010/06/14/java-pl-podcast-3-newscast/"&gt;Podcastu Java.pl&lt;/a&gt;! Tak jak do tej pory audycja ma charakter newscastu (o podziale na newscast i techcast pisałem w &lt;a href="http://akademiajavy.blogspot.com/2010/04/podcast-javapl-2-i-nadchodzace-eventy.html"&gt;tym poście&lt;/a&gt;), ale zapowiedziano, że pierwszy techcast zostanie nagrany już na dniach - trzymam za słowo i z niecierpliwością czekam, aż ujrzy on światło dzienne! :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Zachęcam do wysłuchania i dzielenia się opiniami z autorami audycji!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-254530137995416017?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/254530137995416017/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/podcast-javapl-3.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/254530137995416017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/254530137995416017'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/podcast-javapl-3.html' title='Podcast Java.pl #3'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-1516576980384703419</id><published>2010-06-10T05:50:00.000-07:00</published><updated>2010-06-10T05:57:00.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='infoShare'/><title type='text'>Materiały i galeria z infoShare 2010</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dziś światło dzienne ujrzały galeria oraz materiały z konferencji &lt;a href="http://infoshare.pl"&gt;infoShare 2010&lt;/a&gt;, która miała miejsce 13-14 maja br. na &lt;a href="http://pg.gda.pl/"&gt;Politechnice Gdańskiej&lt;/a&gt;. Choć mechanizm galerii wydaje mi się bardzo męczący, to i tak warto się pomęczyć, gdyż galeria jest naprawdę świetnie zrobiona (ciekawe ujęcia, każde zdjęcie dokładnie opisane). A oto linki:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://infoshare.pl/galeria2010"&gt;galeria&lt;/a&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://infoshare.pl/materialy2010"&gt;materiały&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-1516576980384703419?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/1516576980384703419/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/materiay-i-galeria-z-infoshare-2010.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1516576980384703419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1516576980384703419'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/materiay-i-galeria-z-infoshare-2010.html' title='Materiały i galeria z infoShare 2010'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-7529154280452196828</id><published>2010-06-09T02:34:00.000-07:00</published><updated>2010-06-09T02:41:34.749-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><title type='text'>Cytaty #2</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dzisiejszy dzień nie jest dobrym dniem - zbliża się koniec semestru, a co za tym idzie oddawanie projektów, zaliczenia laboratoriów etc. Jak znalazł całe to zamieszanie opisują panowie Jason Fried i David Hansson w swojej książce &lt;a href="http://www.amazon.com/Rework-Jason-Fried/dp/0307463745"&gt;"Rework"&lt;/a&gt; (którą dopisałem do swojej listy książkowego TODO):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;i&gt;Nasza kultura czci ideę pracoholizmu. Słyszymy o ludziach zarywających noc po nocy, spędzających całe doby w pracy i sypiających na podłodze w biurze. Punktem honoru jest paść na twarz na koniec projektu. Żadna ilość pracy nie jest zbyt wielka.&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nic dodać, nic ująć... Powodzenia w najbliższych 3 tygodniach dla studentów ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;P.S. Podziękowania dla &lt;a href="http://blog.japila.pl/"&gt;Jacka Laskowskiego&lt;/a&gt; za podzielenie się świetnym &lt;a href="http://biz.blox.pl/2010/06/Rework-pracoholizm-pomysly-lekkosc.html"&gt;artykułem&lt;/a&gt; :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-7529154280452196828?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/7529154280452196828/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/cytaty-2.html#comment-form' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/7529154280452196828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/7529154280452196828'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/06/cytaty-2.html' title='Cytaty #2'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-8751816925783444356</id><published>2010-05-31T14:54:00.000-07:00</published><updated>2010-06-03T08:00:16.274-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Developer&apos;s Journal'/><category scheme='http://www.blogger.com/atom/ns#' term='Java EE'/><category scheme='http://www.blogger.com/atom/ns#' term='SDJ'/><title type='text'>Lipcowy numer Software Developer's Journal</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ostatnio pismo &lt;a href="http://sdjournal.org/"&gt;Software Developer's Journal&lt;/a&gt; zmieniło strategię wydawania nowych numerów,- zrezygnowano z płatnej, papierowej wersji na rzecz bezpłatnej, elektronicznej. Co najciekawsze - do &lt;a href="http://lpmagazine.org/pl/magazine"&gt;Archiwum&lt;/a&gt; dodawane są kolejne numery SDJ z dawnych lat, które również są bezpłatne. Nie pozostaje nic tylko czytać i czytać :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Czemu &lt;a href="http://sdjournal.org/magazine/1101-dokad-zamierza-web-czyli-stad-do-matrixa"&gt;najnowszy numer SDJ&lt;/a&gt; tak mnie zainteresował? Z kilku powodów:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;Artykuł Marcina Lusy "Przegląd Java EE 6 - Czyli duża platforma w małym skrócie" porusza ciekawe kwestie takie jak (wspomniane również w &lt;a href="http://blog.japila.pl/2010/05/skrinkast-o-java-ee-6-z-webservlet.html"&gt;screencast'cie Jacka Laskowskiego&lt;/a&gt;) konfiguracja aplikacji za pomocą adnotacji, asynchroniczne przetwarzanie zadań, nowości w EJB 3.1 i JPA 2.0&lt;/li&gt;&lt;li&gt;"Dokąd zmierza Web. Czyli stąd do Matrixa" Marka Głowackiego opisuje w telegraficznym skrócie historię Web od 0.1 do 3.0 w bardzo przystępny sposób.&lt;/li&gt;&lt;li&gt;Dowiedziałem się, że w SDJ publikowany jest poradnik dla osób pragnących dobrze przygotować się do certyfikatu SCJP - w lipcowym numerze ukazała się IV część serii.&lt;/li&gt;&lt;li&gt;Pierwsza część kursu Pythona (nie wiem czemu, ale zawsze chciałem zobaczyć ten język w akcji, ale nigdy nie starczało na to czasu)&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W momencie, gdy redakcja SDJ ogłosiła zmianę strategii wydawania gazety zastanawiałem się co będzie z materiałami dołączanymi na płytach? Zapewniano, że materiały będą umieszczane na stronie magazynu i tak też faktycznie się stało! Pojawiły się cztery pierwsze odcinki kursu firmy &lt;a href="http://bnsit.pl/"&gt;BNS IT&lt;/a&gt; o podstawach Javy SE i EE. Osobiście jakiś czas temu przerabiałem ten kurs (wydano jego 6 z 12 docelowych części) i choć mogłoby być lepiej (a w wielu momentach nawet powinno) to kurs uważam za świetny wstęp do JEE, dzięki któremu sam zacząłem wreszcie bawić się tą platformą :) Kurs dostępny jest pod tym &lt;a href="http://softwarepres.website.pl/pliki/SDJ/Java_1.zip"&gt;adresem&lt;/a&gt; (400+ MB!).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Do usłyszenia!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-8751816925783444356?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/8751816925783444356/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/lipcowy-numer-software-developers.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8751816925783444356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8751816925783444356'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/lipcowy-numer-software-developers.html' title='Lipcowy numer Software Developer&apos;s Journal'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-7717938738098790956</id><published>2010-05-25T13:15:00.000-07:00</published><updated>2010-05-25T13:26:22.796-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='devBlogi'/><category scheme='http://www.blogger.com/atom/ns#' term='Cytaty'/><title type='text'>Cytaty #1</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lekko zażenowany swoim ostatnim wpisem zacząłem nadrabiać swoje braki w polskiej blogsferze. Czytając niektóre wpisy natrafiłem na dwa bardzo trafne stwierdzenia, które w gruncie rzeczy nie wymagają komentarza:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Sławomir Sobótka&lt;/b&gt; &lt;a href="http://art-of-software.blogspot.com/2009/03/w-co-sie-bawic.html"&gt;"W co się bawić"&lt;/a&gt;:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;i&gt;"Zastanawiam się, czy nie jest przypadkiem tak, ze środowisko Javowe jest cały czas na etapie onanizmu technicznego spowodowanego zalewem mniej lub bardziej udanych narzędzi, bibliotek i frameworków, które po prostu rozpraszają uwagę od kwestii na prawdę istotnych."&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Robert C. Martin&lt;/b&gt; (z wpisu Jakuba Nabdralika &lt;a href="http://blog.solidcraft.eu/2010/05/open-code-review.html"&gt;"Open Code Review"&lt;/a&gt;):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;i&gt;"Every good programmer should get used to professional code review. Bad programmers can benefit from it even better. And if you have some Prima Donnas in your team, unwilling to hear constructive critique to their code... screw them. Nobody's able to work with them anyways."&lt;/i&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Co jakiś czas będę umieszczał na blogu znalezione cytaty z trzech powodów:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;Są to (według mnie) naprawdę wartościowe słowa!&lt;/li&gt;&lt;li&gt;Ku pamięci&lt;/li&gt;&lt;li&gt;W imię bycia lepszym bloggerem idąc w ślad za &lt;a href="http://www.codinghorror.com/blog/2007/10/how-to-achieve-ultimate-blog-success-in-one-easy-step.html"&gt;&lt;b&gt;Jeffem Artwoodem&lt;/b&gt;&lt;/a&gt; :-)&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-7717938738098790956?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/7717938738098790956/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/cytaty-1.html#comment-form' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/7717938738098790956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/7717938738098790956'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/cytaty-1.html' title='Cytaty #1'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-8177796457541826456</id><published>2010-05-23T10:31:00.001-07:00</published><updated>2010-07-11T10:42:06.422-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='DataSource'/><category scheme='http://www.blogger.com/atom/ns#' term='JNDI'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Java EE'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Pierwsze próby z JNDI i DataSource</title><content type='html'>&lt;div style="text-align: left;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ostatnio wspominałem, że zacząłem swoją zabawę z Java Enterprise Edition. Aplikacja, którą piszę ma za zadanie komunikację z bazą danych i wyświetlać z niej wyniki. Nie było by problemu, gdybym w czasie tworzenia aplikacji korzystał z jednej bazy, a tak korzystam z trzech - lokalnej, na wirtualnym serwerze oraz znajdującej się na serwerach uczelnianych. Z początku po prostu zmieniałem parametry przy połączeniu via JDBC, ale takie rozwiązanie mnie nie satysfakcjonowało. Poczytałem trochę, popytałem i dowiedziałem się, że idealnym rozwiązaniem było by JNDI + DataSource. W sieci można znaleźć sporo informacji na ten temat (szczególnie w kontekście Springa, którym zajmę się dopiero za dłuższy czas), ale ja szukałem totalnego minimum i świadomości jak to działa. Z pomocą przyszedł &lt;a href="http://pawelcegla.eu/"&gt;Paweł Cegła&lt;/a&gt;, który pokazał mi praktyczne zastosowanie JNDI i DS w projekcie. Teraz krótko (za Pawła zgodą) opiszę jak najprościej i najszybciej skonfigurować naszą aplikację, aby uzyskać dostęp do bazy danych, a w przypadku zmian parametrów ograniczało się to zaledwie do edycji jednego pliku.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na początek tworzymy nowy projekt: &lt;i&gt;File -&gt; New -&gt; Dynamic Web Project&lt;/i&gt;. Ja nadałem projektowi nazwę "JNDI_and_DS" i moja konfiguracja wygląda następująco:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/S_lvEhsXUYI/AAAAAAAAF6Y/GToXGSlkY6s/s1600/2010-05-23+13-02-58.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/S_lvEhsXUYI/AAAAAAAAF6Y/GToXGSlkY6s/s200/2010-05-23+13-02-58.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5474528945600156034" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 148px; height: 200px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Po stworzeniu projektu ma on następującą strukturę:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/S_lvFEd3GmI/AAAAAAAAF6g/EJT4Z0NEdkI/s1600/2010-05-23+13-04-59.png"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/S_lvFEd3GmI/AAAAAAAAF6g/EJT4Z0NEdkI/s200/2010-05-23+13-04-59.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5474528954934565474" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 185px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Dane konfiguracyjne aplikacji webowej umieszczamy w katalogu&lt;i&gt; WebContent -&gt; META-INF&lt;/i&gt;. Należy w nim utworzyć plik XML i nazwać go dokładnie &lt;b&gt;context.xml&lt;/b&gt;:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/S_lvdhADyoI/AAAAAAAAF64/BQXWt29PSUc/s1600/2010-05-23+13-05-33.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/S_lvdhADyoI/AAAAAAAAF64/BQXWt29PSUc/s200/2010-05-23+13-05-33.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5474529374911056514" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 175px; height: 200px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Konfiguracja kontekstu aplikacji (bo o nim mowa) w najprostszej postaci wygląda następująco:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/S_lvFWSwblI/AAAAAAAAF6o/C96-UGunkCw/s1600/2010-05-23+19-30-08.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/S_lvFWSwblI/AAAAAAAAF6o/C96-UGunkCw/s200/2010-05-23+19-30-08.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5474528959719829074" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 108px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Jak widać składa się na nią kilka elementów:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;całość jest zawarta między znacznikami &lt;i&gt;Context &lt;/i&gt;z parametrem path określającym ścieżkę (tzw. &lt;i&gt;context path&lt;/i&gt;) do naszej aplikacji (należy pamiętać o znaku '/'!)&lt;/li&gt;&lt;li&gt;pojedynczy zasób jest określony w obrębie znaczników &lt;i&gt;Resource&lt;/i&gt; &lt;resource&gt;&lt;/resource&gt;i posiada liczne atrybuty:&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;name&lt;/i&gt; - na podstawie tej nazwy będziemy wyszukiwać naszą konfigurację w kontekście aplikacji&lt;/li&gt;&lt;li&gt;&lt;i&gt;auth&lt;/i&gt; - tu do wyboru mamy &lt;i&gt;"Application"&lt;/i&gt; lub &lt;i&gt;"Container"&lt;/i&gt;. Ta druga opcja wskazuje, że w imieniu naszej aplikacji to kontener, w którym jest uruchamiana będzie zarządzał połączeniami z bazą danych i całym DataSource&lt;/li&gt;&lt;li&gt;&lt;i&gt;type&lt;/i&gt; - ty wpisujemy jakiego typu zasób będziemy pobierać z kontekstu aplikacji odwołując się do jego nazwy (my chcemy DataSource, więc wpisujemy &lt;i&gt;javax.sql.DataSource&lt;/i&gt;)&lt;/li&gt;&lt;li&gt;&lt;i&gt;maxActive&lt;/i&gt; - maksymalna ilość połączeń w obrębie DataSource z bazą danych. Musi zgadzać się z konfiguracją samej bazy danych&lt;/li&gt;&lt;li&gt;&lt;i&gt;maxIdle&lt;/i&gt; - maksymalna ilość tzw. uśpionych połączeń. Temat omówię w dalszej części posta&lt;/li&gt;&lt;li&gt;&lt;i&gt;maxWait&lt;/i&gt; - ilość czasu (w ms), jaką maksymalnie aplikacja oczekiwać będzie na odpowiedź serwera baz dancyh&lt;/li&gt;&lt;li&gt;&lt;i&gt;username&lt;/i&gt; - nazwa użytkownika w systemie baz danych&lt;/li&gt;&lt;li&gt;&lt;i&gt;password&lt;/i&gt; - hasło wyżej wymienionego użytkownika&lt;/li&gt;&lt;li&gt;&lt;i&gt;driverClassName&lt;/i&gt; - pełna ścieżka do pliku sterownika, za pomocą którego będzie wykonywane połączenie (ja korzystam z biblioteki JDBC i bazy MySQL, więc sterownik ten znajduje się w &lt;i&gt;com.mysql.jdbc.Driver&lt;/i&gt;)&lt;/li&gt;&lt;li&gt;&lt;i&gt;url&lt;/i&gt; - ścieżka dostępu do naszej bazy danych (wraz z jej nazwą)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Jeśli wypełnimy poprawnie wszystkie te pola, możemy przystąpić do napisania servletu, który za pomocą DataSource będzie komunikować się z naszą bazą danych. Ja przyjąłem wariant, w którym stworzyłem servlet, z którego będą dziedziczyć wszystkie servlety współpracujące z bazą danych, więc sam obiekt DataSource jest polem tejże klasy, a w metodzie init wyszukuję w kontekście aplikacji DataSource. Jak to mówią - raz a porządnie :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wygląda to mniej więcej tak:&lt;/div&gt;&lt;br /&gt;&lt;pre name="code" class="brush: java;"&gt;&lt;br /&gt;public void init(ServletConfig config) throws ServletException {&lt;br /&gt; super.init();&lt;br /&gt;&lt;br /&gt; try {&lt;br /&gt;  InitialContext context = new InitialContext();&lt;br /&gt;  dataSource = (DataSource) context&lt;br /&gt;    .lookup("java:/comp/env/jdbc/JNDI_and_DS");&lt;br /&gt; } catch (NamingException e) {&lt;br /&gt;  throw new ServletException("Problem z JNDI i DS");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Dziwne może wydawać się może, że szukamy referencji do DataSource (metoda lookup) pod inną nazwą niż ustawiliśmy w konfifuracji. Otóż na serwerze Tomcat 6, kontekst aplikacji znajduje się pod adresem "java:/comp/env/". Niestety jest to inna ścieżka na różnych serwerach aplikacji.&lt;/div&gt;&lt;br /&gt;Do pełni szczęścia brakuje nam już tylko dodanie biblioteki MySQL Connector/J (wersja JDBC ze sterownikiem do baz danych MySQL) do katalogu lib w katalogu, w którym znajduje się serwer Tomcat 6 i już!&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W przypadku aplikacji napisanej przeze mnie (link do projektu Eclipse zamieściłem na końcu posta) poprawna konfiguracja i uruchomienie aplikacji objawia się takim komunikatem:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style=" ;font-size:16px;"&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/S_lvFkWdzLI/AAAAAAAAF6w/FRW5_N4oS_M/s1600/2010-05-23+19-31-01.png"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/S_lvFkWdzLI/AAAAAAAAF6w/FRW5_N4oS_M/s200/2010-05-23+19-31-01.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5474528963493481650" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 108px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cały czas wspominam o DataSource, ale wciąż nie wytłumaczyłem co to tak naprawdę jest. Otóż jest to obiekt, który w naszym imieniu przechowuje pulę połączeń (tzw. connection pooling) oraz pomaga w procesie transakcji. W przypadku naszej prostej aplikacji daje nam to ten komfort, że jesteśmy w stanie określić wszystkie parametry związane z połączeniami oraz dochodzi element związany z wydajnością. W momencie kiedy kontener tworzy obiekt DataSource, przypisuje mu kilka tzw. uśpionych połączeń (idle connections). Dzięki temu, kiedy nasza aplikacja chce połączyć się z bazą danych, połączenie nie jest tworzone (a jest to proces dosyć czasochłonny, szczególnie w MySQL'u), a jedynie pobierane z puli i udostępniane. Kiedy kończymy pracę z danym połączeniem wraca ono do puli i czeka na ponowne użycie.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A teraz kilka linków:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://docs.google.com/leaf?id=0B-zYKFxd1w97NzhjNDE3MTktYjEyMy00MWRjLTk2NzctYmZlY2VlMDNiMDE4&amp;amp;hl=pl"&gt;Projekt Eclipse&lt;/a&gt; (wraz z skryptem SQL do utworzenia bazy danych i zapełnienia jej danymi)&lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/products/jndi/tutorial/ldap/connect/pool.html"&gt;Słów kilka o connection pooling'u&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html"&gt;Przykład z JNDI i DataSource na oficjalnej stronie serwera Tomcat&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tomcat.apache.org/tomcat-5.5-doc/config/context.html"&gt;Trochę informacji o kontekście aplikacji uruchamianej na serwerze Tomcat&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dev.mysql.com/downloads/connector/j/"&gt;Sterownik JDBC dla bazy MySQL&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Mam nadzieję, że wpis się komuś przyda :) Zachęcam do komentowania i do usłyszenia w kolejnym poście!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-8177796457541826456?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/8177796457541826456/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/pierwsze-proby-z-jndi-i-datasource.html#comment-form' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8177796457541826456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8177796457541826456'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/pierwsze-proby-z-jndi-i-datasource.html' title='Pierwsze próby z JNDI i DataSource'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1cOqhuGJLjc/S_lvEhsXUYI/AAAAAAAAF6Y/GToXGSlkY6s/s72-c/2010-05-23+13-02-58.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3927061492054008835</id><published>2010-05-15T14:57:00.000-07:00</published><updated>2010-05-17T08:26:14.145-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='GeeCON'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='infoShare'/><title type='text'>Wrażenia z infoShare 2010</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nie udało mi się pojechać na tegorocznego &lt;a href="http://2010.geecon.org/main/home"&gt;GeeCON'a&lt;/a&gt;, więc udałem się jak w zeszłym roku na darmową konferencję o tematyce IT, która miała miejsce 13-14 maja, a która jest organizowana na &lt;a href="http://www.eti.pg.gda.pl/"&gt;Wydziale Elektroniki, Telekomunikacji i Informatyki&lt;/a&gt; &lt;a href="http://www.pg.gda.pl/"&gt;Politechniki Gdańskiej&lt;/a&gt; - &lt;a href="http://infoshare.pl/"&gt;infoShare 2010&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Zacznę dosyć nietypowo, bo od podsumowania plusów i minusów:&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + podzielenie prelekcji na dwie ścieżki - miękką i twardą&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + świetni prelegenci (np. &lt;a href="http://art-of-software.blogspot.com/"&gt;Sławomir Sobótka&lt;/a&gt; z firmy &lt;a href="http://academy.bottega.com.pl/"&gt;Bottega&lt;/a&gt;, czy Marek Sokołowski z &lt;a href="http://www.oracle.com/global/pl/index.html"&gt;Oracle&lt;/a&gt;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + pyszny dzik (i nie tylko) w sopockim klubie &lt;a href="http://www.klubatelier.pl/"&gt;Atelier &lt;/a&gt;:)&lt;/div&gt;&lt;div style="text-align: justify;"&gt; - brak gadżetów (ani nawet notatnika i długopisu do robienia notatek)&lt;/div&gt;&lt;div style="text-align: justify;"&gt; - niedobra kawa (i brak Red Bulla)&lt;/div&gt;&lt;div style="text-align: justify;"&gt; - brak weryfikacji przy rejestracji&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A teraz po kolei, od początku...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Dzień 1 - konferencja&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Tutaj niewiele uda mi się napisać. Zajęcia na uczelni i inne obowiązki skutecznie uniemożliwiły mi przybycie na dłużej niż na zarejestrowanie. W drodze na konferencję zachodziłem w głowę w którym budynku odbędzie się konferencja, gdyż w przeciwieństwie do zeszłego roku nie rozwieszono żadnych plakatów ani wskazówek (może poza 2 w samym budynku) gdzie należy się udać. Intuicja mnie nie zawiodła, ale z tego co się dowiedziałem niejedna osoba udała się do starego gmachu. Przy rejestracji zdziwiło mnie kilka rzeczy. Pierwsza to fakt, że poza powiedzeniem swojego nazwiska nie musiałem nic robić. Nie było żadnej listy, żadnego sprawdzenia dokumentu tożsamości - każdy mógł podejść i zabrać tak naprawdę jakikolwiek identyfikator, jeśli tylko zdążył przeczytać z niego nazwisko... Oprócz identyfikatora otrzymałem plan konferencji i... nic więcej! Nawet o ankietę musiałem ubiegać się następnego dnia, gdyż wydrukowano ich za mało.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Dzień 1 - integracja&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O godzinie 20:00 w sopockim klubie &lt;a href="http://www.klubatelier.pl/"&gt;Atelier &lt;/a&gt;rozpoczynała się impreza integracyjna. Zjawiłem się z dwójką znajomych skuszeni wizją kolacji z dzika :) Od praktycznie samego początku serwowano dania na ciepło, zimno, zakąski - każde z dań, którego próbowałem naprawdę mi smakowały. Nie było niestety muzyki przez dłuższy czas, co było trochę dziwnym uczuciem. Strasznie spodobała mi się reakcja pań, które siedziały naprzeciwko nas, gdy na salę wniesiono dzika - Żałuję, że nie miałem już wtedy wyjętego aparatu :D Skłamałbym, gdybym napisał, że mi nie smakowało i to bardzo :) Z uwagi na masę roboty musiałem dosyć wcześnie wyjść, ale i tak uznaję wieczór za bardzo udany. Dzięki chłopaki!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Dzień 2 - ścieżka twarda&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dzień drugi zacząłem od prelekcji &lt;a href="http://art-of-software.blogspot.com/"&gt;Sławomira Sobótki&lt;/a&gt; pt. "Software Craftsmanship - Język wzorców projektowych językiem profesjonalistów.". Niestety prelekcja okazała się powtórką z &lt;a href="http://2010.4developers.org.pl/"&gt;4Developers&lt;/a&gt; (miałem nadzieję, na choć drobne rozszerzenie treści lub może pójście trochę inną drogą), nawet żarty były te same ;) Co najciekawsze Sławek jest tak świetnym prelegentem, że ani przez chwilę nie byłem znudzony, wręcz przeciwnie. Wiele rzeczy utrwaliło mi się w głowie, do kilku wreszcie po przemyśleniu się przekonałem (o czym mam nadzieję niedługo napiszę na blogu). Bardzo dobra prelekcja, z której jestem bardzo zadowolony.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po prelekcji o rzemiośle przyszedł czas na wystąpienie przedstawiciela firmy &lt;a href="http://www.oracle.com/global/pl/index.html"&gt;Oracle&lt;/a&gt; - Marka Sokołowskiego, który wygłosił wykład na temat "Świat danych poza bazą". Byłem wprost zachwycony prezentacją! Od samego początku mnóstwo przykładów, analogii, krótki wyjaśnień pojęć i technologii. Ale to, co najbardziej rzuciło mi się w oczy, to sposób, w jaki Marek przedstawiał swój temat. Gdy robił ruch ręką w prawo - publika patrzyła w prawo, gdy w lewo - publiczność zwracała głowy w lewo. Ciągła gestykulacja, nienaganna dykcja, pasja - w skrócie rewelacja. Dodać trzeba, że temat został tak przystępnie przedstawiony, że nawet osoba, która nie pracowała w życiu zawodowym lub akademickim z bazami danych bez problemu zrozumiała by ideę prezentacji. Dla mnie #1 konferencji! :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po &lt;a href="http://www.oracle.com/global/pl/index.html"&gt;Oracle&lt;/a&gt; było już tylko gorzej. Prezentacja &lt;a href="http://www.ibm.com/pl/pl/"&gt;IBM&lt;/a&gt; pt. "Od krosna Jacquarda do architektury hybrydowej - architektura systemów wczoraj i dziś." Piotra Pietrzaka okazała się w znacznej części (jak nie większości) reklamą sponsora. Przez to zachwalanie firmy IBM prezenterowi pozostało bardzo mało czasu na konkretne informacje, które chciał nam, słuchaczom, przekazać, co spowodowało niepotrzebny pośpiech, skracanie myśli i ogólny chaos. Czegoś takiego spodziewałbym się na sesji plakatowej, a nie na technicznej prelekcji...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Największe nadzieje dnia wiązałem z wykładem na temat sieci semantycznych, który okazał się moim osobistym największym rozczarowaniem dnia. Widać było, że prelegent ma spore doświadczenie w temacie, wie co przekazać. Czego zabrakło? Może lepszego sposobu przekazania wiedzy? Przez całą prezentację miałem wrażenie jakbym siedział na wykładzie na uczelni, miało to posmak akademicki. Było dużo ogólników, ciężko było wyłapać co z tego jest najważniejsze, co prelegent chce przekazać. Po tym wykładzie byłem już tak wymęczony, że postanowiłem nie zostawać na "Nowości w Silverlight 4" i po oddaniu ankiety pojechałem do domu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pomimo kilku większych (z mojego punktu widzenia) potknięć udział w konferencji uważam za udany. Nawet jeśli czasem z jakiejś prezentacji nie wyniosłem konkretnych nowych informacji, to zawsze tworzyły się nowe pomysły, przemyślenia, wnioski. Jestem ciekaw co (i czy w ogóle) organizatorzy przygotują na przyszły rok :) Poniżej kilka (dosłownie) fotek z konferencji i imprezy:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.pl/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.pl&amp;amp;noautoplay=1&amp;amp;hl=pl&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.pl%2Fdata%2Ffeed%2Fapi%2Fuser%2Fdarkstariw%2Falbumid%2F5471618219670229217%3Falt%3Drss%26kind%3Dphoto%26hl%3Dpl" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A skoro jesteśmy już w temacie zdjęć z konferencji - w czwartek ukazał się album zdjęć z konferencji GeeCON, która odbywała się w tym tygodniu w Poznaniu. Album jest dostępny pod tym adresem: &lt;a href="http://picasaweb.google.com/geecon.org/GeeCON2010#"&gt;http://picasaweb.google.com/geecon.org/GeeCON2010&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3927061492054008835?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3927061492054008835/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/wrazenia-z-infoshare-2010.html#comment-form' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3927061492054008835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3927061492054008835'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/wrazenia-z-infoshare-2010.html' title='Wrażenia z infoShare 2010'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-6325952156490710219</id><published>2010-05-09T07:01:00.000-07:00</published><updated>2010-05-09T08:08:59.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Eclipse SQL Explorer - Instalacja i konfiguracja</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Od jakiegoś czasu zacząłem prace nad aplikacją w JEE, której główną funkcją ma być komunikacja z bazą danych. Z powodu prostoty instalacji i zarządzania serwerem jak i bazami danych (oraz malutkim doświadczeniem) zdecydowałem się na MySQL Community Server w wersji 5. Przez pewien czas wszystko było dobrze, ale w pewnym momencie przełączanie się między narzędziami do obsługi bazą danych, a Eclipsem stało się męczące (szczególnie, że w domyśle baza będzie znajdować się na wirtualnym serwerze), więc postanowiłem poszukać jakiegoś rozwiązania. Po kilku chwilach spędzonych z wujkiem Google wybrałem plugin do Eclipse - SQL Explorer. Dzisiaj skoncentruje się na jego instalacji (w wersji plugin, gdyż SQL Explorer występuje również w wersji niezależnej aplikacji) oraz konfiguracji pod kątem baz MySQL. A więc zaczynamy!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pierwsze co musimy zrobić to zainstalować plugin. Są dwie możliwości - poprzez repozytorium na SourceForge lub z archiwum. Wybrałem tą pierwszą, gdyż  z archiwum miałem niemałe problemy. W Eclipse wybieramy z menu &lt;i&gt;Help -&gt; Install New Software&lt;/i&gt;:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/S-bCdRxlLZI/AAAAAAAAF2o/jBnriGIs_-c/s1600/2010-05-09+14-49-50.png"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/S-bCdRxlLZI/AAAAAAAAF2o/jBnriGIs_-c/s200/2010-05-09+14-49-50.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469272605731401106" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 179px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W oknie Install klikamy na &lt;i&gt;Add&lt;/i&gt; i wprowadzamy następujące dane:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_1cOqhuGJLjc/S-bCxxmyH9I/AAAAAAAAF2w/ddBJ1Gc3_1s/s1600/2010-05-09+15-18-50.png"&gt;&lt;img src="http://2.bp.blogspot.com/_1cOqhuGJLjc/S-bCxxmyH9I/AAAAAAAAF2w/ddBJ1Gc3_1s/s200/2010-05-09+15-18-50.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469272957873430482" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 77px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wybieramy Eclipse SQL Explorer i klikamy &lt;i&gt;Next&lt;/i&gt;. Akceptujemy warunki licencji i klikamy &lt;i&gt;Finish&lt;/i&gt;. W trakcie instalacji naszym oczom ukaże się poniższy komunikat:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/S-bHFVumu0I/AAAAAAAAF3A/Rh2ZDUpbpso/s1600/2010-05-09+15-23-42.png"&gt;&lt;img src="http://4.bp.blogspot.com/_1cOqhuGJLjc/S-bHFVumu0I/AAAAAAAAF3A/Rh2ZDUpbpso/s200/2010-05-09+15-23-42.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469277692033940290" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 62px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Klikamy &lt;i&gt;OK&lt;/i&gt; i zaznaczamy, że ufamy certyfikatowi Eclipse.org Foundation .Czekamy do końca instalacji, która powinna zakończyć się komunikatem:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_1cOqhuGJLjc/S-bHFIzJWwI/AAAAAAAAF24/tGvE-0NEOIU/s1600/2010-05-09+15-22-44.png"&gt;&lt;img src="http://2.bp.blogspot.com/_1cOqhuGJLjc/S-bHFIzJWwI/AAAAAAAAF24/tGvE-0NEOIU/s200/2010-05-09+15-22-44.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469277688563325698" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 62px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Zgadzamy się klikając na &lt;i&gt;Yes&lt;/i&gt; i czekamy aż Eclipse ponownie się uruchomi. Po ponownym uruchomieniu się naszego IDE wybieramy nową perspektywę - &lt;b&gt;SQL Explorer&lt;/b&gt; (widoczną jedynie, gdy instalacja przejdzie pomyślnie):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_1cOqhuGJLjc/S-bHQOKFwYI/AAAAAAAAF3I/7UvHtyc4daw/s1600/2010-05-09+15-26-00.png"&gt;&lt;img src="http://2.bp.blogspot.com/_1cOqhuGJLjc/S-bHQOKFwYI/AAAAAAAAF3I/7UvHtyc4daw/s200/2010-05-09+15-26-00.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469277878980297090" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 158px; height: 200px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Naszym oczom ukaże się coś takiego:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/S-bHuVwpDFI/AAAAAAAAF3Q/xF0xJyW437Y/s1600/2010-05-09+15-26-48.png"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/S-bHuVwpDFI/AAAAAAAAF3Q/xF0xJyW437Y/s200/2010-05-09+15-26-48.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469278396417117266" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 125px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Przechodzimy do &lt;i&gt;Window -&gt; Preferences -&gt; SQL Explorer&lt;/i&gt; i wybieramy &lt;i&gt;JDBC Drivers&lt;/i&gt;:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/S-bHugap01I/AAAAAAAAF3Y/j9JjXyzyJUQ/s1600/2010-05-09+15-28-57.png"&gt;&lt;img src="http://4.bp.blogspot.com/_1cOqhuGJLjc/S-bHugap01I/AAAAAAAAF3Y/j9JjXyzyJUQ/s200/2010-05-09+15-28-57.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469278399277683538" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 187px; height: 200px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na tym etapie dostępny jest jedynie sterownik ogólny JDBC ODBC Brigde. Wybieramy z listy &lt;i&gt;MySQL Driver&lt;/i&gt; i klikamy &lt;i&gt;Edit&lt;/i&gt;. Z zakładce &lt;i&gt;Extra Class Path&lt;/i&gt; klikamy na &lt;i&gt;Add JARs...&lt;/i&gt; i wybieramy &lt;b&gt;MySQL Connector/J&lt;/b&gt; (do ściągnięcia ze strony &lt;a href="http://dev.mysql.com/usingmysql/java/"&gt;MySQL.com&lt;/a&gt;). W polu &lt;i&gt;Driver Class Name&lt;/i&gt; wpisujemy ścieżkę do sterownika, czyli &lt;b&gt;com.mysql.jdbc.Driver&lt;/b&gt;. Powinno to wyglądać następująco:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/S-bHvAQypsI/AAAAAAAAF3g/1C_8RnhGRU4/s1600/2010-05-09+15-30-38.png"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/S-bHvAQypsI/AAAAAAAAF3g/1C_8RnhGRU4/s200/2010-05-09+15-30-38.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469278407826253506" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 117px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po kliknięciu &lt;i&gt;OK&lt;/i&gt; na liście sterowników MySQL powinien teraz mieć status dostępnego (ptaszek po lewej od nazwy), więc zaznaczamy go i klikamy na &lt;i&gt;Set Default&lt;/i&gt;, a potem &lt;i&gt;OK&lt;/i&gt;, aby zamknąć okno Preferences. W oknie Connections klikamy na ikonę &lt;i&gt;Create New Connection Profile&lt;/i&gt;, gdzie zamiast &lt;hostname&gt; wpisujemy adres naszej bazy danych (u mnie jest to localhost), w miejscu &lt;port&gt; numer portu, na którym nasłuchuje nasz serwer (standardowo jest to 3306), a w miejsce &lt;dbname&gt; nazwę bazy danych, z którą chcemy się połączyć. Okno powinno wyglądać podobnie do tego:&lt;/dbname&gt;&lt;/port&gt;&lt;/hostname&gt;&lt;/div&gt;&lt;div&gt;&lt;hostname&gt;&lt;port&gt;&lt;dbname&gt;&lt;br /&gt;&lt;/dbname&gt;&lt;/port&gt;&lt;/hostname&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_1cOqhuGJLjc/S-bHvh4hf1I/AAAAAAAAF3o/iVP8xi4DpGs/s1600/2010-05-09+15-32-25.png"&gt;&lt;img src="http://4.bp.blogspot.com/_1cOqhuGJLjc/S-bHvh4hf1I/AAAAAAAAF3o/iVP8xi4DpGs/s200/2010-05-09+15-32-25.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469278416851271506" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 154px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Klikamy &lt;i&gt;OK&lt;/i&gt; i z listy rozwijanej naszego połączenia wybieramy naszego użytkownika. Klikamy na &lt;i&gt;Connect&lt;/i&gt; po czym ukazuje nam się okno zalogowania do bazy:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/S-bIGCwUEKI/AAAAAAAAF3w/sOmYni4jIpU/s1600/2010-05-09+15-34-59.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/S-bIGCwUEKI/AAAAAAAAF3w/sOmYni4jIpU/s200/2010-05-09+15-34-59.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469278803632328866" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 130px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wprowadzamy hasło i klikamy &lt;i&gt;OK&lt;/i&gt;. Jeśli wszystko pójdzie dobrze naszym oczom powinien ukazać się mniej więcej taki widok:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_1cOqhuGJLjc/S-bIOgoOqRI/AAAAAAAAF34/RUmKJS41foQ/s1600/2010-05-09+15-35-57.png"&gt;&lt;img src="http://1.bp.blogspot.com/_1cOqhuGJLjc/S-bIOgoOqRI/AAAAAAAAF34/RUmKJS41foQ/s200/2010-05-09+15-35-57.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5469278949090437394" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 200px; height: 125px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Gotowe! Teraz nie pozostaje nic innego jak wracać do właściwej pracy :) W dalszych postach postaram się opisać korzystanie z SQL Explorer. Zachęcam do komentowania i wyrażania swojego zdania :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-6325952156490710219?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/6325952156490710219/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/eclipse-sql-explorer-instalacja-i.html#comment-form' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6325952156490710219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6325952156490710219'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/05/eclipse-sql-explorer-instalacja-i.html' title='Eclipse SQL Explorer - Instalacja i konfiguracja'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1cOqhuGJLjc/S-bCdRxlLZI/AAAAAAAAF2o/jBnriGIs_-c/s72-c/2010-05-09+14-49-50.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-1096262557976521991</id><published>2010-04-26T08:46:00.000-07:00</published><updated>2010-04-26T09:19:28.226-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='Javarsovia'/><category scheme='http://www.blogger.com/atom/ns#' term='infoShare'/><category scheme='http://www.blogger.com/atom/ns#' term='PJUG'/><category scheme='http://www.blogger.com/atom/ns#' term='4Developers'/><title type='text'>Podcast Java.pl #2 i nadchodzące eventy</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nie pisałem na blogu już 2 tygodnie, a jest to duże zaniechanie z mojej strony - gomenesai! :) Tak jak &lt;a href="http://akademiajavy.blogspot.com/2010/04/dzieje-sie-ostatnio-oj-dzieje.html"&gt;ostatnio&lt;/a&gt; dużo się dzieje, niestety nie tak informatycznie jakbym chciał. Ale z żeby nie przynudzać o tym co ostatnio i niedługo:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1) Wyszedł 2 odcinek &lt;a href="http://podcast.java.pl/index.php/2010/04/22/java-pl-podcast-2-newscast/"&gt;podcastu Java.pl&lt;/a&gt;! Od tegoż odcinka twórcy postanowili podzielić podcast na dwie części: newscast - mówiący o nowościach w Blogsferze i wydarzeniach społecznościowych około Javowywch (JUG'i, konferencje, warsztaty etc.) oraz techcast - dłuższa odsłona podcastu mająca na celu przybliżenie wybrane tematy technologiczne. Bardzo pozytywnie zaskoczyła mnie reakcja redaktorów na feedback słuchaczy - wszystkie niuanse zostały bardzo dobrze rozwiązane (jak np. niedziałający poprawnie RSS, czy dziwnie zmienny poziom głośności). Całość jest zwięzła i bardzo dobrze poprowadzona. Osobiście mam zamiar być stałym słuchaczem, gdyż jak się ponownie okazało w trakcie słuchania drugiego odcinka w codziennym biegu i zamieszaniu wiele ciekawych informacji zwyczajnie mi umyka, a tak mam powtórną okazję na zapoznanie się z nimi.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2) Zbliżające się konferencje. W zeszłym tygodniu ruszyły zapisy na ciekawą konferencję akademicką - &lt;a href="http://infoshare.pl/"&gt;inforShare 2010&lt;/a&gt; - mająca miejsce 13-14 maja. Nie jest to może wydarzenie najwyższych lotów, ale skoro jest tak blisko warto wybrać się na kilka wykładów. W tym roku nowością jest rozłożenie konferencji na dwa dni oraz podział prelekcji na dwie ścieżki - miękką i twardą. Bardzo duże nadzieje wiąże z wykładem &lt;a href="http://art-of-software.blogspot.com/"&gt;Sławomira Sobótki&lt;/a&gt; (który nawiasem mówiąc kandyduje do miana &lt;a href="http://www.dworld.pl/post/show/Plebiscyt_na_najlepszego_polskiego_prelegenta_Javowego"&gt;najlepszego polskiego prelegenta&lt;/a&gt;), który podobnie jak na konferencji &lt;a href="http://2010.4developers.org.pl/"&gt;4Developers&lt;/a&gt; będzie opowiadać o Software Craftsmanship. Aż nie mogę się doczekać! Konferencja jest całkowicie darmowa także gorąco zachęcam do &lt;a href="http://infoshare.pl/user/register"&gt;rejestracji&lt;/a&gt;!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Zbliża się cykl konferencji firmy Microsoft - IT Academic Day. Niestety wciąż nie ma informacji o Gdańskiej odsłonie, ale mam nadzieję, że lada chwila się pojawi. Informacji należy szukać na serwisie &lt;a href="http://codeguru.pl/"&gt;CodeGuru.pl&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wiadomo już na 100%, że nie uda mi się pojechać na &lt;a href="http://2010.geecon.org/main/home"&gt;GeeCON&lt;/a&gt; (:(), a &lt;a href="http://www.javarsovia.pl/"&gt;Javarsovia&lt;/a&gt; (która ma miejsce 26 czerwca w Warszawie) jest wciąż pod znakiem zapytania. Mam nadzieję, że się uda, bo w obecnym stanie trochę mało Javowo kończy się ten semestr...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;[Off-Topic]&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na blogu pojawiła się zakładka SoundCloud. Dla osób lubiących słuchać muzyki z Internetu i dzielić się wrażeniami super sprawa. Szczególnie gorąco polecam osobom lubiącym muzykę Drum'n'Bass :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;[/Off-Topic]&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na dzisiaj to tyle. Zachęcam gorąco do komentowania i do zobaczenia następnym razem!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-1096262557976521991?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/1096262557976521991/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/04/podcast-javapl-2-i-nadchodzace-eventy.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1096262557976521991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1096262557976521991'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/04/podcast-javapl-2-i-nadchodzace-eventy.html' title='Podcast Java.pl #2 i nadchodzące eventy'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-1042421505875121782</id><published>2010-04-12T13:41:00.000-07:00</published><updated>2010-04-12T13:47:34.047-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='4Developers'/><title type='text'>Zdjęcia z 4Developers 2010 już są!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dzisiaj na RSS 4Developers pojawiła się informacja o umieszczeniu oficjalnej galerii konferencji. Całość liczy 231 zdjęć, a ja znalazłem się tylko na jednym... i to w dodatku tyłem :/ No nic, na przyszłość trzeba będzie bardziej się postarać by dostać się w kadr :) A tak na poważniej to galeria bardzo mi się podoba - zdjęcia dobrej jakości, wybrane tylko te najlepsze no i podpisane (niektóre). Link do galerii: &lt;a href="http://picasaweb.google.pl/PROIDEAconferences/4Developers2010#"&gt;http://picasaweb.google.pl/PROIDEAconferences/4Developers2010#&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnej edycji!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-1042421505875121782?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/1042421505875121782/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/04/zdjecia-z-4developers-2010-juz-sa.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1042421505875121782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1042421505875121782'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/04/zdjecia-z-4developers-2010-juz-sa.html' title='Zdjęcia z 4Developers 2010 już są!'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-4744844220748822891</id><published>2010-04-09T06:52:00.000-07:00</published><updated>2010-04-09T07:07:58.780-07:00</updated><title type='text'>Malejąca popularność Javy?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Natknąłem się dzisiaj przypadkiem na comiesięczny &lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"&gt;ranking&lt;/a&gt; firmy &lt;a href="http://www.tiobe.com"&gt;TIOBE Software&lt;/a&gt; zestawiający 20 najpopularniejszych języków programowania. Jak można zauważyć Java znalazła się wyjątkowo w tym miesiąc na drugim miejscu, ale różnica do faworyta - języka C - jest minimalna, bo na poziomie 0,007%, a więc nie ma powodów do paniki. W &lt;a href="http://www.dobreprogramy.pl/Jezyk-C-znow-najpopularniejszy,Aktualnosc,17561.html"&gt;newsie&lt;/a&gt; portalu &lt;a href="http://www.dobreprogramy.pl"&gt;Dobreprogramy.pl&lt;/a&gt; można wyczytać, że dzieje się to ze względu na obecną tendencję do przechodzenia na języki typowane dynamicznie. I faktycznie czy to na blogach programistów Javy, czy to w tematyce spotkań wielu JUG'ów (w tym także TJUG'a) można zauważyć rosnące zainteresowanie językami dynamicznymi. Ale czy to główny powód? Raczej wątpię, gdyż dzięki temu argumentowi nie dałoby się wyjaśnić rosnącej popularności języka Scala, który jest statycznie typowany. Faktem jest, że Java pozostaje w ścisłej światowej czołówce i nie zapowiada się na to, by gdzieś zamierzała odejść :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-4744844220748822891?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/4744844220748822891/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/04/malejaca-popularnosc-javy.html#comment-form' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4744844220748822891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4744844220748822891'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/04/malejaca-popularnosc-javy.html' title='Malejąca popularność Javy?'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-6078607930062549116</id><published>2010-04-01T14:49:00.000-07:00</published><updated>2010-04-01T15:34:17.879-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Podcast'/><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='certyfikaty'/><category scheme='http://www.blogger.com/atom/ns#' term='e-point'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaExpress'/><category scheme='http://www.blogger.com/atom/ns#' term='PJUG'/><category scheme='http://www.blogger.com/atom/ns#' term='4Developers'/><category scheme='http://www.blogger.com/atom/ns#' term='Grzegorz Duda'/><title type='text'>Dzieje się ostatnio, oj dzieje</title><content type='html'>&lt;div style="text-align: justify;"&gt;Święta się zbliżają, a człowiek zamiast odpoczywać ma ręce pełne roboty - i gdzie tu sprawiedliwość? :) Całe szczęście, że oprócz przygotowań świątecznych (sprzątanie, zakupy etc.) jest jeszcze wiele do roboty w świecie Javowym :) Ale po kolei:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Konferencja 4Developers 2010 już za nami, ale wspomnienia pozostają wciąż żywe. Dwa dni temu uczestnicy konferencji dostali mail od organizatorów z podziękowaniami za udział w konferencji. Podano informacje (poprawne :)) jak uzyskać obiecaną licencję na Flex Builder 4 (na którą mimo że zamówiłem od razu mogę sobie jeszcze sporo poczekać, gdyż każde zgłoszenie musi być indywidualnie rozpatrzone...), co mnie bardzo ucieszyło, bo po kilku prezentacjach Flex'a zaczynam zastanawiać się nad jego wykorzystaniem w jednym z projektów. Do tego poinformowano, że już niedługo pojawią się materiały z prezentacji i tak też się stało. Dostępne są one na &lt;a href="http://2010.4developers.org.pl/materialy-z-konferencji"&gt;stronie konferencji&lt;/a&gt;. Niestety poinformowano również, że materiały video będą dostępne dopiero w przyszłym roku, przed kolejną edycją :( A szkoda, bo nie udało mi się być na wszystkich interesujących mnie prelekcje i liczyłem na to, że uda mi się chociaż je obejrzeć, a tu nici z planu... Co mnie za to ogromnie ucieszyło, to wpis na moim blogu pojawił się na stronie konferencji, na której organizatorzy podsumowują imprezę. Owe podsumowanie dostępne jest &lt;a href="http://2010.4developers.org.pl/konferencja-4developers-zakonczona"&gt;tutaj&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Świat dzienny ujrzała nowa inicjatywa &lt;a href="http://www.java.pl/"&gt;PJUG (Polish Java User Group)&lt;/a&gt; - Podcast, w którym skrótowo przedstawiane są informacje o konferencjach, ciekawych artykułach informatycznych oraz interesujących wpisach na &lt;a href="http://www.dworld.pl/Blogsfera"&gt;Blogsferze&lt;/a&gt;. Pomysł jest bardzo ciekawy i mam nadzieję, że będzie kontynuowany, bo takie krótkie streszczenie przydaje się, gdy codziennie jesteśmy zalewani nowymi informacjami i nie starcza nam sił oraz czasu na przejrzenie wszystkiego w skutek czego wiele rzeczy może nam zwyczajnie umknąć. Nie podoba mi się za to pomysł na rozciągnięcie audycji do 20-30 minut. Ta krótka forma jest właśnie tym, co mnie urzekło w tym podcaście. Dziwi mnie również fakt, że strona projektu - &lt;a href="http://podcast.java.pl/"&gt;http://podcast.java.pl/&lt;/a&gt; - raz działa, a raz dostaje komunikat, że podana strona nie istnieje (typowe 404). Oby niedługo się to zmieniło :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Kiedy niecałe 3 miesiące temu snułem &lt;a href="http://akademiajavy.blogspot.com/2010/01/plany-na-2010-rok.html"&gt;plany na 2010 rok&lt;/a&gt; nie podejrzewałem, że zmienią się one w sposób, w jaki miało to miejsce ostatnio. Zamiast zwyczajnie zaznaczać kolejne pozycje jako wykonane (lub je wykreślać jeśli okazały się niemożliwe), to po &lt;a href="http://akademiajavy.blogspot.com/2010/03/smutna-informacja-dla-czonkow-sai.html"&gt;informacji o końcu programu SAI&lt;/a&gt; wpisałem sobie dodatkowy cel(e) - zdać certyfikaty Sun'a jeszcze w tym roku (najlepiej w wakacje, bo potem będzie pisanie magisterki etc.). Zamówiłem kilka voucherów, ale kiedy je dostanę nie mam pojęcia (ale w końcu dostanę), gdyż dostałem informację, że SAI zostało zalane zamówieniami i rozpatrują je w kolejności zamawiania. Ale sądzę, że do czerwca się wyrobią, a to najważniejsze :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;4. Ukazał się nowy numer darmowego czasopisma poświęconego Javie i okolicom - &lt;a href="http://www.javaexpress.pl/"&gt;JavaExpress&lt;/a&gt;. W nowym - siódmym już - odcinku szczególnie urzekły mnie dwa artykuły: "Pierwsze kroki w Scali" autorstwa Łukasz Kuczery oraz "Transakcje w systemach Java Enterprise: Wprowadzenie" Jarosława Błąd z firmy e-Point. Byłem na prezentacji Łukasz na temat Scali w ramach Trójmiejskiego JUG'a (o którym można było się dowiedzieć &lt;a href="http://it.wtrojmiescie.org/spotkania/jak-to-sie-robi-w-scali"&gt;tutaj&lt;/a&gt;) i tak jak słysząc, tak i czytając o Scali dochodzę do wniosku, że chcę więcej. To mnie osobiście trochę przeraża, gdyż na dzień dzisiejszy jednocześnie uczę się programować w kilku językach (dwie różne wersje assemblera - na architekturze Harvardzką i von Neumanna, C/C++, Java, dialekt LISP'u - AutoLISP itd.). Jak mówił &lt;a href="http://tech.mrozewski.pl/"&gt;Mateusz&lt;/a&gt; jest to jak najbardziej dobre, gdyż poszerza nasze horyzonty i udoskonala warsztat, ale czuję się trochę przytłoczony (ale to zapewne chwilowe :)). Artykuł Łukasz uświadomił mi jeszcze jedną bardzo ważną rzecz - command z Windowsa nie nadaje się do uruchamiana interpreterów i muszę poszukać lepszego narzędzia. Zacząłem ostatnio przygodę z Linux'em (wybór padł na Fedorę 12), ale większość czasu spędzam (i mam zamiar spędzać) pracując na Windowsie, więc trzeba zacząć się rozglądać. Może macie moi drodzy Czytelnicy jakieś wskazówki/podpowiedzi? Wracając do tematu drugi artykuł wspomniany przeze mnie o systemach transakcyjnych pokazuje ponownie, że firma e-Point to reprezentant bardzo wysokiego, profesjonalnego poziomu. Artykuł jest rewelacyjnie napisany, język jest na tyle prosty, że może go czytać każdy bez względu (prawie) na swoje doświadczenie w temacie i jest bardzo konsekwentnie i dokładnie ułożony. Żałuje jedynie, że na następną odsłonę serii przyjdzie mi czekać 3 miesiące, ale proszę mi uwierzyć - naprawdę warto!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Trochę się rozpisałem, ale jak mówiłem, trochę się dzieje. Oczywiście to nie wszystko, bo szykuje się do kolejnych wpisów (po rozmowach na 4Developers doszedłem do wniosku, że ponownie skieruje tematykę wpisów na Eclipse'a) ale nie wszystko naraz :) Tymczasem czekam na Wasze komentarze i do zobaczenia następnym razem!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-6078607930062549116?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/6078607930062549116/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/04/dzieje-sie-ostatnio-oj-dzieje.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6078607930062549116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6078607930062549116'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/04/dzieje-sie-ostatnio-oj-dzieje.html' title='Dzieje się ostatnio, oj dzieje'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-2667202720852390809</id><published>2010-03-28T13:37:00.000-07:00</published><updated>2010-03-28T14:41:50.837-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='4Developers'/><title type='text'>4Developers 2010, czyli mogło być lepiej...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Myśl o tym, że jadę na 4Developers nie opuszczała mnie już od ponad tygodnia. Nie mogłem się doczekać tych wszystkich prelekcji, rozmów, nowych i starych znajomości, ogólnie wszystkiego tego, na co składa się dobra konferencja. A co z tego wszystkiego wyszło? O tym poniżej.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wyjazd miałem zaplanowany na czwartek około godziny 18. Zdziwiło mnie, że o tej porze i na tej trasie (Gdynia - Poznań) w pociągu TLK było tak mało pasażerów. Przez większość podróży siedziałem w przedziale jedynie z studentem Akademii Morskiej, z którym zresztą bardzo fajnie rozmawiało się na temat podobieństw i różnic w studiowaniu na naszych dwóch uczelniach. Do Poznania przyjechaliśmy bez opóźnień przed 23 i już pojawił się pierwszy problem - jak dostać się na starówkę? :D Od jakiegoś czasu nie mam problemów z orientacją w obcych miastach, ale może zmęczenie sprawiło, że gdyby nie miła pani i starszy pan w Informacji Turystycznej nie udałoby mi się tak łatwo dotrzeć na Starówkę, gdzie byłem umówiony z Mateuszem i jego kolegami. Byłem niemało zestresowany tym spotkaniem, ale okazało się, że ekipa choć bardzo zgrana to nie miała problemu by mnie do siebie dopuścić i wieczór spędziliśmy bardzo przyjemnie przy piwku i rozmowach nieinformatycznych :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Rano obudziłem się z ogromnym bólem głowy (nie mylić z kacem, bo nie jestem osobą pijącą ;)) i tu moje pierwsze rozczarowanie. Ani w kiosku Ruchu w hotelu, ani nigdzie blisko nie było miejsca, gdzie można by kupić tabletki od bólu głowy - dramat... Szybkie dwie filiżanki kawy i można było pójść się zarejestrować.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Obsługa konferencji była bardzo miła i rzeczowa. Przez cały czas widać było, że przygotowano się bardzo dobrze i wszystko odbywało się zgodnie z planem. Wszelkie formalności udało się załatwić jeszcze zanim o nich pomyślałem, także byłem pod dużym wrażeniem. Po samej rejestracji usiadłem przyjrzeć się gratisom, które otrzymałem. W zestawie był: identyfikator wraz z mini-przewodnikiem po konferencji (rewelacyjny pomysł!), kilka broszurek reklamowych, ankieta, kupon sponsorów (można było za jego wymianę wygrac MP4 i punkty Java Geek), kawałek komiksu o Garfieldzie (część kolejnego konkursu) i jeszcze więcej broszurek. Gdy zapoznawałem się z zawartości torby podszedł do mnie &lt;a href="http://pawelstawicki.blogspot.com/"&gt;Paweł Stawicki&lt;/a&gt;, mówiąc że poznał mnie z bloga (co najciekawsze poznaliśmy się na &lt;a href="http://java4people.com/"&gt;java4people&lt;/a&gt; i albo ja coś pokręciłem, albo Paweł mnie zwyczajnie nie poznał). To było bardzo miłe :) Od razu chciałem przeprosić Pawła za brak komunikatywności, ale naprawdę źle się czułem i nie ogarniałem wszystkiego co się wkoło mnie dzieje. Mam nadzieję, że nie poczułeś się urażony!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pierwsza prelekcja, na którą się udałem to &lt;i&gt;"Walka o życie - pochodne i następcy Javy opanowują świat"&lt;/i&gt; Michael Hunger'a. Opowiadał on o różnorodności języków na JVM (nie miałem pojęcia, że jest ich ponad 400!). Niestety ciężko było zrozumieć prowadzącego, gdyż nie dość, że mówił po angielsku, to był lekko skacowany i podziębiony. Ale ogromne wrażanie zrobił na mnie filmik, który puścił w trakcie swojej prezentacji prezentujący:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;center&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FdMzngWchDk&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/FdMzngWchDk&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po obejrzeniu filmiku mogliśmy zobaczyć różne implementacje Game of Life na JVM - Java, Groovy, Scala etc. Największe wrażenie na mnie, jak i pewnie na większości uczestników, zrobiło rozwiązanie w Dyalog APL, którym postanowiłem zając się w wolnej chwili, gdyż wydaje się idealny do zastosowań numerycznych.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Następnie udałem się na kolejną prelekcję ze ścieżki Java - &lt;i&gt;"Automatyczne generowanie kodu"&lt;/i&gt; Marka Berkana z firmy &lt;a href="http://www.e-point.pl/"&gt;e-Point&lt;/a&gt; (jednego z głównych sponsorów imprezy). W bardzo przystępny i ciekawy sposób pokazał różne problemy, które natrafić może programista w zmieniającym się projekcie, jeśli źle podejdzie się do zagadnień (przykładowo) komunikacji z bazą danych. Była to jedna z najlepszych prezentacji na konferencji i mam nadzieję doczekać się niedługo materiałów z niej.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Przed przerwą udaliśmy się z Dawidem na prelekcję ze ścieżki Zarządzania projektami IT - &lt;i&gt;"Zarządzanie rozwojem oprogramowania - nieco bardziej "funky""&lt;/i&gt; Petera Horstena. Prezentacja nie dość, że była prowadzona ciekawie, to w dodatku pełno było w niej śmiechu, przez co czas upłynął niemiłosiernie szybko. Prelegent mówił po angielsku (choć dał nam możliwość wyboru między trzema językami), ale było go o wiele łatwiej zrozumieć niż pierwszego tego dnia prelegenta. Po prelekcji Pan Horsten był tak miły i poświęcił mi trochę czasu, w trakcie którego rozprawialiśmy na temat zbierania wymagań do projektu, który posiada wiele grup docelowych (do czego nawiązuje mój poprzedni wpis na blogu). Było bardzo "funky" :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Przerwa obiadowa to pasmo zawodów. Wpierw rozładował mi się laptop, a tam gdzie był dostępny internet bezprzewodowy nie mogłem znaleźć gniazdka od prądu (i na odwrót). Jak już znalazłem informacje, których szukałem okazało się, że zostało mi niewiele czasu i muszę swój posiłek ograniczyć do kebaba, który okazał się mało smaczny i którym w biegu na konferencję ubrudziłem sobie ubranie :( Całe szczęście w trakcie przerwy można było odbierać zamówione wcześniej koszulki z konferencji. Uwielbiam po jakimś wypadzie (takim jak konferencja) wracać do domu z jakąś pamiątką (najlepiej kubek lub koszulka), ale żałuję, że zamówiłem sobie koszulkę z 4Developers. Białe logo "4Developers" na lewej piersi wielkości kilku centymetrów to było wszystko, co znajdowało się na granatowej koszulce za 35zł...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po obiedzie udałem się na prelekcję &lt;i&gt;"Zbuduj pierwszą aplikację typu RIA z wykorzystaniem Flex 4"&lt;/i&gt; Piotra Walczyszyna, która choć nie udało się zaprezentować wszystkiego, co prelegent miał w planach okazała się bardzo ciekawa. Szczególnie zainteresował mnie temat Adobe AIR i multiplatformowości, jaką uzyskuje się dzięki tej technologii. Niestety do tej pory nie dowiedziałem się jak otrzymać licencję na Adobe Flex 4 Builder, ale zrzucam to na karb zmęczenia i ogólnego własnego roztrzepania w ten weekend.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po Flexie przyszedł czas na chyba największe rozczarowanie tej konferencji - &lt;i&gt;"Co nowego w Java SE 7?"&lt;/i&gt; Marcina Kalasa. Z prelekcji nie dowiedziałem się specjalnie wiele, ale też nie była ona ciekawie prowadzona. Zdawkowe informacje, ciągłe tłumaczenie jednego stwierdzenia nim samym i chrząkanie do mikrofonu skutecznie mnie zniechęciły do skupienia większej uwagi na prezentacji. Jeden z kolegów Mateusza słusznie powiedział, że &lt;i&gt;"była to chyba najbardziej pozytywna prelekcja konferencji - tyle razy wypowiedzianego "tak" już dawno nie słyszałem"&lt;/i&gt;...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sławomir Sobótka wraz ze swoją prezentacją pt. &lt;i&gt;"Craftsmanship i wzorce projektowe"&lt;/i&gt; zrobił na uczestnikach (i nie mówię tu tylko o sobie) ogromne wrażenie. Ciekawe rozważania na temat wzorców projektowych upłynęły tak przyjemnie, że gdy ja byłem święcie przekonany, że minęło zaledwie 10 minut okazało się, że czas prelekcji dobiegł końca. Szkoda, bo można by słuchać wywodów prelegenta jeszcze bardzo bardzo długo. &lt;b&gt;Zdecydowany #1 konferencji!&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na samym końcu zawitał Jacek Laskowski ze swoją prelekcją na temat &lt;i&gt;"Modele komponentowe SCA, OSGi, Distributed OSGi i OSGi Enterpise a Java EE"&lt;/i&gt;. Na temat tej prelekcji nie będę nic pisać, gdyż temat jest dla mnie całkowicie obcy i większości z tego co Jacek mówił nie rozumiałem. Może kiedyś :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na sam koniec pozostawiono losowanie nagród za wypełnienie ankiet, w którym jak zwykle nic nie wygrałem. Potem okazało się, że zostawiłem ładowarkę do telefonu w pokoju hotelowym, ale nie odzyskam jej tego dnia, bo nie było już obsługi pokojowej, a wysyłka kosztować mnie będzie ponad 50zł. W złym humorze wsiadłem do samochodu i wyruszyłem z ludźmi z firmy &lt;b&gt;Fineos&lt;/b&gt; do domu, lecz ten nastrój bardzo szybko się rozwiał dzięki chłopakom i jedzonku w McDonalds :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A teraz czas na podziękowania :) Dziękuję w pierwszej kolejności &lt;b&gt;dr hab. Markowi Izydorkowi&lt;/b&gt; (Prodziekanowi ds. Nauki na moim wydziale) oraz &lt;b&gt;dr inż. Pawłowi Sytemu&lt;/b&gt; za umożliwienie mi wyjazdu na konferencje. &lt;a href="http://tech.mrozewski.pl/"&gt;Mateuszowi Mrozewskiemu&lt;/a&gt; chciałbym podziękować za bezinteresowną pomoc już w trakcie wyjazdu w sprawach logistycznych i rozwiązaniu problemu, który mógł zaważyć nad wyjazdem. Chłopakom z firmy &lt;b&gt;Fineos&lt;/b&gt; za wspaniałe towarzystwo i miłe rozmowy przed, w trakcie i po konferencji (oraz za podwiezienie dosłownie pod dom :)). Na samym końcu chciałem podziękować hotelowi Orbis Polonez z Poznania, dzięki któremu musiałem zostawić ładowarkę do telefonu w Poznaniu i jestem zmuszony kupić nową ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Poniżej malutka galeria zdjęć, z której nie jestem w ogóle zadowolony. Dysponowałem uszkodzonym aparatem, a i moje umiejętności jako fotografa pozostawiają wiele do życzenia. Pomimo to:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;center&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.pl/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.pl&amp;amp;noautoplay=1&amp;amp;hl=pl&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.pl%2Fdata%2Ffeed%2Fapi%2Fuser%2Fdarkstariw%2Falbumid%2F5453786396139245969%3Falt%3Drss%26kind%3Dphoto%26hl%3Dpl" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/center&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Do zobaczenia na kolejnej odsłonie &lt;a href="http://2010.4developers.org.pl"&gt;4Developers&lt;/a&gt;!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-2667202720852390809?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/2667202720852390809/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/4developers-2010-czyli-mogo-byc-lepiej.html#comment-form' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2667202720852390809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2667202720852390809'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/4developers-2010-czyli-mogo-byc-lepiej.html' title='4Developers 2010, czyli mogło być lepiej...'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3138723176255196171</id><published>2010-03-19T13:30:00.000-07:00</published><updated>2010-03-19T13:42:45.836-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='devBlogi'/><title type='text'>Krótki artykuł o dokumentacji</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W wolnych chwilach między zajęciami przeglądam ostatnimi czasy artykuły oscylujące w okolicach wytwarzania oprogramowania, jego projektowania etc. Tak się złożyło akurat, że na portalu devBlogi.pl pojawiła się ostatnio informacja o &lt;a href="http://97rzeczy.devblogi.pl/"&gt;projekcie "97 rzeczy"&lt;/a&gt; - serii przetłumaczonych na nasz ojczysty język artykułów znanych i szanowanych autorytetów w światku informatycznym na ważne tematy, takie jak zasady dobrego projektowania. Jedną z takich "rzeczy" jest &lt;a href="http://97rzeczy.devblogi.pl/artykuly/3/zapytaj-co-zrobilby-uzytkownik"&gt;spojrzenie na nasze oprogramowanie oczami jego użytkownika&lt;/a&gt;. W artykule pojawia się takie oto stwierdzenie:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#999999;"&gt;"(...) istnieje przepaść między tym, czego użytkownicy chcą, a tym co w rzeczywistości robią. To niepokojące jako, iż normalnym sposobem zbierania wymagań użytkownika jest wypytywanie. Dlatego właśnie najlepszą metodą wyłapania wymagań jest przyglądanie się użytkownikom. Spędzenie godziny na obserwowaniu użytkowników jest o wiele bardziej pouczające, niż spędzenie dnia na zgadywaniu tego, czego mogliby chcieć."&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Przez cały dzień ta myśl prześladowała mnie i nie dawała spokoju, aż uświadomiłem sobie, że w każdym akademickim projekcie jaki wykonywałem stwierdzenie to (o zgrozo!) się sprawdzało. Ponieważ okazało się, że w najnowszym projekcie na uczelni dostaliśmy trochę wydłużony deadline, więc rozważam wprowadzenie na pewnym etapie wprowadzenia prototypu interfejsu oraz szczątkowej funkcjonalności, aby przekonać się jakie jest pokrycie wymagań umieszczonych w specyfikacji projektu w odniesieniu do realnych oczekiwań użytkowników. Aż boję się myśleć, jakie będą wyniki tego sprawdzenia ;) Ktoś ma doświadczenie w tego typu podejściu? Może mógłby podzielić się jakimiś radami/wskazówkami/materiałami? :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3138723176255196171?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3138723176255196171/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/krotki-artyku-o-dokumentacji.html#comment-form' title='Komentarze (6)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3138723176255196171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3138723176255196171'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/krotki-artyku-o-dokumentacji.html' title='Krótki artykuł o dokumentacji'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3677574450990288410</id><published>2010-03-13T05:39:00.001-08:00</published><updated>2010-03-13T06:05:53.088-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inżynieria Oprogramowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Joel Spolsky'/><category scheme='http://www.blogger.com/atom/ns#' term='devBlogi'/><category scheme='http://www.blogger.com/atom/ns#' term='Painless Software'/><title type='text'>O dokumentacji projektów słów kilka</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ten post powstał z dwóch powodów:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li style="text-align: justify;"&gt;Po przeczytaniu &lt;a href="http://www.devblogi.pl/2010/02/jak-osiagnac-najwiekszy-blogowy-sukces.html"&gt;artykułu na devBlogi.pl&lt;/a&gt; postanowiłem w miarę jak najwięcej pisać, by to co piszę, stawało się coraz lepsze i coraz ciekawsze. Jak się okaże później, nie tylko autor wspomnianego artykułu tak myśli :)&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Udało mi się otrzymać zgodę na ciekawy projekt na uczelni (aplikacja na potrzeby zaliczenia przedmiotu Inżynieria Oprogramowania, z bardzo dużą szansą na wdrożenie na uczelni). Z kolegą, z którym jestem w zespole postanowiliśmy podejść do tego profesjonalnie i zacząć całe przedsięwzięcie od stworzenia dobrego projektu i dokumentacji (mogliśmy tworzyć projekt za pomocą metody kaskadowej lub zwinnej, zdecydowaliśmy się na tę drugą). Gdy nasz wykładowca się o tym dowiedział podsunął nam bardzo ciekawy artykuł. Ale o tym zaraz.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kiedy na wcześniejszych latach studiów tworzyłem z kolegami oprogramowanie na zaliczenie często gęsto nasza dokumentacja mieściła się na 2 stronach A4 stworzonych tylko po to, żeby wykładowca miał ogólny pogląd na projekt i mógł, mając harmonogram prac, rozliczać nas z postępów w pracy. Na samym początku nie jest to problemem. Każdy zbudował swoją część komponentów, udostępnił prototypy i ... nagle nic do siebie nie pasowało. Spędziliśmy z goła 1,5 doby na przerabianiu bibliotek tylko po to, żeby ze sobą współpracowały. Efekt był opłakany, a fakt, że aplikacja w ogóle się skompilowała i uruchomiła przypisuje gorliwym modlitwom na 5 minut przed oddaniem. Za drugim razem było z goła inaczej. Tak zabraliśmy się za dokumentacje, ale było jej tak dużo, że wiele wymagań się pokrywało, jeszcze więcej było ze sobą zwyczajnie sprzecznych i suma summarum nic z tego nie wyszło...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Całe szczęście &lt;a href="http://www.joelonsoftware.com/index.html"&gt;Joel Spolsky&lt;/a&gt; dla takich jak ja stworzył serie artykułów mówiących o tym czym jest, a czym nie jest specyfikacja projektu, kto i dlaczego powinien ją sporządzać oraz jak (w dużym skrócie) powinno się to robić. Cała seria (Painless Functional Specifications) składa się z czterech części:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.joelonsoftware.com/articles/fog0000000036.html"&gt;"Part 1 - Why Bother?"&lt;/a&gt; mówiąca o sensie tworzenia specyfikacji i pokazująca najczęstsze przyczyny nie robienia tego&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.joelonsoftware.com/articles/fog0000000035.html"&gt;"Part 2 - What's a Spec?"&lt;/a&gt; pokazująca jak może (i powinna) wyglądać przykładowa specyfikacja, wyjaśniając również do kogo i w jaki sposób powinna być ona adresowana&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.joelonsoftware.com/articles/fog0000000034.html"&gt;"Part 3 - But... How?"&lt;/a&gt; mówi o tym kto powinien, a kto zdecydowanie nie powinien zajmować się w firmie tworzeniem specyfikacją projektu&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.joelonsoftware.com/articles/fog0000000033.html"&gt;"Part 4 - Tips"&lt;/a&gt; wyjaśnia 5 podstawowych zasad tworzenia specyfikacji&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Osobiście najchętniej czytałem część drugą. Byłem bardzo zaskoczony faktem, jak daleko odchodziłem od właściwej (a może raczej jednej z wielu właściwych) ścieżek tworzenia dokumentacji. Wielu rzeczy (jak scenariusze) zwyczajnie nie umieszczałem, bo nie miałem pojęcia, że mogą się one komukolwiek przydać. Natomiast z ostatnią zasadą (artykuł &lt;a href="http://www.joelonsoftware.com/articles/fog0000000033.html"&gt;"Part 4 - Tips"&lt;/a&gt;) nie mogę się zgodzić. Rozumiem, że formatka dokumentacji musi być elastyczna, dostosowana do elementu, który ma opisywać, ale pewien standard powinien zostać zachowany. To tak jak z dokumentacją w formie JavaDoc - człowiek poznaje ogólny schemat, przyzwyczaja się do niego i w późniejszym czasie jest mu o wiele łatwiej pracować z tego typu dokumentacją. Ale brak standardu może wprowadzić jeszcze większe zamieszanie, którego przecież staramy się uniknąć :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A jak to jest u Was? Czy raz napisana dokumentacja ląduje na półce i nikt jej nie czyta? A może jest jej zwyczajnie za dużo i ciężko jest odnaleźć interesujące Was informacje? Chętnie dowiedziałbym się jak to jest gdzie indziej niż na uczelni wyższej :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3677574450990288410?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3677574450990288410/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/o-dokumentacji-projektow-sow-kilka.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3677574450990288410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3677574450990288410'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/o-dokumentacji-projektow-sow-kilka.html' title='O dokumentacji projektów słów kilka'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-6320104307874666169</id><published>2010-03-08T14:09:00.000-08:00</published><updated>2010-03-08T14:28:33.113-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaBlackBelt'/><title type='text'>Nowa odsłona JavaBlackBelt</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Właśnie chciałem przejrzeć zagadnienia na kolejny egzamin na darmowej ścieżce Belt Track na &lt;a href="http://www.javablackbelt.com/"&gt;JavaBlackBelt&lt;/a&gt;, gdy moim oczom ukazała się nowa (oznaczona numerem 4 beta) wersja &lt;a href="http://www.blackbeltfactory.com/ui/#"&gt;BlackBeltFactory&lt;/a&gt;. Co się zmieniło? Jako pierwsze rzuca się w oczy wydłużony, w porównaniu z poprzednią wersją, czas ładowania się strony (który moim skromnym zdaniem już wcześniej był zbyt długi). Do tego mam problemy na Google Chrome ze znikającymi elementami głównej strony - muszę przewinąć stronę w górę lub w dół, by znów się pokazały. Część egzaminacyjna strony pozostała bez zmian.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To dopiero faza beta, ale już widać wiele niedociągnięć. Oczywiście, wizualnie jest to zmiana na lepsze, nowy design jest miły dla oka, przyjemniej pochwalić się znajomemu &lt;a href="http://www.blackbeltfactory.com/ui/#user/id=10069193"&gt;swoją stroną na JBB z wynikami,&lt;/a&gt; ale sprawy wydajności (w szczególności) skłaniają mnie do opinii, że zmiany zostały wprowadzone zbyt wcześnie i póki tak rażące niedociągnięcia nie zostaną poprawione, nie będzie mi się dobrze korzystało ze strony.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A co Wy sądzicie o nowej odsłonie &lt;a href="http://www.blackbeltfactory.com/ui/#"&gt;BlackBeltFactory&lt;/a&gt;?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-6320104307874666169?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/6320104307874666169/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/nowa-odsona-javablackbelt.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6320104307874666169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6320104307874666169'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/nowa-odsona-javablackbelt.html' title='Nowa odsłona JavaBlackBelt'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-8011660294719199288</id><published>2010-03-05T11:39:00.000-08:00</published><updated>2010-05-13T05:56:43.960-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAI'/><category scheme='http://www.blogger.com/atom/ns#' term='Sun Microsystems'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Smutna informacja dla członków SAI</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Kiedy byłem rano na uczelni i sprawdzałem skrzynkę mailową zauważyłem wiadomość od Oracle w sprawie SAI - Sun Academic Initiative. Czemu o tym pisze? Ponieważ złe czasy nadeszły... Ale do rzeczy.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W mailu napisano, że:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;Od 27 stycznia 2010r. zamknięto rejestracje do SAI&lt;/li&gt;&lt;li&gt;Projekt SAI ma w najbliższej przyszłości zostać włączony do &lt;a href="https://academy.oracle.com/index.html"&gt;Oracle Academy&lt;/a&gt; (po wejściu na stronę ściągnąłem sobie PDF'a, który sądziłem, że powie mi coś więcej o tym programie lecz srodze się rozczarowałem. Dokument, który waży 7,4MB to tak naprawdę dwustronicowa broszura...)&lt;/li&gt;&lt;li&gt;Osoby, które przed 27 stycznia zarejestrowały się do programu SAI będą mogły jeszcze zakupić vouchery na egzaminy certyfikacyjne w cenie $40 do 31 marca br. Po tym dniu vouchery będą dawać jedynie 40% zniżki&lt;/li&gt;&lt;li&gt;Platforma e-learningowa SAI Learning Connection SkillPort będzie otwarta do 31 grudnia 2010r.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dodatkowo na &lt;a href="http://www.sun.com/solutions/landing/industry/education/sai/index.jsp"&gt;stronie Oracle&lt;/a&gt; można przeczytać, że członkami Oracle Academy będą mogli być jedynie studenci uczelni, które są partnerami firmy Oracle. Politechnika Gdańska była w stanie podjąć taką współpracę, ale z tego co wiem to wielu uczelni wyższych nie jest w stanie tego zrobić ze względu na finanse - co ze studentami tychże uczelni? Nie podoba mi się to posunięcie...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Chciałem pominąć ten fakt, ale nie potrafię - według mnie strona &lt;a href="http://oracle.com/"&gt;oracle.com&lt;/a&gt; po połączeniu Sun'a z Oraclem to jeden wielki kocioł, w którym nie wiadomo co jest i jak coś z niego wydobyć. Próbowałem znaleźć kilka dodatkowych informacji na temat certyfikacji, ale w większości docierałem do niewłaściwych informacji, lub linki na stronach były niewłaściwe lub przenosiły na strony, które już od jakiegoś czasu nie istnieją - żenada...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ale żeby nie pisać jedynie pesymistycznych rzeczy w ten śnieżny, piątkowy wieczór mam przyjemność powiedzieć, że mój blog - Akademia Javy - przekroczyła skromny próg popularności w postaci 1000 odsłony strony! Może to nie wiele, ale patrząc na fakt, że jest to dopiero początek mojej kariery blogowicza, a treści przeze mnie publikowane nie prezentują jeszcze takiego poziomu, jakiego bym po nich i po sobie samym oczekiwał, to uważam to za ogromny sukces :) Chciałem z tego miejsca podziękować &lt;a href="http://tech.mrozewski.pl/"&gt;Mateuszowi Mrozewskiemu&lt;/a&gt;, dzięki któremu cały pomysł został zrealizowany i dzięki któremu wiele się nauczyłem (i nie wątpliwie jeszcze wiele się nauczę). Dzięki! Mam nadzieję, że kolejne moje posty będą reprezentować treści na coraz wyższym poziomie oraz będą coraz bardziej użyteczne dla Was - Czytelników :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-8011660294719199288?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/8011660294719199288/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/smutna-informacja-dla-czonkow-sai.html#comment-form' title='Komentarze (20)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8011660294719199288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/8011660294719199288'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/03/smutna-informacja-dla-czonkow-sai.html' title='Smutna informacja dla członków SAI'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-317577813385273241</id><published>2010-02-12T15:26:00.000-08:00</published><updated>2010-02-12T15:43:14.866-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='e-point'/><title type='text'>O rekrutacji do firmy informatycznej</title><content type='html'>Witam!&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wieczory w ferie między semestrami sprzyjają robieniu rzeczy, na które na co dzień, w roku, akademickim nie ma się czasu. Ponieważ skończyłem V semestr studiów inżynierskich przyszedł czas pomyśleć o praktykach wakacyjnych. Już jakiś czas temu natknąłem się na wykład pracownika firmy e-point SA - Jarosława Błąd - uczestniczącego w targach pracy na Wydziale ETI Politechniki Warszawskiej. Sam wykład dotyczy rekrutacji na stałe stanowisko pracy, ale uważam, że może się bardzo przydać również osobom, które starają się jedynie o praktyki w firmie informatycznej. Oto materiały z wykładu:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Część 1/5:&lt;/div&gt;&lt;div&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aYKdZiZd4aI&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/aYKdZiZd4aI&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Część 2/5:&lt;/div&gt;&lt;div&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/yHZjHHfItLA&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/yHZjHHfItLA&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Część 3/5:&lt;/div&gt;&lt;div&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pAuDIgYSuEk&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/pAuDIgYSuEk&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Część 4/5:&lt;/div&gt;&lt;div&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/HmIk_uVVns0&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/HmIk_uVVns0&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Część 5/5:&lt;/div&gt;&lt;div&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8afFe8wWYPc&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/8afFe8wWYPc&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pozdrawiam i życzę miłego oglądania!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-317577813385273241?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/317577813385273241/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/02/blaski-i-cienie-rekrutacji-do-firmy.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/317577813385273241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/317577813385273241'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/02/blaski-i-cienie-rekrutacji-do-firmy.html' title='O rekrutacji do firmy informatycznej'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5687651801714960121</id><published>2010-02-07T12:46:00.000-08:00</published><updated>2010-02-07T13:33:13.983-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sun Microsystems'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Strategia Oracle po przejęciu Sun'a</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W poprzednim poście starałem się przybliżyć historię przejęcia ukochanego Słoneczka przez Oracle. W tym chciałbym przedstawić jak z punktu widzenia prostego, akademickiego programisty Javy ma się przyszłość całej platformy i innych produktów Sun'a.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wszystko zaczęło się od &lt;a href="http://www.xoft.pl/2010/02/02/sun-w-lapach-oracla/"&gt;wpisu na blogu Xoft&lt;/a&gt;, w którym to dowiedziałem się, że NetBeans będzie od teraz środowiskiem programistycznym do wszystkiego, poza JEE. To niezbyt mnie zmartwiło, jako że jestem wiernym użytkownikiem Eclipse, lecz zapowiedziało spore zmiany. Co ciekawe Oracle ma zamiar inwestować w JaveFX, co zdziwiło nie tylko autora postu na Xoft.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Następnym bodźcem do zastanowienia był post Koziołka - &lt;a href="http://koziolekweb.pl/2010/02/02/koniec-suna/"&gt;"Koniec Suna"&lt;/a&gt;. Tytuł straszny, lecz chodzi "jedynie" o zamknięcie strony sun.com i przekierowanie z tego adresu na stronę oracle.com. Jak napisał Koziołek, pewna epoka się skończyła...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Zastanawiające jest natomiast zamknięcie projektu Kenai, o którym informuje na swoim blogu Tomasz Dziurko &lt;a href="http://codehardgopro.blogspot.com/2010/02/oracle-zamyka-kenai.html"&gt;tutaj&lt;/a&gt;. Niby niszowy projekt firmy Sun, a jednak jego zamknięcie budzi pewne obawy.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na stronie Oracle można znaleźć dosyć sporo informacji na temat przejęcia firmy Sun Microsystems i strategii działania po tejże transakcji. Zacząć warto od strony &lt;a href="http://www.oracle.com/us/sun/"&gt;Oracle and Sun&lt;/a&gt;, na której znajdziemy odnośniki do ogłoszeń prasowych, webcastów i wielu innych.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ja zacząłem od serii &lt;a href="http://www.oracle.com/us/sun/044498"&gt;"Oracle + Sun: Transforming the IT Industry"&lt;/a&gt;. Składa się ona z 7 prelekcji poświęconych różnym zagadnieniom przejęcia: nowego podejścia firmy do świadczonych usług, rozwiązań sprzętowych i programowych, systemów operacyjnych i wirtualizacji, obsługi klienta i wsparcia technicznego etc. Każda taka prelekcja trwa kilka- do kilkadziesiąt minut, tak więc osobiście poświęciłem czas jedynie występowi prezesa firmy Oracle - Charlsa Phillipsa.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W swoim wystąpieniu prezes firmy Oracle mówił o wielkich korzyściach, jakie wynikają z fuzji, natomiast nie usłyszałem ani słowa o zagrożeniach, jakie mogą z nich wynikać. Wiadomo, człowiek lubi słyszeć dobre, a nie złe rzeczy. Z najważniejszych rzeczy, które omawiał Phillips można wynotować:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;zmiana podejścia do tworzenia systemów aplikacyjnych. Teraz zamiast składać się ze zbioru indywidualnych komponentów, ma on być tworzony jako jedność, projektowana z myślą synchronizacji i efektywnej współpracy komponentów, a nie jedynie ich indywidualnemu działaniu. Takie podejście możliwe jest dzięki wdrożeniu rozwiązań firmy Sun Microsystems do produktów Oracle.&lt;/li&gt;&lt;li&gt;support zintegrowanego systemu, który jest tworem jednej firmy, jest o wiele łatwiejszy, tańszy i szybszy niż support systemu dostarczany przez różne firmy, które bardzo często nie współpracowały ze sobą przedtem. Dodatkowo ma powstać system raportowania stanu systemu, który będzie wysyłał raz dziennie (lub przy zmianie w architekturze systemu) raportu do siedziby firmy Oracle, która na jego podstawie będzie w stanie za prognozować możliwe problemy i awarie w zawczasu im zapobiec,&lt;/li&gt;&lt;li&gt;w stosunku do zeszłego roku, w tym firma Oracle postanowiła zwiększyć po raz kolejny środki przeznaczone na dział R&amp;amp;D (Research and Development) z 2,8mld $ do 4,3mld $. Pieniądze te będą również przeznaczone na rozwój produktów firmy Sun,&lt;/li&gt;&lt;li&gt;zdeklarowano się do dalszej pracy nad otwartymi stadardami i wspieraniu projektów open source. Zadeklarowano bezpieczeństwo takich produktów jak MySQL,&lt;/li&gt;&lt;li&gt;inwestycje w takie produkty jak Java (w tym bardzo mocno w JaveFX), Solaris, MySQL etc.,&lt;/li&gt;&lt;li&gt;zamiast redukcji etatów, Oracle ma zamiar zatrudnić 2 tyś nowych specjalistów z przeróżnych branż, &lt;/li&gt;&lt;li&gt;zorganizowano całą akcje informującą o strategii firmy po fuzji z firmą Sun Microsystems. W jej skład wchodzą liczne informacje prasowe na stronie Oracle, tournee po ponad 70 miastach całego świata (także w Warszawie), serie webcastów (o których za chwilę),&lt;/li&gt;&lt;li&gt;na koniec upewniono, że impreza JavaOne nie przestanie istnieć. Zostanie ona połączona z Oracle OpenWolrd i będzie mieć miejsce w San Francisco 19 do 23 września 2010r. Ponadto firma Oracle postanowiła zagościć w tym roku z JavaOne w 4 innych niż Stany krajach: Brazylii, Rosji, Indiach oraz Chinach.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Na koniec znalazłem wspomniane przez prezesa Oracle webcasty. Mowa tu o &lt;a href="http://www.oracle.com/events/productstrategy/index.html"&gt;"Oracle + Sun Product Strategy Webcast Series"&lt;/a&gt;, w których skład wchodzą filmiki informacyjne o takich produktach jak Java, wirtualizacja, cloud computing, SOA, OpenOffice i wiele innych (a wymieniam tu jedynie dział "Software Strategy"). Sam filmik o Javie nie jest długi - ma 16 minut, lecz możemy dowiedzieć się kilku ciekawych rzeczy:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;premiera Java SE7 odbędzie się jak planowano, tj. w 2010 roku,&lt;/li&gt;&lt;li&gt;dalszy rozwój technologii takich jak GlassFish, Java Mobile, Java FX, Java Cards etc,&lt;/li&gt;&lt;li&gt;scalenie API Java SE i ME (oraz innych produktów) - to jest zastanawiające. Osobiście nie wiem jak mam sobie to wyobrażać,&lt;/li&gt;&lt;li&gt;powtórzenie informacji o JavaOne i Oracje OpenWorld.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Niestety w obu materiałach używa się wielu szumnych haseł, a tak naprawdę bardzo mało jest szczegółów. Jednak podsumowując można być spokojnym (a przynajmniej takie wrażenie wywarły na mnie wszystkie przejrzane informacje), gdyż widać determinację firmy Oracle w rozwijaniu platformy Java. Ciekaw jestem dokładnych planów rozwoju platformy oraz dalszego losu certyfikacji, ale do tych informacji jeszcze się nie dostałem. Może ktoś z Was wie coś na ten temat i chciałby się swoją wiedzą podzielić?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5687651801714960121?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5687651801714960121/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/02/stategia-oracle-w-stosunku-do-produktow.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5687651801714960121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5687651801714960121'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/02/stategia-oracle-w-stosunku-do-produktow.html' title='Strategia Oracle po przejęciu Sun&apos;a'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-605472653394745385</id><published>2010-02-07T11:20:00.000-08:00</published><updated>2010-02-07T12:42:09.287-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sun Microsystems'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Historia przejęcia Sun'a przez Oracle</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Niedzielny, zimowy wieczór sprzyja leniuchowaniu. To już ponad tydzień jak sesja na obu kierunkach już się dla mnie skończyła (oczywiście z pozytywnymi wynikami :)), większość administracyjnych spraw mam już załatwionych, tak więc przyszedł czas na relaks, a po nim na załatwianie zaległych spraw i realizacje planu noworocznego. Na moim TODO znalazłem link do materiałów na temat przejęcia Sun Microsystems przez Oracle. Ale od początku...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na koniec 2006 roku firma Oracle, wiodący dostawca usług bazodanowych na świecie odnotował bardzo dobre wyniki finansowe. To przyczyniło się do kupna przez tą firmę kilku firm na przełomie 2007/2008 roku. Fuzji uległy takie firmy jak: MetaSolv (firma tworząca oprogramowanie dla telekomunikacji), BEA Systems (dostawca oprogramowania middleware dla potrzeb biznesowych) oraz Advanced Visual Technology - AVT (firma tworząca oprogramowanie aranżacyjne).  Potem przyszedł rok 2009...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Od jakiegoś czasu Sun Microsystems miał spore problemy finansowe. W końcu okazało się, że jedyną szansą dla firmy, jest fuzja z innym potentatem rynkowym. W marcu do opinii publicznej doszła informacja, jakoby IBM miało zaproponować wykup Sun'a za 6,5mld $ (cena giełdowa Sun'a na tamten czas to 3,7mld $). Już wtedy wiadomo było, że taka fuzja będzie oczkiem w głowie instytucji antymonopolowych. W dwa tygodnie później podano informacje, że IBM jest już u końca transakcji zakupu Słoneczka za nową cenę - 7mld $. Lecz Sun okazał się niełatwym partnerem, gdyż zaczął stawiać warunki, co do przejęcia. Po trzech dniach rozmowy IBM - Sun zostają zerwane. Prawdopodobnym powodem jest zaniżona cena akcji Sun Microsystems, którą IBM miałby zapłacić. Sun Microsystems stanęło w bardzo niebezpiecznej sytuacji.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W dwa tygodnie po zerwaniu rozmów Sun'a z IBM (tj. 20 kwietnia 2009r.) firmy Oracle i Sun Microsystems wydały oświadczenie, w którym informowały o zakupie firmy Sun przez Oracle za kwotę 7,4mld $. Zarząd firmy Sun Microsystems nie miał żadnych obiekcji do transakcji i zaakceptował ją jednogłośnie. Ta informacja ożywiła społeczność zgromadzoną wokół jednego z open source'owych projektów firmy Sun - OpenOffice'a - i dała nadzieję na dalszy rozwój w czasie, w którym projekt był w stanie stagnacji.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Problemy z przejęciem firmy zaczęły się w maju 2009r., kiedy to akcjonariusze firmy Sun Microsystems złożyli 3 pozwy zbiorowe, swój sprzeciw uzasadniając nieuczciwą i nieadekwatną do wartości firmy ceną. W tym samym okresie Sum podejrzewa, że mogło dojść do skorumpowania zagranicznych urzędników przez firmy amerykańskie, o czym informuje amerykańską Komisję Nadzoru Giełd (SEC).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pod koniec czerwca 2009r. Departament Sprawiedliwośc Stanów Zjednoczonych informuje o przedłużeniu dochodzenia w sprawie przejęcia Sun'a przez Oracle mającego na celu wyjaśnienie, czy transakcja nie łamie żadnych przepisów antymonopolowych oraz czy nie zachwieje rynkiem światowym. Jedna zarząd Oracle jest przekonany, że zgoda to tylko formalność i już zaciera ręce...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po ogłoszeniu decyzji przez urzędy antymonopolowe w USA, która zezwalała na transakcje, we wrześniu 2009r. Komisja Europejska zablokowała inwestycję. Powodem takiej decyzji KE była obawa, że społecznościowy, otwarty projekt, jakim jest MySQL będzie zagrożony. Rozpoczęto specjalne śledztwo mające na celu wyjaśnienie tych wątpliwości. Cała sytuacja stała się bardzo napięta. Sun Microsystems był zagrożony bankructwem, a Oracle, który chce wesprzeć firmę ogromnymi sumami pieniędzy, ma związane ręce. Co paradoksalne - Komisja Europejska ma przeciwdziałać monopolowi. W przypadku upadku firmy Sun, do którego w znacznym stopniu może się przyczynić, monopol firmy Oracle jedynie się umocni, zamiast zmniejszyć.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ponieważ śledztwo Komisji Europejskiej trwa bardzo długo i nie znany jest przypuszczalny werdykt, osoby trzecie postanawiają włączyć się do sprawy. Marten Mickos - szed MySQL w latach 2001 ~ 2008 - skierował apel do KE o nieblokowanie transakcji, zważywszy na szkodliwe skutki takiego działania komisji. W odpowiedzi na apel Mickos'a Monty Widenius - jeden z twórców MySQL'a - wyraził opinię, że gdy projekt będzie w rękach Oracle, konkurencja na rynku bazodanowym zmniejszy się, a sam produkt zostanie w znacznym stopniu zaniedbany. Takie stanowisko poparło Free Software Foundation.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;10 listopada 2009r. Komisja Europejska ogłasza werdykt negatywny w sprawie przejęcia firmy Sun Microsystems przez Oracle. Powodem takiej decyzji jest przekonanie komisji, że połączenie dwóch projektów bazodanowych tej rangi może poważnie zachwiać równowagę na rynku. W tym momencie nic nie wróżyło, by transakcja miała dojść do skutku, a Słoneczko uratowane przed bankructwem...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W odpowiedzi na werdykt KE senat Stanów Zjednoczonych wystosował apel do regulatora europejskiego o jak najszybsze rozwiązanie sprawy z przejęciem Sun'a. W swoim oświadczeniu senatorowie piszą: &lt;blockquote&gt;&lt;i&gt;Umowa pomiędzy Sun i Oracle została ogłoszona siedem miesięcy temu i do tej pory nie ma jej efektów. Dalsze opóźnienia ze strony Komisji Europejskiej mogą skutkować utratą wielu miejsc pracy w Stanach Zjednoczonych. Dlatego właśnie czujemy się upoważnieni do wysłania petycji z prośbą o szybszą decyzję.&lt;/i&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sugerowano także, że działania UE mają charakter polityczny, uderzający w gospodarkę i rynek amerykański. Samo Oracle nie zdaje się jedynie na dobre słowo senatorów amerykańskich - prosi wszystkich swoich strategicznych partnerów o wstawienie się przed KE w sprawie przejęcia firmy Sun Microsystems. Wkrótce potem 8 firm partnerskich Oracle (takich jak Ericsson, Vodafone, Brytyjska Agencja Broni Atomowej) zostało przesłuchanych przez komisję. W toku przesłuchań okazało się, że większość (a nie jak sądzono początkowo - wszystkie) firm popiera transakcję, co okazuje się ważną kartą przetargową dla Oracle. Oburzony Monty Widenius na łamach swojego bloga wystosował 14 grudnia  2009r. apel do czytelników, by Ci pomogli mu "uratować MySQL z łap Oracle". Sama firma Oracle postanowiła również wystosować oświadczenie kierowane do Komisji Europejskiej (jak i do swych partnerów i osób, które obawiają się przejęcia MySQL przez Oracle), w którym deklaruje się do rozwijania i dbania o MySQL. Wiązać się to ma ze sporymi zasobami pieniężnymi przeznaczonymi na MySQL, utworzeniem specjalnej komisji złożonej z klientów firmy nadzorującej rozwój projektu. Dodatkowo nie będzie przymusu wykupu płatnych licencji na wsparcie dla bazy, a także zobowiązano się do bezpłatnego udostępniania referencyjnego manual'a projektu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wszystkie te działania sprawiły, że Komisja Europejska dnia 21 stycznia 2010r., po 5-miesięcznym dochodzeniu antymonopolowym, wyraża zgodę na przejęcie firmy Sun Microsystems przez Oracle. Już po 6 dniach firma Oracle ogłosiła zakończenie procedur przejęcia Sun'a.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To tyle na temat historii przejęcia firmy sun Microsystems przez Oracle. W następnym poście napiszę jakie działania podjął i zapowiada podjąć gigant bazodanowy - firma Oracle - w kwestii produktów i usług, które zakupiła wraz z firmą Sun Microsystems z perspektywy zwykłego programisty Javy.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-605472653394745385?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/605472653394745385/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/02/historia-przejecia-suna-przez-oracle.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/605472653394745385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/605472653394745385'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/02/historia-przejecia-suna-przez-oracle.html' title='Historia przejęcia Sun&apos;a przez Oracle'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5282203280329588368</id><published>2010-01-08T16:37:00.001-08:00</published><updated>2010-01-08T17:09:55.185-08:00</updated><title type='text'>Plany na 2010 rok</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: small;"&gt;Witam w nowym roku!&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Zainspirowany wpisem na &lt;/span&gt;&lt;a href="http://jlaskowski.blogspot.com/2010/01/noworoczne-postanowienia-na-2010-znowu.html"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;blogu Jacka Laskowskiego&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; postanowiłem przemyśleć i zestawić najważniejsze rzeczy związane z Javą i ogólnie pojętą inżynierią oprogramowania, którymi chciałbym zająć się w 2010 roku. Oto i one:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Książki:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Pragmatic Unit Testing In Java With jUnit&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" Andrew Hunt, Dawid Thomas&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Better Builds with Maven&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" John Casey, Vincent Massol, Brett Porter, Carlos Sanchez, Jason van Zyl&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Head First Design Patterns&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;UML 2.0 Almanach&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" Dan Pilone, Neil Pitman&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Taming Java Threads&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" Allen Holub&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Techniki/technologie/frameworki/narzędzia:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Subversion (SVN) oraz Git&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Remote Method Invocation&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Eclipse SQL Explorer&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Obsługa XML'a w Javie&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;JDBC (razem ze sterownikami Server-side) oraz SQLJ&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Mockowanie&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Migracja z jUnit 3.X na 4.X&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Lepsze poznanie Maven2 i jakieś eksperymenty z Grandle&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Log4J&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Java Security Policy&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AWT/Swing/SWT - lepsze poznanie&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Kursy/certyfikaty:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;JavaBlackBelt: "&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Java SE Core - Intermed&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;", "&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Java SE Collections&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;", "&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Java SE Base API - Basic&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" oraz albo "&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;JDBC - Basic&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;" albo "&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;JUnit - Basic&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Sun Microsystems "&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The Java Tutorials&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Java Passion&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;Konferencje/JUG'i:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;4Developers&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GeeCON&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Trójmiasto Java User Group - muszę wreszcie się zorganizować i zacząć uczęszczać na spotkaniach...&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Jak widać jest tego trochę i jest to strasznie chaotyczne. Ostatnimi czasy mam sporo możliwości używania i uczenia się Javy na uczelni. Niestety nie mam czasu, by po kolei uczyć się dokładnie każdej rzeczy, tak więc uczę się minimum z danego zagadnienia, by wystarczyło do zrobienia projektu. Chciałbym to zmienić wreszcie i trochę bardziej dokładnie posiedzieć nad niektórymi rzeczami (jak np. Maven, jUnit czy wielowątkowość w Javie). Nie wiem ile z tego mi wyjdzie, ani jak mi to wyjdzie, ale jednego jestem pewien: rok 2010 sponsoruje literka 'J' jak Java :)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Najcudowniej byłoby nauczyć się pisać dobrze (i w ogóle) pluginy do Eclipse, ale to już raczej w najbliższej przyszłości pozostanie w sferze marzeń. Podobnie jak idea screencastów. Szkoda, bo rzeczy takie mobilizują do pracy, ale niestety (albo stety) "nie samą Javą człowiek żyje" :)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Na zakończenie serdeczne życzenia wszystkiego najlepszego w nowym roku!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Pozdrawiam!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5282203280329588368?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5282203280329588368/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2010/01/plany-na-2010-rok.html#comment-form' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5282203280329588368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5282203280329588368'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2010/01/plany-na-2010-rok.html' title='Plany na 2010 rok'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-6236093896023338452</id><published>2009-12-09T00:36:00.000-08:00</published><updated>2009-12-09T01:12:09.606-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><title type='text'>IT Academic Day</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;"Nie samą Javą developer żyje" - takie słowa usłyszałem kiedyś w trakcie rozmowy na na którejś z konferencji poświęconej Javie i technologiom z nią związanym. Dlatego postanowiłem wczoraj (8 grudnia) wybrać się na konferencję firmy Microsoft, która odbywała się na Politechnice Gdańskiej - "IT Academic Day - Politechnika Gdańska". Sam cykl &lt;/span&gt;&lt;/span&gt;&lt;a href="http://itad.pl/"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;"IT Academic Day"&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; jest cyklem objazdowych, jednodniowych konferencji firmy z Redmond mającej na celu przybliżenie studentom kierunków informatycznych platformę .NET i zaprezentowanie jej nowych możliwości.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Dzięki uprzejmości Doktora &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Ravindry Chhajlany, z którym mamy tego dnia zajęcia z Javy mogliśmy w ramach zajęć udać się na sąsiedni wydział i zanurzyć się choć na chwilę w platformie .NET 4.0. A więc po kolei:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Rejestracja użytkowników - po przybyciu na Wydział Elektroniki, Telekomunikacji i Informatyki byłem lekko zaskoczony: żadnych informacji o konferencji, żadnych plakatów, drogowskazów. Gdyby nie informacja ze strony imprezy nie mielibyśmy w ogóle pojęcia, że się jakakolwiek impreza tego dnia odbywa. Dopiero portierka poinformowała nas gdzie mamy się udać. Po przyjściu znowu zostałem niemile zaskoczony - stał tłum ludzi, ale nic się nie działo. Rejestracja powinna zacząć się jakiś czas temu, ale nie widać było żadnych oznak, by tak faktycznie było. Na całe szczęście po chwili zaczęto rejestrować uczestników i ku mojej uldze poszło to bardzo sprawnie. Na dobry początek konferencji każdy dostawał pamiątkowy długopis (Windows 7), notatnik, ankietę, identyfikator oraz z płytę z najnowszym oprogramowaniem antywirusowym firmy Kaspersky.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Po oficjalnym rozpoczęciu (którego dokonał Dziekan Wydziału ETI zgodnie z tradycją wszystkich tego typu imprez na Wydziale ETI) przyszedł czas na chyba najbardziej wyczekiwaną prelekcję tego dnia - "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Szyfrowanie - jak to działa? Kryptografia wczoraj i dzisiaj&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;". Zaczęło się bardzo obiecująco, bo od krótkiej zagadki. Należało jak najszybciej odszyfrować wiadomość podaną przez prowadzącego. Potem Bartosz tłumaczył w bardzo prosty sposób czym jest szyfrowanie, na jakiej zasadzie działają algorytmy szyfrujące (jak AES) etc. Niestety w moim odczuciu prelekcja była prowadzona zbytnio w stylu wykładu akademickiego przez co nie była tak przystępna jak być mogłaby.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Następnym punktem programu było podzielenie się wrażeniami z różnych edycji konkursu dla programistów .NET Imagine Cup trójki studentów z Politechniki Białostockiej. Całość była utrzymana w luźnej atmosferze, była masa ciekawych historyjek, sporo śmiechu - ot taki miły punkt dla rozluźnienia przed bardziej technicznymi wystąpieniami.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Prelekcja "&lt;/span&gt;&lt;/span&gt;&lt;span id="_ctl1_eventDetails_repeater__ctl9_name"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Procesor wielordzeniowy pod pełną kontrolą z wykorzystaniem możliwości Microsoft Parallel Extensions to the .NET Framework.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;" Marcina Iwanowskiego była przeze najbardziej wyczekiwaną tego dnia. Byłem ciekaw co też Microsoft przygotował dla programistów zabawiających się programowaniem równoległym. I nie zawiodłem się! Prowadzący bardzo fachowo, ale przystępnie opowiadał o nowym frameworku do .NET, porównywał go z poprzednimi rozwiązaniami w .NET 3.5. Udało mi się dojść do głosu i zadać prowadzącemu pytanie na temat Threadpool w .NET 4.0 - nie znał odpowiedzi, ale obiecał poprosić kolegów z firmy, którzy zajmują się aspektami technicznymi, aby wyjaśnili niejasności. Taka postawa bardzo miło mnie zaskoczyła! Do tego atrakcyjność prezentacji wzrastała z każdym kolejnym przykładem pokazywanym (czy to już gotowe programy, czy to kodowanie na żywo). Ogólnie była to chyba najlepsza prezentacja całej konferencji.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Kolejny punkt programu niestety nie był już tak ciekawy. Pod zwodniczym tytułem "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;User Experience&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;" tak naprawdę kryło się pokazanie podstawowych możliwości Windows Presentation Foundation (WPF). Było by dobrze, gdyby prowadzący wiedział co tak naprawdę chce nam przekazać. Już po kilku minutach przyznał się, że nie wie do kogo kierować tą prezentację, więc mówił wielkimi ogólnikami przez co skończył całość ponad pół godziny przed czasem. To szybsze skończenie prezentacji przesunęło cały harmonogram imprezy, ale nie ma tego złego :)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Ostatnia prezentacja - "Innowacje w Microsoft" Jana Kleczkowskiego okazała się luźnym przeglądem "nowych" technologii firmy Microsoft (nowych w cudzysłowie, bo pokazywano takie "nowinki" jak Internet Explorer 8). Była to kolejna prezentacja utrzymana w luźnej konwencji, co było dobrym pomysłem na koniec imprezy. Wiele kontrowersji wzbudziła prezentacja filmiku "Microsoft Future Vision":&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;&lt;center&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_BzUPJfVAoU&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_BzUPJfVAoU&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;Zakończenie imprezy było krótkie - zebrano ankiety, wylosowano nagrody (niestety nie załapałem się na koszulkę :() i podziękowano za przybycie.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;Podsumowując całą imprezę wyszła dobrze. Może i było parę niedoróbek, ale w ogólnym rozrachunku na pewno nie będę żałować czasu spędzonego na IT Academic Day :)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;Poniżej kilka fotek, które udało mi się zrobić mimo kiepskiego oświetlenia w sali:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;&lt;center&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.pl/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.pl&amp;amp;hl=pl&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.pl%2Fdata%2Ffeed%2Fapi%2Fuser%2Fdarkstariw%2Falbumid%2F5413151564134575553%3Falt%3Drss%26kind%3Dphoto%26hl%3Dpl" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/center&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium;"&gt;Pozdrawiam!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-6236093896023338452?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/6236093896023338452/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/12/it-academic-day.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6236093896023338452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/6236093896023338452'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/12/it-academic-day.html' title='IT Academic Day'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-4157510924995945814</id><published>2009-11-26T00:36:00.000-08:00</published><updated>2009-11-26T00:54:28.321-08:00</updated><title type='text'>Zasada dobrego harcerza</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Przeglądając blogi polskiej społeczności Javowej natknąłem się ostatnio na bardzo ciekawy wpis na &lt;a href="http://it-researches.blogspot.com/"&gt;blogu Piotra Paradzinskiego - IT Researches&lt;/a&gt; mówiący o &lt;a href="http://it-researches.blogspot.com/2009/11/cechy-dobrego-programisty-wywiad-2.html"&gt;dobrych cechach programisty&lt;/a&gt;. Pojawiło się tam pojęcie "Zasady dobrego harcerza" (ang. "The Boy Scout Rule"). Mówi ona o tym, byśmy pozostawiali miejsce naszego pobytu w stanie lepszym, niż je zastaliśmy. Oczywiście można tą zasadę zastosować do naszego codziennego życia programisty. Przykładowo, gdy korzystamy z jakiegoś modułu/biblioteki, postarajmy się ją trochę poprawić: czy to przez poprawienie/dopisanie dokumentacji, czy to przez poprawniejsze/bardziej intuicyjne nazwanie zmiennych etc. Sam często łapię się na tym, że jak po raz któryś korzystam z wcześniej napisanego kawałka kodu staram się go ulepszyć, bo znam już jego słabsze strony. Dzięki temu w późniejszym czasie pracuje mi się z nim łatwiej i przyjemniej i żyje w przekonaniu, że jest mniej awaryjny. Nie mówimy tu o drastycznych zmianach, tylko takich małych, które nie zabiorą nam zbyt wiele czasu a przyniosą w przyszłości znaczne korzyści.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Szersze omówienie tematu można znaleźć na stronie &lt;a href="http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule"&gt;O'REILLY commons&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam, Łukasz&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-4157510924995945814?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/4157510924995945814/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/11/zasada-dobrego-harcerza.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4157510924995945814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/4157510924995945814'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/11/zasada-dobrego-harcerza.html' title='Zasada dobrego harcerza'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-661603626774792653</id><published>2009-11-11T14:11:00.000-08:00</published><updated>2009-11-26T12:04:04.644-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse and Java Using the Debugger</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;"Eclipse and Java Using the Debugger" jest trzecim z rzędu video tutorialem, który przerobiłem z serii "Eclipse And Java: Free Video Tutorials". Mimo iż w często się słyszy, że Debuggera nie powinno się używać, a zamiast tego powinno się pisać testy jednostkowe (o czym mam nadzieję napisać coś więcej w przyszłości) to jednak wydaje mi się, że początkujący programista powinien poznać to narzędzie. Osobiście długo unikałem wszelkiej maści debuggerów (C, C++, C#), ale nie można przed tym wiecznie uciekać :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W kursie, o którym mowa, zawarto wiele podstawowych informacji. Czasem ma się wrażenie, że prowadzący narzuca zbyt wolne tępo, ale może to wynikać z mojej przerwy w kursie i dłuższej już pracy z Eclipsem. Jednak jak sam się na własnej skórze przekonałem warto przeczekać "wolniejsze momenty", bo bardzo łatwo może nam coś umknąć i potem będzie trzeba szukać tego po całym filmie. Tutorial jest podzielony na dwie części:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;podstawy (odcinki 1 - 4)&lt;/li&gt;&lt;li style="text-align: justify;"&gt;techniki zaawansowane (5 - 7)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Z pierwszej części co warto sobie zanotować (przyswoić) na przyszłość to na pewno skróty klawiaturowe:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Ctrl + R = Run to line&lt;/i&gt; - wykonuje wszystkie instrukcje między aktualną pozycją a pozycją kursora,. Dzięki temu nie musimy używać wielu breakpoint'ów, wystarczy przejść w odpowiedni kawałek kodu i przeskakujemy nie interesujący nas w danej chwili fragment programu&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Alt + Shift + Up&lt;/i&gt; - zaznaczenie kolejnego elementu kodu&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;Alt + Shift + Down&lt;/i&gt; - odznaczenie kolejnego elementu kodu&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Z istotnych własności debuggera warto pamiętać, że gdy wykonamy jakieś zmiany na kodzie, który aktualnie debuggujemy, Eclipse automatycznie zrestartuje aktualną sesję z nową wersją kodu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ostatnią bardzo ciekawą i przydatną funkcją tego narzędzia jest "Drop to frame". Zawsze zastanawiałem się, dlaczego nie zaimplementowano żadnej opcji powracania do wcześniejszego stanu sesji, zamiast restartowania sesji i przechodzenia wszystkich kroków od nowa? Otóż okazuje się, że w obrębie danego bloku możemy powracać do kodu, który już się wykonał (a przez to przywracać wcześniejszy stan aplikacji). W tym celu zaznaczamy przechodzimy kursorem w wybrane miejsce i naciskamy przycisk "Drop to frame" (obok pozostałych przycisków pozwalających sterować przebiegiem procesu debuggowania). W tym momencie wszystkie zmienne zostaną zmienione do stanu wcześniejszego, a my możemy w bardzo szybki i wygodny sposób przeanalizować ponownie wybrany fragment kodu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Część zaawansowana tutorialu trochę mnie  zawiodła.  Oczywiście pojawiły się ciekawe informacje jak np. Hit Count, Conditional Breakpoint, Watchpoints, czy akternatywne JRE przeznaczone z myślą o debuggowaniu i umożliwiające śledzenie działania metod systemowych (na przykładzie LinkedList). Jednakże ostatnie dwie lekcje (o referencjach do obiektów oraz metodach rekurencyjnych) były nużące i poza niewielką liczbą informacji o debuggerze opiewały samą Javę i jej cechy. Oczywiście jest to tutorial nie tylko do Eclipse, ale także do samej Javy, lecz uważam, że takie lekcje powinny się znaleźć w innym kursie.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ogólnie kurs oceniam na 7/10. Mogłoby być lepiej, ale i tak nie uważam czasu nad nim spędzonego za zmarnowany i polecam przejrzenie go każdemu, kto jest nowy (i nie tylko) w Eclipse.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Warty zaznaczenia jest fakt, że prowadzący korzysta z Eclipse w wersji 3.3. W najnowszej wersji Galileo istnieją pewne różnice w interfejsie, lecz sama funkcjonalność pozostaje niezmieniona.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na koniec stadardowo garść linków:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://eclipsetutorial.sourceforge.net/debugger.html"&gt;Strona domowa "Using the Debugger"&lt;/a&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://sourceforge.net/projects/eclipsetutorial/files/3.%20Debugger%20Tutorial/"&gt;Strona projektu, na której można ściągnąć tutorial&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam, Łukasz.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-661603626774792653?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/661603626774792653/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/11/eclipse-and-java-using-debugger.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/661603626774792653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/661603626774792653'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/11/eclipse-and-java-using-debugger.html' title='Eclipse and Java Using the Debugger'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3103799875303976763</id><published>2009-11-11T05:46:00.000-08:00</published><updated>2009-11-26T00:55:07.920-08:00</updated><title type='text'>Reaktywacja i zmiany na blogu</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam serdecznie po sporej przerwie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wiele się działo przez ostatnie trzy miesiące. Wielu rzeczy się nauczyłem, wiele rzeczy poznałem i wiele rzeczy się wydarzyło. Niestety w tym całym natłoku zajęć nie starczyło czasu na rozwijanie bloga, a szkoda. Teraz nadszedł czas, by to wszystko naprawić. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Zaczynamy od zmienionego wyglądu bloga! Wiem, że to niewiele i że styl nie jest doskonały, ale tak to jest, gdy korzysta się z gotowych szablonów i nie ma się czasu/umiejętności na ich dostosowywanie. Osobiście skorzystałem z serwisu &lt;a href="http://btemplates.com/"&gt;Blogger Templates&lt;/a&gt;. Ale i tak efekt jest znacznie lepszy niż przy poprzedniej szacie graficznej. Wraz z nowym szablonem dodałem nowy moduł - "Subskrybuj", który osobiście bardzo lubię na innych blogach, a który znacznie ułatwia zarządzanie kanałami RSS/Atom.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na razie to tyle zmian. Przyszedł czas na zapoznanie się dokładne z Debuggerem Eclipse'a ("Eclipse and Java Using the Debugger") i o tym właśnie będzie kolejny wpis.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3103799875303976763?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3103799875303976763/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/11/reaktywacja-i-zmiany-na-blogu.html#comment-form' title='Komentarze (5)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3103799875303976763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3103799875303976763'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/11/reaktywacja-i-zmiany-na-blogu.html' title='Reaktywacja i zmiany na blogu'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-758183875212504476</id><published>2009-08-18T14:30:00.000-07:00</published><updated>2009-11-26T12:04:32.530-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='certyfikaty'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaBlackBelt'/><title type='text'>Żółty pas na JavaBlackBelt!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1cOqhuGJLjc/SosfY2kzw5I/AAAAAAAAFOQ/mMI6eaRlQyI/s1600-h/javablackbelt.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 135px;" src="http://4.bp.blogspot.com/_1cOqhuGJLjc/SosfY2kzw5I/AAAAAAAAFOQ/mMI6eaRlQyI/s400/javablackbelt.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5371421492396671890" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ostatnie dni stały się bardzo pracowite. Staram się zdobywać jak najwięcej wiedzy posiąść i pracować nad mini-projektami (nie tylko programistycznymi). Dzięki ogromnej pomocy Mateusza Mrozewskiego nauczyłem się ostatnio więcej o programowaniu (w teorii jak i praktyce) więcej niż przez ponad semestr na studiach. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ale co innego studia a co innego praca nad konkretnym problemem :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Rendy Pausch powiedział w trakcie słynnego "Ostatniego wykładu" takie słowa: "Mury stają na naszej drodze do celu nie po to, żeby nam przeszkodzić w dotarciu do tego celu, a żeby pokazać nam jak bardzo zależy nam na tym celu.". Takim murem był ostatnio egzamin "OO for Java - Basic" na JavaBlackBelt.com. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dziś wieczór coś mnie podkusiło i postanowiłem jeszcze raz podejść do niego. I wiecie co? Zdałem!!&lt;/div&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/Sosey1g-LjI/AAAAAAAAFOI/vVgRq6vQmxU/s400/OO+for+Java+-+Basic.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 354px; height: 119px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5371420839277112882" /&gt;&lt;div&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Taki mały sukces bardzo mnie podbudował i utwierdził w przekonaniu, że warto zdobywać wiedzę, warto się uczyć a jak się człowiek uczy, to bardzo szybko można dostrzec rezultaty.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dodatkowo z tej okazji dodałem dwa nowe elementy na blogu:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;pole z etykietami&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;pole z moim aktualnym statusem na JavaBlackBelt&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Oba te pola znajdują się w lewym pasku nawigacyjnym.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na zakończenie standardowa garść linków:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.javablackbelt.com/UserView.wwa?userId=10069193"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mój profil na JavaBlackBelt&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=ji5_MqicxSo"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;"Ostatni wykład" Rendy'ego Pauscha (wersja HQ!)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-758183875212504476?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/758183875212504476/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/08/zoty-pas-na-javablackbelt.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/758183875212504476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/758183875212504476'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/08/zoty-pas-na-javablackbelt.html' title='Żółty pas na JavaBlackBelt!'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1cOqhuGJLjc/SosfY2kzw5I/AAAAAAAAFOQ/mMI6eaRlQyI/s72-c/javablackbelt.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-551803052907896746</id><published>2009-08-06T10:32:00.001-07:00</published><updated>2009-08-06T10:46:02.851-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Using the Eclipse Workbench</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Tak bardzo spodobał mi się toturial "Eclipse and Java for Total Beginners", że postanowiłem ściągnąć i zapoznać się z dwoma innymi video kursami Marka Dexter'a - "Using the Eclipse Workbench" i "Eclipse and Java Using the Debugger". Na pierwszy ogień poszedł Workbench i oto kilka moich przemyśleń:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;skróty klawiszowe naprawdę przyspieszają pracę z Eclipsem&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Eclipse jest edytorem o ogromnej ilości funkcjonalności, które użytkownik może skonfigurować według swojego wyobrażenia&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;domyślne ustawienia Eclipsa są bardzo wygodne i sprawiają wrażenie prostych (i takie są w rzeczywistości!). To często problem, gdy uruchamiamy jakiś program (jak np. IDE) i pojawia się nam okno z ogromną ilością nieznanych funkcji i kontrolek i nie wiemy co zrobić. Tutaj tak nie jest! :)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W rozdziale piątym jest mowa o używaniu zdefiniowanych już skrótów klawiszowych w celu przyspieszenia codziennej pracy z programem. Nie jest ich tak wiele, ale mało też nie, dlatego postanowiłem je spisać i umieścić je tutaj (wraz z opisem):&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + S&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Save (!!)&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Shift + L&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Key assist (!!)&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + M&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Maximalize&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Z&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Undo&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Alt + Up Arrow&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Move's line up &lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Alt + Down Arrow&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Move's line down&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Alt + Up Arrow&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Copy line(s) up // niestety u mnie skrót ten nie chciał zadziałać&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Alt + Down Arrow&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Copy line(s) down // niestety u mnie skrót ten nie chciał zadziałać&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Left Arrow&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Move to previous word&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Right Arrow&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Move to next word&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Shift + Left Arrow&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Add previous word to selection&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Shift + Right Arrow&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Add next word to selection&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + D&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Delete current line&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Shift + Delete&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Delete to the end of line&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + F&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Find / Replace&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + J&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Incremental find next&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Shift + J&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Reverse incremental find&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + Shift + Q&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Quick Diff&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + 3&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Quick Access&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Ctrl + E&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; = Quick Switch Editor&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Z początku ilość skrótów może przytłaczać, ale należy pamiętać, że czeka nas wiele lat pracy z Eclipsem (lub podobnym IDE, jak np. NetBeans) i w toku pracy nauczymy się je wykorzystywać nawet o tym nie myśląc :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Garść linków:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://live.eclipse.org/node/469"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Strona domowa "Using the Eclipse Workbench"&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://sourceforge.net/projects/eclipsetutorial/files/Eclipse%20Workbench/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Pliki projektu na łamach serwisu SourceForge.net&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-551803052907896746?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/551803052907896746/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/08/using-eclipse-workbench.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/551803052907896746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/551803052907896746'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/08/using-eclipse-workbench.html' title='Using the Eclipse Workbench'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-2181946839777821787</id><published>2009-08-06T07:08:00.000-07:00</published><updated>2009-08-06T07:33:54.842-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Code Conventions</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;W trakcje przerabiania kolejnych przykładów z "Thinking in Java" B. Eckel'a zacząłem ponownie zastanawiać się nad tym jak powinienem formatować kod programu. Szybki mail do &lt;a href="http://tech.mrozewski.pl/"&gt;Mateusza&lt;/a&gt; i już mam odpowiedź!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po pierwsze bardzo wartościową lekturą jest "Code Conventions for the Java Programming Language" - oficjalna dokumentacja Sun Microsystems Inc. omawiająca ich standard formatowania kodu. Lektura łatwa i przyjemna, bo do dosłownie każdego punktu dołączony jest minimum jeden przykład (a często jest ich więcej, by pokazać jak należy, a jak nie należy robić). Dokument jest wydany w kilku wersjach (HTML, PDF, PostScript) tak więc każdy znajdzie coś dla siebie. Co prawda do niektórych wytycznych będzie mi się ciężko przyzwyczaić (jak np. brak spacji między nazwą metody a nawiasem z argumentami w definicji klasy) ale uważam, że warto - zaoszczędzę sobie wiele wysiłku w przyszłości na zmianę długo utrwalanych, złych nawyków i będzie mi łatwiej pracować w zespole.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ponieważ zacząłem używać Eclipse'a &lt;a href="http://tech.mrozewski.pl/"&gt;Mateusz&lt;/a&gt; podpowiedział mi ciekawą funkcję tego IDE. Jeśli użyjemy skrótu klawiszowego &lt;i&gt;Ctrl + Shift +F&lt;/i&gt; (lub w menu wybierzemy &lt;i&gt;Source -&gt; Format&lt;/i&gt;) program automatycznie sformatuje nasz projekt według oficjalnych wytycznych. Jeśli dodamy do tego możliwość konfigurowania w znacznym stopniu szablonów (&lt;i&gt;Windows -&gt; Preferences -&gt; Java -&gt; Code Style&lt;/i&gt;) wychodzi, że w bardzo krótkim czasie i małym nakładem pracy będziemy mieli kod czytelniejszy i wygodniejszy do edycji. Viva CASE programs! ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Garść linków:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://java.sun.com/docs/codeconv/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;"Code Conventions for the Java Programming Language"&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;a href="http://tech.mrozewski.pl/"&gt;Blog Mateusza Mrozewskiego&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;P. S. Chciałem z tego miejsca gorąco podziękować za pomoc Mateusza, gdyż jest on nieocenionym nauczycielem! Dziękuję!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-2181946839777821787?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/2181946839777821787/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/08/code-conventions.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2181946839777821787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2181946839777821787'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/08/code-conventions.html' title='Code Conventions'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-1546997942466876650</id><published>2009-08-02T06:36:00.000-07:00</published><updated>2009-08-02T06:56:24.240-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Eclipse and Java for Total Beginners</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam serdecznie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Przyszedł czas na pewne zmiany na blogu. Do tej pory sądziłem, że dobrym pomysłem będzie opisywanie w podobny sposób jak &lt;a href="http://jaceklaskowski.pl/"&gt;Jacek Laskowski&lt;/a&gt; rozdziałów książek, które będę przerabiał. Okazało się to głupotą i ogromną stratą czasu! Tak więc od teraz nie będzie takich postów, chyba że gdzieś znajdę jakiś krótki, ciekawy rozdział, który naprawdę będzie warty omówienia w całości.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Druga zmiana to podejście do samej nauki Javy. Do tej pory byłem przekonany, że najlepszym sposobem na nauczenie się fundamentów Javy będzie pisanie w najprostszym notatniku i kompilacja z linii komend, żebym wiedział dokładnie co się dzieje. Po korespondencji z &lt;a href="http://tech.mrozewski.pl/"&gt;Mateuszem Mrozewskim&lt;/a&gt; postanowiłem nauczyć się podstaw Eclipse'a i swojego pierwszego frameworka - jUnit'a.  Stało się tak dlatego, że dostałem od Mateusza projekt Eclipsowy, który pokazywał jak w prosty sposób można testować swoje programy już na początku nauki Javy. Niestety nie znałem Eclipse'a więc nie za wiele mogłem zwojować, ale...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po chwili wyszukiwania w Google znalazłem kurs video pt. "Eclipse and Java for Total Beginners". Jest to seria 16 odcinków krok po kroku pokazujących jak obsługiwać Eclipse i jak programować w Javie autorstwa Marka Dextera. Pierwsze cztery odcinki są przeznaczone dla osób nie znających żadnego języka programowania. Kolejne to podstawy jUnit oraz TDD (Test-Driven Development). Samo podejście TDD jest dość dziwne w odbiorze z początku, ale osobiście bardzo do mnie przemawia po wykonaniu kilku prostych testów. Cały kurs trwa 3,5 godziny i uważam, że nie jest to czas w żadnych razie stracony.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i do kolejnego razu!&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Garść linków:&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;a href="http://jlaskowski.blogspot.com/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Blog Jacka Laskowskiego&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;a href="http://tech.mrozewski.pl/"&gt;Blog Mateusza Mrozewskiego&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;a href="http://www.eclipse.org/resources/resource.php?id=392"&gt;Strona projektu "Eclipse and Java for Total Beginners"&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;a href="http://sourceforge.net/projects/eclipsetutorial/files/1.%20Total%20Beginners/"&gt;Pliki projektu "Eclipse and Java for Total Beginners"&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;Test-driven development (Wikipedia.org&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-1546997942466876650?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/1546997942466876650/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/08/eclipse-and-java-for-total-beginners.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1546997942466876650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1546997942466876650'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/08/eclipse-and-java-for-total-beginners.html' title='Eclipse and Java for Total Beginners'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3596815419121619435</id><published>2009-07-23T14:55:00.000-07:00</published><updated>2009-11-11T05:42:54.009-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java - ćwiczenia praktyczne'/><title type='text'>Rozdział 2. "Zmienne, operatory i instrukcje"</title><content type='html'>Witam po długiej przerwie!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Czas najwyższy zabrać się za podstawy programowania w Javie. Jak wcześniej wspomninałem zajmiemy się najpierw książką Marcina Lisa, lecz postanowiłem przerobić jedynie kilka z jej rozdziałów:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Rozdział 1. "Krótkie wprowadzenie" (już omówiony)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Rozdział 2. "Zmienne, operatory i instrukcje" (będący przedmiotem rozważań w tym poście)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Rozdział 3. "Obiekty i klasy"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Rozdział 4. "Wyjątki"&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Dlaczego jedynie 4 z 11 rozdziałów? Ano dlatego, że są one esencją podstawowych wiadomości jakie potrzebuje osoba chcąca pisać programy w Javie zgodnie z ideą programowania zorientowanego obiektowo, lecz nie wchodząc zbyt szczegółowo w samą teorię OOP. Dzięki tej wiedzy znacznie łatwiej (i szybciej) będziemy mogli przejść do najważniejszej dla Javisty książki na początku jego wędrówki - "Thinking in Java." w wydaniu IV (polskim). Do tego chciałbym przeplatać te posty różną dodatkową wiedzą, a więc całość będzie krótsza, spójniejsza i bardziej oparta na kodzie i przykładach niż na teorii.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A więc do roboty!! :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pierwsza część rozdziału 2 opowiada o zmiennych typu prostego. Możemy je podzielić na:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;typy całkowitoliczbowe (takie jak byte, short, int i long) - do przechowywania liczb całkowitych&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;typy zmiennopozycyjne (float i double) - do przechowywania liczb posiadających część ułamkową&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;typ boolean - logiczny typ przyjmujący jedynie dwie możliwe wartości: true oraz false&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;typ char - służący do reprezentacji znaków Unicode (choć czasem używa się go do operacji arytmetycznych)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Zmienne deklarujemy w następujacy sposób:&lt;/div&gt;&lt;div&gt;typ_zmiennej &lt;pre class="prettyprint lang-java"&gt;nazwa_zmiennej;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Natomiast odpowiednią wartość nadajemy poprzez zapis:&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint lang-java"&gt;nazwa_zmiennej = wartość;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Programy pokazujące operowanie na zmiennych typu prostego mają numery od 1 do 3.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Następnym istotnym i występującym obecnie chyba w każdym języku programowania elementem są tablice. Dzięki tablicy możemy deklarować wiele zmiennych tego samego typu i połączyć je w taki sposób, że odwoływanie się do kolejnych zmiennych będzie bardzo szybkie i proste. Struktura deklaracji tablicy wygląda następująco:&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint lang-java"&gt;typ_zmiennej nazwa_tablicy[] = new typ_zmiennej[rozmiar_tablicy];&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Natomiast odwołanie się do i-tego elementu tej tablicy:&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint lang-java"&gt;nazwa_tablicy[index];&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;przy czy index jest liczony od 0 do rozmiar_tablicy - 1!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tablice takie (w przeciwieństwie do niektórych kontenerów, o których już za kilka postów) mają stałą, z góry ustaloną wielkość. Nasuwa się więc pytanie co się stanie, gdy zechcemy odwołać się do elementu nieistniejącego (przekraczającego rozmiar)? Nie możemy wykonać takiego odwołania, ponieważ już na etapie kompilacji kompilator rozpozna taką sytuację i przekaże nam na ten temat stosowną informację! Czyż to nie piękne? ;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;W omawianym rozdziale znajdziemy informacje takie jak operacje arytmetyczne na zmiennych, dzielenie modulo operatory inkrementacji i dekrementacji (zarówno pre jak i post), operatory logiczne, przypisania. Ja chciałbym się natomiast skupić na kilku ważnych rzeczach:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Operator warunkowy:&lt;/div&gt;&lt;div&gt;&lt;pre class="prettyprint lang-java"&gt;warunek ? wartość1 : wartość2;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jest bardzo użytecznym operatorem. W przypadku, gdy warunek będzie prawdziwy operator zwróci wartość 1, natomiast jeśli fałszywy wartość 2. Jest to prosta konstrukcja, która dosyć często potrafi sprawić, że kod jest krótszy i czytelniejszy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Instrukcja warunkowa if...else oraz if...else if: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;if (wyrażenie_warunkowe) {&lt;br /&gt;// instrukcje do wykonania, jeśli warunek jest prawdziwy&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;// instrukcje do wykonania, jeśli warunek jest fałszywy&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;if (warunek1) {&lt;br /&gt;// instrukcje 1&lt;br /&gt;}&lt;br /&gt;else if (warunek2) {&lt;br /&gt;// instrukcje 2&lt;br /&gt;}&lt;br /&gt;else if (warunek3) {&lt;br /&gt;// instrukcje 3&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;// instrukcje 4&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Instrukcje w klamrach są blokami kodu, nie koniecznie pojedyńczymi instrukcjami. W pierwszym przypadku sytuacja jest analogiczna do operatora warunkowego. Jeśli warunek jest prawdziwy wykona się pierwszy blok kodu, jeśli fałszywy drugi blok. Czasem jednak jest tak, że dana sytuacja/problem może mieć więcej niż dwa rozwiązania. Wtedy stosujemy drugą konstrukcję. Przy konstruowaniu złożonych instrukcji warunkowych if...else nalezy pamiętać, że jeśli prawdziwe są dwa warunki, to wykonany zostanie jedynie tej występujący wcześniej.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) Instrukcja wyboru switch:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;switch (a) {&lt;br /&gt;case 1:&lt;br /&gt; instrukcje1;&lt;br /&gt; break;&lt;br /&gt;case 50:&lt;br /&gt; instrukcje2;&lt;br /&gt; break;&lt;br /&gt;case 23:&lt;br /&gt; instrukcje3;&lt;br /&gt; break;&lt;br /&gt;default:&lt;br /&gt; instrukcje4;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Switch jest bardzo podobny do instrukcji if...else if lecz jest bardziej praktyczny w przypadku, gdy jako warunek logiczny występuje sprawdzenie, czy dana liczba całkowita ma określoną wartość (kolejne przypadki, ang. case). Instrukcja break podowuje wyjście z bloku switch (ale o tym za chwilę).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4) Pętla for:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;for (wyrażenie_początkowe; wyrażenie_warunkowe; wyrażenie_modyfikujące) {&lt;br /&gt;// instrukcje do wykonania&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pętla for wykonuje określoną (przynajmniej taka jest dobra praktyka) ilośc razy instrukcje wewnątrz jej bloku. Wyrażenie początkowe, warunkowe i modyfikujące mogą znajdować się poza nawiasem, lecz należy wtedy bardzo uważać, by nie spowodować, że pętla będzie się wykonywać w nieskończoność (co jest częstym błędem początkujących programistów w każdym języku programowania, tak więc nie ma co się przejmowac, a jedynie starać się uczyć na błędach :)).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5) Pętle while i do...while:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;while (wyrażenie_warunkowe) {&lt;br /&gt;// instrukcje&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;do {&lt;/div&gt;&lt;div&gt;  // instrukcje&lt;/div&gt;&lt;div&gt;} while (wyrażenie_warunkowe);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;W przypadku obu tych pętli zazwyczaj ilość iteracji nie jest z góry znana, więc pętla, jak sama nazwa wskazuje, będzie wykonywać się do momentu spełnienia warunku. Pętla do...while będzie wykonana zawsze conajmniej raz, ponieważ sprawdzenie warunku wyjścia z pętli jest sprawdzane dopiero po wykonaniu bloku instrukcji.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6) Pętla foreach:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;for (typ val : tablica) {&lt;br /&gt;// instrukcje&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pętla ta jest nowością w Javie od wersji 1.5. Jest ogromną zaletą i przeznaczeniem jest przejrzenie wszystkich elementów tablicy i wykonywanie instrukcji na nich. Dzięki temu nie musimy znać rozmiaru tablicy, by przejrzeć wszystkie jej elementy! Typ val musi być zgodny z typem tablicy. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7) Instrukcje break i continue:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;break - służy do natychmiastowego przerwania wykonywania pętli&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;continue - powoduje przerwanie bieżącej iteracji pętli i rozpoczęcie kolejnej&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Postarałem się w dosyć krótki i spójny sposób zebrać najważniejsze informacje z tego rozdziału. Mam nadzieję, że następnym razem wyjdzie trochę mniej książkowo i będę operował na większej ilości kodu w samej treści postu. Bardzo gorąco zachęcam do zapoznania się z kodami źródłowymi zadań rozdziału 2, gdyż to one pokazują prawdziwe działanie i istotę rzeczy omawianych w tym cyklu postów. Znaleźć je można pod adresem: &lt;a href="http://github.com/Smoczysko/Java.Cwiczenia-praktyczne/"&gt;http://github.com/Smoczysko/Java.Cwiczenia-praktyczne/&lt;/a&gt; -&gt; Rozdział 2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pozdrawiam i do następnego razu!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3596815419121619435?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3596815419121619435/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/07/rozdzia-2-zmienne-operatory-i.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3596815419121619435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3596815419121619435'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/07/rozdzia-2-zmienne-operatory-i.html' title='Rozdział 2. &quot;Zmienne, operatory i instrukcje&quot;'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-9126873766621237572</id><published>2009-07-06T09:51:00.000-07:00</published><updated>2009-08-06T09:41:50.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='Grzegorz Duda'/><category scheme='http://www.blogger.com/atom/ns#' term='COOLuary'/><title type='text'>Podsumowanie COOLuarów i Java Guide</title><content type='html'>&lt;div style="text-align: justify;"&gt;Witam serdecznie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na łamach dWorld.pl Grzegorz Duda (organizator konferencji COOLurary) zamieścił podsumowanie imprezy z jego perspektywy. Lektura krótka, zwięzła i przyjemna więc zachęcam do przeczytania. Artykuł znajdziecie pod tyn &lt;a href="http://dworld.pl/2009/07/06/cooluary-v2-za-nami/"&gt;adresem&lt;/a&gt;. Co ciekawe, w treści artykuły znalazły się odnośniki do moich spostrzeżeń na temat imprezy jak i do galerii zdjęć, które umieszczałem na grupie dyskusyjnej Trójmiejskiej Grupy Użytkowników Java (TJUG).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dodatkowo zachęcam wszystkich bardzo gorąco do wzięcia udziału w konkursie &lt;a href="http://09.jdd.org.pl/JavaGuide"&gt;Java Guide&lt;/a&gt;!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam serdecznie!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;P.S. Wiem, że powinienem napisać coś na temat pierwszych rozdziałów książki o ćwiczeniach z Javy, ale niestety choroba bardzo skutecznie mi to uniemożliwiła. Mam nadzieję, że ten stan się bardzo szybko zmieni.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-9126873766621237572?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/9126873766621237572/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/07/podsumowanie-cooluarow-i-java-guide.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/9126873766621237572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/9126873766621237572'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/07/podsumowanie-cooluarow-i-java-guide.html' title='Podsumowanie COOLuarów i Java Guide'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-2884633977983999815</id><published>2009-06-29T16:24:00.000-07:00</published><updated>2009-06-30T12:41:20.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='Grzegorz Duda'/><category scheme='http://www.blogger.com/atom/ns#' term='COOLuary'/><title type='text'>COOLuary V.2 - Dzień drugi</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1cOqhuGJLjc/SklN7Plyk5I/AAAAAAAAEqU/ah3SWP3oXPk/s1600-h/COOLuaryV2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 111px;" src="http://2.bp.blogspot.com/_1cOqhuGJLjc/SklN7Plyk5I/AAAAAAAAEqU/ah3SWP3oXPk/s400/COOLuaryV2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5352895312299201426" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Poprzedni post o pierwszym dniu COOLuarów V.2 zacząłem od słów, że każda konferencja jest inna. Po zakończeniu drugiego dnia konferencji mogę powiedzieć, że na COOLuarach każdy dzień jest inny...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Niedziela nie zapowiadała się zbyt ciekawie. Zimny wiatr, okropna mgła, jednym słowem - nic zachęcającego. Za to po przybyciu do hotelu moje wszelkie wątpliwości co do tego, czy dzień spędzę udanie odeszły jak to mówią jak ręką odjął. Filiżanka kawy (albo i dwie? :) ), ciasteczko, rozmowy o dniu wczorajszym, zadawanie pytań, których wczoraj nie udało mi się zadać. Tak jak wspomniałem, drugi dzień konferencji różnił się znacząco od pierwszego. Tego dnia miała miejsce sesja sponsora (forma e-point.pl) i dwie sesje trzygodzinnych warsztatów.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pierwsza była sesja firmy e-point na temat "Nie samą Javą Developer żyje...". Początkowo bardzo sceptycznie podchodziłem do tej prelekcji, nie wiedziałem czego się spodziewać, ale wystarczyło posłuchać przez 5 minut i już człowiek sam zastanawiał się, dlaczego do tej pory nie zauważał pewnych niuansów przy tworzeniu oprogramowaniu. Do tego bardzo mi się podobała postawa prowadzącego, który podkreślał kilka razy, że jeśli ktoś ma jakiekolwiek pytania po konferencji to może do niego śmiało pisać na podanego na slajdach maila. Prelekcja udana, pouczająca i pozytywnie nastawiająca na dalsze atrakcje.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na pierwszą sesję warsztatów wybrałem się do Sławomira Gintera, który prowadził wprowadzenie do Google Aps Engine. Jedynym minusem był fakt, że nie było przez większość czasu internetu (w końcu jeden z uczestników warsztatów obdarował nas swoim mobilnym internetem i mogliśmy zobaczyć Google Aps Engine on-line) i musieliśmy pracować offline bez deploy'owania aplikacji. Podobało mi się bardzo jak prowadzący odpowiadał na każde, nawet najprostsze pytania i nie czuło się żadnego wywyższania. Potem rozmowa zeszła ogólnie na Google i rozwiązania tej firmy. Z dwóch warsztatów, na których byłem ten był najlepszy!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po obiedzie udaliśmy się na troszkę opóźnione (tak mi się wydaje) warsztaty z Flex i Flash dla programistów Java. Zawsze zastanawiałem się jak można połączyć Flash'a i Jave, by robić dobre aplikacje, a tu Jakub Neuman odpowiedział bardzo prosto na wszystkie moje pytania prezentując nam technologię Flex i Adobe AIR! Co najfajniejsze w tym wszystkim to to, że prowadzący przestrzegał przed wszystkimi kłopotami jakie napotkał przy integracji Flash/Flex z Javą i pokazywał najprostsze sposoby radzenia sobie z nimi!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Po zakończeniu drugiej sesji warsztatów przyszedł czas na losowanie kolejnej porcji książek wydawnictwa Helion (niestety i tym razem nie udało mi się, a była w puli książka, na którą ostrze sobie ząbki już od dawna) i podsumowanie całej imprezy. Na całe szczęście odbyło się bez zbędnych przemówień a jedynie rozmowie z uczestnikami co im się podobało, a co nie. Potrójne oklaski dla Grzegorza (który jak najbardziej sobie na nie zasłużył) i powrót do domu.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Podsumowując imprezę w skrócie:&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + świetni ludzie, masa nowych znajomości nawiązanych&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + genialny pomysł z obiadami (które mi osobiście uratowały w niedzielę życie)&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + bardzo dobre przygotowanie, żadnych nieprzyjemnych niespodzianek, profesjonalna obsługa&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + wysoki poziom merytoryczny imprezy&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + duży nacisk postawiony na nowe (często świeżynki w fazie beta) technologie&lt;/div&gt;&lt;div style="text-align: justify;"&gt; + idea UnConference już sama w sobie jest rewelacyjna, ale należy pogratulować organizatorom za jej świetne wdrożenie na arenę polską&lt;/div&gt;&lt;div style="text-align: justify;"&gt; - brak WiFi&lt;/div&gt;&lt;div style="text-align: justify;"&gt; - warsztaty były prowadzone świetnie, ale było by idealnie, gdyby kilka dni przed konferencją na stronie pojawiły się materiały i informacje dotyczące warsztatów, aby każdy użytkownik mógł się przygotować do nich. Cudownie by było, gdyby organizatorzy dogadali się z jakąś miejscową kafejką internetową i na czas warsztatów wypożyczyli komputery (na których materiały ze strony i odpowiednie oprogramowanie już by było zainstalowane). Osobiście nie miałbym nic przeciwko, gdyby podniosło by to o załóżmy 10zł koszt konferencji. Ale ponieważ większość uczestników miała swoje laptopy nie był do jakiś dokuczliwy problem.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Chciałem z tego miejsca bardzo podziękować Grzegorzowi Dudzie, Michałowi, Sławkowi Ginterowi, Cyprianowi, Jakubowi Neumanowi, e-Point'owi i reszcie, z którą spędziłem naprawdę udane dwa dni bardzo serdecznie podziękować! Było mi bardzo miło Was poznać i porozmawiać! :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na koniec porcja zdjęć z konferencji:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"   style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:arial;font-size:48px;"&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.pl/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.pl&amp;amp;noautoplay=1&amp;amp;hl=pl&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.pl%2Fdata%2Ffeed%2Fapi%2Fuser%2Fdarkstariw%2Falbumid%2F5352077960051617169%3Falt%3Drss%26kind%3Dphoto%26hl%3Dpl" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-2884633977983999815?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/2884633977983999815/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/cooluary-v2-dzien-drugi.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2884633977983999815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2884633977983999815'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/cooluary-v2-dzien-drugi.html' title='COOLuary V.2 - Dzień drugi'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1cOqhuGJLjc/SklN7Plyk5I/AAAAAAAAEqU/ah3SWP3oXPk/s72-c/COOLuaryV2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-1510344048845467428</id><published>2009-06-27T11:47:00.000-07:00</published><updated>2009-06-30T12:41:48.037-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='Grzegorz Duda'/><category scheme='http://www.blogger.com/atom/ns#' term='COOLuary'/><title type='text'>COOLuary V.2 - Dzień pierwszy</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1cOqhuGJLjc/SkZyHMc1_eI/AAAAAAAAEoA/b3pKGssKLMM/s1600-h/COOLuaryV2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 111px;" src="http://2.bp.blogspot.com/_1cOqhuGJLjc/SkZyHMc1_eI/AAAAAAAAEoA/b3pKGssKLMM/s400/COOLuaryV2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5352090675103268322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Każda konferencja jest inna - skupia się na innych odbiorcach, innych technologiach etc. Ale łączy je jedno - mają pewien szablon. Mamy ułożoną wcześniej agendę, według której odbywają się wszystkie prelekcje, zmiany w programie rzadko są dobrze odbierane. W trakcie prelekcji traci się masę czasu na autoprezentację prelegenta i firmy dla której pracuje etc. Tak nie jest na COOLuarach, one są inne...&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Już od samego początku impreza bardzo pozytywnie mnie zaskoczyła. Co prawda nie szybko dotarłem z kolejki do Hotelu DAL, ale gdy przy rejestracji dostałem masę gratisów, w tym koszulkę, którą mogłem sobie wybrać (bez zastanowienia wziąłem czarną JavaFX ;) ) uśmiech zawitał na moich ustach i już ich nie opuszczał. Chwila na kawę, ciastko i przeczytania broszur, które dostałem by za chwile iść na pierwszy wykład. A po prawdzie pierwszy i jedyny.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Wprowadzenie do UnConference zrobił główny organizator - Grzegorz Duda. Cała idea polega na tym, że tak naprawdę tą imprezę tworzą uczestnicy i ich rozmowy w kuluarach (stąd nazwa). Każdy podaje temat (przyklejając go na specjalną tablice, co samo w sobie jest rewelacyjne!), o którym chciałby porozmawiać po czym są one zbierane i tworzy się spójny, w miarę zwarty plan. Taka sesja polega na tym, że przy stole siadają wszyscy zainteresowani i zaczyna się rozmowa, wymiana doświadczeń, spostrzeżeń, a nierzadko pytania o rozwiązania problemów. Jedna rzecz jest niesamowita - każdy mówi każdemu po imieniu i na nikogo nie patrzy się dziwnie jeśli danemu uczestnikowi rozmowy brakuje wiedzy na dany temat!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pierwsza sesja na jakiej byłem to było Google Aps Engine. Dosyć krótka rozmowa, bo nikt tego tak naprawdę porządnie ndzisiaie przetestował, więc po chwili już zeszło na Jave i jej przyszłość, jej wady i zalety etc. Ciekawa bardzo dysputa, chyba najlepsza w całym dniu pierwszym.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na drugą sesję nie poszedłem, bo spędziłem ją na rozmowie one on one z Cyprianem, który studiuje informatykę na Uniwersytecie Gdańskim i miał ciekawe podejście do wchodzenia w świat Javy jak i do samego sensu certyfikowania. To była rozmowa, której brakowało mi na dwóch poprzednich konferencjach i za którą serdecznie dziękuje!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Następna w planie była godzinna przerwa obiadowa, w czasie której zaserwowano nam obiad w restauracji hotelowej, za co należą się wielkie brawa do organizatorów!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dalej był Maven i Ant i rozmowa jak uniknąć problemów wynikających z podejść jakie proponują oba te rozwiązania. Dzięki java4people w Szczecinie byłem wstanie zrozumieć co nieco więcej i Maven stał się kolejną rzeczą na liście TODO tych wakacji :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sesja sponsora - e-Point - okazała się strasznie trudna, ponieważ rozmawiano o naprawdę trudnych i wymagających specjalistycznej wiedzy rzeczach, ale nie powiem, żeby to był czas stracony. Jak to mawia mój opiekun naukowy: &lt;i&gt;"Jak się uczyć, to od najlepszych!"&lt;/i&gt; i dzisiaj zrozumiałem, co ma na myśli. Choć temat może być ciężki, człowiek zawsze dowie się czegoś nowego, jakiejś ciekawostki tudzież wskazówki na przyszłość do tego na co nakierowywać się w nauce na podstawie doświadczeń starszych, bardziej doświadczonych kolegów.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ostatnia sesja miała być o certyfikowaniu i JavaBlackBelt, ale niestety połączono wiele tematów i nie wyszło to, co zamierzono. Za to rozmawialiśmy o Scrumie - metodyce prowadzenia i zarządzania projektami (&lt;a href="http://pl.wikipedia.org/wiki/Scrum"&gt;Co Wikipedia mówi o Scrum'ie?&lt;/a&gt;). Brzmiało to na tyle ciekawie, że postanowiłem poczytać o tym w internecie i może uda się choć trochę scrumowego podejścia wprowadzić do Sekcji Informatycznej albo do własnych projektów? Było by cudownie :) A certyfikaty nie zając - nie uciekną. Jutro sam przykleję własną karteczkę z tematem (na innej konferencji, wśród innych ludzi nie miałbym odwagi) i zobaczymy co z tego wyjdzie...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na sam koniec było wypełnianie ankiet, rozmowa z organizatorem o plusach i minusach imprezy, ustalenia końcowe oraz losowanie nagród niespodzianek. Nie poszczęściło mi się, ale może jutro się uda? Czas pokaże :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-1510344048845467428?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/1510344048845467428/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/cooluary-v2-dzien-pierwszy.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1510344048845467428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1510344048845467428'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/cooluary-v2-dzien-pierwszy.html' title='COOLuary V.2 - Dzień pierwszy'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1cOqhuGJLjc/SkZyHMc1_eI/AAAAAAAAEoA/b3pKGssKLMM/s72-c/COOLuaryV2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-2228734405020515195</id><published>2009-06-25T14:34:00.000-07:00</published><updated>2009-06-29T16:39:31.406-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java - ćwiczenia praktyczne'/><title type='text'>Rozdział 1. "Krótkie wprowadzenie"</title><content type='html'>Na początku pierwszego rozdzialu książki Marcina Lisa - "Java. Ćwiczenia praktyczne" - autor tłumaczy jak zainstalować JDK na Windowsie i Linuxie. Ja zaniecham tego, ponieważ co wersja systemu to inna instalacja. Ale zazwyczaj sprowadza się to poprostu do ściągnięcia odpowiedniej paczki/instalatora ze strony producenta (Sun Microsystems) i intuicyjnej instalacji za pomocą prostego GUI Wizard. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dalej mamy standardowy już program - "Hello World!". Pokazuje on nam jak wygląda podstawowa składnia programu w Javie:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre-wrap; font-family:-webkit-monospace;font-size:13px;"&gt;&lt;pre class="prettyprint lang-java"&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;public class Main {&lt;br /&gt; public static void main (String args[]) {&lt;br /&gt;   System.out.println("Pierwszy program w Javie!");&lt;br /&gt; }&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Do tego omawiana jest bardzo krótko istota B-codu, maszyny wirtualnej (ang. Virtual Machine) oraz kompilacji, ale chciałbym na dzień dzisiejszy pominąć tą tematykę i powiedzieć tylko tyle, że po zapisaniu powyższego kodu do pliku Main.java wykonujemy następujące dwie czynności w bashu/powłoce/wierszu poleceń:&lt;div&gt;&lt;ol&gt;&lt;li&gt;kompilujemy program poleceniem*: javac Main.java&lt;/li&gt;&lt;li&gt;uruchamiamy program poleceniem*: java Main.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Efektem wywołania drugiego polecenia będzie pojawienie się napisu "Pierwszy program w Javie!". Udało się nam napisać pierwszy program w Javie! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Gratuluję i do zobaczenia w rozdziale 2!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;i&gt;* - założyłem tutaj, że ścieżka środowiskowa (ang. path) zostały ustawione tak, by z każdego miejsca w komputerze można było wywołać polecenia java, javac i javadoc (o którym wspomne nieco później).&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-2228734405020515195?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/2228734405020515195/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/rozdzia-1-krotkie-wprowadzenie.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2228734405020515195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2228734405020515195'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/rozdzia-1-krotkie-wprowadzenie.html' title='Rozdział 1. &quot;Krótkie wprowadzenie&quot;'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3998402832951000617</id><published>2009-06-25T11:22:00.000-07:00</published><updated>2009-11-11T05:36:57.707-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java - ćwiczenia praktyczne'/><title type='text'>Początek przygody z Javą!</title><content type='html'>Nareszcie przyszedł od dawna wyczekiwany czas wakacji! Egzaminy już za mną, wszystko już załatwione, tak więc czas zająć się czymś miłym i przyjemnym. Ponieważ pogoda za oknem nie dopisuje, tak więc postanowiłem zabrać się nareszcie za książkę Marcina Lisa "Java. Ćwiczenia praktyczne" wydawnictwa Helion. Książka jest warta uwagi z kilku powodów:&lt;div&gt;&lt;ul&gt;&lt;li&gt;jest tania - 19zł to naprawdę malutko&lt;/li&gt;&lt;li&gt;jest książką w stylu "przykład goni przykład", czyli każda nowa informacja jest ćwiczona przy pomocy kilku przykładów praktycznych&lt;/li&gt;&lt;li&gt;jest bardzo dobrze napisana, jak zresztą inne książki Marcina Lisa&lt;/li&gt;&lt;li&gt;jest bardzo dobra dla osób, które nie znają się na programowaniu wcale, albo znają jakiś inny język i w krótkim czasie muszą przestawić się na Jave.&lt;/li&gt;&lt;li&gt;nie trzeba tej książki czytać od A-Z (sam postanowiłem przerobić jedynie najważniejsze rozdziały, aby łatwiej było przyswajać wiedzę z "Thinking in Java" Bruce Eckel'a)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Ponieważ zarówno w tej książce, jak i w każdej następnej będę starał się przerobić jak najwięcej przykładów postanowiłem jak najdłużej wstrzymywać się od korzystania z IDE (ang. Integrated Development Enviroment - Zintegrowane Środowisko Programistyczne&lt;span class="Apple-style-span"   style="  font-style: italic; line-height: 19px; font-family:-webkit-sans-serif;font-size:13px;"&gt;&lt;span class="Apple-style-span"   style="  font-style: normal; line-height: normal; font-family:Georgia;font-size:16px;"&gt;) jakich jak NetBeans czy Eclipse (przynajmniej do czasu zabaw z GUI w AWT i Swing). Dzięki temu mam nadzieję, że w bardzo dobry sposób opanuję podstawy, a jest to mój najważniejszy cel na dzień dzisiejszy. Zresztą zawsze lubiłem powiedzenie, że "praktyka czyni mistrza" :)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Brak IDE postanowiłem sobie wynagrodzić bardzo dobrym edytorem tekstu dla programistów (nie tylko Javy) - jEdit. Co ciekawe, jEdit jest programem w całości napisanym w języku Java! Jego najnowsza odsłona umożliwia dołączanie tzw. pluginów, które w dosłownie dowolny sposób potrafią przerobić jEdit'a tak, by był jak najbardziej dla nas wygodny.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mamy już edytor, ale nie da się niestety na ten moment ani skompilować ani uruchomić żadnego programu. Pierwsze zadanie realizuje JDK (Java Development Kit), a drugie JRE (Java Runtime Enviroment). Nie będę się specjalnie rozpisywał na temat tych dwóch narzędzi, powiem jedynie, że na tym etapie są one niezbędne do pracy z językiem Java, a można je pobrać ze strony producenta, firmy sun Microsystems (link na końcu postu).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ponieważ książki, które będę omawiał na łamach posiadają liczne przykłady, które czasem trzeba modyfikować (np. przy okazji wyjścia nowego JDK), a hostingi stron WWW i plików są bardzo niestałe (w każdej chwili plik może zniknąć ze strony) postanowiłem zarządzać nimi przy pomocy Systemu Kontroli Wersji Git i umieszczać w repozytorium GitHUB.com. To bardzo wygodny i prosty sposób, a dzięki łatwym w obsłudze narzędziom możliwy jest bardzo szybki dostęp do wybranego fragmentu kodu.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Na zakończenie chciałem podać pewną ciekawostkę, którą wyczytałem w książce Marcina Lisa. Otóż Java początkowo miała nazwę Oak (ang. dąb) i była językiem przeznaczonym do sterowania urządzeniami RTV i AGD. To właśnie temu Java zawdzięcza swoją jedną z największych zalet - multiplatformowość (czy jak kto woli "przenoszalność").&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Garść linków:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://helion.pl/ksiazki/cwjav2.htm"&gt;"Java. Ćwiczenia praktyczne. Wydanie II" Marcina Lisa&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pl.wikipedia.org/wiki/Zintegrowane_%C5%9Brodowisko_programistyczne"&gt;Integrated Development Enviroment&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netbeans.org/"&gt;NetBeans&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sun.com/"&gt;Strona Sun Microsystems&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://github.com/"&gt;GitHUB.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://github.com/Smoczysko"&gt;Mój profil na GitHUB'ie&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://github.com/Smoczysko/Java.Cwiczenia-praktyczne/"&gt;Repozytorium zawierające przykłady z książki "Java. Ćwiczenia praktyczne" Marcina Lisa&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do zobaczenia w rozdziale 1!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3998402832951000617?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3998402832951000617/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/poczatek-przygody-z-java-wstep-dojava.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3998402832951000617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3998402832951000617'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/poczatek-przygody-z-java-wstep-dojava.html' title='Początek przygody z Javą!'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3361518401969290560</id><published>2009-06-13T07:43:00.000-07:00</published><updated>2009-06-29T16:38:44.382-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='infoShare'/><title type='text'>infoShare 2009</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Minęły już przeszło dwa tygodnie, ale wspomnienia o infoShare 2009 są wciąż żywe. Nareszcie zakończyłem najtrudniejszy okres zaliczeniowy na uczelni i mogę się podzielić swoimi wrażeniami z imprezy.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Konferencja ta była drugą taką imprezą w moim życiu, a pierwszą dwudniową (java4people była imprezą jednodniową). Niestety odbywała się w tygodniu, ale po kolei...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;W czwartek (28 Maja) z samego rana pojechałem na konferencję. Całe szczęście, że było to blisko, bo w Gdańsku, na Politechnice Gdańskiej, czyli tam gdzie się uczę obecnie. Na miejscu trochę się zdziwiłem, bo nie było żadnych informacji gdzie iść etc. - dopiero po chwili wyszło z budynku (nowy budynek wydziału Elektroniki, Telekomunikacji i Informatyki) dwóch ludzi z kartkami informacyjnymi. Szybka rejestracja (mimo sporej kolejki!), miła obsługa, torba pełna gratisów. Potem pierwszy wykład na temat &lt;b&gt;"Czy w Polsce może powstać Dolina Krzemowa"&lt;/b&gt; Marka Hołyńskiego z PTI. Tematyka ciekawa, historyjki opowiadane przez prowadzącego ciekawe, ale niestety główny cel prelekcji - odpowiedź na tytułowe pytanie - z braku czasu (zmarnowanego po części na kolejne historyjki) została zawarta w dosłownie dwóch zdaniach i niestety było to małe rozczarowanie.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Kolejna prelekcja miała tytuł &lt;b&gt;"&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;b&gt;System antyspamowy Poczty Wirtualnej Polski - jak chronimy Twoją skrzynkę przed zalewem niechcianych wiadomości?&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold; font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;" &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;trzech&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; pracowników Wirtualnej Polski (&lt;/span&gt;&lt;a href="http://www.wp.pl/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;WP.pl&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;): Andrzeja Butkiewicza, Tomasza Potęgi i Pawła Sasina. Jeszcze przed samym wykładem na sale weszła obsługa rozdając każdemu kartkę z przykładowym mailem - spamem (zdjęcie w galerii). W trakcie wykładu omawiane były różne rodzaje i Ci, których typ spamu był omawiany odpadali z zabawy. Ci, którzy zostali na koniec dostali zestawy promocyjne z Wirtualnej Polski. Dodając do tego jeszcze świetne prowadzenie prelekcji, ogromną charyzmę i masę humoru mogę śmiało powiedzieć, że w skali 10-punktowej wykład WP dostaje 10!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Po prezentacji Wirtualnej Polski przyszedł czas na Eye-Tracking w wykonaniu &lt;span class="Apple-style-span"  style=" ;font-size:12px;"&gt;Piotra Jardanowskiego z firmy Symetria. Bardzo podobało mi się, że cały proces jak i historia Eye-Trackingu zostala w bardzo przystępny sposób "podana jak na tacy". Sporo przykładów, sporo też konkretów. Firma Symetria przywiozła na konferencję zestaw eye-trackera i można było sprawdzić na samym sobie jak to działa. Niestety z braku czasu nie udało mi się przetestować tego cudeńka.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;Rzecz na którą czekałem od bardzo dawna - &lt;b&gt;"Nowe inicjatywy Suna czyli słów kilka na temat projektów (Sun Glassfish Portfolio oraz openDS)"&lt;/b&gt; Marcina Kozaka z firmy sun Microsystems Poland - musiała przejść mi koło nosa... Niestety musiałem być obecny na wykładzie u siebie na wydziale i nie mogłem się na tej prelekcji pojawić. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;Po wykładzie trafiłem na końcówkę &lt;b&gt;"Tworzenia natywnych aplikacji mobilnych"&lt;/b&gt; Kamila Brzezińskiego z Gadu-Gadu, ale już 5 minut siedzenia tam zniechęciło mnie do słuchania - prelegent sam się przyznał, że robił ten wykład pół roku temu i nie pamięta co wtedy przygotował - żenada...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;b&gt;"&lt;/b&gt;&lt;b&gt;Polskie barcampy i rynek startupów - czy zwiększenie dostępności finansowania zaowocuje globalnymi przedsięwzięciami?&lt;/b&gt;&lt;b&gt;"&lt;/b&gt; Krzyśka Kowalczyka z UBIK Business Consulting był tematem najbardziej tajemniczym i niestety najmniej dla mnie interesującym, tak więc nie będę się wypowiadał na jego temat.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;b&gt;"Dobre, Złe i Brzydkie" - Automatyczne sposoby poprawy jakości oprogramowania&lt;/b&gt; Patrycji Węgrzynowicz z NASK'u był wykładem ciekawym i to nawet bardzo. Uświadomił mi kilka rzeczy:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;testowanie jest ważnym zagadnieniem, które muszę zacząć stosować z przyzwyczajenia, nie z przymusu, gdy coś się psuje&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;Design Patterns (Wzorce Projektowe) są ciekawym narzędziem programistycznym i warto będzie go zbadać w te wakacje przy okazji szerszego poznawania Javy&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;korzystanie z narzędzi gotowych, IDE etc. nie umniejsza poziomowi programisty ani jego umiejętnościom, a wręcz przeciwnie&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;To był ostatni wykład dnia pierwszego. Następnego dnia, znowu z powodu zajęć, mogłem być tylko na wykładzie "&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Bezpieczna wirtualizacja = wirtualizacja bezpieczeństwa&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;" Michała Jarskiego z Check Point Software Technologies oraz "&lt;/span&gt;Czasem dobrze pozarządzać&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;" Agnieszki Zielonki - Sujkowskiej z ODiTK. Oba wykłady zrobiły na mnie ogromne wrażnie zarówno oprawą jak i przekazem. dodatkowo na wykładzie Pani Agnieszki dowiedziałem się (na podstawie testu, który nam - uczestnikom - zrobiła), że jestem osobą pomiędzi czasami, która patrzy na wszystko z perspektywy przyszłości (to prawda!) i dostałem płytę z muzyką relaksacyjną autorstwa prelegentki.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;Podsumowując:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; + bliskość, dobra lokalizacja&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; + duże urozmaicenie tematyki&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; + spora liczba gratisów i zestawów promocyjnych&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; + doświadczeni i ciekawi prelegenci&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; + caterring w przerwach kawowych i obiadowych&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; + darmowe wejście&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; - wiele niedopatrzeń organizatorskich&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; - praktycznie brak przerw, co było bardzo męczące (i następstwem tego była coraz mniejsza frekwencja w późniejszych godzinach)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt; - mało czasu na rozmowy w kuluarach&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;A oto galeria z imprezy:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:12px;"&gt;&lt;span class="Apple-style-span"   style="  white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:arial;font-size:9px;"&gt;&lt;center&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.pl/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.pl&amp;amp;noautoplay=1&amp;amp;hl=pl&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.pl%2Fdata%2Ffeed%2Fapi%2Fuser%2Fdarkstariw%2Falbumid%2F5344653691944146609%3Falt%3Drss%26kind%3Dphoto%26hl%3Dpl" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/center&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial;font-size:78%;"&gt;&lt;span class="Apple-style-span"  style=" white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;font-size:9px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Pozdrawiam serdecznie, Łukasz "Smok" Rybka&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3361518401969290560?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3361518401969290560/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/infoshare-2009.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3361518401969290560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3361518401969290560'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/infoshare-2009.html' title='infoShare 2009'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-2734226060655971496</id><published>2009-06-10T09:14:00.000-07:00</published><updated>2011-07-20T14:50:49.954-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='certyfikaty'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaBlackBelt'/><title type='text'>Pierwszy egzamin na JavaBlackBelt</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_1cOqhuGJLjc/SjAUKGj804I/AAAAAAAAD6I/exQLzkFa5LI/s1600-h/javablackbelt.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 135px;" src="http://3.bp.blogspot.com/_1cOqhuGJLjc/SjAUKGj804I/AAAAAAAAD6I/exQLzkFa5LI/s400/javablackbelt.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5345794921481425794" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color:#551A8B;"&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span" style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Sporo się ostatnio działo: konferencja infoShare 2009 na Politechnice Gdańskiej, sesja, kolokwia. Za każdym zaliczonym kolokwium przychodzą dwa kolejne - urok uczelni wyższej. Ale żeby nie rozpoczynać wpisu tak bardzo pesymistycznie, to wpomnę o JavaBlackBelt.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javablackbelt.com/Home.wwa"&gt;JavaBlackBelt.com&lt;/a&gt; to strona, na której można sprawdzić poziom swojej wiedzy z zakresu Javy, programowania zorientowanego obiektowo i wielu różnych (jak np. system kontroli wersji CVS). Całość jest zorganizowana w tytułowe pasy - po zdobyciu odpowiedniej ilości punktów za zdane egzaminy otrzymuję się rangę - pas - ideologicznie zbliżony do pasów z Karate czy Teakwondo (początkowo każdy ma pas biały i 0 punktów). Możemy płacić za egzaminy, albo iść darmową ścieżką, która zaczyna się od Java SE - Basic Egzam. Dlaczego o tym wszystkim piszę? Otóż z dwóch powodów:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1) Strony tego rodzaju pozwalają nam nie tylko na sprawdzanie swojej wiedzy, ale także na jej zgłębianie. Wykonując kilka razy ten sam błąd w końcu się nauczymy dobrze. Poza tym na &lt;a href="http://www.javablackbelt.com/Home.wwa"&gt;JavaBlackBelt.com&lt;/a&gt; każde pytanie, które jest zadawane ma dokładne wyjaśnienie swojej prawidłowej odpowiedzi wraz z odnośnikami internetowymi do dokumentacji i innych baz wiedzy.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2) Dwa dni temu zdałem pierwszy egzamin z Java SE - Basic z wynikiem 75%. Nie jest to rewelacyjny wynik, ale zważywszy na krótki okres, w którym zajmuję się Javą sądzę, że jest to niezłe osiągnięcie. Oto screen:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://3.bp.blogspot.com/_1cOqhuGJLjc/Si_hwrrvg9I/AAAAAAAAD6A/E521yk0nud4/s400/Java+SE+-+Basic.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 93px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5345739509188232146" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Czeka mnie jeszcze zamieszczenie krótkiej relacji z infoShare 2009 i wrzucenie galerii i zajmę się omawianiem książki Marcina Lisa "Java. Ćwiczenia praktyczne" wydawnictwa Helion.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dla zainteresowanych kilka linków:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javablackbelt.com/Home.wwa"&gt;JavaBlackBelt.com&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.javablackbelt.com/UserView.wwa?userId=10069193"&gt;Mój profil na JavaBlackBelt&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://picasaweb.google.com/JavaBlackBelt.Admin"&gt;Galeria JavaBlackBelt na Picassa Web Albums&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pozdrawiam i dziękuję za uwagę,&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Łukasz "Smok" Rybka&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-2734226060655971496?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/2734226060655971496/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/pierwszy-egzamin-na-javablackbelt.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2734226060655971496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/2734226060655971496'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/06/pierwszy-egzamin-na-javablackbelt.html' title='Pierwszy egzamin na JavaBlackBelt'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_1cOqhuGJLjc/SjAUKGj804I/AAAAAAAAD6I/exQLzkFa5LI/s72-c/javablackbelt.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-5120046447099693715</id><published>2009-04-14T07:44:00.000-07:00</published><updated>2009-06-29T16:38:03.618-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='konferencje'/><category scheme='http://www.blogger.com/atom/ns#' term='java4people'/><title type='text'>Wspomnienia z java4people 2009</title><content type='html'>Minęło już 10 dni ale wspomnienia pozostają wciąż żywe...&lt;br /&gt;&lt;br /&gt;Konferencja java4people była pierwszą w moim życiu konferencją i pierwszym zetknięciem z profesjonalną Javą. To w takim razie po co tam pojechałem? Ano po to, żeby przekonać się jak to jest na konferencji, dowiedzieć się czegoś więcej niż tylko to czego uczy się na uczelni, nawiązać znajomości. Wszystkie te trzy cele zostały wypełnione w 100%! Ale od początku...&lt;br /&gt;&lt;br /&gt;Piątek, 3 Kwietnia, dworzec główny w Gdyni, informacja PKP - "Nie proszę Pana, nie ma takiego połączenia. Nie proszę Pana, nie pojedzie Pan.". Okazało się, że pociąg, na który dzień wcześniej kupiłem bilet nie kursuje już i moje całe plany poszły w łeb. Znalazłem połączenie pośrednie i zamiast jechać 4,5 godziny pospiesznym jechałem ponad 6 Szybką Koleją Miejską (SKM) i Osobowym. Tak nieprzyjemnej podróży pociągiem jeszcze nigdy nie miałem... W dodatku na miejscu byłem ponad 2 godziny później niż planowałem i nie było mowy rozejrzeć się po mieście (pierwsza moja wizyta w Szczecinie) tylko trzeba pędzić do schroniska. Tam oczywiście też prosto być nie mogło, bo okazało się, że moja rezerwacja przepadła - żenada... Ale przeskoczmy te kolejne niemiłe godziny i skupmy się na konferencji.&lt;br /&gt;&lt;br /&gt;Około 8:30 przybyłem na Uniwersytet Szczeciński (nie było problemów dzięki dobrej informacji na stronie) gdzie powitała mnie miła Pani w akredytacji. Jak każdy uczestnik dostałem zestaw do ochrony mojego laptopa i koszulkę z konferencji. Tego bym się nie spodziewał szczególnie, że konferencja była całkowicie darmowa. Już od pierwszych momentów widać było profesjonalizm ale i bardzo przyjazną atmosferę.&lt;br /&gt;&lt;br /&gt;Pierwszy wykład Pawła Szulca - Testowanie Enterprise JavaBeans 3.0. Temat dla mnie trochę obcy ale było bardzo ciekawie. Niektóre rzeczy były bardzo przystępnie przekazywane, dzięki czemu taki żółtodziób z samą podstawą teoretyczną był w stanie coś wynieść z wykładu.&lt;br /&gt;&lt;br /&gt;Gdy w domu jeszcze przed wyjazdem czytałem agendę konferencji sądziłem, że drugi wykład będzie totalną magią dla mnie. Tematyka "Comet, Bayeux i mechanizm Publish-Subscribe poprzez HTTP", którą prezentował Waldemar Kot była dla mnie tak abstrakcyjna jak życie na Marsie. I tu największe zaskoczenie konferencji - było to tak profesjonalnie prowadzone, że nie dało się nie załapać choćby samej ideologii. A temat protokołu Bayeux strasznie mnie zaciekawił. Oczywiście jak przy testowaniu EJB 3.0 nie można się spodziewać, że wyjdzie się i będzie się widziało wszystko, ale nie o to tu przecież chodzi.&lt;br /&gt;&lt;br /&gt;Dłuższa przerwa była kolejnym miłym zaskoczeniem - mnóóóóstwo pizzy w różnych smakach na obiad popijanych colą to dla informatyka wymarzony posiłek :)&lt;br /&gt;&lt;br /&gt;Przyszedł czas na najbardziej przeze mnie wyczekiwany wykład - "System kontroli wersji GIT" Andrzeja Śliwy. Miałem wrażenie, że uczestniczę w połączeniu panelu dyskusyjnego i uczelnianego wykładu, a połączenie to było idealne, szczególnie, że było wspomagane ciągłymi pokazami praktycznymi. Każdy problem, o który pytała publika prowadzący rozwiązywał na naszych oczach w bardzo prosty i przystępny sposób. Jak to zawsze bywa wywiązała się zażarta dysputa między zwolennikami GIT'a a SVN/CVS (to bardzo różni profesorów uczelnianych - zwolenników starych rozwiązań i studentów wolących szybsze i nowocześniejsze rozwiązania), która w pewnym momencie była bardzo nieprzyjemna i uciążliwa, ale widać było że dla prowadzącego to nie pierwszyzna i zaraz było to łagodnie załatwione.&lt;br /&gt;&lt;br /&gt;Ostatni wykład Jacka Laskowskiego pt. "Zwinne i lekkie aplikacje webowe z Grails " nie był dla mnie czymś rewelacyjnym. Po pierwsze nie znam języka Groovy, Ruby ani im podobnym i było dla mnie problemem zrozumienie często o czym mowa. Po drugie, gdy Jacek pokazywał jak to działa w praktyce było wiele problemów technicznych, pomyłek i niedopracowania przez co spora część czasu (który i tak był przedłużony o ponad 20 minut) była poświęcona zastanawianiu się czemu to nie działa i mówieniu, że "trzeba ten serwer jeszcze mocniej trzepnąć w głowę".&lt;br /&gt;&lt;br /&gt;Niestety przez to, że miałem pociąg o 17, a następny o 5:53 następnego dnia to musiałem zrezygnować z ostatniego wykładu. Ale nie wszystko stracone, bo całość konferencji była kręcona, a filmy w przeciągu 1,5 miesiąca zostanie udostępniona w internecie (gdy się to stanie napisze o tym na tym blogu).&lt;br /&gt;&lt;br /&gt;Podsumowując konferencję oceniam na 5! Świetna organizacja, wysoki poziom i rewelacyjna atmosfera, za które należą się Leszkowi Gruchale i Pawłowi Stawickiemu gorące podziękowania! To była moja pierwsza konferencja w życiu, ale dzięki java4people nie będzie ona ostatnia. Już teraz nie mogę się doczekać CooLuarów w Gdańsku 23-24 Maja. Poniżej moja galeria z wyjazdu, a pod nią strona konferencji, na której znajduje się jeszcze jedna galeria i materiały z prelekcji.&lt;br /&gt;&lt;br /&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.pl/s/c/bin/slideshow.swf" flashvars="host=picasaweb.google.pl&amp;amp;noautoplay=1&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.pl%2Fdata%2Ffeed%2Fapi%2Fuser%2Fdarkstariw%2Falbumid%2F5321169044765325025%3Fkind%3Dphoto%26alt%3Drss" pluginspage="http://www.macromedia.com/go/getflashplayer" width="400" height="267"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Garść linków:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.java4people.com/?page_id=11"&gt;Strona java4people&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Pozdrawiam, Smok!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-5120046447099693715?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/5120046447099693715/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/04/wspomnienia-z-java4people-2009.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5120046447099693715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/5120046447099693715'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/04/wspomnienia-z-java4people-2009.html' title='Wspomnienia z java4people 2009'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-3148032159138661807</id><published>2009-04-13T02:12:00.001-07:00</published><updated>2009-04-13T02:28:59.851-07:00</updated><title type='text'>google-code-prettify</title><content type='html'>Witam ponownie!&lt;br /&gt;&lt;br /&gt;Drugi wpis na blogu miał być o java4people - konferencji o tematyce Java w Szczecinie. Jednak nim to nastąpi należy przystosować bloga do celów programistycznych.&lt;br /&gt;&lt;br /&gt;Wiadomym jest, że bez pisania programów człowiek nie nauczy się programowania. A przy pisaniu programów powstaje sporo kodu źródłowego, który należy poprawnie sformatować również na stronie, która go opisuje. W tym celu wykorzystam wspomniany w tytule google-code-prettify. Jest to moduł javascriptowy pozwalający, który kod umieszczony między znacznikami &lt;span xmlns=""&gt;&lt;span style="font-family:Courier New;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; lub &lt;code class="prettyprint"&gt;&lt;/code&gt; automatycznie formatuje tak, by był czytelny i łatwy do skopiowania do naszego IDE&lt;span style="font-weight: bold;"&gt;. &lt;/span&gt;Nie będę opisywał dokładniej instalacji (w tym celu podałem dwa linki poniżej), pokaże jedynie jak to działa w praktyce:&lt;br /&gt;&lt;br /&gt;Kod bez żadnego formatowania poza spacjami/tabulacjami:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import java.util.*;&lt;br /&gt;&lt;br /&gt;public class HelloWorld {&lt;br /&gt;  public static void main(String[] args) {&lt;br /&gt;    System.out.println("Witaj świecie. Dzisiaj jest: ");&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Używając google-code-prettify i znacznika pre:&lt;br /&gt;&lt;pre class="prettyprint lang-java"&gt;&lt;br /&gt;import java.util.*;&lt;br /&gt;&lt;br /&gt;public class HelloWorld {&lt;br /&gt;  public static void main(String[] args) {&lt;br /&gt;    System.out.println("Witaj świecie. Dzisiaj jest: ");&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Przy okazji testowania tego skryptu doszedłem do wniosku, że może ten styl bloga (jego szata graficzna) nie jest najodpowiedniejsza do przedstawiania kodów źródłowych (kolorowanie składni). Możliwe, że będzie to zmienione jeszcze przed następnym postem (tym razem napewno o java4people).&lt;br /&gt;&lt;br /&gt;A oto obiecane linki:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/google-code-prettify/"&gt;Strona projektu google-code-prettify&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jacekciereszko.pl/2008/08/formatowanie-kodu-w-blogger.html"&gt;Opis instalacji skryptu na blogu Jacka Ciereszko&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Pozdrawiam, Smok!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Edit:&lt;/span&gt; Po dalszych testach skryptu udało się uzyskać odpowiednie kolorowanie składni. Problem leżał w kodzie html Bloggera.&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family:Courier New;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-3148032159138661807?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/3148032159138661807/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/04/google-code-prettify.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3148032159138661807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/3148032159138661807'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/04/google-code-prettify.html' title='google-code-prettify'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7903122543378555744.post-1440988253873966241</id><published>2009-04-12T23:19:00.000-07:00</published><updated>2009-04-12T23:45:10.551-07:00</updated><title type='text'>Początki</title><content type='html'>Witam.&lt;br /&gt;&lt;br /&gt;Podobno początki zawsze są trudne i w tym przypadku nie jest inaczej. Długo się zbierałem, żeby rozpocząć w ogóle pisanie tego bloga. Pomysł jak zawsze jest, możliwości są, ale czego brak? Brak czasu, wiary w siebie, determinacji. Ale skoro już to piszę, to znaczy, że jest nieźle.&lt;br /&gt;&lt;br /&gt;Należało by się przedstawić - nazywam się Łukasz i jestem 21 letnim studentem drugiego roku Informatyki Stosowanej na Politechnice Gdańskiej. Informatyka jest moim głównym hobby, choć nie jedynym, ale nie będę się zbytnio rozgadywać na ten temat w tym momencie.&lt;br /&gt;&lt;br /&gt;A więc o czym będzie ten blog? Jestem początkowym programistą Javy i swoją drogę z tym językiem programowania chciałbym opisać na tym blogu. Po co? Bo wiem, że często szuka się rozwiązań na najprostsze problemy, ale trudno je znaleźć, bo ludzie takich rzeczy często nie publikują w internecie, sądząc, że to zbyt proste. Ja uważam, że nie ma rzeczy zbyt prostych.&lt;br /&gt;&lt;br /&gt;No tak, ale wielu się pewnie podrapie po głowie i zdziwi, że skoro jestem na 2 roku studiów informatycznych, to dlaczego dopiero teraz uczę się Javy i to w dodatku od podstaw? Otóż na moich studiach Jave ma się dopiero na 3 roku, wcześniej (w kolejności) C, C++ i C#. Do tego ostatniego nie jestem przekonany, C dosyć długo wałkowałem i coś w nim umiem, ale szaleństw nie ma jak to mówią, a na uczelni jesteśmy teraz na etapie C++. Przerabiamy teraz przedmiot Metody Numeryczne, na który potrzebowałem dosyć prostego języka programowania, zorientowanego obiektowo, którego IDE (ang. Integrated Development Environment - zintegrowane środowisko programistyczne) przy tworzeniu GUI (ang. Graphic User Interface - graficzny interfejs użytkownika) jest łatwe i intuicyjne. Dodatkowo za Javą przemawiało to, że jest multiplatformowa (nieważne na jakiej konfiguracji sprzętowej, nie ważne na jakim systemie operacyjnym chcemy uruchomić program, tak długo jak jest tam zainstalowana Wirtualna Maszyna - ang. Virual Machine VM).&lt;br /&gt;&lt;br /&gt;Ale nie jest to jedyny powód. Są jeszcze dwa:&lt;br /&gt;1) Szwagier, który jest od lat informatykiem, jakiś czas temu zdał egzaminy na Sun Certified Java Developer (SCJD)&lt;br /&gt;2) Konferencja java4people, ale o niej w następnym poście.&lt;br /&gt;&lt;br /&gt;Trochę się rozpisałem, nawet chyba trochę za dużo jak na pierwszy raz. Jeszcze dzisiaj powinien się pojawić jeszcze jeden post, w którym w skrócie opiszę konferencję java4people i jej wpływ na mnie.&lt;br /&gt;&lt;br /&gt;Garść linków:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://pl.wikipedia.org/wiki/Programowanie_obiektowe"&gt;Programowanie zorientowane obiektowo (OOP)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Integrated_development_environment"&gt;Integrated Development Environment (IDE)&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sun.com/training/certification/java/scjd.xml"&gt;Sun Certified Java Developer (SCJD)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.java4people.com/"&gt;java4people 2009&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Pozdrawiam, Smok!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7903122543378555744-1440988253873966241?l=akademiajavy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akademiajavy.blogspot.com/feeds/1440988253873966241/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://akademiajavy.blogspot.com/2009/04/poczatki.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1440988253873966241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7903122543378555744/posts/default/1440988253873966241'/><link rel='alternate' type='text/html' href='http://akademiajavy.blogspot.com/2009/04/poczatki.html' title='Początki'/><author><name>Łukasz "Smok" Rybka</name><uri>http://www.blogger.com/profile/03457076856183059722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-SgpC6L_KYoA/TZIBZk8LAYI/AAAAAAAAGTU/ZKH75yhTcQ8/s220/Avatar_fokarium.JPG'/></author><thr:total>0</thr:total></entry></feed>
