JUGademy#6 – Szóste spotkanie JUGademy na Politechnice Poznańskiej

#1. Is it RESTful enough? REST pragmatycznie / Tomasz Adamski

Co to ten cały REST? Jak wystawiać i konsumować “RESTawe” interfejsy w Java’ie? Jak nie zostać RESTafarianinem? Jesteś ciekaw? Wpadnij!

Tomasz Adamski: Programista Java pracujący w poznańskim oddziale Fandomu (powered by Wikia). Z technologiami około JVMowymi związany od blisko 10 lat, chociaż bawi go też walka na (webowym) frontendzie, komórce, zegarku. Największą frajdę sprawia mu poznawanie nowych rzeczy.

 

#2.  A gdy wejdziemy na produkcję… / Justyna Lipska

To będzie historia o aplikacji, z której zaczęli korzystać użytkownicy. Jej twórcy byli przekonani, że ich wspólna podróż dobiegła końca. Jednak życie pokazało inaczej. Pojawiły się pytania, problemy, wyzwania, na które trzeba było znaleźć odpowiedzi i rozwiązania. Jeśli chcesz posłuchać o tym jak się odnaleźć w świecie metryk oraz monitoringu to serdecznie zapraszam.

Justyna Lipska: pracuje w Allegro jako młodszy inżynier oprogramowania. Należy do Verbal Victory Toastmasters Poznan English Speaking Club. Lubi czytać, tańczyć, spacerować i podziwiać miejską architekturę.

[nie ma nagrań]

JUGademy#5

#1. Wprowadzenie do MongoDB / Justyna Walkowska

Wprowadzenie do MongoDBabstrakt: MongdoDB to popularna nierelacyjna baza danych, oparta na dokumentach w formacie JSON. W prezentacji postaram się omówić następujące zagadnienia:

– MongoDB na tle innych baz danych

– Instalacja MongoDB

– Format danych

– Interakcja bezpośrednio z bazą danych

– Komunikacja z bazą danych z kodu napisanego w Javie

– MongoDB a JPA

– Komunikacja z MongoDB z aplikacji webowej

Justyna Walkowska: zna się na edukacji, programowaniu, tłumaczeniach, przetwarzaniu języka naturalnego, wychowywaniu psów i dzieci. Zawodowo programowała w Javie, Prologu, Perlu, Pythonie, R i ASP. Obecnie pracuje jako Technical Product Manager w firmie Fandom.

#2. Wprowadzenie do Cassandry / Michał Matłoka

Wprowadzenie do świata NoSQL i duplikacji danych. W trakcie prezentacji wyjaśnię jak działa Apache Cassandra, jak należy modelować dane oraz do jakich zastosowań się nadaje.

Michał Matłoka: W trakcie swojej kariery pracował z C, Javą, zapomnianymi krainami Java EE, Springiem, Scalą oraz Big Data. Popełnił zbrodnię pisząc książkę o Java EE, która będzie go nękać przez resztę życia. Obecnie 1 z 40 CEO w firmie SoftwareMill.

JUGademy#1

#1. Wprowadzenie do JUGademy i o czym nie było na studiach / Adam Dudczak

O co chodzi w JUGademy? Jakich tematów można się spodziewać na kolejnych spotkaniach? Gdzie one się będą odbywać? Postaram się odpowiedzieć na te i inne pytania związane z JUGademy. Oprócz tego opowiem o kilku rzeczach, które w tworzeniu oprogramowania są ważne i o których początkujący programista będzie musiał się bardzo szybko nauczyć po podjęciu pracy zawodowej. Części z tych rzeczy musiałem nauczyć się sam po podjęciu pracy bo nie wiele się o nich mówiło na studiach.

