JARCamp – zapowiedź kolejnego spotkania

Lato zaczęło się na dobre. Większość z Was woli pewnie spędzać czas na świeżym powietrzu, niż przed ekranem komputera. Sporo osób na pewno realizuje plany wakacyjne daleko od Krakowa, a studenci wrócili na kilka tygodni do domów. Jednym słowem – wakacje. Aby dać Wam szansę na spokojny odpoczynek, bez obawy, że przegapicie kolejne spotkanie JARCampowe, postanowiliśmy zrobić krótką przerwę letnią. Meetup, który normalnie odbyłby się w czerwcu, jest przesunięty na przełom sierpnia i września. Możemy jednak zapewnić, że kolejny JARCamp będzie wyjątkowy pod każdym względem. Przygotowujemy także inną niespodziankę na te ciepłe dni, ale o tym niebawem. O wszystkich nowościach i terminach będziemy oczywiście informować standardowymi kanałami, więc zapraszamy do śledzenia nas i regularnego odwiedzania bloga. A tymczasem udanego wypoczynku!

Atmosphere – wrażenia

Jeżeli rozwój Waszego projektu uzależniony jest od napływu nowych użytkowników, to prędzej czy później będziecie musieli sprostać problemom z wydajnością utrzymywanego systemu i odpowiednio zaplanować jego dalszą rozbudowę, aby pozwolić na ciągły, dynamiczny wzrost popularności. Przydatna okazać się może wtedy wiedza i doświadczenie ludzi, którzy mieli okazję borykać się już z podobnymi problemami, a ich codziennością jest walka o jak najlepsze doznania użytkowników końcowych. Miałem okazję obcować z takimi ludźmi przez dwa dni na konferencji Atmosphere, która odbyła się w Poznaniu w dniach 13-14 maja. Poniżej znajdziecie relację z imprezy, na której zdecydowanie warto było być… Czytaj dalej

MBean’y

Ostatnio miałem okazję zetknąć się z bardzo przydatnym mechanizmem, z którym szczerze mówiąc nie miałem nigdy wcześniej do czynienia. Jak się pewnie domyślacie chodzi tutaj o wspomniane w tytule MBean’y. Z jakiegoś powodu niewiele się o nich mówi, a są sytuacje, w których mogą być bardzo pomocne. Postaram się wam przybliżyć ten temat w dalszej części wpisu.

Czytaj dalej

Spotkajmy się na Atmosphere

AtmosphereWszelkiego rodzaju spotkania i konferencje są idealną okazją, aby swobodnie porozmawiać z innymi pasjonatami oraz zaznajomić się z najnowszymi branżowymi trendami. Oprócz sporej dawki wiedzy, można z nich wynieść inne spojrzenie na problemy, które napotykamy podczas naszej codziennej pracy. Już 13 maja rozpocznie się konferencja Atmosphere, w całości poświęcona zagadnieniom skalowalności, wydajności i optymalizacji serwisów internetowych, na której będziemy również my. Jeżeli nasza obecność i niezwykle ciekawie zapowiadająca się agenda nie są wystarczającymi powodami do wzięcia udziału w Atmosphere, to może przekona Was specjalna, 15% zniżka przygotowana dla czytelników javablog.eu, którą możecie uzyskać po wpisaniu kodu rabatowego atmosphere_javablog na formularzu rejestracji. Co więcej, każdy uczestnik otrzyma komputer Raspberry PI, który przy odrobinie kreatywności może służyć jako baza dla naprawdę fenomenalnych projektów (np. Cat or Human Feeder :)).

Niech rzeczy materialne nie przesłonią Wam jednak tego, co najważniejsze, a mianowicie warstwy merytorycznej Atmosphere. W agendzie znajduje się wiele prezentacji, które na pewno przydadzą się osobom na co dzień rozwiązującym problemy z wydajnością aplikacji. Liczę także, że na konferencji znajdę odpowiedzi na pytania, które pojawiają się w kontekście aktualnie tworzonej, nowej wersji javablog.eu. Spora ilość polskich oraz zagranicznych prelegentów powinna w tym skutecznie pomóc. Pełną agendę można znaleźć na TEJ stronie.

Do zobaczenia w Poznaniu.

Mockito – „łapiemy” argumenty wywołania metod

Temat Mockito był już na tym blogu poruszany kilkakrotnie (np. TU i TU). Opisywałem jak można wykorzystać to narzędzie do mockowania oraz weryfikacji wywołania metod. W tym drugim przypadku często zachodzi także konieczność wykonania dodatkowych asercji na argumencie weryfikowanej metody. Aby upewnić się, że program działa poprawnie, oprócz samego faktu wykonania metody sprawdzamy, czy jej argumenty mają poprawne wartości pól. Pomocna w takiej sytuacji jest klasa ArgumentCaptor będąca częścią Mockito. Poniżej znajdziecie przykładowy test, który z niej korzysta.
 

public class SampleTest
{
  private Canvas canvas;
  private CanvasPainter painter;

  @Before
  public void setUp() throws Exception
  {
    canvas = mock(Canvas.class);
    painter = new CanvasPainter(canvas);
  }

