22:52

Jak nauczyć się GITa

Autor |Sierpień 25th, 2014|

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 […]

14:18

Algorytm Dijkstry w PHP

Autor |Lipiec 25th, 2014|

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 […]

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

Autor |Lipiec 24th, 2014|

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 […]

Traits w PHP

Autor |Lipiec 24th, 2014|

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 […]

Wzorzec projektowy Iterator w PHP, implementacja i omówienie

Autor |Lipiec 18th, 2014|

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 […]

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

Autor |Lipiec 3rd, 2014|

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();
[…]

Polimorfizm i programowanie obiektowe

Autor |Lipiec 1st, 2014|

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, […]

22:56

Ciąg fibonacciego i przykłady implementacji w PHP

Autor |Maj 28th, 2014|

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 […]

Tworzenie pierwszego plugina(wtyczki) do WordPressa

Autor |Maj 17th, 2014|

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ć. […]

Pozycjonowanie strony SEO, SEM

Autor |Maj 1st, 2014|

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ę […]

12:20

CSS transitions

Autor |Luty 27th, 2014|

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 […]

Responsive web design

Autor |Luty 26th, 2014|

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 […]

Jak zacząć tworzenie stron internetowych 2/2

Autor |Luty 20th, 2014|

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ą […]

Jak zacząć tworzenie stron internetowych 1/2

Autor |Luty 19th, 2014|

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

Autor |Luty 19th, 2014|

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.  […]