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, 16 października 2008

Ubuntu 64bit i HP 6735s

Nowy nabytek laptop HP 6735s i nowe Ubuntu 8.10 w drodze.
Jako że laptop jest wyposażony w procesor AMD Puma z wsparciem 64bit instalacja Ubuntu będzie również dla tej architektury procesora.

Grafika ATI 3200:
Sterownik został zainstalowany automatycznie, a jako całość działa szybko i stabilnie.

WiFi
Jeszcze nie testowałem.

Bluetooth
Łączenie z Samsung L760 i wymiana plików bezproblemowo.

Dźwięk
Na starcie dźwięku z głośników nie usłyszymy. Usłyszymy je za to z podłączonych słuchawek (dlaczego? uwielbiam zagadki)!
Rozwiązanie tego problemu ogranicza się do następujących kroków:

Edytujemy plik /etc/modprobe.d/alsa-base
sudo gedit /etc/modprobe.d/alsa-base

na koncu pliku dodajemy
options snd-hda-intel model=laptop

zapisujemy zmiany.

Edytujemy plik /boot/grub/menu.lst
sudo gedit /boot/grub/menu.lst
i dodajemy wpis
nolapic iommu=off noirqdebug
u mnie wygląda to tak:
title Ubuntu intrepid (development branch), kernel 2.6.27-7-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=4212f199-d346-40e2-8d77-deee73d92d5c ro quiet splash nolapic iommu=off noirqdebug
initrd /boot/initrd.img-2.6.27-7-generic
quiet

Edit: Zauważyłem że zastosowanie parametru nolapic powoduje wykrycie procesora zamiast dwu-rdzeniowego jako jednego-rdzeniowego.

Ponowne uruchomienie komputera i znajome odgłosy dochodzą do naszych małżowin usznych (:

Pierwsze wrażenia
Generalnie laptop jest niesłyszalny, głośność pracy wentylatora zaczyna być odczuwalna gdy pracujemy na pełnej mocy. Wydajność jest zadowalająca. Operacja kopiowanie pliku z dysku na dysk utrzymuje się na średnim poziomie 18Mb/s co w porównaniu do poprzedniego laptopa ASUS A6R-B002 odbywa się 2x szybciej.
Długości pracy na baterii jeszcze nie miałem przyjemności sprawdzić.

PS.
Notebook HP 6735s zakupiłem w sklepie primakomp.pl. Jest to mój drugi laptop kupiony w tym sklepie. Poleciłem nabycie, drogą kupna, laptopa w tym sklepie już sześciu osobą, z efektem pozytywnym! Jeżeli dokonuje się zakupu w salonie a nie poprzez stronę internetową online można liczyć na rabacik - zaoszczędziłem ok. 40zl!!.

piątek, 19 września 2008

Eclipse SVN vs. NetBeans SVN

Kilka projektów WWW na głowie, przeskakiwanie z jednego do drugiego i kontrolowanie zmian wprowadzonych w każdym z nich.
Nic prostego SVN!
Google umożliwia hosting SVN OpenSource'owych projektów.

W utrzymaniu wszystkiego pod kontrolą pomoże nam NetBeans 6.5 z wsparciem dla PHP lub plugin do Eclipse Subversive.

Pomijam proces instalacji SVN na komputerze i inne programy wspierające jak np. RapidSVN gdyż zależy mi wyłącznie na integracji SVN z IDE.

NetBeans 6.5 jest w wersji deweloperskiej ale obsługa SVN jest nadzwyczajnie przyjemna!

  • automatyczne wykrywanie katalogów SVN w projekcie i oznaczanie odpowiednią wizualizacją zakładek, plików, katalogów


    kolory
    • zielony - nowy plik
    • niebieski - plik zmodyfikowany różny od wersji SVN

  • wizualizacja katalogów podpiętych pod SVN

    Jak można zuwazyć na załączonym obrazku, nie koniecznie cały projekt (np.: "kontorx-cms") musi być podpięty do repozytorium SVN jako całość (np.: "widmogrod.info") jest możliwość wyselekcjonowania pojedynczego katalogu w projekcie (np. "KontorX" czy "application") poddanego kontroli wersji.
  • szybka analiza zmian (można sprawdzić określoną gałąź projektu np.: wybrany plik lub katalog)
  • wizualizacja różnic wersji lokalnej i na serwerze, IDEALNA!


Eclipse Subversive
  • wizualizacja projektu jako SVN
    W przeciwieństwie do NetBeans brak możliwości posiadania kilku oddzielnych repozytoriów SVN w jednym projekcie.
  • Analiza zawartości zdalnego repozytorium SVN

  • Nie znalazłem wizualizacji różnic pomiędzy wersją lokalną a serwerową
    brak diff .. chyba że jestem ślepy ..

Głownem kryterium, na którym bazuje jest możliwość posiadania w projekcie kilku oddzielnych bibliotek, które są wsparte obsługa SVN.
Ponadto brak kontroli różnic lokalnych i zdalnych w Eclipse dyskwalifikuje je całkowicie.

Wygrywa NetBeans 6.5 z wczesnym wsparciem dla PHP!

Dla zainteresowanych konfiguracją Subversive na Eclipse źródła, z których korzystałem.

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.

poniedziałek, 18 sierpnia 2008

mktime - w przyładach

Jak ugryźć funkcję php mktime?

W poniższych przykładach zmienna $time posiada postać.

$time = time();


Początek dnia
np.: 2008-08-18 00:00:00

$startDay = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), date('d', $time), date('Y',$time)));