  @Test
  public void testDraw() throws Exception
  {
    Point point = new Point(1, 2);
    painter.addPoint(point);

    painter.draw();

    ArgumentCaptor captor = ArgumentCaptor.forClass(Point.class);
    verify(canvas, times(1)).draw(captor.capture());

    Point captured = captor.getValue();
    assertThat(captured.getX(), is(1D));
    assertThat(captured.getY(), is(2D));
  }
}

 
Kod jest chyba na tyle prosty, że nie wymaga dłuższego komentarza. Sprawdzamy w nim, czy wykonanie metody draw() klasy CanvasPainter powoduje wykonanie metody draw() klasy Canvas dla każdego punktu, który został dodany przy pomocy metody addPoint(). Prócz samego wywołania chcemy też sprawdzić, że przekazany do metody draw() klasy Canvas obiekt ma odpowiednie wartości pól x i y.

Przygotuj się na sukces – wspieramy Atmosphere

AtmosphereDobrze prosperujący serwis internetowy jest marzeniem każdego przedsiębiorcy. Praktycznie codziennie swoją premierę mają nowe startupy bazujące na mniej lub bardziej udanych pomysłach, których twórcy chcą podbić wymagający, internetowy rynek. Często jednak zapomina się, że nawet bardzo udany start i fenomenalna idea, stojąca za projektem, nie są gwarantami sukcesu. Wraz z rosnącym zainteresowaniem serwisem, zwiększają się wymagania co do jego funkcjonowania. W czasie początkowych faz życia projektu, od jego startu, poprzez dynamiczny rozwój, aż po systematyczny wzrost popularności, musimy zagwarantować, że działa on szybko, stabilnie i niezawodnie. Realizacja tych celów wymaga sporych ilości specjalistycznej, technicznej wiedzy. Na szczęście są miejsca, gdzie osoby odpowiedzialne za tworzenie największych serwisów chętnie dzielą się swoimi doświadczeniami. Jednym z takich miejsc jest konferencja Atmosphere, którą mamy przyjemność wspierać.

Impreza odbędzie się w dniach 13-14 maja w Concordia Design w Poznaniu. Na chwilę obecną swoją obecność potwierdzili m.in. Brian McCallister, Paul Hammond, Jonathan Snook, Lorenzo Alberton oraz Adam Tarnowski. Zapowiada się ciekawie, szczególnie że wspomniani prelegenci są osobami dobrze rozpoznawalnymi w środowisku i posiadają sporą praktyczną wiedzę. Za organizację konferencji odpowiada fundacja Proidea, która wspierana jest przez Allegro Group, więc jesteśmy spokojni o przebieg oraz warstwę merytoryczną Atmosphere.

Konferencja została podzielona na dwie ścieżki tematyczne:

  • DevOps – poświęcona różnorodnym zagadnieniom związanym z administracją systemami oraz infrastrukturą sieciową
  • Devs – skupiająca się na programowaniu, problemach skalowalności oraz wykorzystaniu technologii mobilnych

Nas oczywiście bardziej interesuje ta druga :) Liczymy również na jak największą liczbę tematów, które omawiać będą wykorzystywanie technologii opartych o JVM do budowy nowoczesnych oraz skalowanych serwisów.

Jak zwykle możecie liczyć na wyczerpującą relację z konferencji. Mamy dla Was również kody rabatowe upoważniające do 10% zniżki podczas rejestracji. Aby z nich skorzystać wprowadźcie kod javablog_10 na formularzu rejestracyjnym, znajdującym się pod adresem http://atmosphere-conference.com/registration.

Więcej informacji znajdziecie na oficjalnej stronie konferencji: http://atmosphere-conference.com/

Kreujemy przyszłość IT – poznaj możliwości JVM

Wszystkich zainteresowanych możliwościami jakie daje Java Virtual Machine gorąco zapraszamy na wykład Piotrka, który będzie miał miejsce na zbliżającej się konferencji „Przyszłość w IT”. Podczas prezentacji zatytułowanej „Java Virtual Machine – budowa, możliwości, metody optymalizacji” poznasz najważniejsze składowe JVM, metody monitorowania aplikacji oraz sposoby na poprawę wydajności tworzonych rozwiązań. Konferencja odbędzie się już w najbliższą sobotę (06.04.2013) w krakowskim hotelu Sympozjum (ul. Kobierzyńska 47). Zapraszamy do rejestracji – zostały ostatnie miejsca!

JARCamp #3 – rejestracja otwarta

Trzy ciekawe wykłady, fenomenalna atmosfera oraz ludzie, którzy tak jak Ty chcą podzielić się wiedzą  - tak zapowiada się trzeci JARCamp, na który można się już rejestrować. Spotkanie odbędzie się 12 kwietnia na barce Alrina. Prelekcje rozpoczynają się o godzinie 19:00. Poruszone zostaną na nich bardzo różnorodne tematy – od niuansów biblioteki Scalding aż po technologie portalowe. Nie zabraknie oczywiście przekąsek i napojów sponsorowanych przez firmę Metrosoft. Zapraszamy do REJESTRACJI!

Pełna agenda spotkania:

  • Scalding, czyli: WordCount Hadoopem nie musi mieć 70 linii- Konrad Malawski
  • „Dogfooding” w zespole Gradle - Szczepan Faber
  • JEE Portal? Is it a framework, a platform or a product? -Milen Dyankov

Aktualności, materiały oraz zdjęcia można znaleźć na stronie jarcamp.pl

33rd Degree 2013 – okiem uczestnika

Od 13 do 15 marca miałem przyjemność uczestniczyć w konferencji 33rd Degree. W tym roku była ona zorganizowana w Warszawie – zmiana miejsca spowodowana była problemami ze znalezieniem odpowiednio dużej sali w Krakowie, gdzie 33rd Degree odbywało się rok temu. Nie zmieniło się natomiast jedno – bardzo wysoki poziom merytoryczny prelekcji.

Czytaj dalej