Największa konferencja PHP w Polsce zbliża się wielkimi krokami!

Thursday 20th June 2024

10:00
0
Jak dobierać i stosować wzorce projektowe
Workshop by Tomasz Sadza (4 hour)

Wzorce projektowe są tematem znanym dla każdego developera. Jednak poza wiedzą teoretyczną pozostaje kwestia - kiedy zastosować odpowiedni wzorzec, jak zidentyfikować moment i jak dobrać wzorzec do sytuacji. Z pomocą serii przykładów z rzeczywistych projektów przeprowadzimy ćwiczenia wykorzystujące wzorce i usprawniające przykładowe aplikacje. Pokażemy korzyści i podsumujemy wnioski.

0
Efektywne Skalowanie Aplikacji Monolitycznej
Workshop by Max Małecki (8 hour)

Warsztat mający na celu przeprowadzenie uczestników poprzez tajniki skalowania monolitu. Rozpoczniemy od szukania bottlenecków. Przejdziemy przez cahce, profilowanie i optymalizację kodu aż po wyczerpanie drogi skalowania horyzontalnego. W końcu wejdziemy na ścieżkę wydzielania subdomen jako mikroserwisów.

0
PHPers Open Space
Event Related by Dariusz Drobisz (8 hour)

Spotkanie w luźnej formie gdzie każdy z uczestników tworzy agendę i uczestniczy w spotkaniach w mniejszych grupach.

Friday 21st June 2024

09:35
0
Efektywne Skalowanie Aplikacji Monolitycznej
Talk by Max Małecki in 1.A (1 hour)

Warsztat mający na celu przeprowadzenie uczestników poprzez tajniki skalowania monolitu. Rozpoczniemy od szukania bottlenecków. Przejdziemy przez cahce, profilowanie i optymalizację kodu aż po wyczerpanie drogi skalowania horyzontalnego. W końcu wejdziemy na ścieżkę wydzielania subdomen jako mikroserwisów.

Boosting Frontend Speed: Quick Wins for Backend Developers
Talk by Paul Conroy in 1.B (1 hour)

For those of us who work mostly as backend developers, being asked to fix issues on the frontend can be a bit scary. Node version issues, misbehaving CSS, strange JS async behaviour - it's a long way from the comfort of CLIs, APIs, and backend dev. But from time to time, we will be told "our website is slow", and need to do something about it! Unfortunately, this often means stepping into the world of frontend. But fear not! There are a number of quick wins available to us as backend developers* to improve page speed, without getting tangled up in the usual fun of frontend build and deployment processes. I'll cover the practical code snippets we can use to make these improvements, as well as the tools we use to measure the impact of our changes. If you attend this talk, you'll come away with concrete examples of quick changes you can make to improve the page speed of your application, without having to venture too far into the land of frontend dev! * - backend developers, and also those of us who identify as "Full stack" on our CVs, but are honestly happier working on the backend!

1
Przetwarzanie danych
Talk by Norbert Orzechowicz in 1.C (1 hour)

Prędzej czy później w praktycznie każdym systemie zetkniemy się z tym problemem. Bez względu na to jakiego frameworka używamy, jakie wzorce i strategie zastosujemy, jak bardzo złożony lub prosty jest nasz system, jedno na pewno się nie zmieni, będziemy przetwarzać dane. Być może będą to integracje z zewnętrznymi systemami, importy lub eksporty danych, generowanie raportów czy nawet budowanie projekcji. Niezależnie od skali, problem zawsze wygląda tak samo, pobierz dane z jednego miejsca, zmodyfikuj i przerzuć do miejsca docelowego. W czasie prezentacji postaram się przybliżyć temat ETL (Extract Transform Load), począwszy od bardzo podstawowych zagadnień jakim jest odczytywanie danych, poprzez transformację oraz partycjonowanie aż do zapisu. Niezależnie od stopnia zaawansowania, każdy powinien znaleźć coś dla siebie ponieważ nawet tak prosty temat jak odczytanie pliku CSV może być zrealizowany na wiele sposobów. My poszukamy tego najlepszego, oczywiście w PHPie.

0
Porty i Adaptery - po to to komu?
Talk by Michał Giergielewicz in 1.G (1 hour)