Adam Dudczak: Starszy programista w Grupie Allegro, pracuje z Javą i technologiami powiązanymi od 2004 roku. Na codzień pracuje nad wyszukiwarką allegro.pl. Jeden z liderów Poznań JUG (http://www.jug.poznan.pl) i współorganizator konferencji GeeCON (http://geecon.org).

http://dudczak.info/presentations/2017_03_jugademy/ [slajdy]

#2. Systemy budowania aplikacji w Javie / Łukasz Szwajkowski

Podczas prezentacji pokażę jak skompilować pliki źródłowe, dołączyć zewnętrzne zależności do swojej aplikacji. Następnie uruchomimy testy oraz zbudujemy paczkę, którą możesz pochwalić się mamie przy niedzielnym obiedzie. A wszystko to z wykorzystaniem narzędzi dostępnych w JDK, Maven’a i Gradle’a. Dodatkowo opowiem bardziej szczegółowo Maven’ie i Gradle’u, jak z nimi pracować i dlaczego warto ich używać. Po mojej prezentacji to co wydawało się trudne, stanie się proste, a to co niemożliwe stanie się waszym chlebem powszednim.

Łukasz Szwajkowski: pragmatyczny programista pracujący w Allegro.pl. Nie przywiązuje się do technologii, jednak z oczywistych względów preferuje Jave. Obrońca prostego kodu i dobrych praktyk. Najbardziej cieszy go udany deploy w piątek na produkcje.

Slajdy

 

JUGtober Fest 2013

JUGtober Fest czyli meeting będący rozpoczęciem sezonu poznańskiego JUG (Java User Group).  Co jakiś czas wpadam na jugi. Choć to, że „wpadam” na różne imprezy już chyba nikogo nie dziwi… Ale tegoroczne otwarcie sezonu miało naprawdę wysoki poziom. Pregentami byli Michał Matłoka „Rozszerzenia JBoss Arquillian”, Grzegorz Borkowski „LMAX…”, Jakub Nabrdalik „Test Driven Traps” Postaram się chociaż w kilku słowach powiedzieć o każdym wystąpieniu 😉

Rozszerzenia JBoss Arquillian, które musisz zabrać ze sobą na bezludną wyspę

DSC00787Tego nie znałem. JBoss Arquillian stanowi swietne narzędzie do testowania aplikacji. Testy piszemy w javie. Całość ma integrację z Selenium. Brzmi fajnie ale to było by dość typowe na te narzędzie. Zdecydowanie najciekawszym wyróżnikiem jest możliwość pisania testów na androida :)

LMAX – nowe podejście do super-wydajnego przetwarzania wielo/jednowątkowego

DSC00788Bardzo ciekawa prezentacja o optymalizacji Javy. W dość prosty sposób pokazano jak zwiększyć wydajność aplikacji. Jak powinno się tworzyć obiekty. Jednak przede wszystkim obalono mity, że dodawanie wielu wątków zwiększa wydajność aplikacji. W każdym bądź razie zawsze. Jak więc powinniśmy postępować? Tworzyć jedynie obiekty, które żyją bardzo krótko lub które pozostają w pamięci na trwałe. Jedną z technik zwiększenia wydajności przez LMAX, było właśnie utworzenie zbioru obiektów które były były ponownie używane przez program. Podobnie jak się robi w recyklingu 😉 Bycie „ekologicznym” popłaca 😀

Test Driven Traps

DSC00792Na koniec cały wykład o testowaniu aplikacji. O tym jak powinniśmy pisać testy w Test-driven development Na co uważać i czego nie robić… „Tylko lamy mają pokrycie testami mniejsze niż 100%” – czy sądzisz, że twój kod powinien mieć 100% pokrycie. Co znaczy to „100% pokrycie testami”? To znaczy tylko tyle, że twoje testy powinny sprawdzać całą logikę aplikacji, powinny być pisane jak zwykły kod i nie skupiać się na konkretnych rozwiązaniach – tylko testować interfejsy. A jeszcze jedno!!! Bardzo ważne. Testy jednostkowe nie powinny trwać więcej niż 30 sekund!