Zasady i poziomy

przez Karol Bocian | 1 czerwca, 2020

Zasady i poziomy

Systemy informatyczne są zapisem zasad i reguł przetwarzania danych. Zasady te zgrupowane są w komponenty, komponenty są ze sobą łączone. Należy łączyć komponenty tak, aby stworzyć skierowany graf acykliczny. Wierzchołkami grafu są komponenty, a krawędziami są zależności.

Poziomy

Można zdefiniować pojęcie poziomu komponentu jako jego odległość (i zasad, które zawiera) od punktu wejścia i wyjścia danych, które ma zmieniać. Komponenty odpowiadające za wejście i wyjście danych z systemu mają poziom 0. Poziom dalszych komponentów jest coraz wyższy wraz z rosnącą odległością od wejścia lub wyjścia systemu.

Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 198 — Rysunek 19.2. — Diagram klas przedstawiający lepszą architekturę systemu.

Powyższy rysunek przedstawia program do szyfrowania. Zaproponowana struktura pozwala na oddzielenie reguł niskopoziomowych (komponent wejściowy oraz wyjściowy) od zasad wysokopoziomowych (głównego powodu istnienia aplikacji — szyfrowania). Należy tutaj podkreślić, że komponenty niższego poziomu są skierowane (zależą od) komponentów poziomu wyższego. Dzięki temu łatwo można wykorzystać reguły biznesowe w innym środowisko, np. podmieniając moduł wejścia. Nie trzeba przy tym zmieniać w ogóle modułu odpowiadającego za szyfrowanie. Komponenty niższego poziomu są jak wtyczki: można je łatwo odpiąć i wpiąć coś innego, np. zapisywanie do pliku, zapisywanie do bazy danych, czytanie na głos.

Istotne reguł biznesowe + istotne dane biznesowe = encje

Reguły biznesowe to najważniejsze zasady w organizacji. Pozwalają one zarabiać lub oszczędzać pieniądze nawet wtedy, gdy nie są zaimplementowane w żadnej aplikacji, tylko realizowane są np. manualnie przez ludzi. Są to istotne reguły biznesowe. Potrzebują one danych. Dane wykorzystywane przez istotne reguły biznesowe nazywane są istotnymi danymi biznesowymi. Połączenie istotnych reguł biznesowych (zachowań) z istotnymi danymi biznesowymi (dane) tworzą obiekty, zwane encjami.

Przypadki użycia

Przypadkiem użycia nazywane jest wykorzystanie zautomatyzowanego systemu. Określa on zasady wejścia danych, ich przetwarzania oraz wyjścia.

Przypadki użycia kontrolują encje. Encje nic nie wiedzą o przypadkach użycia. Encje mają najwyższy poziom w architekturze. To od nich wszystko zależy.

Przypadki użycia powinny operować na prostych strukturach danych (na wejściu i wyjściu). Za wszystkie poważne operacje odpowiedzialne są tylko encje.

Krzycząca architektura

Architektura systemu jest środowiskiem umożliwiającym istnienie przypadków użycia. Powinna ona już na pierwszy rzut oka informować, z jakim środowiskiem ma do czynienia programista, np. spojrzenie na architekturę sklepu internetowego powinno od razu informować programistę, że ma do czynienia ze sklepem internetowym. Architektura powinna od razu krzyczeć o tym, jaką aplikację reprezentuje. Pamiętajmy, że frameworki, bazy danych, interfejs użytkownika są tylko szczegółami. Najważniejsze są przypadki użycia. To je powinien zobaczyć programista od razu, kiedy spojrzy na strukturę aplikacji. Skupienie się na przypadkach użycia, a nie na frameworkach, pozwala na bezpieczny rozwój aplikacji przez dziesięciolecia, bez uzależniania się od frameworków, narzędzi i środowisk.

