Learning mindfulnes

Howdy, some time has passed since I wrote the last message 👋

I was enjoying the #vacations, but, also learning something new 🎁

The thing that I was #learning/enjoying is #mindfulness 🧘🏻‍♂️

This is a technique which always you to take control of your thoughts 🧠

There are many situations where your thoughts are distracting you or prevent the #focus 🤯

Examples.

When you have finished the working day, but your brain still is there, thinking about that task you did not finish 😑

You had an intensive block of focus work, you were coding for a few hours. But now you have a meeting, but somehow your head is not listening. Your mind is still in the #zone 👨🏻‍💻

Or you are still stressed after the presentation you just did 😬

But, how to do it?

Continue reading Learning mindfulnes

Improving the tests with try-finally block

This week I have learned a neat trick that you can apply to your test cases. You are testing an edge case. The system under test is expected to throw an exception. But, after the exception, you need to do a few assertions. Usually, I did it this way:

/**
 * @dataProvider markAsUndeliverableFailDataProvider
 */
public function testMarkAsUndeliverableFail(Order $order): void
{
    $exception = null;

    try {
        $order->markAsUndeliverable();
    } catch (\Throwable $exception) {
    }

    self::assertInstanceOf(OrderStatusChangeFailed::class, $exception);
    self::assertTrue($order->isAlreadySentToProduction());
}

But, there is a better way to do it! Check out the much more readable version with try-finally:

/**
 * @dataProvider markAsUndeliverableFailDataProvider
 */
public function testMarkAsUndeliverableFail(Order $order): void
{
    $this->expectException(OrderStatusChangeFailed::class);

    try {
        $order->markAsUndeliverable();
    } finally {
        self::assertTrue($order->isAlreadySentToProduction());
    }
}

Viola! Look how clean this is 🔥

Sytuacja w IT a COVID – przemyślenia

Cześć! Żyjemy już dość długo w świecie pandemicznym. Tym razem opiszę swoje przemyślenia o tym jak COVID wpłynął na branżę IT. W tym wpisie przedstawię moje obserwacje oraz przemyślenia w trzech etapach. Na końcu znajdziesz podsumowanie, gdzie subiektywnie podsumowuję całość.

Świat IT przed pandemią

Jeśli pracujesz/pracowałeś w IT to wiesz jak to było. Zdecydowana większość pracodawców nie zgadzała się na pracę zdalna. Czemu? Bo przecież pracownik w domu, zamiast pracować, będzie zajmować się wszystkim, byle nie pracą.

Continue reading Sytuacja w IT a COVID – przemyślenia

Wpływ silence operatora na error reporting w PHP

Hej, w dzisiejszym krótkim wpisie bierzemy na tapet słynny i jakże często używany operator @ tzw. STFU. Czy wiesz że jego użycie ma wpływ na error_reporting w PHP? Weźmy pod lupę ten przykład:

<?php declare(strict_types=1);

error_reporting(E_ALL);

set_error_handler(
    function () {
        // int(0) [PHP <= 7.4]
        // int(4437) [PHP >= 8.0]
        var_dump(error_reporting());
    },
    E_ALL
);

// int(32767) [E_ALL]
var_dump(error_reporting());

@trigger_error('warning', E_USER_WARNING);
Continue reading Wpływ silence operatora na error reporting w PHP

Moje dwa lata z Huel – subiektywna recenzja

Hej! Dzisiaj temat kompletnie niezwiązany z programowaniem, czy IT. W kwietniu 2021 minęło dokładnie dwa lata od kiedy pierwszy raz zamówiłem Huel. Produkt, który zmienił moje nawyki żywieniowe, i pozwolił mi prowadzić zdrowszy tryb życia. Postaram się opisać wszystkie swoje spostrzeżenia. Myślę, że przez ponad dwa poznałem produkt dobrze.

Continue reading Moje dwa lata z Huel – subiektywna recenzja

Przegląd tygodnia – jak być produktywnym ✅

Cześć! Pokażę Ci moje ulubione narzędzie, które pozwala mi utrzymać wysoki poziom produktywności. Dzięki niemu mam kontrolę nad tym co się dzieje w kolejnym tygodniu. Pozwala mi utrzymać porządek we wszelkich moich sprawach. Co tydzień, zazwyczaj w niedzielę wieczorem, planuję kolejny tydzień, przeglądając wcześniej różne rzeczy. Krok po kroku pokażę Ci jak to wygląda.

Continue reading Przegląd tygodnia – jak być produktywnym ✅

Jak poruszać kursor bez strzałek w macOS

Na początku roku 2020 zauważyłem, że pisząc na klawiaturze nie używam wszystkich palców, a przecież prawidłowo powinno się używać wszystkim. Postanowiłem więc że nauczę się na nowo pisać na klawiaturze. Gdy już w miarę mi to wychodziło, zaczął mnie denerwować fakt, iż muszę odrywać rękę by użyć klawiszy strzałek. Zacząłem więc szukać, czy są kombinacje klawiszy, które umożliwią poruszanie się kursorem bez zmiany pozycji ręki na klawiaturze.

I faktycznie, są 😁. Działają one globalnie w całym systemie macOS. Wyjątkiem są skróty które nadpisuje dany program, np. PhpStorm.

Continue reading Jak poruszać kursor bez strzałek w macOS

DDD – Polityka i Specyfikacja

Witaj drogi czytelniku! Sieć zawiera mnóstwo informacji na temat elementów konstrukcyjnych DDD takich jak agregaty, encje czy value objects (obiekty wartości? dziwnie to brzmi 🙂). W dzisiejszym wpisie chciałem omówić dwa elementy o których ciężko znaleźć artykuły w sieci, a są bardzo przydatne – specyfikacja i polityka. Postaram Ci się wyjaśnić oba wzorce na prostych przykładach a także na faktycznym kodzie. Napisałem wszystkie przykłady w trzech językach (PHP, JavaScript i Rust), tak by każdy mógł znaleźć coś dla siebie 😁.

Gwoli wyjaśnienia, przygodę z DDD zacząłem około 2 lata temu, nie uważam się za eksperta, uwagi i krytyka są mile widziane 🙂!

Spis treści:

Continue reading DDD – Polityka i Specyfikacja