Tak zwany Hexagonal jest z nami już prawie 20 lat! Mimo popularności jaką to podejście przez ten czas zdobyło, ciągle bywa traktowane z pewną obawą i postrzegana jako złożona i niejasna architektura. W tej prezentacji chcę pokazać jak to naprawdę jest z Hexagonem, dlaczego jest tak popularny i które jego cechy dziś są najbardziej dla nas przydatne.

10:50
0
Towards the better API security
Talk by Tomasz Kowalczyk in 1.A (1 hour)

Czy wiesz jak zabezpieczyć swoje API? Same tokeny nie wystarczą... Zautomatyzowany, bezpośredni dostęp do logiki biznesowej pozwala na zupełnie nowe rodzaje ataków i podatności - wycieki danych, podrobienie tożsamości, nieautoryzowany dostęp, etc. Nawet dobrze zaimplementowane API może nie wprost udostępniać wartościowe informacje. Porozmawiajmy o niestandardowych sposobach ataków oraz jak projektować API, żeby naprawdę się przed nimi zabezpieczyć.

0
CUPID. Czy SOLIDa można już wyrzucić do kosza?
Talk by Marcin Lenkowski in 1.B (1 hour)

SOLID powstał w poprzednim tysiącleciu. Fakt że na końcu, ale w IT jeden rok, to czasem cała epoka. Dużo czasu, nie tylko na wdrożenie tych zasad u siebie, ale również na ich mocną krytykę. W opozycji do SOLIDa stoi CUPID… Tylko, czy ma to sens? O tym opowiem Ci w mojej prezentacji. Pokażę Ci czym jest komponentowość, filozofia UNIXa, przewidywalność, idiomatyczność a także jak ważne jest programowanie domenowe. Wszystko po to by zastanowić się - czy SOLIDa można już wyrzucić do kosza?

0
Let me code that interview with you
Talk by Konrad Alfaro in 1.C (1 hour)

In the era of layoffs and cost cuts, you need to stand out to get a job. Let’s face it, IT Companies focus now on hiring rock stars rather than CRUD developers as the money is short. I’ll show you how to prepare for it and perform at live coding sessions using your PHP and Software Engineering skills. W dobie zwolnień i cięć kosztów, musisz się wyróżnić, aby dostać pracę. Spójrzmy prawdzie w oczy, firmy IT obecnie skupiają się na zatrudnianiu "rock stars", a nie klepaczy CRUDów. Pokażę Ci, jak się przygotować i jak dobrze wypaść na sesjach live-coding podczas procesów rekrutacji, wykorzystując Twoje umiejętności PHP oraz ogólnej wiedzy z zakresu inżynierii oprogramowania.

1
Secure Development in PHP
Talk by Denis Brumann in 1.E (1 hour)

Products sold in the EU have a CE marking, which confirms they conform to health, safety and environmental protection standards. There are security standards for software like ISO 27001 and the EU is working on a Cyber Resiliency Act (CRA) with a similar goal: “The Act would see inadequate security features become a thing of the past with the introduction of mandatory cybersecurity requirements for manufacturers and retailers of such products, with this protection extending throughout the product lifecycle”. Let’s have a look at ISO 27001, what is likely relevant for us as PHP devs and do a non-exhaustive self assessment how our work fares in the light of these regulations. In this talk we will look primarily at ISO 27001 requirements and what are common practices for satisfying them. Ideally, this gives you a better understanding of the scope and helps you see where you can make meaningful improvements in the secure development practices of your team from planning over implementation to deployment and operations.

0
Optymalizacja rozproszonego systemu, czyli dlaczego performance to kłamstwo
Talk by Wojciech Opoczyński in 1.G (1 hour)

Zbieranie metryk i optymalizacja modularnego monolitu, wprowadzanie wielopoziomowego cache na różnych częściach systemu, indeksowanie bazy danych i poszukiwanie magicznej metody dzięki której zyskamy cenne fragmenty sekundy, gdy drugi request trwa za długo. Na prelekcji postaram się pokazać jak stosując różne techniki i poprawną analizę wydajności systemu jesteśmy w stanie przyspieszyć system kilku (nasto) krotnie, by requesty do naszego API były szybkie, zapytania do bazy lekkie, a cache nieproblematyczne.

12:05
0
Jak zapewnić bezpieczeństwo w projekcie
Talk by Krzysztof Wojtas in 1.A (45 minutes)

