GWT 2.1

GWT Komentarze (0) »

Dostępne jest juz finalne wydanie najnowszego GWT oznaczone numerkiem 2.1

Co nowego ?

- Cell Widgets - czyli kilka ciekawych widgetów których zawsze brakowało w GWT

- Wsparcie dla MVP

- Request Factory - to ma być alternatywa dla GWT-RPC - muszę się temu bliżej przyjrzeć

- integracja z SpringRoo

i kilka innych zmian :)

Warsjawa 2010 - moje wrażenia

Java, Konferencje Komentarze (0) »

Byłem wczoraj w Wawie na Warjawie 2010. Kto nie był niech żałuje. Konferencja była raczej mała (porównując z Javarsovią), ale bardzo ciekawa. Jechaliśmy początkowo 4 osobową ekipą - w wawie dołączyło do nas jeszcze 2 kolegów. Ok 6.00 wyjechaliśmy z Torunia ja dosiadłem się w Aleksandrowie. Na MIMUWie byliśmy już o 9.25 i w sumie nikogo nie było jeszcze :) Tylko ekipa jednego ze sponsorów rozkładała materiały informacyjne. Pogadaliśmy chwilę i powoli ludzie zaczynali się schodzić - pojawili się też organizatorzy. O 10 konferencja ruszyła.

Kawę w dłoń i na wykład o Play Framework - jeśli mam być szczery to zostałem przekonany :) Może Wojtek trochę zbyt ospale opowiadał jak na pobudkę o 5 rano, ale do framework’u mnie przekonał. Trochę mi się nie podobało w jaki sposób się view tworzy, ale może da się szybko do tego przyzwyczaić. Z całą pewnością spróbuje.

Chwila przerwy - dopchanie się po kolejną kawkę i wykład Pawła Lipińskiego, który zastępował Sławka Sobótkę. Jak dla mnie świetna prezentacja - prowadzona bardzo dynamicznie, mnóstwo analogi do życia - a to do Pawła dzieci, a to do płotu, a to do dywanu :) Paweł wszędzie widzi agile :) Bardzo fajny wykład.

Ostatnia prezentacją przed przerwą była o EGit - tutaj okazało się że ciężko jest coś na komputerze robić i mówić o tym jednocześnie. Ja bym proponował zrobić wszystkie kroki na slajdach. Wtedy można bardziej się skupić na mówieniu. Darek chciał pokazać jak najwięcej funkcji dostępnych z poziomu eclipse i pokazał tego w sumie sporo. Na pewno dało się też odczuć tremę Darka - niemniej dał mi do myślenia czy nie warto byłoby pogrzebać trochę w necie i spróbować samemu pobawić się z Gitem - parę fajnych ficzerów ma :)

OK nastała przerwa obiadowa i ludzie rzucali się na pizze :) Myślę że było jej na tyle dużo że każdy najadł się do syta. Sama przerwa wydawała mi się nawet nieco za długa.

Po przerwie czas na Clojure o ile pierwsza część była wprowadzeniem do języka więc raczej nie zaskoczyła to druga wywołała u mnie WOW :) Po pierwsze WOW - jak ta ich aplikacja szybko pokazuje wyniki :O Po drugie WOW - tylko 3500 linii :O Super integracja z Javą. Kiedyś muszę się przemóc i zacząć ogarniać temat. Boję się tylko że zmiana sposobu myślenia w clojure może nie być taka prosta.

Ostatnim wykładem na którym byłem było “Co w bajtkodzie piszczy?” Adama Michalika. I tu szok - ku**a wszystko co pisałem w zasadzie bez większych problemów da się sprowadzić do kodu źródłowego, mimo że go nie udostępniałem. Sprawa wydaje się w zasadzie bardzo prosta wystarczy nauczyć się znaczenia kilku instrukcji a bajtkod staję się dla nas jak otwarta księga. Super prezentacja - i widać było że Adam ma sporą wiedzę.

Niestety nie mogłem zostać do końca - PKP jest bezlitosne :)

Mam nadzieje że nie wygrałem PS 3 ;)

