V edycja otwartej, darmowej konferencji
poświęconej zagadnieniom informatycznym
18 listopada 2017, Gliwice

Agenda

Trzy niezależne ścieżki tematyczne, prowadzone w ramach konferencji, umożliwią uczestnikom indywidualny dobór prelekcji. Dostępne będą następujące tematyki:

Software Architecture
GameDev
Software Craftsmanship
Kasjan Kotynia (Future Processing)

Akcja nierówna reakcji, czyli generowanie wartości Machine Learningu!

Testowanie oprogramowania w teorii jest dość prostym zajęciem. Każdy zdefiniowany zestaw akcji generuje pewien zestaw zdefiniowanych i niezmiennych reakcji. Jeżeli reakcja się nie zgadza – zidentyfik…

Akcja nierówna reakcji, czyli generowanie wartości Machine Learningu!

Testowanie oprogramowania w teorii jest dość prostym zajęciem. Każdy zdefiniowany zestaw akcji generuje pewien zestaw zdefiniowanych i niezmiennych reakcji. Jeżeli reakcja się nie zgadza – zidentyfikowaliśmy błąd (na poziomie aplikacji, błąd w teście lub w specyfikacji).

Istnieje jednak pewien zestaw algorytmów, w którym reakcje potrafią się między sobą różnić pomimo podania tych samych bodźców. W szczególności jest to zauważalne przy samouczących się algorytmach, w których akcje wpływają nie tylko na aktualny wynik, ale i na każdy kolejny, a próba znalezienia logicznego ciągu przyczynowo skutkowego jest często niemożliwa. Mowa tu o algorytmach opartych na Machine Learningu, których wyniki są zmienne w czasie.

Skąd w takim razie możemy wiedzieć, że testowany algorytm działa poprawnie? Jak wybronić swoją aplikację i wytłumaczyć niestandardowe reakcje? A może trzeba takie algorytmy odrzucić? Więcej na samym wykładzie :)

  Język: Polski
  Poziom: 
Arkadiusz Migała (Perform Group)

Async, wszędzie async

W przeciągu kilku lat w świecie naszych aplikacji oraz systemów wyłoniły się nowe trendy, które łączy jedno: asynchroniczność. Można ją spotkać w różnych sferach, między innymi mowa tutaj o programow…

W przeciągu kilku lat w świecie naszych aplikacji oraz systemów wyłoniły się nowe trendy, które łączy jedno: asynchroniczność. Można ją spotkać w różnych sferach, między innymi mowa tutaj o programowaniu reaktywnym, modelu aktorów, asynchronicznym zarządzaniu wątkami, nieblokującej architekturze czy serwerach kolejkowych. Niesie to za sobą pewne korzyści, konwencje oraz terminologię ale i również wymaga zupełnie innego podejścia. To wszystko postaram się wam pokrótce przybliżyć podczas tej prelekcji.

  Język: Polski
  Poziom: 
Jakub Bujny (EUVIC)

DevOps as code w pędzącym startupie

Wyobraźcie sobie startup, w którym liczba osób rośnie z 1 do 100 w ciągu roku a stos technologiczny rozrasta się w podobnym tempie - więcej developerów, więcej narzędzi, więcej usług, więcej …

DevOps as code w pędzącym startupie

Wyobraźcie sobie startup, w którym liczba osób rośnie z 1 do 100 w ciągu roku a stos technologiczny rozrasta się w podobnym tempie - więcej developerów, więcej narzędzi, więcej usług, więcej środowisk - jak to wszystko ogarnąć, być Agile i przy okazji nie zwariować? Spróbujemy zmierzyć się z tym tematem i poszukać zalet w haśle Infrastructure as Code, odkrywając zalety CI/CD as Code w świecie mikroserwisowego szaleństwa.

Wykład dotyczy głównie wyzwań oraz problemów, które niesie ze sobą dynamicznie rozwijający się startup z punktu widzenia DevOps’owego - luźny stack technologiczny, szybki przyrost pracowników, niekończące się pomysły developerów oraz zmienne wymagania. Wykład poruszy tematy związane z zaletami wynikającymi z utrzymywania infrastruktury w kodzie w rozwiązaniach chmurowych na przykładzie narzędzi takich jak ansible / packer / terraform oraz chmury AWS. Omówiony zostanie również proces CI/CD utrzymywany jako kod na przykładzie Jenkins Pipelines (Groovy DSL) oraz wykorzystania konteneryzacji (docker) w procesach budowania i testowania aplikacji. Zalety tych podejść zostaną przedstawione w kontekście architektury mikroserwisów oraz zmiennych wymagań zarówno biznesowych jak i developerskich.

  Język: Polski
  Poziom: 
