PHP, MySQL, Symfony, Doctrine, Javascript, jQuery, Vue.js, Express.js, Socket.io, HTML5, CSS, SASS, RWD, Git, Webpack, Gulp, Vagrant etc., WordPress, Magento, Prestashop, Linux
W obecnych czasach bardzo popularnym pojęciem zaraz obok blockchaina i kryptowalut jest sztuczna inteligencja. Wszyscy, wszędzie chcą robić coś z tym związanego. Efektem tego jest ciągłe poruszanie tematu jakoby AI miało w przyszłości pozbawić nas pracy. Powstają nawet specjalne strony (https://willrobotstakemyjob.com/), gdzie wpisując nazwę zawodu możemy sprawdzić jaka jest szansa jej utraty w przyszłości na […]
Bardzo często w projektach z użyciem Doctrine, encja wygląda w ten sposób, że zrobione jest mapowanie odpowiednich pól, oraz do każdego pola utworzone są gettery oraz settery. Dodatkowo do każdego pola mamy odpowiednie adnotacje walidacji, a formularze walidowane są na encji. Czy to na pewno jest dobre podejście?
Bardzo często w projektach z użyciem Doctrine, encja wygląda w ten sposób, że zrobione jest mapowanie odpowiednich pól, oraz do każdego pola utworzone są gettery oraz settery. Dodatkowo do każdego pola mamy odpowiednie adnotacje walidacji, a formularze walidowane są na encji. Czy to na pewno jest dobre podejście?
W większości tworzonych systemów trzeba gdzieś i w jakiś sposób zapisywać dane. ORM (Object-Relational Mapping), czyli mapowanie obiektowo-relacyjne jest sposobem odwzorowania systemu na bazę danych. ORM jest warstwą pomiędzy bazą danych, a aplikacją. Zajmuje się tworzeniem, aktualizowaniem, odczytywaniem oraz usuwaniem danych. Jak widać na tej ilustracji wzorce DataMapper oraz ActiveRecord należą do warstwy Data access, […]
W większości tworzonych systemów trzeba gdzieś i w jakiś sposób zapisywać dane. ORM (Object-Relational Mapping), czyli mapowanie obiektowo-relacyjne jest sposobem odwzorowania systemu na bazę danych. ORM jest warstwą pomiędzy bazą danych, a aplikacją. Zajmuje się tworzeniem, aktualizowaniem, odczytywaniem oraz usuwaniem danych. Jak widać na tej ilustracji wzorce DataMapper oraz ActiveRecord należą do warstwy Data access, […]
Jakieś dwie godziny temu pisałem na tw/fb, że eksperymentowałem z Ubuntu Budgie, jednak po 10 minutach kombinowania jak dodać ikonę do panelu, poddałem się i stwierdziłem, że instaluję sprawdzonego Minta, którego używam od kilku lat. Oczywiście nie odbyło się to bezproblemowo. Instalacja System zwykle instaluję w taki sposób, że tworzę trzy partycje: swap – zwykle […]
Jakieś dwie godziny temu pisałem na tw/fb, że eksperymentowałem z Ubuntu Budgie, jednak po 10 minutach kombinowania jak dodać ikonę do panelu, poddałem się i stwierdziłem, że instaluję sprawdzonego Minta, którego używam od kilku lat. Oczywiście nie odbyło się to bezproblemowo. Instalacja System zwykle instaluję w taki sposób, że tworzę trzy partycje: swap – zwykle […]
Jedną z cech programowania obiektowego jest dziedziczenie. Jednak jak każdy element w programowaniu powinno ono być dobrze przemyślane. Istnieją problemy, które nadają się do rozwiązania przez dziedziczenie, jak i mamy problemy, które przez dziedziczenie nie powinny być rozwiązywane. Pisałem o tym więcej w artykule – Kompozycja ponad dziedziczenie. W wielu projektach istnieją rozbudowane hierarchie dziedziczenia, […]
Jedną z cech programowania obiektowego jest dziedziczenie. Jednak jak każdy element w programowaniu powinno ono być dobrze przemyślane. Istnieją problemy, które nadają się do rozwiązania przez dziedziczenie, jak i mamy problemy, które przez dziedziczenie nie powinny być rozwiązywane. Pisałem o tym więcej w artykule – Kompozycja ponad dziedziczenie. W wielu projektach istnieją rozbudowane hierarchie dziedziczenia, […]
Symfony 4 zostało wydane zgodnie z zapowiedziami 30 listopada. Z racji, że miałem okazję na szybko wdrożyć bardzo mały projekcik przy użyciu sf4, postaram się przedstawić zmiany, które rzuciły mi się w oczy. Podstawowa wersja W poprzedniej wersji symfony przy instalacji domyślnie mieliśmy wiele paczek, z których nie korzystaliśmy. Zaczynając projekt trzeba było je usuwać. […]
Symfony 4 zostało wydane zgodnie z zapowiedziami 30 listopada. Z racji, że miałem okazję na szybko wdrożyć bardzo mały projekcik przy użyciu sf4, postaram się przedstawić zmiany, które rzuciły mi się w oczy. Podstawowa wersja W poprzedniej wersji symfony przy instalacji domyślnie mieliśmy wiele paczek, z których nie korzystaliśmy. Zaczynając projekt trzeba było je usuwać. […]
Projektując aplikację w obiektowym języku programowania tworzymy klasy. Klasy mają własne zależności. Wyróżniamy dwa wzorce odpowiadające za zarządzanie zależnościami klasy: Dependency injection Service locator Dependency injection W poniższym przykładzie klasa Service doskonale pokazuje swoje zależności. Wiemy, że aby utworzyć instancję tej klasy musimy wstrzyknąć Logger do konstruktora.
Projektując aplikację w obiektowym języku programowania tworzymy klasy. Klasy mają własne zależności. Wyróżniamy dwa wzorce odpowiadające za zarządzanie zależnościami klasy: Dependency injection Service locator Dependency injection W poniższym przykładzie klasa Service doskonale pokazuje swoje zależności. Wiemy, że aby utworzyć instancję tej klasy musimy wstrzyknąć Logger do konstruktora. <?php use Psr\Log\LoggerInterface; class Service { private $logger; public […]
Jedną z możliwości programowania obiektowego jest dziedziczenie. Daje nam ono możliwość powtórnego wykorzystania kodu poprzez tworzenie podklas. Warto mieć na uwadze, że nie jest ono złotym środkiem, a jednak bywa ono często nadużywane. Definicje Dziedziczenie – mechanizm programowania obiektowego, służący do współdzielenia metod oraz składowych pomiędzy klasami. Klasa podrzędna dziedziczy po klasie bazowej, co oznacza, […]
Jedną z możliwości programowania obiektowego jest dziedziczenie. Daje nam ono możliwość powtórnego wykorzystania kodu poprzez tworzenie podklas. Warto mieć na uwadze, że nie jest ono złotym środkiem, a jednak bywa ono często nadużywane. Definicje Dziedziczenie – mechanizm programowania obiektowego, służący do współdzielenia metod oraz składowych pomiędzy klasami. Klasa podrzędna dziedziczy po klasie bazowej, co oznacza, […]
PHP, MySQL, Symfony, Doctrine, Javascript, jQuery, Vue.js, Express.js, Socket.io, HTML5, CSS, SASS, RWD, Git, Webpack, Gulp, Vagrant etc., WordPress, Magento, Prestashop, Linux
SarvenDev a właściwie Kamil Ruchała jest z Nowego Sącza. Swoją przygodę zaczął jako freelancer pisząc wtyczki do WordPress, Magento czy Prestashop.
Obecnie pracuje jako Backend Developer, ale mimo to nie zamyka się na technologie frontendowe - lubi pisać kod między innymi w Vue.js.