Jak ograniczyć ryzyko utraty danych? Jakie praktyki warto wdrożyć w projekcie aby było bezpieczniej? Co może zrobić programista aby ograniczyć ryzyko włamania? W świecie gdzie coraz więcej danych krąży przez różne usługi i aplikacje, a biznesy digitalizują kolejne procesy, znaczenie poziomu bezpieczeństwa aplikacji stale rośnie. Istnieje bowiem wiele zagrożeń, począwszy od wirusów szyfrujących dane, przez włamywaczy kradnących dane, aż po wycieki informacji. W związku z tym warto przejść przez metody i praktyki zmniejszające ryzyko włamania czy utraty danych, począwszy od etapu tworzenia kodu przez serwer, infrastrukturę, aż po narzędzia, z których korzystamy. Ponadto skomponujmy też zestaw narzędzi, które pomogą nam znaleźć potencjalne luki oraz sprawdzą podatność naszych aplikacji na ataki. Nawet najlepsze drzwi antywłamaniowe nie zabezpieczą nas, jeśli nie zostaną zamknięte na zamek.

1
Fixing Fixer, czyli jak tchnąć nowego ducha w projekt OSS
Talk by Grzegorz Korba in 1.B (45 minutes)

Na co dzień korzystamy z wielu dobrodziejstw OSS i nie zastanawiamy się nad tym jak to się tak naprawdę dzieje, że biblioteki, frameworki czy narzędzia są rozwijane i dostarczane nam, użytkownikom końcowym. Tymczasem po drugiej stronie bardzo często są ludzie, którym brakuje już czasu, chęci i/lub siły by dbać o projekt tak, jakby sobie tego życzyli. Możemy narzekać, że tak się dzieje, ale możemy też pomóc! Jak wejść do projektu OSS i co poprawić, by podnieść jego jakość oraz ułatwić innym kontrybuowanie - o tym dowiemy się na przykładzie PHP-CS-Fixera 🙂.

0
Panel dyskusyjny - Porozmawiajmy jak działają płatności online
Event Related by Tymoteusz Stengert, Karol Wojciechowski, Michał Bzowy, Karol Kreft in 1.C (45 minutes)

Prowadzi: Tymoteusz Stengert, uczestnicy: Karol Wojciechowski, Michał Bzowy, Karol Kreft

0
Event streaming na Symfony i Kafka - love hate relationship
Talk by Bartosz Głuszczak in 1.E (45 minutes)

Czy stałeś przed wyzwaniem integracji Kafki z Symfony Messenger, ale połączenie tych dwóch narzędzi wydawało się zbyt skomplikowane? A może podczas pracy z RabbitMQ napotkałeś trudności w utrzymaniu jednolitego formatu wiadomości między różnymi aplikacjami? A co z wykorzystaniem Kafki? Czy istnieją skuteczne metody optymalizacji procesu przesyłania i odbierania wiadomości w PHP? I czy realizacja mitycznej gwarancji dostarczenia wiadomości dokładnie raz jest łatwiejsza przy użyciu Kafki? Sprawdźmy więc, na jakich fundamentach jest oparta Kafka i jak może sprawnie współpracować z Symfony Messenger. Jakie specjalne narzędzia w Kafce wspierają zachowanie spójności, jak zachować spójność formatów wiadomości i wreszcie, jak skutecznie je dostarczać z użyciem Kafki. Będziesz mieć okazję zgłębić temat optymalizacji procesów produkcji i konsumpcji wiadomości uwzględniając specyficzne wyzwania techniczne PHP. Wspólnie zbadamy granice możliwości integracji Kafki z Symfony rozstrzygając, co jest do osiągnięcia, czego należy unikać, a co może nie przynieść oczekiwanych korzyści. Relacja Symfony Messenger i Kafki jest skomplikowana, ale nie taki diabeł straszny jak go malują. Jeśli chcesz wejść w świat event streamingu lub RabbitMQ cię zmęczył, to otrzymasz tu zestaw gotowych rozwiązań potrzebnych do skutecznego użycia Kafki i Symfony Messenger w projekcie.

Refactoring legacy systems using events, commands and bubble contexts
Talk by Michał Kurzeja in 1.G (45 minutes)

A summary of my 5-year journey through refactoring a legacy system using events, commands, and bubble context.

