Dlaczego JBoss startuje tak długo?
I dlaczego tyle trzeba czekać na ponowne rozmieszczenie aplikacji na serwerze? Jak rozwijam projekt Seam, to muszę po każdej poprawce czekać 5 minut, zanim będę mógł przetestować zmiany.
Dzisiaj postanowiłem popełnić kolejny wpis z cyklu teoretycznych. Już widzę te komentarze: teoria teorią, a praktyka praktyką albo łatwo powiedzieć, trudniej zrobić. Jednak chciałbym się zastanowić, dlaczego praktyka leży tak daleko od teorii i jak to zmienić… przynajmniej teoretycznie.
Odwracając pytanie – dlaczego testować zmiany na serwerze? Przecież są do tego odpowiednie biblioteki (np. TestNG). Serwer powinien służyć jedynie do uruchomienia gotowej aplikacji, a wówczas nawet 15 minut czekania raz na miesiąc nie jest problemem.
„No tak, ale nie mam czasu na pisanie przypadków testowych” – ktoś odpowie. Cóż… a na ponowne rozmieszczenie aplikacji na serwerze co 10 minut to masz czas?
Opisany problem dotyczy także mnie… ale dlaczego? Przecież wiem, co i jak powinienem robić.
Ale nie robię.
Problem ten porusza Michael de la Maza w artykule Why Don’t I Floss My Teeth? (z ang. Dlaczego nie nitkuję zębów?). Zauważa on, że przeszkodą w zmianie sposobu postępowania (nitkowanie zębów, zdrowe odżywanie, Scrum) nie jest brak wiedzy czy umiejętności. Blokada leży gdzieś w sferze emocjonalnej człowieka – ludzie po prostu boją się zmian postępowania, wolą działać „po staremu”.
Myślę, że złe metody pracy dodatkowo umacnia wspomniany przez Supernianię fakt:
[…] w polskich szkołach zaczyna się od uczenia dzieci wiadomości, potem umiejętności, a na końcu próbuje się tworzyć nawyki. Amerykanie robią odwrotnie: najpierw uczą nawykowego, fajnego spędzania czasu w szkole, potem umiejętności, a na końcu dają wiadomości.
Źródło: Źle się dzieje w polskim domu
rozmowa z Dorotą Zawadzka
Marcin Wyrwał
Czy na studiach ktoś wymagał od nas pracy zgodnej ze wskazaną metodyką? Czy ktoś rozliczał nas z projektu (poza laboratorium z UML)? Czy musieliśmy pokazać działające przypadki testowe?
Ja musiałem tylko pokazać działający programik na laboratoriach i wykazać się odpowiednią wiedzą na egzaminie – zero nawyków.
Właśnie: nawyki – to właśnie zmiany nawyków nam potrzeba. Tylko jak znaleźć w sobie siłę, żeby zmienić utrwalone zachowania?
Michael de la Maza proponuje coaching połączony ze wsparciem emocjonalnym, wzorem specjalistów od zdrowego odżywiania. Czy coś takiego by się sprawdziło? – nie wiem.
I się nie dowiem – moi szefowie i tak nie będą „wyrzucać pieniędzy” na jakikolwiek coaching. Nie będą też wymagać ode mnie nic poza terminowym oddaniem działającego programu.
Pozostaje nam utworzyć grupę wsparcia:
– Cześć, jestem Sławek. Od 3 lat pracuję jako programista i nie piszę testów jednostkowych.
– Cześć, Sławek.




To czekam na wpis o testach w Seam’ie.
Swoją drogą to można kilka rzeczy powywalać z JBoss’a, poustawiać pamięci i można kilka sekund uzyskać.
Także sposób rozmieszczania aplikacji można podkręcić, przynajmniej jeśli mamy projekt wygenerowany seam-gen’em i pracujemy na Eclipsie.
No to nie mam wyboru – muszę się zająć testami w Seam Framework.
Wiem, że można trochę odchudzić JBossa i projekt. W artykule chodziło mi raczej o aspekt filozoficzny symptomu nie chce mi się.
Pozdrawiam,
Sławek
Po dołożeniu kolejnych 2GB pamięci do mojego wysłużonego Acer Aspire 5710. Start JBoss 5.1.0 GA skrócił się z 5 minut do 1 minuty i 15 sekund.