optymalizacja

Nowości w PHP 7 – część druga

W poprzednim wpisie przedstawiłem listę nowości w PHP7. W tym skupie się na takich rzeczach jak obsługa wyjątków, deklaracji typu zwracanej wartości oraz zarezerwowanym typom.
Obsługa wyjątków
W PHP7 wszystkie wyjątki implementują interfejs o nazwie \Throwable. Interfejs ten jest implementowany w dwóch głównych klasach(rodzinach klas) obsługujących wyjątki oraz błędy. Struktura wygląda tak jak poniżej:
interface Throwable
[…]

Autor |Wrzesień 23rd, 2015|PHP, Tworzenie stron internetowych|0 komentarzy

PHP Wzorce Projektowe

Niedawno postanowiłem stworzyć bibliotekę na githubie z wzorcami projektowymi w PHP. Sukcesywnie dodaje tam nowe wzorce wraz z testami, które w momencie pisania tego posta stanowią 91% pokrycia kodu. Jeśli chcesz zostać dobrym programistą i pisać kod, który jest zdatny do ponownego użycia zamknięty na modyfikację, ale łatwy do rozszerzenia pownieneś zacząć interesować się wzorcami […]

Dlaczego warto używać Composera

Dlaczego warto używać Composera?

Composer jest to narzędzie do zarządzania zależnościami w projekcie. Dzięki niemu możemy w prosty sposób dokładać biblioteki do projektu w określonej wersji i je łatwo aktualizować. Composer domyślnie instaluje biblioteki w katalogu vendor. Aby zacząć korzystać z composera należy go pobrać ze strony https://getcomposer.org/download/

Mając paczkę z composerem możemy go uruchomic poleceniem php […]

Autor |Listopad 22nd, 2014|JavaScript, PHP, Programowanie obiektowe|0 komentarzy

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

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

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

Wzorzec Fabryka(Factory) w PHP

Fabryka jest bardzo popularnym kreacyjnym wzorcem projektowania aplikacji. W tym wzorcu klasa odpowiada, za tworzenie obiektu, który chcesz użyć. Wyobraźmy sobie to na przykładzie fabryki samochodów. Jesteśmy sprzedawcą i składamy zamówienie na Mercedesa klasy C i taka fabryka nam wyprodukuje taki samochód.

Prześledźmy poniższy kod obrazujący powyżej opisane przeze mnie zdarzenie.
<?php

interface […]

Autor |Grudzień 19th, 2013|PHP, Tworzenie stron internetowych, Wzorce projektowe|0 komentarzy

Dlaczego warto używać JQuery

JQuery to biblioteka, dzięki której pisanie skryptów w JavaScript okazało się przyjemne i proste. Nie musisz już zwracać uwagi na kompatibilność kodu JavaScript oraz pisać bardzo długich lini kodu aby uzyskać zamierzony efekt. JQuery jest bardzo intuicyjnym i jednocześnie potężnym narzędziem, które pozwala nam tworzyć zaawansowane strony internetowe.
Dlaczego warto używać JQuery?
Weźmy kilka przykładów kodu, […]

Autor |Grudzień 19th, 2013|JavaScript, Tworzenie stron internetowych|0 komentarzy

Jak zrobić button w CSS3 wraz z gradientami i efektami

Większość programistów tworzy buttony w programach graficznych. Jednakże, można zrobić to o wiele łatwiej bez konieczności umieszczania grafiki na serwerze. Jak wiadomo im szybciej strona się ładuje tym lepiej; krótki czas ładowania strony ma ogromne znaczenie dla wyszukiwarek i każdy specjalista SEO powinien o tym wiedzieć. Poza tym strona obładowana grafiką nie łąduje się szybko na wolnych łączach internetowych.

Aby stworzyć button skorzystam z kilku efektów CCS3 takich jak text-shadow, box-shadow, linear gradient oraz border-radius.

text-shadow – odpowiada za cieniowanie tekstu
box-shadow odpowiada za cieniowanie pojemnika(kontenera, warstwy itp)
border-radius – jest to efekt, który zaokrągli nam warstwę.

[…]

Problem plecakowy czyli jak zoptymalizować pakowanie

Podczas pisania stron internetowych, a szczególnie w przypadku pisania sklepu internetowego prędzej czy później trafisz na problem Plecakowy. Czyli jak zoptymalizować pakowanie paczek do jakiegoś pojemnika. Wyobraźmy sobie sytuacje, że tworzymy list przewozowy dla kuriera. Klient w sklepie zamówił towary, które mają różną wagę. Naszym zadaniem jest tak spakować produkty by klient zapłacił jak najmniej za przesyłkę.

Problem plecakowy(ang. discrete knapsack problem) jest jednym z najczęściej występujących problemów optymalizacyjnych, przy którym należy wykorzystać algorytmy zachłanne.

Problem plecakowy czyli jak zoptymalizować pakowanie:

 Przy podanym zbiorze elementów o podanej wadze i wartości, należy wybrać taki podzbiór by suma wartości była możliwie jak największa, a suma wag była nie większa od danej pojemności plecaka.

Jak to zrobić? 

Najlepszym rozwiązaniem jest posortowanie paczek po wadze i pakowanie ich do plecaka od najcięzszej do najlżejszej. W przypadku braku miejsca, bierzemy nowy plecak.

 

Rozwiązanie problemu w PHP – kod obiektowy

[…]

Autor |Grudzień 5th, 2013|Algorytmy, PHP, Tworzenie stron internetowych|0 komentarzy