Jeden prosty sposób, aby świat poprawić: nie pożyczaj z przyszłości

przez Karol Bocian | 10 lipca, 2020

W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

Dzisiaj tą jedną rzeczą jest: nie pożyczanie.

Żyj z tego, co masz, na co zapracowałeś i zasłużyłeś. Nie żyj na kredyt. Nie zaciągaj kredytu w banku i u przyjaciela. Nie pożyczaj pieniędzy i nie zaciagaj kredytu zaufania. Nie będziesz wtedy niczyim niewolnikiem. Walczysz o wolność? Jest dla Ciebie ważna? Chcesz, aby wszyscy byli wolni? Kredyt to forma niewolnictwa. Naprawdę chcesz być niewolnikiem?

Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

Wszystkie posty związane z kreatywnością:

    Źródła

    Obraz główny

    Jeden prosty sposób, aby świat poprawić: zmniejsz swoje potrzeby

    przez Karol Bocian | 9 lipca, 2020

    W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

    Dzisiaj tą jedną rzeczą jest: zmniejszenie swoich potrzeb.

    Nie musisz tak gnać i tak ciężko pracować. Nie musisz mieć tego wszystkiego i nie musisz osiągnąć wszystkiego. Możesz być szczęśliwy mając kilka najważniejszych rzeczy i osiągając kilka najważniejszych celów. Pogoń za wszystkim nie doprowadzi Cię do szczęścia, a jeśli Ty nie będziesz szczęśliwy, lecz będziesz zgorzkniały, zabiegany i ciągle rywalizujący, to świat dookoła Ciebie też po chwili taki stanie się. Czy to będzie lepszy świat, gdy będziesz w każdym miejscu jak w środku stada wilków, którzy między sobą walczą o władzę i jedzenie?

    Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

    Wszystkie posty związane z kreatywnością:

      Źródła

      Obraz główny

      Jeden prosty sposób, aby świat poprawić: praktykuj wdzięczność

      przez Karol Bocian | 8 lipca, 2020

      W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

      Dzisiaj tą jedną rzeczą jest: praktykuj wdzięczność.

      Przystań czasem. Zatrzymaj się, spójrz w niebo, rojrzyj się po swoim mieszkaniu, miejscu pracy, po świecie. Uśmiechnij się i wyraź wdzięczność, że to wszystko masz. Znajdź fajne rzeczy: ładną pogodę, ożywczy deszcz, wygodny mebel, życie bez wojny, kochaną osobę. W głębi serca podziękuj za to. Uraduj swój umysł myślą, że to jest i cieszysz się z tego!

      Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

      Wszystkie posty związane z kreatywnością:

        Źródła

        Obraz główny

        Prosta droga do sukcesu — Rafał Motriuk

        przez Karol Bocian | 7 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. Traktować rzeczy straszne (pomijam rzeczy mogące zabić, np. niebezpieczny pies, mam na myśli np. przemówienia publiczne) jako ciekawostki, próby sprawdzenia siebie i tej rzeczy.

        Notatki:

        Wyznacz cel lub kierunek, potem stwórz plan, a następnie wytrwale realizuj go.

        Postaw na wartości: rzetelność, solidność i odpowiedzialność.

        Traktuj porażki jako możliwości nauki. Wyciągaj z nich wnioski i przekuwaj w sukces (nie uzależniaj się od porażek).

        Wyznaczaj małe i osiągalne cele, aby cały czas iść trochę do przodu (np. gdy skaczesz wzwyż 180 cm, to kolejny cel to 181 cm).

        Rób tylko to, co jest słuszne.

        Zadawaj sobie pytanie: Po co?

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

          Źródła

          Obraz główny

          Materiały

          • Prosta droga do sukcesu — Rafał Motriuk

          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.

          Jeden prosty sposób, aby świat poprawić: nie zazdrość

          przez Karol Bocian | 7 lipca, 2020

          W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

          Dzisiaj tą jedną rzeczą jest: nie zazdrościć.

          Smutek ogarnia Cię, gdy lepiej ktoś obok Ciebie ma. Gdy jakaś rzecz w jego rękach jest. Złościsz się i wkurzasz. Myślisz sobie: czemu jestem gorszy? On na to nie zasłużył. Świat w Twej głowie staje się paskudny, Ty zaś okrutny. Spróbuj przestać i znaleźć dobre rzeczy w tej sytuacji. Spróbuj wzbudzić w sobie radość. A złą zazdrość przekuj w coś pozytywnego, np. motywację, aby osiągnąć to samo. Zatrudnij swoje złe emocje do ciężkiej pracy na rzecz czegoś dobrego!

          Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

          Wszystkie posty związane z kreatywnością:

            Źródła

            Obraz główny

            Jeden prosty sposób, aby świat poprawić: pozbądź się destruktywnego nałogu

            przez Karol Bocian | 6 lipca, 2020

            W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

            Dzisiaj tą jedną rzeczą jest: pozbądź się destruktywnego nałogu.

            Wstajesz i zapalasz pierwszego papierosa. Za jakiś czas kolejnego. Nie potrafisz bez niego żyć. Tracisz na nie pieniądze, czas i swoje życie. Kolejny kieliszek wlewasz w siebie. Alkohol również niszczy Twe ciało i zmienia spojrzenie na świat. Otumania Twój umysł. A tych używek i złych nałogów jest więcej. Niszczą Twój świat i Twoich znajomych. A po co?

            Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

            Wszystkie posty związane z kreatywnością:

              Źródła

              Obraz główny

              Jeden prosty sposób, aby świat poprawić: wspomagaj regularnie organizację charytatywną

              przez Karol Bocian | 3 lipca, 2020

              W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

              Dzisiaj tą jedną rzeczą jest: zacznij wspomagać regularnie organizację charytatywną.

              Raz  na rok, podczas zbiórki Wielkiej Orkiestry Świątecznej Pomocy, to może trochę za mało. Dobroczynność i pomoc powinna w naszych głowach i działaniach pojawiać się znacznie częściej. Postaraj się regularnie (np. przy planowaniu budżetu) przekazać jakiś datek na cele charytatywne. Postaraj się przy planowaniu miesiąca lub kwartału poświęcić swój czas na pomoc innym. Niech Twoją zapłatą za to będzie ich uśmiech 🙂

              I nie zapomnij, że możesz zapisać 1% swojego podatku z PITa jakiejś charytatywnej organizacji.

              Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

              Wszystkie posty związane z kreatywnością:

                Źródła

                Obraz główny

                Jeden prosty sposób, aby świat poprawić: miej postawę ucznia, a nie wszystkowiedzącego

                przez Karol Bocian | 2 lipca, 2020

                W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                Dzisiaj tą jedną rzeczą jest: postawa ucznia, a nie wszystkowiedzącego.

                Dyskusje prowadzisz, a po chwili kłócisz się. Niczego nie nauczyłeś się, tylko swój pogląd wyostrzyłeś. Twój oponent również to samo wyniósł z tej dyskusji. Postaraj się następnym razem zrozumieć drugą ideę, tamtą perspektywę. Nauczysz się, może znajdziesz w niej dobre rzeczy, może wykorzystasz do rozbudowania swojej idei. Może znajdziesz w niej luki i wspólnie je załatacie. A może nawet zgodzisz się ze swoim rozmówcą, gdy dobrze zrozumiesz jego stronę. Spróbuj, co Ci szkodzi?

                Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                Wszystkie posty związane z kreatywnością:

                  Źródła

                  Obraz główny

                  Jeden prosty sposób, aby świat poprawić: oddaj niepotrzebne rzeczy

                  przez Karol Bocian | 1 lipca, 2020

                  W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                  Dzisiaj tą jedną rzeczą jest: oddaj niepotrzebne rzeczy.

                  W szafie pełno ich masz: ubrać i szpargałów. Walają się w kartonach i kurzą na półkach. Od lat nie dotknąłeś ich. Zbędne Ci są. Zajmuję tylko miejsce, nic więcej. Zbierz je i oddaj komuś. Może komuś przydadzą się?

                  Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                  Wszystkie posty związane z kreatywnością:

                    Źródła

                    Obraz główny

                    Jeden prosty sposób, aby świat poprawić: przeczytaj książkę o komunikacji międzyludzkiej

                    przez Karol Bocian | 30 czerwca, 2020

                    W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                    Dzisiaj tą jedną rzeczą jest: przeczytaj książkę o komunikacji międzyludzkiej.

                    Kolejna kłótnia, nieporozumienie, smutek w jego oczach. Kolejny raz niezadowolenie spotyka Was. Jest smutno albo jest złość. Wszystko to po krótkiej rozmiowie. Brak akceptacji? Brak porozumienia? Brak zrozumienia? Brak dotarcia? Poświęć trochę czasu na poprawie swoich zdolności komunikacyjnych. Popracuj trochę nad Twoją postawą wobec innych ludzi. Nie wszystko musi być po Twojemu. To nie Ciebie zawsze należy przepraszać. Ty też czasem możesz. Ty też możesz, a nawet powinieneś trochę się zmienić. Poczytaj o komunikacji międzyludzkiej. Poducz się trochę! 🙂

                    Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                    Wszystkie posty związane z kreatywnością:

                      Źródła

                      Obraz główny

                      Jeden prosty sposób, aby świat poprawić: posprzątaj

                      przez Karol Bocian | 29 czerwca, 2020

                      W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                      Dzisiaj tą jedną rzeczą jest: posprzątaj.

                      Brudne, zniszczone miejsce sprawia, że inni chetniej tam brudzą i niszczą. Czyste i piękne środowisko sprawia, że ludzie bardziej o takie dbają. Rozejrzyj się po swoim środowisku: domu, jego otoczeniu, ulicy i posprzątaj ją trochę. Jeżeli widzisz kogoś, kto śmieci, sprzątnij po nim, poproś go, aby tego nie robił i opowiedz mu, jak bardzo zależy Ci na pięknym świecie i że w czystym miejscu ludzie są szczęśliwsi.

                      Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                      Wszystkie posty związane z kreatywnością:

                        Źródła

                        Obraz główny

                        Jeden prosty sposób, aby świat poprawić: kupuj rzeczy w słoikach, a nie w plastikowych opakowaniach

                        przez Karol Bocian | 26 czerwca, 2020

                        W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                        Dzisiaj tą jedną rzeczą jest: kupowanie produktów ze względu na wpływ ich opakowań na środowisko.

                        Stłuczone szkło i zgnieciona puszka, liść bananowca, papier – opakowania te łatwo przetworzyć jest. Nie wpływają tak źle na przyrodę. Plastikowa butelka i fiolowa torebka nieprzyjazna jest środowisku. W sklepie postaraj się wybrąc musztardę w szklanym słoiku zamiast w plastikowym pudełku. Czy więcej takich rzeczy jest?

                        Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                        Wszystkie posty związane z kreatywnością:

                          Źródła

                          Obraz główny

                          Jeden prosty sposób, aby świat poprawić: nie hejtuj.

                          przez Karol Bocian | 25 czerwca, 2020

                          W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                          Dzisiaj tą jedną rzeczą jest: nie hejtuj.

                          Czasem jedno słowo może kogoś zranić i zatrzymać jego chęć do działania. Mimo iż, hejt w więszości dzisiaj śmieszy, są ludzie , których dotyka mocno. Są oni sparaliżowanie przed działaniem z powodu możliwości wystąpienia hejtu. Przestają działać, gdy ten wystąpi. Stop hejtowi i mowie nienawiści!

                          Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                          Wszystkie posty związane z kreatywnością:

                            Źródła

                            Obraz główny

                            Jeden prosty sposób, aby świat poprawić: pomóż osobie z pracy!

                            przez Karol Bocian | 24 czerwca, 2020

                            W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                            Dzisiaj tą jedną rzeczą jest: pomoc osobie w pracy.

                            Spędzasz tam czasu wiele. Męczysz się i wysilasz. Zdaje Ci się, że walczysz z całym światem. Inni też tak mają: pracują w zespołach, a jakby walczyli sami. Wesprzyj ich. Niech poczują, że razem rozwijacie przedsiębiorstwo, że razem walczycie z całym światem. Wstać i pomóż koledze lub koleżance wygrać Waszą wspólną bitwę!

                            Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                            Wszystkie posty związane z kreatywnością:

                              Źródła

                              Obraz główny

                              Twoja wolność finansowa. Poprzez Marketing przez sieć — Andre Blanchard

                              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. Mniej się bać, bo zazwyczaj nic nie robiąc, ryzykuję zmarnowanie mojego życia. Chcę więcej ryzykować i wykorzystywać okazje!
                              2. Znalezienie drugiego źródła dochodu.
                              3. Odpowiedziałem sobie na pytanie: Czy wolę pracować ciężko 2-5 lat na swój rachunek, czy 40 lat na czyjś? Oraz pomocnicze: Czy wolę pracować ciężko 40 lat na swój rachunek, czy 40 lat na czyjś?

                              Notatki:

                              Trzeba być ambitnym, kreatywnym, pracowitym, pozytywnie nastawionym, otwartym, mieć wizję przyszłości oraz naprawdę ciężko pracować na sukces. Należy szkolić pracowników. Należy inwestować swój czas wyłącznie w osoby poważne, ambitne i super zaangażowane. Używaj sam produktów swojej firmy, musisz je super poznać, dostosować do siebie. Wszyscy pracownicy muszą korzystać sami z siebie z produktów firmy, w której pracują. Jeżeli nie robią tego, mają jakiś powód. Ten powód to sposób na rozwój produktu. Sami powinniście być swoim najlepszym klientem.

                              Nie należy bać się krytyki, warto zbudować zespół i wytrwale budować biznes. Sukces wymaga zaangażowania się na 100% oraz dużo cierpliwości.

                              Ludzie nie podejmują decyzji na podstawie logiki, lecz przede wszystkim na uczuciach. Należy używać emocjonalnych argumentów.

                              Idealne przedsiębiorstwo

                              1. Działa i sprzedaje na całym świecie.
                              2. Produkty mają stały popyt.
                              3. Firma nie wymaga wielu pracowników.
                              4. Produkty odpowiadają stałym i codziennym potrzebom. Są jak najwyższej jakości oraz jak najtańsze.
                              5. Firma ma małe koszty stałe.
                              6. Produkty są oryginalne, trudne do skopiowania, ich zrobienie wymaga wiedzy eksperckiej.
                              7. Firma nie wymaga zamrożenie dużego kapitału na długi czas.
                              8. Firma obraca gotówką i nie ma kredytów.
                              9. Firma jest niezależne od przepisów państwowych lub innych.
                              10. Można łatwo przenieść firmę w inne miejsce (na świecie).
                              11. Firma angażuje w pełni intelektualnie (a nawet emocjonalnie) pracowników i klientów.

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

                              [catlist name=”ksiazkowe-wdrozenia” pagination=yes orderby=date order=asc author=no numberposts=100]

                              Źródła

                              Obraz główny

                              Materiały

                              • Twoja wolność finansowa. Poprzez Marketing przez sieć — Andre Blanchard

                              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.

                              Jeden prosty sposób, aby świat poprawić: porozmawiaj!

                              przez Karol Bocian | 23 czerwca, 2020

                              W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                              Dzisiaj tą jedną rzeczą jest: rozmawianie.

                              Każdego dnia mijam ich. Żyją obok mnie. Znajomi i nieznajomi, przyjaciele i rodzina otaczają mnie. Jakże jednak inaczej przebiega życie, gdy mijamy się w pośpiechu. Jakże inaczej wygląda dzień, gdy rozmawiamy ze sobą. Dzisiaj rzecz do wykonania prosta jest: porozmawiaj! Z kimkolwiek, a najlepiej na żywo.

                              Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                              Wszystkie posty związane z kreatywnością:

                                Źródła

                                Obraz główny

                                Jeden prosty sposób, aby świat poprawić: słuchaj

                                przez Karol Bocian | 22 czerwca, 2020

                                W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                                Dzisiaj tą jedną rzeczą jest: słuchanie.

                                Wracasz z pracy z ciekawą historią. Czasem masz jakiś problem do opowiedzenia. Chcesz się zwierzyć, opowiedzięć, swą historią podzielić. Trafiasz czasem na osobę. Właśnie jej chcesz to powiedzieć. I zaczynasz, mówisz trochę, lecz po chwili zauważasz, brak zainteresowania, wątpliwości, niezrozumienie. A Ty nie chcesz dyskutować. Dzisiaj tylko chcesz powiedzieć, być wysłuchanym i zrozumianym. Postaraj się wysłuchaj kogoś dzisiaj.

                                Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                                Wszystkie posty związane z kreatywnością:

                                  Źródła

                                  Obraz główny

                                  Jeden prosty sposób, aby świat poprawić: potańcz!

                                  przez Karol Bocian | 19 czerwca, 2020

                                  W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                                  Dzisiaj tą jedną rzeczą jest: taniec.

                                  Kiedy wstajesz i ruszasz się w rytm miłej muzyki. Gdy jest ktoś obok Ciebie i razem tańczycie. Wasze ciała ruszają sie, a usta uśmiechają, zyskujecie energię i radość. Nie myślicie o problemach i agresji. Chcecie dzielić się miłości i radością. Tę chęć przekujecie zaraz w czyny. To zmieni świat na lepsze!

                                  Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                                  Wszystkie posty związane z kreatywnością:

                                    Źródła

                                    Obraz główny

                                    Jeden prosty sposób, aby świat poprawić: uśmiechaj się

                                    przez Karol Bocian | 18 czerwca, 2020

                                    W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                                    Dzisiaj tą jedną rzeczą jest: uśmiech 🙂

                                    Siedzi ponury, smutny jakiś. Patrzę na niego podczas śniadania, podczas obiadu i kolacji. Ten smutek przechodzi na mnie. Zastanawiam się, co zrobiłem źle, dlaczego nie cieszy się z życia. Smutno mi jest. Kolejnego dnia uśmiecha się! Widzę radość w jego oczach. A nic w sumie nie zmieniło się… Świat jest piękniejszy, gdy uśmiechnął się. Gdy Ty uśmiechasz się!

                                    Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                                    Wszystkie posty związane z kreatywnością:

                                      Źródła

                                      Obraz główny

                                      Jeden prosty sposób, aby świat poprawić: nie narzekaj!

                                      przez Karol Bocian | 17 czerwca, 2020

                                      W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                                      Dzisiaj tą jedną rzeczą jest: nie narzekaj.

                                      Słyszysz często tak potok smutnych słów. Narzekania, pretensje i zrzędzenie. Robią to ludzie wokół Ciebie, media oraz sam to robisz. Mówisz to na głos i również tak myślisz. Wszystko odbiera kolor naszemu światu, odbiera energię ludziom. Postaraj się dzisiaj, przez jedną godzinę, na nic nie narzekać, nawet w myślach. Wyłap momenty, gdy chcesz narzekać, ugryź się w język i powiedz / pomyśl coś pozytywnego. Tylko przez jedną godzinę!

                                      Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja się właśnie za to zabieram:D

                                      Wszystkie posty związane z kreatywnością:

                                        Źródła

                                        Obraz główny

                                        Początek mini projektu: Zostań magiem zarządzania projektami

                                        przez Karol Bocian | 16 czerwca, 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 zarządzania projektami.

                                        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ę Zarządzanie projektami dla początkujących. Jak zmienić wyzwanie w proste zadanie — Marcin Żmigrodzki oraz zrobić pdf-a z notatkami.

                                        Shouldy

                                        W ramach tego priorytetu będę publikował posty.

                                        Couldy

                                        W ramach tego priorytetu dodam treści, których będę się uczył, do Anki oraz wykorzystać wiedzę w praktyce.

                                        Won’ty (Would have)

                                        Nagram film z przebiegu projektu.

                                        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, tworzeniu notatek i praktykowaniu wiedzy (jeszcze nie wiem jak).

                                        Do usłyszenia!

                                        Wszystkie posty związane z mini projektem: Zostań magiem zarządzania projektami:

                                          Źródła

                                          Obraz główny

                                          Obrazy

                                          • praca własna

                                          Jeden prosty sposób, aby świat poprawić: pochwała!

                                          przez Karol Bocian | 16 czerwca, 2020

                                          W ramach rozwijania moich zdolności kreatywnego myślenia piszę codziennie jedną rzecz, której wykonanie, moim zdaniem, może poprawić świat.

                                          Dzisiaj tą jedną rzeczą jest: pochwała.

                                          Od komptutera odsuwam się. Przestaje na monitor patrzeć. Rozglądam się. Zastanawiam się: kto siedzi obok mnie, kto pojawia się często w moim życiu, kto pracuje ze mną. I myślę też, kto z tych osób świetny jest w tym co robi, sumienny, pracowity, albo jeszcze w inny sposób pozytywny. Czy mówię to im? Czy wiedzą to oni, że cenię ich za ich zdolności lub działania? Nie wiem i nie zamierzam o to pytać. Dzisiaj im to powiem. I postaram się mówić to częściej. Jesteś świetny w tym i w tym. Imponujesz mi tym. Dziękuję, że to robisz! I widzę uśmiech na ich twarzasz i czuję radość w moim sercu. Świat uśmiecha się 🙂

                                          Co o tym myślisz? Jeżeli uważasz, że to dobry sposób, to też to zrób 🙂 Ja już zrobiłem 😀

                                          Wszystkie posty związane z kreatywnością:

                                            Źródła

                                            Obraz główny

                                            Moje notatki z nauki szybkiego czytania

                                            przez Karol Bocian | 13 stycznia, 2024

                                            Hej, właśnie skończyłem mój mini projekt: Budowanie czystej architektury. Uczyłem się podczas niego zasad tworzenia dobrego oprogramowania. Zebrałem wszystkie moje notatki w jedno miejsce. Możesz je otrzymać zapisując się na mój newsletter 🙂

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

                                              Źródła

                                              Obraz główny

                                              Podsumowanie projektu: Budowanie czystej architektury

                                              przez Karol Bocian | 13 stycznia, 2024

                                              Podsumowanie projektu: Budowanie czystej architektury

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

                                              Cel projektu

                                              Przerobiłem książkę Czysta Architektura Roberta C. Martina, zrobiłem notatki oraz obejrzałem trochę wykładów o tej architekturze. W najbliższym czasie wykorzystam tę wiedzę w praktyce (w pracy zawodowej). Projekt trochę rozjechał się w czasie — był wymagający intelektualnie oraz przekładanie go na wieczór też nie jest dobrym pomysłem.

                                              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ć 26 godzin mojego czasu wolnego. Nie policzyłem, ile dokładnie czasu poświęciłem na ten projekt, szacuję, że jest to około 30 godzin.

                                              Czas

                                              Nie udało mi się realizować tego projektu codziennie. Przez długi czas zbierałem materiały, a dopiero później je przerabiałem. Wiele razy przekładałem ten projekt na piątek lub sobotę (to zły pomysł)

                                              Zakres

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

                                              Zrobiłem wszystkie zadania!

                                              Ocena

                                              Jestem zadowolony z tego projektu. Mam dobre notatki, lepsze pojęcie o tej architekturze. Muszę jeszcze kilka razy przerobić mojego e-booka oraz dodać najważniejsze elementy do Anki, aby pamiętać je na zawsze 🙂

                                              Najważniejsze osiągnięcia

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

                                              • e-book
                                              • Zrozumienie czystej architektury.

                                              Przemyślenia

                                              • Muszę codziennie, regularnie i rano pchać taki projekt do przodu.
                                              • Muszę dodawać do takich projektów coś przyjemniejszego — sama ciężka praca zabija entuzjazm i pożera ogromnie dużo energii.

                                              Plany na przyszłość

                                              W kolejnym mini projekcie będę uczył się lepiej zarządzać projektami 🙂

                                              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: Budowa czystej architektury:

                                                Źródła

                                                Obraz główny

                                                10 pomysłów na: nową formę ćwiczeń 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: nową formę ćwiczeń kreatywności:

                                                10 pomysłów na: nową formę ćwiczeń 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: newsletter

                                                  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: newsletter:

                                                  10 pomysłów na: newsletter

                                                  View Results

                                                  Loading ... Loading ...

                                                  Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                  Wszystkie posty związane z kreatywnością:

                                                    Źródła

                                                    Obraz główny

                                                    Kreowanie Globalnej Marki. Magia Harry’ego Pottera — Stephen Brown

                                                    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. Spróbować zwracać większą uwagę na marketing podczas moich prac.

                                                    Notatki:

                                                    Strategia marketingowa (ATOZD):

                                                    • A — autor — ciekawa historia autora.
                                                    • T — treść — nowe, lecz jednak trochę znajome treści.
                                                    • O — okładka — grafiki przykuwające uwagę.
                                                    • Z — zainteresowanie — pokazywanie zainteresowania produktem, mechanizmy: odliczanie, tajemnice, wpadki, robienie hałasu, przekazywanie podpowiedzi o losach bohaterów. Pokazywanie statystyk i dużych liczb: dzisiaj kupiło już milion osób.
                                                    • D — dostępność — można kupić produkt wszędzie, ale nie zawsze — ograniczone zasoby. Można zapisać się na listę oczekujących.

                                                    Kreując produkt, dobrze jest opowiadać o nim historię, dodawać trochę tajemnicy i sekretów oraz zaskakiwać odbiorcę.

                                                    Przykłady ciekawej formy literackiej w ulotkach reklamowych i ofertach pracy:

                                                    • Wydaje Wam się, że chcielibyście pracować w dziale Kontaktów z Mugolami?
                                                    • Czy masz w sobie to Coś, co jest potrzebne do Szkolenia Troli na Strażników?
                                                    • Czujesz, że nie dotrzymujesz kroku rozwojowi współczesnej magii? Zdarza ci się usprawiedliwiać, że nie wyszło ci najprostsze zaklęcie? Wykpiono twoje bezskuteczne wymachiwanie różdżką? WMIGUROK to zupełnie nowy, szybki, łatwy i absolutnie niezawodny sposób na poznanie współczesnej magii. Setki czarownic i czarodziejów skorzystało z dobrodziejstw tej nowej metody!

                                                    12 etapów budowania struktury filmu:

                                                    1. Zwykły świat.
                                                    2. Zapowiedź przygód.
                                                    3. Odmowa.
                                                    4. Spotkanie z mentorem.
                                                    5. Przekroczenie pierwszego progu.
                                                    6. Próby, sojusze, wrogowie.
                                                    7. Zbliżenie się do ukrytej jaskini.
                                                    8. Ciężka próba.
                                                    9. Nagroda.
                                                    10. Droga do domu.
                                                    11. Wskrzeszenie.
                                                    12. Powrót z eliksirem.

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

                                                      Źródła

                                                      Obraz główny

                                                      Materiały

                                                      • Kreowanie Globalnej Marki. Magia Harry’ego Pottera — Stephen Brown

                                                      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: ruszenie z miejsca

                                                      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: ruszenie z miejsca:

                                                      10 pomysłów na: ruszenie z miejsca:

                                                      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: spędzenie długiego weekendu

                                                        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: spędzenie długiego weekendu

                                                        10 pomysłów na: spędzenie długiego weekendu

                                                        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: zarabianie w internecie

                                                          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: zarabianie w internecie:

                                                          10 pomysłów na: zarabianie w internecie:

                                                          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: notatnik

                                                            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: notatnik

                                                            10 pomysłów na: notatnik

                                                            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: miły 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: miły poranek

                                                              10 pomysłów na: miły poranek:

                                                              View Results

                                                              Loading ... Loading ...

                                                              Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                              Wszystkie posty związane z kreatywnością:

                                                                Źródła

                                                                Obraz główny

                                                                Budowanie Czystej architektury

                                                                przez Karol Bocian | 4 czerwca, 2020
                                                                • Budowanie Czystej architektury

                                                                  Architekturę można budować oraz rozwijać w następujący sposób:

                                                                  1. Zdefiniuj wszystkich aktorów systemu oraz przypadków użycia (zgodnie z Zasadą Pojedynczej Odpowiedzialności aktor jest głównym źródłem zmiany)
                                                                  2. Rozdziel system ze względu na aktorów oraz zmiany, które mogą powodować. Podziel go tak, aby zmiany wprowadzane ze względu na jednego aktora, nie wpływały na innego aktora.
                                                                  3. Połącz komponenty na podstawie zasady zależności: zależności muszą być skierowane w stronę komponentów o wyższym poziomie.
                                                                  4. Użyj kompilatora do pilnowania zasad architektury: zrób testy konwencji, etc. Wykorzystaj modyfikatory dostępu i mechanizm hermetyzacji. Rozważ podejście opakowania według komponentów — jest wtedy mniej klas publicznych oraz większa jest hermetyzacja.
                                                                  5. Umieść w procesie rozwoju oprogramowania takie wydarzenia: przegląd kodu, rozmowy o architekturze, przegląd architektury, rozmowy o incydentach naruszenia przyjętych zasad architektonicznych.

                                                                  Przykład — sklep internetowy

                                                                  Na podstawie: Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów — Robert C. Martin. — s. 300 — Rysunek 33.2. — Wstępna architektura komponentów

                                                                  Powyższy diagram przedstawia architekturę sklepu internetowego.

                                                                  Oznaczenia:

                                                                  • Podwójne linie to granice architektoniczne.
                                                                  • Prostokąty to komponenty.
                                                                  • Strzałki z białymi grotami oznaczają relację: dziedziczy / implementuje.
                                                                  • Strzałki z czarnymi grotami oznaczają relację: używa.

                                                                  Komponenty:

                                                                  • Kontrolery otrzymują dane wejściowe.
                                                                  • Interaktory przekazują sterowanie.
                                                                  • Prezentery formatują dane.
                                                                  • Widoki wyświetlają dane.
                                                                  • Gateway’a — łączą się z zewnętrznymi systemami (baza danych, płatności).

                                                                  Zasady:

                                                                  • Architektura podzielona jest ze względu na aktorów (np. Admin)
                                                                  • Przepływ sterowania jest od prawej do lewej.
                                                                  • Wszystkie strzałki skierowane są zgodnie z zasadą zależności: w stronę komponentów o wyższym poziomie.
                                                                  • Wszystkie strzałki z białymi grotami (relacja: dziedziczy / implementuje) skierowane są przeciwnie do przepływu zależności. Wszystkie strzałki z czarnymi grotami (relacja: używa) skierowane są zgodnie z przepływem sterowania. Przepływ zależności jest w stronę komponentów o wyższym poziomie. Zapewnia to zgodność z zasadą otwarte-zamknięte i zabezpiecza komponenty wysokiego poziomu przed zmianą komponentów niskopoziomowych.

                                                                  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.

                                                                  Czysta architektura

                                                                  przez Karol Bocian | 1 lipca, 2021

                                                                  Czysta architektura

                                                                  Czysta architektura jest bardzo podobna do innych architektur: Architektury Heksagonalnej, Architektury Portów i Adapterów, DCI (opracowanej przez Jamesa Colliena i Trygve’a Reenskaug’a) oraz BCE (opracowaną przez Ivara Jacobsena).

                                                                  Powyższe architektury mają ten sam cel. Jest nim oddzielenie od siebie różnych zadań. Osiągają to w ten sam sposób: dzielą oprogramowanie na warstwy i wyróżniają: warstwę biznesową, interfejs użytkownika i interfejs systemowy. Różnią się ona między sobą tylko szczegółami. Wszystkie one mają wspólne następujące charakterystyki:

                                                                  • Niezależność od frameworków — są one szczegółami implementacyjnymi i traktowane są jak narzędzia.
                                                                  • Łatwo testowalne — logika biznesowa jest oddzielona od trudno testowalnych elementów (baza danych, interfejs użytkownika), więc łatwo jest ją testować.
                                                                  • Niezależne od ulotnych elementów — interfejs użytkownika, baza danych i inne często zmieniające się elementy są oddzielone od logiki biznesowej.
                                                                  • Niezależne od elementów zewnętrznych — logika biznesowa jest niezależna i oddzielona od interfejsów łączących aplikację z zewnętrznymi elementami.

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

                                                                  Czysta architektura składa się z okręgów, które tworzą następujące warstwy, zaczynając od środka (najwyższego poziomu):

                                                                  • Encje — logika biznesowa — najważniejsze reguły biznesowe (obiekty z metodami i danymi, struktury danych, funkcje).
                                                                  • Przypadki użycia — wykorzystanie encji przez aplikacje — aplikacyjne reguły biznesowe.
                                                                  • Adaptery interfejsów — połączenie przypadków użycia z interfejsami systemu i dostosowywanie danych dla obu sąsiednich warstw.
                                                                  • Frameworki i sterowniki — najbardziej ulotne elementy: interfejs użytkownika, baza danych, zewnętrzne elementy, urządzenia, sieć www, frameworki, biblioteki.

                                                                  Zasada zależności

                                                                  Główną zasadą tej architektury jest zasada zależności: zależności muszą wskazywać w kierunku zasad o wyższym poziomie, czyli do wnętrza architektury (środkowy okręg ma najwyższy poziom). Granice okręgów stworzone są tak, że elementy wewnątrz danego okręgu nie wiedzą nic o tym, co jest na zewnątrz ich, np. nazwy, obiekty, dane występujące w zewnętrznych okręgach nie występują w wewnętrznych okręgach.

                                                                  Wzorzec Skromny obiekt = moduł trudny do testowania + łatwy do testowania

                                                                  Skromny obiekt jest wzorcem ułatwiającym wykonywanie testów jednostkowych i oddzielanie obszarów trudnych do przetestowania (np. interfejs użytkownika) od obszarów łatwych. Wzorzec robi to poprzez podzielenie kodu na moduły: skromny — zawiera widoki — ma trudne do przetestowania (łatwe operacje, np. przekazanie napisu) i łatwe do przetestowania — zawiera prezentery (sama logika).

                                                                  Kod obiektów skromnych powinien być maksymalnie prosty: przekazywać dane i sterowanie. Nie powinien przetwarzać danych (modeli widoku), a jedynie wyświetlać to, co dostanie od prezentera. Wydzielenie trudnego kodu (odpowiadającego za przyjmowanie danych i formatowanie danych) do prezentera umożliwia łatwe przetestowanie tych funkcji.

                                                                  Przykład:

                                                                  Na ekranie ma zostać wyświetlona na czerwono ujemna wartość salda konta.

                                                                  Prezenter przygotowuje odpowiednie dane: wartość salda konta, symbol waluty, kolor napisu. Widok w jak najprostszy sposób wykorzystuje te dane do wykonania swojego zadania. Przekazywany jest również napis wyświetlany na przycisku obok salda konta oraz informacja (true/false) o tym, czy przycisk jest aktywny. Widok nie ma żadnej logiki z tym związanej.

                                                                  Porty zewnętrzne i wewnętrzne

                                                                  Porty to publiczne interfejsy. Można wyróżnić:

                                                                  • Porty wewnętrzne — implementowane na zewnątrz komponentu i używane wewnątrz. Na przykład Przypadek użycia potrzebuje zapisać gdzieś dane. Używa on interfejsu zapisu danych, który zaimplementowany jest w zewnętrznym komponencie (implementującym ten interfejs)
                                                                  • Porty zewnętrzne — implementowane są wewnątrz komponentu i wykorzystywane poza nim. Na przykład Prezenter używa interfejsu zdefiniowanego w Przypadkach użycia oraz implementacji, która też tam się znajduje.

                                                                  Można to zauważyć w Przykład zastosowania OCP: https://karolbocian.pl/blog/2020/05/28/zasady-solid-w-kontekscie-architektury/

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

                                                                    Źródła

                                                                    Obraz główny

                                                                    Obrazy

                                                                    Materiały

                                                                    10 pomysłów na: poprawę 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: poprawę kreatywności:

                                                                    10 pomysłów na: poprawę 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: ciekawą prezentację

                                                                      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: ciekawą prezentację:

                                                                      10 pomysłów na: ciekawą prezentację:

                                                                      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: naukę tańca:

                                                                        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: naukę tańca:

                                                                        10 pomysłów na: naukę tańca:

                                                                        View Results

                                                                        Loading ... Loading ...

                                                                        Zaznacz najfajniejszy pomysł! Dodaj też swoje!

                                                                        Wszystkie posty związane z kreatywnością:

                                                                          Źródła

                                                                          Obraz główny

                                                                          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.