Znaki mocy dla laików – Programowanie funkcyjne w JavaScriptThe Software House
Presentation from Uszanowanko Programowanko meetup - http://www.uszanowanko.pl/z-biblioteki-cechu-ubijacza-potworow
Wiktor Toporek - Znaki mocy dla laików
Programowanie funkcyjne nierzadko postrzegane jest jako dziwna oraz trudna do opanowania technika, tymczasem każdy może korzystać z jej dobrodziejstw.
Analizy Przestrzenne z wykorzystaniem GRASS vol.15WGUG
tom 15 z serii Rozprawy Naukowe Instytutu Geografii i Rozwoju Regionalnego Uniwersytetu Wrocławskiego, zawierający artykuły powstałe na podstawie prezentacje wygłoszonych w trackie XII Warsztatów Naukowych "Analizy przestrzenne z wykorzystaniem GRASS", Wrocław 2010.
Jesteś frontendowcem i masz zamiar pisać w Nodzie? A może wcześniej pisałeś w PHP? Ta prezentacja pomoże ci zrozumieć podstawowe reguły rządzące światem Node'a, jak i nadrobić zaległości. Przygotuj się na pozytywnego kopniaka!
Znaki mocy dla laików – Programowanie funkcyjne w JavaScriptThe Software House
Presentation from Uszanowanko Programowanko meetup - http://www.uszanowanko.pl/z-biblioteki-cechu-ubijacza-potworow
Wiktor Toporek - Znaki mocy dla laików
Programowanie funkcyjne nierzadko postrzegane jest jako dziwna oraz trudna do opanowania technika, tymczasem każdy może korzystać z jej dobrodziejstw.
Analizy Przestrzenne z wykorzystaniem GRASS vol.15WGUG
tom 15 z serii Rozprawy Naukowe Instytutu Geografii i Rozwoju Regionalnego Uniwersytetu Wrocławskiego, zawierający artykuły powstałe na podstawie prezentacje wygłoszonych w trackie XII Warsztatów Naukowych "Analizy przestrzenne z wykorzystaniem GRASS", Wrocław 2010.
Jesteś frontendowcem i masz zamiar pisać w Nodzie? A może wcześniej pisałeś w PHP? Ta prezentacja pomoże ci zrozumieć podstawowe reguły rządzące światem Node'a, jak i nadrobić zaległości. Przygotuj się na pozytywnego kopniaka!
Introduction to Hadoop Map Reduce, Pig, Hive and HBase technologies.
Workshop deck prepared and presented on May 30th 2015 by Radosław Stankiewicz.
During that day participants had also possibility to go through prepared tutorials and test their analysis on real cluster.
Przegląd najważniejszych założeń technologii ASP.NET MVC. Omówienie mechanizmów routingu, kontrolerów, widoków, bezpieczeństwa, walidacji danych, AJAX oraz rozszerzalności platformy. Prezentacja obejmuje fundamentalne założenia ASP.NET MVC 1, pozostające w większości nadal aktualne a także wybrane nowe mechanizmy ASP.NET MVC 2 i ASP.NET MVC 3.
Nie wszystko, co ubite, w ziemi zostaje. Wprowadzenie do Event SourcingThe Software House
Presentation from Uszanowanko Programowanko meetup - http://www.uszanowanko.pl/z-biblioteki-cechu-ubijacza-potworow
Daniel Stokowiec - Nie wszystko, co ubite, w ziemi zostaje
O tym, jak znajomość zdarzeń pomaga w walce ze zmorami i potworami, czyli wprowadzenie do Event Sourcing
Wiele już powiedziano i napisano o bezpiecznym kodowaniu.
My skupiamy się w prezentacji na bezpiecznym kodowaniu w języku C na podstawie realnych podatności znalezionych w znanych programach i bibliotekach oraz kernelu Linuxa.
Warsztaty: Podstawy PHP
Część 2: Omówienie składni języka PHP (wersja 7)
Prowadzący: Krzysztof Ożóg, CTO Codesushi
Omówienie składni języka PHP (wersja 7):
1) Instalacja interpretera języka PHP
2) Deklaracja zmiennych i stałych
3) Operatory i ich priorytet
4) Struktury kontrolne
5) Definiowanie funkcji
6) Alternatywna składnia, czyli PHP jako system szablonów
7) Model obiektowy
a) Klasy
b) interface -y
c) Dziedziczenie
d) Magic methods
e) Autoloader
f) Obsługa błędów i wyjątków
g) PDO - interface komunikacji z bazami danych
h) Omówienie biblioteki standardowej PHP
i) Omówienie rozszerzenia SPL
j) Standardy PSR
k) Standardy kodowania PSR-1 i PSR-2
l) Composer, standardy PSR-0 i PSR-4 i Packagist
Architektura aplikacji z wykorzystaniem wzorca redux i implementacji angular 2+ oraz ngrx. Prezentacja ze szkolenia przeznaczonego dla programistów angular1.
W ostatnich latach TypeScript bez wątpienia coraz częściej staje się standardowym narzędziem w JavaScriptowych środowiskach. Pomaga wyłapać wiele błędów nim aplikacja zostanie uruchomiona, ale niestety samo jego użycie w projekcie nie jest panaceum na wszystkie tego typu błędy. Dlatego też podczas prezentacji przyjrzymy się technikom, które pozwalają zaprojektować kod, który prowadzi programistów za rączkę do świata w którym błędy w trybie runtime są rzadkością.
Pierwsza aplikacja na iOS, czyli z czym można się spotkać, co jest trudne i c...The Software House
Architektura aplikacji iOS, podstawowe kontrolki i przydatne frameworki.
Kod źródłowy z prezentacji: https://github.com/UszanowankoProgramowanko/swift-intro
W roku 2015 świat ujrzała specyfikacja ECMAScript 6. Większość programistów JS na pewno o niej słyszała, ale nie każdy miał przyjemność programować z wykorzystaniem nowych ficzerów oferowanych przez ten język. Postaram się zrobić krótki przegląd nowych ficzerów zarówno pod kątem używalności jak i czyhających pułapek.
Kod źródłowy z prezentacji: https://github.com/UszanowankoProgramowanko/ecmascript6
Introduction to Hadoop Map Reduce, Pig, Hive and HBase technologies.
Workshop deck prepared and presented on May 30th 2015 by Radosław Stankiewicz.
During that day participants had also possibility to go through prepared tutorials and test their analysis on real cluster.
Przegląd najważniejszych założeń technologii ASP.NET MVC. Omówienie mechanizmów routingu, kontrolerów, widoków, bezpieczeństwa, walidacji danych, AJAX oraz rozszerzalności platformy. Prezentacja obejmuje fundamentalne założenia ASP.NET MVC 1, pozostające w większości nadal aktualne a także wybrane nowe mechanizmy ASP.NET MVC 2 i ASP.NET MVC 3.
Nie wszystko, co ubite, w ziemi zostaje. Wprowadzenie do Event SourcingThe Software House
Presentation from Uszanowanko Programowanko meetup - http://www.uszanowanko.pl/z-biblioteki-cechu-ubijacza-potworow
Daniel Stokowiec - Nie wszystko, co ubite, w ziemi zostaje
O tym, jak znajomość zdarzeń pomaga w walce ze zmorami i potworami, czyli wprowadzenie do Event Sourcing
Wiele już powiedziano i napisano o bezpiecznym kodowaniu.
My skupiamy się w prezentacji na bezpiecznym kodowaniu w języku C na podstawie realnych podatności znalezionych w znanych programach i bibliotekach oraz kernelu Linuxa.
Warsztaty: Podstawy PHP
Część 2: Omówienie składni języka PHP (wersja 7)
Prowadzący: Krzysztof Ożóg, CTO Codesushi
Omówienie składni języka PHP (wersja 7):
1) Instalacja interpretera języka PHP
2) Deklaracja zmiennych i stałych
3) Operatory i ich priorytet
4) Struktury kontrolne
5) Definiowanie funkcji
6) Alternatywna składnia, czyli PHP jako system szablonów
7) Model obiektowy
a) Klasy
b) interface -y
c) Dziedziczenie
d) Magic methods
e) Autoloader
f) Obsługa błędów i wyjątków
g) PDO - interface komunikacji z bazami danych
h) Omówienie biblioteki standardowej PHP
i) Omówienie rozszerzenia SPL
j) Standardy PSR
k) Standardy kodowania PSR-1 i PSR-2
l) Composer, standardy PSR-0 i PSR-4 i Packagist
Architektura aplikacji z wykorzystaniem wzorca redux i implementacji angular 2+ oraz ngrx. Prezentacja ze szkolenia przeznaczonego dla programistów angular1.
W ostatnich latach TypeScript bez wątpienia coraz częściej staje się standardowym narzędziem w JavaScriptowych środowiskach. Pomaga wyłapać wiele błędów nim aplikacja zostanie uruchomiona, ale niestety samo jego użycie w projekcie nie jest panaceum na wszystkie tego typu błędy. Dlatego też podczas prezentacji przyjrzymy się technikom, które pozwalają zaprojektować kod, który prowadzi programistów za rączkę do świata w którym błędy w trybie runtime są rzadkością.
Pierwsza aplikacja na iOS, czyli z czym można się spotkać, co jest trudne i c...The Software House
Architektura aplikacji iOS, podstawowe kontrolki i przydatne frameworki.
Kod źródłowy z prezentacji: https://github.com/UszanowankoProgramowanko/swift-intro
W roku 2015 świat ujrzała specyfikacja ECMAScript 6. Większość programistów JS na pewno o niej słyszała, ale nie każdy miał przyjemność programować z wykorzystaniem nowych ficzerów oferowanych przez ten język. Postaram się zrobić krótki przegląd nowych ficzerów zarówno pod kątem używalności jak i czyhających pułapek.
Kod źródłowy z prezentacji: https://github.com/UszanowankoProgramowanko/ecmascript6
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...The Software House
Prezentacja z meetupu grupy "Uszanowanko Programowanko", tematyka AngularJS: http://www.uszanowanko.pl/angular
Autor: Łukasz Bachman
Szybkie prototypowanie aplikacji w AngularJS jest jedną z największych zalet tego narzędzia. Jednakże jako programiści musimy zadbać o to, aby pisane przez nas aplikacje były wydajne zarówno pod względem pamięciowym, jak i czasowym. W mojej krótkiej prezentacji chciałbym przedstawić kilka praktycznych porad, które pomogą to osiągnąć. Całość omówimy na prawdziwym studium przypadku aplikacji przetwarzającej duże zbiory danych.
Czas na duże zmiany! PHP 7 wprowadza sporo nowości, które sprawią, że pisanie kodu będzie wygodniejsze, bezpieczniejsze i szybsze. Lepsze typowanie, nowa obsługa błędów czy operatory to tylko niektóre z wielu ulepszeń. Prezentacja będzie prowadzona w formie pokazu na żywo, w trakcie którego przedstawię najważniejsze informacje dotyczące nowej wersji języka.
Marek Gajda - Pi razy drzwi
Prezentacja z Uszanowanka Programowanka #9 - uszanowanko.pl
Każdy programista przynajmniej raz w życiu usłyszy magiczne słowa “Mam taki projekt… Ile to zajmie?”. Jak radzić sobie z odpowiedzią, kiedy nie mamy jeszcze wszystkich szczegółów, a jedynie ogólny zarys tego, co trzeba wykonać? Jak wróżyć z fusów skoro najczęściej pijemy kawę z ekspresu? Podzielę się swoimi doświadczeniami z szacowania projektów.
Wiktor Toporek - Gulp.js
Prezentacja z meetupu Uszanowanko Programowanko #11 - http://www.meetup.com/Uszanowanko-Programowanko/events/228401563/
Istnieje wiele pomocnych narzędzi zasilanych technologią Node.js. Swego czasu najpopularniejszym oraz niezbędnym narzędziem dla każdego frontendowca był Grunt. Jak to jednak w świecie JavaScriptu bywa, szybko powstała konkurencja z odrobinę inną filozofią pracy - Gulp.js
Wydawałoby się, że w świecie aplikacji mobilnych i webowych nie ma już miejsca na desktopy - jednak tak nie jest. Z pomocą przychodzi nam JavaScript! Celem prezentacji będzie pokazanie jak przy pomocy JS zbudować prostą desktopową aplikację wykorzystującą webowe API.
Maciej Mączko - Bitcoin - (nie)udany eksperyment?
Prezentacja z meetupu Uszanowanko Programowanko #11 - http://www.meetup.com/Uszanowanko-Programowanko/events/228401563/
Pierwsza w swoim rodzaju kryptowaluta zrobiona „na poważnie” spotkała na swojej drodze wiele pułapek. Jak rysuje się jej przyszłość? Jaki będzie wynik eksperymentu i przede wszystkim: czy warto?
Maciej Mączko - Wielkie protokoły wielkich ludzi
Używany na co dzień, znormalizowany sposób komunikacji w sieci WWW istnieje w prawie niezmiennej formie od wielu lat. HTTP, bo o nim mowa, jest prosty ale skuteczny. Poznamy jego historię, podstawowe metody i wykonamy kilka zapytań. Wstęp do następnego wykładu.
Prezentacja z meetupu grupy "Uszanowanko Programowanko", tematyka AngularJS: http://www.uszanowanko.pl/angular
Autor: Andrzej Herok.
Krótki przegląd najważniejszych zmian zapowiadanych w nowej wersji Angulara. Poszukamy zarówno lepszych i gorszych cech.
Anna Kalemba - Tester – przyjaciel czy wróg programisty?
Prezentacja z meetupu Uszanowanko Programowanko #11 - http://www.meetup.com/Uszanowanko-Programowanko/events/228401563/
Każdy programista wcześniej czy później będzie miał styczność z testerem.
Jak zbudować ścieżkę pracy pomiędzy testerem a programistą, aby współpraca była efektywna, bez konfliktów, a w jej rezultacie wytworzyć oprogramowanie o jak najwyższej jakości?
Jerzy Biernacki - HTTP Cache to nie wieczór pensjonarki...
… żeby do czegoś dojść, trzeba PROJEKTOWAĆ! Varnish jest jednym z najpopularniejszych HTTP Cache dostępnych na rynku. Jego konfiguracja nie jest jednak trywialna, lecz wymaga przygotowań nawet na etapie tworzenia aplikacji. Podczas wykładu omówimy sobie podstawy Varnisha, przykładowe zastosowania, a także efekty działania tego narzędzia.
Zapytania i Odpowiedzi HTTP to podstawa aplikacji internetowych. Do tej pory każdy framework implementował je inaczej, jednak w maju 2015 roku PHP-FIG zatwierdziło PSR-7. Podczas prezentacji przedstawię zaproponowany interfejs pary Request/Response oraz postaram się odpowiedzieć na pytanie jakie korzyści może nam - programistom PHP - przynieść.
Zbigniew Cisiński - Design dla estetycznie ograniczonych
http://www.tsh.io
Tworząc aplikacje mobilne na co dzień spotykamy się z designem. Czasem dobrym, czasem złym. Podświadomie odróżniamy jeden od drugiego, ponieważ zasady dobrego designu biorą się z tego, jak postrzegamy otaczający nas świat. Znając je będziesz mógł lepiej wykorzystywać to, co dostajesz od klienta czy designera, a świat designu już nigdy nie będzie dla Ciebie taki sam.
prezentacja z Uszanowanka Programowanka #15 http://www.meetup.com/Uszanowanko-Programowanko/events/233585217/
Piotr Guzia - Fermentacja jabłek a zmiany w kodzie, czyli TDD w iOS
http://www.tsh.io
Czy zastanawiałeś się kiedyś, jak kilka „drobnych” zmian może wpłynąć na działanie aplikacji? Czy zdarzyło Ci się, że nie byłeś pewny, czy po zmianach nadal cały system działa poprawnie? Czy chciałbyś temu zapobiec? A może znasz odpowiedzi na te pytania, ale wchodzisz w świat iOS i chciałbyś tę wiedzę wykorzystać w Swifcie i Xcode? Jeśli choć raz padła odpowiedź „tak", to ten temat na pewno Cię zainteresuje!
Prezentacja z Uszanowanka Programowanka #15 http://www.meetup.com/Uszanowanko-Programowanko/events/233585217/
Zbigniew Cisiński - Deploy appki na iOS’a czyli magia publikacji
www.tsh.io
Krótko o tym, jak wypuścić aplikację na iOS’a, nie tylko do App Store, ale także alternatywnymi metodami bez konieczności zarzynania czarnego kuraka. Jakie mogą być problemy i dlaczego tak często jest to nierozróżnialne od czarnej magii.
Prezentacja z Uszanowanka Programowanka #17 https://www.meetup.com/Uszanowanko-Programowanko/events/235645454/
Inżynieria społeczna jako element testów bezpieczeństwa - tylko teoria, czy j...The Software House
Monika Sadlok - Inżynieria społeczna jako element testów bezpieczeństwa - tylko teoria, czy już niezbędna praktyka?
www.tsh.io
Dlaczego miły, uprzejmy i towarzyski pracownik stanowi jedno z największych zagrożeń bezpieczeństwa każdej firmy czy organizacji? Ponieważ to jego pozytywne cechy charakteru wykorzystywane są przez osoby próbujące uzyskać dostęp do chronionych informacji w sposób nieuprawniony. Czy zatem testy bezpieczeństwa powinny uwzględniać metodologię inżynierii społecznej? Z pewnością tak. O tym będzie moja prezentacja.
Tomasz Łopusiewicz - Automatyzacja deploymentu z pomocą ansible
www.tsh.io
Deployment z wykorzystaniem popularnych narzędzi i metodyk.
Prezentacja z Uszanowanka Programowanka #17 https://www.meetup.com/Uszanowanko-Programowanko/events/235645454/
4Developers 2015: Property-based testing w języku Scala - Paweł GrajewskiPROIDEA
Paweł Grajewski
Language: Polish
Techniki Test-driven development (TDD) oraz Behavior-driven development (BDD) są dziś powszechnie stosowaną metodą poprawy jakości wytwarzanego oprogramowania. Obie zakładają w swej konstrukcji budowę zestawu przypadków testowych, ale stworzenie poprawnego i kompletnego zestawu takich przypadków jest nie lada sztuką. Często nie jesteśmy w stanie przewidzieć wszystkich sytuacji brzegowych, w skutek czego nie możemy być pewni na ile w rzeczywistości poprawny jest kod naszej aplikacji
Z pomocą może przyjść nam technika property-based testing, która w miejsce testowania poprawności działania systemu dla skończonego zbioru przypadków testowych wprowadza koncepcję “badania jego właściwości”. Idea ta zrodziła się już wiele lat temu, a dzisiaj znowu wraca do łask wraz ze wzrostem popularności funkcyjnych języków programowania. Zaufało jej już wiele dużych, złożonych projektów m.in. projekt kompilatora języka Scala oraz framework Akka. Prawidłowo zastosowana jest w stanie zapewnić wymierne korzyści - zwiększyć pokrycie kodu testami, ale przede wszystkim uchronić nas przed wieloma typowymi niedopatrzeniami.
Prezentacja przybliży koncepcję property-based testing oraz zademonstruje tę technikę na przykładach.
http://www.devcastzone.com/course,programowanie-w-jezyku-scala
Szkolenie "Programowanie w języku Scala" wprowadza do programowania w języku Scala. W trakcie trwania poznasz podstawy języka Scala jak również zagadnienia zaawansowane. Po zakończeniu szkolenia, uczestnik będzie mógł rozpocząć samodzielne tworzenie aplikacji z wykorzystaniem Scali. Devcast rozpoczyna się od konfiguracji środowiska programistycznego, a kończy na rozbudowanym systemie typów Scali.
Confitura 2018 - Sekretne życie jobów SparkowychMarcin Jasiński
Apache Spark to coraz bardziej popularny framework do tworzenia przetwarzań Big Data. Gdy wywalają się executory, zwiększamy ilość pamięci. Gdy job wykonuje się zbyt wolno, zwiększamy ilość executorów. Zwiększenie ilości zasobów to żadna optymalizacja i z czasem nasz klaster Hadoop jest w pełni utylizowany i nie można uruchamiać kolejnych przetwarzań. A przecież da się inaczej! Klaster Hadoop w Allegro to setki jobów uruchomionych jednocześnie, z czego większość to joby Sparkowe. Opowiemy historię kilku z nich i przemiany, które przeszły. W tym najbardziej spektakularną: od 2500 do 240GB RAM.
4Developers 2015: .NET 2015 - co nowego? - Michał Dudak, Future ProcessingPROIDEA
Language: Polish
Rok 2015 przynosi spore zmiany w środowisku .NET. Całkiem nowy ASP.NET, .NET Core, C# 6.0 czy Entity Framework 7 to tylko niektóre z nowości, których możemy spodziewać w tym roku. Na wykładzie chciałbym opowiedzieć o nowych możliwościach czekających na .netowców w połowie roku.
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
Autor: Michał Żyliński
Projektujesz serwisy lub aplikacje internetowe i czujesz, że popadasz w rutynę? Zobacz, co może zaoferować Silverlight, ninja i czarny koń technologii RIA.
4Developers 2015: Przejrzysty i testowalny kod na Androidzie? Spróbujmy z Cle...PROIDEA
Michał Charmas
Language: Polish
Pisanie dobrego oprogramowania na platformę Android jest trudnym zadaniem.
Jednym z dużych problemów, zwłaszcza w przypadku sporych aplikacji, może być podział
logiki aplikacji tak, aby nasze Activity czy Fragmenty nie były nią przeładowane
oraz aplikacja była podatna na testowanie jednostkowe. Szukając pomysłu na
architekturę aplikacji, która będzie dobrze się skalowała wraz z rozwojem projektu,
natknąłem się na Clean Architecture zaproponowaną przez Boba C. Martina.
Podczas prezentacji zobaczymy czy i jak CA sprawdza się w przypadku
aplikacji mobilnych na Androida i na co pozwala jej zastosowanie. Oczywiście nie pominiemy
takich kluczowych kwestii jak pogodzenie tego wszystkiego z wszechobecną na Androidzie
asynchronicznością.
Symfony jest z jednej strony kompleksowym frameworkiem, z drugiej zbiorem samodzielnych i niezależnych komponentów. Jest łatwy do nauki i jednocześnie szeroko konfigurowalny. Sprawdza się zarówno dla małych jak i dużych projektów. Pracę z nim cechuje szybkie tworzenie aplikacji.
Similar to Wprowadzenie do języka Swift, czyli nowe podejście do programowania aplikacji dla iOS (20)
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...The Software House
Często zdarza się, że na testy bezpieczeństwa nie ma czasu lub budżetu. Testy te często są wykonywane na sam koniec, gdy nie ma możliwości na dłuższą analizę. Przez takie myślenie, padają firmy lub zwykli obywatele tracą dostęp do swoich danych czy po prostu te dane wyciekają. Przeanalizujemy kilka ostatnich ataków, zastanowimy się jak można było temu zapobiec.
Ostatnia prezentacja w historii Uszanowanka Programowanka. O przemianach, jakie przechodził meetup, rozwoju i zabawnych sytuacjach opowiada CTO The Software House.
W ciągu ostatnich 7 miesięcy przeszedłem drogę z poziomu Cloud Practitioner do Solutions Architect Professional, zdobywając nie tylko 5 certyfikatów, ale przede wszystkim wiedzę i praktykę, dzięki którym dziś pracuje mi się łatwiej i efektywniej. Na tym spotkaniu opowiem o motywacjach, wyzwaniach, strategiach nauki oraz najbardziej wartościowych źródłach wiedzy, dzięki którym zaplanujesz swoją drogę do certyfikatów. I to bez względu na to, czy dopiero zaczynasz swoją przygodę z AWS, czy masz już za sobą masę doświadczeń, które chcesz potwierdzić “na papierze”.
Dostępność, accessibility, a11y, WCAG… Dla niektórych to tylko dodatkowe tematy do przerobienia w projektach, które pochłaniają więcej czasu i budżetu. Według mnie to jednak ważny element, który zmienia internet w przyjazne miejsce dla wszystkich użytkowników. Jak reaguje twoja mobilna apka w słoneczny dzień? Czy buttony są wystarczająco duże, żeby wszyscy (nawet niedowidzący czy seniorzy) je zauważyli? Czy da się skorzystać z systemu, który tworzysz za pomocą klawiatury? I w końcu czy ta cała dostępność to tylko “hot topic”, a może faktyczna potrzeba? Odpowiem na te pytania głównie z perspektywy biznesu, ale nie zabraknie konkretnych wskazówek technicznych. Będzie o dostępności w pigułce.
Case study naszego wdrożenia rozwiązania czatu tekstowego przy użyciu zestawu Amazon Chime SDK. Moja prezentacja będzie składać się z przeglądu projektu, dlaczego w ogóle potrzebowaliśmy czatu tekstowego, podróży wdrożeniowej i wyzwań, przed którymi stanęliśmy (takich jak ograniczanie żądań i problemy ze skalowalnością). Wspomnę też pokrótce o innych funkcjonalnościach Amazon Chime, z których nie korzystaliśmy.
Pamiętacie jeszcze stare programy lub aplikacje pisane przy użyciu C, Assemblera lub innych bardzo przestarzałych technologii? Ja też nie. Za to jeden z naszych klientów pamięta i przyszedł z prośbą o przeniesienie danych z jego starej aplikacji do nowej. Podczas tej prezentacji będziecie mogli zobaczyć, jak poradziliśmy sobie z problemami wynikającymi z istniejących aplikacji oraz jak stworzyliśmy oprogramowanie migrujące dane na podstawie usług dostępnych w AWS.
Architektura serverless zyskuje na popularności każdego dnia. Większość developerów napotka to na swojej drodze kariery. Jak się z tym zmierzyć, jakich narzędzi użyć aby nie zwariować i uciec w Bieszczady? Jak wdrożyć sprawdzoną strukturę? Porozmawiajmy o tym jak dość płynnie wejść w świat architektury typu serverless.
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWSThe Software House
Case study na temat narzędzia, które zestawia analizę artykułów pod kątem płci z danymi o odbiorcach z Google Analytics, co pozwala na optymalizację treści i lepsze przyciąganie rzeszy czytelników. Dzięki wykorzystaniu AWS błyskawicznie przygotowaliśmy działające MVP.
Piątek po południu. Wypuściłeś aktualizację na serwer z nową funkcjonalnością (mimo, że wszyscy ci odradzali). Ale był tam krytyczny fix buga. Nie miałeś innego wyjścia. 5 minut po deployu okazuje się, że system leży – nowa funkcjonalność coś popsuła. Chyba czeka cię długi piątek/weekend. Gdybyś miał Feature Flags w projekcie, to twój piątek wyglądałby zupełnie inaczej. Feature Flags (albo Feature Toggles) pozwalają ukryć funkcjonalność przed użytkownikiem końcowym i wyświetlić ją warunkowo. Dzięki temu można spokojnie merge’ować wszystko do głównej gałęzi. Albo wyłączyć funkcjonalność w ciągu kilku minut, jeśli jest wadliwa. Na prezentacji opowiem, dlaczego w swojej aplikacji JavaScript powinieneś rozważyć Feature Flags. Wady, zalety i praktyczne wskazówki jak sobie z tym radzić. I to wszystko z perspektywy osoby, która korzysta z tego od dłuższego czasu. Po wyjściu z prezentacji będziesz wiedzieć kiedy warto stosować flagi i jak utrzymać je pod kontrolą.
TypeScript na przestrzeni lat udowodnił że da się okiełznać dużą część problemów wynikających z dynamiczności języka JavaScript. Strukturalne typowanie które oferuje potrafi w miarę nieinwazyjnie pomóc w wykrywaniu pułapek, w które wpadlibyśmy, pisząc w czystym JS. Co jednak w przypadku gdy coś kwacze jak kaczka ale nią nie jest? Czy da się zabezpieczyć developera przed pomieszaniem dwóch różnych jednostek, które w historii doprowadziły do nie jednej katastrofy? Na prelekcji przejdziemy przez różne case study i zastanowimy się jak pomóc TypeScriptowi w ostrzeganiu nas przed pułapkami których nie zawsze da się uniknąć w pierwotnym typowaniu strukturalnym.
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQLThe Software House
W ramach tej prezentacji pokażę jak efektywnie wykorzystać GraphQL `codegen` do generowania hooków i typów, które pomogą obsłużyć dowolne query i mutation, czyniąc kod nie tylko czytelniejszym, ale również łatwiejszym w utrzymaniu. W tym celu wspólnie postawimy przykładowy projekt, a także poświęcimy kilka minut na skonfigurowanie IDE. Dzięki temu nasza codzienna praca stanie się przyjemniejsza i efektywniejsza.
Kiedy aplikacja napisana w Serverless Frameworku jest mała, można zamieść niektóre rzeczy pod dywan. Ale co, kiedy po kilku miesiącach zaczyna wychodzić spod niego prawdziwy potwór? Co, kiedy musisz przetestować jedną lambdę na środowisku, a deploy całego stacka trwa 20 minut? No i jak przeorganizować aplikację wiedząc, że ciągle będzie rosła? Dowiedz się, jak rozbiliśmy naszą hurtownię danych wykorzystując Serverless Compose. Jakie przyniosło nam to efekty i o czym dowiedzieliśmy się w trakcie.
Testy API: połączenie z bazą danych czy implementacja w pamięciThe Software House
Testy integracyjne wykonują realne żądania na API. Trzeba zatem zadbać o odpowiednie skonfigurowanie środowiska do testów. Kwestia danych to jedno z podstawowych zagadnień z którym należy sobie poradzić. Do tematu można podejść na kilka sposobów, ale sprowadzają się one do dwóch kategorii: baza danych albo implementacja w pamięci. Dowiedz się, które z nich sprawdzi się w twoim projekcie.
Opowieść o tym, jak w projekcie legacy, który już ledwo dychał, udało się zaimplementować read model oparty na ElasticSearch (choć nie bez przeszkód i czasami pod prąd). Podczas prezentacji aplikacja legacy i walka o przyspieszenie zapytań posłuży jako punkt wyjścia do przeanalizowania konceptu “read modeli”. Po co wdrażamy je do aplikacji? Jakie są metody utrzymania ich w spójności? A w końcu – ich wady i zalety. W przypadku wspomnianej aplikacji zapytania które trwały około 8 minut udało się przyspieszyć do poniżej 1s (choć nie obyło się to bez potknięć). Zobacz jak!
Firestore czyli ognista baza od giganta z Doliny KrzemowejThe Software House
Podczas codziennej pracy każdy z nas korzysta z różnych baz danych,
Każda baza ma zachowania typowe dla siebie. Firestore to nierelacyjna baza od Google, która posiada wiele nietypowych funkcjonalności, wiele ciekawych rozwiązań. W tej prezentacji dowiemy się o paru fajnych zastosowań w Firestore i na co warto uważać przy implementacji tego rozwiązania.
AWS, a w szczególności serverless computing, oferuje nam możliwość skalowania naszych systemów out-of-the-box. W większości przypadków jest to nam bardzo na rękę, ale… Co w sytuacji, gdy potrzebujemy z chirurgiczną precyzją kontrolować, ile aktualnie Lambd jest w użytku? Okazuje się, że nie jest to do końca taka prosta sprawa, gdyż AWS uporczywie robi wszystko, co może, aby wyskalować nasz system, niezależnie czy tego chcemy, czy nie. W tej prelekcji zaprezentuję możliwe sposoby rate limitingu naszych funkcji. Za przykład posłuży nam komunikacja z 3-rd party API, gdzie w większości przypadków jesteśmy ograniczeni ilością requestów, jakie możemy wykonać w jednostce czasu, żeby nie otrzymać 429-tki.
AWS oferuje zbiór niezwykle przydatnych narzędzi i rozwiązań. Potrafi też jednak zaskoczyć. W trakcie swojej prezentacji, Karol przedstawi kilka problemów na które natknął się w projektach, a które wzięły jego zespół z zaskoczenia. Skupi się też na tym, jak skutecznie sobie z nimi poradzić.
W trakcie swojej prezentacji Łukasz opowie o tym, czym jest Storyblok i co ma do zaoferowania w porównaniu do innych CMS-ów. Przed Wami przykład prostego komponentu który jest konfigurowalny, przykłady dodawania bardziej skomplikowanych interaktywnych komponentów oraz kilka słów o tym, na co uważać przy okazji pracy z tym CMS-em.
Amazon Step Functions. Sposób na implementację procesów w chmurzeThe Software House
Zmęczony łańcuchowym (i wieloogniwowym) wywoływaniem AWS Lambd przez inne Lambdy? Śledzenie poszczególnych inwokacji od początkowej do końcowej Lambdy to droga przez mękę? I nawet AWS X-Ray tu nie wystarcza? Rozwiązaniem jest Amazon Step Function, czyli usługa AWS umożliwiająca łączenie poszczególnych kroków logicznych w proces, z jasnym dostępem do historii i szczegółów wywołań.
AWS Amplify Studio jest nowością od AWS’a, która pozwala połączyć komponenty Figma z bazą danych i wygenerować gotowy kod React. Czy to oznacza, że frontend deweloperzy przestaną być potrzebni? A może te narzędzie to tylko chwyt reklamowy? I czemu AWS zainteresował się narzędziami low-code/no-code. Na to wszystko Aleksander odpowie w swojej prezentacji. I pokaże na żywo jak przejść od Figmy do gotowej aplikacji.
8. Kompatybilność z istniejącymi już bibliotekami i frameworkami
Frameworki napisane w Objective-C można wykorzystać również w Swift
źródło: https://github.com/Alamofire/Alamofire
9. OS X vs iOS
NSTableView UITableView
AppKit UIKit
14. Podsumowanie
Czytelne i przydatne konstrukcje
..Kompatybilność wsteczna”
Nowoczesne podejście - połączenie zalet języka dynamicznego i silnie
typowanego
15. Funkcje i closures
func convertStringToNumber(#number:String, callback: (String->Int))->Int{
var result:Int = callback(number)
return result
} func convert(num:String)->Int{
return num.toInt()!
}
var result = convertStringToNumber(number: "4", convert)
var result = convertStringToNumber(number: "4", {(num:String) in return num.toInt()!})
16. Funkcje i closures
var result = convertStringToNumber(number: "4"){
(num:String) in
return num.toInt()!
}
var result = convertStringToNumber(number: "4"){
num in num.toInt()!
}
18. Wyliczenia
enum Number:Int{
case One = 1,Two,Three
func description()->String{
switch(self) {
case .One:
return "one"
case .Two:
return "two"
default:
return String(self.rawValue)
}
}
}
let n = Number.One
n.description()
19. Struktury
Przykładowe struktury w Swift: Array, Set, Dictionary
struct Cat{
var avatar:UIImage?
}
var cat = Cat(avatar: UIImage
(named: "cat"))
cat.avatar
20. Tablice i słowniki
var array:[String] = [String]()
var numbers = Array<Int>()
array.append("Milk")
numbers.append(14)
let constArray = [1,4,6,3]
constArray.count
var dict:[Int:String] = [Int:String]()
dict[4] = "Krowa"
dict[4]
var emptyDict = [:]
let constDict = [1 : "Krowa", 2 :
"Mleko", 3 : "Milka", 4 : "Stek"]
21. Klasy
class Person:Details{
var firstName:String?
var lastName:String?
var age:Int?
init(name:String, lastName:String, age:Int){
self.firstName = name
self.lastName = lastName
self.age = age
}
func displayDetails() {
println("Człowiek nazywa się (self.firstName) (self.lastName) i ma (self.age) lat.")
}
var fullName:String{
get{
return self.firstName! + " " + self.lastName!
}
}
}
protocol Details{
func displayDetails()->Void
}
22. Metody a funkcje
func foo(age:Int, val:Int){
}
person.foo(45, 45)
func foo(age:Int, _ val:Int){
}
23. Property observers
willSet - jest wywoływane przed zapisaniem wartości
didSet - jest wywoływane zaraz po tym jak nowa
wartosć zostanie zapisana daje nam również dostęp do
starej wartości!
Przydatne przy dziedziczeniu!
24. Property observers example
class StepCounter {
var totalSteps: Int = 0 {
willSet(newTotalSteps) {
println("About to set totalSteps to
(newTotalSteps)")
}
didSet {
if totalSteps > oldValue {
println("Added (totalSteps - oldValue) steps")
}
}
}
}