Pokazywanie postów oznaczonych etykietą rozwiązania. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą rozwiązania. Pokaż wszystkie posty

niedziela, 9 sierpnia 2009

Titanium + python

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>

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.

wtorek, 4 listopada 2008

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.

  1. DLTK (Integration) link bezpośredni do paczki
  2. PDT2.0 (2.0.0 Integration Builds) link bezpośredni
  3. WTP (tą paczkę sugeruję pominąć, bo w Java EE już jest!)
Powyższe paczki rozpakowujemy i dodajemy do managera pakietów
  1. Help > Software Updates... > Available Software
  2. Add Site... > Local > dodajemy katalog rozpakowanego pakietu DLTK
  3. Add Site... > Local > dodajemy katalog rozpakowanego pakietu PDT2.0
  4. Add Site... > Local > dodajemy katalog rozpakowanego pakietu WTP
  5. Gdy odświeżenie listy pakietów nie wykona się automatycznie - wciskamy "Refresh"
  6. Zaznaczamy pakiet the "Dynamic Languages Toolkit - Core Frameworks .."
  7. Zaznaczamy pakiet "PDT Feature"
  8. Zaznaczamy "WTP Feature" (jeżeli jeszcze nie jest jest zainstalowany)
  9. Klikamy "Install"
Gdy wszystko przebiegnie pomyślnie uruchamiamy ponownie Eclipse i mamy PHP Development Tools w wersji 2.0 :). Teraz tylko New PHP Project i zabawa się zaczyna (:.

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

czwartek, 21 sierpnia 2008

Zend_View_Helper_Action jako aplet + Zend_View_Helper_Url = niespodzianka

Wykorzystując Zend_View_Helper_Action w layout-cie (jako aplet w layout)


$this->action('list','index','calendar', array('rowCount' => 5));


dostałem wyjątek

Zend_Controller_Router_Exception: module is not specified in ..


O co chodzi?
Na początku anializy myślałem że jest błąd w tym helperze i dispachowaniu akcji ale naszczęście się myliłem. Rozwiązanie problemu okazało się dużo bardziej trywialne jak i zaskakujące!

Wykorzystując pomocnik widoku Zend_View_Helper_Url w pliku widoku dla wywoływanej akcji (czyli list.phtml) nie można korzystać z "skróconej" wersji generowani url!

tj. zamiast

$this->url(array('action' => 'display','id' => $row->id),'frontend')

należy stosować pełny zapis

$this->url(array('module' => 'calendar','controller' => 'index','action' => 'display','id' => $row->id),'frontend')


EDIT:
Można stosować skróconą wersję pomocnika widoku dla akcji tylko 2gi parametr określający url w/w przykładzie nie może być 'frontend' tylko musi być domyślnym tj. musi zostać pominięty

dixi.