Zdjęcie w tle
MarcinKuklinski

MarcinKuklinski

Kompan
  • 25wpisy
  • 15komentarzy

Dzieeeeeń dobry! ( ͡° ͜ʖ ͡°)


Nie odzywałem się długo, bo zacząłem projekt i obiecałem sobie, że odezwę się dopiero, kiedy skończę. A ten dzień jest właśnie dziś


Dziś nieco inaczej niż zwykle, nie będzie o #programowanie . Nie będzie o #cpp , nie będzie o #php . Dziś będzie o #czytajzhejto  i #ksiazki , bo... napisałem książkę, i to nie bylejakąś tam programistyczną, ale #fantasy  (。◕‿‿◕。)


Ale do rzeczy...


https://naneene.com - tu możecie popatrzeć, pobrać darmowe fragmenty, i jeśli macie ochotę - kuuuuupić


KSIĘŻYC W PEŁNI


Poznajcie Naneene - blondwłosą, jedenastoletnią dziewczynkę, mieszkającą wśród walecznych sióstr Świetlistego Zakonu, ściganą przez nekromantów - podłych czarnoksiężników trzech krain służących najczystszemu złu.


Niczego nieświadoma Naneene żyje wraz z siostrami, dopóki do zakonu nie stawia się mroczny posłaniec, żądający wydania im tego cud-dziecka, o którym opowiada anielska przepowiednia wypowiedziana przed dziesięciu laty.


Czy Marah - Matka Świetlistego Zakonu - zaryzykuje wojnę z siłami najczystszego zła, by chronić małą Naneene?

2732fc61-39a9-41ec-848d-2f858356b1cd
WujekAlien

@MarcinKuklinski będzie ciężko, bo za 59zł to chodzą książki z okładkową ceną 89-99zł.

Mimo tego, trzymam kciuki, bo jesteś kilkanaście kroków dalej niż ja w planach na napisanie i wydanie własnej książki A ja zawsze doceniam ludzi, którym się chciało bardziej niż innym i się nie poddali.

Powodzenia

MarcinKuklinski

Dzięki za miłe słowo, @WujekAlien. Było kilka osób, które pomogło mi w niepoddaniu się. Zawsze trzeba mieć takich ludzi koło siebie, zwłaszcza, jeśli robi się coś pierwszy raz i długo to trwa. U mnie to było 1.5 roku

WujekAlien

@MarcinKuklinski to tym bardziej, lepiej żeby się udało Daj znać za jakiś czas, jak proces wydania ksiązki u Ciebie wyglądał

MarcinKuklinski

@WujekAlien myślę, że po pierwszych drukach będę mógł cośkolwiek powiedzieć, choć nie chciałbym, by wtedy taki wpis przez wielu był odebrany, że "napisał jedną książkę, i od razu ekspertem się czuje". Ale jest to dobry temat imo

Zaloguj się aby komentować

Symfony Messenger i klasy Transportów


https://gildia-developerow.pl/symfony-messenger-i-klasy-transportow/ 


Symfony Messenger jest świetny. Zgodzicie się? Instalujecie jedną paczkę i możecie wysłać wiadomość na kolejkę… oh wait. No jednak nie. Chociaż nie jest to tak trywialne jak w Doctrine, to jest to dosyć proste, o czym będzie dzisiejszy post.


Tagi: #programowanie, #naukaprogramowania i #programista15k w #php, #symfony i #technologia

Zaloguj się aby komentować

Doctrine i problem Lazy Loadingu


https://gildia-developerow.pl/doctrine-i-problem-lazy-loadingu/


Większość świeżych programistów, którzy pytają tych starszych o porady, słyszą: „Ucz się Symfony, Doctrine i pisz testy”. A młodzi przyjmują to za świętość i uczą się. Znają podstawowe pojęcia, po czym wchodzą na projekt, napiszą endpoint dla dużego zestawu danych i… całość wykonuje się w 13 sekund. Ta historia, choć nieco przeze mnie ufarbowana, wydarzyła się całkiem niedawno. I z chęcią podzielę się z Wami kilkoma szczegółami oraz wnioskami z tej sprawy