Paweł Lewtak (GOG.com)

Dobrze prowadzony projekt od A do Z - okiem programisty

Możesz zacząć nowy projekt, kompletnie od zera zamiast utrzymywać stary kod? Szczęściar(a/z)! Chciałbym podzielić się swoim doświadczeniem i opowiedzieć, jak z punktu widzenia programisty powinien …

Dobrze prowadzony projekt od A do Z - okiem programisty

Możesz zacząć nowy projekt, kompletnie od zera zamiast utrzymywać stary kod? Szczęściar(a/z)! Chciałbym podzielić się swoim doświadczeniem i opowiedzieć, jak z punktu widzenia programisty powinien wyglądać dobrze poprowadzony projekt. Na potrzeby tej prezentacji załóżmy jedno wymaganie odnośnie dobrego projektu: kilka lat po wdrożeniu i utrzymywywaniu aplikacji, nowo dołączająca osoba nie ma ochoty uciec z krzykiem. Opowiem o tym, jak wygląda przeprowadzenie projektu od analizy do wdrożenia, z całą masą rzeczy o których trzeba pamiętać po drodze. Odpowiem na pytanie "co każdy projekt powinien mieć? Jak powinien funkcjonować". Wytłumaczę które rzeczy da się nadrobić, a wprowadzenie których na zbyt późnym etapie będzie bardzo kosztowne. Przy odrobinie szczęścia, wiedza wyniesiona z tej prezentacji pozwoli uniknąć tzw. kodu "legacy".

  Język: Polski
  Poziom: 
Tomasz Skowroński (Clurgo)

Documentation, it is alive!

So where is your documentation? It should has been done yesterday! – There is no documentation in Agile – replied a lazy developer. – “Working software over comprehensive documentation” – explained …

Documentation, it is alive!

So where is your documentation? It should has been done yesterday! – There is no documentation in Agile – replied a lazy developer. – “Working software over comprehensive documentation” – explained another agile one. – Let’s create a change request – PM rubbed his hands – you may generate a Javadoc! – Isn’t our code self-documenting, Uncle? – asked an XP developer. – No document unless it's need is immediate and significant – confirmed Bob. How many times have you heard such conversation? Probably you are not surprised with a common reluctance concerning software and code documentation. However, do you feel comfortable with Github projects having poor readme.md? This topic is addressed to developers who want to forget about documentation and return to the code. It may also interest people who feel that the time of docx files faded away. I will talk about modern and diverse methods or documentation replacements. I will show among others how to: create living documentation which won’t be outdated tomorrow; replace user stories and executable specifications with tests (still clear to business people); generate documentation elements without waffle; create graphs and diagrams without legacy UML; document API without Swagger’s hell of annotations.

  Język: Polski
  Poziom: 
Krzysztof Chruściel (Diebold Nixdorf)

Enough with the theory, let’s TDD!

Wszyscy wiemy, że TDD jest super, tylko dlaczego tak mało z nas stosuje tą metodykę na co dzień? Podczas live codingu postaram się pokazać wam, że życie na fazie może być ciekawe. Oczywiście fazy to …

Enough with the theory, let’s TDD!

Wszyscy wiemy, że TDD jest super, tylko dlaczego tak mało z nas stosuje tą metodykę na co dzień? Podczas live codingu postaram się pokazać wam, że życie na fazie może być ciekawe. Oczywiście fazy to - red, green i refactor. Każda faza kojarzy nam się z %integracją%, więc i testy integracyjne się pojawią. Potem postaramy się zostać zaakceptowani przez testy akceptacyjne, a wszystko to będzie sterowane przez TDD. A co z dokumentacją tych wszystkich zdarzeń!? Spokojnie, słyszeliście o Test Driven Documentation?

  Język: Polski
  Poziom: 
Sebastian Malaca (UBS)

Event Processing in Action

Event-driven architecture pozwala na obserwowanie, analizowanie oraz dynamiczne reagowanie na wszelkie występujące zdarzenia.  Większość funkcjonalności naszych aplikacji jest w dużej mierze …

Event Processing in Action

Event-driven architecture pozwala na obserwowanie, analizowanie oraz dynamiczne reagowanie na wszelkie występujące zdarzenia. 
Większość funkcjonalności naszych aplikacji jest w dużej mierze reakcją na jakieś żądanie czy też sytuację. Dlatego warto poznać zalety przetwarzania zdarzeniowego oraz event-driven architecture. 

Umiejętność rozpoznawania zdarzeń, na które musimy reagować czyni nas bardziej świadomymi domeny, z którą pracujemy. Umieszczanie ich w kodzie sprawia, że nasze aplikacje są spójniejsze, bardziej granularne oraz łatwiejsze w zrozumieniu, rozszerzaniu i modyfikowaniu.