Ogólnie konferencję oceniam bardzo wysoko i jak zawsze twierdzę, że powinniśmy uczestniczyć jak najczęściej w takich eventach bo rozwijają one bezpośrednio lub pośrednio naszego programistycznego skilla.

Jak już napisałem na początku: Kto nie był niech żałuje — tak Lewy to do Ciebie :)

Warsjawa 2010

Info, Konferencje Komentarze (0) »

W sobotę 23.10.2010 odbędzie się kolejna javowa konferencja Warsjava 2010.

Zostało jeszcze 80 miejsc :)

Co będzie ? :

  • Wojciech Erbetowski z PlayFramework
  • Marcin Rzewucki Clojure
  • Sławek Sobótka Domain Driven Design
  • Rafał Rusin Tworzenie zadań przy użyciu komponentów Open Source (Apache HISE, Apache Camel)
  • Adam Michalik Co w bajtkodzie piszczy?
  • Dariusz [LocK] Łuksza EGit i przyjaciele

Rejestracja: http://warsjawa2010.eventbrite.com/

Informacje: http://github.com/warszawajug/warsjawa2010/wiki/Konferencja-Warsjawa-2010

Dzień Programisty

Książki Komentarze (0) »

Jutro (tj. 13 września - tj. 256 dnia roku) Dzień Programisty. Takiego newsa sprezentował mi dziś Helion na maila.

Jutro z tej okazji możemy kupić książki z Helionu z 20% zniżką.

Szkoda, że Dzień Programisty nie jest zbyt popularny ;] może wtedy ktoś sprezentowałby mi niespodziewanie jakąś książeczkę …

2-gi monitor i GWT Designer, SmartGWT

Bez kategorii Komentarze (0) »

W środę kurier przyniósł mi kolejnego 22 calowego Benq G2220HD. Zdecydowałem się na zakup tego samego modelu co poprzednio z 2 powodów. Po pierwsze jestem z niego bardzo zadowolony, a wiadomo że jak coś się dobrze sprawuje to nie ma potrzeby eksperymentować z innymi. Po drugie ze względów estetycznych - jednak lepiej wygadają 2 identyczne monitory niż każdy inny. Teraz mam do dyspozycji rozdzielczość 3840×1080px i myślę,  że już na tym pozostanę (w sensie nie kupie trzeciego jak planowałem na początku:P)

Od początku tygodnia mam przyjemność pracować z wtyczką GWTDesigner i muszę przyznać, że  sporo przyspiesza tworzenie aplikacji w GWT - wiadomo wszystkiego nie da się wyklikać ale do prostszych formatek dobrze mieć taką możliwość. Przy okazji ogarniania nowej wtyczki zacząłem też korzystać z biblioteki smartGWT (GWTDesigner ma również do niej wsparcie) - bardzo fajnie uzupełnia podstawowe widgety z GWT.

Javarsovia2010

Bez kategorii Komentarze (1) »

Wczorajszy dzień spędziłem w Warszawie na konferencji Javarsovia 2010. Tak jak w poprzednim roku do Wawy jechałem pociągiem co wymagało wczesnej pobudki i dało się we znaki na końcowych prelekcjach. W tym roku zebrałem nieco więcej kolegów niż w poprzednim. Ogólnie nasza grupa liczyła 5 osób + Majki odnaleziony w trakcje konferencji :) Ustawka miała miejsce na dworcu - ja, Robak i Łukasz jechaliśmy jednym pociągiem z Torunia , Bartek jechał z Poznania, a Michał jeszcze innym pociągiem z Siedlc. Wsiedliśmy w autobus i po około 25minutach byliśmy już na miejscu. Najpierw trzeba było wystać swoje w kolejce po materiały. Gdy już mieliśmy materiały poszliśmy do sali Double (świetny pomysł z tymi nazwami), gdzie zaczynało się właśnie powitanie uczestników, przypomnienie poprzednich edycji itp. Trzeba przyznać, że stawiła się masa koderów. Jestem pewny, że Javarsovia2010 przekroczy liczbę 500 uczestników. Sama organizacja konferencji tak jak w tamtym roku na najwyższym poziomie. Sale były na tyle spore, że bez większych problemów każdy miał miejsce. Firma cateringowa również spisała się świetnie - obiad był bardzo smaczny, od rana mieliśmy bułeczki, ciastka,soki no i oczywiście kawę :) Ok może teraz napisze coś o prezentacjach w których uczestniczyłem. O to moja ścieżka:

  • Jak zapobiegać biodegradacji kodu. Jakub Nabrdalik
  • Jak można zarobić na uczciwości, przejrzystości i szacunku dla klienta - kontrakty agile w praktyce. Wojciech Seliga
  • Refaktoryzacja kodu testowego. Piotr Jagielski
  • Software Craftsmanship - Język wzorców językiem profesjonalistów. Sławomir Sobótka
  • “Clean Tests” by Unkle Paul, czyli jak pisać testy, żeby dobrze Ci służyły. Paweł Lipiński