Tagi: #programowanie, #naukaprogramowania i #programista15k w #php, #symfony i #doctrine. Trochę #performance

Zaloguj się aby komentować

Metody modelowania domeny w Doctrine 2


https://gildia-developerow.pl/metody-modelowania-domeny-w-doctrine-2/ (。◕‿‿◕。)


Warstwa domeny w Domain Driven Design jest prawdziwą wisienką na torcie. Powinniśmy dbać o nią, aby zawsze była czysta. Dziś przedstawię Wam kilka heurystyk, których stosowanie spowoduje, że Wasza domena nabierze barw ʕ•ᴥ•ʔ


Tagi: #programowanie, #naukaprogramowania, #programista15k w #php, #symfony, #doctrine i #ddd. No i skoro #ddd to i #architektura oprogramowania ( ͡° ͜ʖ ͡° )つ──☆*:・゚

vinclav

Piszesz bardzo ładnie, ale te reklamiarstwo mnie odstrasza. Polecam Red book.


Jesteś na czarnej. To nie jest to miejsce, i to tu robisz z tego miejsca wykop 7.0


Proszę, przestań.

Zaloguj się aby komentować

Koncept migracji bazodanowych i Doctrine 2


https://gildia-developerow.pl/koncept-migracji-bazodanowych-i-doctrine-2/ :)


Podczas tworzenia aplikacji biznesowych, nie sposób nie poruszyć tematu aktualizacji bazy danych – elementu, z którym spotykamy się w codziennej pracy. Niezależnie od typu środowiska, zawsze trafimy na temat migracji bazy danych. Na szczęście Doctrine posiada specjalnie do tego wyspecjalizowany mechanizm, którego najważniejsze elementy poruszymy w tym wpisie.


Tagi: #programowanie, #naukaprogramowania oraz #programista15k w #php, #symfony, #doctrine

Zaloguj się aby komentować

W poszukiwaniu agregatów w Domain Driven Design


https://gildia-developerow.pl/w-poszukiwaniu-agregatow-w-domain-driven-design/


Agregaty to perła pośród całego Domain Driven Design. Święty Graal wielu, którzy migrują na DDD. Niby każdy wie o ich istnieniu, jednakże znaleźć projekt z ich wykorzystaniem jest niełatwo. Przejdźmy przez ten bardzo ciekawy element taktycznego DDD.


Tagi: #programowanie, #naukaprogramowania i #programista15k w #php, #ddd i ukochana #architektura

epsilon_eridani

@MarcinKuklinski z DDD najtrudniej jest przekonać manedżment i zespół, że się opłaca

MarcinKuklinski

Trochę nie rozumiem argumentu z managementem @epsilon_eridani. To raczej zespół (liderzy techniczni, CTO) powinni dobierać sposób tworzenia oprogramowania.

epsilon_eridani

@MarcinKuklinski w małej jednostce racja, gdy jesteś wyizolowany i interesują Cie tylko kontrakty, w większym departamentach - przynajmniej z mojego doświadczenia ludzie są niechętni schodzenia z głównej linii + masz już ustalone narzędzia/frameworki. Teraz np pracuje w banku więc to już w ogóle padaka żeby cokolwiek przewalczyć.

dotevo

A co to za DDD bez agregatów? czasem ciężko je dobrze ustalić, ale aby nie było ich w projekcie to jeszcze nie słyszałem

Zaloguj się aby komentować

Dzień dobry środowy poranku!


Dziś mamy nowy wpis na blogu Nieco długi, ale moim zdaniem bardzo potrzebny. Jest o słowie kluczowym final i dlaczego osobiście go nie lubię


Klasy finalne, PHPSpec i spam interfejsów