13:05
0
Jak zbudować wydajną architekturę baz danych dla twojej aplikacji PHP?
Talk by Maciej Ostrycharz in 1.A (45 minutes)

Wraz ze wzrostem rozmiaru bazy danych tradycyjna baza MySQL przestaje być wystarczająca. W trakcie prezentacji dowiesz się jak skalować bazę, tak, aby sprostała dużej ilości danych (1TB+), a także długiemu czasowi retencji. Jednocześnie zapewniając dostępność danych przez wiele lat w postaci raportów i analiz. Dowiedz się jak z tym tematem radzimy sobie w Przelewy24. Aplikacji, która wystartowała w 2004 roku i do dziś, z powodzeniem, wykorzystuje część z oryginalnej struktury bazy danych. Zwiększanie stabilności i wydajności MySQL z wykorzystaniem replikacji Efektywne wykonywanie kopii zapasowych Podłączenie Elastic Search do MySQL Szybki dostęp do danych (Redis) Kilka Tipów, jak zarządzać dużą bazą.

Retrieval Augmented Generation - zastąp złożoną logikę modelem tekstowym
Talk by Michał Żarnecki in 1.B (45 minutes)

Czy kiedykolwiek spotkałeś/aś się z kodem zawierającym tak wiele warunków i ścieżek przetwarzania, że jego utrzymanie i rozszerzanie było niemal niemożliwe? A gdyby tak zastąpić go automatycznie generowanym, samodoskonalącym się algorytmem? W ostatnich latach uczenie maszynowe jako dziedzina sztucznej inteligencji stało się efektywnym narzędziem do tworzenia systemów i aplikacji. Dynamiczny rozwój modeli opartych na sztucznych sieciach neuronowych sprawił, że programowanie złożonych reguł biznesowych i usług opartych na sumaryzacji oraz ekstrakcji informacji można z powodzeniem zastąpić modelami uczenia maszynowego. W tej prezentacji zobaczysz case study obrazujące proces budowania prostej aplikacji opartej na RAG (Retrieval Augmented Generation) w PHP z wykorzystaniem dużego modelu tekstowego (LLM) do efektywnego znajdowania precyzyjnych odpowiedzi w bazie nieustrukturyzowanych danych tekstowych.

1
Panel dyskusyjny - Porozmawiajamy o ścieżce kariery CTO
Event Related by Tymoteusz Stengert, Krzysztof Kowalczykiewicz, Piotr Kacala, Daniel Owsiański, Marcin Mazurek in 1.C (45 minutes)

Prowadzi: Tymoteusz Stengert, uczestnicy: Krzysztof Kowalczykiewicz, Piotr Kacala, Daniel Owsiański, Marcin Mazurek

Adding Tests to Untestable Legacy Code
Talk by Anna Filina in 1.E (45 minutes)

My work consists of improving the code quality in legacy applications, most in the millions of lines. How to approach testing when the code is untestable? Where to begin with an application that has no tests? What to do with existing tests that are either hard to understand or have fallen into disrepair? I will answer all these questions by showing how these problems were solved in real-world projects.

14:05
0
No Javascript No Cry – Budowanie dynamicznych aplikacji z Symfony UX
Talk by Jakub Tobiasz in 1.A (45 minutes)

Od zarania dziejów pewne słowo wypowiadane przez starożytne plemię Frątów przyprawia plemię Bakendów o ciarki. Owym słowem okazuje się "Javascript" – język całkiem przydatny podczas tworzenia dynamicznych aplikacji internetowych. Prezentacja ma na celu przybliżenie inicjatywy o nazwie "Symfony UX", mocno inspirowanej technologiami od kolegów bawiącymi się rubinami na torach, mającej na celu ukrycie Javascript'u w szafie.

0
Gdy MySQL już nie wyrabia, czas na ClickHouse
Talk by Grzegorz Stawarczyk in 1.B (45 minutes)

W prezentacji przedstawię kolumnową bazy danych ClickHouse oraz jej wykorzystanie w Grupie Blix. Pokażę możliwości i ograniczenia jakie niesie ze sobą ten silnik bazodanowy. W międzyczasie porównamy go wydajnościowo do MySQLa na produkcyjnych danych.

0
Czym jest Behavior-driven Thinking?
Talk by Adam Banaszkiewicz in 1.C (45 minutes)

