Blog webdeveloperski Patryk yarpo Jar

Tilt 3D – nowa jakość webinspekcji

Autor wiadomości Październik 28, 2011

Każdy z nas na pewno uwielbia firebuga. Część pewnie używa także innych dostępnych wtyczek pozwalających na podejrzenie wnętrza strony.

Niedawno na blogu mozilli znalazłem ciekawy wpis o wtyczce Tilt 3D pozwalającej podejrzeć stronę w 3D!

Sam zainstalowałem już tę wtyczkę (można ją znaleźć w bibliotece wtyczek ff, po zainstalowaniu dostępna z menu "narzędzia->dla programistów->Tilt" lub Ctrl+Shift+M).

Enjoy! 🙂

Tagged as: , , , , 2 Komentarze

Książka: “Lekcja programowania. Najlepsze praktyki”

Autor wiadomości Październik 6, 2011

Lekcja programowania. Najlepsze praktykiLekcja programowania. Najlepsze praktyki

Coraz szersze zastosowanie nowoczesnych technologii informatycznych wymaga coraz większej rzeszy ludzi, którzy potrafią programować. Programowanie to nie tylko pisanie działającego kodu (podobnie jak poezja to nie tylko stawiania liter na papierze w znośnym porządku).

Tak postawiona teza nasuwa pytanie - czym tak naprawdę jest programowanie? Na to pytanie każdy musi odpowiedzieć sobie sam. A książka "Lekcja programowania. Najlepsze praktyki" w pewnym stopniu powinna pomóc.

Obsługa błędów w JavaScript

Autor wiadomości Czerwiec 30, 2011

Błędy w oprogramowaniu - niestety - ale zdarzają się często. Czasem są to błędy składniowe, innym razem logiczne. Tu pokażę co zrobić, aby nasz skrypt nie wykładał się przy pierwszym lepszym błędzie. Wykorzystamy do tego zdarzenie `onerror'.

Książka “Dane testowe. Teoria i Praktyka”

Autor wiadomości Kwiecień 15, 2011

Okładka Dane testowe. Teoria i Praktyka

Istotną kwestią w wytwarzaniu oprogramowania jest jego niezwodność. Oczywiście, każdy programista marzy o tym, aby jego programy były wolne od błędów. Niestety są to marzenia złudne - programistów można podzielić na tych, którzy przyznają, że ich kod zawiera czasem błędy oraz na tych, którzy okłamują samych siebie.

Wraz ze wzrostem informatyzacji społeczeństw bardzo ważnym jest dostarczanie metod do prawidłowego testowania oprogramowania. Można już chyba nawet mówić o zupełnie oddzielnej branży testerów.

Po przeczytaniu książki "Dane testowe. Teoria i praktyka" odniosłem wrażenie, że autorzy próbują podejść do testów w sposób uporządkowany, może nawet naukowy.

JsDecoder

Autor wiadomości Kwiecień 7, 2011

Szukając pomysłu na odpowiednie rozwiązanie zdarza się zajrzeć do cudzego kodu - na co z resztą przeważnie pozwala licencja.

Niestety, dla developera, kod JS często poddawany jest zabiegowi kompresji, przez co staje się bardzo nieczytelny. Z kolei odkodowywanie pliku zawierającego kilka tysięcy linii kodu nie jest niczym najprzyjemniejszym.

Skoro jednak automat umiał skompresować kod, to i automat powinien umieć sformatować kod ponownie do czytelnej dla człowieka wersji.

Oto ciekawe narzędzie online potrafiące szybko "uczytelnić" skompresowany kod:

[JS] print_r w Javascript

Autor wiadomości Marzec 6, 2011

Nie wyobrażam sobie programowania w PHP bez funkcji print_r(). Zawsze doskwierał mi jej brak w JS...

Ale, przecież zawsze można napisać to samemu 🙂

function print_r(o)
{
    function f(o, p, s)
    {
        for(x in o)
        {
            if ('object' == typeof o[x])
            {
                s += p + x + ' obiekt: \n';
                pre = p + '\t';
                s = f(o[x], pre, s);
            }
            else
            {
                s += p + x + ' : ' + o[x] + '\n';
            }
        }
        return s;
    }
    return f(o, '', '');
}

“Silne typy” w PHP

Autor wiadomości Grudzień 22, 2010

PHP jeszcze do niedawna nie miał wcale kontroli typów, teraz to się już trochę zmieniło. Ja jednak uważam, że dla języka skryptowego, który nie jest kompilowany są lepsze sposoby na "wymuszenie" typu niż podawanie go jawnie. Jak? Zapraszam do lektury.

Na początek

Problem z typami

PHP jak to język skryptowy nie posiada silnej typizacji. Do zmiennej można przypisać cokolwiek i nie powoduje to błędu. To, że nie powoduje to błędu składniowego to dobrze. Ale co z logiką. przykładowy kod: