Archiwum kategorii ‘Apple‘

 
 

5 praktycznych wyrażen regularnych w PHP

Za każdym razem gdy przychodzi mi skorzystać z dobrodziejstwa jakim są wyrażenia regularne (które swoją drogą mogłyby się dorobić jakiegoś ogólnie uznawanego standardu), sięgam po gotowe i sprawdzone wzorce. Poniżej umieściłem kilka najczęściej używanych przeze mnie wyrażeń regularnych wraz z przykładowym kodem w PHP.

Adres email
Walidacja adresu email jest często spotykanym przykładem użycia wyrażeń regularnych. Adres email składa się z 3 podstawowych części:

  • nazwy użytkownika - za sprawdzenie tego elementu odpowiada ([0-9a-zA-Z]([-_.\w]*[0-9a-zA-Z_])*
  • symbolu @
  • oraz nazwy domeny - za sprawdzenie tego elementu odpowiada (([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})

Całość daje nam razem uproszczony adres email, którego poprawność możemy sprawdzić używając poniższego kodu:

$test_string = "przykladowy@email.tutaj.pl";
if (preg_match('/^([0-9a-zA-Z]([-_.\w]*[0-9a-zA-Z_])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/', $test_string))
{
	echo 'OK';
}
else
{
	echo 'Failed';
}

Adres URL
Czyli format adresowania zasobów internetowych najczęściej kojarzony z adresami stron www. Adres ten możemy rozbić na następujące części:

  • rodzaj protokołu - (http|https|file)
  • opcjonalna nazwa użytkownika i hasło - (\w*:\w*@)?
  • nazwa hosta - [-\w.]+
  • opcjonalny numer portu - (:\d+)?
  • ścieżka dostępu - (/([\w/_.]*
  • zapytanie - (\?\S+)?

Poprawność URLa możemy sprawdza następujący kawałek kodu:

$test_string = "http://login:haslo@www.rogozinski.net:80/admin/test.php?action=edit&id=166";
if (preg_match("/^(http|https|file):\/\/(\w*:\w*@)?[-\w.]+(:\d+)?(\/([\w\-\.\/]*(\?\S+)?)?)?$/", $test_string))
{
	echo 'OK';
}
else
{
	echo 'Failed';
}

Adres IP

W wydaniu IPv4, są to cztery liczby od 0 do 255 oddzielone kropkami.

$test_string = "255.255.255.0";
if preg_match('/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/', $test_string))
{
	echo 'OK';
}
else
{
	echo 'Failed';
}

Data i godzina (w formacie 24H)

$string = '2007-02-15 03:15';
if (preg_match('/^([0-9]{4}-[0-9]{2}-[0-9]{2})\s((0{0,1}[0-9])|(1[0-9])|([2][0-4])):([0-5][0-9])$/', $string))
{
	echo 'OK';
}
else
{
	echo 'Failed';
}

Kod pocztowy

$test_string = '05-324';
if (preg_match('/^[0-9]{2}[-]([0-9]{3})?$/', $test_string))
{
	echo 'OK';
}
else
{
	echo 'Failed';
}

Wszystkie przykłady wyświetlają napis ‘OK’ w razie prawidłowego rozpoznania wzorca i ‘Failed’ w razie porażki.

Warto zobaczyć:

Reset iPoda nano

Raz na jakiś czas urządzenia po prostu odmawiają posłuszeństwa i przestają działać tak, jak tego od nich oczekujemy. To samo przydarzyło się mojemu iPodowi. Tuż po tym jak próbowałem podłączyć dwa różne iPody do jednego komputera, jeden z nich (iPod nano) zawiesił się. Co należy zrobić w takiej sytuacji?iPod nano

Czasami po prostu musimy go zresetować, mniej więcej tak, jak to się robi z komputerami. Restart iPoda jest bardzo łatwą czynnością, należy zaznaczyć, że nie spowoduje utraty muzyki, plików ani ustawień.

  1. Sprawdź czy iPod jest odblokowany, przycisk na spodzie odtwarzacza powinien być przesunięty w lewo, tak by nie było widać pomarańczowego tła.
  2. Naciśnij jednocześnie i przytrzymaj przez 10 sekund przyciski “Menu” i “Select” (to ten po środku kółka).

Po zresetowaniu, na wyświetlaczu pojawi się logo Apple, a zaraz potem menu główne. :)

Wpis jest luźnym tłumaczeniem artykułu: http://www.methodshop.net/mp3/ipodsupport/restart/index.shtml

Nowy laptop w rodzinie Macbooka

Apple zdecydowało się na powiększenie rodziny Macbooków o nowy model. Mowa oczywiście o długo oczekiwanym Macbooku Air.

Macbook Air

Laptop posiada ekran o przekątnej 13.3 cala i pretenduje do miana ultra mobilnego (w serii Macbooków). To czym jak zwykle zaskoczyło nas Apple jest stylistyka. Designerzy odeszli od dotychczas znanych kształtów, a to co zaproponowali, to ostro zwężające się krawędzie, sprawiające, że macbook osiąga w najcieńszym punkcie (z przodu) grubość jedynie 4mm.

Macbook Air

Komputer waży jedynie 1.36 kg, co uzyskano dzięki usunięciu napędu optycznego. Matryca 13.3 cala, o rozdzielczości 1280×800 jest podświetlana diodami LED i dzięki temu jest jaśniejsza oraz zużywa mniej prądu. W podstawowym modelu dostajemy procesor C2D 1.6GHz i dysk Parallel ATA o pojemności 80GB. Jak to zwykle bywa możemy zakupić opcjonalne komponenty (C2D 1.8 i dysk 64GB w technologii SSD) pozwalające zwiększyć osiągi naszego laptopa. Niestety oprócz osiągów zwiększa się również cena, i to znacząco.

To co rzuca się w oczy (chociaż może nie za pierwszym razem) to wbudowana bateria i tylko 1 port USB. Apple rzeczywiście musi bardzo wierzyć w niezawodność swoich baterii.

Laptop trafi do sprzedaży już za 2 tygodnie, aktualnie przyjmowane są tylko zamówienia.

Polecam przeczytanie opisu na apple blogu oraz zajrzenie do specyfikacji.

Mac OS X Leopard vs. Tiger

Leopard vs Tiger

Już od dłuższego czasu przymierzałem się do zmiany systemu (Mac OS X Tiger) na nowszy (Mac OS X Leopard). Jako, że jakiś czas temu kupiłem leoparda, była to tylko kwestia wygospodarowania chwili (a w zasadzie dnia) na przeinstalowanie.

Jednocześnie z instalacją miałem możliwość na wykonanie benchmarków i tym samym porównania wydajności obu systemów. Porównanie to dotyczy wersji 10.4.11 i 10.5.1. Systemy instalowane były na laptopie MacBook C2D 2.16, 1GB RAM. Spostrzeżenia z upgrade’u zawarłem poniżej.

Zacząłem oczywiście od pełnego backupu i formatu dysku. Nie wierzę w bezproblemowość upgrade’u, z tego powodu zdecydowanie wolałem poświęcić więcej czasu na wykonanie czystej instalacji leoparda. System instalował się ok. 1.5h (30 minut zajęło sprawdzanie poprawności płyty DVD). Wszystko odbyło się bezproblemowo i prawie bez mojej ingerencji. Po uruchomieniu nowego systemu zabrałem się do testowania. Oto co uzyskałem:

Porównanie systemów

Czas uruchamiania systemów (w sekundach, do pojawienia się okna logowania)

czas uruchamiania systemów (do pojawienia się okna logowania)

CPU test (dłuższy pasek oznacza lepsze osiągi)

CPU test

Memory test (dłuższy pasek oznacza lepsze osiągi)

Memory test

User interface test (dłuższy pasek oznacza lepsze osiągi)

User interface test

Wyniki ogólne (dłuższy pasek oznacza lepsze osiągi)

Wyniki ogólne

Pozostałe wyniki można znaleźć w tabelce:

Nazwa testu Tiger Leopard
CPU test 105.56 124.62
Thread test 216.35 202.86
Memory test 123.00 139.85
Quartz graphics test 114.88 162.00
OpenGL graphics test 260.99 312.52
User interface test 234.56 214.73
Disk test 29.02 35.56
Wynik ogólny 92.25 112.44

Testy zostały wykonane programem Xbench 1.3.

Jeszcze szybszy na intelu

Jak można się było spodziewać leopard jest zoptymalizowany do pracy na 64 bitowej platformie intela i właśnie na niej rozwija pełnię swojej mocy.

Wygląda na to, że już teraz leopard działa nieco płynniej i wydajniej od swojego poprzednika, aczkolwiek trzeba przyznać, że różnice są minimalne. Myślę, że z czasem znikną również inne problemy do tej pory jeszcze występujące po przesiadce na nowy system Apple’a.

Więcej informacji:
http://www.barefeats.com/leopard.html
http://www.lowendmac.com/musings/mm07/1029.html
http://pineleashed.wordpress.com/…/leopard-vs-tiger-the-eye-candy/

Apple wprowadza Santa Rosa do MacBooka

MacbookiApple szaleje, niedawno (26 listopada) wprowadził nowy system Mac OS X Leopard, a teraz po cichu upgrade’ował MacBooki. Zmiana polega na wprowadzeniu nowego chipsetu intela, Santa Rosa. Częstotliwości procesorów pozostały w zasadzie te same (tylko w najdroższych modelach można zauważyć skok z 2.16GHz do 2.2GHz), natomiast zmianie uległa częstotliwość FSB z 667MHz do 800MHz. W nowej linii MacBooków zastąpiono również starzejące się już układy graficzne GMA950, na rzecz nowszych GMA X3100.

Cóż, mój MacBook niestety nie jest już najnowszy i najlepszy ;)