Eclipse DemoCamps 2008 20.06.2008
We wtorek wybieramy się z kolegami do Poznania na Eclipse DemoCamp. Mam nadzieję, że będzie ciekawie…
We wtorek wybieramy się z kolegami do Poznania na Eclipse DemoCamp. Mam nadzieję, że będzie ciekawie…
Optymalizując aplikację na bazie danych, często potrzebne jest sprawdzenie jakie operacje wykonuje konkretny proces systemu operacyjnego. Wystarczy wykonać następujący select:
select s.USERNAME, st.hash_value, st.sql_text
from v$sqltext_with_newlines st, v$session s, v$process p
where st.address = hextoraw(s.sql_address)
and st.hash_value = s.sql_hash_value
and p.ADDR = s.PADDR
and p.SPID = :id_procesu
order by st.hash_value, st.piece
Zakładanie indeksów i inne długotrwałe operacje irytują brakiem paska postępu ;) Na szczęście wystarczy wykonać poniższe zapytanie, żeby zobaczyć ile nam jeszcze zostało do końca:
select l.opname,
trunc(l.elapsed_seconds/60,2) “minuts from start”,
trunc(l.time_remaining/60,2) “minuts to end”,
l.sofar,
l.totalwork,
trunc(100*l.sofar/l.totalwork,2) “%”
from V$SESSION_LONGOPS l
where l.sid = :sid
and l.serial# = :serial#
and l.time_remaining > 0
Wartości parametrów sid i serial wyciągamy z tabeli v$session dla interesującej nas sesji.
Oczywiście wszytko to można uzyskać przy użyciu Oracle Enterprise Managera, ale po co strzelać z armaty do wróbla ;)
Oracle w wersji 10.2.0.3 zaskoczył mnie wczoraj totalnie. Na początek mały quiz:
Jeśli zapytanie:
select t.*
from tow t
where kod in (’011094′,’011105′);
zwraca dwa wiersze. To ile wierszy zwróci poniższe zapytanie?
select t.*
from tow t
where kod in (’011094′,’011105′)
and exists(select 1 from tow_v v where v.towaridpb||v.towarid = t.kod_p);
(więcej…)
W generowanych jararch babel zamienia znaki \ na \\, ‘ na “, / na \/. Dodatkowo edytor tłumaczeń udostępniony na stronie projektu zamienia znak nowej linii na <br /> co zupełnie rozwala tłumaczenie :(
Zgłosiłem już wszystko gdzie trzeba i czekam na naprawę :)
Przyjrzałem się dokładniej polskiemu tłumaczeniu projektu Eclipse i okazało się, że nie jest tak różowo jak myślałem.
Po zainstalowaniu najnowszej wersji, na pierwszy rzut oka, bez problemów działała już edycja plików plugin.xml. Jednak:
Ostatni problem postanowiłem zgłębić. Okazało się, że tłumaczenie niezbyt odpowiada tekstowi angielskiemu. Poprawiłem je, zaciągnąłem nową wersję tłumaczeń i… edycja plików .product wykrzacza się z błędem: “Nie można utworzyć tej części ze względu na błąd wewnętrzny. Przyczyna niepowodzenia: {0}
Argument not valid”.
Nie pozostało mi nic innego niż otworzyć ponownie mój zgłoszony wcześniej błąd i czekać na jego rozwiązanie.
BTW wygląda na to, że w projekcie tym istnieje spora ilość tłumaczeń, które nie odpowiadają tłumaczonym tekstom. Kto to teraz przejrzy i zweryfikuje?
Zabrałem się za pisanie własnej wtyczki do mavena. Początki są bardzo proste.
Tak jak pisałem wcześniej wtyczka musi umieścić wtyczki RCP w odpowiedniej strukturze katalogów i uruchomić budowanie aplikacji przy pomocy pde-maven-plugin.
(więcej…)
Pisałem kiedyś o możliwości wykorzystania mavena do budowania aplikacji Eclipse RCP. Niestety opisywany plugin wymaga umieszczenia wtyczek w odpowiednich katalogach.
Niestety tworzenie takiej struktury w SVN nie wydaje mi się sensowne, szczególnie jeśli chcemy niektóre pluginy rozwijać niezależnie od innych. Spędziłem dość dużo czasu próbując wycisnąć co się da z istniejących pluginów mavena, ale nie udało mi się osiągnąć pożądanego efektu.
Nie widząc światełka w tunelu, zabrałem się za pisanie własnej wtyczki, która umożliwi nam łatwe składanie aplikacji z różnych pluginów. Pisanie własnej wtyczki jest całkiem proste więc może mi się uda osiągnąć pożądany efekt…
Tworząc aplikację w Eclipse RCP potrzebowaliśmy tłumaczeń podstawowych elementów platformy. Przez jakiś czas korzystaliśmy z własnych, ale były one niepełne i niedopracowane. Od pewnego czasu śledziłem projekt Babel. Ostatnio doszedłem do wniosku, że dojrzał on już na tyle, żeby z niego skorzystać.
Po instalacji okazało się, że nie działa edytor plików MANIFEST.MF, ignorowane jest również specjalne znaczenie znaku \. Zgłosiłem błąd, został on naprawiony i wygląda na to, że można już polecać projekt wszystkim, którzy wolą gdy Eclipse gada po polsku.
Po namowach kolegi postanowiłem przyjrzeć się trochę językowi groovy. Nie jest to język, który zachwyca mnie składnią, pod tym względem o wiele bardziej podobają mi się Ruby i Python. Jednak postanowiłem go wypróbować.
Zainstalowałem plugin do Eclipse i rozpocząłem zabawę.
Na pierwszy ogień poszła integracja z kodem pisanym w javie. Okazało się, że nie ma z tym żadnego problemu. Klasy pisane w Groovy są dostępne z klas Javy i na odwrót.
Pierwsza porażka nastąpiła jednak dość szybko. Prywatne pola klas są dostępne z zewnątrz (sic!), można odczytywać ich wartość oraz ją modyfikować. Niefajnie…
Dopóki takie błędy się pojawiają nie warto chyba pisać w tym języku niczego poważnego.