Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: JoShiMa, dodany: 21.05.2010 02:00, tagi: sql

W przypadku najprostszej implementacji struktury drzewiastej w bazie, jaką opisałam w pierwszym artykule tej serii, przeniesienie całej gałęzi do nowej lokalizacji jest zagadnieniem trywialnym. Wystarczy zmienić wartość parametru ‘parentID’ odpowiedniego rekordu i już. Jeśli chodzi o drzewo typu nested set, nie jest to już takie proste. Przeniesienie gałęzi wymaga przeliczenia parametrów ‘lft’ i ‘rgt’ wielu [...]

Autor wpisu: batman, dodany: 20.05.2010 12:00, tagi: php

Mam dzisiaj dla was niespodziankę – darmową książkę pod tytułem “PHP5. Programowanie z wykorzystaniem Symfony, CakePHP, Zend Framework”. Jej opis możecie znaleźć w serwisie helion.pl. Książka jest nowa, kilka razy otwierana.

Dlaczego chcę oddać tą książkę?

Ponieważ informacje w niej zawarte nie są mi do niczego potrzebne. Zend Frameworka znam na tyle dobrze, że potrafiłbym wytknąć autorom kilka błędów, Cake mnie nie interesuje, podobnie jak Symfony.

Czy książka jest warta uwagi?

To zależy. Ja nic ciekawego w niej nie znalazłem. Z drugiej jednak strony ktoś, kto posiada już jakąś wiedzę na temat danego frameworka, może chcieć tą wiedzę uporządkować. Jeśli chcecie poznać opinie na temat tej książki, odsyłam na forum.php.pl. Znajdziecie tam stosowny temat.

Jak zdobyć książkę?

Jeśli nadal jesteście zainteresowani książką, wystarczy, że napiszecie do mnie wiadomość (w prawej kolumnie znajduje się link do formularza kontaktowego). W temacie wiadomości wpiszcie Oddam książkę w dobre ręce (ortografia, wielkość liter oraz polskie znaki mają znaczenie). Ponieważ książkę mam tylko jedną, oddam ją pierwszej osobie, która wyśle wiadomość. Jedyny koszt jaki trzeba będzie ponieść w związku z książką, to opłata za przesyłkę. Rodzaj przesyłki ustalę bezpośrednio z osobą,  która wygra książkę.

Zapraszam do zabawy.

Autor wpisu: Damian Rusinek, Piotr Wierzgała, dodany: 19.05.2010 16:11, tagi: framework

Na konferencji Flash Camp 2010 Rafał Szemraj przedstawił w krótkim przemówieniu nowy framework do Flexa – Tequila. Jest to framework oparty na PureMVC z domieszką Fabrication. Niestety nie miałem jeszcze czasu zaznajomić się z nim dogłębniej, ale jak tylko znajdę czas to na pewno napisze jak mi się z nim pracuje :)

Ciekawym rozwiązaniem jest dołączenie do frameworka konsoli napisanej w AIR, która pomaga debugować program.

Po więcej informacji odsyłam na stronę autora.

Autor wpisu: batman, dodany: 18.05.2010 20:33, tagi: javascript

Co to jest Deep Zoom?

Podczas poznawania Silverlighta natknąłem się na ciekawą technologię – Deep Zoom. Pozwala ona na przeglądanie obrazów o wysokiej rozdzielczości w bardzo prosty i intuicyjny sposób. Deep Zoom pozwala na płynną zmianę wielkości przybliżenia (zoom) oraz na ładowanie poszczególnych elementów obrazu.

Gdzie stosować Deep Zoom?

Wszędzie tam, gdzie wymagane są operacje na dużych obrazach. Microsoft podaje trzy główne zastosowania:

  • przeglądanie obrazów o bardzo dużej rozdzielczości. Do obrazów takich można zaliczyć np mapę, która w zależności od wartości przybliżenia, pozwala oglądać kolejne szczegóły danego miejsca
  • fotografia 3D – dzięki zastosowaniu kolekcji, można stworzyć na podstawie samych zdjęć, model 3D miejsca, które zostało sfotografowane
  • reklama, którą można przybliżać i oddalać w celu poznania innych szczegółów reklamowanego produktu

Jak korzystać z Deep Zoom?

Jeśli myślicie, że trzeba w tym celu skorzystać z Silverlighta, to macie rację. Ale nie do końca. Microsoft przygotował bibliotekę Javascript o nazwie Seadragon Ajax, która oferuje praktycznie te same możliwości co Silverlight (oczywiście w kontekście Deep Zoom). Zanim będzie można skorzystać z możliwości jakie oferuje Deep Zoom, należy wpierw przygotować zdjęcie. W tym celu należy pobrać darmową aplikację Deep Zoom Composer, a następnie przy jej pomocy przygotować zdjęcie. W skrócie, polega to na stworzeniu szeregu folderów, w których przechowywane są zdjęcia o odpowiednich rozmiarach dla każdego z poziomów przybliżenia. Więcej szczegółów technicznych można znaleźć na stronach MSDN.