Karierę programisty można podzielić na kilka różnych etapów. Każdy zaczynał od "tabela do mój model" czy "po co mi testy?". W moim odczuciu to właśnie Behavior-driven Thinking jest tym Game-changerem, który daje kopa w karierze! Opowiem o tym, jak odblokować sobie umysł pod DDD, jak zrozumieć BDD, jak zacząć pisać testy w ten "lepsiejszy" sposób. A przede wszystkim opowiem historię, w której zobaczysz jak ważna jest "świadomość", czyli Behavior-driven Thinking.

0
Extending the PHP Language with PHP
Talk by Dave Liddament in 1.G (45 minutes)

Do you wish that PHP had features that other languages have? Have you got some great ideas about how to extend PHP’s feature set but don’t want to go through the RFC process? Great news. There is another way. It is possible to implement some new language features using static analysis. This talk will briefly introduce the PHP Language Extension library; which offers features such as Java’s package level visibility and C++’s friend feature. Then, we’ll take a deep dive into how to create a custom PHPStan rule. By the end of the talk, hopefully you’ll be inspired to create your own enhancements to PHP, or at the very least have a starting point to write your own custom rules.

15:05
0
Jak przeniesiono największy polski Fin-Tech do chmury.
Talk by Michał Bzowy in 1.B (45 minutes)

Podsumowanie 7 miesięcznego projektu dostosowanie i uruchomienia platformy Przelewy24 w chmurze. W trakcie prezentacji usłyszysz: Co musi zrobić podmiot regulowany, aby skorzystać z usług chmurowych. Jak dobrze lub dość dobrze przygotować aplikację, jeżeli myślisz o migracji Wykorzystanie usług PaaS blaski, cienie i … blokery Czego nie udało się przenieść do PaaS i zostało po „staremu” Porównanie wydajności on-Prem vs Cloud (i trochę o kosztach)

Najskuteczniejsze GitHub Actions dla programistów PHP (Lightning Talk)
Talk by Aleksander Tabor in 1.C (15 minutes)

Jak wykorzystać w pełni GitHub Actions w projektach PHP - przegląd narzędzi, które pomogą w stworzeniu wymarzonego workflow - od commita do deploymentu, a nawet wtedy kiedy śpimy.

0
Shifting Security Left - automatyzacja security w organizacji
Talk by Pawel Brzoski in 1.E (45 minutes)

Często zdarza się, że aspekty bezpieczeństwa są pomijane w organizacjach lub odkładane na sam koniec cyklu życia rozwoju oprogramowania (Software Development Life Cycle - SDLC). Takie podejście, gdzie bezpieczeństwo jest brane pod uwagę dopiero na końcowym etapie, sprawia, że staje się ono bardziej kosztowne i trudniejsze do wdrożenia efektywnie. W ramach prezentacji przedstawię koncepcję „Shifting Security Left” - przesunięcia procesów bezpieczeństwa na wczesne etapy SDLC. Omówię, które elementy bezpieczeństwa możemy zautomatyzować, jak podejść do tego procesu, a także jakie narzędzia najlepiej wykorzystać, aby maksymalizować skuteczność i efektywność wdrażania bezpieczeństwa w cyklu życia oprogramowania.

0
A Serializer on steroids in Symfony
Talk by Mathias Arlaud in 1.G (45 minutes)

Serialization plays an essential role in any information system, and particularly in the context of a web application, as it is one of the pivots of the HTTP request/response cycle. This is why Symfony's Serializer component is one of the most critical for our applications. Needs evolve, and since its creation, the Serializer has found itself confronted with new issues. In fact, its ability to handle large volumes of data while remaining efficient and flexible has become critical. That's why new tools have appeared over the years, each enabling independent improvement of a part of the Serializer. What are these tools? And how can they be orchestrated to produce a new version of the Serializer component, but on steroids? That's what we'll be talking about at this conference.

15:30
0
Checklista Efektywnego Trenera (Lightning Talk)
Talk by Tomasz Sadza in 1.C (15 minutes)

