Blog webdeveloperski Patryk yarpo Jar

Obsluga daty i czasu w PHP: funkcja `date`

Autor wiadomości Październik 27, 2014

W PHP znalezc mozemy kilka sposobow obslugi daty i czasu. W tym wpisie chcialbym skupic sie na funkcji `date`. Planuje glownie skupic sie na tym, ze nie do konca dziala tak jakby nalezalo sie tego spodziewac. Choc trzeba przyznac, ze w ostatnim czasie (kolejne wersje PHP) troche sie polepszylo.

Zend/PHP: Dlaczego stosowanie view modeli jest dobre

Autor wiadomości Październik 23, 2014

Chcialbym w tym wpisie pokazac, co zrobic, aby kod kontrolerow i plikow widoku byl przyjemniejszy w czytaniu i prostszy w utrzymaniu. Dodatkowo, za darmo uda sie nam zyskac duzo prostszy do testowania kod! Na co czekac? Zaczynajmy!

Na poczatek warto wiedziec:

  • Podstawy PHP,
  • Swiadomosc istnienia MVC,
  • Posiadanie zdrowego rozsadku i instynktu samozachowawczego.
Tagged as: , , , , Czytaj dalej

Ksiazka: Wzorzec MVC w PHP dla profesjonalistów

Autor wiadomości Luty 13, 2014

Wzorzec MVC w PHP dla profesjonalistówWzorzec MVC w PHP dla profesjonalistów

Wzorzec MVC na dobre zagoscil we wszelakich projektach informatycznych. Pozwala na rozsadny podzial na warstwy i oddzielenie logiki od danych, a takze kodu robiacego cokolwiek "na serwerze" od kodu wyswietlajacego np. strone internetowa.

Chris Pitt bardzo starannie opisuje kolejno, co trzeba napisac (i w tracie ksiazki sam pisze pokazujac czytelnikowi wszystkie kroki), aby stworzyc wlasny framework PHP implementujacy wzorzec MVC.

JavaScript – sterowanie kontekstem wywolania funkcji

Autor wiadomości Grudzień 13, 2013

Ostatnio na blogu cisza, ale nie oznacza to, ze niczego nie pisze ;)

Czasu niestety zawsze malo, ale znalazlem niedawno chwile na napisanie dluzszego artykulu zbiorczo traktujacego o pracy z operatorem `this' oraz `new'. Artykul zostal podzielony na dwie czesci:

Milej lektury!

Tech 3 Camp: Kompresja stron internetowych

Autor wiadomości Czerwiec 19, 2013

Wczoraj miałem okazję przedstawiać temat kompresji stron internetowych na branżowym spotkaniu Tech 3 Camp.

Cieszę się z dobrego odbioru publiczności oraz z kilku bardzo ciekawych rozmów po prezentacji. Tak jak obiecałem zamieszczam swoją prezentację.

Tworzenie obiektów za pomocą Object.create (ECMAScript 5)

Autor wiadomości Czerwiec 10, 2013

JavaScript nie stoi w miejscu. Cały czas trwają prace nad różnymi API wchodzącymi w skład HTML 5, jak również nad rdzeniem języka - ECMAScript.