https://gildia-developerow.pl/klasy-finalne-phpspec-i-spam-interfejsow/ 


Podejście typu „rób tak zawsze i koniec” jest moim zdaniem słabe. Tym bardziej, jeżeli nie padają żadne argumenty. Bo jak pojawiają się argumenty, to jest również dyskusja. Tak jest w kwestii podejścia „klasa powinna być finalna by default”, a ja przychodzę z argumentami, dlaczego nie.


Tagi: #programowanie, #naukaprogramowania i #programista15k w #php, #symfony, #oop i oczywiście nie może zabraknąć #architektura (bo interfejsy)

Zaloguj się aby komentować

Komunikacja dwóch mikroserwisów z Symfony Messengerem

https://gildia-developerow.pl/komunikacja-dwoch-mikroserwisow-z-symfony-messengerem/


W poprzednim wpisie zajmowaliśmy się tematem przetwarzania asynchronicznego wiadomości za pomocą komponentu Symfony Messenger. Czy wiecie, że Messenger służy również do komunikacji dwóch serwisów ze sobą? Nie? No to zaraz się dowiecie


Tagi: #programowanie, #naukaprogramowania i #programista15k w #programowanie, #symfony, #architektura, #mikroserwisy

Zaloguj się aby komentować

Witam wszystkich w ten śnieżny wtoreczek!  Przychodzę do Was z nowym wpisem o Domain Driven Design 

Dziś będą riki-tiki - polityki! 


Wstrzykiwanie polityki do agregatu w Domain Driven Design

https://gildia-developerow.pl/wstrzykiwanie-polityki-do-agregatu-w-domain-driven-design/


Kiedyś, podczas sesji Event Stormingu, w której brałem udział kilka lat temu, co chwilę padało zdanie „A to wyłapie jakaś polityka”. Następnie naklejaliśmy fioletową karteczkę. Wtedy nie było dla mnie jasne, czym są polityki w kontekście Stormingu oraz DDD. Dzisiaj już to wiem i chcę tą wiedzą podzielić się z Wami


Tagi: #programowanie, #naukaprogramowania i #programista15k w #php, #ddd no i #architektura oprogramowania

acgp

Zaraz ktoś napisze że nie otagowałeś jako polityka xD

bojowonastawionaowca

@acgp nieprawda, nie jestem aż tak okropny

Zaloguj się aby komentować

Dzień dobry, zachęcam do prasóweczki na weekendzik


Jak pozbyć się setterów z encji?

https://gildia-developerow.pl/jak-pozbyc-sie-setterow-z-encji/


Wszyscy dookoła mówią, że encje powinny zawierać wyłącznie logikę biznesową, a nie settery. Niby wszyscy to wiedzą, ale każdy i tak robi te settery. Ja wiem, dlaczego tak się dzieje i z chęcią Wam o tym opowiem


Tagi: #programowanie, #naukaprogramowania i #programista15k w #symfony, #doctrine i #ddd

Zaloguj się aby komentować

Dzieeeeń dobrego wtorku wszystkim! :)


Mamy nowy wpis na blogu!   Tym razem wyjaśniam, jaki koncept stoi za CSRF tokenem i tłumaczę, dlaczego jest on taki ważny 


Po co jest ten token CSRF?

https://gildia-developerow.pl/po-co-jest-ten-token-csrf/ 


Wchodząc w świat Symfony niektóre rzeczy robimy z automatu, bo tak jest w dokumentacji. Nie zawsze zdajemy sobie sprawę z tego, o co tak na prawdę chodzi z pewnymi detalami. Jednym z takich detali jest token CSRF, który na pierwszy rzut oka wydaje się uciążliwy. Ale jest ważny, o czym będę pisał dzisiaj.


Tagi: #programowanie, #naukaprogramowania i #programista15k w #php#symfony i trochę #security

Zaloguj się aby komentować

Dzieeeeń dobry w nowym roku! 

