DynamoDB jest z nami od dłuższego czasu i pomimo rosnącej popularności dla części z nas logika kryjąca się za DynamoDB nie wydaje się być jasna. Wymaga od nas zmiany myślenia o strukturze danych, zmiany naszych przyzwyczajeń oraz dostosowania się do mocno wyznaczonych reguł. W swojej prezentacji Marcin postara się wytłumaczyć skąd biorą się różnice pomiędzy dobrze nam znanym światem SQL a światem NoSQL. Opowie również o tym, jak zacząć modelowanie tabel oraz czym są i do czego służą GSI.
Power BI Charts Tutorial | Counter Strike Data Analysis using Power BI | Powe...Edureka!
** Power B Training: https://www.edureka.co/power-bi-training **
This Edureka Tutorial on "Power BI Charts" deals with the importance of all the basic visualizations available on Power BI Desktop. It will help you create Impactful and Comprehensive Reports on the Power BI Desktop.
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Building Serverless ETL Pipelines with AWS Glue - AWS Summit Sydney 2018Amazon Web Services
Building Serverless ETL Pipelines with AWS Glue
In this session we will introduce key ETL features of AWS Glue and cover common use cases ranging from scheduled nightly data warehouse loads to near real-time, event-driven ETL flows for your data lake. We will also discuss how to build scalable, efficient, and serverless ETL pipelines.
Ben Thurgood, Solutions Architect, Amazon Web Services
Vertex AI brings all of the components of a production machine learning project into one platform in the cloud, based on Google's Kubeflow. It executes ML jobs through pipelines, a set of connected Docker images that perform different functions in the process of training and executing a machine learning model. In this session you will learn how to develop and deploy components of pipelines.
AWS vs Azure - A high level comparison between the giants in cloud computingEuro IT Group
IDC predicts that cloud computing will be a $107 billion industry by 2017. Today 82% of enterprises have a hybrid cloud strategy and, increasingly, enterprises plan to use a portfolio of clouds, with 82% reporting a multi-cloud strategy.
Gartner’s recent 2015 Cloud Infrastructure-as-a-Service (IaaS) Magic Quadrant present mention Amazon Web Services and Microsoft’s Azure in the Leaders Quadrant. Amazon Web Services (AWS) is the oldest player and has held the leading position for over five years now.
Below, I’ve made a high level comparison between the marketing leaders Microsoft Windows Azure and Amazon Web Services.
Although AWS had a great start and still rules the market, Microsoft is catching up fast, as they continue to invest in their cloud infrastructure and to match Amazon’s services and flexibility.
In any case, for organizations that made significant investments in Microsoft technologies, Azure is definitely in a favorite position.
Power BI Charts Tutorial | Counter Strike Data Analysis using Power BI | Powe...Edureka!
** Power B Training: https://www.edureka.co/power-bi-training **
This Edureka Tutorial on "Power BI Charts" deals with the importance of all the basic visualizations available on Power BI Desktop. It will help you create Impactful and Comprehensive Reports on the Power BI Desktop.
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Building Serverless ETL Pipelines with AWS Glue - AWS Summit Sydney 2018Amazon Web Services
Building Serverless ETL Pipelines with AWS Glue
In this session we will introduce key ETL features of AWS Glue and cover common use cases ranging from scheduled nightly data warehouse loads to near real-time, event-driven ETL flows for your data lake. We will also discuss how to build scalable, efficient, and serverless ETL pipelines.
Ben Thurgood, Solutions Architect, Amazon Web Services
Vertex AI brings all of the components of a production machine learning project into one platform in the cloud, based on Google's Kubeflow. It executes ML jobs through pipelines, a set of connected Docker images that perform different functions in the process of training and executing a machine learning model. In this session you will learn how to develop and deploy components of pipelines.
AWS vs Azure - A high level comparison between the giants in cloud computingEuro IT Group
IDC predicts that cloud computing will be a $107 billion industry by 2017. Today 82% of enterprises have a hybrid cloud strategy and, increasingly, enterprises plan to use a portfolio of clouds, with 82% reporting a multi-cloud strategy.
Gartner’s recent 2015 Cloud Infrastructure-as-a-Service (IaaS) Magic Quadrant present mention Amazon Web Services and Microsoft’s Azure in the Leaders Quadrant. Amazon Web Services (AWS) is the oldest player and has held the leading position for over five years now.
Below, I’ve made a high level comparison between the marketing leaders Microsoft Windows Azure and Amazon Web Services.
Although AWS had a great start and still rules the market, Microsoft is catching up fast, as they continue to invest in their cloud infrastructure and to match Amazon’s services and flexibility.
In any case, for organizations that made significant investments in Microsoft technologies, Azure is definitely in a favorite position.
Test and concepts of marketing automation tools, held at typo3 camp munich 2015 #t3cm. Inbound and outbound marketing, lead management, social media publishing, analytics, website, google monitoring, drip campaigns, real time advertising, integration in TYPO3, Tools tested are Hubspot, Infofusion, Marketo, Eloqua, Raven
Basics of SEO – Search Engine Optimisation for WordPress
* Understand search results (organic vs paid)
* SEO versus SEM
* Understanding search intent
* Keyword research
* Ways to improve search engine ranking
* Using SEO plugin in WordPress
Presented by Nadia Kerr @keepsmilyn at WordCamp Sydney 2018
Crash Course on Amazon Sponsored Brands & Sponsored ProductsTinuiti
COVID-19 is causing unprecedented challenges for retailers and brands everywhere. However, there are ways to proactively address the changes COVID-19 will have on your brand in the coming weeks and months when it comes to being a successful Amazon Marketplace seller. Sellers must be able to analyze consumer product data to build effective profitable campaigns and an operational infrastructure in order to outsmart their competitors. Amazon Sponsored Brands and Sponsored Products ads are important for building catalog awareness, driving conversions, and protecting and expanding your brand. Learn how Boldify partnered with Tinuiti to employ these tactics to increase sales by 391%.
Data & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdfChris Bingham
After recapping the key data & analytics announcements from AWS re:Invent 2022, we look a little deeper at three key new services:
• AWS DataZone
• AWS Omics
• AWS Clean Rooms
And follow up with a demo of using AWS IoT ExpressLink hardware in conjunction with AWS IoT Core, Lambda, and Amplify to build a Gatsby web app that interacts with the AWS IoT ExpressLink demo badge via a device shadow.
Machine Learning for AdTech in Action with Cyrille Dubarry and Han JuDatabricks
The AdTech world has been totally reinvented a few years ago with the birth of real time auction technologies, known as Real-Time Bidding (RTB). Those auctions allow to buy ad inventory impression by impression. For each visit of a user on a publisher website, each advertiser can choose to display an ad or not and find the right maximum price he is willing to pay to buy this opportunity. Consequently, we see an increasing need of automation and optimisation for the players connected to the RTB and a lot of solutions make use of Machine Learning. The involved datasets are big (billions of lines per day) and they evolve very quickly.
Thus it’s challenging to be able to train models every few hours to use only up to date data in production. Furthermore, those models need to be easily improvable through feature selection and hyper parameter tuning. This requires the ability to run offline and online tests. In this talk, we will explain in more details why Machine Learning plays a key role in the AdTech industry and how Spark is used at Teads to train production models, evaluate them through AB-tests, and design new models according to specific offline metrics. We will also cover the way we use those Machine Learning models in real-time production servers. The main takeaways for the attendees will be the architecture and implementation choices (custom model training framework, model serving, job scheduling and deployment, â¦) that work at scale for the addressed use cases.
Machine Learning operations brings data science to the world of devops. Data scientists create models on their workstations. MLOps adds automation, validation and monitoring to any environment including machine learning on kubernetes. In this session you hear about latest developments and see it in action.
Application Rationalization with LeanIXLeanIX GmbH
In this presentation from EA Connect Days 2018 in Bonn you learn about the benefits of Application Rationalization and how to optimize your Application Portfolio with LeanIX.
Take an in-depth look at data warehousing with Amazon Redshift and get answers to your technical questions. We will cover performance tuning techniques that take advantage of Amazon Redshift's columnar technology and massively parallel processing architecture. We will also discuss best practices for migrating from existing data warehouses, optimizing your schema, loading data efficiently, and using work load management and interleaved sorting.
While eCommerce SEO is very similar to regular SEO, there are a number of additional considerations to review when optimizing your online store for search. In this presentation we review some of the mot common issues and associated best practices.
The cloud is all the rage. Does it live up to its hype? What are the benefits of the cloud? Join me as I discuss the reasons so many companies are moving to the cloud and demo how to get up and running with a VM (IaaS) and a database (PaaS) in Azure. See why the ability to scale easily, the quickness that you can create a VM, and the built-in redundancy are just some of the reasons that moving to the cloud a “no brainer”. And if you have an on-prem datacenter, learn how to get out of the air-conditioning business!
AdWords (Google AdWords) is an advertising service by Google for businesses wanting to display ads on Google and its advertising network. The Ad Words program enables businesses to set a budget for advertising and only pay when people click the ads. The ad service is largely focused on keywords.
Test and concepts of marketing automation tools, held at typo3 camp munich 2015 #t3cm. Inbound and outbound marketing, lead management, social media publishing, analytics, website, google monitoring, drip campaigns, real time advertising, integration in TYPO3, Tools tested are Hubspot, Infofusion, Marketo, Eloqua, Raven
Basics of SEO – Search Engine Optimisation for WordPress
* Understand search results (organic vs paid)
* SEO versus SEM
* Understanding search intent
* Keyword research
* Ways to improve search engine ranking
* Using SEO plugin in WordPress
Presented by Nadia Kerr @keepsmilyn at WordCamp Sydney 2018
Crash Course on Amazon Sponsored Brands & Sponsored ProductsTinuiti
COVID-19 is causing unprecedented challenges for retailers and brands everywhere. However, there are ways to proactively address the changes COVID-19 will have on your brand in the coming weeks and months when it comes to being a successful Amazon Marketplace seller. Sellers must be able to analyze consumer product data to build effective profitable campaigns and an operational infrastructure in order to outsmart their competitors. Amazon Sponsored Brands and Sponsored Products ads are important for building catalog awareness, driving conversions, and protecting and expanding your brand. Learn how Boldify partnered with Tinuiti to employ these tactics to increase sales by 391%.
Data & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdfChris Bingham
After recapping the key data & analytics announcements from AWS re:Invent 2022, we look a little deeper at three key new services:
• AWS DataZone
• AWS Omics
• AWS Clean Rooms
And follow up with a demo of using AWS IoT ExpressLink hardware in conjunction with AWS IoT Core, Lambda, and Amplify to build a Gatsby web app that interacts with the AWS IoT ExpressLink demo badge via a device shadow.
Machine Learning for AdTech in Action with Cyrille Dubarry and Han JuDatabricks
The AdTech world has been totally reinvented a few years ago with the birth of real time auction technologies, known as Real-Time Bidding (RTB). Those auctions allow to buy ad inventory impression by impression. For each visit of a user on a publisher website, each advertiser can choose to display an ad or not and find the right maximum price he is willing to pay to buy this opportunity. Consequently, we see an increasing need of automation and optimisation for the players connected to the RTB and a lot of solutions make use of Machine Learning. The involved datasets are big (billions of lines per day) and they evolve very quickly.
Thus it’s challenging to be able to train models every few hours to use only up to date data in production. Furthermore, those models need to be easily improvable through feature selection and hyper parameter tuning. This requires the ability to run offline and online tests. In this talk, we will explain in more details why Machine Learning plays a key role in the AdTech industry and how Spark is used at Teads to train production models, evaluate them through AB-tests, and design new models according to specific offline metrics. We will also cover the way we use those Machine Learning models in real-time production servers. The main takeaways for the attendees will be the architecture and implementation choices (custom model training framework, model serving, job scheduling and deployment, â¦) that work at scale for the addressed use cases.
Machine Learning operations brings data science to the world of devops. Data scientists create models on their workstations. MLOps adds automation, validation and monitoring to any environment including machine learning on kubernetes. In this session you hear about latest developments and see it in action.
Application Rationalization with LeanIXLeanIX GmbH
In this presentation from EA Connect Days 2018 in Bonn you learn about the benefits of Application Rationalization and how to optimize your Application Portfolio with LeanIX.
Take an in-depth look at data warehousing with Amazon Redshift and get answers to your technical questions. We will cover performance tuning techniques that take advantage of Amazon Redshift's columnar technology and massively parallel processing architecture. We will also discuss best practices for migrating from existing data warehouses, optimizing your schema, loading data efficiently, and using work load management and interleaved sorting.
While eCommerce SEO is very similar to regular SEO, there are a number of additional considerations to review when optimizing your online store for search. In this presentation we review some of the mot common issues and associated best practices.
The cloud is all the rage. Does it live up to its hype? What are the benefits of the cloud? Join me as I discuss the reasons so many companies are moving to the cloud and demo how to get up and running with a VM (IaaS) and a database (PaaS) in Azure. See why the ability to scale easily, the quickness that you can create a VM, and the built-in redundancy are just some of the reasons that moving to the cloud a “no brainer”. And if you have an on-prem datacenter, learn how to get out of the air-conditioning business!
AdWords (Google AdWords) is an advertising service by Google for businesses wanting to display ads on Google and its advertising network. The Ad Words program enables businesses to set a budget for advertising and only pay when people click the ads. The ad service is largely focused on keywords.
[#4] spark - IBM Integrated Analytics SystemArtur Wronski
Presentation #4 from IBM conference "Analityka Nowej Generacji", 8th of March 2018, Warsaw
Title: Introduction to data science and spark
Presenter: Marcin Janiszewski
[language: polish]
This is my presentation about Red Gate SQL Doc that I have presented on one of the meatings of Lodzka Grupa Profesjonalistow IT & .NET. Presentation in Polish.
Jak 5 narzędzi złożyło się na sukces hurtowni
Maciek jest kierownikiem projektu hurtowni danych, Przemek liderem zespołu programistów. Razem zaprezentują jakie (darmowe) narzędzia developerskie usprawniły prace programistom oraz jakie pozytywne „efekty uboczne” przyniosły one zarówno w samym projekcie jak i w jego otoczeniu. Następnie przedstawią jak doprowadziło ich to – szybciej niż myśleli – do automatu, który na bieżąco buduje z najnowszych źródeł, wdraża i testuje hurtownię danych.
Prezentacja z konferencji Mobilization 2014.
Abstrakt:
Na rzeczywistych przykładach pokażę jak wygląda proces oceny bezpieczeństwa aplikacji mobilnych. Zobaczymy m.in. jak wykrywać słabości związane z przechowywaniem danych na urządzeniu, nieprawidłowości w transmisji, oraz najgroźniejsze - błędy w API po stronie serwera (np. błędy logiczne, kontroli dostępu, REST). Jednocześnie okaże się jakie techniki utrudniają ataki, jaki jest faktyczny wpływ na ryzyko poszczególnych podatności, oraz jakie zabezpieczenia warto zastosować w różnych aplikacjach.
SOLIDWORKS to zaawansowany system 3D CAD przeznaczony do projektowania zaawansowanych konstrukcji 3D, form, elementów blaszanych. SolidWorks umożliwia modelowanie zaawansowanych kształtów 3D, złożeń, dokumentacji 2D. SolidWorks posiada moduły do wykonywania analiz MES, analiz przepływów, analiz ruchowych, symulacji wtrysku oraz fotorealistycznych renderingów a także animacji. Więcej na http://premiumsolutions.pl/program/solidworks/
Książka przeznaczona jest dla początkujących użytkowników programu MS Access (najpopularniejszej aplikacji służącej do tworzenia baz danych) i doskonale przygotowuje do pracy nad trudniejszymi projektami, które Czytelnik zapewne wykona w przyszłości. Zamieszczone ćwiczenia ułożono w takiej kolejności, by w trakcie ich wykonywania poznawać kolejne narzędzia programu. Układ zaproponowany przez autora gwarantuje, że studiowanie kolejnych partii materiału odbywać się będzie bez zbędnych przeskoków myślowych i nieustającej wędrówki po kolejnych rozdziałach.
Ćwiczenia z Accessa 2003 PL mogą stanowić zarówno materiał do samodzielnego poznawania aplikacji, jak i pomoc dydaktyczną dla uczestników kursów komputerowych, uczniów oraz studentów.
Poznasz:
* Tworzenie i konfigurowanie baz danych
* Projektowanie tabel
* Konstruowanie relacji między tabelami
* Wyszukiwanie danych za pomocą kwerend
* Wprowadzanie danych przy użyciu formularzy
* Tworzenie raportów z wyszukanych danych
* Dostęp do baz z poziomu sieci WWW
* Pisanie własnych makrodefinicji
Wprowadzenie do analizy danych w chmurze. Między innymi o Azure Stream Analytics, Azure Data Lake Analytics, Azure Machine Learning, ale też i o rozwiazaniach OpenSource (Spark, Yupiter, Storm, Zepelin)
W swojej prezentacji Szymon pokaże usprawnienia, które stosuje na co dzień w swojej pracy przy tworzeniu motywu:
* edytor kodu z pluginem Emmet
* hosting wspierający git i staging (plus aliasy w konsoli)
* synchronizacja bazy danych i katalogu uploads z localhost do serwera zdalnego w dwie strony
* wykorzystanie task runnerów (modułowy CSS dzięki SASS + automatyczny prefixer, łączenie plików JS i minifikacja, automatyczne przeładowanie przeglądarki po zapisaniu pliku, sprawdzanie poprawności kodu (linter), generowanie sprite’ów)
* plus kilka dobrych rad
***
Szymon Kądzielawa podczas WordCamp Lublin 2017:
http://2017.lublin.wordcamp.org/session/optymalizacja-pracy-front-end-developera/
Poznaj podstawy tworzenia aplikacji bazodanowych
* Zaplanuj tabele i relacje
* Zaprojektuj formularze
* Zdefiniuj kwerendy
* Wygeneruj raporty
Microsoft Access 2007 PL to najnowsza wersja jednego z najpopularniejszych systemów zarządzania bazami danych wykorzystywanych we współczesnych przedsiębiorstwach. Jednak Access to nie tylko baza danych, ale również rozbudowane wizualne środowisko programistyczne. Korzystając z niego i wspierając się oferowanymi przez niego kreatorami oraz narzędziami pomocniczymi, nawet początkujący użytkownik z łatwością utworzy własną aplikację służącą do przetwarzania danych zgromadzonych w bazie.
"Access 2007 PL. Ćwiczenia praktyczne" to wprowadzenie do tematyki tworzenia aplikacji bazodanowych z wykorzystaniem najnowszej wersji Accessa. Czytając tę książkę i wykonując kolejne ćwiczenia, poznasz zasady korzystania z Accessa, projektowania tabel i wiązania ich relacjami. Dowiesz się, w jaki sposób przygotować formularze, modyfikować dane za pomocą kwerend i generować raporty z bazy. Poznasz również zastosowania makropoleceń i nauczysz się dzielić aplikacje bazodanowe na moduły.
* Praca z plikami baz danych
* Tworzenie tabel i relacji
* Operacje na danych z zastosowaniem kwerend
* Projektowanie formularzy
* Tworzenie raportów
* Makropolecenia
* Korzystanie z plików w formacie XML
Wykorzystaj najnowszą wersję Accessa
i naucz się tworzyć własne aplikacje bazodanowe.
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.
6. “Amazon DynamoDB is a fully managed, serverless,
key-value NoSQL database designed to run high-performance
applications at any scale. DynamoDB offers built-in security,
continuous backups, automated multi-region replication,
in-memory caching, and data export tools.”
https://aws.amazon.com/dynamodb/
7. “Amazon DynamoDB is a fully managed, serverless,
key-value NoSQL database designed to run
high-performance applications at any scale. DynamoDB offers
built-in security, continuous backups, automated multi-region
replication, in-memory caching, and data export tools.”
https://aws.amazon.com/dynamodb/
8. “Amazon DynamoDB is a fully managed, serverless,
key-value NoSQL database designed to run
high-performance applications at any scale. DynamoDB
offers built-in security, continuous backups, automated
multi-region replication, in-memory caching, and data export
tools.”
https://aws.amazon.com/dynamodb/
9. “Amazon DynamoDB is a fully managed, serverless,
key-value NoSQL database designed to run high-performance
applications at any scale. DynamoDB offers built-in
security, continuous backups, automated multi-region
replication, in-memory caching, and data export tools.”
https://aws.amazon.com/dynamodb/
14. Model konsumpcji danych uległ gwałtownej zmianie. Systemy
IT przestały być domeną
wielkich korporacji, banków czy instytucji rządowych. Dostęp
do internetu, gwałtownie rosnąca ilość urządzeń oraz
ewolucja biznesu wymusza na nas o wiele większy i szybszy
przepływ danych.
16. Relacyjne bazy danych są zoptymalizowane do
przechowywania, wynika to z historycznie wysokiego kosztu
pamięci, a relatywnie niskiego kosztu CPU w czasach kiedy
bazy relacyjne powstawały.
17. DynamoDB jest zoptymalizowane do szybkiego odczytu. Ze
względu na odwrócenie trendu pomiędzy kosztem pamięci a
kosztem CPU, bardziej optymalnym podejściem jest
zmniejszenie kosztu “złożenia” danych, nawet jeśli odbywa
się to kosztem konsumowanej pamięci.
58. Z diagramu relacji encji, możemy zauważyć, że naszą główną
encją z której relacje wychodzą na zewnątrz jest User. Na
podstawie tego, rozsądnym będzie przyjąć, że Partition Key
będzie związany z użytkownikiem. W związku z tym
proponuję przyjąć następujący kształt Partition Key
USER#<USER_ID>
61. Każdy użytkownik posiada dokładnie 1 zestaw metadanych,
posiada jeden login, email, hasło, itp. Dodatkowo, jeśli uda
nam się zaproponować taką parę PK i SK którą będziemy w
stanie skonstruować przy zapytaniu będziemy mogli
pobrać danie zapytaniem GetItem
62. Tabela pozwalająca pobrać metadane
PK SK name email
USER#<USER_ID>
METADATA Marcin Mazurowski m.mazurowski@tsh.io
63. Dzięki odpowiedniej konstrukcji PK oraz SK udało nam się
zrealizować access pattern w najefektywniejszy sposób przy
użyciu zapytania GetItem. Nie spoczywajmy jednak na
laurach, mamy jeszcze kilka encji do zamodelowania!
64. Zrealizowane access patterny
1. Pobranie meta-danych użytkownika (zdjęcie
profilowe, imię, itp)
2. Pobranie przypisanych adresów użytkownika
3. Pobranie wszystkich przesyłek
4. Pobranie konkretnej przesyłki dla użytkownika
5. Pobranie zawartości dla przesyłki
6. Pobranie zdarzeń dla przesyłki
7. Pobranie zdarzeń oraz zawartości danej
przesyłki
8. Pobranie zarchiwizowanych przesyłek
66. W tego typu aplikacji, użytkownicy zazwyczaj mają
możliwość zdefiniowania więcej niż jednego adresu wysyłki
(Np. Dom oraz adres biura). W wypadku możemy skorzystać
z więcej niż jednej strategii:
1. Złożone pole przetrzymujące kilka wartości
2. Jeden element (Item) dla każdego adresu
67. Każdy element (Item) w DynamoDB jest ograniczony limitem
rozmiaru 400Kb. Limit ten jest jedną z form wymuszania na
deweloperach takiego designu tabeli aby operacje był jak
najbardziej efektywne. Jeśli przyjmiemy zasadę biznesową, że
użytkownik może mieć maksymalnie 3 adresy przypisane do
konta możemy bezpiecznie skorzystać ze strategii pola
złożonego, nie zawsze jednak można przyjąć takie założenie.
68. Tabela pozwalająca pobrać metadane oraz adresy
PK SK name email addresses
USER#<USER_ID
>
METADATA Marcin
Mazurowski
m.mazurowski@tsh.io {“Home”:{“street”:”ul.
Dolnych Wałów 8”}}
72. Ten przypadek użycia jest odrobinę ciekawszy niż poprzednie.
Po pierwsze dlatego, że każda przesyłka będzie mogła
zawierać wiele zdarzeń oraz wiele produktów. Odpowiednie
przemyślenie naszego SortKey pozwoli na efektywną
realizację access patternów.
74. Pobranie konkretnej przesyłki dla konkretnego
użytkownika
Dzięki konstrukcji SHIPMENT#<SHIPMENT_ID> będziemy w stanie otrzymać
konkretny shipment dla użytkownika przy użyciu operacji GetItem
75. Zrealizowane access patterny
1. Pobranie meta-danych użytkownika (zdjęcie profilowe, imię, itp)
2. Pobranie przypisanych adresów użytkownika
3. Pobranie wszystkich przesyłek
4. Pobranie konkretnej przesyłki dla użytkownika
5. Pobranie zawartości dla przesyłki
6. Pobranie zdarzeń dla przesyłki
7. Pobranie zdarzeń oraz zawartości danej przesyłki
8. Pobranie zarchiwizowanych przesyłek
79. Pobranie wszystkich przesyłek wraz ze zdarzeniami oraz
elementami przesyłki dla danego użytkownika
Dzięki takiej konstrukcji będziemy w stanie otrzymać konkretną przesyłkę dla
użytkownika, jej zawartość oraz wszystkie zdarzenia przypisane do przesyłki przy
użyciu operacji Query. Aby osiągnąć ten cel skorzystamy z Key Condition
Expression. A dokładnie BEGINS_WITH = SHIPMENT#<SHIPMENT_ID>
80. Pobranie wszystkich zdarzeń dla przesyłki
Dzięki konstrukcji PK = SHIPMENT#<SHIPMENT_ID> będziemy w stanie otrzymać konkretną
przesyłkę dla użytkownika oraz wszystkie zdarzenia i elementy przypisane do przesyłki przy użyciu
operacji Query.
Aby osiągnąć ten cel skorzystamy z Key Condition Expression. A dokładnie BEGINS_WITH =
SHIPMENT#<SHIPMENT_ID>EVENT#
81. Zrealizowane access patterny
1. Pobranie meta-danych użytkownika (zdjęcie profilowe, imię, itp)
2. Pobranie przypisanych adresów użytkownika
3. Pobranie wszystkich przesyłek
4. Pobranie konkretnej przesyłki dla użytkownika
5. Pobranie zawartości dla przesyłki
6. Pobranie zdarzeń dla przesyłki
7. Pobranie zdarzeń oraz zawartości danej przesyłki
8. Pobranie zarchiwizowanych przesyłek
82. Finalna propozycja głównej tabeli
PK SK <attrybuty>
USER#<US
ER_ID>
METADATA
SHIPMENT#<SHIPMENT_ID>
SHIPMENT#<SHIPMENT_ID>SHIP_ITEM#<ITEM_ID>
SHIPMENT#<SHIPMENT_ID>EVENT#<EVENT_ID>
84. W niektórych sytuacjach może zdarzyć się, że nie będziemy w
stanie zrealizować naszego access patternu bezpośrednio na
głównej tabeli. Ciekawą strategią do wydzielenia części
większego zbioru rekordów jest zastosowanie GSI oraz
dodanie atrybutu który będzie występował tylko rekordach
danego typu.
85. Stworzenie atrybutów użytych w GSI do wydzielenia encji po jej
typie
PK SK GSI1PK GSISK
USER#<
USER_I
D>
METADATA
SHIPMENT#<SHIPMENT_ID>
SHIPMENT#<SHIPMENT_ID>SHIP_ITEM#<ITE
M_ID>
USER#1 TYPE#SHIPMENT
SHIPMENT#<SHIPMENT_ID>EVENT#<EVENT_
ID>
86. Zrealizowane access patterny
1. Pobranie meta-danych użytkownika (zdjęcie profilowe, imię, itp)
2. Pobranie przypisanych adresów użytkownika
3. Pobranie wszystkich przesyłek
4. Pobranie konkretnej przesyłki dla użytkownika
5. Pobranie zawartości dla przesyłki
6. Pobranie zdarzeń dla przesyłki
7. Pobranie zdarzeń oraz zawartości danej przesyłki
8. Pobranie zarchiwizowanych przesyłek
87. Stworzenie atrybutów użytych w GSI do wydzielenia encji po jej
typie oraz statusie
PK SK GSI1PK GSISK
USER#<
USER_I
D>
METADATA
SHIPMENT#<SHIPMENT_ID>
SHIPMENT#<SHIPMENT_ID>SHIP_ITE
M#<ITEM_ID>
USER#1 TYPE#SHIPMENT#STATUS#ARCHIVED
SHIPMENT#<SHIPMENT_ID>EVENT#<
EVENT_ID>
89. Podczas tworzenia GSI będziemy mieli możliwość wybrania
atrybutów które zostaną dodane do indeksu.
Dobrą praktyką jest ograniczenie ich tylko do tych z których
rzeczywiście korzystamy. Analogicznie do unikania SELECT *
FROM table
90. Poprzez złożenie SK w naszym GSI stwarzamy sobie
możliwość do pobrania nie tylko wszystkich przesyłek, ale
również odfiltrowanie ich po ich stanie (aktywna /
zarchiwizowana)
91. Udało nam się zrealizować wszystkie access patterny! Ale czy
na tym koniec naszej pracy? Prawdopodobnie nie, model aby
w pełni realizować potrzeby biznesu musi ewoluować i z
pewnością tak też będzie się działo. Warto planować access
patterny z różnych perspektyw i dostarczyć sobie
wystarczającą ilość możliwości.