Dziś coś o nowości z ECMAScript 5 metodzie `Object.create' pozwalającej na wygodne tworzenie obiektów. Przedstawiłem już wiele sposobów na tworzenie obiektów w JavaScript. Większość z nich była jednak mniej lub bardziej naginaniem podstawowych mechanizmów języka,aby przybliżyć jego działanie do oczekiwań programistów Java-pochodnych (pamiętajmy, nawet potocznie Java != JavaScript).

Pseudo-klasy i pseudo-elementy w CSS

Autor wiadomości Maj 28, 2013

CSS pozwala na definiowanie wyglądu strony i radzi sobie z tym całkiem nieźle. Pozwala na "uchwycenie" za pomocą odpowiedniego selektora elementu (lub zbioru elementów) i przypisanie do niego odpowiedniej reguły CSS. Są jednak takie elementy na stronie, których na próżno szukać w kodzie - choćby łącze (znacznik <a/>) nad którym znajduje się kursor. Element ten w kodzie HTML nie zmienił się, a często jego wygląd uległ zmianie. Jak to się stało? Tu w grę wchodzą pseudo-klasy oraz pseudo-elementy.

Pseudo-klasy

Najbardziej popularnymi pseudo-klasami są te związane z obsługą hiperłączy. Pewnie nie raz widziałeś, gdy link do podstrony, którą już przeczytałeś zmieniał swój wygląd. Choćby na tym blogu po najechaniu na linki po prawej stronie kolor tekstu stanie się jaśniejszy.

Selektory pseudo-klas pozwalają na określanie stylów dla elementów, których nie da się znaleźć w kodzie HTML wprost. Ich "istnienie" wynika z pewnych konkretnych chwilowo zaistniałych warunków - jak choćby wspomniane najechanie na łączę.

Drugi meet.js w Gdańsku

Autor wiadomości Maj 28, 2013

Kolejne spotkanie z cyklu meet.js miało wczoraj miejsce "tradycyjnie" w Inkubatorze Starter w Gdańsku. Po raz kolejny trójmiejscy front-endowcy pokazali, że są chętni dzielenia sie wiedzą dotyczącą JavaScript. Na widowni zasiadło znowu ponad 100 osób (dokładnych statystyk nie znam, ale chyba było odrobinę mniej osób niż zeszłym razem).

Jeśli chodzi o prezentacje to myślę, że także można być usatysfakcjonowanym - Node.js, MongoDB, łańcuchy prototypów oraz asm.js. Z pewnością dało to niezły obraz aktualnych trendów w JS i technologiach pobocznych.

Moim zdaniem najciekawsze było wystąpienie Błażeja Krysiaka - "MongoDB - NoSQL'owa baza danych w JS". Prezentacja niezwykle przejrzysta, techniczna, ale z doskonale zachowaną proporcją między kodem, a poziomem abstracji pozwalającym wynieść wiele osobom, które pierwszy raz słyszały o nierelacyjnych bazach danych. Brawo!

Ponoć przez wakacje czeka nas przerwa w spotkaniach meet.js. Mam nadzieję, że po letniej przerwie wracamy z nowymi, ciekawymi prelekcjami.

Specyficzność selektorów CSS

Autor wiadomości Maj 28, 2013

Każda większa strona internetowa posiada duży (lub bardzo duży) zbiór reguł CSS, czasem umieszczonych w kilku plikach. Do tego nierzadko znaleźć można dodatkowe reguły wklejone w znaczniku <style />, a także wstrzyknięte inline definicje przez atrybut `style' znaczników HTML (styl wewnętrzny).

Nie jest niczym dziwnym, że do jednego elementu w takich ogromie kodu zostanie przypasowana więcej niż jedna reguła. Może się zdarzyć, że reguły będą definiować te same właściwości wyglądu elementu w różny sposób. Jak w takiej sytuacji dojść do tego jak powinien wyglądać dany element? Odpowiedzią jest specyficzność (ang. specificity) każdego z selektorów. Można się także spotkać z określeniem "precyzja selektorów". W przypadku kilku deklaracji będących ze sobą w konflikcie (np. 3-krotnej definicji koloru tekstu) wybrana zostaje ta definicja tego selektora, który ma najwyższą specyficzność.

Książka: “HTML5. Zaawansowane programowanie”

Autor wiadomości Maj 26, 2013

HTML5. Zaawansowane programowanieHTML5. Zaawansowane programowanie

HTML5 zawitał na dobre pod strzechy wraz z najnowszymi wersjami popularnych przeglądarek. Oczywiście, nie wszystko jest już wspierane (na to WHATWG daje światu czas do 2022 r.), jednak nawet tylko część aktualnie zaimplementowana w najważniejszych przeglądarkach na rynku daje niesamowite możliwości.

Chciałbyś rysować na stronie (wektorowo czy też bitmapy?), chciałbyś mieć lepszą komunikację między zakładkami? Między stronami? Między sesjami (bez użycia ciasteczek)? Chcesz używać WebSocketów? A może policzyć coś w osobnym wątku bez blokowania interfejsu?

Tak, nadal mówię o programowaniu za pomocą natywnego JavaScript. Bez wtyczek. Bez kompilatorów. Bez problemów. Z użyciem nowych API dostarczanych przez specyfikacje HTML5.

Starczy reklamy technologii. O tym, że HTML5 będzie przyszłością sieci już chyba nie trzeba nikogo przekonywać. Natomiast na pewno warto zareklamować książkę "HTML5. Zaawansowane programowanie" autorstwa Petera Lubbersa, Briana Albersa i Franka Salima. Nie jest to książka, z której początkujący nie-programista nauczy się programować. Nie ta pozycja, nie taki cel postawili sobie autorzy. Natomiast każdy webdeveloper dobrze radzący sobie z programowaniem dostanie bardzo czytelny i przyjemny w lekturze przegląd nowych możliwości JavaScriptu. Każdy rozdział dotyczy innego API (m. in. canvas, websocket, web workers itp.). Nie jest to jedynie lista dostępnych pól nowych obiektów, ale konkretne "żywe" przykłady. Bardzo podobały mi się także ramki z dodatkowymi uwagami autorów - przestrogi przed możliwymi pułapkami, rady i pomocne uwagi.