Wszystkie posty związane z mini projektem: Budowa czystej architektury:

    Źródła

    Obrazy

    Materiały

    • Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin.

    Struktura oprogramowania

    przez Karol Bocian | 1 czerwca, 2020

    Struktura oprogramowania

    Podstawowy cel architektury to ułatwienie realizowania prac związanych z rozwojem oraz utrzymaniem oprogramowania, oraz celów postawionych przed danym oprogramowaniem.

    Dobra architektura musi ułatwiać:

    • Działanie systemu i wykonywanie przypadków użycia (celów postawionych przed oprogramowaniem).
    • Konserwację.
    • Rozwój.
    • Wdrożenia.

    Celem jest: minimalizacja kosztów oraz maksymalizacja produktywności. Dobre projektowanie architektury polega na przesuwaniu decyzji dotyczących szczegółów na później (gdy będziemy mieli więcej danych) i niedecydowaniu o robieniu czegoś już na początku, np. dane można zapisywać w pliku tekstowym (szczegół implementacyj ny, szybki do osiągnięcia), a nie w bazie danych. Dobra architektura pozwoli szybki podmienić szczegóły na lepsze, np. zapis danych do pliku na zapis w bazie danych.

    Warto tutaj wspomnieć też o prawie Conwaya:

    Organizacja projektująca system wygeneruje projekt o strukturze odwzorowującej strukturę komunikacji tej organizacji.

    Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 167.

    Architektura oprogramowanie rozwijanego przez wielozespołową organizację, w której zespoły realizują różne zadania, musi mieć uwzględniać aspekt struktury takiej organizacji. Architektura musi być tak stworzona, aby pozwalała różnym zespołom realizować niezależnie od innych swoje zadania.

    Tworząc architekturę, należy wyznaczać granicę. System można podzielić na:

    • Poziome warstwy — odpowiedzialne za konkretne działania (np.dostęp do bazy danych, interfejs użytkownika).
    • Pionowe plastry — reprezentujące konkretne przypadki użycia i przecinające różne warstwy systemu.

    Granice służą do oddzielenia od siebie kodu źródłowego. Pozwalają chronić komponenty przed zbyt częstymi zmianami. Zmiana powinna dotyczyć jak najmniejszej liczby komponentów. Dobre rozmieszczenie granic powinno minimalizować liczbę zmienianych komponentów. Należy stawiać granice między komponentami ważnymi (rzadko zmieniającymi się, np. reguły biznesowe), a nieważnymi (często zmieniającymi się, np. interfejs użytkownika). Stawianie granic może wyglądać następująco:

    1. Należy podzielić kod na komponenty (najważniejsze reguł biznesowe, interfejs użytkownika, dostęp do bazy danych, etc.).
    2. Przygotowanie kodu w taki sposób, aby strzałki zależności między komponentami były od mniej ważnego do ważniejszego (stosowanie Zasady Odwróconej Zależności — strzałki skierowane są od niskopoziomowych szczegółów do wysokopoziomowych abstrakcji).

    Rozważmy architekturę wtyczek. Najważniejszym komponentem są reguł biznesowe. Korzystają one z interfejsu dostępu do bazy danych. Jest on zdefiniowany w komponencie z regułami biznesowymi. Implementuje go inny komponent (dostępu do konkretnej bazy danych). Zmiana bazy danych nie wpłynie na reguły biznesowe — nowy komponent dostępu do nowej bazy danych będzie musiał zaimplementować ten sam (niezmieniony) interfejs będący w komponencie z regułami biznesowymi.

    Szczegółami są m.in.:

    • Bazy danych.
    • Sieć www.
    • Frameworki.
    • Interfejs użytkownika.
    • Moduł Main — odpowiada za tworzenie, koordynację i nadzorowanie innych komponentów. Traktowanie go jako wtyczki i modułu ukrytego za granicą architektoniczną upraszcza znacząco konfigurowanie aplikacji.

    Wszystkie posty związane z mini projektem: Budowa czystej architektury:

      Źródła

      Obrazy

      Materiały

      • Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin.

      10 pomysłów na: małą aktywność z żoną (w formie biznesu)

      przez Karol Bocian | 19 marca, 2021

      W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

      Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

      10 pomysłów na: małą aktywność z żoną (w formie biznesu)

      10 pomysłów na: małą aktywność z żoną (w formie biznesu):

      View Results

      Loading ... Loading ...

      Zaznacz najfajniejszy pomysł! Dodaj też swoje!

      Wszystkie posty związane z kreatywnością:

        Źródła

        Obraz główny

        10 pomysłów na: lepsze skupienie się

        przez Karol Bocian | 19 marca, 2021

        W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

        Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

        10 pomysłów na: lepsze skupienie się

        10 pomysłów na: lepsze skupienie się:

        View Results

        Loading ... Loading ...

        Zaznacz najfajniejszy pomysł! Dodaj też swoje!

        Wszystkie posty związane z kreatywnością:

          Źródła

          Obraz główny

          Łączenie komponentów

          przez Karol Bocian | 22 kwietnia, 2022

          Łączenie komponentów

          Tworząc architekturę, należy zastanowić się, w jaki sposób połączyć ze sobą komponenty. Pomocne są w tym następujące zasady:

          • Zasada zależności niecyklicznych.
          • Zasada stabilnych zależności.
          • Zasada stabilnych abstrakcji.

          Zasada zależności niecyklicznych

          Nie dopuść do powstania cyklicznych związków w diagramie zależności komponentów.

          Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 132.

          Zmniejsza to zależność jednych komponentów od drugich — sprawia, że nasz komponent zależy od mniejszej liczby komponentów — łatwiej jest go przetestować oraz rozwijać — wystarczy skompilować nasz komponent i zależne od niego. Zależności cykliczne rodzą problemy z równoległym rozwijaniem komponentów przez kilku programistów, koniecznością kompilowania większej liczby komponentów, konieczność integrowania się i testowania integracji z większą liczbą komponentów.

          Cykl można usunąć w następujący sposób:

          1. Zastosować zasadę DIP — wystawić interfejs w naszym komponencie, aby odwrócić zależność — teraz to ten drugi komponent będzie zależny od naszego.
          2. Utworzyć nowy komponent, od którego będziemy zależni my i inny komponent, do którego chcieliśmy dodać kłopotliwy kod.

          SDP — Zasada stabilnych zależności (ang. Stable Dependencies Principle)

          Zależność kieruj w stronę elementu stabilnego.

          Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 139.

          Oprogramowanie tworzone na podstawie tej zasady sprawia, że komponenty mające być łatwe do zmodyfikowania, nie zależą od komponentów stabilnych. Komponent stabilny to taki, w którym trzeba wykonać dużo pracy, aby go zmodyfikować (wpływ on na wiele innych komponentów).

          Przykład:

          • Komponent stabilny — Od naszego komponentu zależą trzy inne (używają naszego komponentu), lecz on sam nie zależy od żadnego innego. Nasz komponent jest odpowiedzialny za pozostałe trzy komponenty. Jest on stabilny (ciężko go zmienić), odpowiedzialny i niezależny. Jego miara I = 0 (o miarach piszę niżej).
          • Komponent niestabilny — Od naszego komponentu nic nie zależy (nikt go nie używa), lecz nasz komponent zależy od trzech innych (używa ich). Jest on niestabilny (łatwo go zmienić, bo wystarczy zmienić tylko go, nie trzeba zmieniać innych komponentów), nieodpowiedzialny (nie jest odpowiedzialny za żaden inny komponent) i zależny. Jego miara I = 1. on I = 1.

          SAP — Zasada stabilnych abstrakcji (ang. Stable Abstractions Principle)

          Komponent powinien być tak abstrakcyjny, jak jest stabilny.

          Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 144.

          Ta zasada określa relację między stabilnością i abstrakcyjnością. Zasada SDP (Zasada stabilnych zależności) zaleca tworzyć zależności w stronę stabilności, zaś zasada SAP (Zasada stabilnych abstrakcji) określa, że stabilność implikuje w abstrakcji. Z tych zasad mamy zasadę DIP (Zasada odwrócenia zależności) dla komponentów, która zaleca kierować zależności w stronę abstrakcji.

          Miara stabilności

          Zdefiniujmy miarę niestabilności (ang. Instability):

          I = Fan-Out / (Fan-In + Fan-Out),

          gdzie:

          • I = niestabilność komponentu. I = 1 -> maksymalnie niestabilny, I = 0 -> maksymalnie stabilny.
          • Fan-Out = liczba klas w naszym komponencie zależących od klas spoza komponentu.
          • Fan-In = liczba klas spoza naszego komponentu zależących od klas z naszego komponentu

          Zgodnie z zasadą SDP (Zasada stabilnych zależności) I naszego komponentu powinna być większa, niż miary I komponentów, od których nasz komponent zależy. Miara I powinna zmniejszać się zgodnie z kierunkiem zależności.

          Miara abstrakcji

          Zdefiniujmy miarę abstrakcji komponentu:

          A = Na / Nc,

          gdzie:

          • A = abstrakcyjność komponentu. A = 0 -> minimalnie abstrakcyjny (nie ma żadnej abstrakcyjnej klasy), A = 1 -> maksymalnie abstrakcyjny (wszystkie klasy są abstrakcyjne).
          • Nc — liczba wszystkich klas w komponencie.
          • Na — liczba wszystkich klas abstrakcyjnych i interfejsów w komponencie.

          Ciąg główny

          Warto jest zaobserwować związek między stabilnością (I) oraz abstrakcyjnością (A).

          Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 147 — Rysunek 14.13 — Strefy bólu.

          Na powyższym obrazku przedstawiono na osiach obie miary: miarę niestabilności oraz abstrakcyjności. Ciąg główny to odcinek łączący punkty (1,0) i (0,1) (I, A). Umieszczenie komponentów w punktach początku i końca ciągu głównego jest najbardziej pożądane. Na rysunku widać również:

          • Strefa bólu, czyli maksymalnie konkretne i stabilne komponenty — nie chcemy takich, bo ciężko je zmienić (są sztywne).
          • Strefa bezużyteczności, czyli maksymalnie abstrakcyjne komponenty, których nikt nie używa (należy do wyrzucenia).

          Bardzo ciężko jest stworzyć komponenty, które będą na początku i końcu ciągu głównego. Warto jest je jednak umieszczać na ciągu głównym, dlatego zdefiniujmy pomocniczą miarę: odległość od ciągu głównego (D):

          D = | A + I -1 |,

          gdzie:

          • D = 1 -> maksymalne oddalenie od ciągu głównego, D = 1 -> jest na ciągu głównym.
          • A — miara abstrakcyjności komponentu.
          • I — miara niestabilności komponentu.
          • D — odległość od ciągu głównego.

          Możemy również policzyć średnią oraz odchylenia standardowe naszych komponentów. Jeżeli komponent jest dalej niż odchylenie standardowe od ciągu głównego, to warto mu się przyjrzeć i zrobić refaktoryzację.

          Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 149 — Rysunek 14.14 — Wykres punktowy komponentów.

          Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 150 — Rysunek 14.15 — Wykres zmian wartości D dla jednego komponentu w czasie.

          Możemy też umieszczać wartość D na osi czasu i obserwować jak kolejne działania oddalają lub zbliżają nas do ciągu głównego oraz zareagować, gdy nasz komponent oddali się od niego za bardzo. Należy pamiętać, że struktury zależności komponentów nie da się zaprojektować od początku do końca. Ewoluuje ona w czasie rozrastania się systemu i wciąż zmienia. Warto więc zdefiniować miary i proces ciągłego obserwowania ich, aby reagować, gdy nasza architektura zaczyna odbiegać od naszej wizji.

          Wszystkie posty związane z mini projektem: Budowa czystej architektury:

            Źródła

            Obrazy

            Materiały

            • Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin.

            Spójność komponentów

            przez Karol Bocian | 30 maja, 2020

            Komponenty

            Komponenty to najmniejsze wdrożeniowe elementy oprogramowania, które można instalować.

            Spójność komponentów

            Spójność komponentów oznacza składanie komponentów takich sposób, aby zachowywały one harmonię oraz były jak najbardziej jednolite. W zapewnianiu spójności komponentów pomagają następujące zasady:

            • REP — Zasada istotności numeru wydania (ang. Reuse/Release Equivalence Principle).
            • CCP — Zasada wspólnego domknięcia (ang. Common Closure Principle).
            • CRP — Zasada wspólnego użycia (ang. Common Reuse Principle).

            REP — Zasada istotności numeru wydania (ang. Reuse/Release Equivalence Principle)

            Podstawą ponownego użycia komponentu jest jego numer wydania.

            Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 124.

            Elementy komponentu muszą tworzyć spójną całość, mieć wspólny cel lub przeznaczenie. Numer wydania pozwala zgromadzić ten konkretny stan oprogramowania w spójną całość. Numer wydania informuje o zawartości konkretnej wersji komponentu, kompatybilności komponentów, nowych wersjach i zmianach, które wnoszą.

            CCP — Zasada wspólnego domknięcia (ang. Common Closure Principle)

            W ramach komponenty zgromadź te klasy, które zmieniają się z tego samego powodu i w tym samym czasie. Na różne komponenty rozdziel te klasy, które zmieniają się w różnym czasie i z różnych powodów.

            Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 125.

            Zmiana w aplikacji jest nieunikniona. Jeżeli taka ma nastąpić, najlepiej byłoby, gdyby dotyczyła tylko jednego komponentu. Można tutaj zauważyć podobieństwo z zasadą SRP — pojedynczej odpowiedzialności. Obie mówią w skrócie: Grupuj w jednym miejscu elementy, które mają ten sam powód zmiany, a rozdzielaj te, które mają wiele powodów do zmiany (element odpowiada przed wieloma aktorami).

            CRP — Zasada wspólnego użycia (ang. Common Reuse Principle)

            Nie zmuszaj użytkowników komponentu do zależności od rzeczy, których nie potrzebują.

            Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 126.

            Klasy, które nie są ze sobą ściśle związane, nie powinny być w tym samym komponencie. Można tutaj zauważyć podobieństwo z zasadą ISP — Zasada segregacji interfejsów. Obie mówią w skrócie, aby nie tworzyć zależności od rzeczy, które są nam niepotrzebne.

            Diagram napięć dla spójności komponentów

            Zasady spójności komponentów:

            • REP — Zasada istotności numeru wydania (ang. Reuse/Release Equivalence Principle).
            • CCP — Zasada wspólnego domknięcia (ang. Common Closure Principle).
            • CRP — Zasada wspólnego użycia (ang. Common Reuse Principle).

            Powyższe zasady są ze sobą sprzeczne, ponieważ REP i CCP są włączające (dążą do dołączania elementów do komponentu), a CRP jest wyłączająca (odrzuca elementy z komponentu). Należy szukać balansu między tymi zasadami.

            Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 128 — Rysunek 13.1 Diagram napięć między zasadami spójności komponentów

            Na powyższym diagramie przedstawione są relacje między wspomnianymi zasadami. Wszystkie komponenty znajdują się w polu określonym przez trójkąt, którego wierzchołkami są omawiane zasady. Umiejscowienie komponentów zmienia się wraz z rozwojem architektury i aplikacji. Zazwyczaj na początku najważniejsza jest łatwość rozwoju systemu, dlatego komponenty znajdują się blisko zasady CCP, a z czasem komponenty przesuwają się w lewą stroną na rzecz lepszych wydań.

            Komponenty będące blisko REP i CRP borykają się z problemem zmieniania się przy każdej drobnej zmianie aplikacji. Komponenty będące blisko CCP i REP mają problem tworzenia zbyt często nowych wydań.

            Wszystkie posty związane z mini projektem: Budowa czystej architektury:

              Źródła

              Obrazy

              Materiały

              • Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin.

              10 pomysłów na: tematykę codziennych filmów

              przez Karol Bocian | 19 marca, 2021

              W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

              Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

              10 pomysłów na: tematykę codziennych filmów

              10 pomysłów na: tematykę codziennych filmów:

              View Results

              Loading ... Loading ...

              Zaznacz najfajniejszy pomysł! Dodaj też swoje!

              Wszystkie posty związane z kreatywnością:

                Źródła

                Obraz główny

                10 pomysłów na: typy wakacji

                przez Karol Bocian | 19 marca, 2021

                W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                10 pomysłów na: typy wakacji:

                10 pomysłów na: typy wakacji

                View Results

                Loading ... Loading ...

                Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                Wszystkie posty związane z kreatywnością:

                  Źródła

                  Obraz główny

                  Zasady SOLID w kontekście architektury

                  przez Karol Bocian | 30 maja, 2020

                  Zasady SOLID

                  Dobre oprogramowanie na najniższym poziomie powinno być zgodne z zasadami SOLID. Znajomość tych zasad przyda się również przy projektowaniu całej architektury. Można je bowiem rozszerzyć na komponenty, moduły i paczki.

                  Poniżej przedstawiam zasady SOLID.

                  SRP — Zasada pojedynczej odpowiedzialności – (ang. Single Responsibility Principle)

                  Każdy moduł powinien odpowiadać dokładnie przed jednym aktorem (mieć dokładnie jedną zmian). Należy oddzielać od siebie fragmenty kodu, na który wpływ mają różni aktorzy.

                  OCP — Zasada otwarte-zamknięte – (ang. Open-Closed Principle)

                  Fragment oprogramowania powinien być otwarty na rozbudowę, ale zamknięty na modyfikacje.

                  LSP — Zasada podstawienia Liskov – (ang. Liskov Substitution Principle)

                  Funkcje, które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów.

                  (źródło: https://pl.wikipedia.org/wiki/Zasada_podstawienia_Liskov). Klasy dziedziczące powinny jedynie rozszerzać klasę bazową i nie zmieniać jej działania.

                  ISP — Zasada segregacji interfejsów – (ang. Interface Segregation Principle)

                  Wiele dedykowanych interfejsów jest lepsze niż jeden ogólny. (źródło: https://pl.wikipedia.org/wiki/SOLID_(programowanie_obiektowe)). Należy unikać budowania zależności od niepotrzebnych elementów, ponieważ wnosi to niepotrzebne zależności i może powodować nieprzewidziane problemy.

                  DI — Zasada odwracania zależności – (ang. Dependency Inversion Principle)

                  Wysokopoziomowe moduły nie powinny zależeć od modułów niskopoziomowych — zależności między nimi powinny wynikać z abstrakcji. (źródło: https://pl.wikipedia.org/wiki/SOLID_(programowanie_obiektowe)). Elastyczny system zbudowany jest w taki sposób, że wszelkie zależności dotyczą abstrakcji, a nie konkretnych elementów. Instrukcje import i using powinny odnosić się do abstrakcji.

                  Przykład zastosowania zasady SRP

                  Rozważmy przypadek klasy pracownika (Employee), która liczy czas pracy, jego wynagrodzenie oraz zapisuje te dane w bazie danych. Ma na nią wpływ trzech aktorów: na liczenie czasu pracy wpływ mają kadry, na liczenie wypłaty wpływ ma księgowość, a na zapis do bazy danych wpływ ma dział techniczny. Należy rozdzielić te trzy odpowiedzialności do trzech różnych klas.

                  Problem 1 – odpowiedzialność

                  W klasie Employee jest metoda do liczenia godzin pracy pracownika (RegularHours), z której korzysta metoda ReportHours oraz CalculatePay. Jeżeli dział księgowości zechce inaczej liczyć wypłatę pracownika poprzez zmianę sposobu liczenia godzin pracy w metodzie RegularHours, to przez to zmieni się również działanie metody ReportHours. A tego mieliśmy nie zmieniać. Dział kadr, kiedy to odkryje, będzie bardzo zaskoczony. Może on jednak odkryć to dopiero po wielu latach. A to jest duży problem.

                  Problem 2 – łączenie zmian (mergowanie)

                  W klasie Employee dwóch programistów jednocześnie zmienia kod z dwóch różnych powodów (ta klasa zależna jest od trzech aktorów) na własnych branchach. Podczas złączenia kodu do głównego brancha mogą natrafić na konflikty oraz złączony kod może nie działać tak, jak się tego od niego oczekuje.

                  Rozwiązanie

                  Rozwiązaniem jest wydzielenie z klasy Employee trzech klas, które będą realizowały konkretne działania związane z klasą Employee dla poszczególnych aktorów. Poniższy obrazek prezentuje ten podział.

                  Źródło strona 85 — Rysunek 7.3 – Trzy klasy nie wiedzą o istnieniu pozostałych.

                  Można to rozwiązać na dwa sposoby:

                  Sposób 1: Za pomocą wzorca Fasada. Klasa Employee odpowiada tylko za przekazywanie sterowania do odpowiednich klas. Przedstawia to poniższy obrazek.

                  Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 86 — Rysunek 7.4 – Wzorzec projektowy Fasada.

                  Sposób 2: Klasa Employee ma w sobie swoje dane oraz implementacje najważniejszej dla niej metody. Pozostałe metody zaimplementowane są w innych klasach. Przedstawia to poniższy obrazek.

                  Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 86 — Rysunek 7.4- Najważniejsze metody są w klasie Employee, która jednocześnie służy za fasadę dla mniejszych funkcji.

                  Przykład zastosowania OCP

                  Poniższy rysunek przedstawia architekturę aplikacji prezentującej raporty, których dane zapisane są w bazie danych. Najważniejszym komponentem (najwyższego poziomu) jest Interaktor. Zawiera on logikę biznesową. Inne komponenty to moduły peryferyjne. Jest tutaj zaprezentowana hierarchia oparta o poziomy. Interaktor jest poziomy najwyższego (ponieważ zawiera reguły biznesowe) i z tego powodu jest najbardziej chroniony. To od niego zależy cała reszta aplikacji. Należy zauważyć, że wszystkie zależności komponentów skierowane są od najniższego poziomu, do najwyższego (czyli do Interaktora). Warto zaznaczyć, że interfejs FinancialReportRequester służy do ochronienia klasy FinancialReportController przed zbytnią wiedzą o komponencie Interaktor, np. sprawia, że nie ma on wiedzy o klasie FinancialEnitites. Gdyby FinancialReportController wiedział też o FinancialEnitites, to zmiana tej klasy wpływałaby niepotrzebnie na komponent Kontroler. Nie używa on bezpośrednio FinancialEnitites, więc nie powinien go w ogóle znać. Oprócz ochrony Interaktora przed zmianami w komponentach niższego poziomu należy również chronić inne komponenty przed zmianami w komponentach wyższego poziomu poprzez ukrywanie ich szczegółów.

                  Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 92 — Rysunek 8.2 – Podział zadań na klasy i zgrupowanie ich w komponenty.

                  Przykład zastosowania DIP

                  Stosowanie Zasady odwrócenia zależności opiera się na założeniu, że abstrakcje (a z pewnością powinny) są stabilniejsze niż ich implementacja. Tworząc oprogramowanie, warto zastosować się do poniższych wytycznych:

                  • Nie należy odnosić się do konkretnych (ulotnych) klas.
                  • Nie należy dziedziczyć po konkretnych (ulotnych) klasach.
                  • Nie należy nadpisywać metod klas, lecz stworzyć funkcję abstrakcyjną i ją implementować na różne sposoby.
                  • Nie należy powoływać się na konkretne (ulotne) elementy.

                  Poniżej przykład podziału komponentów. Czarna linia pokazuje ich podział. Komponent z górnej części rysunku jest abstrakcyjny i zawiera wszystkie wysokopoziomowe reguły biznesowe. Dolna część rysunku przedstawia komponent konkretny, który zawiera szczegóły implementacji. Przepływ sterowania przecina czarną linię w przeciwnym kierunki do zależności w kodzie. Jest tu zastosowana zasada odwrócenia zależności — zależności odwrócone są względem przepływu sterowania.

                  Źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 110 — Rysunek 11.1 Użycie wzorca projektowego fabryka abstrakcyjna w celu ujarzmienia zależności

                   

                  Wszystkie posty związane z mini projektem: Budowa czystej architektury:

                    Źródła

                    Obrazy

                    Materiały

                    10 pomysłów na: odważenie się

                    przez Karol Bocian | 19 marca, 2021

                    W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                    Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                    10 pomysłów na: odważenie się:

                    10 pomysłów na: odważenie się:

                    View Results

                    Loading ... Loading ...

                    Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                    Wszystkie posty związane z kreatywnością:

                      Źródła

                      Obraz główny

                      Paradygmaty programowania

                      przez Karol Bocian | 27 maja, 2020

                      Paradygmaty programowania

                      Paradygmat to zbiór pojęć i teorii, które tworzą daną dyscyplinę. W programowaniu są trzy paradygmaty: programowanie strukturalne, programowanie obiektowe i programowanie funkcyjne. Żaden z nich nie mówi, jak należy programować. Wręcz odwrotnie, każdy z nich ogranicza wolność w programowaniu. Wygląda to następująco (źródło: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin, ss. 46-47):

                      • Programowanie strukturalne wymusza dyscyplinę bezpośredniego przekazywania sterowania (unikanie stosowanie instrukcji skoku: goto).
                      • Programowanie obiektowe wymusza dyscyplinę pośredniego przekazywania sterowania (narzucenie dyscypliny stosowania wskaźników do funkcji).
                      • Programowanie funkcyjne wymusza dyscyplinę podczas przypisywania wartości (przypisywanie wartości jest bardzo ograniczone).

                      Programowanie obiektowe pozwala stworzyć projekt opierającego się na koncepcji wtyczek. Możliwe jest to dzięki polimorfizmowi. Koncepcja wtyczek pozwala stworzyć system, w którym moduły wysokopoziomowe są niezależne od modułów niskopoziomowych (wtyczek).

                      Programowanie funkcyjne likwiduje problem związany z aktualizowaniem przez wiele wątków jednej zmiennej, ponieważ nie ma tam przypisania wartości. Rzeczywistość może być reprezentowana jako seria transakcji zmieniających stan, np. na koncie mamy 0 zł, wpłaciliśmy 1000 zł, wypłaciliśmy 200 zł. Stan konta = 0 + 1000 – 200 – 800 zł. Baza danych, która ma tylko operację Insert i Read, nie ma problemów ze współbieżnością aktualizacji.

                      Mamy tylko 3 paradygmaty oprogramowania, które powstały bardzo dawno temu. Można wysnuć wniosek, że oprogramowanie nie rozwija się tak gwałtownie, jak nam się wydaje. Jego podstawy są takie same od dziesięcioleci.

                      Wszystkie posty związane z mini projektem: Budowa czystej architektury:

                        Źródła

                        Obrazy

                        Materiały

                        10 pomysłów na: motywację do rozpoczęcia pracy

                        przez Karol Bocian | 19 marca, 2021

                        W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                        Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                        10 pomysłów na: motywację do rozpoczęcia pracy:

                        10 pomysłów na: motywację do rozpoczęcia pracy:

                        View Results

                        Loading ... Loading ...

                        Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                        Wszystkie posty związane z kreatywnością:

                          Źródła

                          Obraz główny

                          Dekalog szczęścia. Jak nie dać się udawanej radości, ale też nie wpaść w czarną rozpacz — w rozmowach z Beatą Pawłowicz

                          przez Karol Bocian | 3 lipca, 2020

                          Przeczytałem ostatnio kolejną książkę. W tym wpisie dzielę się informacjami, które w niej znalazłem oraz które wdrożyłem w swoim życiu. Staram się z każdej książki wdrażać minimum jedną rzecz.

                          Wdrożyłem:

                          1. Wypisałem nad biurkiem moje cele oraz najbliższe kroki do wykonania, aby je osiągnąć.
                          2. Sygnał, który co godzinę zmusza mnie do refleksji: czy to, co teraz robię, zbliża mnie do celu.

                          Notatki:

                          Myśli o szczęściu:

                          • W życiu trzeba wybierać, co jest najważniejsze. Nie można wybrać wszystkiego.
                          • Droga do szczęścia oznacza znalezienie prawdziwego siebie. Ludzie marnują życie, możliwości i talenty. Czują się przez to nieszczęśliwi.
                          • Szczęście w rodzinie to: wolność, autonomia, brak oceniania, prawo do nieograniczonego repertuaru zachować.
                          • Szczęście jest efektem ubocznym ciężkiej pracy.
                          • Szczęściu trzeba stwarzać okazje do pojawienia się. Jeśli nie próbujesz, to z pewnością Ci się nie uda. Jeśli myślisz, że spróbowałeś już wszystkiego, to z pewnością się mylisz.
                          • Szczęście jest tylko tu i teraz. Nie ma go ani w przeszłości, ani w przyszłości.
                          • Szczęście zależne jest od naszego postrzegania i odbierania rzeczywistości, od naszego poziomu optymizmu i zamartwiania się.
                          • Naszym głównym celem życiowym jest troszczenie się o siebie. Zawsze wszystkie rzeczy robimy dla siebie. Paradoks polega na tym, że nie troszczymy się o siebie, nie troszcząc się o innych.

                          Wszystkie posty związane z książkowymi wdrożeniami:

                            Źródła

                            Obraz główny

                            Materiały

                            • Dekalog szczęścia. Jak nie dać się udawanej radości, ale też nie wpaść w czarną rozpacz — w rozmowach z Beatą Pawłowicz

                            Linki oznaczone (*) są linkami afiliacyjnymi. Jeżeli uważasz, że czerpiesz korzyści z mojej pracy, to kup coś korzystając z powyższego linku. Sprawi to, że dostanę prowizję z afiliacji.

                            10 pomysłów na: aktywny czas z żoną

                            przez Karol Bocian | 19 marca, 2021

                            W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                            Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                            10 pomysłów na: aktywny czas z żoną:

                            10 pomysłów na: aktywny czas z żoną

                            View Results

                            Loading ... Loading ...

                            Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                            Wszystkie posty związane z kreatywnością:

                              Źródła

                              Obraz główny

                              Architektura

                              przez Karol Bocian | 25 maja, 2020

                              Architektura

                              Architektura oprogramowania to połączenie wysokopoziomowej struktury z niskopoziomowymi szczegółami, relacje między nimi, reguły ich rozbudowywania oraz środowisko pracy. Jej celem jest zminimalizowanie liczby ludzi wymaganych do stworzenia, utrzymywania i rozbudowywania systemu.

                              Zasady programowania nie zmieniły się od swoich początków. Ciągle używane są te same komendy (np. if’y i while). Są one uniwersalne. Z tego też powodu reguły architektury oprogramowania są uniwersalne i nie zależą od żadnej zmiennej.

                              Dobra architektura ma następujące zalety:

                              • Potrzeba niewielu programistów do utrzymania i rozwoju systemu.
                              • Koszty pracy programistów są minimalizowane.
                              • Elastyczność i funkcjonalność oprogramowania jest maksymalizowana.
                              • Łatwo jest wprowadzać zmiany.

                              Niejednokrotnie programiści dochodzą do wniosku, że muszą przepisać system, ponieważ obecny jest trudny w utrzymaniu i rozwijaniu. Mają przesadną pewność siebie, że teraz, budując od nowa, stworzą idealny system. Po jakimś czasie znowu wpadają w ten sam sposób. Problemem nie jest stary system, lecz nieodpowiednia architektura i praktyki programistyczne. Należy poświęcić im sporo czasu. Pomocne jest w tym zasady SOLID, GRASP, rysowanie diagramów UML, oraz proces TDD.

                              Systemy mają dwie cechy:

                              • Zachowanie — system ma zarabiać lub oszczędzać pieniądze.
                              • Struktura (architektura) – system ma mieć możliwość łatwego zmieniania się i dostosowywania do zmian oczekiwań i jego otoczenia.

                              W pracy trzeba znaleźć balans między rozwijaniem zachowania (dodawania nowych funkcji) a poprawianiem struktury (ułatwiania rozwijania systemu). Zazwyczaj pilne jest, ale nie ważne, aby nowa funkcja została zaprogramowana. Prace nad strukturą są zaś często ważne, ale nie pilne. Można to przedstawić w macierzy Eisenhowera:

                              pilne i ważne — architektura i zachowanie niepilne i ważne – architektura
                              pilne i nieważne -zachowanie niepilne i nieważne

                              Podczas rozwijania oprogramowania trzeba dodawać wartość do systemu, ale nie można zapominać o poprawianiu jego struktury. Proces refaktoryzacji (usprawniania struktury kodu) musi być ciągły i być codzienną praktyką programistyczną.

                              Wszystkie posty związane z mini projektem: Budowa czystej architektury:

                                Źródła

                                Obrazy

                                Materiały

                                10 pomysłów na: zlikwidowanie blokad kreatywności

                                przez Karol Bocian | 19 marca, 2021

                                W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                10 pomysłów na: zlikwidowanie blokad kreatywności:

                                10 pomysłów na: zlikwidowanie blokad kreatywności:

                                View Results

                                Loading ... Loading ...

                                Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                Wszystkie posty związane z kreatywnością:

                                  Źródła

                                  Obraz główny

                                  10 pomysłów na: wakacje

                                  przez Karol Bocian | 19 marca, 2021

                                  W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                  Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                  10 pomysłów na: wakacje:

                                  10 pomysłów na: wakacje:

                                  View Results

                                  Loading ... Loading ...

                                  Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                  Wszystkie posty związane z kreatywnością:

                                    Źródła

                                    Obraz główny

                                    10 pomysłów na: karę / stratę za niezrobienie czegoś

                                    przez Karol Bocian | 19 marca, 2021

                                    W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                    Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                    10 pomysłów na: karę / stratę za niezrobienie czegoś

                                    10 pomysłów na: karę / stratę za niezrobienie czegoś

                                    View Results

                                    Loading ... Loading ...

                                    Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                    Wszystkie posty związane z kreatywnością:

                                      Źródła

                                      Obraz główny

                                      • https://www.pexels.com/photo/basket-blur-boy-child-208087/

                                      10 pomysłów na: nagrodę dla siebie

                                      przez Karol Bocian | 19 marca, 2021

                                      W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                      Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                      10 pomysłów na: nagrodę dla siebie:

                                      10 pomysłów na: nagrodę dla siebie

                                      View Results

                                      Loading ... Loading ...

                                      Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                      Wszystkie posty związane z kreatywnością:

                                        Źródła

                                        Obraz główny

                                        10 pomysłów na: przyjemny poranek

                                        przez Karol Bocian | 19 marca, 2021

                                        W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                        Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                        10 pomysłów na: przyjemny poranek:

                                        10 pomysłów na: przyjemny poranek:

                                        View Results

                                        Loading ... Loading ...

                                        Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                        Wszystkie posty związane z kreatywnością:

                                          Źródła

                                          Obraz główny

                                          10 pomysłów na: zmotywowanie się do porannego wstawania

                                          przez Karol Bocian | 19 marca, 2021

                                          W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                          Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                          10 pomysłów na: zmotywowanie się do porannego wstawania

                                          10 pomysłów na: zmotywowanie się do porannego wstawania

                                          View Results

                                          Loading ... Loading ...

                                          Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                          Wszystkie posty związane z kreatywnością:

                                            Źródła

                                            Obraz główny

                                            10 pomysłów na: biznes w czasie koronawirusa (dla właściciela działki)

                                            przez Karol Bocian | 19 marca, 2021

                                            W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                            Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                            10 pomysłów na: biznes w czasie koronawirusa (dla właściciela działki):

                                            Przedstawiam: 10 pomysłów na: biznes w czasie koronawirusa (dla właściciela działki)

                                            View Results

                                            Loading ... Loading ...

                                            Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                            Wszystkie posty związane z kreatywnością:

                                              Źródła

                                              Obraz główny

                                              10 pomysłów na: muzykę do pracy

                                              przez Karol Bocian | 19 marca, 2021

                                              W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                              Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                              10 pomysłów na: muzykę do pracy:

                                              10 pomysłów na: muzykę do pracy:

                                              View Results

                                              Loading ... Loading ...

                                              Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                              Wszystkie posty związane z kreatywnością:

                                                Źródła

                                                Obraz główny

                                                10 pomysłów na: wykorzystanie stodoły lub innego dużego pomieszczenia

                                                przez Karol Bocian | 19 marca, 2021

                                                W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                                10 pomysłów na: wykorzystanie stodoły lub innego dużego pomieszczenia:

                                                10 pomysłów na: wykorzystanie stodoły lub innego dużego pomieszczenia

                                                View Results

                                                Loading ... Loading ...

                                                Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                Wszystkie posty związane z kreatywnością:

                                                  Źródła

                                                  Obraz główny

                                                  10 pomysłów na: dobry poranek

                                                  przez Karol Bocian | 19 marca, 2021

                                                  W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                  Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                                  10 pomysłów na: dobry poranek:

                                                  10 pomysłów na: dobry poranek:

                                                  View Results

                                                  Loading ... Loading ...

                                                  Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                  Wszystkie posty związane z kreatywnością:

                                                    Źródła

                                                    Obraz główny

                                                    10 pomysłów na: narrację kanału medialnego (YouTube, Fb, instagram)

                                                    przez Karol Bocian | 19 marca, 2021

                                                    W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                    Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                                    10 pomysłów na: narrację kanału medialnego (YouTube, Fb, instagram)

                                                    10 pomysłów na: narrację kanału medialnego (YouTube, Fb, instagram)

                                                    View Results

                                                    Loading ... Loading ...

                                                    Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                    Wszystkie posty związane z kreatywnością:

                                                      Źródła

                                                      Obraz główny

                                                      10 pomysłów na: zwiększenie wartości kursu online

                                                      przez Karol Bocian | 19 marca, 2021

                                                      W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                      Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                                      10 pomysłów na: zwiększenie wartości kursu online:

                                                      10 pomysłów na: zwiększenie wartości kursu online

                                                      View Results

                                                      Loading ... Loading ...

                                                      Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                      Wszystkie posty związane z kreatywnością:

                                                        Źródła

                                                        Obraz główny

                                                        10 pomysłów na: chwytliwe hasło dla kursu on-line: Gantt w Excelu

                                                        przez Karol Bocian | 19 marca, 2021

                                                        W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                        Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                                        10 pomysłów na: chwytliwe hasło dla kursu on-line: Gantt w Excelu:

                                                        10 pomysłów na: chwytliwe hasło dla kursu on-line: Gantt w Excelu:

                                                        View Results

                                                        Loading ... Loading ...

                                                        Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                        Wszystkie posty związane z kreatywnością:

                                                          Źródła

                                                          Obraz główny

                                                          Myśl i bogać się. Orientacja na cel — Greg S. Reid

                                                          przez Karol Bocian | 3 lipca, 2020

                                                          Przeczytałem ostatnio kolejną książkę. W tym wpisie dzielę się informacjami, które w niej znalazłem oraz które wdrożyłem w swoim życiu. Staram się z każdej książki wdrażać minimum jedną rzecz.

                                                          Wdrożyłem:

                                                          1. Zwiększyłem nacisk na budowanie w sobie dyscypliny.
                                                          2. Szukam rozwiązań, a nie tylko zastanawiam się nad nimi.

                                                          Książkę możesz kupić tutaj:

                                                          Notatki:

                                                          Istotne zachowania i cechy zwiększające prawdopodobieństwo odniesienia sukcesu:

                                                          • Wytrwałość — nie zatrzymaj się metr od złota. Zastanów się czasem, a co jeśli, tutaj w ogóle nie ma złota? Sprawdź to!
                                                          • Dyscyplina.
                                                          • Determinacja
                                                          • Wiara w siebie.
                                                          • Posiadanie idei większej od siebie samego.
                                                          • Znalezienie pasji.
                                                          • Posiadanie wizji.
                                                          • Nie rezygnowanie z marzeń. Jeśli Twoje marzenie jest wielkie, wierzysz w nie i jest właściwe, to postaw na nie i nie przejmuj się opiniami innych.
                                                          • Podjęcie decyzji, a potem trzymanie się i walczenie w jej ramach.
                                                          • Skupianie się na dobrych rzeczach — rozwiązaniach problemów, a nie na problemach.
                                                          • Zorientowanie na cel.
                                                          • Kierowanie własnymi myślami i kreowanie rzeczywistości.

                                                          Aby otrzymać to, czego chcesz, pozwól innym otrzymać to, czego oni chcą.

                                                          Przyczyny porażki:

                                                          1. Nieumiejętność współpracy — rozwiazanie: kochaj ludzi.
                                                          2. Poddawanie się zbyt wcześnie — rozwiązanie: skup się na celu.
                                                          3. Zwlekanie — rozwiązanie: działaj od razu. Wykorzystaj okazje i uwierz w siebie.

                                                          Przepis na sukces:

                                                          1. Zapisz dokładnie cel i wzmocnij go emocjonalnie. Ustal, co da Ci osiągnięcie celu, jakie da Ci możliwości i jak je wykorzystasz. Ustal datę realizacji.
                                                          2. Zapisz dokładny plan, a potem codziennie i stanowczo go realizuj.
                                                          3. Czytaj codziennie powyższy dokument.
                                                          4. Odetnij się od negatywnych emocji i opinii.
                                                          5. Znajdź partnera produktywności oraz grupę master mind.

                                                          Zastanów się, czego się boisz. Czy boisz się zmiany, niepewności i nieznanego? Czy kurczowo trzymasz się czegoś, co powinieneś wypuścić? Może to jest powodem Twoich porażek? Przygotuj się na przeciwności — stwórz scenariusze negatywne.

                                                          Wspaniałe pomysły są następstwem:

                                                          • Potrzeby.
                                                          • Nierozwiązanego problemu.
                                                          • Prostszego sposobu na osiągnięcie czegoś.

                                                          Sposób na osiągnięcie to wytrwałość i niepoddawanie się: jeżeli jeden sposób jest zły, to trzeba przetestować kolejne 1000. Rozwiązań trzeba szukać. Ważny jest postęp, a nie doskonałość. Ci, którzy nie ryzykują, nie wygrywają zbyt wiele. Odchudzaj — czasem zamiast przyspieszyć dany kawałek kodu, lepiej jest go usunąć.

                                                          Nie bój się dzielić pomysłami z innymi. Liczy się tylko realizacja. Jak inni poznają Twój pomysł, możliwe, że Ci pomogą. Możliwe, że ktoś zna rozwiązanie Twojego problemu.

                                                          Książkę możesz kupić tutaj:

                                                          Wszystkie posty związane z książkowymi wdrożeniami:

                                                            Źródła

                                                            Obraz główny

                                                            Materiały

                                                            • Myśl i bogać się. Orientacja na cel — Greg S. Reid.

                                                            Linki oznaczone (*) są linkami afiliacyjnymi. Jeżeli uważasz, że czerpiesz korzyści z mojej pracy, to kup coś korzystając z powyższego linku. Sprawi to, że dostanę prowizję z afiliacji.

                                                            10 pomysłów na: formę kursu on-line

                                                            przez Karol Bocian | 19 marca, 2021

                                                            W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                            Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                                            10 pomysłów na: formę kursu on-line:

                                                            10 pomysłów na: formę kursu on-line:

                                                            View Results

                                                            Loading ... Loading ...

                                                            Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                            Wszystkie posty związane z kreatywnością:

                                                              Źródła

                                                              Obraz główny

                                                              10 pomysłów na: marketing kursu on-line

                                                              przez Karol Bocian | 19 marca, 2021

                                                              W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                              Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                                              10 pomysłów na: marketing kursu on-line:

                                                              10 pomysłów na: marketing kursu on-line:

                                                              View Results

                                                              Loading ... Loading ...

                                                              Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                              Wszystkie posty związane z kreatywnością:

                                                                Źródła

                                                                Obraz główny

                                                                10 pomysłów na: wakacje w Polsce

                                                                przez Karol Bocian | 19 marca, 2021

                                                                W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Zaznacz pomysł, który podoba Ci się najbardziej. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejszy pomysł!

                                                                10 pomysłów na: wakacje w Polsce:

                                                                10 pomysłów na: wakacje w Polsce:

                                                                View Results

                                                                Loading ... Loading ...

                                                                Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                                Wszystkie posty związane z kreatywnością:

                                                                  Źródła

                                                                  Obraz główny

                                                                  10 pomysłów na: oswojenie się z kamerą – jak zacząć nagrywać naturalnie filmiki:

                                                                  przez Karol Bocian | 19 marca, 2021

                                                                  W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                  Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                  10 pomysłów na: oswojenie się z kamerą – jak zacząć nagrywać naturalnie filmiki:

                                                                  10 pomysłów na: oswojenie się z kamerą - jak zacząć nagrywać naturalnie filmiki:

                                                                  View Results

                                                                  Loading ... Loading ...

                                                                  Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                  Wszystkie posty związane z kreatywnością:

                                                                    Źródła

                                                                    Obraz główny

                                                                    10 pomysłów na: poprawę skupienia

                                                                    przez Karol Bocian | 19 marca, 2021

                                                                    W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                    Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                    10 pomysłów na: poprawę skupienia:

                                                                    10 pomysłów na: poprawę skupienia:

                                                                    View Results

                                                                    Loading ... Loading ...

                                                                    Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                    Wszystkie posty związane z kreatywnością:

                                                                      Źródła

                                                                      Obraz główny

                                                                      10 pomysłów na: lepszy kod (programowanie – zasady i techniki)

                                                                      przez Karol Bocian | 19 marca, 2021

                                                                      W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                      Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                      10 pomysłów na: lepszy kod (programowanie – zasady i techniki):

                                                                      10 pomysłów na: lepszy kod (programowanie - zasady i techniki)

                                                                      View Results

                                                                      Loading ... Loading ...

                                                                      Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                      Wszystkie posty związane z kreatywnością:

                                                                        Źródła

                                                                        Obraz główny

                                                                        10 pomysłów na: randkę w czasie epidemii koronawirusa

                                                                        przez Karol Bocian | 19 marca, 2021

                                                                        W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                        Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                        10 pomysłów na: randkę w czasie epidemii koronawirusa:

                                                                        10 pomysłów na: randkę:

                                                                        View Results

                                                                        Loading ... Loading ...

                                                                        Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                        Wszystkie posty związane z kreatywnością:

                                                                          Źródła

                                                                          Obraz główny

                                                                          10 pomysłów na: muzykę do pobudzenia kreatywności

                                                                          przez Karol Bocian | 17 maja, 2022
                                                                          10 pomysłów na: muzykę do pobudzenia kreatywności - Photo by Lovefreund

                                                                          W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                          Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                          10 pomysłów na: muzykę do pobudzenia kreatywności:

                                                                          10 pomysłów na: muzykę do pobudzenia kreatywności:

                                                                          View Results

                                                                          Loading ... Loading ...

                                                                          Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                          Wszystkie posty związane z kreatywnością:

                                                                            Źródła

                                                                            Obraz główny

                                                                            10 pomysłów na: rozwój biznesu:

                                                                            przez Karol Bocian | 19 marca, 2021

                                                                            W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                            Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                            10 pomysłów na: rozwój biznesu:

                                                                            10 pomysłów na: rozwój biznesu:

                                                                            View Results

                                                                            Loading ... Loading ...

                                                                            Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                            Wszystkie posty związane z kreatywnością:

                                                                              Źródła

                                                                              Obraz główny

                                                                              10 pomysłów na: muzykę relaksującą

                                                                              przez Karol Bocian | 19 marca, 2021

                                                                              W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                              Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                              10 pomysłów na: muzykę relaksującą:

                                                                              10 pomysłów na: muzykę relaksującą:

                                                                              View Results

                                                                              Loading ... Loading ...

                                                                              Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                              Wszystkie posty związane z kreatywnością:

                                                                                Źródła

                                                                                Obraz główny

                                                                                10 pomysłów na: wspaniały odpoczynek

                                                                                przez Karol Bocian | 19 marca, 2021

                                                                                W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                                Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                                10 pomysłów na: wspaniały odpoczynek:

                                                                                10 pomysłów na: wspaniały odpoczynek:

                                                                                View Results

                                                                                Loading ... Loading ...

                                                                                Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                                Wszystkie posty związane z kreatywnością:

                                                                                  Źródła

                                                                                  Obraz główny

                                                                                  Pigułka wiedzy: ludzkie potrzeby – Spełnianie ludzkich potrzeb sposobem na dobry biznes

                                                                                  przez Karol Bocian | 1 maja, 2020

                                                                                  Zastanawiałem się ostatnio, co powinien robić dobrze prosperujący biznes. Doszedłem do tego, że powinien on: spełniać ludzkie potrzeby lub rozwiązywać jakiś problem. Zastanówmy się zatem, jakie jako ludzie i ludzkość mamy potrzeby. Ludzkie potrzeby zostały scharakteryzowane przez wiele osób. Poniżej zebrał kilka z nich.

                                                                                  Potrzeby ludzi według Maslowa:

                                                                                  1. Samorealizacji.
                                                                                  2. Szacunku i uznania.
                                                                                  3. Przynależności.
                                                                                  4. Bezpieczeństwa.
                                                                                  5. Fizjologiczne.

                                                                                  Potrzeby według Malinowskiego:

                                                                                  1. Metabolizm.
                                                                                  2. Reprodukcja.
                                                                                  3. Odpowiednie warunki fizyczne.
                                                                                  4. Bezpieczeństwo.
                                                                                  5. Ruchliwość.
                                                                                  6. Rozwój.
                                                                                  7. Zdrowie.

                                                                                  Potrzeby według Anthony Robbins’a:

                                                                                  1. Pewności i komfortu.
                                                                                  2. Niepewności i różnorodności.
                                                                                  3. Znaczenia.
                                                                                  4. Miłości i więzi.
                                                                                  5. Rozwoju i wzrostu.
                                                                                  6. Udziału i wkładu.

                                                                                  Czy Ty zastanawiasz się, jaką potrzebę starasz się spełnić? Czy możesz jakoś wykorzystać wiedzę i znajomość ludzkich potrzeb? Czy próbujesz robić to najlepiej na świecie?

                                                                                  Wszystkie posty związane z pigułkami wiedzy:

                                                                                    Źródła

                                                                                    Obraz główny

                                                                                    Materiały

                                                                                    Pigułka wiedzy: ludzkie problemy – Rozwiązywanie ludzkich problemów sposobem na dobry biznes

                                                                                    przez Karol Bocian | 1 maja, 2020

                                                                                    Zastanawiałem się ostatnio, co powinien robić dobrze prosperujący biznes. Doszedłem do tego, że powinien on: spełniać ludzkie potrzeby lub rozwiązywać jakiś problem. Zastanówmy się zatem, jakie jako ludzie i ludzkość mamy problemy.

                                                                                    Jakie mamy problemy? Wyróżniłem problematyczne obszary, które są dla mnie interesujące:

                                                                                    • Ochrona przyrody:
                                                                                      • Odnawialne źródła energii.
                                                                                      • Oszczędzanie energii.
                                                                                      • Globalne ocieplenie – cofnięcie lub przygotowanie się do niego.
                                                                                      • Zanieczyszczenie środowiska (pyły, gazy, plastik, śmieci, mikrogranulki, fale elektromagnetyczne).
                                                                                    • Ochrona zdrowia i życia:
                                                                                      • Głód.
                                                                                      • Choroby.
                                                                                      • Brak sensu życia.
                                                                                      • Bezrobocie
                                                                                      • Brak stabilności politycznej – wojny, rewolucje, zmiany ustroju, protesty, korupcja, konflikty religijne, zbrojne.
                                                                                      • Brak edukacji.
                                                                                      • Brak bezpieczeństwa.

                                                                                    Czy Ty zastanawiasz się, jaki problem starasz się rozwiązać? Czy próbujesz robić to najlepiej na świecie?

                                                                                    Wszystkie posty związane z pigułkami wiedzy:

                                                                                      Źródła

                                                                                      Obraz główny

                                                                                      Początek mini projektu: Budowa czystej architektury

                                                                                      przez Karol Bocian | 1 maja, 2020

                                                                                      Cele i ramy czasowe

                                                                                      Rozpoczynam dziś kolejny mini projekt. Codziennie (oprócz niektórych niedziel) przez najbliższy miesiąc będę poświęcał na ten projekt 1 godzinę. Jego celem jest dokształcenie się z obszaru tworzenia dobrej architektury oprogramowania na podstawie koncepcji Czystej Architektury, zwanej inaczej architekturą cebulkową (Onion Architecture) lub Posty i Adaptery.

                                                                                      Dlaczego 1 miesiąc? Dlaczego 1 godzina dziennie?

                                                                                      Słyszałem, że wystarczy przez 3 miesiące poświęcać danej tematyce 20 minut dziennie, czyli poświęcić 90 * 20 min. = 1800 minut, czyli 30 godzin, aby zostać zaawansowanym amatorem. Ja wolałem przeznaczyć po jednej godzinie w jednym miesiącu, aby rozwinąć swoje umiejętności.

                                                                                      Zadania — priorytety

                                                                                      Wypisałem zadania, które mam wykonać w ramach tego projektu oraz przydzieliłem im priorytety. Skorzystałem z metody MoSCoW (opisanej m.in. tutaj: https://kierownikprojektu.com/2016/09/05/jak-okreslic-co-jest-wazne-moscow/). Won’ty (Would have) potraktowałem jako coś, co byłoby fajnie zrobić, jeżeli wszystko inne zostanie zrobione, a zostanie mi jeszcze na to czas.

                                                                                      Musty

                                                                                      Moimi najważniejszymi zadaniami jest przerobić książkę Czysta architektura. Struktura i design oprogramowania. Prewodnik dla profesjonalistów. — Robert C. Martin oraz zrobić notatki i schematy UML.

                                                                                      Shouldy

                                                                                      W ramach tego priorytetu będę również oglądał filmy na YouTube związane z koncepcją czystej architektury.

                                                                                      Couldy

                                                                                      W ramach tego priorytetu zrobię pdfa z moimi notatkami.

                                                                                      Won’ty (Would have)

                                                                                      Nie mam zadań o tym priorytecie.

                                                                                      W skrócie

                                                                                      Mój projekt rozpisałem w niezawodnym Excelu i wygląda następująco:

                                                                                      Głównie będę skupiał się na przerabianiu książki, a w wolnych chwilach i dla orzeźwienia będę oglądał filmy i szkolenia.

                                                                                      Do usłyszenia!

                                                                                      Źródła

                                                                                      Obraz główny

                                                                                      Obrazy

                                                                                      • praca własna

                                                                                      10 pomysłów na: sposób do napisania książki

                                                                                      przez Karol Bocian | 19 marca, 2021

                                                                                      W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                                      Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                                      10 pomysłów na: sposób do napisania książki:

                                                                                      10 pomysłów na: sposób do napisania książki:

                                                                                      View Results

                                                                                      Loading ... Loading ...

                                                                                      Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                                      Wszystkie posty związane z kreatywnością:

                                                                                        Źródła

                                                                                        Obraz główny

                                                                                        Podsumowanie projektu: Nauka szybkiego czytania

                                                                                        przez Karol Bocian | 13 stycznia, 2024

                                                                                        Dzisiaj zakończyłem mini projekt. Pora zatem na podsumowanie i trochę przemyśleń.

                                                                                        Cel projektu

                                                                                        Szybciej czytać — czy cel został osiągnięty? Wydaje mi się, że tak. Podczas tego projektu przeczytałem cztery książki. Sprawdźmy jednak liczby:

                                                                                        Start projektu (słowa, zrozumienie) Obecnie (słowa, zrozumienie) Zmiana Test
                                                                                        188 317 Poprawa szybkości https://czytaj123.pl/course/test
                                                                                        166, 70% 263, 70% Poprawa szybkości https://www.superumysl.pl/neutral/95
                                                                                        242, 90% 491, 80% Poprawa szybkości http://www.edusfera.pl/wyniki.php

                                                                                        Wykonałem wszystkie zadania:

                                                                                        Trójkąt projektu

                                                                                        Projekt składa się z trzech elementów (wg teorii trójką projektu): czas, pieniądze i zakres. Omawiam je poniżej.

                                                                                        Budżet

                                                                                        Budżet projektu był 0 zł (oprócz kosztu prądu) i taki udało się zachować. Materiały, z których skorzystałem, były darmowe lub kupione przeze mnie już kiedyś.

                                                                                        Planowałem wykorzystać 25 godziny mojego czasu wolnego. Nie policzyłem, ile dokładnie czasu poświęciłem na ten projekt, szacuję, że jest to około 20 godzin + czytanie książek.

                                                                                        Czas

                                                                                        Udało mi się realizować ten projekt przez 25 dni prawie codziennie!

                                                                                        Zakres

                                                                                        Stan zadań wygląda następująco:

                                                                                        Zrobiłem wszystkie zadania!

                                                                                        Ocena

                                                                                        Jestem zadowolony z tego projektu. Widzę, że trochę szybciej czytam. Nie jest to jednak ogromna różnica. Szybkie czytania wymaga dużo ćwiczeń i zmiany podejścia. A jaka jest Wasza ocena tego projektu?

                                                                                        Najważniejsze osiągnięcia

                                                                                        Za najważniejsze osiągnięcia związane z tym projektem uważam:

                                                                                        • Czytam ze wskaźnikiem.
                                                                                        • Robię mapy myśli lub inne podsumowania przeczytanego tekstu.
                                                                                        • Ograniczyłem artykulacje.

                                                                                        Przemyślenia

                                                                                        • Trzeba poświęcić wiele czasu na praktykę. Nie było mi łatwo praktykować szybkie czytanie przez całą godzinę. Dlatego też ćwiczenia dzieliłem sobie na krótsze.
                                                                                        • Czytanie treści na komputerze jest dla mnie trudniejsze niż materiałów wydrukowanych, ponieważ nie mogę zbytnio używać wskaźnika.

                                                                                        Plany na przyszłość

                                                                                        W kolejnym mini projekcie będę uczył się lepiej programować, a dokładniej budować architekturę rozwiązania na podstawie idei czystej architektury.

                                                                                        Rozwój

                                                                                        W kolejnych miesiącach będę na przemian rozwijał się w następujących tematach:

                                                                                        • stawanie się ekspertem w obszarze IT i programowania (w ramach projektu: 4 Tygodniowy Ekspert IT),
                                                                                        • stawanie się ekspertem w obszarze zarządzania (w ramach projektu: 4 Tygodniowy Ekspert Zarządzania),
                                                                                        • stawanie się zaawansowanym amatorem w różnych obszarach (nie zawsze amatorem :)) np. szybkie czytanie, sprzedawanie, efektywne komunikowanie (w ramach projektu: 4 Tygodniowy Zaawansowany Amator).

                                                                                        Koniec

                                                                                        Projekt zakończony. Pora na głęboki oddech, chwilę wytchnienia. Jutro rozpoczynam kolejny projekt: Budowanie czystej architektury. Zapraszam do śledzenia moich poczynań!

                                                                                        Wszystkie posty związane z mini projektem: Nauka szybkiego czytania:

                                                                                        [catlist name=”projekt-nauka-szybkiego-czytania” pagination=yes orderby=date order=asc author=no numberposts=100]

                                                                                        Źródła

                                                                                        Obraz główny

                                                                                        10 pomysłów na: podatności na manipulację:

                                                                                        przez Karol Bocian | 19 marca, 2021

                                                                                        W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                                        Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                                        10 pomysłów na: podatności na manipulację:

                                                                                        10 pomysłów na: podatności na manipulację:

                                                                                        View Results

                                                                                        Loading ... Loading ...

                                                                                        Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                                        Wszystkie posty związane z kreatywnością:

                                                                                          Źródła

                                                                                          Obraz główny

                                                                                          10 pomysłów na: majówkowy weekend podczas pandemii:

                                                                                          przez Karol Bocian | 19 marca, 2021

                                                                                          W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                                          Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                                          10 pomysłów na:

                                                                                          10 pomysłów na: majówkowy weekend podczas pandemii:

                                                                                          View Results

                                                                                          Loading ... Loading ...

                                                                                          Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                                          Wszystkie posty związane z kreatywnością:

                                                                                            Źródła

                                                                                            Obraz główny

                                                                                            Mit przedsiębiorczości. Dlaczego większość Małych firm upada i jak temu zaradzić – Michael E. Gerber

                                                                                            przez Karol Bocian | 3 lipca, 2020

                                                                                            Przeczytałem ostatnio kolejną książkę. W tym wpisie dzielę się informacjami, które w niej znalazłem oraz które wdrożyłem w swoim życiu. Staram się z każdej książki wdrażać minimum jedną rzecz.

                                                                                            Wdrożyłem:

                                                                                            1. Rozpocząłem budowanie firmy na podstawie przedstawionego procesu.

                                                                                            Książkę możesz kupić tutaj:

                                                                                            Notatki:

                                                                                            Właściciel jednoosobowej działalności (małej i początkującej firmy), wchodzi w trzy role:

                                                                                            1. Specjalista techniczny — osoba wykonująca produkty.
                                                                                            2. Kierownik — osoba odpowiedzialna za zarządzanie i robienie właściwych rzeczy we właściwym czasie. Jest pragmatykiem, planistą i osoba wprowadzająca ład, porządek i procesy.
                                                                                            3. Przedsiębiorca — wizjoner, innowator, strateg i marzyciel. Tworzy wizję przyszłości.

                                                                                            W jednoosobowej działalności właściciel pełni trzy role, które walczą między sobą o czas, kiedy są sprawowane.

                                                                                            Fazy rozwijającej się firmy:

                                                                                              1. Zarodkowa — głównie działa tutaj specjalista, który tworzy nowy produkt.
                                                                                              2. Rozkwitu — właściciel szuka pomocników, którym zlecane są nielubiane prace.
                                                                                                1. Powrót do maleńkości — właściciel zmniejsza firmę, ponieważ nie potrafi opanować chaosu, który pojawił się poprzez powiększenie firmy.
                                                                                                2. Załamanie — firma upada, bo wewnętrzny chaos ją przerósł.
                                                                                                3. Walka o przetrwanie w rozkwicie — ciągłe podtrzymywanie firmy. Dzień wolnego może sprawić, że firma upadnie. Stajesz się niewolnikiem swojej firmy.

                                                                                            Niestety, jeżeli chcesz spełniać swoje marzenia, musisz wychodzić ze strefy komfortu. Większość z nas jest gotowa oddać za komfort i poczucie kontroli bardzo dużo. Większość z nas oddaje za to swoje marzenia i swoje życie. Czy Ty też jesteś gotów stracić swoje życie na rzecz wygodnego życia? Chcesz być dobry, czy wielki? Chcesz być dumny z siebie, czy chcesz czuć, że nic nie osiągnąłeś? Pragnienie komfortu sprawia, że jesteśmy tchórzami. Nie spełnisz marzeń i nie zmienisz świata, jeżeli nie zaczniesz od siebie. Musisz zacząć inaczej żyć, myśleć i pracować. Musisz zacząć robić to dzisiaj i już nigdy nie przestać. I musisz zacząć zmieniać świat od siebie. Nie ma innej drogi.

                                                                                            Traktuj swoją firmę jak produkt. Zacznij pracować nad swoją firmą, a nie w swojej firmie. Potraktuj swoją firmę jak maszynkę przynoszącą pieniądze. Stwórz franczyzę, którą będziesz mógł sprzedać innym (ale nie musisz tego robić). Stwórz firmę, które działa jak szwajcarski zegarek. Nazywa się to rewolucją przekręć-kluczyk. To koncepcja, w której możesz dać innym przepis na świetny przepis, jak restauracje McDonald — zbuduj taki budynek, smaż hamburgery w taki sposób. Skorzystaj z tych zasad:

                                                                                            1. Model biznesowy zapewnia klientom, pracowników, dostawcom i pożyczkodawcom wartość, która przekracza ich oczekiwania.
                                                                                            2. Model obsługiwany jest przez ludzi o najniższych możliwych kwalifikacjach.
                                                                                            3. Model egzekwuje nienaganny porządek.
                                                                                            4. Cała praca modelu jest udokumentowana w procedurach operacyjnych.
                                                                                            5. Model zapewnia przewidywalność i powtarzalny proces obsługi klienta.
                                                                                            6. Model wprowadza ujednolicone kodów, barw, ubioru, sprzętów i pomieszczeń.

                                                                                            Proces rozwoju biznesu składa się z trzech kroków:

                                                                                            1. Wprowadzanie innowacji — rób eksperymenty i szukaj sposobów lepszego spełniania oczekiwań klientów i generowania większych zysków.
                                                                                            2. Kwantyfikowanie — mierzenie wszystkiego. Dane pozwalają podejmować decyzje oparte na danych i faktach, a nie na przekonaniach.
                                                                                            3. Koordynowanie rozwoju — firma musi rozwijać się w zarządzany sposób.

                                                                                            Program rozwoju firmy:

                                                                                            1. Wyznacz cel podstawowy.
                                                                                            2. Wyznacz cel strategiczny.
                                                                                            3. Zbuduj strategię organizacyjną.
                                                                                            4. Zbuduj strategię zarządzania.
                                                                                            5. Zbuduj strategię zasobów ludzkich.
                                                                                            6. Zbuduj strategię marketingową.
                                                                                            7. Zbuduj strategię systemową.

                                                                                            Książkę możesz kupić tutaj:

                                                                                            Wszystkie posty związane z książkowymi wdrożeniami:

                                                                                              Źródła

                                                                                              Obraz główny

                                                                                              Materiały

                                                                                              • Mit przedsiębiorczości. Dlaczego większość Małych firm upada i jak temu zaradzić — Michael E. Gerber

                                                                                              Linki oznaczone (*) są linkami afiliacyjnymi. Jeżeli uważasz, że czerpiesz korzyści z mojej pracy, to kup coś korzystając z powyższego linku. Sprawi to, że dostanę prowizję z afiliacji.

                                                                                              10 pomysłów na manipulację:

                                                                                              przez Karol Bocian | 19 marca, 2021

                                                                                              W ramach rozwijania moich zdolności kreatywnego myślenia przygotowałem listę 10 pomysłów.

                                                                                              Tworzę je z myślą wykorzystania w swoim życiu. Pomóż mi znaleźć ten najlepszy! Jeżeli któryś pomysł spodoba Ci się, to zaznacz go. Dowiesz się dzięki temu, jak głosowali inni. A ja dowiem się, które moje pomysły bardziej Wam się podobają i z większym prawdopodobieństwem będę właśnie je wdrażał. Pomożesz mi? Zaznacz najfajniejsze pomysły!

                                                                                              10 pomysłów na manipulację:

                                                                                              10 pomysłów na manipulację:

                                                                                              View Results

                                                                                              Loading ... Loading ...

                                                                                              Zaznacz najfajniejsze pomysły! Dodaj też swoje!

                                                                                              Wszystkie posty związane z kreatywnością:

                                                                                                Źródła

                                                                                                Obraz główny