Archive for the ‘Best Practices’ Category

Pretotyping

Fake it before make it

Tak, Pretotyping! To nie literówka! Pretotyping określa coś (fazę?) „przed” prototypowaniem. To znaczy, że zanim cokolwiek stworzymy, zbudujemy, to powinniśmy przetestować koncepcję by sprawdzić i zastanowić się, czy jest słuszna, atrakcyjna i właściwa. Jest to szczególnie ważne w projektach innowacyjnych.
Read the rest of this entry »

Zastąp ify przez polimorfizm

Niecały rok temu pisałem o prezentacji Tomasza Nurkiewicza pt. Uwolnić się od ifów.

Istotnie, wiele instrukcji warunkowych w kodzie utrudnia jego zrozumienie, testowanie i utrzymanie. Często w takiej sytuacji łamany jest Single Responsibility Principle.
Read the rest of this entry »

ThoughtWorks: Technology Radar January 2015

Technology Radar
ThoughtWorks udostępnił właśnie Technology Radar na styczeń 2015.

Quick Sort na wesoło

Quick Sort to szybki algorytm sortowania wynaleziony przez Sir C.A.R. Hoare’a. Opiera się na technice „dziel i zwyciężaj„; jest stosunkowo prosty do wytłumaczenia oraz implementacji. Jego średnia złożoność obliczeniowa jest rzędu O(n log n).
Read the rest of this entry »

Technology Radar od ThoughtWorks

ThoughtWorks Technology Advisory Board (m.in. Martin Fowler, Neal Ford) przygotowali nowy Technology Radar.
Read the rest of this entry »

Cloud Design Patterns

Kilka miesięcy temu, Microsoft udostępnił wersję elektroniczną książki Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications.
Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications
Read the rest of this entry »

Java Garbage Collector – Sławomir Ginter

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

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 »