W poprzednim poście pokrótce omówiłem RIA Titanium.
Bawiąc się w tym środowisku pisze projekt monitora dla Blip.pl.
Wszystko wychodziło w miarę sprawnie aż do momentu gdy chciałem załączyć bibliotekę pythona.
W dokumentacji jest opisane jak dodać własny moduł pythona do Titanium ale niestety po kilkunastu próbach ten sposób u mnie nie zadziałał!
Dzisiaj rano znalazłem rozwiązanie problemu załaczania modułów pythona do Titanium.
(nie na Google ale na Tweeterze coraz bardziej podoba mi się micro bloging)
Całość jest trywialna! wystarczy dołączyć swoją bibliotekę pythona do Titanium w następujący sposób:
<script type=”text/python” src=”app://app.py”></script>
niedziela, 9 sierpnia 2009
Titanium + python
Titanium, RIA dla webmasterów
Titanium jest narzędziem do tworzenia RIA (bogatych aplikacji internetowych) i przypomina delikatnie Adobe AIR.
Główne różnice pomiędzy Titanium a Adobe AIR to (w/g jednodniowego audytu):
- Titanium jest otwarto źródłowe
- w Titanium można kodować w python-ie i ruby - wystarczy umieścić ot.. taki kawałek kodu (np. w pliku: index.html)<script type="text/python">
def getLatest():
return 'test pythona'
</script>
<script type="text/javascript">
window.document.write(getLatest()); // wynik: "test pythona"
</script>
Ponadto Titanium posiada świetne narzędzie do zarządzania projektami (Bardzo Web 3.0).
Również jak w Adobe AIR i w Titanium wystarczy znajomość (x)HTML i JavaScript by zbudować pierwszą aplikację internetową.
Minusem jest jeszcze niepełna dokumentacja ale jak zawsze zachęcam do zajrzenia do "środka" by wiedzieć więcej :)
Więcej szczegółów na stronie głównej Titanium, a poniżej filmik demonstrujący możliwości tworzenia bogatych aplikacji.
Titanium Developer - Preview Release 3 Features from Appcelerator Video Channel on Vimeo.
środa, 12 listopada 2008
Zend_View_Helper_HeadScript->appendFile() psuje integrację z Google Maps API
Zend Framework umożliwia specjalizację finalnego widoku(layoutu) dla każdej z akcji poprzez tzw. helpery("pomocniki") widoku. Jak to się dzieje odsyłam do podręcznika.
Wszystko działało idealnie do dnia gdy nadeszła chwila integracji stronki z Google Maps API.
W widoku akcji korzystam z wymiotnego w temacie pomocnika:
$this->headScript()
->appendFile('http://maps.google.com/maps?file=api&v=2&key='.$this->apiKey);
nagłówek strony produkuje mi coś takiego:
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAnCqO9l1WMOgTCJlg9kVlMRREqxHjot-MVdGv4W7rNtdAWxNh4hS2-gRBnLrWFzhAC8SpBzYmGVYZgA" type="text/javascript"/>
a powinien
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAnCqO9l1WMOgTCJlg9kVlMRREqxHjot-MVdGv4W7rNtdAWxNh4hS2-gRBnLrWFzhAC8SpBzYmGVYZgA" type="text/javascript"></script>
jak łatwo zauważyć problem leży w & -> &.
Inicjowanie map googla tej zmiany nie lubi. Problem tkwi w funkcji htmlspecialchars, użytej w Zend_View_Helper_HeadScript::append() itd.
Żeby nie ingerować w kod w/w klasy można zastosować funkcję htmlspecialchars_decode w szablonie w następujący sposób...
// & -> & becouse gmaps crash!
print htmlspecialchars_decode($this->headScript());
.. i wszystko działa, tak jak powinno od samego początku.
(Zastanawiam się czy ZF nie jest aż nad to ostrożny w wszystkim [ma to plusy .. i minusy])
Pozdrawiam.
wtorek, 4 listopada 2008
Pełen ekran - gry się sypią - Ubuntu 8.10 64bit ATI HD3200
Problem grania na pełnym ekranie? paski, szumy? Jak zwykle rozwiązanie jest banalne (:
Kombinacja klawiszy Ctrl + Enter, zmienia nam możliwość gry w "fullscrean" na "window".
A jak grać bez tego "hacka" na pełnym ekranie?
Dyskusja trwa na ubuntuforums.org
link bezpośredni:http://ubuntuforums.org/showthread.php?t=958400&highlight=HD+3200
Monitoruję ten wątek, zobaczę czy zostanie rozwikłany ten problem, na chwilę obecną wygląda na to że wina leży po stronie x.org i jedyne rozwiązanie to granie w opcji "window".
Touchpad z scrollerm w Ubuntu 8.10 na HP 6735s
By cieszyć się możliwością przewijania tekstu za pomocą touchpada wystarczy dodać wpis w pliku: /etc/X11/xorg.conf.
Otwieramy plik do edycji poleceniem w terminalu:sudo gedit /etc/X11/xorg.conf
Jeżeli nie ma w nim sekcji "Section "InputDevice"" to wklejamy poniższy kod,
w przeciwnym wypadku ostrożnie i na własną odpowiedzialność tą sekcje modyfikujemy.
Section "InputDevice"
Driver "synaptics"
Identifier "TouchPad"
Option "Device" "/dev/input/mouse1"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.09"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0015"
Option "SHMConfig" "on"
EndSection
Wszystko pięknie działa na Ubuntu 8.10 64bit i HP 6735s (:
niedziela, 19 października 2008
Instalacja OpenOffice3 w Ubuntu 8.10 64bit
Na chwilę obecną nie ma gotowej paczki OpenOffice3 na 64bit Ubuntu, aby to obejść należy postępować dokładnie jak opisano w tej instrukcji instalacji OpenOffice3.
Jedyna zmiana jaka nas czeka to modyfikacja polecenia:sudo dpkg -i *.deb
na:sudo dpkg --force-architecture -i *.deb
Została zastosowana flaga --force-architecture, która wymusza przetworzenie pakietów dla innej architektury.
piątek, 17 października 2008
Eclipse Ganymede + PDT2.0 na ubuntu 64bit
PHP Development Tools w wersji 2.0 ujrzy światło dzienne 29 grudnia 2008 roku, ale to mi nie przeszkadza by pracować na wersji rozwojowej (:.
Poniżej przedstawiam przetłumaczony poradnik instalacji PDT2.0 na najnowszej wersji mojego ulubionego IDE Eclipse.
Pobieramy i rozpakowujemy Eclipse IDE for Java EE Developers (162 MB) do wybranego katalogu.
Do pełni szczęścia brakuje nam jeszcze trzech paczek.
- DLTK (Integration) link bezpośredni do paczki
- PDT2.0 (2.0.0 Integration Builds) link bezpośredni
- WTP (tą paczkę sugeruję pominąć, bo w Java EE już jest!)
- Help > Software Updates... > Available Software
- Add Site... > Local > dodajemy katalog rozpakowanego pakietu DLTK
- Add Site... > Local > dodajemy katalog rozpakowanego pakietu PDT2.0
- Add Site... > Local > dodajemy katalog rozpakowanego pakietu WTP
- Gdy odświeżenie listy pakietów nie wykona się automatycznie - wciskamy "Refresh"
- Zaznaczamy pakiet the "Dynamic Languages Toolkit - Core Frameworks .."
- Zaznaczamy pakiet "PDT Feature"
- Zaznaczamy "WTP Feature" (jeżeli jeszcze nie jest jest zainstalowany)
- Klikamy "Install"
Uwaga na koniec, w Eclipse Ganymede w okienku "Software Updates" jest możliwość wpisywania nazw pakietów należy w tym polu wpisywać pełne nazwy pakietów do instalacji a nie ich akronimy tj. zamiast DLTK należy wpisać Dynamic Languages Toolkit
