Few weeks ago I watch one video on YouTube by Tomasz Dziurko: Jinkubator #28 – 1011 błędów w rekrutacji, które pokazują jaki będzie twój kod. It’s in polish, but some of you may enjoy. I really fall in love with this sentence: I write and read faily well ;-)

I write about this because yesterday I faced one English grammar problem. During implementation of one feature I’ve add an method to our interface:

 getCategoriesCodes() 

It’s about returning list of codes for different categories. One of my code reviewer told me that this against English grammar – I couldn’t believe ;-)

First because other similar methods looks the same eg:

getSubCategoriesCodes()

Second it was against my logic, but after all it occurs that my logic throws there RuntimeException ;-)

I even ask question about it on StackOverflow and the conclusion was:

As both a native English speaker and a Java programmer: getCategoryCodes() is preferable. getCategoriesCodes() implies to me that I am getting multiple codes for each category, or that the codes relate to the collection of categories, rather than a code for each category.

As an example from “real” English: a car has one driver; you would refer to the drivers of many cars as “car drivers”, not “cars drivers”.

If you are interested in more detailed discussion please read my post: Java naming conventions versus English language correctness

Troszkę mi się nudzi w pracy (nie robię nic specjalnie wciągającego), praca inżynierska trochę już mnie zmęczyła więc trzeba w wolnych chwilach zrobić coś interesującego. Dobrze będzie się czegoś przy okazji nauczyć. Potrzebuję programu, który będzie pamiętał o naprawach okresowych mojego samochodu oraz będzie wiedział kiedy należy wymienić rozrząd dla mojego modelu. Fajnie jeżeli na podstawie innych napraw tego samego modelu określi, że np. 90% Opli Vectra C (1.9 Diesel) po przejechaniu 130 tyś wymaga wymiany tylnich amortyzatorów.

Więcej na temat kiedy wmienić klocki hamulcowe, olej i mojego pomysłu przeczytasz klikając na link TUTAJ

Continue reading

Zupełnie przez przypadek trafiłem na stronę projektu vaadin. Co to jest? To tylko kolejny framework dla javy ;) Można powiedzieć, że jest to nakładka na GWT. Czyli podobnie jak w przypadku Apache Wicket i GWT programujemy interfejs użytkownika w Javie. Jaka jest natomiast (dla mnie) najważniejsza różnica względem GWT? Nie musimy kompilować kodu Javy do JavaScriptu! Czyli setki zaoszczędzonych minut i godzin na czasochłonną kompilację GWT.
Continue reading

Kiedy myślimy o robocie internetowych, sprawa wydaje się skomplikowana. Ale czy na pewno? Spróbujmy napisać robota internetowego, który będzie indeksował np. Panoramę Firm – oczywiście tylko do celów edukacyjnych. Dlaczego akurat tą stronę? Jest tam dużo powtarzających się – według szablonu – treści. Tak więc wyciągnięcie informacji będzie dla nas prostsze. A tak na marginesie, jak myślicie, jak długo zajmie zindeksowanie Google?? :-)

Jest kilka bibliotek do przetwarzania wyrenderowanych stron HTML, lub też po prostu do pobierania źródła strony. Mi do gustu najbardziej przypadł HtmlUnitSelenium. Selenium jest używane przez testerów do automatycznych testów stron internetowych, posiada przyjemny edytor – pracuje jako dodatek do Firefoxa. Wszystko generalnie można znaleźć na stronie producenta. Jego wadą jest jednak dość skromna dokumentacja, ale jakoś sobie z tym poradzimy.

Continue reading

Dziś zmierzyłem się z całkiem ciekawym problemem. Prosta Javova aplikacja miała odczytać zawartość plików csv, policzyć wskaźniki, uzupełnić obiekty Hibernate i zapisać wszystko do bazy danych. Wszystko zrobiłem szybciutko ale powstał pewien problem… Aplikacja działała wolno ale procesor był obciążony tylko w 50%. To nie byłby problem przy małej ilości danych, natomiast ja musiałem zaimportować 864 pliki o łącznej wadze 36,3 MB! Niby niewiele, ale przypomina… to są pliki tekstowe.

Gdzie szukać problemu? Sama aplikacja była wydajna, bo operacja matematyczne to błahostka. Nie implementowałem też żadnych skomplikowanych reguł. Może baza danych? Faktycznie interfejs sieciowy miał słabą responsywność. Zwiększyłem cache dla bazy danych do 1GB, zaalokowałem więcej pamięci dla aplikacji Javy (-XX:MaxPermSize=512m -Xms1024m -Xmx2048m) i aplikacja chodzi szybciej, ale nadal za wolno.

Continue reading

16 września 2010 roku na blogu GWT (http://googlewebtoolkit.blogspot.com/(…)/google-relaunches-instantiations.html) pojawiła się informacja o wypuszczeniu przez Google narzędzi wspierających projektowanie widoków dla technologii GWT, SWT oraz SWING.

W sierpniu bieżącego roku Google zakupiło firmę Instantiations, która była skupiona na rozwoju narzędzi developerskich dla Eclipsa, między innymi GWT Designer’a. Google postanowiło udostępnić narzędzia dla społeczności programistów bez opłat! Dzięki czemu drogie koleżanki i koledzy zyskaliśmy doskonałe narzędzie do pracy!

Continue reading

Szybkie jednodniowe szkolenie teoretyczne na temat SOA. Zostało ono przeprowadzone w polskiej siedzibie Oracle. I powiem szczerze, że strasznie się wynudziłem – teorii jest niewiele, ale nauczyłem się, że można o niej mówić przez bite 7 godzin…

Zostały przedstawione następujące zagadnienia:

  • Introduction to SOA,
  • The SOA Six-Domain Model cz I,
  • The SOA Six-Domain Model cz I – practis,
  • The SOA Six-Domain Model cz II,
  • The SOA Six-Domain Model cz II – prctis,
  • Implementing SOA with BEA Products,
  • Implementing SOA with BEA Products – practis.