Podczas prezentacji dowiesz się czym jest przetwarzanie zdarzeniowe. Jakie są różnice pomiędzy event processing, a event sourcing. Opowiem o najważniejszych konceptach event-driven architecture oraz o tym, w jaki sposób projektować aplikacje oparte na procesowaniu zdarzeń.

  Język: Polski
  Poziom: 
Karol Lasończyk (Nordic Semiconductor)

Historia jednego repozytorium - projektowanie git workflow oraz zarządzanie repozytorium

Repozytorium to bardzo często traktowana po macoszemu część software developmentu. Utarte ścieżki wyznawane przez wszystkich nie zawsze są dobrym rozwiązaniem. Zastosowane bez planu prowadzą do …

Historia jednego repozytorium - projektowanie git workflow oraz zarządzanie repozytorium

Repozytorium to bardzo często traktowana po macoszemu część software developmentu. Utarte ścieżki wyznawane przez wszystkich nie zawsze są dobrym rozwiązaniem. Zastosowane bez planu prowadzą do znacznego utrudnienia rozwoju oprogramowania. Wykład pokaże jak wyjść od pomysłu, a następnie krok po kroku jak zbudować własny plan zarządzania repozytorium git (tzw. workflow) tworząc solidny fundament pod rozwój projektu. Prezentacja pokaże też jak w ciekawy sposób wykorzystać można narzędzia do zarządzania repozytorium oraz wskaże dobre praktyki w trakcie tworzenia tzw. commit message'y. Podsumowując, trzymające w napięciu case study bazujące na jednym z działających repozytorium firmy Nordic Semicondutor polecane dla każdego software developera niezależnie od wyznawanego języka!

  Język: Polski
  Poziom: 
Wojciech Domagała (Artifex Mundi)

Jak chmura może pomóc Ci robić lepsze gry?

Stereotypowym skojarzeniem na hasło „game development” jest wizja programistów tworzących wydajne silniki, designerów obmyślających miodne rozgrywki, artystów, animatorów i dźwiękowców wspólnie …

Jak chmura może pomóc Ci robić lepsze gry?

Stereotypowym skojarzeniem na hasło „game development” jest wizja programistów tworzących wydajne silniki, designerów obmyślających miodne rozgrywki, artystów, animatorów i dźwiękowców wspólnie tworzących porywające scenerie. Naturalnie w skojarzeniu tym jest mnóstwo prawdy. Jednak w dzisiejszych czasach, kiedy tworzenie i wydawanie aplikacji jest coraz prostsze, a konkurencja większa niż kiedykolwiek wcześniej, na znaczeniu zyskują inne, dodatkowe mechanizmy, często ukryte nieco w głębi, czasami zupełnie niewidoczne dla użytkownika – gracza. Wraz z dynamicznym rozwojem koncepcji chmury publicznej, początkowo zaadoptowanej głównie przez aplikacje biznesowe, coraz częściej spoglądali w jej stronę także twórcy gier. Okazuje się, że dostępne technologie i sposoby tworzenia oprogramowania w chmurze otwierają nowe możliwości, z których na równi korzystać mogą zarówno mali, niezależni developerzy jak i giganci branży uzyskując przy tym bardzo wymierne korzyści. Pewne gatunki gier wręcz nie są w stanie obyć się bez takiej klasy mechanizmów.

Co takiego dokładnie można dzięki chmurze uzyskać, jak rozpocząć pracę z chmurą żeby efektywnie wykorzystać ją w całym procesie tworzenia, wydawania i utrzymywania gry? Postaram się rzucić nieco światła na te zagadnienia podpierając je rzeczywistymi przykładami i informacjami wprost od developerów.

  Język: Polski
  Poziom: 
Dawid Mazur (Positive Power)

Jak pisać czysty kod

Dowiedz się, jak pisać kod tak piękny, że będzie się nadawał do oprawienia. Co więcej: będzie się też nadawał do rozwijania i używania. Opowiem trochę o: dobrych praktykach,  …

Jak pisać czysty kod

Dowiedz się, jak pisać kod tak piękny, że będzie się nadawał do oprawienia. Co więcej: będzie się też nadawał do rozwijania i używania.

Opowiem trochę o:

  • dobrych praktykach, 

  • SOLIDnym podejściu w praktyce, 

  • dlaczego DRY może być mylące,

  •  i wielu innych bardzo przydatnych rzeczach, wzorcach i regułach.

  Język: Polski
  Poziom: 
Maciej Mortek (Polcode)

Jak​ ​przeprowadzić​ ​efektywne​ ​code​ ​review​ ​i​ ​kto​ ​może​ ​je​ ​wykonać?

