7 multi-threading and concurrency deadly sins

Let’s see what kind of pitfalls are common in multi-threading & concurrency world. This kind of code is simply hard to write and even harder to maintain. I’m going to share what can go wrong and how to avoid many traps.

Czytaj dalej 7 multi-threading and concurrency deadly sins

gdb na Linuksie czyli jak ujarzmić swój kod

gdb jest chyba najbardziej przerażającym narzędziem dla początkujących programistów, a jeśli dodać, że najczęściej w naturze występuje na systemach Linux to niejedna tęga głowa dostaje palpitacji serca. Ale jeśli kodujesz w C lub C++ na systemy Linuksowe to niestety jesteś skazany na ten debugger. Ale nie taki diabeł straszny jak go malują. Zobaczmy na przykładzie jak korzystać z tego narzędzia…

Czytaj dalej gdb na Linuksie czyli jak ujarzmić swój kod

Czy SCRUM to Złoty Graal zarządzania projektami?

Oczywiście odpowiedź brzmi NIE, to nie jest Złoty Graal. Co więcej, istnieje spora grupa projektów gdzie nasza metodyka się nie sprawdzi. W tym artykule prześledzimy w jakich sytuacjach SCRUM nie będzie najlepszym wyborem i zobaczymy inne możliwości. Zastanowimy się jak ocenić czy SCRUM będzie pasował czy nie.

Czytaj dalej Czy SCRUM to Złoty Graal zarządzania projektami?

SCRUM czyli zwinna realizacja projektów

Wpis ten otwiera serię artykułów traktujących o zarządzaniu projektami i organizacji zespołów projektowych. Obecnie jedną z najpopularniejszych  metod realizacji projektów jest SCRUM i wokół niego wszystko będzie się kręcić. Podzielę się też swoimi doświadczeniami i opiszę różne punkty widzenia, jako że miałem przyjemność wcielić się chyba w każdą rolę jaką definiuje SCRUM, a także uczestniczyłem w projektach jako klasyczny PM.

O czym będziemy dyskutować? Teraz zajmiemy się podstawami SCRUM. W następnych częściach przyjdzie mi mówić o:

  • Pojedynek ideologii: agile (SCRUM) vs pięciolatka (waterfall, v-model). Porównamy modele „zwinne” z tymi klasycznymi. Zobaczymy jakie problem trapią jeden i drugi styl.
  • Czy SCRUM to Złoty Graal? Tutaj zastanowimy się gdzie SCRUM się sprawdza, a gdzie nie. Jak to wykryć w pierwszych etapach? A jeśli się nie sprawdza to jakie są alternatywy?
  • Implementacja SCRUM i zagrożenia. Jak wdrożyć SCRUM i jakie czyhają zagrożenia? Zastanowimy się nad pewnymi, często niewidocznymi dla niedoświadczonego oka, problemami które SCRUMa zamieniają w waterfall.
  • A gdzie project manager? No właśnie, co się stało z project managerem i dlaczego tak mało o nim mówimy?

Czytaj dalej SCRUM czyli zwinna realizacja projektów

Security through obscurity: antywzorzec czy przemysłowy standard?

Security through obscurity to oczywiście angielskie określenie, które można przetłumaczyć jako bezpieczeństwo przez niejawność. Ale o co chodzi? Czy jest to antywzorzec czy może przemysłowy standard? I co ma z tym wspólnego immobilizer w Twoim aucie? Jeśli chcesz poznać odpowiedzi na te pytania – zapraszam do czytania.

Czytaj dalej Security through obscurity: antywzorzec czy przemysłowy standard?

Microkernel – wzorzec architektoniczny

Wzorce architektoniczne stanowią bardzo ważną część inżynierii oprogramowania. Są niejako instrukcją postępowania podczas rozwiązywania pewnych powtarzających się problemów. Dzisiaj weźmiemy na pulpit wzorzec architektoniczny, który jest związany głównie z (ale nie tylko) architekturą systemów operacyjnych – microkernel (nie mylić z kernelem systemu operacyjnego!).  Podam ogólny zarys tego wzorca i zrobię krótką analizę uwzględniając różne kryteria. Ta ostania rzecz jest szczególnie bardzo ważna dla programistów i architektów oprogramowania – zobaczymy jakie należy przyjąć kryteria oceny i na co zwracać uwagę podczas analizy wzorców projektowych.

Czytaj dalej Microkernel – wzorzec architektoniczny

SOLID czyli zestaw solidnych reguł

Jednym z najbardziej rozpoznawalnych akronimów w inżynierii oprogramowania jest SOLID. Jednak po przeprowadzeniu setek rozmów rekrutacyjnych mogę stwierdzić, że z tą rozpoznawalnością bywa bardzo różnie. A szkoda, bo jest to zestaw reguł o dużym znaczeniu, warto więc wyjaśnić co to jest i dlaczego na rozmowach kwalifikacyjnych tak często pada pytanie o SOLID.

Powstało wiele opracowań na temat SOLID (możesz je bez problemu znaleźć w sieci) w odróżnieniu natomiast od znakomitej ich części my zastanowimy się czy można przedawkować SOLID i jakie będą tego efekty.

Czytaj dalej SOLID czyli zestaw solidnych reguł

Syndrom wybitej szyby

 

Drogi Czytelniku chciałbym Ci opowiedzieć o bardzo ciekawym zjawisku z branży IT, określanym, dosyć zresztą zagadkowo, jako syndrom wybitej szyby. Zastanawiasz się zapewne: co to takiego..? Jakie są Twoje pierwsze skojarzenia? Być może staje Ci przed oczami stary, opuszczony dom na uboczu, albo grupa łobuzów rzucających kamieniami w wystawy sklepowe. Dobrze! Jesteś bardzo blisko! Jeśli twoja wyobraźnia poprowadzi Cię jeszcze o krok dalej, do mrocznych, owianych złą sławą zakamarków miasta znajdziesz się u celu. Rzeczywiście geneza tego syndromu bierze się z badań kryminalistycznych dotyczących dzielnic i przedmieść, gdzie panuje duża przestępczość, a wybijanie szyb jest ulubioną rozrywką stałych bywalców. Ulubioną, ale zapewne nie jedyną, należałoby dodać. Zastanawiasz się zapewne jaki związek ma kryminalistyka z branżą oprogramowania i czy w IT jest tak źle, że trzeba się uciekać do doświadczeń stróżów prawa, i to tych najgorszych? No cóż, może tak źle nie jest, ale zacznijmy od początku.

Czytaj dalej Syndrom wybitej szyby