Przejdź do treści

O trudnej sztuce kierowania IT

Dzisiaj publikujemy test pt: „czy wiesz, jak kierować zespołem IT”. Przeczytaj poniższy opis i odpowiedz na pytania na końcu testu.

Ponieważ nasza poprzednia próba napisania programu „Hello, world!” zakończyła się niepowodzeniem, zostało powołanych kilka niezależnych zespołów, które miały wykonać to zadanie. A każdy z tych zespołów ma oczywiście swojego kierownika… Przyjrzyjmy się im dokładniej:Czytaj dalej »O trudnej sztuce kierowania IT

Testowanie Testów

O tym, że testy jednostkowe pisać trzeba i warto już chyba nikogo przekonywać nie trzeba (nieprzekonanych zachęcam do podzielenia się swoimi wątpliwościami). Jednak samo posiadanie testów to oczywiście nie wszystko. Oprócz wspomnianym już na trzeciejkawie zagadnieniu pielęgnacji testów jednostkowych istnieje jeszcze przynajmniej kilka ważnych aspektów tego zagadnienia. Dzisiaj chciałbym zająć się kontrolą jakości testów jednostkowych…

Czytaj dalej »Testowanie Testów

Zapach świeżej kawy: Aparapi – Java na GPU!

OpenCLW poprzednim odcinku mini-cyklu „Zapach świeżej kawy” pisałem o ciekawym wynalazku jakim jest node.js – technologia pozwalająca na tworzenie aplikacji sieciowych (w tym web) za pomocą języka Javascript. Na końcu tego tekstu zapowiedziałem, że kolejny odcinek poświęcony będzie Play! framework. Postanowiłem jednak zmienić nieco plany – głównie ze względu na to, że w międzyczasie pojawiło się coś nowego, co bardzo mnie zainteresowało. Tym czymś jest: Aparapi. Cóż to takiego? W skrócie jest to translator bytecode’u JVM, który produkuje na wyjściu kod OpenCL, który może być wykonany na procesorze karty graficznej (GPU). Co to daje? Oczywiście chodzi o wydajność – odciążenie głównego procesora (CPU) i wykorzystanie faktu, że współczesne procesory graficzne wyposażone są w kilkadziesiąt lub kilkaset „rdzeni” obliczeniowych… które tylko czekają na nasz kod.

Czytaj dalej »Zapach świeżej kawy: Aparapi – Java na GPU!

Hello, world!

W wielu różnych kursach programowania, pierwszym przykładowym programem jest program „Hello world”. Celem tego programu jest po prostu wyświetlenie tekstu na ekranie. Na tej stronie można znaleźć „Hello world” napisane w ponad 400 różnych językach programowania, wliczając w to Brainfuck oraz Whitespace… Ale tak naprawdę to, jak napiszemy ten program, zależy nie tylko od języka programowania – zależy to również od osoby, która go pisze. W praktyce wiele osób podchodzi do pisania „Hello world” – a także do pisania wielu innych, bardziej poważnych programów… – na wiele, kompletnie od siebie różnych, sposobów.

Zobaczmy, jak to tej pracy zabiera się kilka różnych osób…Czytaj dalej »Hello, world!

Jak mierzyć efektywność IT?

EfektywnoscEfektywność – to takie ładne słowo… Wszyscy chcieliby, żeby praca – zarówno ich osobista praca, jak i działanie całej firmy czy organizacji – była efektywna. Wysoka efektywność z reguły związana jest z sprawnym działaniem, brakiem marnowania czasu na niepotrzebne aktywności, skupieniem się na tym co najważniejsze, dostarczaniem właściwych rezultatów czy produktów, wysoką motywacją do pracy, oraz – last but not least – dochodowością przedsiębiorstwa.

To wszystko brzmi pięknie – natomiast kiedy próbujemy odpowiedzieć na pytanie, czy praca naszych działów czy zespołów wytwarzających oprogramowanie jest efektywna, to z reguły pojawia się problem. A jeszcze większy problem pojawia się w momencie, kiedy chcemy tą efektywność jakoś zmierzyć…

Czytaj dalej »Jak mierzyć efektywność IT?

Ciągła integracja – Pan Jenkins przybywa na ratunek

JenkinsChciałem napisać super fajny i długi artykuł o tym jakie wspaniałe rzeczy można zrobić z ciągłą integracją mając do dyspozycji potężne narzędzie jakim niewątpliwie jest Jenkins, czyli najlepszy silnik do ciągłej integracji na rynku. Niestety wszystko wskazuje na to, że chwilowo moje super moce tekstotwórcze mają urlop. W związku z tym po prostu podzielę się kilkoma luźnym spostrzeżeniami, które mogą się przydać ludziom planującym wdrożenie lub rozbudowę maszynerii do ciągłej integracji.

Czytaj dalej »Ciągła integracja – Pan Jenkins przybywa na ratunek

Błąd czy zmiana?

Z reguły w umowach, które firmy IT zawierają ze swoimi klientami, często znajduje się zapis, że za zmiany w systemie klient płaci, natomiast błędy usuwane są za darmo w ramach gwarancji czy maintenance’u.

Wydaje się to proste i zrozumiałe. Ale w praktyce bardzo często zdarzają się sytuacje, w których dyskusje „czy to jest błąd, czy to jest zmiana” pochłaniają bardzo dużo czasu oraz energii. Dlaczego tak się dzieje?Czytaj dalej »Błąd czy zmiana?

Historia pewnego błędu

AwariaW pewien poniedziałkowy poranek użytkownicy i monitoring naszego systemu zaraportowali incydent – system działał poprawnie, ale bardzo wolno.

Zabraliśmy się do roboty – jest incydent, trzeba reagować. W ruch poszły standardowe sprawdzenia: kolejki requestów na serwerach, komunikacja z innymi systemami, obciążenie maszyn, czasy odpowiedzi z bazy danych… Ale im dłużej sprawdzaliśmy, tym szerzej otwierały nam się oczy ze zdumienia. Czytaj dalej »Historia pewnego błędu

Zapachy świeżej kawy: node.js

Choć zamiast kawy piję herbatę, to nawiązując do tytułu naszej strony chciałbym rozpocząć mały cykl artykułów o świeżości. Świeżości, która bije z innowacyjnych, rozwojowych, małych (albo większych) projektów/technologii. Świeżości, która jest szczególnie potrzebna osobom, które od dłuższego czasu siedzą w jednym temacie, projekcie, środowisku. Nawet jeśli narzędzia / rozwiązania, które będę starać się opisywać nie znajdą bezpośredniego rozwiązania w twojej pracy… to jednak samo ich zapoznanie i zrozumienie może dać dużo frajdy i ogólnie przyczynić się do rozwoju. No więc do dzieła. Czas na pierwsze łyki świeżej kawy, która dzisiaj serwuje nam projekt node.js i okolice.

Czytaj dalej »Zapachy świeżej kawy: node.js