Architektura serwerów – wydajność przetwarzania zapytań cz.3

Ostatnio udało nam się zrównoleglić przetwarzanie naszych zapytań. Jednak wydajność tego rozwiązania okazała się mocno rozczarowująca. Dzisiaj sprawdzimy co nie zagrało i jak przybliżyć rezultaty do oczekiwań. Użyjemy narzędzia VTune od Intela – od niedawna można z niego korzystać za darmo.

Architektura serwerów – wydajność przetwarzania zapytań cz.2

Kontynuujemy nasze zmagania z przetwarzaniem zapytań. W pierwszej części zdefiniowaliśmy problem i podjęliśmy pierwsze próby implementacji rozwiązania. Szybko jednak okazało się, że istnieją lepsze metody. Dzisiaj będziemy eksperymentować z wielowątkowością. Oczywiście nie obejdzie się bez problemów…

Architektura serwerów – wydajność przetwarzania zapytań cz.1

Ten wpis rozpoczyna krótką serię na temat architektury serwerów. Będzie to analiza różnych podejść skupiająca się na badaniu wydajności poszczególnych taktyk. Eksperymenty będą wykonywane na systemie Linux z użyciem różnych narzędzi jak np. Intel VTune, perf, dtrace itp. Pokażę różnorakie triki aby wydobyć poszczególne metryki. Artykuły będą raczej trudne, przydatne głownie dla programistów i inżynierów […]

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.

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.

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. […]

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 […]

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 […]