Jeszcze kilka lat temu wielu webmasterów miało dylemat czy porzucać wsparcie dla rozdzielczości ekranu 800×600, robiąc strony o standardowej szerokości przekraczającej 800px. Było to w czasach kiedy dominującą rozdziałkom zaczynało być 1024×768.
Obserwowanie procentowego udziału na rynku ludzi z mniejszą rozdzielczością, było zwieńczone spadkiem tej wartości poniżej kilku procent, gdzie można było już ponieść stratę tych użytkowników. Dzisiaj 1024px jest niemal zapomniane w skutek popularyzacji monitorów LCD i matryc 1280x1024px oraz panoramicznych.
Nie o tym jednak jest ten wpis. Obecnie, analogicznie mamy do czynienia z sytuacją ciągłego spadku popularności przeglądarki Internet Explorer 6. Na dzień dzisiejszy, jej udział na polskim rynku wynosi 5,81% (wg. serwisu ranking.pl). Czy zatem można już ją sobie darować?
Czytaj więcej…
Dlaczego klasyka? Gdyż to chyba jeden z najpopularniejszych skryptów o jakich myśli każdy początkujący programista PHP. Fakt faktem, że przy dzisiejszych usługach typu Google Analytics jest to mało komfortowe rozwiązanie i nie dostarcza wielu informacji, nie mniej na pewno dużo satysfakcji
.
Bez zbędnego przedłużania przechodzimy do sedna sprawy. Nasz licznik będzie maksymalnie uproszczony – będzie zliczał każde przeładowanie strony. Aby zbytnio się nie napracować skorzystamy z funkcji file_get_contents oraz file_put_contents do przechowania aktualnego stanu licznika w pliku.
Czytaj więcej…
Projekt gry Enemy Flag, mierzy już sobie 8 lat od pierwszej wersji. Oczywiście nie od początku był dostępny publicznie, także ten przedział czasu może się niektórym wydawać spory, nie mniej, tyle minęło od pierwszej kompilacji ef.exe.
Nie chcę tutaj rozpamiętywać starych lat i tego jak gra wyglądała oraz jak się zmieniała. Skupię się na tym co interesuje chyba jej fanów (niewielu już ich zostało), czyli przyszłości projektu.
Wraz ze starzeniem się kodu, cały czas istniała potrzeba napisania gry od nowa. Po 8 latach moje umiejętności w zakresie object pascal’a nieco wzrosły
i ciągnięcie za sobą tego reliktu przeszłości stało się męczące. Dlaczego zatem wciąż gra nie doczekała się żadnej rewolucji? O tym w dalszej części wpisu.
Czytaj więcej…
Turbo Delphi Explorer to świetne środowisko dla obiektowego Pascala, niestety jako darmowa edycja ma zablokowaną możliwość instalowania dodatkowych komponentów. Postaram się pokazać jak mimo tego ograniczenia skorzystać z zewnętrznego kawałka kodu.
Metoda opiera się na dynamicznym tworzeniu instancji komponentu, zatem jest ona zgodna z licencją i nie narusza jej w żaden sposób. Oczywiście niesie to za sobą pewne niedogodności i nie zawsze może być stosowane, jednak w znakomitej większości przypadków tak.
Czytaj więcej…
Trudno wymyślić sensowny tytuł dla zagadnienia które chcę opisać. Zawsze zastanawiało mnie czy pisząc w PHP funkcję która początkowo przeprowadza walidację przekazanych argumentów, stosować konstrukcję typu:
function nazwa($argument)
{
if (warunek)
{
return FALSE;
}
... ciało funkcji
}
…czy też:
function nazwa($argument)
{
if (warunek)
{
return FALSE;
}
else
{
... ciało funkcji
}
}
Intuicyjnie może się wydawać że pierwszy metoda będzie działać szybciej, gdyż po spełnieniu warunku wychodzimy od razu z funkcji – parser nie musi przetwarzać reszty kodu. Z kolei w drugiej, mimo iż to co znajduje się w bloku else się nie wykona i tak musi zostać przeczytane przez PHP. Jak jest w rzeczywistości? Sprawdźmy to!
Czytaj więcej…
Pewno wielu z Was zastanawiało się nie raz, dlaczego ten sam plik, wysłany pocztą elektroniczną zajmuje więcej niż na dysku. Przyczyny tego zjawiska należy dopatrywać się w czysto tekstowej formie protokołu poczty POP3 oraz SMTP. Jako że tekst drukowany, zawiera się w niepełnych 8-bitach (tzn. jest mniej niż 256 różnych liter alfabetu i innych znaków), stąd też nie można wysłać danych 8-bitowych przy jego pomocy.
Co się robi w takiej sytuacji? Pewni sprytni ludzie, wymyślili swego czasu kodowanie o nazwie Base64. Cóż takiego ono robi? Przekształca bloki 3 bajtowe, na 4 bajtowe o reprezentacji w zakresie znaków drukowanych. Innymi słowy, zapisuje 3 liczby 8-bitowe w postaci czterech 6-bitowych, jednakże tak, aby użyć do tego celu jedynie liter alfabetu oraz cyfr.
Z uwagi na w/w sposób działania, zwiększa się ilość danych potrzebnych do reprezentacji tego samego zbioru w kodowaniu Base64. Skoro z każdych 3 bajtów uzyskujemy 4, to plik w poczcie elektronicznej zajmuje o 33,3% więcej w stosunku do swojej oryginalnej kopii na dysku twardym. Przykładowo, plik 2MB w postaci załącznika do wiadomości e-mail będzie zajmował 2,66MB.
Otwieramy stronę internetową, widzimy nagłówek i czekamy… czekamy… po chwili pojawia się reklama a za nią interesująca nas treść. Brzmi znajomo?
Zdecydowana większość systemów reklamowych opiera się na załączaniu zewnętrznego kodu JavaScript, który w przypadku wolnego serwera dostawcy reklam, może powodować niepotrzebne spowalnianie ładowania się naszej strony. O ile w sytuacji takich gigantów jak Google AdSense nie mamy się o co martwić, to przy korzystaniu z usług innych podmiotów czy też systemów pośredniczących (np.: OpenX), może warto zastanowić się jak pozbyć się tego problemu i nie opóźniać pokazania treści tylko przez reklamę. Zniecierpliwiony użytkownik naszej witryny może ją po prostu opuścić zanim zdąży cokolwiek zobaczyć.
Czytaj więcej…
Wpis ten jest dość specyficzny, gdyż kierowany do osób tworzących/edytujących skórki dla PHP-Fusion 7. Każda skórka z reguły posiada swój własny arkusz stylów CSS. Jednakże, sam CMS również używa kilkunastu, które są zaszyte w plikach źródłowych.
Chcąc dobrze dopasować nasz temat i określić wygląd wszystkich możliwych elementów musimy zdefiniować w arkuszu stylów również te klasy których używa sam PHP-Fusion. I tutaj pojawia się problem, skąd wziąć ich listę?
Czytaj więcej…
Pojemność? Pakiet transferu? Ilość kont e-mail? Nie. Oczywiście są to ważne parametry, które podaje chyba każda firma świadcząca usługi hostingowe, nie mniej nie na to chciałem zwrócić uwagę. To wszystko co widzimy w ofertach serwerów wirtualnych chyba każdy webmaster potrafi samodzielnie ocenić, czy przydzielone gigabajty pomieszczą jego stronę i ile skrzynek pocztowych będzie mu potrzebnych.
W tym wpisie chciałbym zwrócić uwagę na kwestie które są mniej atrakcyjne marketingowo, a co za tym rzadziej podawane, a mające duże przełożenie na jakość usługi. To właśnie spora część tych parametrów sprawia, że dwie firmy mające w ofercie w przybliżeniu ten sam pakiet, oferują go czasami pod skrajnie różnymi cenami.
Czytaj więcej…