Zenedith's dev blog

Dałem się namówić.., szatanowi chyba..

Db_Table extends Zend_Db_Table_Abstract czyli..

Postanowiłem jeszcze bardziej zautomatyzować proces przepływu danych dla klas wygenerowanych za pomocą Propela, dziedziczących funkcjonalność po Zend_Db_Table_Abstract.

W ten sposób powstała klasa Db_Table (tak po prostu), która oferuje:

  • rekurencyjne dodawanie danych do tabeli bazowej i związanych z nią kluczami obcymi tabel
  • rekurencyjne update’owanie tabeli bazowej i związanych z nią kluczami obcymi tabel
  • metody zwracające wszystkie dane (wiersz) z tabel powiązanych kluczem obcym z tabelą bazową (automatyczne LEFT JOINY).

Z pewnością zawiera jeszcze pewne niedoskonałości ale zostaną one sukcesywnie poprawiane a features’y rozszerzane.
Czytaj dalej »

3 lipiec, 2009 Opublikował/a zenedith | web | , , | 2 komentarzy

Generowanie klasy Zend_Db_Table_Abstract z uzyciem Propel’a.

Zend Framework jest naprawdę fajną biblioteką do tworzenia w technologii PHP.
Tematem tego wpisu będzie sposób na wygenerowanie klasy dziedziczącej po Zend_Db_Table_Abstract
na podstawie schematu xml dla generatora Propel.

Zainspirował mnie do tego wpis ze strony bloga amnuts’a.

Przed przystąpieniem do pracy, wypadałoby zainstalować ten pakiet oraz dodatkowe wymagane – jest to opisane dokładnie tutaj.

Propel to ORM dla PHP, jeden z dwóch najbardziej rozpoznawalnych z Doctrine.
Do wygenerowania użyję Propela z tej prostej przyczyny, że miałem z nim już do czynienia oraz jego “obsługa” jest banalnie prosta.

Dlaczego wogóle używać Propela żeby wygenerować klasę Zend_Db_Table_Abstract skoro Propel załatwia i tak wszystko za nas bez żadnej ingerencji (dostajemy gotowe klasy z mapowaniem do tabel)?

M.in. dlatego, żeby nie dokładać kolejnych zależności do projektu, szczególnie gdy w jego skład wchodzi już bogata biblioteka Zend.

Czytaj dalej »

30 czerwiec, 2009 Opublikował/a zenedith | scripts, web | , , | Nie ma jeszcze komentarzy

JNI #1 – Eclipse + CDT + MinGW

Pisałem już o różnych językach skryptowych – postaram się opisać przynajmniej podstawy współpracy z cpp z każdym z nich. Dziś przedstawię jak wygląda współpraca Javy i cpp przez interfejs JNI (Java Native Interface).

Tak jak w temacie, pokażę jak napisać prosty pomost między Javą a cpp przy wykorzystaniu IDE Eclipse z biblioteką CDT5.0 oraz wykorzystując toolchain’a MinGW. O sposobie konfiguracji takiego środowiska wspomniałem już wcześniej, a więc zaczynamy. Czytaj dalej »

23 lipiec, 2008 Opublikował/a zenedith | cpp, java, scripts | , , , , , , | 4 komentarzy

Eclipse + Python = prawdopodobnie najlepsze IDE dla Pythona

Temat wpisu w oczywisty sposób nawiązuje do pewnej grupy reklam – ja z tego nic mieć nie będę ale tytuł pasuje jak ulał. Tak na marginesie.

Kontynuując “cykl” tematów dotyczących języków skryptowych, chciałem przedstawić, w jaki sposób wykorzystać moje ulubione IDE Eclipse do pracy z Python’em. Czytaj dalej »

17 lipiec, 2008 Opublikował/a zenedith | scripts | , , | Nie ma jeszcze komentarzy

Unreal Engine część 1

Unreal Engine

Unreal Engine

Na początek warto wiedzieć, że wiele gier wydawanych na tym silniku graficznym, zawiera oprócz gry, także edytor zawartości – celowo nie piszę edytor map, ponieważ to co teraz potrafi najnowsza odsłona tego silnika graficznego można nazwać “kombajnem”.

Punktem wyjścia do poznawania tej technologi jest strona Unreal Developer Network. Znajdują się tam informacje na temat modowania gier na 2 i 3 generacji silnika Unreal. Jeśli nie jesteśmy posiadaczem żadnej gry z edytorem UnrealEd, możemy pobrać wersję 2 (edukacyjną) i skorzystać z materiałów pomocnych przy jego poznawaniu. Czytaj dalej »

27 czerwiec, 2008 Opublikował/a zenedith | engine, game, scripts | , , | Nie ma jeszcze komentarzy

CPP -> skrypty zewnętrzne część 1

Pamiętam jeszcze czasy “zabaw” z C# i moment, w którym również szukałem języka skryptowego współpracującego z CS. Nie szukałem długo – C# w tej roli mi nie odpowiadał. Dowiedziałem się sporo dobrych rzeczy o Lua – zaliczam to na plus.

Pomijając całą tą otoczkę wokół samej Lua, zgłębiwszy podstawy współpracy Lua z C# do czegoś udało mi się dojść ;) Miałem jednak trochę pecha – projekt upadł. W zasadzie w tym momencie zatrzymała się moja dalsza eksploracja języka C#.

Wracam więc do głównego tematu. Oczywistym wyborem mogłaby być lua w “czystej” postaci, ale zdecydowałem się poszukać dalej. W zasadzie liczą się 4 możliwe rozwiązania z 6 podanych niżej:

  1. Wspomniana Lua,
  2. Mocno rozszerzalny Python,
  3. GameMonkey,
  4. AngelScript,
  5. Zawsze można stworzyć swój język skryptowy i parser, korzystając np. z  serii artykułów Złośliwca,
  6. Java przez interfejs JNI.

Bardzo dużo informacji na temat wiązania skryptów Python’a z cpp zawiera strona codesampler a konkretnie rozdział “Extending & Embedding Python with C/C++”.

Jeśli chodzi o Lua to warto odwiedzić stronę lua wiki, oraz docelowo podstronę z Code wrappers. Z dostępnych “Development environments” dla Lua najbardziej przypadło mi do gustu luaeclipse, z uwagi na IDE Eclipse.

Nie najgorzej czułbym się pisząc skrypty w Javie, wykorzystując technologię JNI. Jak się okazuje, język skryptowy używany przez engine Unreal – UnrealScript, ma wiele cech Javy ( i cpp).

29 grudzień, 2007 Opublikował/a zenedith | cpp, engine, game, scripts | , , , | Nie ma jeszcze komentarzy