To ja kiedy po 17 latach zawodowego programowania w PHP, pisaniu integracji Stripe, Airtable i wydaniu książki o jednym z frameworków dowiaduję się, że odpadłem w rekrutacji na senior deva, bo senior powinien z pamięci wiedzieć czy array_reverse zwraca czy modyfikuje tablicę.
(Odpowiedź, że takie rzeczy mi podpowiada IDE, bo operacje na tablicach to w PHP śmietnik jeśli chodzi o konsekwencje to żadna odpowiedź, mam to wiedzieć z głowy)
(Senior mnie odpytujący dowiedział się ode mnie, że istnieją inne rodzaje API niż REST).
Odpowiedź, że takie rzeczy mi podpowiada IDE[...] to żadna odpowiedź, mam to wiedzieć z głowy
@RobertCalifornia parę lat temu przy rekrutacji też dostałem jakieś z d⁎⁎y pytanie i odpowiedziałem podobnie. W odpowiedzi usłyszałem że "A CO JEŚLI BĘDĘ PRACOWAŁ Z INNYM IDE?!" (chwilę wcześniej mi powiedzieli w czym pracują, tam ten skrót działał xD)
Mi raz udało się przejść do ostatniego etapu rekrutacji i podczas rozmowy z CEO dostałem pytanie "zegar wskazuje 14:29, ile wynosi kąt między wskazówkami zegara". Byłem gotowy na rozmowe o biznesie, przyszłości firmy i o pracy w moim zespole a ten mi wyskakuje z łamigłówkami do rozwiązania w głowie.
To nie tak że nie byłbym w stanie tego wyliczyć, po prostu jakoś mnie to tak rozczarowało że odpuściłem sobie walkę o to stanowisko
@RobertCalifornia W PHP 8 jest trochę lepiej z funkcjami od arrayów, miałem przez to trochę braking changes przy upgradzie ale suma sumarum jest lepiej
Chciałem się pochwalić że bluecollars.eu na hasło bluecollars zabrało wikipedii pierwsze miejsce ( ͡° ͜ʖ ͡°) #chwalesie #pracaspawaczamnieprzeistacza #php #pracbaza #rekrutacja
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?
@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.
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
Pamiętam stare czasy, czasy programowania w #php i nauka #bazydanych . Było wtedy (dalej jest) takie narzędzie jak PHP My Admin (PMA). Dla postgresa był PHP Pg Admin, niestety nie tak popularny. Funkcjonalnie był to bardzo daleki i kulawy brat PMA, Nie mniej PostgreSQL nadrabiał to świetnym klientem "okienkowym", który zwał się pgAdmin. Z wersji 3.x korzystałem długie lata w wielu projektach między 2003 a 2008 rokiem.
Przyszło mi teraz odpalić pgAdmin 4. Jedyne co mi przychodzi do głowy to ten obrazek..
Zmiana interfejsu w #phpstorm (i pewnie we wszystkich produktach #jetbrains ) tak by wyglądały prawie jak #visualstudiocode to była najlepsza rzecz, jaką ta firma zrobiła, przynajmniej z mojego punktu widzenia.
Jako, że przy okazji tej zmiany wywaliło w kosmos wszystkie moje skrupulatnie ustawiane paski, przyciski i ich położenia (a przy okazji przestała działać spora część innych nie związanych z wyglądem konfiguracji) pomyślałem sobie:
> jeśli coś działa i wygląda jak darmowy #vscode to po co mam płacić co roku grube hajsy za licencję?
I tak oto, skoro i tak musiałem wszystko konfigurować od początku, to zamiast konfigurować storma, spróbowałem VS Code. Chwilę to zajęło, ale pluginami i konfiguracjami odwzorowałem sobie 95% tego co miałem w PhpStorm.
Super decyzja JetBrains Oszczędziliście mi mnóstwo kasy
@Anteczek Doświadczenie mi mówi, że takie zabiegi to często jedynie zyskiwanie na czasie. Na razie można wrócić, ale za wersję albo dwie mogą stwierdzić, że nie mają jednak zamiaru kilku wyglądów jednocześnie wpierać :v
@RobertCalifornia Jak nie lubię Microsoftu to akurat VS Code to jest mistrzostwo. Kiedyś byłem bardzo niechętny i korzystałem z Atoma, ale kiedy Atom praktycznie stał w miejscu i liczył na rozbudowę przez community to zespół pracujący nad VS Code dodawał coraz to nowsze rzeczy a jednocześnie community rosło szybciej niż te Atoma i powstawało coraz więcej rozszerzeń i serio w tym momencie to zaczynam uważać, że VS Code zaraz stanie się edytorem kompletnym którego można używać do większości popularnych języków programowania prawie tak samo wygodnie jak dedykowane IDE.
P.S. tak jak już ktoś wspomniał wyżej, polecam VS Codium czyli wersje VS Code bez telemetrii od MS bo mimo, że odwalili kawał dobrej roboty to nie dajcie się im szpiegować xD
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
@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.
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!
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
@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ę.
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
@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.
@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.
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
Wzorców projektowych jest bardzo dużo, nawet jeżeli jakoś je pogrupujemy. A pogrupowałem już we wcześniejszym wpisie, którego temat będę kontynuował tutaj. Zapraszam więc na drugą część wpisu o wzorcach projektowych przyjaznych zasadzie OCP
Tagi: #programowanie, #naukaprogramowania oraz #programista15k i #php
Jednym z dziedzictw świata programowania są wzorce projektowe. Jest to meta-język, którym mogą posługiwać się programiści niezależnie od tego, w jakiej technologii, czy języku piszą. Bardzo podobnie jest z zasadami SOLID. Dziś połączymy te dwie rzeczy w pierwszym, z dwuczęściowej serii, wpisie.
"Dekorator", "Kompozyt" i "Adapter" nie ma za wiele wspólnego z zasadą "Open-closed principle". Dlaczego? Te wzorce można zastosować dla każdej klasy/funkcji i jest to niezależne od tego czy ktoś trzymał się zasad SOLID tworząc klasę.