Krótki lightning talk skierowany do obecnych i przyszłych Trenerów IT, którzy pragną wzbogacić swój warsztat o zestaw sprawdzonych narzędzi i technik. Celem jest prowadzenie szkoleń nie tylko bogatych merytorycznie, ale także takich, które zostaną zapamiętane przez uczestników. Przedstawię kluczowe punkty z mojej osobistej checklisty trenera – począwszy od etapu przygotowania materiału, poprzez techniki angażowania uwagi uczestników, aż po metody oceny efektywności szkolenia. Zapraszam do traktowania tego wystąpienia jako serii praktycznych uwag, które pokazują, jak proste zmiany i głębsze zrozumienie potrzeb uczestników mogą znacząco podnieść jakość prowadzonych szkoleń, przekształcając je w jeszcze lepsze doświadczenie edukacyjne.

16:00
0
Szybki kurs myślenia biznesowego dla inżynierów i inżynierek
Talk by Michał Bartyzel in 1.A (30 minutes)

Niektórym inżynierom/-kom w pewnym momencie przychodzi do głowy, że są traktowani jako podwykonawcy biznesu. Jeśli jest to klient wewnętrzny to inżynier jest dla biznes po prostu dostawca, a jeśli są w jednej organizacji, to IT jest dla biznesu wewnętrznym podwykonem. Tyle, że Ci inżynierowie/-ki chcą być dla klienta partnerem, nie podwykonem i nie wiedzą jak to zrobić. Jeśli to, co wyżej napisałem w jakiś sposób odzwierciedla Twoje wewnętrzne przemyślenia, wpadnij na moją prezkę. Podam Ci kilka punktów, na które warto zwrócić uwagę, jeśli chcesz budować partnerską relację z biznesem.

0
Kod też człowiek - etapy i porady
Talk by Szymon Derkowski in 1.B (30 minutes)

Zapraszam do podróży przez projekt zwany życiem. Przechodząc przez kolejne etapy waterfalla odkryjemy jak dobre praktyki z obu światów potrafią się pokrywać i uzupełniać.

0
2 lata z GitHub Copilot
Talk by Jerzy Zawadzki in 1.C (15 minutes)

Podczas spotkania podzielę się moimi przemyśleniami, sprawdzonymi praktykami oraz napotkanymi problemami, które zgromadziłem w ciągu ostatnich 2 lat pracy z GitHub Copilot. Omówię, jak efektywnie wykorzystać narzędzie oraz jak unikać typowych pułapek.

0
Handling 2B records for a high-traffic application
Talk by Sorin Dumitrescu in 1.E (30 minutes)

I would like to present the journey of switching from MongoDB to hybrid OLTP / OLAP solution (TiDB) for more than 2.2 Billion records I see it as a practical presentation: - laying out the context before (the necessity of change) - available choices and selection criteria - how we did the benchmarking - actual migration of the data - how the systems ran in parallel and how we checked the integrity - and some figures from initial and final benchmarking (actual performance numbers)

0
Beyond cronjobs: adopting long running processes in practice
Talk by Damian Dziaduch in 1.G (30 minutes)

W każdym systemie są zadania które muszą być wykonywane co pewien czas. Klasycznym rozwiązaniem takiego problemu jest oczywiście użycie narzędzia o nazwie cronjob. Czy zastanawiałeś się kiedyś jak rozwiązać taki problem inaczej? Czy słyszałeś kiedyś o długo działających procesach? Jeśli słyszałeś, to czy używałeś tego w praktyce? Pozwól że pokaże Ci nasze podejście do tematu. Dwa, kompletnie różne rozwiązania. Zaprezentuje co poszło nie tak, a z czego jesteśmy dumni. Opowiem również o tym co jeszcze można usprawnić. Moim celem jest pokazanie alternatywy dla cronnobów i zachęcić Cię do eksplorowania i implementacji. Gwarantuje praktyczną wiedzę którą możesz wykorzystać w swoich projektach.

16:35 Processing One Billion Rows in PHP
Talk by Florian Engelhardt in 1.A (30 minutes)

The 1brc is "a fun exploration of how quickly 1B rows from a text file can be aggregated with Java", but let's face it, we should be able to do this in PHP too, right? Join me and let's see how fast we can actually aggregate 1B rows in PHP and learn about optimising the performance of PHP software along the way.

0
Open Source Driven Career - Jak zbudować lub ulepszyć swoją karierę dzięki Open Source?
Talk by Paweł Jędrzejewski in 1.B (30 minutes)

