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ł

Bitcoin: fakty

Dzisiaj odstawimy na bok mity zwolenników i przeciwników Bitcoina, porozmawiamy o faktach. Jest to już ostatni artykuł dotyczący tej krypto-waluty. Mam nadzieję, że informacje jakie przestawiłem w tej serii rozjaśnią nieco zagmatwany i trudny świat krypto-walut, a w szczególności świat Bitcoina. Czytaj dalej Bitcoin: fakty

Raport 2/2018: krótki przegląd rynku pracy IT

Drogi Czytelniku tym razem zobaczymy jak wygląda nasz rodzimy rynek pracy. Nie będzie to poważne studium poparte wieloletnimi badaniami, a raczej szybkie spojrzenie na obecną sytuację. Zobaczymy jakie oferty czekają na specjalistów IT i które specjalizacje są najbardziej pożądane na rynku pracy.
Czytaj dalej Raport 2/2018: krótki przegląd rynku pracy IT

Bitcoin: mity i legendy wyznawców

Technologia Bitcoin, czyli wirtualna waluta jest dzisiaj odmieniana przez wszystkie przypadki. Budzi wiele emocji i jest przedmiotem wielu płomiennych dyskusji. Co więcej, nierzadko dochodzą do tego pieniądze, czasami bardzo duże pieniądze. To mieszanka wybuchowa, która przyczyniła się do powstania wielu zwalczających się frakcji. Chyba najłatwiej je podzielić na: obóz wyznawców wirtualnej waluty, obóz zdeklarowanych wrogów, a gdzieś pomiędzy znajdują się wszyscy inni. Jak nietrudno zgadnąć powstało mnóstwo mitów, propagowanych zarówno przez jedną jak i drugą stronę. Mity te znalazły bardzo podatny grunt, ponieważ zasada działania kryptowalut jest bardzo trudna do zrozumienia dla kogoś, kto nie zna podstaw kryptografii, systemów rozproszonych i matematyki wyższej.  Czyli, nie oszukujmy się, zdecydowanej większości użytkowników internetu.

Będzie to cykl trzech wpisów, podzielony na mity wyznawców Bitcoina, mity zagorzałych przeciwników i kilka interesujących faktów na koniec.

Czytaj dalej Bitcoin: mity i legendy wyznawców

Behind the scenes: Bitcoin

Cryptocurrencies are really hot and attract attention of the broader public. But a few of us really know what sits behind the curtain. Today I’m going to give you a short overview of the technological side of Bitcoin.  However, I’m not going to focus on economics or social impact of cryptocurrencies.

The whole concept is build on the top of several interesting technologies, some of them are innovative, some of them are well know for decades. This article contains a list of some technologies which are leveraged in the majority of current cryptocurrencies. However, this is not a deep study and you won’t find here much details, only a sort of guidance and reference to corresponding documentation.

Although the future cryptocurrencies in a shape as we can see today might not be so bright, I’m pretty sure that used technologies will be more and more important in the future. Especially blockchain is something you should be familiar with.

Czytaj dalej Behind the scenes: Bitcoin

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

Pierwszy wpis

To mój pierwszy wpis po polsku. Poprzednio umieściłem kilka artykułów w języku angielskim, w kolejce na publikacje czekają kolejne.
Jednak zdecydowałem się rozszerzyć działalność pisarską na język polski, poniekąd na prośbę kolegi a częściowo z chęci komentowania i opisywania spraw, które są związane z naszym podwórkiem.

Czytaj dalej Pierwszy wpis

std::vector vs sorted std::vector vs std::set

In this short article I’m going to make a comparison between std::vector, sorted std::vector and std::set. However, I’m going to focus only on one aspect – which collection is faster during lookup.

Looks like the answer is rather trivial – std::map and sorted std::vector offer access to any element in O(log n) time while unsorted std::vector offers linear finding. To be precise – std::vector + std::find as std::vector doesn’t have built-in find function. Indeed, sorted collections are winners… Or maybe the answer is not so trivial? Czytaj dalej std::vector vs sorted std::vector vs std::set

New word order – sorting

Almost every modern language comes with sorting procedures. Is there any reason to dive into?

Very often it doesn’t matter which sorting procedure we select. Especially when we’re sorting a relatively small set of data, say, less than 1000 records, and the performance is not critical. Moreover, some languages give no options but one sorting procedure (taking into consideration only basic language facilities).

But what if we have gigabytes to be sorted? Let’s check out that case. Czytaj dalej New word order – sorting