Koniec dnia
np.: 2008-08-18 00:00:00

$endDay = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), date('d', $time)+1, date('Y',$time)));


Początek tygodnia
np.: 2008-08-18 00:00:00

$startWeek = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), date('d', $time), date('Y',$time)));


Koniec tygodnia
np.: 2008-08-25 00:00:00

$endWeek = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), date('d', $time)+1, date('Y',$time)));



Pierwszy dzień miesiąca
np.: 2008-08-01 00:00:00

$firstDayInMonth = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time), 1, date('Y',$time)));


Ostatni dzień miesiąca
np.: 2008-08-29 00:00:00

$lastDayInMonth = date('Y-m-d H:i:s', mktime(0,0,0,date('m', $time)+1, -1, date('Y',$time)));


Gdzie zastosować?
System statystyk. Wyłowienie z bazy danych rekordów z danego dnia, tygodnia, miesiąca.

SELECT * FROM stats WHERE time BETWEEN '$startDay' AND '$endDay'


Jedno pytanie mnie nurtuje. Czy 00:00:00 tj. północ - jest traktowana jako początek czy koniec dnia? wydaje mi się ze to jest ostatnia godzina danego dnia.

piątek, 1 sierpnia 2008

Backend - jak wygląda twoje zaplecze?

Na początku mojej przygody z PHP i tworzeniem paneli administracyjnych towarzyszył mi mały niedosyt. Zawsze byłem ciekaw jak wyglądają zaplecza, zarządzające, profesjonalne serwisy internetowe. Jakie rozwiązania stosują? w jakim stopniu są to rozwiązania innowacyjne a w jakim stare sprawdzone, użyteczne wzorce. Czy mój PA nie jest za skąpy czy zbyt lamerski.
Teraz mamy możliwość zaobserwowania jak prezentują się różnego rodzaju rozwiązania w wielu otwartych systemach zarządzania treścią. Weźmy pierwsze z brzegu


Teraz troszeczkę zmieniłem podejście do tworzenia backendów. Od czasu do czasu gdy nie mam natchnienia przeglądam już istniejące rozwiązania i szukam drogi środka - by wszystko bez nadmiaru niosło ze sobą intuicyjność i wygodę pracy.

Przegląd paneli administracyjnych jakie stworzyłem w roku 2008.

KontorX GWT - wszystko szło rewelacyjnie GWT zawładnęło moim sercem ale sam fakt płynącego czasu i ograniczeń EXT GWT i zachcianek klięta spowodował że ..
  • Strona głowna

  • Zarządzanie stronami
  • Dodanie nowego produktu
  • Zarządzanie produktami


.. powstał panel ..

KonotrX HTML
  • Zaraz po zalogowaniu wita nas mały dashbord

  • Kategorie w sklepie

  • Zarządzanie produktami
  • Załanczanie grafiki do produktu




WiDooM - prostota przeźroczystość to jest to!
  • Logujemy się

  • Strona głowna panelu administracyjnego
  • Zarządzanie treścią na stronie

A jak wygląda Twoje zaplecze?