tag:blogger.com,1999:blog-79031225433785557442024-03-05T17:23:36.464-08:00Blog :: DragoniaŁukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.comBlogger85125tag:blogger.com,1999:blog-7903122543378555744.post-21967204909759442522014-08-28T07:35:00.000-07:002014-08-28T07:35:28.335-07:00Automate with Grunt - recenzja<div class="separator" style="clear: both; text-align: center;">
<a href="http://trojmiasto.jug.pl/wp-content/uploads/2014/07/bhgrunt1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://trojmiasto.jug.pl/wp-content/uploads/2014/07/bhgrunt1.jpg" height="320" width="266" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<a href="http://trojmiasto.jug.pl/biblioteczka/" target="_blank">Biblioteczka Trójmiasto JUG</a> (o której pisałem <a href="http://blog.dragonia.org.pl/2013/01/nie-za-bardzo-krotkie-podsumowanie.html" target="_blank">tutaj</a> i <a href="http://blog.dragonia.org.pl/2013/04/team-geek-recenzja.html" target="_blank">tutaj</a>) rozwija się wolno, ale sukcesywnie. Chociaż w najbliższych miesiącach mój udział w życiu grupy zostanie drastycznie zredukowany, mam żywą nadzieję, że moje wykorzystanie biblioteczki wręcz przeciwnie. Kilka tygodni temu popełniłem drugą recenzję, a na tapetę poszła książka Briana P. Hogana <a href="http://pragprog.com/book/bhgrunt/automate-with-grunt" target="_blank">"Automate with Grunt. The Build Tool for JavaScript"</a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: left;">
Zapraszam do lektury (w języku angielskim): <a href="http://trojmiasto.jug.pl/bookshelf/automate-with-grunt/" target="_blank">http://trojmiasto.jug.pl/bookshelf/automate-with-grunt/ </a></div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-52844257475487265112014-08-23T05:57:00.000-07:002014-08-23T05:57:04.487-07:00The Agile Mindset and beyond<div style="text-align: justify;">
Kilka tygodni temu dostałem od znajomego link do filmiku, który podobno wywarł na nim spore wrażenie. Jak zwykle w takich sytuacjach film trafił na Watch List i leżał tam spokojnie, czekając na lepsze czasy. Ostatnio postanowiłem sukcesywnie czyścić wszystkie listy typu TODO, Watch czy też Read later. Jedną z pierwszych pozycji na jaką trafiłem było właśnie nagranie prelekcji Lindy Rising z <a href="http://gotocon.com/aarhus-2012/" target="_blank">GOTO Aarhus 2012 Conference</a>. Na początku myślałem, że będzie to filmik o Agile, Scrum, podejściu do realizacji projektów itp lecz myliłem się bardzo mocno. Pomyłka choć zdecydowana, to bardzo przyjemna. To 40 minut wykładu na pograniczu psychologii, nauk społecznych i tematów miękkich w biznesie, który daje bardzo dużo do myślenia.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Miłego oglądania!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="https://ytimg.googleusercontent.com/vi/C13JC_YP2Q8/0.jpg"><param name="movie" value="https://youtube.googleapis.com/v/C13JC_YP2Q8&source=uds" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="https://youtube.googleapis.com/v/C13JC_YP2Q8&source=uds" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<div style="text-align: justify;">
<br /></div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com1tag:blogger.com,1999:blog-7903122543378555744.post-42339115606053761592014-03-27T13:55:00.001-07:002014-03-27T13:55:12.657-07:00Inicjatywa Studencka<div style="text-align: justify;">
5 miesięcy - tyle zajęły nam przygotowania do najnowszego i zarazem największego projektu, jaki Trójmiasto Java User Group organizowało do tej pory. Mam nieopisaną przyjemność ogłoszenia startu "Inicjatywy Studenckiej" - serii wykładów, które będą miały miejsce na Wydziale Matematyki, Fizyki i Informatyki Uniwersytetu Gdańskiego.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Celem wykładów jest pokazanie studentom podstawowe aspekty, technologie i metodyki, z którymi będą mieli do czynienia w trakcie swooich pierwszych praktyk, stażu czy też pierwszej pracy. Fragment informacji ze strony grupy:</div>
<div style="text-align: justify;">
<br /></div>
<blockquote class="tr_bq" style="text-align: justify;">
<i>Wykłady są całkowicie bezpłatne i otwarte. Zapraszamy studentów II i III roku studiów informatycznych, ale i również osoby spoza środowiska akademickiego zainteresowane zdobywaniem wiedzy z branży IT. Spotkania będą okazją zarówno do zdobycia wiedzy i zaznajomienia się ze specyfiką pracy w branży IT, jak i również do poznania lokalnego środowiska biznesu, a także sposobnością do znalezienia ciekawy miejsc praktyk wakacyjnych.</i></blockquote>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Agenda jest całkiem pokaźna, bo obejmuje 8 wykładów na różne tematy, z którymi każdy z nas spotyka się w swojej codziennej pracy, a które potrafią być nowością dla młodych programistów. Dokładna agenda:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<ul>
<li>08.04 – Wprowadzenie do Agile/Scrum/Kanban</li>
<li>15.04 – Wprowadzenie do systemu budowania aplikacji Maven (i Gradle)</li>
<li>22.04 – Jak programować, by nie zwariować</li>
<li>29.04 – Wprowadzenie do testowania</li>
<li>06.05 – Specyfika testów na urządzenia mobilne</li>
<li>13.05 – I jest GIT!</li>
<li><b>20.05 – Wprowadzenie do Continous Integration</b></li>
<li>27.05 – User Expirience / Design dla początkujących</li>
</ul>
<div>
<br /></div>
<div>
"Wprowadzenie do Continous Integration" to wykład, który osobiście będę prowadził. Będzie to mój debiut jako prelegent Trójmiasto JUG (chociaż nie na sali wykładowej uczelni wyższej). Licze, że będzie to dopiero początek takiego typu kooperacji środowiska akademickiego i biznesowego w Trójmieście. W pierwszej edycji bierze udział 5 firm (Solwit, Young Digital Planet, Nearshoring Solutions, JIT Solutions oraz Kainos) oraz 4 uczelnie wyższe (Uniwersytet Gdański, Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Politechnika Gdańska oraz Wyższa Szkoła Bankowa). Jak widać, jest to bardzo szerokie gremium.</div>
<div>
<br /></div>
<div>
Dlaczego warto wkładać tyle wysiłku i czasu w taki projekt? Z mojego punktu widzenia z kilku powodów:</div>
<div>
<ul>
<li>satysfakcja - każde spotkanie, które organizujemy w ramach Trójmiasto JUG napawa mnie dumą, nawet po 2 latach prowadzenia grupy</li>
<li>dobry uczynek - każdy z nas był kiedyś świeżakiem i nie każdy z nas pochodzi z kierunku stricte informatycznego (stąd tak szeroki wachlarz uczelni/wydziałów, które nie są w 100% z branży ICT)</li>
<li>nowe kontakty i partnerzy - przy okazji organizowania inicjatywy miałem okazję poznać niesamowicie pozytywnych ludzi, którzy dzielą z nami poglądy i spojrzenie na działania. Grupa zyskała nowego partnera medialnego (Iwonę Ronę, która przyszykowała oprawę graficzną wydarzenia), zyskaliśmy kontakt do kilku firm, z którymi już w tej chwili wiemy, że będziemy chcieli w zbliżających się miesiącach organizować ciekawe projekty</li>
<li>spełnienie marzeń - kiedy kończyłem studia magisterskie obiecałem sobie, że w przeciągu 5 lat wygłoszę wykład na uczelni wyższej - udało się to zrealizować po lekko ponad 2!!</li>
</ul>
<div>
Więcej informacji o samej inicjatywie <a href="http://trojmiasto.jug.pl/kalendarz/projekty/inicjatywa-studencka" target="_blank">znaleźć można na jej stronie</a>. Gorąco zapraszam wszystkie osoby zainteresowane do uczestnictwa.</div>
<div>
<br /></div>
<div>
Do zobaczenia!</div>
</div>
<div>
<br /></div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com4tag:blogger.com,1999:blog-7903122543378555744.post-23297067658658428372013-05-28T09:48:00.001-07:002013-05-28T09:48:38.285-07:00Apache Lucene praktycznie<div style="text-align: justify;">
Bieżący sezon dla Trójmiasto Java User Group wydaje się być bardzo dobry. Chętnych prelegentów jest coraz więcej, publiki raczej nie brakuje, a tematy wydają się interesujące. Po sukcesie grupy w zeszłym roku (po praktycznie roku stagnacji), postanowiliśmy nie zwalniać tempa. Chociaż czerwiec jest tzw. "sezonem ogórkowym", to jednak postanowiliśmy zorganizować coś, co trygryski lubią najbardziej, czyli.... warsztaty!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>15 czerwca</b> odbędą się warsztaty z Apache Lucene, które poprowadzą nasi wielokrotni prelegenci: <b>Dominika Puzio i Patryk Makuch </b>z Wirtualnej Polski.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Oto jak prelegenci zachęcają do wzięcia udziału:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<blockquote class="tr_bq">
<i>W zeszłym roku przez trzy JUGowe spotkania opowiadaliśmy, że Apache Lucene działa. Teraz to pokażemy W trakcie warsztatów, wspólnie z uczestnikami, stworzymy aplikację, którą “załadujemy” hasłami z polskiej wikipedii i napiszemy do nich wyszukiwarkę z funkcjami podpowiadania, kategoryzacji, fuzzy search, podświetlaniem znalezionych słów i kilkoma innymi bajerami dzieląc się przy okazji naszym doświadczeniem związanym z wydajnością proponowanych rozwiązań. Zdecydowaliśmy, że skorzystamy wprost z biblioteki, bez pośrednictwa gotowych, opartych na niej systemów jak SOLR, Hibernate Search, czy, szalenie modny ostatnio, Elastic Search, ponieważ postawienie ich i uruchomienie według tutoriala przebiega zwykle bez bólu, za to diagnoza problemów, jakie pojawiają się w środowisku produkcyjnym bywa o wiele trudniejsza właśnie z powodu konieczności posiadania wiedzy o Lucene (“There’s more Lucene in SOLR than You think!”: http://blog.orange11.nl/2012/04/11/theres-more-lucene-in-solr-than-you-think). I mimo niewątpliwej atrakcyjności gotowych rozwiązań, wielcy tego świata, jak Twitter, Wikiepedia czy JIRA, wciąż używają “czystej” Lucene.</i><i><br /></i><i>Warsztaty kierujemy zarówno do tych, którzy chcieliby rozbudować swój repertuar o umiejętność dodawania funkcjonalności wyszukiwania do tworzonych systemów, jak i do tych, którzy na co dzień mają do czynienia z którymś z rozwiązań opartych o Lucene, i chcieliby “zajrzeć pod maskę”.</i></blockquote>
<div>
<br /></div>
<div>
Pełne info pod adresem <a href="http://trojmiasto.jug.pl/kalendarz/warsztaty/apache-lucene-praktycznie-2013-06-15/">http://trojmiasto.jug.pl/kalendarz/warsztaty/apache-lucene-praktycznie-2013-06-15/</a></div>
<div>
Rejestracja: <a href="http://www.eventbrite.com/event/5753111712">http://www.eventbrite.com/event/5753111712</a></div>
<div>
<br /></div>
<div>
Trójmiasto Java User Group serdecznie zaprasza wszystkich chętnych!</div>
<div>
<br /></div>
<div>
Pozdrawiam i do następnego razu!</div>
</div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-86106783368088940672013-04-19T13:18:00.000-07:002013-04-19T13:18:40.867-07:00Team Geek - recenzja<div style="text-align: justify;">
W ferworze pracy i przy codziennym zmęczeniu nie mamy często ani czasu ani chęci na czytanie książek branżowych. Mi osobiście nie zdażyło sie już bardzo długo chociażby zajrzeć do stricte technicznej książki. Od kiedy uruchomiliśmy w ramach Trójmiasto JUG biblioteczkę wydawnictwa O'Reilly, nosiłem się z zamiarem przeczytania czegoś ciekawego, ale nie wymagajacego wiele uwagi i dającego przyjemność. Już kilkukrotnie słyszałem (m.in. na konferencjach) odwołania ludzi do książki dwóch pracowników Google, Briana Fitzpatricka oraz Bena Collins-Sussmana, "Teak Geek".</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Moje wrażenia po dwukrotnym przeczytaniu książki znaleźć można na stronie grupy: <a href="http://trojmiasto.jug.pl/bookshelf/team-geek/">http://trojmiasto.jug.pl/bookshelf/team-geek/</a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Jest to moja pierwsza recenzja w języku angielskim, w związku z czym wszelkie komentarze mile widziane ;)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Pozdrawiam i do następnego razu!</div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-11319276788883973552013-03-18T09:24:00.000-07:002013-03-18T09:24:06.413-07:00JEE6 praktycznie - podsumowanie pierwszych warsztatów Trójmiasto JUG<div style="text-align: justify;">
Pierwsze warsztaty Trójmiasto Java User Group miały miejsce ponad tydzień temu, a więc czas na drobne podsumowanie (zarówno z mojej strony jak i uczestników).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Na samym początku chciałbym podziękować kilku osobom i firmom, bez których organizacja warsztatów nie była by możliwa. Wpierw osoby:</div>
<div style="text-align: justify;">
<br /></div>
<ul>
<li style="text-align: justify;">Kuba Marchwicki - nie tylko za przeprowadzenie warsztatów, ale także za samą chęć i energię włożoną w ich organizację</li>
<li style="text-align: justify;">Natalia Piechota - za pomoc w medialnej oprawie imprezy</li>
<li style="text-align: justify;">Wojciech Wasiukiewicz - za podzielenie się z nami swoimi przemyśleniami na temat roli firm takich jak Solwit w rozwoju lokalnych społeczności</li>
<li style="text-align: justify;">Cezary Furmanek - za pomoc techniczną</li>
<li style="text-align: justify;">Patryk Brzeziński - za pomoc przy materiałach multimedialnych</li>
<li style="text-align: justify;">Michał Kwas - za dużą elastyczność przy organizacji miejsca warsztatów i wyrozumiałość</li>
</ul>
<div>
<div style="text-align: justify;">
A teraz firmy:</div>
</div>
<div>
<ul>
<li style="text-align: justify;"><a href="http://solwit.pl/" target="_blank">Solwit</a> - nasz główny sponsor, bez którego cała ta impreza nie miałaby szans wypalić</li>
<li style="text-align: justify;"><a href="http://www.ydp.com.pl/" target="_blank">Young Digital Planet</a> - za pendrive'y i lunch w trakcie warsztatów</li>
<li style="text-align: justify;"><a href="http://inkubatorstarter.pl/" target="_blank">Gdański Inkubator Przedsiębiorczości Starter</a> - za udostępnienie miejsca i pomoc logistyczną przy organizacji imprezy</li>
</ul>
<div style="text-align: justify;">
<br /></div>
</div>
<div style="text-align: center;">
<b>Wszystkim Wam gorąco dziękuję! :)</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Wszyscy uczestnicy po zakończeniu otrzymali do wypełnienia krótką ankietę (4 pytania zamknięte i jedno otwarte - luźne komentarze). Odpowiedziało 18 z 22 osób, co jest wynikiem bardzo dobrym. Najpierw wyniki pytań zamkniętych.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiRaPac2IqjTde-paEHEatnfPDPPZQsY0m0HzQaaCWKwrzSxoTg4TVz2LxOAljvjDVTzbDMe6Hx6XJZPMCz20S15O7GSIKNLqWkBNXSDfJXrfChcKlUPAkyBKmnKfqpYT9gPJt0VsY0L4/s1600/2013-03-18+16_59_32-SurveyMonkey+Analyze+-+JEE6+praktycznie+-+Kuba+Marchwicki+(Tr%C3%B3jmiasto+JUG).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiRaPac2IqjTde-paEHEatnfPDPPZQsY0m0HzQaaCWKwrzSxoTg4TVz2LxOAljvjDVTzbDMe6Hx6XJZPMCz20S15O7GSIKNLqWkBNXSDfJXrfChcKlUPAkyBKmnKfqpYT9gPJt0VsY0L4/s400/2013-03-18+16_59_32-SurveyMonkey+Analyze+-+JEE6+praktycznie+-+Kuba+Marchwicki+(Tr%C3%B3jmiasto+JUG).png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2N2j6sgBDjQTXakygRT67vTmpJKYb46MvAyXTYeH067YOEeif7J4PiP11J5jhzaMWqOxr-CVV465g5lVQ1ge5hyC7wvc4AfRG-UKPC9vnNh5jVjQSIKaF-cJ__gf7ePC9cGy6tggOQyU/s1600/2013-03-18+17_00_29-SurveyMonkey+Analyze+-+JEE6+praktycznie+-+Kuba+Marchwicki+(Tr%C3%B3jmiasto+JUG).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2N2j6sgBDjQTXakygRT67vTmpJKYb46MvAyXTYeH067YOEeif7J4PiP11J5jhzaMWqOxr-CVV465g5lVQ1ge5hyC7wvc4AfRG-UKPC9vnNh5jVjQSIKaF-cJ__gf7ePC9cGy6tggOQyU/s400/2013-03-18+17_00_29-SurveyMonkey+Analyze+-+JEE6+praktycznie+-+Kuba+Marchwicki+(Tr%C3%B3jmiasto+JUG).png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPO8JGH8wp-AKugzXN3Rar0_3J2iSGj-_JMOORPC8MIRdvAlasm4DRDR0OOhusj4GkawXO0szlUOi_4PXPMCAT019CcL6W0DuODPeA3jDVxNFp6wrEsQTWg5Dymq2Y4j66u41D7dB1758/s1600/2013-03-18+17_00_20-SurveyMonkey+Analyze+-+JEE6+praktycznie+-+Kuba+Marchwicki+(Tr%C3%B3jmiasto+JUG).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPO8JGH8wp-AKugzXN3Rar0_3J2iSGj-_JMOORPC8MIRdvAlasm4DRDR0OOhusj4GkawXO0szlUOi_4PXPMCAT019CcL6W0DuODPeA3jDVxNFp6wrEsQTWg5Dymq2Y4j66u41D7dB1758/s400/2013-03-18+17_00_20-SurveyMonkey+Analyze+-+JEE6+praktycznie+-+Kuba+Marchwicki+(Tr%C3%B3jmiasto+JUG).png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjjrYV2m8A99nMsNqyXbcxQc8x1MJpCbTuZ505hOY5TcH8J-IGePX8Q4Fp4eEhtx0v9n3PYgSm054fJ4qRyP74tdwLaMIp7aehG4omOJJso9fmgAdAcGOfjMRNWDoXRyIwCjUYPU7COBU/s1600/2013-03-18+17_00_39-SurveyMonkey+Analyze+-+JEE6+praktycznie+-+Kuba+Marchwicki+(Tr%C3%B3jmiasto+JUG).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjjrYV2m8A99nMsNqyXbcxQc8x1MJpCbTuZ505hOY5TcH8J-IGePX8Q4Fp4eEhtx0v9n3PYgSm054fJ4qRyP74tdwLaMIp7aehG4omOJJso9fmgAdAcGOfjMRNWDoXRyIwCjUYPU7COBU/s400/2013-03-18+17_00_39-SurveyMonkey+Analyze+-+JEE6+praktycznie+-+Kuba+Marchwicki+(Tr%C3%B3jmiasto+JUG).png" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Szczególnie cieszy odpowiedź na ostatnie pytanie - to pokazuje, że warto tego typu wydarzenia organizować!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Oczywiście nie obyło się bez pomyłek i pomniejszych wpadek organizacyjnych:</div>
<div style="text-align: justify;">
<ul>
<li>wcześniejsze zadbanie o stałą, nie za wysoką temperaturę w pomieszczeniu</li>
<li>miejsce na obiad osobne, poza salą, w której się pracuje</li>
<li>stoły z napojami po dwóch stronach sali, aby wszystkim było wygodnie</li>
<li>obrazy wirtualne ze środowiskiem lub też instrukcje co należy przygotować przed warsztatami na 2-3 dni przed samym wydarzeniem</li>
</ul>
<div>
Mam nadzieję, że uda nam się zorganizować kolejne tego typu warsztaty już w czerwcu i będą one jeszcze lepsze niż poprzednie.</div>
<div>
<br /></div>
<div>
Pozdrawiam i do następnego razu!</div>
</div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-39350019139049972982013-02-13T12:33:00.000-08:002013-02-13T12:33:26.010-08:00Najbliższe spotkania Trójmiasto JUG<div style="text-align: justify;">
<b>Dzieje się!</b> - tymi dwoma słowami można by podsumować ostatnie dwa miesiące prac przy organizacji Trójmiejskiej Java User Group. Już teraz, a mamy dopiero początek roku, wiadomo, że w tym roku spotkań w ramach grupy będzie więcej niż w zeszłym roku. W dodatku planujemy rozszerzenie formy spotkań, ale o tym za chwilę.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Lutowe spotkanie poprowadzi Mateusz Haligowski, a tematem jego prelekcji będzie "Vagrant, czyli wirtualizacja dla deweloperów". Krótki opis tego, co Mateusz planuje przedstawić nam <b>28 lutego</b>:</div>
<div style="text-align: justify;">
<br /></div>
<blockquote class="tr_bq" style="text-align: justify;">
<i>Szybko rosnąca moc obliczeniowa sprzętu wprowadziła wirtualizację środowisk pod strzechy. Podczas prezentacji przedstawię w jaki sposób można to wykorzystać tworząc nowe rozwiązania, lub próbując podłączyć się do już istniejących. Pokażę narzędzie Vagrant, oraz w jaki sposób skonfigurować je przy pomocy Puppeta.</i></blockquote>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Marzec będzie dla naszej grupy bardzo wyjątkowy. Na początek parę informacji o prelekcji. Poprowadzi ją Sławomir Ginter, jeden z założycieli firmy Spartez (w której miałem przyjemność odbywać praktyki studenckie i pracować przez pewien czas). Tematem jego prelekcji będzie "Programowanie funkcyjne w Javie" i odbędzie się <b>21 marca</b>. Oto kilka zagadnień, które prelegent chce poruszyć w swojej prelekcji:</div>
<br />
<br />
<ul>
<li style="text-align: justify;">dlaczego immutability jest dobre i jak to zrobic w kolekcjach uzywajac Guava</li>
<li style="text-align: justify;">dlaczego Option i Either jest lepszy od wyjątków i jak to zrobic w Javie (Fugue)</li>
<li style="text-align: justify;">co sie stanie jak juz przyjdzie Java 8 (lambda + traits)</li>
<li style="text-align: justify;">gdzie warto po prostu użyć Scali (testy, pluginy/moduły, prototyping)</li>
<li style="text-align: justify;">walczymy z boilerplate czyli Project Lombok</li>
</ul>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Na sam koniec zostawiłem największą atrakcję pierwszego kwartału. Zgodnie z obietnicami składanymi w zeszłym roku na spotkaniach grupy, ruszamy z serią darmowych, kwartalnych sobotnich warsztatów! A wszystko za sprawą Kuby Marchickiego, który już 9 marca nauczy nas wielu praktycznych rzeczy na temat JEE6. Oto co sam prelegent mówi o planach dotyczących warsztatów:</div>
<div style="text-align: justify;">
<br /></div>
<blockquote class="tr_bq" style="text-align: justify;">
<i>JEE6 służy do rozwiązywania konkretnej klasy problemów. JEE6 nie jest Springiem. Nie robi wszystkiego (łącznie z pokojem na świecie i ładną pogodą) – zajmuje się wycinkiem systemów klasy enterprise i robi to całkiem nieźle. Warsztaty mają na celu wprowadzenie w świat aplikacji JEE6. Produktywne wykorzystanie standardu, czyli jak zbudować typową aplikację: baza danych, logika (funkcjonalna i niefunkcjonalna) + widok w kilku wariantach. Będzie o ORMach, wstrzykiwaniu zależności, web servicach, testach i servletach. Będzie warsztatowo – dużo kodu, programowanie w parach i na koniec dnia wyjścia z działająca aplikacją przechodzącą przez niemalże cały stos JEE6. Nie będę wyjaśniał czym jest ORM, ale jak go użyć. Nie będę dyskutował z założeniami wstrzykiwania zależności – pokaże co dają. Nie będę roztrząsał sporu: testować stan czy testować – pokażę co się sprawdza w naszych projekcie.</i></blockquote>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>W przeciągu pierwszych 12 godzin od otwarcia rejestracji wszystkie wejściówki na warsztaty zostały rozdane!</b> Możliwe, że ilość miejsc na warsztaty nieznacznie się zwiększy, tak więc śledźcie stronę grupy!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Obecnie prowadzimy rozmowy odnośnie dwóch kolejnych warsztatów (maj/czerwiec oraz koniec września/październik) oraz znacznego rozszerzenia współpracy z dwoma sponsorami. Jeśli choćby tylko połowa z planów weszła w życie, zapowiada się bardzo pracowity rok :)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Na zakończenie kilka odnośników gdzie szukać informacji o grupie:</div>
<div style="text-align: justify;">
<ul>
<li><a href="https://groups.google.com/forum/?fromgroups=#!forum/jug-trojmiasto" target="_blank">grupa mailingowa</a></li>
<li><a href="http://trojmiasto.jug.pl/" target="_blank">strona internetowa</a> (także w <a href="http://trojmiasto.jug.pl/en/" target="_blank">języku angielskim</a>)</li>
<li><a href="https://twitter.com/JUGTricity" target="_blank">Twitter</a></li>
<li><a href="https://plus.google.com/109514767676260212908/posts" target="_blank">Google+</a> (sporadycznie)</li>
</ul>
<div>
Pozdrawiam i do następnego razu!</div>
</div>
<br />
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-24081141394034966372013-01-20T11:30:00.002-08:002013-01-22T12:36:03.756-08:00Drobne zmiany<div style="text-align: justify;">
Od kilku tygodni można było zauważyć zmianę adresu bloga. Ostatnimi dniami zmieniła się także nazwa bloga. Od dłuższego już czasu "Akademia Javy" nie jest adekwatną nazwą dla tego o czym chcę pisać. Nie samą technologią/platformą człowiek żyje ;) W związku z tym mam nadzieję, że tematyka moich wpisów będzie się poszerzać, może z czasem także dojdzie do jakichś miększych wpisów. Dalszych planów sprecyzowanych nie mam, zobaczymy jak wszystko się potoczy.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Tak więc zapraszam wszystkich do lektury bloga <a href="http://blog.dragonia.org.pl/">blog.dragonia.org.pl</a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Do następnego razu!</div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-83640886420006724392013-01-19T07:03:00.003-08:002013-01-19T07:04:22.750-08:00LinkedIn JavaScript Bootcamp<div style="text-align: justify;">
W ramach nadrabiania zaległości (spowodowanych straconym czasem na pisanie pracy magisterskiej) oraz przygotowania do serii krótkich wykładów wewnątrz firmowych na temat podstaw (i nie tylko) języka JavaScript postanowiłem sprawdzić jak to się robi w dużych firmach. Na celownik jako pierwsza poszła ekipa z <a href="http://www.linkedin.com/" target="_blank">LinkedIn</a>, a to za sprawą zeszłorocznej serii wykładów <a href="http://www.youtube.com/playlist?list=PL31510E6538A356F1" target="_blank">LinkedIn JavaScript Bootcamp</a> w ramach <a href="http://www.youtube.com/user/LinkedInTechTalks" target="_blank">LinkedIn Tech Talks</a>. Seria ta uświadomiła mi, że mimo roku spędzonego przy projekcie opartym o JavaScript, wciąż nie doceniam tego języka i nie znam go odpowiednio dobrze. Zagadnienia takie jak hoisting, event capturing/bubbling, selectors performance, deffered/promise pattern - to tak naprawdę podstawy, choć bardzo często pomijane przy nauce tego języka. Nieznajomość tych tematów może prowadzić do ciężkich w wyprostowaniu konstrukcji, których utrzymywanie w późniejszym etapie może być bardzo bolesne (mówię z własnego doświadczenia).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Cała seria składa się z 12 części:</div>
<ol>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=36OyWQSPdWk" target="_blank">JavaScript 101</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=Ct2JwiePHPs" target="_blank">DOM Events</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=1lhxzOr4CVw" target="_blank">DOM Scripting</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=eogNKWLvzr4" target="_blank">Javascript Debugging</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=IbspyxJppU8" target="_blank">AJAX at LinkedIn</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=vXWOKZVdRaI" target="_blank">Scoping</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=5vsrq-9VhZs" target="_blank">Object Oriented Programming</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=pCEinCPNY9o&feature=share&list=PL31510E6538A356F1" target="_blank">LinkedIn Homebrew</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=8Qrxe9PnwuQ&feature=share&list=PL31510E6538A356F1" target="_blank">JS Coding Standards</a> - najgorsza z prezentacji</li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=mpLFRhIGxN4&feature=share&list=PL31510E6538A356F1" target="_blank">jQuery at LinkedIn</a></li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=8quvkTnyzyc&feature=share&list=PL31510E6538A356F1" target="_blank">The Curious Case of Dust</a> - jedyna część, której nie byłem w stanie obejrzeć do końca. Kompletnie nie podchodzi mi taki sposób prowadzenia prezentacji</li>
<li style="text-align: justify;"><a href="http://www.youtube.com/watch?v=-IYqgx8JxlU&feature=share&list=PL31510E6538A356F1" target="_blank">JS Unit Testing</a></li>
</ol>
<div style="text-align: justify;">
Najbardziej polecam prelekcje Kiro Risk'a (Scoping, OOP oraz jQuery). Uważam je za najlepsze i chyba najbardziej zapadły mi w pamięć. Cała seria trwa prawie 10 godzin, lecz wydaje mi się. że prawie cały ten czas dobrze spędziłem.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Dodatkowo, w trakcie wielu z tych prezentacji mowa jest o różnych projektach Open Source, które prowadzi LinkedIn. Można je znaleźć na ich <a href="https://github.com/linkedin" target="_blank">profilu na GitHub'ie</a>.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Do następnego razu!</div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-70931688952571840182013-01-13T01:38:00.000-08:002013-01-13T01:38:28.493-08:00(Nie za bardzo) krótkie podsumowanie ubiegłego roku<div style="text-align: justify;">
Zeszły rok był zwariowany. Chociaż nie było tego widać po tym blogu, działo się bardzo dużo, bardzo szybko. O tym, że mam zamiar więcej publikować na blogu mówiłem między innymi <a href="http://blog.dragonia.org.pl/2012/02/joel-spolsky-smart-and-gets-things-done.html" target="_blank">tutaj</a> i <a href="http://blog.dragonia.org.pl/2011/02/ryan-singer-czowiek-ktory-zmusi-mnie-do.html" target="_blank">tutaj</a>. Ale jak to mówią, dobrymi chęciami piekło jest wybrukowane.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ubiegły rok pod względem blogowania był bardzo skromny. Raptem <a href="http://blog.dragonia.org.pl/search?updated-min=2012-01-01T00:00:00-08:00&updated-max=2013-01-01T00:00:00-08:00&max-results=3" target="_blank">3 posty napisane przez cały rok</a>. To i tak lepiej, niż w <a href="http://blog.dragonia.org.pl/search?updated-min=2011-01-01T00:00:00-08:00&updated-max=2012-01-01T00:00:00-08:00&max-results=2" target="_blank">roku 2011</a> ;-) W tym roku mam nadzieję znacznie więcej pisać, przynajmniej jeden post na 3-4 tygodnie. Jedynie tematyka lekko się zmieni. Będzie trochę o Trójmiasto JUG, więcej o JavaScript, pewnie trochę o Groovy/Grails oraz Python/Django i zapewne o czymkolwiek innym, czym zawodowo będę zajmować się w tym roku. Od prawie roku pracuje na stanowisku Junior Software Developer w firmie Solwit, gdzie co rusz spotykam się z wyzwaniami, tak więc sądzę, że na brak tematów do pisania narzekać nie będę mógł.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Zeszły rok był również moim ostatnim (mam nadzieję) spędzonym na Politechnice Gdańskiej. Obroniłem tytuł magistra inżyniera z Fizyki Technicznej na specjalności Informatyka Stosowana. Tematem mojej pracy była: <i>"Baza wiedzy o ogrodach jako praktyczny przykład wykorzystania technologii GIS. Modułowy system oparty o architekturę chmury"</i>. Tematyka ciekawa, sam projekt okazał się totalną klapą. Ale najważniejsze, że ....</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://3.gvt0.com/vi/xw_OEU2U4W8/0.jpg"><param name="movie" value="http://www.youtube.com/v/xw_OEU2U4W8&fs=1&source=uds" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="http://www.youtube.com/v/xw_OEU2U4W8&fs=1&source=uds" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<br />
<br />
<div style="text-align: justify;">
W roku 2012 miała miejsce jeszcze jedna zmiana, z której jestem bardzo dumny. Wraz z <a href="http://tech.mrozewski.pl/" target="_blank">Mateuszem Mrozewskim</a> podjęliśmy się zadania reanimacji Trójmiejskiej Grupy Użytkowników Java. Po roku spędzonym w tym temacie mogę śmiało powiedzieć, że udało się osiągnąć plan minimum i znacznie więcej. Kilka faktów i statystyk dotyczących działalności grupy w ubiegłym roku:</div>
<br />
<ul>
<li style="text-align: justify;">odbyło się 8 spotań prowadzonych przez 7 prelegentów,</li>
<li style="text-align: justify;">odbywaliśmy spotkania w dwóch lokalizacjach: wpierw na <a href="http://www.mif.pg.gda.pl/" target="_blank">Wydziale Fizyki Technicznej i Matematyki Stosowanej</a> Politechniki Gdańskiej, by potem zadomowić się w <a href="http://inkubatorstarter.pl/" target="_blank">Inkubatorze Starter</a> prowadzonym przez <a href="http://www.gfp.com.pl/wydarzenia.html" target="_blank">Gdańską Fundację Przedsiębiorczości</a>,</li>
<li style="text-align: justify;">uruchomiliśmy <a href="http://trojmiasto.jug.pl/pl/" target="_blank">stronę grupy</a> (<a href="http://trojmiasto.jug.pl/en/" target="_blank">także w języku angielskim</a>),</li>
<li style="text-align: justify;">stworzyliśmy profil na <a href="https://plus.google.com/109514767676260212908/posts" target="_blank">Google+</a> orazkonto na <a href="https://twitter.com/JUGTricity" target="_blank">Twitterze</a>,</li>
<li style="text-align: justify;">uruchomiliśmy program <a href="http://trojmiasto.jug.pl/biblioteczka/" target="_blank">O'Reilly Bookshelf</a>, na zadadach <a href="http://oreilly.com/ug/" target="_blank">O'Reilly Group Program</a>, w ramach którego udało się zebrać 7 książek,</li>
<li style="text-align: justify;">mieliśmy przyjemność pomagać i brać udział w imprezie <a href="http://trojmiasto.startupweekend.org/" target="_blank">Startup Weekend Trójmiasto</a>. Była to nasza pierwsza kontrybucja w lokalnym ekosystemie poza działalnością grupy,</li>
<li style="text-align: justify;">pozyskaliśmy 5 sponsorów (<a href="http://solwit.pl/" target="_blank">Solwit</a>, <a href="http://www.jetbrains.com/" target="_blank">JetBrains</a>, <a href="http://oreilly.com/" target="_blank">O'Reilly</a>, <a href="http://zeroturnaround.com/" target="_blank">ZeroTurnaround</a> oraz <a href="http://inkubatorstarter.pl/" target="_blank">Inkubator Starter</a>) oraz 3 partnerów (<a href="http://trojmiasto.gtug.pl/" target="_blank">Google Development Group Trójmiasto</a>, <a href="http://3hack.pl/">3hack.pl</a>, <a href="http://it.wtrojmiescie.org/" target="_blank">it3c</a>),</li>
<li style="text-align: justify;">nagraliśmy kilkanaście godzin prelekcji i zrobiliśmy ponad setkę zdjęć.</li>
</ul>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Plany na rok 2013?</div>
<div style="text-align: justify;">
<ul>
<li>wziąć udział w projekcie open source (choćby jedno contribution)</li>
<li>prowadzić JUG'a regularnie, by rocznie odbywało się minimum 9 prelekcji</li>
<li>pojechać na <a href="http://2013.33degree.org/" target="_blank">33 Degree</a> </li>
<li>pisać więcej na blogu ;-)</li>
</ul>
</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Do następnego razu!</div>
Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-38558193841536931552012-04-01T14:44:00.001-07:002012-04-01T14:44:39.349-07:00Firebug Lite vs platformy mobilne<div style="text-align: justify;">
Mnogość platform mobilnych z wolna przytłacza młodych programistów. Niezależnie od wieku i doświadczenia - wszyscy marzymy o tworzeniu rozwiązań działających dobrze i jednakowo na każdej platformie sprzętowej jak i softwarej. Nie inaczej sprawa ma się w przypadku tworzenia aplikacji webowych. Bardzo często problem polega na bardzo drobnych, lecz dokuczliwych różnicach w implementacjach przeglądarek na różne platformy. Osobiście spotkałem się ostatnio z takim problemem w Safari na iPadzie. Zastanawiałem się przez dłuższa chwilę jak przeanalizować dobrze działanie strony na tablecie z jabłkiem. Safari na iPadzie nie dostarcza (a przynajmniej nie udało mi się takiej opcji znaleźć) konsoli JavaScript ani podglądu drzewa dom, tak więc moje opcje były dosyć ograniczone... do czasu uświadomienia sobie, że jest coś takiego jak <a href="http://getfirebug.com/firebuglite" target="_blank">Firebug Lite</a>. Sam <a href="http://getfirebug.com/" target="_blank">Firebug</a> nie raz i nie dwa uratował mi życie przy tworzeniu aplikacji. Problem pojawił się w momencie osadzenia go na stronie - nie mogłem zmienić w danej chwili źródła strony, tak więc zwykłe osadzenie skryptu nie było możliwe. Chwile spędzone z Google jak zwykle okazały się bezcenne.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Post Paula Horowitza <a href="http://osxdaily.com/2011/12/02/run-firebug-on-ipad-or-iphone/" target="_blank">Run Firebug on iPad and iPhone</a> opisuje dokładnie wszystko, co należy zrobić, aby móc korzystać z dobrodziejstw Firebug na tabletach i smartphone'ach. Całość sprowadza się do... utworzenia zakładki w przeglądarce! Chociaż wydajność tego rozwiązania nie powala (skrypt potrzebuje chwili żeby się załadować) lecz daje elastyczność momentu, w którym chcemy z niego skorzystać - w dowolnej chwili włączamy przygotowaną wcześniej zakładkę, zamiast ładować Firebuga razem z całą stroną. Jak dla mnie idealnie rekompensuje to czas ładowania.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
To tyle na dzisiaj. Mam nadzieję, że komuś przyda się to rozwiązanie.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-31048959492375614282012-03-21T12:26:00.004-07:002012-03-21T12:27:02.193-07:00O podstawach języka JavaScript słów kilka (ponownie)<div style="text-align: justify;">
Temat odgrzewany jak poobiednia kiełbasa. Ale prawda jest taka, że bez dobrej znajomości podstaw danego języka nie jesteśmy (my, w sensie juniorów) w stanie robić czegoś dobrze przez dłuższy czas. Im więcej czasu poświęcać będziemy na nasz kod, tym bardziej będzie się on rozszerzał, a co za tym idzie - rosnąc będzie prawdopodobieństwo, że popełnimy znaczący, trudny do zdiagnozowania błąd wynikający z braku zrozumienia podstawowych zasad rządzących danym językiem. Jestem przekonany, że jeszcze 2 lata temu słysząc, że ktoś boryka się z kłopotami z JavaScript'em parsknąłbym i zapytał - "a co może być takiego trudnego w JS?!". Otóż jak się okazuje wiele rzeczy może być trudnych i nieintuicyjnych, co nie znaczy, że język ten jest zły.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Półtorej roku temu, w trakcie moich <a href="http://akademiajavy.blogspot.com/search/label/Praktyki" target="_blank">letnich praktyk</a> pisałem na blogu o filmiku z serii <a href="http://www.youtube.com/user/GoogleTechTalks" target="_blank">Google Tech Talks</a>, w którym przez trochę ponad godzinę <a href="http://misko.hevery.com/" target="_blank">Miško Hevery</a> opowiada o podstawach JavaScriptu oraz manipulacjach obiektem DOM. W tamtym czasie podszedłem to tematu chyba zbyt swobodnie, co stwierdziłem niedawno pracując nad kolejnym projektem z udziałem JavaScriptu. Ponownie te same błędy, znów te same problemy. Niestety - język ten ma kilka specyficznych elementów, które umykają człowiekowi, jeśli dostatecznie dużo nie spędzi się czasu pisząc kod bezpośrednio korzystający lub omijający te niuanse. Dlatego właśnie postanowiłem powrócić do lektury, do czego zachęcam także Was.</div>
<div style="text-align: center;">
<div style="text-align: justify;">
<br /></div>
</div>
<div style="text-align: justify;">
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/ljNi8nS5TtQ" width="480"></iframe>
</div>
<div style="text-align: center;">
<br /></div>
To, czego zabrakło w poprzednim wpisie to krótkie podsumowanie prezentacji przez prelegenta. Oto ono:<br />
<br />
<ul>
<li>JavaScript jest obiektowy jedynie w przyjętej konwencji, jest to typowy język funkcyjny</li>
<li>Obiektem domyślnym jest zawsze obiekt window</li>
<li>Brak słówka kluczowego this oznacza przypisanie zmiennej do obiektu window</li>
<li>Referencja funkcji gubi this - staje się nim obiekt window. Aby temu zapobiec należy korzystać z bindingu - metody call() oraz apply()</li>
<li>Skrypt jest wywoływany w jednym wątku a wywołanie funkcji zwraca wynik natychmiast - konieczność stosowania callback'ów</li>
</ul>
<div>
Uzbrojony w tą wiedzę zamierzam w niedalekiej przyszłości przeczytać (i oczywiście opisać na blogu) książkę Douglasa Crockforda - <a href="http://shop.oreilly.com/product/9780596517748.do" target="_blank">"JavaScript: The Good Parts"</a> wydawnictwa O'Reilly.</div>
<div>
<br /></div>
<div>
Do następnego razu!</div>
</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com1tag:blogger.com,1999:blog-7903122543378555744.post-78174637548258764702012-02-26T05:07:00.000-08:002012-02-26T05:07:44.004-08:00Joel Spolsky "Smart and gets things done"<div style="text-align: justify;">
Ciężko uwierzyć, że minął prawie rok od mojego ostatniego posta... Co prawda dzieje się bardzo dużo, ale nie aż tak dużo, żeby raz na jakiś czas nie móc napisać choć krótkiego posta tak jak dziś. Prawda jest taka, że aby być w czymś dobrym, a ja bardzo chciałbym być dobrym bloggerem, należy to robić bardzo często. Jakiś czas temu <a href="http://jlaskowski.blogspot.com/" target="_blank">Jacek Laskowski</a> przytoczył bardzo ciekawy <a href="http://www.copyblogger.com/effective-blog-habits/" target="_blank">artykuł listujący 8 zasad</a>, którymi powinien się kierować każdy blogger, by stać się efektywnym pisarzem. Podstawowa zasada to - <b>pisać! </b>Nawet najkrótsze artykuły niosą pewną wartość zarówno dla czytelnika jak i pisarza, tak więc będę się starać od teraz pisać choćby i krótkie wpisy, ale minimum jeden na dwa tygodnie.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS_0IFQ7zod-8PKsVgJJ3E_u7rCF9Q4CQIL8NMDEVmqwkz0gYpV1fFD6Jt1RKwN89lVssjI6ulmn7P7HPTTPNpolEq2g_Cco-kF1EJtP6TfUjlzcGm0uSXC7q8qlx8XcOouag6rCCgKzw/s1600/1400993.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS_0IFQ7zod-8PKsVgJJ3E_u7rCF9Q4CQIL8NMDEVmqwkz0gYpV1fFD6Jt1RKwN89lVssjI6ulmn7P7HPTTPNpolEq2g_Cco-kF1EJtP6TfUjlzcGm0uSXC7q8qlx8XcOouag6rCCgKzw/s320/1400993.jpg" width="200" /></a></div>
<div style="text-align: justify;">
Wracając do tematu dzisiejszego wpisu - miałem ostatnio przyjemność przeczytać jedną z książek <a href="http://www.joelonsoftware.com/" target="_blank">Joela Spolsky'ego</a>, wydaną w 2007 roku <a href="http://www.amazon.co.uk/dp/1590598385" target="_blank">"Smart & gets things done"</a>. Choć do wszystkiego co pisze Joel należy podchodzić z ekstremalną ostrożnością, to przyznać mu trzeba, że jest bardzo dobrym, doświadczonym pisarzem. W książce tej opisuje proces rekrutacyjny swojej firmy - <a href="http://www.fogcreek.com/" target="_blank">Fog Creek</a>. Opisy dla kogoś takiego jak ja wydają się co najmniej fantazyjne (limuzyna odbierająca kandydata z lotniska, wynajęcie drogiego hotelu, wycieczki po Nowym Jorku itd. itd.) a mimo to oprócz faktu, iż książkę czytało się bardzo przyjemnie to przyniosła pewną mierzalną wartość.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bardzo często słyszy się o tzw. testach małpy, testach odpornościowych etc. Osobiście rzadko stosowałem takie podejście. Wynika to z wielu rzeczy: akademickiej natury większości projektów w jakich brałem udział, braku przekonania co do słuszności "tracenia czasu" na takie zabiegi etc. W swojej książce Joel Spolsky opisu coś co nazywa "Hallway test",czyli poproszenie osoby przechodzącej obok (która nie jest związana z produktem, nad którym pracujesz) o spędzenie kilku chwil i wypróbowanie i ocenienie użyteczności, łatwości korzystania i wielu innych aspektów projektu, które nam - programistom - bardzo ciężko ocenić. O słuszności takiego podejścia przekonałem się następnego dnia po przeczytaniu książki. Tworzyłem kawałek funkcjonalności i wydawało mi się, że zmierzam w absolutnie dobrym kierunku. Kiedy prototyp interfejsu był gotowy coś mnie tknęło i postanowiłem pokazać go koledze z zespołu, by go ocenił, przeklikał. Okazało się, że przez zbyt długie przesiadywanie z kodem nie zauważyłem podstawowych niedogodności użytkowania modułu. Od tej pory staram się pozyskiwać 2-3 minuty czasu innej osoby dziennie na ocenienie moich idei, toków myślenia przy projektowaniu interfejsu użytkownika i nie tylko. W samym zeszłym tygodniu takie krótkie konsultacje okazały się oszczędzić mi pracy przez minimum jeden dzień. Całkiem nieźle, co? :)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Podsumowując - książka Joela Spolsky'ego jest godna polecenia każdemu programiście, menadżerowi i komukolwiek innemu związanemu w ten czy inny sposób z procesem rekrutacji lub te wytwarzania oprogramowania jeśli tylko potrafią dystansować się od tego co czytają. Mi lektura sprawiła ogromną przyjemność i już szukam możliwości dostania w swoje ręce kolejnej jego książki :)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com3Gdynia, Polska54.5188898 18.530540954.5004578 18.4910589 54.537321799999994 18.570022899999998tag:blogger.com,1999:blog-7903122543378555744.post-85791787709484825382011-03-19T13:29:00.000-07:002011-03-20T08:16:38.242-07:00Programowanie to nie rzemiosło?<div style="text-align: justify;">Witam serdecznie!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Wczoraj zaczynałem dalej rozwijać aplikację na przedmiot Platforma Programistyczna .NET (fuuuuj...). W czasie poszukiwania informacji na temat <a href="http://msdn.microsoft.com/en-us/netframework/aa663324">Windows Communication Foundation</a> (.NET WCF) natrafiłem na post o intrygującym tytule <a href="http://dannorth.net/2011/01/11/programming-is-not-a-craft/">"Programming is not a craft"</a>. 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 <a href="http://art-of-software.blogspot.com/">Sławomir Sobótka</a> 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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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 <a href="http://akademiajavy.blogspot.com/2011/02/ryan-singer-czowiek-ktory-zmusi-mnie-do.html">w tym poście</a>).</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Pozdrawiam i życzę miłej niedzieli przy pięknej pogodzie! :)</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com4tag:blogger.com,1999:blog-7903122543378555744.post-81643634765992951772011-02-16T11:48:00.001-08:002011-02-16T12:09:31.841-08:00Ryan Singer - człowiek, który zmusił mnie do myślenia<div style="text-align: justify;">Witam po długiej przerwie!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Jedną z pierwszych rzeczy jakie postanowiłem nadrobić to obejrzenie trzech prezentacji Ryana Stingera, pracownika firmy <a href="http://37signals.com/">37signals</a>. 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 ;)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">A teraz zapraszam do obejrzenia wspomnianych przeze mnie prezentacji:</div><div style="text-align: center;"><div style="text-align: justify;"><br /></div><iframe src="http://player.vimeo.com/video/15772341?byline=0&portrait=0" width="403" height="225" frameborder="0"></iframe></div><p style="text-align: center;"><a href="http://vimeo.com/15772341">Ryan Singer at Future of Web Apps, London 2010</a></p><div style="text-align: center;"><br /></div><div style="text-align: center;"><iframe src="http://player.vimeo.com/video/15774773?byline=0&portrait=0" width="400" height="300" frameborder="0"></iframe><p><a href="http://vimeo.com/15774773">Weaving Design and Development</a></p><div style="text-align: center;"><br /><iframe src="http://player.vimeo.com/video/15840418?byline=0&portrait=0" width="400" height="267" frameborder="0"></iframe><p><a href="http://vimeo.com/15840418">UI Fundamentals for Programmers</a></p><p style="text-align: justify;">Pozdrawiam i do następnego razu!</p></div></div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com3tag:blogger.com,1999:blog-7903122543378555744.post-12332130774725929812010-12-27T12:48:00.001-08:002011-07-20T14:08:23.281-07:00Cytaty #8<div style="text-align: justify;">Witam!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Pierwszy z nich pochodzi z jednego z moich ulubionych seriali -<i> Chorych Doktorów</i> (ang. <i>Scrubs</i>). W jednej ze scen Bob Kelso mówi do swojej pacjentki (a także do przysłuchującego się Turk'a):</div><div style="text-align: justify;"><blockquote style="text-align: center;"><i>"Nic, co jest warte posiadania, nie przychodzi łatwo (...)"</i></blockquote></div><div style="text-align: justify;">Jakby tego było mało, potwierdza to niejako Rendy Pausch, którego książkę - <i>Ostatni Wykład</i> - w ostatnim czasie przeczytałem już po raz trzeci od deski do deski. Są w tej książce (a także na <a href="http://www.youtube.com/watch?v=ji5_MqicxSo">wideo z jego faktycznego ostatniego wykładu</a>) pewne bardzo słuszne słowa:</div><div style="text-align: justify;"><blockquote style="text-align: center;"><i>"Mury istnieją po to, by powstrzymywać ludzi, którzy nie pragną czegoś dostatecznie mocno"</i></blockquote></div><div style="text-align: justify;">Na sam koniec przytoczę słowa Dona Brown'a z firmy <a href="http://www.atlassian.com/">Atlassian</a>, który to w trakcie prezentacji pt. <a href="http://www.atlassian.com/en/about/events/atlascamp/2010/day2/functional-and-integration-testing">"Functional and Integration Testing for the Lazy"</a> na <a href="http://www.atlassian.com/about/events/atlascamp/2010/">AtlasCamp 2010</a> powiedział:</div><div style="text-align: justify;"><blockquote style="text-align: center;"><i>"As we start any good story, every story begins in Maven"</i></blockquote></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-21664283260347494072010-12-26T15:52:00.001-08:002010-12-26T16:33:31.031-08:00Agile Central Europe 2010<div style="text-align: justify;">Witam!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Ś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 <a href="http://www.javaexpress.pl/">JAVA exPress</a>, czy też <a href="http://sdjournal.org/">Software Developer's Journal</a>, lub też być na bieżąco z ciekawymi prezentacjami na <a href="http://www.blogger.com/www.infoq.com">InfoQ</a>. Całą sytuację pogorszył jeszcze fakt startu nowej inicjatywy kolegi z pracy, <a href="http://www.nowaker.net/">Damiana Nowaka</a> - <a href="http://wpolsce.it/">wPolsce.it</a>. 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 - <a href="http://agilece.com/">Agile Central Europe 2010</a> w Krakowie. Piszę o tym, ponieważ przeglądając stronę konferencji natrafiłem na zapis wideo prezentacji Roberta Dempsey'a o ciekawym tytule <i>"Distributed Agile in a Multicultural World"</i>. 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 <a href="http://www.spartez.com/">Spartezie</a> (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:</div><div style="text-align: center;"><br /></div><div style="text-align: center;"><iframe src="http://player.vimeo.com/video/12021592" width="400" height="225" frameborder="0"></iframe></div><center><p><a href="http://vimeo.com/12021592">Robert Dempsey - Distributed Agile in a Multicultural World</a> from <a href="http://vimeo.com/agilece">Krakow Tech Conferences</a> on <a href="http://vimeo.com/">Vimeo</a>.</p></center><div style="text-align: justify;">Niestety filmik nie jest w najlepszej jakości, nie widać slajdów przez większość czasu - jednym słowem - <a href="http://parleys.com/">Parleys</a> to to nie jest ;) Przeglądając <a href="http://vimeo.com/agilece">kanał</a> na <a href="http://vimeo.com/">Vimeo</a>, na którym umieszczono prezentację natrafiłem jeszcze na kilka zapowiadających się ciekawie prezentacji. <a href="agilece.com/ace-conference-2010/2010/7/19/piotr-jagielski-refactoring-test-code.html">"Refactoring Test Code"</a> 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 <a href="http://agilece.com/ace-conference-2010/2010/5/26/maria-diaconu-and-alexandru-bolboac-software-as-a-craft-an-i.html">"Software as a craft - an introduction to the Software Craftsmanship movement"</a> - temat, który dzięki <a href="http://art-of-software.blogspot.com/">Sławomirowi Sobótce</a> 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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Święta przed chwilą się skończyły, tak więc czas przygotować się do powrotu do pracy, na dziś to tyle.</div><div style="text-align: justify;">Pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com1tag:blogger.com,1999:blog-7903122543378555744.post-56000342154572550672010-12-25T03:12:00.000-08:002010-12-25T08:21:33.112-08:00Co nowego w IntelliJ IDEA 10<div style="text-align: justify;">Witam!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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 - <a href="http://www.jetbrains.com/idea/index.html">IntelliJ IDEA</a> - 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:</div><div style="text-align: justify;"><ol><li><b>Poprawiona wydajność</b> - na <a href="http://www.jetbrains.com/idea/whatsnew/index.html">stronie z informacjami o nowościach w wersji 10</a> firma <a href="http://www.jetbrains.com/">JetBrains</a> 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.</li><li><b>Odczepiane okna</b> - 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ę:</li></ol><center><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"><param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="flashvars" value="config={"clip":{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"sites/default/files/videos/converted/detachable-editors.flv"},"plugins":{"controls":{"stop":true}},"playlist":[{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"http://tv.jetbrains.net/sites/default/files/videos/converted/detachable-editors.flv"}]}"></object></center><ol start="3"><li><b>Zakładki</b> - 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:</li></ol><center><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"><param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="flashvars" value="config={"clip":{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"sites/default/files/videos/converted/idea-bookmarks.flv"},"plugins":{"controls":{"stop":true}},"playlist":[{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"http://tv.jetbrains.net/sites/default/files/videos/converted/idea-bookmarks.flv"}]}"></object></center><ol start="4"><li><b>Instant Autocompletion</b> - 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 :)</li></ol><div><center><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"><param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="flashvars" value="config={"clip":{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"sites/default/files/videos/converted/autocomplete.flv"},"plugins":{"controls":{"stop":true}},"playlist":[{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"http://tv.jetbrains.net/sites/default/files/videos/converted/autocomplete.flv"}]}"></object></center><ol start="5"><li><b>Integracja z Apache Maven</b> - 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.</li></ol></div><center><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"><param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="flashvars" value="config={"clip":{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"sites/default/files/videos/converted/maven.flv"},"plugins":{"controls":{"stop":true}},"playlist":[{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"http://tv.jetbrains.net/sites/default/files/videos/converted/maven.flv"}]}"></object><br /></center><ol start="6"><li><b>Productivity Guide</b> - to dodatek trochę dla zabawy, choć w połączeniu z rozszerzeniem <a href="http://plugins.intellij.net/plugin/?id=1003">Key Promoter</a> 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.</li></ol><center><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"><param name="movie" value="http://tv.jetbrains.net/sites/default/files/flowplayer3/flowplayer-3.2.2.swf"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="flashvars" value="config={"clip":{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"sites/default/files/videos/converted/050-Productivity-Guide.flv"},"plugins":{"controls":{"stop":true}},"playlist":[{"baseUrl":"http://tv.jetbrains.net","scaling":"orig","autoPlay":false,"autoBuffering":true,"url":"http://tv.jetbrains.net/sites/default/files/videos/converted/050-Productivity-Guide.flv"}]}"></object><br /></center><br /><div><br /></div><div>Czas powiedzieć co mi się nie podoba w nowej odsłonie IntelliJ IDEA:</div><div><ol><li><b>Sposób tworzenia branchy/tagów w Subversion</b> - 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.</li><li><b>Nie wszystkie nowe opcje działają w Community Edition</b> - przykładowo nowe możliwości w obsłudze Maven'a nie są dostępne w wersji CE, co jest bardzo rozczarowujące.</li><li><b>Problem z pluginami</b> - 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ć...</li></ol><div>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 :)<br /></div></div><div><br /></div><div>Z miłych zaskoczeń przy aktualizacji oprogramowania: od niedługiego czasu jestem szczęśliwym posiadaczem nowego laptopa - <a href="http://h10025.www1.hp.com/ewfrf/wc/product?cc=pl&lc=pl&dlc=pl&product=4123959">HP Pavilion dv7-3130ew</a>. 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 <i>user-friendly</i> :)</div><div><br /></div><div>To tyle na ten moment, czas wracać do świątecznego stołu i cieszyć się chwilami wytchnienia spędzonymi z rodziną :)</div><div><br /></div><div style="text-align: center;"><b>Pozdrawiam i życzę wszystkim wesołych świąt!!!</b></div><div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTPLPKdAL6CoiDRti89GvG3XNgw6pMJdVD-3vkVwSFSjcDowjQ81W3r0tWU_i3Llm_zkbNnmOvJiPyhgj9wl_BNFGtzY0SIv-T70jCBBvawZLwaTDtFqD9aqwfHXU-VQ6Mz0VsVVhc6bw/s200/Christmas+Tree.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; " /></div></div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com1tag:blogger.com,1999:blog-7903122543378555744.post-46091278691534673222010-12-06T08:29:00.000-08:002010-12-06T08:39:33.492-08:00Cytaty #7<div style="text-align: justify;">Witam!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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 <a href="http://pl.wikipedia.org/wiki/William_Faulkner">Williamie Faulkner'ze</a>. Był to amerykański powieściopisarz, poeta, laureat Nagrody Nobla w dziedzinie literatury. A oto co powiedział w 1958r. Jean Stein'owi:</div><div style="text-align: justify;"><blockquote style="text-align: center;"><span class="Apple-style-span" ><i>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 (...).</i></span></blockquote></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Natchniony tą myślą wracam do pracy :)</div><div style="text-align: justify;">Pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-32564027816887664162010-12-04T21:04:00.000-08:002010-12-04T21:19:17.048-08:00Nowy blog o Tapestry<div style="text-align: justify;">Witam serdecznie!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Pierwszy projekt z użyciem frameworku Spring 3 za mną, teraz prace skoncentrowane na zapoznawaniu się z językiem <a href="http://www.jython.org/">Jython</a> 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 <a href="http://tapestry.apache.org/">Tapestry</a> (w wersji 5.2) po prezentacji Michała Grucy na spotkaniu <a href="http://groups.google.com/group/jug-trojmiasto">Trójmiasto Java User Group</a> pt. <a href="http://it.wtrojmiescie.org/spotkania/przeglad-mozliwosci-szkieletu-aplikacyjnego-tapestry-5">"Przegląd możliwości szkieletu aplikacyjnego Tapestry 5"</a>. 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ć <a href="http://mgruca.wordpress.com/">"Reliable IT Solutions"</a> - 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:</div><div style="text-align: center;"><span class="Apple-style-span" style="color: rgb(85, 85, 85); line-height: 17px; "><span class="Apple-style-span" ><blockquote><i><span class="Apple-style-span" >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ć.</span></i></blockquote></span></span></div><div style="text-align: justify;">Pozdrawiam i zachęcam do czytania wpisów Michała!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-574412210963463732010-11-09T12:45:00.000-08:002010-11-09T12:59:12.156-08:00Dlaczego lubię Jersey'a<div style="text-align: justify;">Witam!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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 <a href="http://jersey.java.net/">Jersey</a> :) 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ę <a href="http://www.javarants.com/2008/12/25/using-jax-rs-jersey-to-build-a-jpajaxb-backed-json-rest-api/">artykuł</a>, na który natknąłem się w czasie szukania informacji o wstrzykiwaniu obiektu sesji do RESTowej metody:</div><div style="text-align: justify;"><blockquote style="text-align: center;"><i>This framework looks like it will have long legs in the Java community.</i></blockquote></div><div style="text-align: justify;">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 :)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-58727932434757854792010-11-05T22:26:00.000-07:002010-11-05T22:45:18.438-07:00Cytaty #6<div style="text-align: justify;">Witam!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Sporo czasu minęło od ostatniego wpisu z cytatem (od zwykłego wpisu zresztą też). Jakiś czas temu przeglądałem materiały z <a href="http://www.atlassian.com/tv/">Atlassian TV</a> i natrafiłem na ciekawy materiał jednego z developerów firmy <a href="http://www.atlassian.com">Atlassian</a> o tym jak sprawna automatyzacja pozwoliła ułatwić i przyspieszyć prace nad projektem. Podsumowując swoją opowieść George Barnett powiedział:</div><div style="text-align: justify;"><blockquote style="text-align: center;"><i>Automation is key.</i></blockquote></div><div style="text-align: justify;">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 <a href="http://www.devblogi.pl/">devBlogach</a> pt. <a href="http://www.devblogi.pl/2010/10/jak-efektywnie-realizowac-zadania-kiedy.html">"Jak efektywnie realizować zadania, kiedy jesteś tylko szeregowym programistą"</a>, który zaprowadził mnie do artykułu <a href="http://www.joelonsoftware.com/">Joela Spolsky'ego</a> <a href="http://www.joelonsoftware.com/articles/fog0000000043.html">"The Joel Test: 12 Steps to Better Code"</a>. 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 :)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Tym czasem pora wrócić do pisania kodu.</div><div style="text-align: justify;">Pozdrawiam i do następnego razu!</div><div style="text-align: justify;"><br /></div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-32030885397144417322010-10-21T06:40:00.000-07:002010-10-21T07:15:20.880-07:00O dokumentacji słów kilka<div style="text-align: justify;">Witam serdecznie!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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 <a href="http://www.devblogi.pl">devBlogi</a>, czy <a href="http://www.infoq.com">infoQ</a>. Próbując trochę nadrobić zaległości z pierwszego serwisu trafiłem na bardzo pocieszający wpis - <a href="http://www.devblogi.pl/2010/10/ostateczne-programistyczne-kata.html">"Ostateczne programistyczne kata"</a>, 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:</div><div style="text-align: justify;"><span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 15px; "><blockquote><span class="Apple-style-span" ><i>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.</i></span></blockquote></span></div><div style="text-align: justify;">Kolejne "objawienie" przyszło w momencie czytania artykułu <a href="http://www.devblogi.pl/2010/09/pisanie-dobrej-dokumentacji-co-napisac.html">"Pisanie dobrej dokumentacji: co napisać"</a>. Jakiś czas temu <a href="http://akademiajavy.blogspot.com/2010/07/przemyslenia-praktykanta-3.html">wspominałem</a>, że w trakcie praktyk jednym z moich obowiązków było utrzymywanie i rozwijanie dokumentacji projektu. Dodajmy do tego jeszcze artykuł <a href="http://www.devblogi.pl/2010/09/pisanie-dobrej-dokumentacji-styl.html">"Pisanie dobrej dokumentacji: styl"</a> 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 :)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Na dzisiaj to tyle blogowania, czas zabrać się za pracę inżynierską :)</div><div style="text-align: justify;">Pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0tag:blogger.com,1999:blog-7903122543378555744.post-4405613226510379942010-10-17T12:02:00.000-07:002010-10-17T12:46:45.415-07:00Przemyślenia praktykanta #6 - podsumowanie<div style="text-align: justify;">Witam serdecznie!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">20) <b>Agile/Scrum jest idealny dla początkujących programistów</b> - 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...</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">21) <b>Praktyki 3-miesięczne to strzał w dziesiątkę</b> - 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 <a href="http://www.atlassian.com/software/jira/">Atlassian JIRA</a> oraz pluginu <a href="http://www.atlassian.com/software/greenhopper/">GreenHopper</a>, który miał swoją premierę na <a href="https://plugins.atlassian.com/">Atlassian Plugin Exchange</a> prawie miesiąc temu!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">22) <b>Praca informatyka to ciągła nauka</b> - 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 :)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">23) <b>Praktyki wakacyjne mogą (i są!) świetną zabawą</b> - 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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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 ;)</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">To wszystko na dziś, pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com1tag:blogger.com,1999:blog-7903122543378555744.post-91521309406640499062010-09-30T12:47:00.000-07:002010-09-30T13:02:28.576-07:00Agile/Scrum nie tylko w projektach informatycznych<div style="text-align: justify;">Witam!</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">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 <a href="http://it.wtrojmiescie.org/about/spin-trojmiasto">trójmiejskim SPIN'ie</a> - 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.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">To tyle krótkich refleksi na dzisiaj, czas wrócić do pracy nad projektem dyplomowym :)</div><div style="text-align: justify;">Pozdrawiam i do następnego razu!</div>Łukasz "Smok" Rybkahttp://www.blogger.com/profile/03457076856183059722noreply@blogger.com0