Open Source może być trampoliną na każdym etapie ścieżki rozwoju Twojej kariery. Na bazie prawie 15 lat doświadczeń w budowaniu Syliusa i jego ekosystemu, podzielę się perspektywami, anegdotami i sposobami na zbudowanie lub ulepszenie swojej kariery. Dla każdego, od junior developera do Open Source Foundera.

0
Czy deweloperzy to ludzie? - O motywacji w IT słów parę
Talk by Maciej Wojczuk in 1.C (15 minutes)

Bawiąc się przez chwilę w niekrzywdzący sposób stereotypami na temat deweloperów, przejdziemy do zrozumienia piramidy jego potrzeb i porównamy ją z typową piramidą Maslowa. Następnie zgrabnie zamieniając potrzeby na motywację porozmawiamy o jej rodzajach i dwuczynnikowej teorii motywacji, by finalnie odpowiedzieć sobie jako liderzy na bardzo ważne pytania: PO CO i JAK motywować oraz czemu NIE odpowiemy sobie na pytanie CZYM motywować dewelopera.

0
Przestań martwić się frontem i steruj logiką za pomogą backendowego API.
Talk by Adrian Słowik in 1.E (30 minutes)

Ile razy zdarzyło Ci się zmieniać API na backendzie i czekać na wdrożenie pozostałych zmian w UI przez frontendowca? Nowoczesne aplikacje mają backend, który dostarcza API i skomunikowany z nim frontend, który nie tylko renderuje interfejs użytkownika, ale coraz częściej dostarcza logikę biznesową. Zmiany w aplikacji często wymagają prac w obu warstwach. Nie zawsze musi tak być! Zobacz jak przenieść część odpowiedzialności na backend i przestań martwić się frontem.

0
Jak odpowiednio dobrać drivery technologiczne?
Talk by Mateusz Wojczal in 1.E (30 minutes)

Prezentacja dotycząca doboru driverów technologicznych skupia się na kluczowych czynnikach i dobrych praktykach, które pomogą w odpowiednim doborze technologii dla projektu. Rozpoczynamy od zrozumienia kontekstu biznesowego i wymagań projektu, aby lepiej dopasować technologię do celów biznesowych. Następnie omawiamy proces oceny dostępnych technologii, uwzględniając czynniki takie jak wydajność, skalowalność, społeczność i dokumentację. Analiza ryzyka i bezpieczeństwa jest również istotnym elementem, wraz z uwzględnieniem dostępności i umiejętności zespołu. Na zakończenie prezentacji przedstawiamy zestaw dobrych praktyk, takich jak prototypowanie, testowanie proof of concept i analizę przypadków użycia, aby pomóc w skutecznym doborze driverów technologicznych. Całość ma na celu podkreślenie znaczenia odpowiedniego doboru technologii i zachęcenie do stosowania omówionych czynników i praktyk w procesie wyboru technologii. Testy mutacyjne to rodzaj testów oprogramowania, które polegają na wprowadzaniu celowo wprowadzanych błędów (tzw. mutacji) do kodu programu w celu oceny jakości testów jednostkowych. W ramach testów mutacyjnych, program jest poddawany serii mutacji, a następnie uruchamiane są testy, aby sprawdzić, czy testy wykryją te zmiany. Fuzz testing, znane również jako testowanie oparte na przypadkowości, to technika testowania oprogramowania, która polega na wprowadzaniu losowych, zniekształconych lub nieprawidłowych danych wejściowych do programu w celu wykrycia błędów lub luk w zabezpieczeniach. Fuzz testing pozwala na zautomatyzowane generowanie ogromnej liczby testów, co może pomóc w wykryciu trudno dostrzegalnych błędów w oprogramowaniu.

0
Przestań martwić się frontem i steruj logiką za pomogą backendowego API.
Talk by Adrian Słowik in 1.E (30 minutes)

Ile razy zdarzyło Ci się zmieniać API na backendzie i czekać na wdrożenie pozostałych zmian w UI przez frontendowca? Nowoczesne aplikacje mają backend, który dostarcza API i skomunikowany z nim frontend, który nie tylko renderuje interfejs użytkownika, ale coraz częściej dostarcza logikę biznesową. Zmiany w aplikacji często wymagają prac w obu warstwach. Nie zawsze musi tak być! Zobacz jak przenieść część odpowiedzialności na backend i przestań martwić się frontem.