Archive for the ‘Must know’ Category

Java Garbage Collector – Sławomir Ginter

Na 54 spotkaniu trójmiejskiego JUGa Sławomir Ginter (Spartez) opowiedział o mechanizmie Garbage Collectora w Javie.

Świąteczny prezent dla javowca?

Jeśli macie w domu javowca lub po prostu informatyka, to pewnie wiecie, że zakup jakiegokolwiek upominku może być problemem. Chyba, że zamierzacie kupić kolejny (drogi) gadżet.

Myślę, że dobrym pomysłem na prezent jest branżowa książka. Obdarowany na pewno się ucieszy, a obdarowujący będzie miał spokój na kilka wieczorów:)
Read the rest of this entry »

Konferencja infoShare 2014

Właśnie ruszyła rejestracja na 8 edycję konferencji infoShare!
Podobnie jak rok temu, organizatorzy zapraszają do AmberExpo w dniach 22-23 maja. Tradycyjnie pierwszego dnia odbędzie się impreza integracyjna (na PGE Arenie).

Ponadto w trakcie konferencji odbędą się półfinały i finały startup Zone oraz wręczenie nagród i networking hack3city.

Nie jesteś pewien, czy pójść? Poznaj listę prelegentów i zobacz filmy z poprzedniej edycji.

Rethinking Singleton Design Pattern

Kiedy pytam programistów, jakie znają wzorce projektowe, bardzo często (na początku) wymieniają wzorzec Singleton. Ciekawe, dlaczego tak się dzieje? Czy naprawdę używają go tak często? Czy może jest on jednym z najprostszych do implementacji wzorców?

Nazwa Singleton wywodzi się z matematyki, dokładnie z teorii mnogości. Singleton to inaczej zbiór jednoelementowy, czyli zbiór, do którego należy jeden i tylko jeden element.
Read the rest of this entry »

Krótka historia czasu – Tomasz Nurkiewicz

Tomasz Nurkiewicz, niczym Stephen Hawking, opowiada o pułapkach związanych z datami i czasem w Javie (oraz ogólnie w informatyce). Byłem, widziałem – najlepsza prezentacja na tegorocznej Confiturze!

Od autora:
Jaka jest różnica czasu między Warszawą a Sydney? Odpowiedź na to pytanie jest zaskakująco trudna. Równie zaskakującym jest jak wielu programistów tej trudności nie dostrzega. Niby po co? Bo niemal co roku na światło dziennie wypływają zawstydzające błędy w oprogramowaniu, wynikające z niewiedzy bądź lekkomyślnego traktowania… czasu w systemach komputerowych.

Podczas tej prezentacji spróbuję pokazać, jak ważne jest świadome operowanie czasem podczas pisania oprogramowania. Nie będziemy (prawie) narzekali na klasę java.util.Date, ale skupimy się na fundamentalnych nieporozumieniach i błędach. Zobaczymy w przykładach fatalne skutki beztroskiego i nieumiejętnego obchodzenia się z czasem.

Nauczymy się także jak przechowywać, przesyłać i przetwarzać czas oraz jak testować systemy zależne od czasu (czyli w zasadzie wszystkie). Nie spodziewajcie się eksploracji takiego czy innego API. Skupimy się raczej na zrozumieniu praw rządzących upływem czasu i ich odpowiednim modelowaniem w naszych programach.
Read the rest of this entry »

Working Effectively with Legacy Code – warsztaty z Michaelem Feathersem

Working Effectively with Legacy Code to jedna z polecanych przeze mnie książek (patrz zakładka Must Read).

Pracę z odziedziczonym kodem przedstawiają poniższe Dilberty 🙂
Read the rest of this entry »

Stay Hungry. Stay Foolish. Steve Jobs’ 2005 Stanford Commencement

By zamknąć usta malkontentom, maruderom i narzekaczom oraz wszystkim osobom, które nie widzą dla siebie przyszłości i z braku siły do działania gnuśnieją, stoją w miejscu i nie rozwijają się, chciałbym polecić właśnie dziś (w drugą rocznicę śmierci Steve’a Jobsa) jego motywujące wystąpienie na Uniwersytecie Stanforda. Obejrzyjcie ten filmik i posłuchajcie o trzech historiach z jego życia. Może zainspiruje on Was do działania.

Pozostańcie nienasyceni, pozostańcie nierozsądni.

Git Ready! Workflows Webinar from Atlassian

W ubiegłym tygodniu Atlassian zorganizował webinarium na temat gita. Prowadzącym był Nicola Paolucci – speaker na tegorocznym Atlassian Summit. Poniżej zamieszczam nagranie:
Read the rest of this entry »

Git Flow – narzędzie do integracji VCS z procesem wytwarzania oprogramowania

O systemie Git pisałem już kilka razy. Dziś pora na Git Flow, czyli nakładkę na Gita, która umożliwia pełną integrację z procesem wytwarzania (i życia) oprogramowania. Narzędzie dostarcza zbiór komend ułatwiających zarządzanie branchami, które wpisują się w workflow i cykl życia oprogramowania. W skrócie, pomysł polega na tym, by podzielić repozytorium na kilka gałęzi: Read the rest of this entry »

Design Patterns in modern JVM Languages

Dobrze znane nam Design Patterns traktują o wzorcach projektowych w kontekście OOP. Venkat Subramaniam pokazuje kilka wzorców zorientowanych na języki dynamiczne i funkcyjne. Wzorce te korzystają z domknięć (closures) oraz z kilku feature’ów funkcyjnego stylu programowania.
Read the rest of this entry »