Jak zapobiegać biodegradacji kodu. - bardzo fajna prezentacja. Tu po raz pierwszy padło, że piszemy kod minimum 10 razy rzadziej niż go czytamy. Jakub pokazywał co zrobić żeby jakość kodu nie spadała wraz z upływem czasu. Co wyniosłem z prezentacji ? To że jak czytamy kod w którym musimy dokonać jakiś modyfikacji, lub też z niego skorzystać tworząc nowy moduł / funkcjonalność powinniśmy spojrzeć na niego również pod kątem refaktoryzacji - czasem wystarczy Extract Method, by kod stał się już sporo czytelniejszy.

Jak można zarobić na uczciwości, przejrzystości i szacunku dla klienta - kontrakty agile w praktyce. - kolejna ciekawa prezentacja. Wojtek opowiadał w zasadzie o tym jak prowadzone są kontrakty w jego firmie. Kontrakty agile polegają na zaufaniu klienta do firmy która ma zakodować dany soft. Są bardzo elastyczne - klient w każdym momencie może zmienić zdanie co do funkcjonalności, w każdym momencie może zrezygnować z dalszej współpracy. Co zyskuje zespół ? Mniejszy stres, brak problemu niedoszacowania ilości osobo godzin potrzebnych na dostarczenie produktu. Kiedy agile nie przejdzie ? W inwestycjach unijnych gdzie potrzebne są przetargi i z góry ustalona funkcjonalność. Ciężko tez będzie z dużymi korporacjami ze względu na ich wewnętrzną biurokracje.

Refaktoryzacja kodu testowego. - Testy powinny być użyteczne, aktualne i czytelne - wymagają, więc refaktoryzacji. Piotr zaprezentował kilka przykładów testów i “na żywo” je reaktoryzował. Z dość nieczytelnych stawały się przejrzyste. Zaprezentował również ciekawy sposób tworzenia obiektów za pomocą buildera. Bardzo ciekawa prezentacja.

Software Craftsmanship - Język wzorców językiem profesjonalistów. - prezentacja dotycząca wzorców projektowych. Sławek opowiedział czym jest profesja, pokazał przykłady łatwo rozszerzalnych klas prezentując kilka wzorców.

“Clean Tests” by Unkle Paul, czyli jak pisać testy, żeby dobrze Ci służyły. - ostatnia prezentacja na której byłem. Fajnie prowadzona :) Sporo wiedzy o testach. Co jest okej a co nie do końca - Paweł sporo korzystał z książki Clean Code gdzie również dało się znaleźć trochę informacji o wysokiej jakości testach.