Dziś chyba wszyscy wracamy do pracy, więc wracam z publikacją posta!  No dobra, opublikowałem w święta, ale chwalę się dziś 


Zatem miłej lektury! 


Dodatkowe porady na temat performance aplikacji internetowej

https://gildia-developerow.pl/dodatkowe-porady-na-temat-performance-aplikacji-internetowej/


Utrzymanie dobrego performance aplikacji jest prawdziwą sztuką. Jako developerzy najczęściej poświęcamy swoją uwagę na to, w jaki sposób piszemy kod. I to jest okej, chociaż na tym przyśpieszanie aplikacji się nie kończy. Stąd właśnie mam kilka porad związanych z dobrym performance, które niekoniecznie skupiają się na tym, jaki kod piszemy


Tagi: #programowanie, #naukaprogramowania i #programowanie w #php , trochę #symfony

wombatDaiquiri

@MarcinKuklinski wydaje mi się, że dużo osób (w tym ja) może grzmocic content w ciemno bez czytania. Ale akurat trafiłeś w mój temat.


Poza tym że artykuł jest w dużej mierze o PHP z którym nie mam styczności, nie wiem po co to ukrywać w tytule xD


Zatrudnienie DevOpsa to dodatkowy (niemały) koszt [...] Stąd właśnie przychodzi potrzeba obsługiwania serwerów przez nas, backendowców.


Na tym polega DevOps. To o czym mówisz to "zatrudnienie opsa". DevOps == backendowiec robiący dwa etaty (tzn. ogarniający sobie deployment od 0). Gratulacje nowego tytułu.


Przykładowo, jeżeli mamy produkt, który składa się w wariantów, to nie musimy pchać pełnych wariantów w pole variants. Wystarczy wysłać odniesienie do wariantów – identyfikator (listę identyfikatorów), bądź jak to robi API Platform – zwrócić IRI zasobów.


Albo można nie tworzyć nowego standardu i użyć graphql.

Zaloguj się aby komentować

Dzieeeeń dobry wszystkim! Dziś Wigilia Bożego Narodzenia, dlatego chciałbym życzyć wszystkim użytkownikom Hejto dużo zdrowia, radości i samych zielonych testów!


A gdybyście gdzieś tam sobie chcieli coś poczytać, to łapcie wpisa!


Symfony Messenger asynchronicznie

https://gildia-developerow.pl/symfony-messenger-asynchronicznie/


To, że Symfony Messenger jest niezastąpiony, wszyscy wiedzą. Za to, jak go skonfigurować – niekoniecznie. Z tego powodu właśnie powstał dzisiejszy post. Skonfigurujmy razem Messengera, aby przeprocesował komendę asynchronicznie!


Tagi: #programowanie, #naukaprogramowania, #programista15k w #php oraz #symfony

kaczkadziwaczka

@MarcinKuklinski Jakie to jest straszne gówno.... Masz kolejkę i jak nie pobierze to message zamiast zrzucić na kolejkę na koniec jak AMQP mówi to nie. PHP musi być upośledzony i tworzy sobie kolejkę delay, bo tak. Potem miliony tych kolejek wiszą, ani tym zarządzać ani nic. Chcesz rabbita oskryptować to nie, bo puścisz i usunie te wszystkie delay kolejki i stracisz dane. No cudowna technologia prosto od PHP. Nie wiem czy w ciągu mojej całej, trwającej kilkanaście lat kariery zawodowej widziałem bardziej wkurzającą w założeniach bibliotekę.

Zaloguj się aby komentować

Dzieeeeń dobry! Zrobiłem sobie kilka dni przerwy od statków i naskrobałem nowy wpis Bo gdzieś tam przemyślenia mnie wzięły odnośnie tego, jak piszemy aplikacje, i dlaczego one niekoniecznie szybkie są No więc łapcie!


**Kilka porad na dobry performance aplikacji napisanej w Symfony**