Kilka słów o Seadragon Ajax

Seadragon Ajax jest biblioteką Javascript umożliwiającą operowanie obrazem w formacie Deep Zoom. Oferuje ona te same możliwości co Silverlight, z jednym wyjątkiem. Nie obsługuje kolekcji.

Korzystanie z biblioteki jest niezmiernie proste i sprowadza się do napisania kilku wierszy kodu. Na sam początek należy dołączyć do strony bibliotekę.

<script type="text/javascript" src="http://seadragon.com/ajax/0.8/seadragon-min.js"></script>

Następnie wystarczy na obiekcie Viewer wywołać metodę openDzi i gotowe.

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: sokzzuka, dodany: 18.05.2010 09:06, tagi: php

Phpdoc jest bardzo przydatnym narzędziem używanym do automatycznego generowania dokumentacji z kodu. Ma on jednak poza tym jeszcze inne zastosowania.

Jednym z nich, a właściwie zastosowaniem jego tagów jest pomoc w podpowiadaniu kodu. Jako, że większość swoich projektów php-owych pisze w Netbeans, postanowiłem przybliżyć kilka sposobów na ułatwienie sobie życia.

Jeszcze krótkim słowem wstępu, jak wyglądają tagi phpdoc-a ?

/**
* @param integer $a
*/
function foo($a){
    return $a+1;
}

Jak widzimy tagi pisane są w komentarzu, który zaczyna się od dwóch gwiazdek ‘/**’ i znaku nowej linii. Otwierając komentarz i pisząc właśnie ‘/**’ i wciskając enter, netbeans sam wstawi nam template do uzupełnienia tagów.

Pytanie teraz, jak tagi phpDoc-a mogą nam ułatwić życie, poprawić komfort pisania kodu ? To proste, w php nie da się deklarować typu zmiennych oraz tworzyć typowanych argumentów funkcji (oprócz typowania na klasy i interfejsy). Wobec tego IDE ma ograniczone możliwości podpowiadania. Co więcej, gdy używamy magicznych funkcji __get i __set, sprawa staje się jeszcze bardziej beznadziejna.

Przydatne tagi i przykłady zastosowania:

  • /*@var $zmienna NazwaKlasy */ -  używany wewnątrz funkcji, działa jak deklaracja typu zmiennej w językach statycznie typowanych, np. C czy Javie (tag obsługiwany tylko w netbeans)
  • @var TypParametru – używany w klasie przed deklaracją właściwości klasy
  • @param TypParametru $zmienna – używany przed deklaracją metody/funkcji mówi jaki typ ma parametr przekazywany do funkcji
  • @property TypParametru $zmienna – używany przed deklaracją klasy, informuje o właściwościach klasy implementowaych przez magiczne metody __get i __set
  • @property-read – j.w tylko dla właściwości tylko do odczytu
  • @property-write – j.w tylko dla właściwości tylko do zapisu
  • @method TypZwracany nazwaMetody() - używany przed deklaracją klasy, deklaruje metodę implementowaną przez magiczną metodę __call
  • @return TypZwracany – informuje o typie zwracanym przez funkcje/metodę

Dzięki stosowaniu tych tagów w swoich projektach, można wymiernie poprawić swoją efektywność w pisaniu kodu, oraz jako skutek uboczny mieć automatycznie wygenerowaną podstawową dokumentacje.

P.S inne edytory też to obsługuja (np. Eclipse)

Autor wpisu: JoShiMa, dodany: 17.05.2010 01:00, tagi: sql

Skoro pokazałam już jak wygląda struktura drzewa nested set oraz jak wczytać całe drzewo a także jak pobrać wybraną gałąź, pora zająć się dodawaniem rekordów do omawianej struktury. W przypadku najprostszej implementacji struktury drzewiastej w bazie, jaką opisałam w pierwszym artykule tej serii, dodanie kolejnego rekordu jest proste i wymaga wykonania jednego zapytania. Wystarczy tylko aby [...]

Autor wpisu: Damian Tylczyński, dodany: 15.05.2010 21:14, tagi: php

Poświęciłem kilka minut na zaprezentowanie i skomentowanie nowej propozycji, która pojawiła się na stronach wiki PHP. Jest naprawdę ciekawie.
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.