spotify

Struktura pracy w Spotify

Hej, czy wiesz jak zorganizowana jet praca w firmie Spotify? Jak to jest, że wszystkie komponenty wchodzące w skład tej aplikacji rozwijają się w szybkim tempie? Nowe wersje zawierają głównie ulepszenia bo użytkownicy nie zgłaszają błędów. Kto pracował nad dużym projektem ten wie jak ciężko jest zapanować nad cyklem wydawniczym i jak trudno dopilnować żeby wszystko ze sobą działało. Zarząd […]

Czytaj więcej

uxui

UserXperience != UserInterface

Pan Paul Boag na swojej prelekcji o tytule „The Future of User Experience Lies in Your Hands” opowiadał o swoim doświadczeniu w tworzeniu interfejsów użytkownika oraz o obsłudze klienta. Mówił o tym że często myli się pojęci UX z UI albo używa ich zamiennie. Wyjaśnił jak zabrać się za tworzenie user experience. Otóż interfejs użytkownika to sposób […]

Czytaj więcej

chmura

Chmura na przykładzie Microsoft Azure

Byłem wczoraj na wykładzie o Microsoft Azure. Prowadzący opowiadał tam ogólnie o tym jak skaluje się aplikacje w chmurach i szczegółowo o tym co ma do zaoferowania ta konkretna. Pokazał też bardzo fajne wzorce projektowe, których wcześniej nie znałem. Na początku mowa była o tym że używanie chmury jest dobrym rozwiązaniem przy przyrostowym wytwarzaniu oprogramowania. […]

Czytaj więcej

usta

Keep It Simple Stupid

Wprowadzaliśmy ostatnio w projekcie integrację z zewnętrznym serwisem na potrzeby nowej funkcjonalności. Zebraliśmy się żeby omówić jak ma wyglądać nowe rozwiązanie. Wymyślaliśmy połączenia między nowymi komponentami. Omawialiśmy sposób pozyskiwania danych z API. Projektowaliśmy schemat bazy danych. Przez pewien czas rozmawialiśmy aż doszliśmy do wniosku, że za bardzo wszystko komplikujemy. Nie trzymamy się reguły KISS czy po Polsku BUZI. Niepotrzebnie próbujemy […]

Czytaj więcej

wemos

Początki z internet of things

W mieszkaniu, które aktualnie wynajmuję jest nieergonomiczny rozkład włączników do światła. Nie jestem w stanie ustawić mebli w taki sposób żeby można było wieczorem wyłączyć światło i bez obijania o nic przemieścić się do łóżka. Muszę pamiętać o tym żeby wziąć na przykład telefon, którym oświetlę sobie drogę do łóżka. Nie podobało mi się ta sytuacja i w związku z nią wpadłem na […]

Czytaj więcej

checklist

Kolejność rozwiązywania problemów

Utkwiło mi w pamięci zdanie „Dobra zasada mówi, żeby najpierw rozwiązywać łatwiejsze problemy, a potem trudniejsze” zapamiętane z jednej z książek o programowaniu, które bardzo dobrze mówi o tym co chcę dzisiaj napisać. Do dzisiejszego wpisu zainspirował mnie kod kolegi, który narzekał na prędkość wykonywania programu. Postaram się przedstawić jego problem przy użyciu kodu, w którym […]

Czytaj więcej

Zespół

Sztuczka ułatwiająca pracę w zespole

Kiedy pracuje się w zespole, ważne jest żeby ustalić reguły pisania kodu. W ten sposób łatwiej będzie odnaleźć się w kodzie kolegi. Można ustalić konwencje nazewnictwa, strukturę plików czy nazewnictwo gałęzi w systemie kontroli wersji. To nie wszystko bo istnieją techniki pisania kodu, które wspomagają pracę zespołową. Spójrzmy na poniższy kod: var array = [ 1, […]

Czytaj więcej

no enter danger stop very close

Propagowanie złych wzorców

Dostałem ostatnio do sprawdzenia kod kolegi. Projekt w jakim pracujemy to ponad dziesięcioletnia aplikacja pisana w sumie przez trzy firmy. Kto pracował w takim środowisku ten wie jak skomplikowana może być utrzymanie go. Projekt wykorzystuje wzorzec MVC na swój własny, unikalny sposób. Zadanie jakie miał wykonać to dodać nową kolumnę w bazie danych i w zależności od jej […]

Czytaj więcej

preview

Dokumentacja baz danych

Byłem ostatnio na prezentacji poświęconej dokumentowaniu baz danych. Mówca, Pan Piotr Kononow z firmy Logic Systems, przedstawił trafne argumenty mówiące za tym, żeby prowadzić taką dokumentację. Sporządzanie dokumentacji odbywa się poprzez wstawianie komentarzy do tabel w bazie danych. W sumie po co kiedy każdy wie że tabela user przechowuje dane o użytkownikach a co przechowuje […]

Czytaj więcej

preview

Nazwy zmiennych, funkcji, metod

Byłem wczoraj na wykładzie o AngularJS. Prowadzący pokazał kod aplikacji napisanej przy użyciu tej biblioteki. Jedna linijka przyciągnęła mój wzrok: Beer.like(beer); Na początku nie podobało mi się to że na obiekcie Beer wywoływana jest metoda, do której przekazywany jest inny obiekt beer. Jak powiedział mój kolega małe piwo przekazywane jest do dużego. Nie miałem okazji […]

Czytaj więcej