• 2012 (3)
  • 2011 (51)
  • 2010 (38)
  • 2009 (36)
  • < marca 2014 >
    Pn Wt Ś Cz Pt So N
              1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    31            

    Weź udział!

    Logo konkursu Wolny Wybór

    wypróbuj

    Logo wielojęzycznego chatu

    : Home / blog / wpisy wg daty
    All articles

    Poniedziałek 13 czerwca 2011

    JavaScript - Programowanie obiektowe PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    poniedziałek, 13 czerwca 2011 22:43
    Recenzje / Recenzje książek

    Okładka JavaScript. Programowanie obiektowe

    W świecie JavaScript rewolucja za rewolucją. Na szczęście wyłania się już ścisła elita autorów, których będzie można polecać z zamkniętymi oczami i nie bać się ich cytować, będąc pewnym, że głupot nie gadają.

    Stoyan Stefanov - zapamiętać to nazwisko. 

    Połączenie Erica Meyera i Douga Crockforda. Zdecydowanie najlepsza książka o JavaScript (nie tylko obiektowym, ale całkowicie ujmująca temat) jaką przeczytałem. A proszę mi wierzyć - było ich kilka.

    Stawiam ją na równi z "Mocnymi stronami JavaScript" (D. Crockford) jeśli chodzi o wiedzę, którą autor przekazał w książce. Jednocześnie uważam, że jest o poziom lub dwa łatwiejsza do przyswojenia. Przykłady są bardziej intyicyjne, całość sprawia wrażenie pełnej prezentacji, a nie jedynie szczątkowych notatek.

    Pozycja nie tyle, że warta polecenia, co praktycznie obowiązkowa.

    Dla kogo?

    Sądzę, że całkowicie początkujący programiści (w jakimkolwiek języku) może powinni w ogóle wybrać inny język na początek. Jeśli jednak od pewnego czasu używasz JavaScript, zacząłeś nawet eksperymentować w zakresie obiektów i domknięć, a także wiesz, że JS nie ma klas - kup tę książkę. Jeśli któregoś z warunków nie spełniasz - kup tę książkę i przeczytaj dwa razy, a potem jeszcze raz. Naprawdę warto.

    Minusy:

    Aby nie zasłodzić - szkoda, że:

    1. W tłumaczeniu starano się tłumaczyć kod, przez co nazwy zmiennych mają postać "małpa", lub inne "ogonkowe" przypadki. Pierwszy raz się z czymś takim spotkałem (w FireFoksie nawet działa) i uważam to za antywzorzec. Zdecydowanie lepiej było zostawić przykłady. Dodatkow w kilku miejscach były z powodu tłumaczenia jakieś nieścisłości.

    2. W JSON klucz powinien być ujęty w cudzysłów (a nie w apostrofy), przynajmniej część walidatorów apostrofowany klucz uznaje za błędny.

    Więcej grzechów nie pamiętam.

    Polecam. Doradzam. Bardzo słuszny zakup.

    JavaScript. Programowanie obiektowe

    Wydawnictwo helion - 04/2010

    Read more
    Zmieniony ( poniedziałek, 13 czerwca 2011 22:43 )


    Sobota 11 czerwca 2011

    Programowanie obiektowe w PHP5 PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    sobota, 11 czerwca 2011 13:02
    Recenzje / Recenzje książek

    Okładka Programowanie obiektowe w PHP 5

    PHP jest bardzo przyjaznym i popularnym językiem. Jego popularność bierze się w głównej mierze z prostoty. Właśnie - prostoty, a nie prostactwa.

    PHP, szczególnie w wersji 5, jest naprawdę pełnoprawnym językiem programowania, pozwalającym na tworzenie dużych i skomplikowanych projektów. Książka Hasina Haydera próbuje pokazać możliwości piątej odsłony języka w zakresie OOP (programowania zorientowanego obiektowo).

    W książce spodobał mi się układ. Czytając miałem wrażenie, że tworzy ona całość. Tematy jakby wynikały jeden z drugiego. Pozycja nie jest zbyt obszerna (treści < 250 stron) i czyta się ją szybko i sprawnie. Tekst okraszony został sporą ilością kodu prezentującego aktuanie omawiane aspekty, co także przemawia na korzyść książki.

    Ucieszyło mnie także, że jeden rozdział został poświęcony testom jednostkowym, co uważam za bardzo poprawne w nauczaniu "nowego pokolenia" programistów.

    Ogólnie jestem zdania, że autor poradził sobie nieźle z tematem, który jest bardzo rozwlekły i trudno ująć w jednej książce wszystkie najważniejsze kwestie. Z pewnością będzie to dobra pozycja, która da nową wiedzę z zakresu wykorzystywania programowania obiektowego. Warto zrozumieć, że OOP to nie tylko używanie słów kluczowych `class', `private', `public'. To całkowicie inne podejście do pisania aplikacji.

    Aby nie było tak słodko, znalazłem też kilka uchybień - choćby stwierdzenie, że "obiekt" i "klasa" to synonimy. Wg mnie są to wyrazy silnie ze sobą powiązane, ale nie są synonimem. Także w przypadku polimorfizmu mam wrażenie, że autor nie do końca uchwycił to, co jest najważniejsze. Zdziwiło mnie także podejście do wzorca Singleton, który posiada publiczny konstruktor. Zawsze (w tym książce "Wzorce projektowe (...)" słynnej bandy czterech) mówiono mi, że konstruktor powinien być prywatny.

    Oceniam tę książkę jako dobre źródło wiedzy o OOP PHP 5 i mogę ją polecić każdemu, kto już potrafi pisać kod w PHP, a teraz chciałby zacząć robić to bardziej obiektowo. Z pewnością jednak część wiedzy w książce wymaga późniejszego doprecyzowania czy czasem walidacji. Mimo wszystko dla więcej niż początkujących (ale jeszcze nie zaawansowanych) polecałbym tę książką jako bardzo przystępną. Pewne potknięcia autora można potem zawsze nadrobić, a na pewno sporo można się z niej nauczyć.

    Programowanie obiektowe w PHP 5

    Wydawnictwo helion - 03/2009

    Read more
    Zmieniony ( sobota, 11 czerwca 2011 15:16 )


    środa 08 czerwca 2011

    Migracja z Joomla 1.5 do 1.6 : wideoturtorial PDF Drukuj Napisz e-mail
    Wpisał %s Jan Jackowicz-Korczyński
    środa, 08 czerwca 2011 13:01
    Joomla / Joomla - Tutoriale

    Szczegółowy opis migracji dostępny jest w poslkiej wersji na WIKI:

    http://wiki.joomla.pl/index.php/Migracja_Joomla_1.5_do_Joomla_1.6

    A poniżej widroturtorial z Youtube:

    Read more
    Zmieniony ( środa, 08 czerwca 2011 13:05 )

    Sieciowa społeczność rozwoju CMS Joomla PDF Drukuj Napisz e-mail
    Wpisał %s Jan Jackowicz-Korczyński
    środa, 08 czerwca 2011 12:22
    Joomla / Artykuły

    W sieci są dostepne odpowiedznie mechanizmy dla właczenia się w rozwój CMS Joomla zarówno pzrez programistów jak również użytkowników mających konkretne uwagi na temat funkconalności lub ewentualnych błedów systemu. Zaintersowanym polecamy Joomla! Bug Squad (JBS)

    JBS to grupa robocza zespółu w produkcji . Jej zadaniem jest identyfikować i naprawić błędy w Joomla. Obejmuje następujące czynności:

    Bug Squad jest również wsparciem w zakresie testowania i kontroli jakości dla nowych wersji. Szczególnie dużą rolę wypełnia na etapie pzrejścia od wersji BETA do wersji stabilnej.

    Bug Squad powstał w grudniu 2007 roku. W maju 2010 r., JBS został zorganizowany w następujące zespoły:

    • Tracker Team - monitoruje fora i trackerów
    • Team Kodowania - tworzy łaty dla stwierdzonych problemów
    • Testing Team - testy nierozstrzygniętych kwestii
    • Automated Testing Team - tworzy automatyczny system i testów jednostkowych do spraw tracker
    • Migracja / Upgrade Team - odpowiedzialną za wspieranie migracji i aktualizacji z poprzedniej wersji do bieżącej wersji.

    Zespoły te nie są sztywne, a członkowie JBS mogą uczestniczyć w wybranych pzrez siebie zespołach.

    Jeśli jesteś członkiem JBS, można także dołączyć do grupy JBS w people.joomla.org.

    Read more

    CMS Joomla - 1.7 : przyspieszenie rozwijania systemu. PDF Drukuj Napisz e-mail
    Wpisał %s Jan Jackowicz-Korczyński
    środa, 08 czerwca 2011 12:17
    Joomla / Artykuły

    Coraz większa grupa deweloperów oraz testerów pracuje nad rozwijaniem systemuCMS JOOMLA. Dnia 5 czerwca została opublikowana wersja ALFA systemu w wersji 1.7. Planowane wydanie wersji finalnej przewidywane jest na lipiec 2011.

    Wersja 1.7 będzie bezpośrednim następcą aktualnej wersji 1.6.3. Nowa wersja nie przewiduje tak znaczących zmian jak wporwadzenie wersji 1. 5, czy 1.6.

    Jedną ze zmian w wersji 1.7 to  separacja Platformy (czyli w praktyce plików z katalogu libraries/joomla) od CMS-a.

    Przewidyane są równiez istotne zmiany w części administracyjnej systemu. Powołano grupę J!UX (Joomla! User eXpirience), która będzie miała na celu prace nad nowym designem dla backendu.  MA to być odpwiedzią  deweloperó joomla na konkurencyjne systemy zarządzania treścią, w których z kolejnymi wersjami, interfejs administratora zmieniał się na korzyść użytkownika.

     

    Poniżej harmonogram planowanego rozwoju systemu:

     

    • 05 czerwca - alfa Joomla 1 dopuszczony do publicznych testów
    • 10 czerwca - zamrożenia zmian dla przygotowanie wersji beta
    • 13 czerwca - beta 1  dopuszczone do publicznych testów
    • 27 czerwca - beta 2 dopuszczone do publicznych testów
    • 4 lipca - w wersji 11.1 platformy przygotowane do wydania
    • 10 lipca - Joomla 1.7 wydanie GA
    • 10 sierpnia - Joomla 1.6  koniec rozwoju -  nie będzie już obsługiwane
    • Styczeń 2012 - uwolnienie kolejsnej  wersj1 Joomla
    • Kwiecień 2012 - Koniec rozwoju i supportu Joomla 1.5

    Jak widać przyjęto SZYBKA ŚCIEŻKĘ kolejnych zmian, niekoniecznie zbyt rozległych ale częstych. Czyżby deweloperzy Joomla wzorowali sie na szybkiej ścieżce rozwoju zastosowanej pzrez Google dla pzreglądarki CHROME?

     

    Więcej o zmianach można przeczytać:

    http://www.joomla.org/announcements/release-news/5372-joomla-17-alpha-released.html

    Read more
    Zmieniony ( środa, 08 czerwca 2011 12:54 )


    Wtorek 07 czerwca 2011

    Libre Office - następca Open Office PDF Drukuj Napisz e-mail
    Wpisał %s Jan Jackowicz-Korczyński
    wtorek, 07 czerwca 2011 10:06
    Oprogramowanie / Edytory

    LibreOffice jest pakietem biurowym zarządzanym i rozwijanym przez społeczność, a także projektem organizacji not-for-profit – The Document Foundation. Powstało na bazie OPEN OFFICE.

    Jest dostępna wersja dla Widows, Mac Os oraz Linuxa. Aktualnie obserwowana dynamika rozwoju pakietu dobrze mu rokuje. Poczekamy, zobaczymy....

    Read more
    Zmieniony ( wtorek, 07 czerwca 2011 10:08 )


    Poniedziałek 06 czerwca 2011

    yFormValidator - prosta walidacja formularzy PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    poniedziałek, 06 czerwca 2011 20:49
    Java Script / Artykuły JS

    Niedawno opublikowałem mój walidator formularzy yFormValidator. W tym artykule pokażę dokładniej możliwości tego bardzo prostego frameworka walidacyjnego.

    Jeśli nie interesuje Cię część teoretyczna, skocz do praktyki.

    Predefiniowane klasy

    yFormValidator posiada kilka z góry zdefiniowanych klas służących do walidacji. Są to:

    • 'not empty' - niepusty ciąg znaków
    • 'alphanumeric' - litery, cyfry oraz podkreślenie, bez białych znaków
    • 'integer' - liczby całkowite (dodatnie i ujemne)
    • 'decimal' - liczby rzeczywiste (dodatnie i ujemne)
    • 'date' - data w formacie dd/mm/rrrr, od roku 1600 [uwzględnia lata przestępne, liczby dni w miesiącach itp.]
    • 'email' - adres e-mail

    Nie gwarantuję, że stworzone przeze mnie wyrażenia regularne są prawidłowe i na pewno nie przepuszczą żadnych nieprawidłowych danych.

    Własne wyrażenia regularne

    Prócz wyżej wymienionych zdefiniowanych klas można podać także własne wyrażenie regularne, istnieją 3 sposoby:

    1. rule : /regexp/flags (literał wyrażeń regularnych)
    2. rule : new RegExp("regexp", "flags") (konstruktor obiektu RegExp)
    3. rule : "regexp" (string)

    Kiedy walidacja?

    Pole formularza jest walidowane gdy:

    1. w obiekcie `items' występuje klucz taki sam jak wartość atrybutu `name' elementu formularza
    2. w konfiguracji ustawiono `required = true'
    3. pole ma co prawda `required = false' ale posiada jakąś wartość

    Prosty przykład

    {codecitation class='brush: html'}<html>
    <head>
        <title>Walidacja formularza RegExp</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
        <script type="text/javascript" src="yFormValidator.js"></script>
        <script type="text/javascript">
        // funkcje potrzebne do odpowiedniego kolorowania formularza
        function invalid()
        {
            this.style.borderColor = "red";
            return false;
        }
        function valid()
        {
            this.style.borderColor = "green";
            return true;
        }
    
        window.onload = function()
        {
            var data = {
                form : 'info-form',
                error : function(rule)
                {
                    return invalid.call(this);
                },
                success : function(rule)
                {
                    return valid.call(this);
                },
                items : {
                    'name' : { rule : 'not empty', required : true },
                    'age'  : { rule : 'integer', required : false },
                    'height' : { rule : 'decimal', required : false },
                    'date'  : { rule : 'date', required : true },
                    'email' : { rule : 'email', required : true },
                    'site'  : { rule : (/^http\:\/\//), required : false }
                }
            };
            yFormValidator( data );
        }
        </script>
    </head>
    <body>
        <form action="#" id="info-form">
            Imię i nazwisko*: <input type="text" name="name" /> (dowolny niepusty ciąg znaków)<br />
            Wiek: <input type="text" name="age" /> (liczba całkowita)<br />
            Wzrost (w metrach): <input type="text" name="height" /> (liczba rzeczywista)<br />
            Data dd/mm/yyyy*: <input type="text" name="date" /> (dd/mm/yyyy), powyżej 1600<br />
            E-mail*: <input type="text" name="email" /> (poprawny składniowo adres e-mail)<br />
            WWWW : <input type="text" name="site" /> (adres zaczynający się od http)<br />
            <input type="submit" value="gotowe" />
        </form>
    </body>
    </html>{/codecitation}

    Zobacz demo online

    Uruchamiając ten przykład możemy dostrzec kilka problemów:

    • wiek, czy wzrost mogą być ujemne, a mimo to przejdą walidację.
    • data może być poprawna, np. "10.10.2000", a mimo to nie przejdzie (wymaganym znakiem jest "/" - nie ".")
    • wzrost może być poprawny, np. "1,65", a mimo to nie przejdzie walidacji (wymagana jest ".", a nie ","). Dodatkowo warto byłoby mieć tylko dwa miejsca po przecinku, a "1.789997788" nadal jest poprawną liczbą rzeczywistą (dodatnią)

    Aby to naprawić, spróbujmy wykorzystać funkcje obsługi zdarzeń `error' oraz `success' dla wskazanych pól.

    Obsługa zdarzeń

    Najpierw naprawię "poprawnie" podany wiek. W funkcji obsługi `success' operator `this' wskazuje na element formularza o atrybucie `name="age"'. Możemy zatem łatwo sprawić jego wartość:

    {codecitation class='brush: javascript'}...
    'age' : { rule : 'integer', required : false,
        success : function()
        {
            if (this.value < 0)
            {
                // mogłoby być:
                // this.style.borderColor = 'red';
                // return false
                return invalid.call(this);
            }
            return valid.call(this);
         }
    },
    ...{/codecitation}

    Zobacz demo online

    W tym wypadku w przypadku, kiedy walidacja przejdzie pomyślnie jeszcze raz upewniamy się, czy oby na pewno wszystko jest poprawnie. Jeśli ktoś podał ujemną liczbę zwracamy `false', co jest rozumiane przez skrypt tak samo jakby pole nie przeszło walidacji wyrażeniem regularnym.

    Ciekawić Cię może dziwne wywołanie funkcji `valid' oraz `invalid'. Dzięki wykorzystaniu metody `call' wewnątrz tych funkcji operator `this' będzie wskazywał na element fomrularza (czyli na to samo, co wewnątrz funkcji `error'/`success').

    {codecitation class='brush: javascript'}...
    'date' : { rule : 'date', required : true,
        error : function(rule)
        {
            var val = this.value.replace(/[\-\. \\]/g, "/");
            if (rule.test(val))
            {
                this.value = val;
                return valid.call(this);
            }
            return invalid.call(this);
        }
    },
    ...{/codecitation}

    Zobacz demo online

    Został jeszcze jeden przypadek "prawidłowych - nieprawidłowych danych". Kiedy ktoś poda nieszczęsny przecinek zamiast kroki. Prawdziwa zmora programistyczna. A przecież można łatwo załatać:

    {codecitation class='brush: javascript'}...
    'height' : {
        rule : 'decimal',
        required : true,
        success : function(rule) {
            if (this.value > 0)
            {
                this.value = Number(this.value).toFixed(2);
                return valid.call(this);
            }
            return invalid.call(this);
        },
        error : function(rule) {
            var val = this.value.replace(/[,]/g, ".");
            if (rule.test(val) && val > 0)
            {
                this.value = Number(val).toFixed(2);
                return valid.call(this);
            }
            return invalid.call(this);
         }
    },
    ...{/codecitation}

    Zobacz demo online

    Warto przypomnieć, że sam framework ma rozmiar 3,29kB, wersja skompresowana jedynie 1,64kB.

    Przydatne linki

    Read more
    Zmieniony ( poniedziałek, 06 czerwca 2011 20:59 )


    Piątek 03 czerwca 2011

    JavaScript na poważnie PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    piątek, 03 czerwca 2011 10:39
    Java Script / Artykuły JS

    {edocs}http://yarpo.pl/download/javascript-by-yarpo-1.1.pdf,750,500,link{/edocs}

    Jest to fragment mojej pracy magisterskiej o tytule „Zastosowanie nowoczesnych frameworków  wspierających Ajax do budowy aplikacji internetowej TCT”. Pisanie tej pracy jest częściowo wpierane przez projekt NOR-STA (nor-sta.eu).

    Byłbym wdzięczny za wszelkie uwagi.

    Praca opublikowana także na stronie:

    Read more
    Zmieniony ( wtorek, 20 września 2011 13:09 )


    Czwartek 02 czerwca 2011

    Wstęp do HTML5 i CSS3 PDF Drukuj Napisz e-mail
    Wpisał %s Patryk yarpo Jar
    czwartek, 02 czerwca 2011 00:00
    Recenzje / Recenzje książek

    Okładka Wstęp do HTML5 i CSS3

    Internet rządzi światem. Może trochę przesadzona teza, jednak na pewno sporo w niej prawdy. Zabierzcie ludziom książkę, to przeżyją, zamknijcie kino lub nie dostarczcie gazety - dadzą radę. Odbieżcie im internet - zaczną się zamieszki.

    Nie jest też niczym odkrywczym, że większość rzeczy jakich szukają ludzie w Internecie znajduje się na stronach WWW (lub aplikacjach webowych, czyli bardzo skomplikowanych stronach WWW). Nie dziwi zatem fakt, że technologie internetowe przeżywają teraz prawdziwą rewolucję. Od lat nie zmieniany HTML i CSS wreszcie doczekały się kolejnych generacji. Mowa tu o HTML5 oraz CSS3. Ich autorami nie są naukowcy czy teoretycy, którzy nie wiedzą czego chcą internauci. Szczególnie w przypadku HTML5 inicjatywa wyszła od WHATWG (m. in. Apple, Mozilla, Opera). Można zatem uznać, że z jednej strony są to ludzie, którzy wiedzą o co w kwestaich webowych chodzi, a z drugiej to w końcu producenci przeglądarek. Co zrobić z najlepszą technologią, jeśli nie jest wspierana przez żadną przeglądarkę?

    Póki co na rynku wydawniczym o HTML5 i CSS3 nie pisze się zbyt wiele. W Polsce pozycja Bartosza Danowskiego jest jedną z pierwszych, jeśli nie pierwszą wydaną.

    Książka jest całkiem solidnym zbiorem nowinek wprowadzonych w nowych wersjach dobrze znanych języków. Czyta się ją szybko i sprawnie, czasem wręcz myśląc, ze dany przykład jest wręcz zbędny. To opinia osoby, która w HTML i CSS porusza się bardzo biegle. Mam jednak pewne obawy co do tego, czy osoby początkujące równie szybko i bezproblemowo zrozumieją o co chodzi w zwięzłych i treściwych przykładach? Z własnego doświadczenia wiem (czy to jako ucznia, czy nauczyciela), że zdecydowanie łatwiej dla początkujących jest uczyć się z pełnych przykładów gotowych rozwiązań. Ta książka nie jest tutorialem w stylu "jak wykorzystać wszystkie możliwości HTML5 i CSS3 w jednym projekcie". Mimo że jest rozdział, gdzie pokazana pełny przykład strony w tych owych technologiach, to mam pewien niedosyt - w końcu to miał być wstęp. Z drugiej strony - wstęp do HTML5 i CSS3, a nie do tworzenia stron w ogóle.

    Nie doznałem olśnienia czytając tę książkę. Autor nie oczarował mnie, nie sprawił, abym z błyskiem w oczach czekał na kolejną jego książkę. Uważam jednak, że bardzo solidnie przyłożył się do napisania tej książki i na pewno będzie ona dobrym źródłem wiedzy. Całość wydaje mi się poukładana z pomysłem i logicznie. Autor po kolei przedstawia następne właściwości czy znaczniki i opisuje ich działanie. Plusem zdecydowanie jest podanie także informacji o tym, w jakiej przeglądarce dany element zadziała, a w jakiej nie mamy na co liczyć.

    Ja trochę żałuję, że nie znalazło się tam miejsce dla API javoscriptowych nowych elementów HTML5.

    Póki co HTML5 i CSS3 są jeszcze w powijakach. Mam nadzieję, że jak najszybciej technologie te zawitają pod strzechy jako pełne standardy. Książka Bartosza Danowskiego na pewno przyda się w zrobieniu pierwszego kroku oraz później jako źródło informacji o pewnych właściwościach. Jeśli kogoś nie przeraża cena, wydaje mi się to solidną propozycją.

    Wstęp do HTML5 i CSS3

    Wydawnictwo helion - 05/2011

    Read more
    Zmieniony ( czwartek, 02 czerwca 2011 19:25 )


    środa 01 czerwca 2011

    Nowości w API Youtube PDF Drukuj Napisz e-mail
    Wpisał %s Jan Jackowicz-Korczyński
    środa, 01 czerwca 2011 12:56
    Multimedia / video

    Posnick Jeffrey, Jarek Wilkiewicz, Greg Schechter pzredstawiają na wideoclipie nowe możliowści stosowania API Youtube dla zamieszczania filmów w swoich sieciowychserwisach.  Omawiają zastosowanie iframe Flash wideo ale także HTML5.  Polecają  bogate API umożliwiające kontrolowanie i sterowanie odtwrzaczem.

     

    Read more
    Zmieniony ( środa, 01 czerwca 2011 13:04 )

    Strona 12 z 94
    << Początek < Poprzednia 11 12 13 14 15 16 17 18 19 20 Następna > Ostatnie >>