Dlaczego nie byliśmy na ostatnim wykładzie ? Chcieliśmy zdążyć na wcześniejszy pociąg, niestety mimo zerwania się z wykładu pociąg nam uciekł :( Do następnego mieliśmy jakieś 2,5h więc poszliśmy na piwo (10zł za półlitrowego Żywca :O), potem na kebab (słaby był :(). Na sam koniec oczywiście pociąg był opóźniony +-25 minut. W pociągu przy piwku dyskutowaliśmy w zasadzie cały czas a to o tematach z konferencji a to innych programistycznych tematach. To tyle jeśli chodzi o moją relacje. Podsumowując Javarsovia2010 wyszła znakomicie - brawa dla organizatorów - na 100% spotykamy się w przyszłym roku.

javarsovia2010

Prezentacja SEO - seminarium mgr

SEO Komentarze (0) »

Jakieś 2 tygodnie temu (wiem wiem ale nie miałem wcześniej czasu :( ) na seminarium mgr miałem okazję przeprowadzić prezentację na temat podstaw pozycjonowania stron internetowych.  Prezentacja miała na celu wprowadzenie do tematu, a nie dogłębne omówienie, tak więc proszę o wyrozumiałość :) Wydaje mi się, że każdy programista tworzący jakieś strony, serwisy www powinien zapoznać się choć pobieżnie z tematem. Strony tworzone z uwzględnieniem tych podstaw będą znacznie lepiej traktowane w google.pl i innych wyszukiwarkach.

Instalacja Apache + php + mysql na CentOSie

Linux, PHP Komentarze (2) »

Dziś całkiem inny wpis :) Nic coby się tyczyło programowania :) Opiszę jak w kliku krokach postawić sobie w domku serwer Apache z zainstalowanym PHP oraz MySql. Sprawa jest naprawdę banalna :) Do rzeczy - instalacja w 3 krokach :)

1. Najpierw instalujemy apache.

[ps]yum install httpd[/ps]
2. Gdy już mamy zainstalowanego apache’a instalujemy php’a

[ps]yum install php[/ps]
3. Jak pewnie łatwo się domyśleć teraz serwer MySql’a

[ps]yum install mysql-server mysql[/ps]
No i tyle. Mamy postawiony serwerek. Wypada go oczywiście uruchomić.

[ps]service httpd start[/ps]
[ps]service mysqld start[/ps]
Teraz już możemy się cieszyć że w kilkanaście sekund postawiliśmy serwer www.

Pozostało wrzucenie strony startowej do

[ps]/var/www/html/[/ps]

Clean Code w pigułce #1

Czysty Kod, Dobre praktyki, Java, Książki Komentarze (0) »

Jak już pisałem w poprzednim poście jestem w trakcie czytania książki Czysty Kod. Podręcznik dobrego programisty. Pomyślałem sobie, że w trakcie czytania będę starał się wypisywać zawarte tam rady. Efektem tychże notatek będzie właśnie ten wpis. Mam nadzieję, że komuś taki spis dobrych zasad w pigułce się przyda. A ja będę miał go w jednym miejscu :)

Zdecydowałem się na wypisywanie porad zgodnie z rozdziałami książki.

1. Znaczące nazwy:

  • nazwy przedstawiające intencję
  • unikanie dezinformacji
  • wymawialne nazwy
  • nazwy łatwe do wyszukania

2. Funkcje:

  • możliwie jak najkrótsze (max 20 wierszy)
  • najlepiej bez lub jedno argumentowe
  • pojedyncza odpowiedzialność
  • jeden poziom abstrakcji
  • bloki try{} catch{} w osobnej funkcji

3. Komentarze:

  • jak najmniej (samo komentujący się kod)
  • dozwolone komentarze:
    • komentarz z rodzajem licencji
    • TODO
    • komentarze ostrzegające
  • nie komentujmy na siłę
  • nie zostawiajmy za komentowanych fragmentów kodu

4. Formatowanie:

  • małe pliki (klasy) są lepsze niż duże
  • u góry klas najogólniejsze metody poniżej coraz bardziej szczegółowe
  • pionowe odstępy między segmentami kodu
  • funkcja wywoływana zaraz pod funkcją wywołującą
  • wiersze maksymalnie 120 znakowe
  • spacje wokół operatorów
  • wcięcia poziome oddzielające bloki kodu
  • spójne formatowanie w całym zespole

5. Obiekty i struktury danych:

  • NIE dodawać na ślepo setterów i getterów
  • przestrzegajmy prawa Demeter
  • unikanie “wraków pociągów”, czyli kodu postaci: a.getB().getC().getD().getZ().doSth();
  • unikać hybryd (trochę obiekt, trochę struktura danych)

6. Obsługa błędów:

  • wyjątki zamiast kodów powrotu
  • NIE zwracamy null
  • NIE przekazujemy null
  • tworzenie komunikatów błędów z informacją o typie awarii i co miało się wykonać oraz przesłanie ich w wyjątku

7. Granice:

  • separacja obcego kodu od naszego
  • testy “uczące” obcego kodu
  • wzorzec Adapter

8. Testy jednostkowe:

  • kod testów jest tak samo ważny jak kod produkcyjny
  • czytelność testów
  • w testach nie jest tak istotna wydajność
  • jedna asercja na test - niekoniecznie
  • jedna koncepcja na test
  • testy powinny spełniać zasady F.I.R.S.T.
    • Fast - szybkie
    • Independent - niezależne
    • Repeatable - powtarzalne
    • Self-Validating - samo kontrolujące się
    • Timely - o czasie

9. Klasy:

  • organizacja klas (od góry):
    • publiczne stałe statyczne
    • prywatne zmienne statyczne
    • prywatne zmienne instancyjne
    • publiczne metody
    • prywatne metody
  • klasy powinny być małe
  • pojedyncza odpowiedzialność (SRP)
  • niewiele zmiennych instancyjnych
  • zachowanie dużej spójności

SCJP, Clean Code

Java Komentarze (0) »

Pewnie słyszeliście, że Sun prowadził takie cudo jak SAI. Sun oferował członkom programu (studentom, wykładowcom) sporą zniżkę na egzaminy certyfikacyjne. I tak egzamin na SCJP zamiast kosztować 750zł, kosztował 40$ (120zł). Niestety Sun został przejęty przez Oracle’a, który jak widać nie do końca zgadza się z sposobem zniżek. W tak korzystnej cenie voucher na egzamin można było zamówić tylko do 31 marca 2010, ale tylko jeśli było się wcześniej zarejestrowanym w SAI. Teraz Oracle owszem daje zniżkę członkom swojej wersji SAI, ale zniżka nie jest już taka super. Dostajemy o 40% tańszy voucher, czyli zamiast płacić 750zł zapłacimy około 450zł. Widać sporą różnicę względem 120zł za czasów starego dobrego Sun’a :(

Całe szczęście w porę się ogarnąłem i 2 dni przed deathline’em zamówiłem sobie taniutki voucher’ek. Aby go otrzymać należało wpłacić kaskę (prawie 120zł) i wysłać mailem/faxem skan legitymacji studenckiej. No i tak uczyniłem. W odpowiedzi dostałem takiego o to maila:

Thank you for your Sun Academic Initiative exam voucher order.

We are currently experiencing extremely high order volume, which has affected our order processing time.  Orders are being processed in the order received and will be processed as quickly as possible.  Your order may require several weeks for fulfillment.

We will contact you if additional information is required.  Please avoid sending multiple emails as the additional email volume will cause further processing delays.

We appreciate your patience.

Best regards,

SAI Voucher Team

Nie dość że człowiek ledwo się załapał to jeszcze mnie tu dobijają “several weeks” :( No ale miejmy nadzieję, że pójdzie to w miarę sprawnie. Jak już będę pewny voucher’a to zabieram się za naukę do SCJP.

A tym czasem zmykam do lektury książki Czysty kod. Podręcznik dobrego programisty, którą udało mi się wyhaczyć w promocji Helion’a kilka dni przed świętami. Jak na razie przeczytałem coś około 50str i czyta się ją całkiem spoko. Może po przeczytaniu pokuszę się o małą recenzję.

EDIT:

Zapomniałem dodać, że mam jeszcze 2 vouchery na egzaminy Microsoftu z serii 70—. Jako, że uczęszczałem na koło naukowe .NET mogłem sobie wymienić zebrane w ten sposób punkty na książki lub vouchery. Mam w planach zdać jakiś .NET’owy egzamin jeszcze w tym roku. Może się uda, w końcu mam aż 2 podejścia :)

Silnik: Wordpress - Theme autorstwa N.Design Studio. Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj








2zł Nordic Gold