Wszyscy wiemy, że rola code review w projekcie jest bardzo ważna i wpływa w dużym stopniu na końcową jakość projektu. Jednakże, żeby code review przyniosło takie efekty, jakich się spodziewamy, to …

Jak​ ​przeprowadzić​ ​efektywne​ ​code​ ​review​ ​i​ ​kto​ ​może​ ​je​ ​wykonać?

Wszyscy wiemy, że rola code review w projekcie jest bardzo ważna i wpływa w dużym stopniu na końcową jakość projektu. Jednakże, żeby code review przyniosło takie efekty, jakich się spodziewamy, to musi ono zostać przeprowadzone we właściwy sposób, a także bardzo sprawnie.

Podczas swojej prezentacji opowiem Wam o własnych doświadczeniach w tym temacie, a także przekażę Wam, mam nadzieję, cenne wskazówki na temat efektywnego przeprowadzania code review, które będziecie mogli wykorzystać w swojej codziennej pracy.

Podczas prezentacji dowiecie się:

  • jaka jest rola code review w projektach IT,

  • dlaczego nie powinniśmy rezygnować z code review,

  • jak przeprowadzać skuteczne code review,

  • czy my, jako recenzenci w procesie code review zyskujemy coś więcej niż tylko gwarancję jakości kodu?

  Język: Polski
  Poziom: 
Piotr Wittchen (SAP Hybris)

Jak tworzyć projekty open-source, których ludzie chcą używać?

Podczas prelekcji chciałbym podzielić się swoim ponad dwuletnim doświadczeniem oraz przemyśleniami związanymi z tworzeniem projektów open-source. Opowiem o tym, dlaczego programiści decydują się na …

Jak tworzyć projekty open-source, których ludzie chcą używać?

Podczas prelekcji chciałbym podzielić się swoim ponad dwuletnim doświadczeniem oraz przemyśleniami związanymi z tworzeniem projektów open-source. Opowiem o tym, dlaczego programiści decydują się na tworzenie takich projektów, jaka jest ich motywacja oraz jakie korzyści może wynieść z tego zarówno pojedyncza osoba, jak i firma, która wspiera takie rozwiązania. Przedstawię również cechy, które moim zdaniem powinny posiadać dobre projekty oraz praktyczne wskazówki na to, jak dostosować projekt do wysokich standardów jakości. Będzie to pomocne nie tylko przy tworzeniu własnych rozwiązań, ale także podczas ewaluacji rozwiązań, które już istnieją. Opowiem też o tym, jak promować swoje projekty oraz co może pomóc w stworzeniu wokół naszego rozwiązania społeczności programistów, którzy będą chcieli pomagać nam rozwijać nasze pomysły. Większość z moich projektów open-soruce, to lekkie biblioteki napisane w języku Java, a wymienione zagadnienia nie będą poparte teorią, lecz praktycznymi sytuacjami oraz stworzonymi przeze mnie rozwiązaniami, w których rozwój zaangażowali się programiści nie tylko z Polski, ale także m.in. z USA, Japonii, Rosji, Walii oraz Brazylii. Stworzone przeze mnie biblioteki zostały wdrożone m.in. w aplikacji mobilnej w firmie EERO z Doliny Krzemowej, która tworzy domowy system WiFi oraz w Toss.im, która jest firmą dostarczającą aplikację mobilną do obsługi finansów osobistych dla mieszkańców Korei, a także w open-sourcowej aplikacji PAT Track służącej do monitorowania rozkładu jazdy autobusów w Pittsburgh, PA (USA) oraz wielu innych. Każde z tych wdrożeń nastąpiło bez mojego udziału na podstawie dokumentacji, kodu źródłowego, testów i przykładowych aplikacji.

  Język: Polski
Małgorzata Smoleńska (Perform Group) / Sylwia Urbanek (Perform Group)

Jak zostałam Scrum Masterem...

"Co łączy Geodetę, Menadżera Służby Zdrowia, Marketingowca, Spedytora i Specjalistę ds. komunikacji społecznej? Cała piątka poświęciła dużo uwagi, czasu i energii na rozwój i pielęgnację kompetencji …

"Co łączy Geodetę, Menadżera Służby Zdrowia, Marketingowca, Spedytora i Specjalistę ds. komunikacji społecznej? Cała piątka poświęciła dużo uwagi, czasu i energii na rozwój i pielęgnację kompetencji miękkich. Cała piątka pełni w swojej organizacji funkcję Scrum Mastera, która wymaga posiadania zarówno kompetencji miękkich, jak i twardych. 

Z naszych doświadczeń wynika, że wiedza techniczna i domenowa są czymś, co można nabyć w praktyce,  natomiast umiejętności miękkie są często o wiele trudniejsze do nauczenia. Wymagają długiej i głębokiej pracy nad sobą - swoim postrzeganiem świata i siebie, opanowania ego i świadomości emocji. Dlatego chciałybyśmy podzielić się z Wami naszym doświadczeniem związanym z pracą Scrum Mastera. 

  Język: Polski
  Poziom: 
Marius Rejdak (XCaliber)

Legacy code na kontenerach?

Kontenery to ostatnio bardzo popularny, ale i kontrowersyjny temat. Zwolennicy i przeciwnicy sprzeczają się nad jego zasadnością, a należy pamiętać że jak każda inna technologia ma swoje wady i …

Legacy code na kontenerach?

Kontenery to ostatnio bardzo popularny, ale i kontrowersyjny temat. Zwolennicy i przeciwnicy sprzeczają się nad jego zasadnością, a należy pamiętać że jak każda inna technologia ma swoje wady i zalety.

W tej prezentacji nie postaram się wprowadzić Cię w świat kontenerów, lecz pokażę jakie wyzwania można napotkać migrując stary projekt, oraz jaki wpływ może wywrzeć na proces developmentu i wdrożenia produkcyjne.

  Język: Polski
  Poziom: 
Jarosław Ratajski (Engenius GmbH)

Nadeszła era funkcyjnego Serwera

Nadeszła era funkcyjnego Serwera  (nie tylko NodeJS) Wielu programistów ze świata JVM i nie tylko przyzwyczajonych jest do prostego paradygmatu: Jedno żądanie HTTP  - jeden wątek. Piękne, …

Nadeszła era funkcyjnego Serwera

Nadeszła era funkcyjnego Serwera 

(nie tylko NodeJS)

Wielu programistów ze świata JVM i nie tylko przyzwyczajonych jest do prostego paradygmatu: Jedno żądanie HTTP  - jeden wątek. Piękne, jasne, na wiele lat zdominowało tzw. enterprise... tylko beznadziejne. Opowiem Wam o lepszej altternatywie, która jest w Waszym zasięgu: programowane funkcyjnie serwery, z nieblokującym IO.  

To architektura, która umożliwia efektywniejsze wykorzystanie CPU (cache!), daje o wiele łatwiejsze w testowaniu serwery, które dodatkowo uruchamiają się w kilkanaście milisekund. A do tego, okazuje się, że mamy piękny funkcyjny kod, w którym prawie wszystko jest niemutowalne i czyste. I nikt nie potrafi tego kodu zrozumieć....

Nie, nie, nie.

... opowiem jak sobie z tym radzić. Na przykładzie różnych języków typu Java, Kotlin, Scala JS i serwerów.

  Język: Polski
  Poziom: 
Paweł Gajda (Carbon Studio)

Nierozwiązany problem lokomocji w VR

Idealny sposób poruszania się to "święty gral" wirtualnej rzeczywistości i temat wielu ożywionych dyskusji. W obliczu ryzyka choroby symulatorowej, wielu developerów rezygnuje ze swobodnego sposobu …

Nierozwiązany problem lokomocji w VR

Idealny sposób poruszania się to "święty gral" wirtualnej rzeczywistości i temat wielu ożywionych dyskusji. W obliczu ryzyka choroby symulatorowej, wielu developerów rezygnuje ze swobodnego sposobu poruszania znanego z "płaskich" gier FPS, co w odczuciu części graczy poprawia komfort, lecz prowadzić też może do ograniczenia immersji. Poszukiwanie złotego środka pomiędzy komfortem i immersją stanowi sedno lokomocji w VR. Wykład ma na celu omówienie różnych metod poruszania w VR wraz z ich zaletami i wadami, oraz przybliżenie tematyki choroby symulatorowej i immersji w grach VR.

  Język: Polski
  Poziom: 
Dominik Przybysz (TouK)

Porty i adaptery

Czy zdarzyło Ci się kiedyś przebudować całą aplikację, bo trzeba dodać nowe pole na frontendzie? Albo gdy zmiana organizacji tabel w DB zmieniała całą Twoją domenę? Jak radzić sobie ze zmieniającym …

Czy zdarzyło Ci się kiedyś przebudować całą aplikację, bo trzeba dodać nowe pole na frontendzie? Albo gdy zmiana organizacji tabel w DB zmieniała całą Twoją domenę? Jak radzić sobie ze zmieniającym się światem i wymaganiami? Jak utrzymywać porządek wewnątrz aplikacji i skupiać się na jej domenie? Jak sprawić, by zewnętrzny świat stał się detalem implementacyjnym? Odpowiedzią jest architektura portów i adapterów. 

Na prezentacji opowiem o doświadczeniach z budowaniem aplikacji, gdzie Twoja domena jest najważniejsza i odpowiem m. in. na pytania:

- Co mi to da?

- Jak to zrobić? 

- Na co uważać? 

- Dlaczego to jest trudne?

  Język: Polski
  Poziom: 
Piotr Pelczar (Euro Bank)

Pragmatic Monolith-First, easy to decompose, clean architecture

Tworzenie architektury systemów odpowiadającej przyszłym potrzebom biznesu to wróżenie z fusów. Nie istnieje jedna strategia  na strategiczne planowanie systemu. Zbyt wczesne podjęcie decyzji o …

Pragmatic Monolith-First, easy to decompose, clean architecture

Tworzenie architektury systemów odpowiadającej przyszłym potrzebom biznesu to wróżenie z fusów. Nie istnieje jedna strategia  na strategiczne planowanie systemu. Zbyt wczesne podjęcie decyzji o architekturze opartej o mikrousługi może utrudnić refaktoryzacje i wprowadzić zbyt dużą bezwładność systemu wyniesioną na poziom infrastruktury i spowolnić development. Z kolei monolit bardzo ciężko opanować.

Zaprezentuję propozycję budowy systemu rozpoczynając od dobrze zorganizowanego monolitu z wyraźnie zaznaczonymi zakresami techniczno-biznesowymi, umożliwiającego podjęcie decyzji w którym kierunku go dekomponować i jak go dostarczać. Jego założeniem będzie dobre wykorzystanie strategicznego i taktycznego Domain-Driven Design, oparcie o Hexagonal Archiecture. Zaprezentuję ciągłe i automatyczne monitorowanie złożoności przypadkowej różnej klasy narzędziami wbudowanymi w CI.

Zapraszam, jeżeli interesuje Cię budowa systemów o bogatej i skomplikowanej domenie biznesowej.

  Język: Polski
  Poziom: 
Szymon Homa (Pragmatic Coders)

Praktyki CI/CD dla pipelineów

Automatyzacja procesów continuous integration (CI) i wynikające z nich continuous delivery (CD), wydają się być nieodzowną częścią praktycznie każdego nowoczesnego systemu IT. Wraz z rozwojem …

Praktyki CI/CD dla pipelineów

Automatyzacja procesów continuous integration (CI) i wynikające z nich continuous delivery (CD), wydają się być nieodzowną częścią praktycznie każdego nowoczesnego systemu IT. Wraz z rozwojem najmodniejszej architektury ostatnich kilku lat tj. microservices architecture, rozwinęły się nie tylko techniki deploymentu, monitorowania aplikacji czy komunikacji pomiędzy systemami. Popularyzacja microservices wymusiła również zmiany w automatyzacji procesów CI/CD, tak by były one równie elastyczne jak sama architektura którą wspierają. W trakcie prezentacji chcę przybliżyć nieco na czym polega zmiana oraz co ze sobą niesie. Pokażę też jak zaadoptować znane praktyki (CI/CD/Refactoring/OpenSource SD) w kontekście utrzymywania tzw. deployment pipelines, oraz jak sprawić by zmiana podejścia w utrzymywaniu pipelineów umożliwiła faktyczną zmianę jakościową w organizacji. Praktyki tu omawiane operte są na ostatnich 2 latach intensywnych doświadczeń z wprowadzania tego typu rozwiązań w 2 firmach, dla dużych systemów rozproszonych, jak i wieloletnią praktyką implementowania CI/CD dla wielu innych projektów. Pomimo że wnioski i praktyki mają charakter ogólny, same przykłady oparte będą o Jenkinsa, jenkins job-dsl i jenkins-pipeline-dsl.

  Język: Polski
  Poziom: 
Jarosław Pałka (allegro.tech / Symentis)

Sagi, strumienie, reaktywność i inne buzzwordy

Dzień za dniem, CRUD za CRUD'em, dni przeciekają między palcami pośród takich samych usług RESTowych. Smutek, zgryzota, szara codzienność. Jedyną radością jest nowa wersja Spring MVC czy też kolejne …

Sagi, strumienie, reaktywność i inne buzzwordy

Dzień za dniem, CRUD za CRUD'em, dni przeciekają między palcami pośród takich samych usług RESTowych. Smutek, zgryzota, szara codzienność. Jedyną radością jest nowa wersja Spring MVC czy też kolejne potyczki pomiędzy obozami RESTafarian. Lecz czasami, raz w życiu, dostajesz w swoje ręce projekt, który budzi Cię do życia. Tym projektem jest "data streaming". I od teraz wszystko co wiesz, całe zdobyte doświadczenie, nie ma już znaczenia.

Hektolitry zdarzeń w binarnym formacie spadają na Twoją głowę jak konfetti. Nagle Twoim problemem zaczyna być opóźnienie w czasach odpowiedzi na poziomie milisekund, rozmiary kolejek i pule wątków. A GC topi kwarc na Twoich procesorach. Głowę zaprzątasz sobie problemami "causal consistency" i "happens beforemilisekund, rozmiarami kolejek i pulami wątków. 

Ta prezentacja to pamiętnik z pola bitwy. Opowieść o RX extensions, Apache Kafka i Hazelcast. Opowieść o tym, kiedy budowanie własnego rozwiązania ma sens. O tym z jakimi problemami się spotkacie, których będziecie starali się unikać jak ognia, a które z nich będziecie musieli rozwiązać sami. Zastanowimy sie też jakie problemy pomożecie rozwiązać biznesowi wykorzystując  strumieniowanie danych. A jeśli jedyne co pozostanie po tej prezentacji w Waszych głowach,  to świadomość, że kolejność zdarzeń ma znaczenie i wiedza na temat tego jak radzić sobie z tym w systemach rozproszonych, wówczas uznam to za sukces.

  Język: Polski
  Poziom: 
Monika Januszek (SAP Hybris)

Skąd wiesz, że Twoje testy są dobre?

Jeśli jesteś jednym z tych programistów, którzy piszą testy, bo uważają je za przydatne i chciałbyś jeszcze udoskonalić swój warsztat, ta prezentacja jest właśnie dla Ciebie. Jeśli jesteś tym, …

Skąd wiesz, że Twoje testy są dobre?

Jeśli jesteś jednym z tych programistów, którzy piszą testy, bo uważają je za przydatne i chciałbyś jeszcze udoskonalić swój warsztat, ta prezentacja jest właśnie dla Ciebie.
Jeśli jesteś tym, którego irytują testy, albo któremu testy przeszkadzają w pracy, ta prezentacja również jest dla Ciebie.
Będę mówić o tym, jak możesz ocenić, czy testy przynoszą jakąś wartość i jak możesz pisać testy, które przynoszą taką wartość, jakiej w danym momencie potrzebujesz.
Przedstawię techniki projektowania testów na realistycznych przykładach zamiast poprzestać na zakresach liczb.
Dowiesz się, jak możesz sprawić, aby testy z uciążliwego obowiązku stały się pożyteczną częścią Twojej pracy.
 

  Język: Polski
  Poziom: 
Tomasz Mirowski (3Soft)

Strumienie danych – przyszłość czy chwilowa moda?

Strumienie danych to nie tylko dźwięk i obraz… Przy odpowiednim podejściu otwierają się przed nami nowe możliwości analizy dużych ilości informacji - pomagają odpowiedzieć na pytanie 'a teraz?' – a …

Strumienie danych – przyszłość czy chwilowa moda?

Strumienie danych to nie tylko dźwięk i obraz… Przy odpowiednim podejściu otwierają się przed nami nowe możliwości analizy dużych ilości informacji - pomagają odpowiedzieć na pytanie 'a teraz?' – a zyskane informacje zapewniają nam możliwość reagowania w danej chwili na potrzeby klienta.

Często jednak wybór architektury systemu odpowiedzialnego za przetwarzanie danych strumieniowych jest skomplikowany – kluczowy jest rodzaj informacji, który planujemy poddać analizie. Co powinieneś wiedzieć, by w trakcie projektu mieć przekonanie, iż dokonałeś właściwego wyboru?

  • Czy w sposób bezkrytyczny możemy wprowadzić przetwarzanie strumieniowe do naszego projektu?
  • Jakie są jego zalety oraz jakie niesie ze sobą ograniczenia?
  • Kiedy możemy stwierdzić, iż analiza strumienia jest dobrym wyborem?
  • Jakie komponenty open source wspierają nas w implementacji?
  Język: Polski
  Poziom: 
Maciej Pryc (Destructive Creations)

Studium tworzenia systemu walki w grze Ancestors Legacy - od projektu do implementacji

Proces produkcji gry jest zazwyczaj bardzo dynamiczny, poszczególne funkcjonalności i systemy muszą ewoluować wraz z całym projektem. Niejednokrotnie finalna wersja danej mechaniki różni się znacząco …

Studium tworzenia systemu walki w grze Ancestors Legacy - od projektu do implementacji

Proces produkcji gry jest zazwyczaj bardzo dynamiczny, poszczególne funkcjonalności i systemy muszą ewoluować wraz z całym projektem. Niejednokrotnie finalna wersja danej mechaniki różni się znacząco od wersji oryginalnej, jaką na początku zaproponowali projektanci.

Podczas prelekcji omówiona zostanie droga, jaką przebył system walki w grze Ancestors Legacy, od oryginalnych założeń aż po obecną implementację. Przeanalizujemy proces zmian, jakim poddana została ta mechanika zwracając szczególną uwagę na to, dlaczego ulepszenia były konieczne i czemu zdecydowano się na takie, a nie inne rozwiązania. Spodziewać się należy wielu przykładów prosto z gry Ancestors Legacy (oraz jej roboczych wersji).

  Język: Polski
  Poziom: 
Łukasz Czechowicz (Alrauna Studio)

Tworzenie zmiennych materiałów w Unreal Engine 4

Sztywnie tworzone materiały są często niewystarczające. Często zachodzi potrzeba odpowiedzi materiału na środowisko. Chociażby zmiana matowości/odcieni materiału, ze względu na pogodę czy porę dnia. …

Tworzenie zmiennych materiałów w Unreal Engine 4

Sztywnie tworzone materiały są często niewystarczające. Często zachodzi potrzeba odpowiedzi materiału na środowisko. Chociażby zmiana matowości/odcieni materiału, ze względu na pogodę czy porę dnia. Wprowadza to dynamikę i różnorodność do gry, a w niektórych przypadkach wręcz jest podstawowym sposobem tworzenia materiałów.

W prelekcji zostanie zaprezentowane kilka sposobów na tworzenie zmiennych materiałów dla obiektów oraz funkcji światła w silniku Unreal Engine 4 jak również ich obsługa z poziomu skryptów Blueprint. Prezentacja sposobów zostanie poparta przykładami z obecnie tworzonego w Alrauna Studio projektu „The Way Back”.

  Język: Polski
  Poziom: 
Agnieszka Opilska (Omnisquare)

Właściwe pytanie, które ma tylko jedno słowo, czyli… dlaczego warto pytać “dlaczego”?

"Jeden prosty trik, by rozwiązać wszystkie Twoje projektowe problemy!". No może nie wszystkie, ale na pewno jakąś ich część. I może nie do końca rozwiązać, ale z pewnością lepiej je zrozumieć.  …

Właściwe pytanie, które ma tylko jedno słowo, czyli… dlaczego warto pytać “dlaczego”?

"Jeden prosty trik, by rozwiązać wszystkie Twoje projektowe problemy!". No może nie wszystkie, ale na pewno jakąś ich część. I może nie do końca rozwiązać, ale z pewnością lepiej je zrozumieć. 

W czasie prezentacji opowiem o tym, dlaczego warto pytać "dlaczego". Szczególnie kiedy sytuacja wydaje się beznadziejna, a kolejne "action pointy" z retrospektywy niczego nie zmieniają. Przeanalizujemy możliwe motywacje Klienta, który często zmienia wymagania biznesowe i zastanowimy się, jak można sobie z tym w projekcie poradzić. 

Chcę też pokazać uniwersalność pytania "dlaczego" i to jak sprawdza się w codziennej komunikacji z Klientem - nie tylko przy zmianie wymagań. Przedstawię przypadki z życia wzięte, gdzie proste zapytanie Klienta o jego intencje pozwoliło dobrać skuteczne rozwiązanie, tak by wszyscy byli zadowoleni. 

  Język: Polski
  Poziom: 
Paweł Młynarczyk (Onwelo)

Z pamiętnika programisty, czyli tam i z powrotem

Jak nie zgubić się w gąszczu technologii? Skąd czerpać wiedzę i jak znaleźć czas na naukę? Jak skupić się na pracy, kiedy wokół tyle się dzieje? Podczas mojej przygody z programowaniem nauczyłem się …

Z pamiętnika programisty, czyli tam i z powrotem

Jak nie zgubić się w gąszczu technologii? Skąd czerpać wiedzę i jak znaleźć czas na naukę? Jak skupić się na pracy, kiedy wokół tyle się dzieje? Podczas mojej przygody z programowaniem nauczyłem się kilku ciekawych rzeczy, które pozwalają mi się ciągle rozwijać. Chciałbym podzielić się swoim doświadczeniem i uchronić Was przed losem programistycznego dinozaura.

  Język: Polski
Korzystając z tej strony, zgadzasz się na zapisywanie przez nas plików cookie na Twoim komputerze zgodnie z naszą polityką prywatności.

Sponsor główny

Sponsor Ścieżki GameDev

Sponsor Ścieżki Software Architecture

Sponsor Ścieżki Software Craftsmanship

Sponsor złoty

Sponsor złoty

Sponsor złoty

Sponsor złoty

Sponsor złoty