{"componentChunkName":"component---src-templates-standard-tag-js","path":"/tags/wordpress/","result":{"pageContext":{"page":{"id":"cGFnZToxMTA=","slug":"tag","title":"Tag","content":null,"databaseId":110,"featuredImage":null,"seo":{"focuskw":"","title":"Tag - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},"tag":{"slug":"wordpress","name":"wordpress","count":1},"products":[],"posts":[{"id":"cG9zdDo0NjU=","slug":"bedac-programista-stawiaj-sobie-tylko-ambitne-cele-rozwojowe","title":"Będąc programistą stawiaj sobie TYLKO ambitne cele rozwojowe","date":"2020-08-12T15:59:19","databaseId":465,"content":"\n<p>TL;DR 😉</p>\n\n\n\n<h3>Podobno programista uczy się najlepiej jak wrzuca się go na głęboką wodę i sprawdza czy wypłynie. Tak byłem uczony w swojej pierwszej firmie &#8211; masz i rób!</h3>\n\n\n\n<p>I w ten sposób bardzo, bardzo dawno temu postawiłem pierwszego WordPressa dla firmy. Bez znajomości php, mysqla, wiedzy serwerowej. I przy pomocy internetów</p>\n\n\n\n<p>Teraz, po tylu latach nie jestem fanem tej metody &#8211; <strong>wrzucania na głęboką wodę</strong> &#8211; ponieważ w ten sposób, ktoś uczy się jak coś wykonać, ale często kosztem standardów lub jakości</p>\n\n\n\n<p>Dlatego nauczony doświadczeniem stworzyłem Zbiory zadań Gladiatorów Javascriptu, aby każdy kto chce się w miarę szybko rozwijać, mógł tam znaleźć problemy na swoim poziomie, z którymi może się zmierzyć i będą one dla niego ambitne oraz rozwojowe</p>\n\n\n\n<p>Tutaj znajdziesz link, aby poczytać więcej:</p>\n\n\n\n<p><a href=\"https://gladiators-of-javascript.com/shop/categories/zbiory-zadan/\">https://gladiators-of-javascript.com/shop/categories/zbiory-zadan/</a></p>\n\n\n\n<p>A teraz opowiem o tym jaki cel ja sobie postawiłem ostatnio jako programista 😀</p>\n\n\n\n<h3>Jak fixować Gatsbiego na produkcji?</h3>\n\n\n\n<p>Niby się nie da, bo produkt Gatsbiego to statyczna strona, więc można niby fixować htmle i cssy, ale przy przebudowaniu jest problem, bo fixy znikają 🙂</p>\n\n\n\n<p>Z uwagi na to, że pracuję z WordPressem uznałem, że fajnie byłoby mieć w adminie edytor Gatsbiego i kodu React 🙂 ale nie taki drewniany, tylko coś jak VSCode. wydaje się trudne do zrobienia ? otóż nie 😀 </p>\n\n\n\n<p>Zacząłem tworzyć &#8222;wtyczkę do WordPressa&#8221;, którą roboczo nazwałem Edytor Gatsbiego Live. Założyłem sobie, że chciałbym mieć IDE oraz podgląd live zmian</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"648\" height=\"688\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image.png\" alt=\"\" class=\"wp-image-467\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image.png 648w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-283x300.png 283w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-600x637.png 600w\" sizes=\"(max-width: 648px) 100vw, 648px\" /></figure>\n\n\n\n<h3>Problem numer 1 &#8211; znaleźć dobre, webowe IDE</h3>\n\n\n\n<p>Po krótkim researchu i odnalezieniu obrazu dockera theia IDE, miałem iframe z IDE z połączeniem do admina <img src=\"https://a.slack-edge.com/production-standard-emoji-assets/10.2/google-medium/1f604.png\" alt=\":smile:\"> finalnie zrobiłem tak, aby IDE odpalało się w innym okienku. Co zaskakujące dla mnie theia IDE to po prostu VSCode w łebie 🙂 </p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"681\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-1-1024x681.png\" alt=\"\" class=\"wp-image-469\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-1-1024x681.png 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-1-300x200.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-1-768x511.png 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-1-600x399.png 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-1.png 1040w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" /></figure>\n\n\n\n<h3>Drugim problemem, który musiałem rozwiązać to jak zrobić Live Reloading Gatsbiego</h3>\n\n\n\n<p>Czyli kiedy zmienię cokolwiek i zapiszę w webowym IDE. To okazało się też mało skomplikowane, bo wystarczyło zbudować prosty obraz dockera z Gatsbym w docker-compose</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"551\" height=\"648\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-2.png\" alt=\"\" class=\"wp-image-470\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-2.png 551w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-2-255x300.png 255w\" sizes=\"(max-width: 551px) 100vw, 551px\" /></figure>\n\n\n\n<p>Po odpaleniu instancji Linuxa na AWS i przypisaniu do niej Elastic IP, w 5 min miałem odpalonego develop Gatsbiego na porcie 8000</p>\n\n\n\n<p>Trzecim problemem, z którym musiałem się zmierzyć było:</p>\n\n\n\n<h3>Jak dostarczyć kod projektu Gatsbiego do IDE, tak aby zmiana i zapisanie w IDE powodowało reload strony?</h3>\n\n\n\n<p>To akurat było bardzo proste, bo <strong>docker-compose</strong> ma <strong>volumes</strong>, więc wystarczyło spiąć wolumen <strong>app</strong> z apką Gatsbiego do IDE, w miejsce <strong>/home/project</strong>:</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"425\" height=\"274\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-3.png\" alt=\"\" class=\"wp-image-473\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-3.png 425w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-3-300x193.png 300w\" sizes=\"(max-width: 425px) 100vw, 425px\" /></figure>\n\n\n\n<p>Dzięki czemu w IDE znalazły pliki, które były podpięte do serwera developerskiego Gatsbiego serwowane z kontenera <strong>app</strong></p>\n\n\n\n<h3>I problem &#8222;Jak fixować Gatsbiego na produkcji?&#8221; prawie został rozwiązany!</h3>\n\n\n\n<p>Z poziomu IDE możemy zrobić pusha z fixem do repo i jedyne co zostało do zrobienia to przebudowanie strony produkcyjnej &#8211; czyli w tym wypadku:</p>\n\n\n\n<p><a href=\"https://gladiators-of-javascript.com/\">https://gladiators-of-javascript.com/</a></p>\n\n\n\n<p>Do tego mamy już specjalną wtyczkę, którą kiedyś sobie zrobiliśmy &#8211; nazwaliśmy ją Rebuilder i z tyłu niej jest mały mikroserwis, który odpowiada za budowanie apki na podstawie ostatniego commita:</p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"541\" src=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-4-1024x541.png\" alt=\"\" class=\"wp-image-474\" srcset=\"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-4-1024x541.png 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-4-300x159.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-4-768x406.png 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-4-600x317.png 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/image-4.png 1287w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" /></figure>\n\n\n\n<p>Po kliknięciu w &#8222;Przebuduj stronę główną&#8221; z repo są zaciągane ostatnie pliki, Gatsby jest budowany i przerzucany na odpowiednią część FTP w sposób niezauważalny dla użytkownika</p>\n\n\n\n<h3>I voila &#8211; problem rozwiązany!</h3>\n\n\n\n<p>Mam nadzieję, że miło się czytało i zainteresowałem Cię technologią Gatsbiego, AWS, dockerem oraz myśleniem jak rozwiązać problem 🙂 </p>\n\n\n\n<p>Jeśli uważasz, że to co robię jest wartościowe, będzie mi niezmiernie miło jeśli postawisz mi kawę 🙂<br><a href=\"https://gladiators-of-javascript.com/shop/products/postaw-mocna-kawe-tylko-dla-programistow/\">https://gladiators-of-javascript.com/shop/products/postaw-mocna-kawe-tylko-dla-programistow/</a></p>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":"","sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/tim-gouw-1K9T5YiZ2WU-unsplash.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/tim-gouw-1K9T5YiZ2WU-unsplash-300x201.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/tim-gouw-1K9T5YiZ2WU-unsplash-1024x685.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/tim-gouw-1K9T5YiZ2WU-unsplash-768x513.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/tim-gouw-1K9T5YiZ2WU-unsplash-1536x1027.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/tim-gouw-1K9T5YiZ2WU-unsplash-600x401.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/tim-gouw-1K9T5YiZ2WU-unsplash.jpg 2048w"},"categories":{"nodes":[{"slug":"gdybania-seniora","id":"Y2F0ZWdvcnk6NDg=","name":"Gdybania Seniora"}]},"tags":{"nodes":[{"slug":"ecommerce","name":"ecommerce","count":1},{"slug":"gatsby","name":"gatsby","count":1},{"slug":"programowanie","name":"programowanie","count":42},{"slug":"wordpress","name":"wordpress","count":1}]},"comments":{"nodes":[]},"seo":{"title":"Będąc programistą stawiaj sobie TYLKO ambitne cele rozwojowe - Gladiatorzy JavaScriptu","opengraphTitle":"Będąc programistą stawiaj sobie TYLKO ambitne cele rozwojowe - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Podobno programista uczy się najlepiej jak wrzuca się go na głęboką wodę i sprawdza czy wypłynie. Tak byłem uczony w swojej pierwszej firmie - masz i rób!","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Podobno programista uczy się najlepiej jak wrzuca się go na głęboką wodę i sprawdza czy wypłynie. Tak byłem uczony w swojej pierwszej firmie - masz i rób!","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/tim-gouw-1K9T5YiZ2WU-unsplash.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}}]}},"staticQueryHashes":[]}