About Robert Podwika

Programista, pasjonat z ponad 11 letnim doświadczeniem. Programuję w PHP, Java, C#, C++. Obecnie pracuję przy projektach w PHP na framework Symfony 4 oraz ReactJS

Jak nauczyć się GITa

W ostatnim czasie doszedłem do momentu, w którym chciałem przejść z SVN na GIT-a. I tutaj pojawia się pytanie; Jak nauczyć się GITa? Otóż nie jest to takie łatwe, gdyż wbrew pozorom GIT i SVN znacząco się różnią(jeśli nie rozumiesz niektórych słow z poniższego wpisu na końcu wpisu znajdziesz słowniczek):
SVN
Subversion jest to system, który […]

Autor |Sierpień 25th, 2014|PHP, Tworzenie stron internetowych|0 komentarzy

Algorytm Dijkstry w PHP

Algorytm Dijkstry pomaga w znalezieniu najkrótszej ścieżki w grafie. Mówiąc po ludzku, można go zastosować np. do znalezienia najkrótszej drogi od miejscowości A do miejscowości E. Żeby to działało należy przyjąć, że wierzchołki(V) to skrzyżowania, a wagi krawędzi to odległości pomiędzy miastami.

Algorytm Dijkstry jest wykorzystywany w informatyce na przykład do trasowania pakietów w protokole […]

Autor |Lipiec 25th, 2014|Optymalizacja strony pod wyszukiwarki - SEO|2 komentarze

Gra w Canvas: Kółko – krzyżyk w HTML5

Postanowiłem przetestować dziś możliwości JavaScript i nowego obiektu w HTML mianowicie Canvas. Moim celem było napisanie prostej gry kołko krzyżyk, którą zapewne dobrze znacie i kojarzycie.

Canvas jest to nowy element w języku HTML5, który umożliwa rysowanie grafiki 2D oraz 3D w locie(przez skryptowanie).

Na początku potrzebowałem kodu html. Jest to standardowy dokument html, który posiada […]

Autor |Lipiec 24th, 2014|JavaScript, Tworzenie stron internetowych|2 komentarze

Traits w PHP

Mechanizm Traits(cechy) w PHP został dodany w wersji 5.4 i nie występuje w innych językach programowania. Traitsy zostały zaprojektowane by umożliwić programiście użycie kodu w różnych klasach przez pominięcie ograniczeń jednokrotnego dziedziczenia klas(klasa w PHP może dziedziczyć wyłączznie z jednej klasy).

Trait jest podobna do klasy z tym wyjątkiem, że nie może zostać zainicjowana jako […]

Autor |Lipiec 24th, 2014|Algorytmy, PHP|0 komentarzy

Wzorzec projektowy Iterator w PHP, implementacja i omówienie

Iterator jest operacyjnym wzorcem projektowym, który zapewnia sekwencyjny dostęp do elementów zbioru bez ujawniania jego reprezentacji. W PHP istnieje mechanizm iteratorów, jednakże, żeby lepiej zrozumieć na czym on polega postanowiłem zaimplementować Iterator.

Na poniższym obrazku znajduje się struktura wzorca:

Na podstawie wzorca utworzyłem interfejsy i klasy potrzebne do jego implementacji oraz przykładową klasę Book, która będzie […]

Autor |Lipiec 18th, 2014|Optymalizacja strony pod wyszukiwarki - SEO|2 komentarze

Polimorfizm na przykładzie szyfrowania(Cezar, AES) w PHP

W poprzednim wpisie pisałem o potędze polimorfizmu w programowaniu obiektowym. W tym postaram się podać bardziej przydatny przykład z życia na podstawie szyfrowania tekstu.

