Archive for the 'Java' Category

Zapominamy o metodzie close

Tuesday, January 31st, 2012

W C# mamy using, czyli taką konstrukcję, która przypomina trochę żonę – kurę domową (zakładając, że program to małżeństwo, a programista to mąż). Maż idzie do kibla robi swoje i zapomina wywołać close na desce. Żona samodzielnie zamknie deskę i nie będzie marudzić. W Javie żona ma inne podejście. Nic nie mówi i nic nie [...]

Różnica pomiędzy call i execution w AspectJ

Monday, January 23rd, 2012

Różnica wredna, która potrafi zepsuć dzień. Generalnie zarówno call jak i execution nie różnią się jeżeli chodzi o moment wywołania. Jeżeli zdefiniujemy, że mają być wkompilowane przed to zostaną wkompilowane przed. Jeżeli po to po. Kompilator zapewnia, że w danym przepływie sterowania aspekt będzie umieszczony w odpowiednim miejscu. Oczywiście przy założeniu, że nie ma tam [...]

Ekstremalna obiektowość w praktyce – część 9 – Nie używaj getterów/setterów/własności

Friday, January 20th, 2012

Część 0 Część 1 Część 2 Część 3 Część 4 Część 5 Część 6 Część 7 Część 8 Piątek, a zatem słuchamy Listy w Trójce. Przed nami ostatnia z zasad Jeff’a Bay’a Nie używaj getterów/setterów/własności Niewątpliwie jest to najbardziej obiektowa z zasad. By zrozumieć o co w niej chodzi porównajmy takie oto dwie klasy Listing [...]

Wady użycia mocków z mock-frameworków

Friday, January 20th, 2012

Idzie sobie transakcja z banku. Trafia ona ci na moje biurko i muszę ją zwalidować. Biorę ci ja JSR-303 i przepuszczam ci ja transakcję przez tą zabawkę… Rzecz w tym, że mam kilka własnych walidatorów, które korzystają z danych pobranych z bazy. Dane sa pobierane raz i zapisywane w takim pseudo cache, który potrafi odpowiedzieć [...]

Ekstremalna obiektowość w praktyce – część 8 – opakowywanie kolekcji w klasy specyficzne dla kontekstu wykorzystania

Saturday, January 14th, 2012

Część 0 Część 1 Część 2 Część 3 Część 4 Część 5 Część 6 Część 7 Gladius Noctis, a na blogu ósma z zasad Jeff’a Bay’a Klasa której polem jest kolekcja nie powinna mieć żadnych innych pól (opakowywanie kolekcji w klasy specyficzne dla kontekstu wykorzystania) Nazwa trochę długa, ale nie ważne. Powróćmy na chwilę do [...]

Jak ogarnąć DI?

Friday, January 13th, 2012

Mini notka w miniblogu By ogarnąć DI należy napisać jeden projekt bez użycia słowa kluczowego new w kodzie biznesowym. Można go używać w provideach. Dozwolone jest też tworzenie prymitywów i Stringów “z palca”. Dodaj do

O różnicach pomiędzy wstrzykiwaniem via setter, a via pole z wykorzystaniem @PostConstruct

Friday, January 13th, 2012

Szybko o tym dlaczego ta druga metoda jest zdecydowanie lepsza. Generalnie po ustawieniu pola chcemy wykonać pewne operacje. Wstrzykiwanie via setter W guice adnotujemy @Inject metodę (dowolna nazwa, widoczność itp.) i to wszystko. Problem polega na tym, że obiekt jest w stanie nieokreślonym. Raz, że jego tworzenie jeszcze trwa, a dwa, że nie mamy kontroli [...]

Jak przetłumaczyć Assisted Injection?

Tuesday, January 10th, 2012

Pytanie jak w temacie jak przetłumaczyć guicowe “Assisted Injection”? Na razie mam dwie propozycje: Wstrzykiwanie parametryzowane. Wstrzykiwanie wspomagane. Dodaj do

Prywatne moduły w Guice – kto zacz…

Monday, January 9th, 2012

Na początek małe profanum muzyczne… Już doszliście do siebie… to dobrze… Słowo wstępne Na spotkaniu WJUGa, na którym wraz z Wojtkiem Ebertowskim omawialiśmy Guice Paweł Szklarz zarzucił temat “Guice to ma a Spring nie” na przykładzie modułów prywatnych. Rzecz jest to o tyle ciekawa, że świetnie obrazuje podstawową różnicę pomiędzy Guice, a Springiem. Sposób konfiguracji. [...]

Świąteczne boje z formatem TOD

Sunday, December 25th, 2011

Mam sobie kamerkę JVC. Chcieliśmy rodzinie rozdać płyty z filmami małego. Rzecz w tym, że żaden rozsądny program nie czyta formatu TOD. Format TOD to wynalazek JVC, który należy konwertować do jakiegoś rozsądnego formatu. W naszym przypadku MPEG. Poniżej jar z konwerterem mojego autorstwa. tod2mpg Uruchomienie: Listing 1. uruchomienie konwertera $> java -jar tod2mpg.zip -h [...]