All articles
Poniedziałek 13 czerwca 2011
|
Wpisał %s Patryk yarpo Jar
|
poniedziałek, 13 czerwca 2011 22:43
Recenzje
/ Recenzje książek
|
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 )
|
|
Wpisał %s Patryk yarpo Jar
|
sobota, 11 czerwca 2011 13:02
Recenzje
/ Recenzje książek
|
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 )
|
|
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 )
|
|
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
|
|
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 )
|
|
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
|
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:
-
rule : /regexp/flags (literał wyrażeń regularnych)
-
rule : new RegExp("regexp", "flags") (konstruktor obiektu RegExp)
-
rule : "regexp" (string)
Kiedy walidacja?
Pole formularza jest walidowane gdy:
-
w obiekcie `items' występuje klucz taki sam jak wartość atrybutu `name' elementu formularza
-
w konfiguracji ustawiono `required = true'
-
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 )
|
|
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 )
|
|
Wpisał %s Patryk yarpo Jar
|
czwartek, 02 czerwca 2011 00:00
Recenzje
/ Recenzje książek
|
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 )
|
|
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 >>
|