https://gildia-developerow.pl/kilka-porad-na-dobry-performance-aplikacji-napisanej-w-symfony/


Jako programiści lubimy dyskutować nad tym, czy nasz kod wygląda dobrze. Zastanawiamy się, czy da radę go re-używać oraz zrozumieć. Niestety, nie podejmujemy zbyt wiele dyskusji na temat tego, czy aplikacje, które tworzymy mają odpowiedni performance. Zatem dziś jak podejrzewacie, będzie właśnie o performance.


Tagi: #programowanie, #naukaprogramowania oraz #programista15k w #php, #symfony oraz #doctrine. No i #performance

Zaloguj się aby komentować

Dzieeeeń dobry wszystkim! to znowu ja


Dziś zostawiam Was na weekendzik z wpisem o #ciekawostki dotyczące #php PSR 


PHP-FIG i standardy PSR

https://gildia-developerow.pl/php-fig-i-standardy-psr/ 


Jak wygląda kod-spaghetti, wiemy wszyscy. Jest on tworzony bardzo często przez programistów, którzy swoją naukę zakończyli wraz z nauką języka programowania. Próbują oni odkrywać koło na nowo, osiągając coraz to nowsze pokłady nieporządku i niezrozumienia. Dla wszystkich tych, którzy właśnie przeczytali coś o sobie, jest właśnie ten wpis.


Tagi: #programowanie, #naukaprogramowania i #programista15k w #symfony. Nawet o #laravel coś tam jest

MarcinKuklinski

@sierzant_armii_12_malp i tak i nie. Doświadczony programista moim zdaniem często stosuje zasadę dobrego harcerza i sprząta więcej, niż sam nabrudził. Nie tłumacząc się biznesowi. Bo koniec końców on pracuje przy tym kodzie. To trochę tak, jakby budowlaniec miał kłaść wylewkę bez wcześniejszego oczyszczenia podłoża. Bo biznes mu powiedział, że on chce wylewkę. Że nie chce sprzątania.


Ale to wszystko też zależy od tego, co stoi za słowem "doświadczony programista". Bo to może być ktoś, kto klepie dziesięć lat pietnastotysięczniki, a może to być osoba, która zna wzorce architektoniczne, zna ich wady i podejmuje decyzje roztropnie. Jeden doświadczony programista klepie kodziki tylko do nowych ficzerów, bo biznes tak kazał, a drugi doświadczony programista planuje mikro-refactoring z taska na task, aby długu ubywało.

sierzant_armii_12_malp

@MarcinKuklinski Nie ma „i tak i nie” - albo tak, albo nie. Micro-refactoringiem wszystkiego nie poprawisz, a każdy nietrywialny refactoring to dodatkowe ryzyko regresji.

Biznesowi trzeba wytłumaczyć, że refactoring jest potrzebny, chociażby pokazując analogię do tego, co on robi - ale jeśli trafi się manager na tyle głupi, że tego nie pojmie, to „naś klijent naś pannnnn”. Dostaniesz raz czy drugi ochrzan za regresję, to zaczniesz inaczej pojmować świat.

Zaloguj się aby komentować

Dobra architektura z CQRS


https://gildia-developerow.pl/dobra-architektura-z-cqrs/


Chyba każdy, kto zaczynał pracować na dowolnym frameworku MVC, popełniał ten sam błąd: znaczną część logiki zamieszczał wewnątrz akcji kontrolera. Efektem tego były pliki kontrolerów o dużej ilości linijek. W dzisiejszym wpisie rozważymy wzorzec, dzięki któremu zadbamy nieco o nasz kod tak, aby duże kontrolery do nas więcej nie wróciły. Mowa oczywiście o wzorcu CQRS.


Tagi: #programowanie, #naukaprogramowania i #programista15k o #php, #symfony

lokurva

Przy asynchronicznej obsłudze commandów proponuje zwracać status 202

Zaloguj się aby komentować

Następna