Do stworzenia mechanizmu potrzebuje interfejsu Icrypt, który zawiera przydatne metody dla każdego algorytmu szyfrowania np zaszyfruj, odszyfruj itp.
interface ICrypt
{
public function encrypt($plainText);
public function decrypt();
[…]

Autor |Lipiec 3rd, 2014|Algorytmy, PHP, Programowanie obiektowe|0 komentarzy

Polimorfizm i programowanie obiektowe

Wielu z Was zapewne zastanawia się dlaczego programowanie obiektowe jest lepsze. Otóż dzięki OOP(object oriented programming) jesteśmy w stanie w bardziej ludzki sposób modelować świat programistyczny. W poniższym przykładzie postaram się przedstawić mechanizm polimorfizmu i korzyści, które daje nam programowanie obiektowe.

Dla celów wpisu utworzę sobie interfejs IVehicle, który będzie opisywał pojazd, klasę abstrakcyjną samochód, […]

Autor |Lipiec 1st, 2014|PHP, Programowanie obiektowe|2 komentarze

Ciąg fibonacciego i przykłady implementacji w PHP

Przed rozwiązaniem problemu ciągu fibonacciego opiszę czym właściwie jest ten ciąg liczb. W ciągu fibonacciego pierwsze dwa wyrazy to 0, 1 a następne są sumą dwóch poprzednich czyli 0, 1, 1, 2, 3, 5, 8, 13 itd. ciąg przedstawia się wzorem

dla:

Fib(0) = 0
Fib(1) =  1

Fib(n) = Fib(n-1) + Fib(n-2)

Ciąg fibonacciego został odkryty w 1202 […]

Autor |Maj 28th, 2014|Algorytmy, PHP|2 komentarze

Tworzenie pierwszego plugina(wtyczki) do WordPressa

W ostatnim czasie potrzebowałem bardzo prostej wtyczki do WordPressa, która będzie dodawała informacje o Cookie na dole strony. Pomimo tego, że nie znam za bardzo kodu WordPressa postanowiłem napisać plugin. Tworzenie pierwszego plugina(wtyczki) do WordPressa rozpocząłem od studiowania dokumentacji.

Założenia są proste:

Użytkownik może zmodyfikować treść informacji o cookies.
Użytkownik może wybrać styl buttona
Skrypt działa na podstawie JQuery
Możliwa edycja parametrów skryptu w panelu administracyjnym

Po poznaniu dokumentacji tworzenia pluginów wordpressa zacząłem działać. […]

Autor |Maj 17th, 2014|PHP, Wordpress|3 komentarze

Pozycjonowanie strony SEO, SEM

Zanim zacznę pisać o wskazówkach dotyczących pozycjonowania i marketingu stron internetowych, należałoby napisać czym w ogóle jest SEO oraz co to jest SEM.

SEO jest to skrót od angielskiego Search Engine Optimization. Czyli jest to optymalizacja strony pod kątem wyszukiwarek internetowych.

SEM natomiast jest skrótem od angielskiego Search Engine Marketing co można przetłumaczyć jako marketing we wyszukiwarkach internetowych.
Dlaczego piszę […]

CSS transitions

CSS transitions są częścią specyfikacji CSS3 . Przekształcenia CSS dostarczają kontroli nad zmianą właściwości stylów. Zamiast natychmiastowo zmienić wartość dostarczają one funkcji, która pozwala dostosować tempo, rodzaj i które właściwości powinny zostać zmienione.

Zmiany zwykle są nazywane „niejawnymi przekształceniami” z uwagi na to, że stany pomiedzy przekształceniami nie są jawnie definiowane przez użytkownika. Użytkownik widzi […]

Autor |Luty 27th, 2014|JavaScript|0 komentarzy

Responsive web design

Responsive web design to ostatnio bardzo popularne pojęcie. RWD to projektowanie stron tak, by dostosowywały się one do rozdzielczości ekranu, na których są wyświetlane. Celem Responsive Web Design jest zaprojektowanie strony w taki sposób by była ona czytelna, przejrzysta, posiadała prostą nawigację z minimalną ilością suwaków.

W odróżnieniu do zwykłego stylowania w Responsive Web Design […]

Autor |Luty 26th, 2014|Tworzenie stron internetowych|2 komentarze

Jak zacząć tworzenie stron internetowych 2/2

W poprzednim artykule pisałem o tworzeniu stron internetowych od strony frontendu, czyli tego co widzi użytkownik. W tym skupię się na stronie backendowej, czyli na tym co dzieje się po stronie serwera www.
Komunikacja przeglądarka-serwer
Na początku musisz uświadomić sobie jak to się dzieje, że użytkownik po wpisaniu adresu otrzymuję stronę. Wszystko odbywa się za pomocą […]

Autor |Luty 20th, 2014|PHP, Tworzenie stron internetowych|0 komentarzy

Jak zacząć tworzenie stron internetowych 1/2

Wpis zacznę od cytatu Sokratesa „The more I learn, the more I learn how little I know”. Z tworzeniem stron internetowych jest podobnie, im bardziej zgłebiasz temat tym wydaje Ci się, że mniej wiesz. Tworzenie stron internetowych opiera się o znajomość wielu technologi bez których ciężko jest stworzyć stronę, a mówiąc bardziej profesjonalnie witrynę […]

Dynamiczne wyszukiwanie danych w tabeli JQuery

Często napotykanym problemem przez programistów jest dynamiczne wyszkukiwanie danych w tabeli. Problem ten można łatwo rozwiązać używając funkcji filter() dostępnej w bilbliotece JQuery.

Funkcja filter() w Jquery ograniczna zbiór dopasowanych lementów do tych które odpowiadają selektorowi lub spełniają test funkcji.
Kolorowanie co drugiego elementu listy
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
Za pomocą jquery piszemy kod:
$( "ul li" ).filter( ":even" ).css( "background-color", "red" );
Funkcja dopasuje parzyste elementy i wykona na nich funkcje css(), która zmieni kolor na czerwony. Oczywiście w tym prostym przykładzie wystarczy, że zastosujemy prosty css i efekt dostaniemy taki sam, ale chodzi o pokazanie działania funkcji filter().
Użycie funkcji testującej
Druga forma funkcji filter() pozwala nam na zastosowanie funkcji sprawdzającej. Dla każdego elementu, na którym zostanie wykonana funkcja filter, zostanie przeprowadzony test funkcji, którą piszemy sami.

Przykładowy kod:
<ul>
<li><strong>list</strong> item 1 – one strong tag</li>
<li><strong>list</strong> item <strong>2</strong> –
two <span>strong tags</span></li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
Możemy filtrować elementy listy na podstawie ich zawartości.
$( "li" )
.filter(function( index ) {
return $( "strong", this ).length === 1;
})
.css( "background-color", "red" );
Ten kod na każdym elemencie listy(<li>) wykona metodę filter, która posiada funkcje sprawdzającą. Funkcja ta sprawdza czy w danym elemencie listy znajduje się więcej niż jeden tag <strong>. Jeżeli tak jest to wykonana jest funkcja CSS, która zmieni kolor tła elementu na czerwony. Przeczytaj więcej, aby dowiedzieć się o dynamicznym wyszukiwaniu elementów w tabeli.  […]

Autor |Luty 19th, 2014|JavaScript, Tworzenie stron internetowych|21 komentarzy