ATLRUG Announcements and Fun Facts - April 2016jasnow
?
The document provides information about upcoming ATLRUG community events in April 2016, including civic hack nights, pair programming events, and nerd club meetings. It also provides announcements about new Ruby and Rails releases, the GitHub Pages decision to standardize markup engines, and Bash coming to Windows 10. The author shares their open source contribution statistics and involvement in political campaigns.
This document outlines an initial analysis flow (IAF) method used in automotive shops to find the root cause of issues. The IAF is a three-step process: 1) reassemble a non-functioning vehicle part in the same vehicle to check for assembly errors, 2) swap a functioning part into the non-functioning vehicle to isolate part vs. body issues, 3) install a new unused part to detect dimensional variations. This initial analysis helps identify the basic root cause to guide further deep drive analysis and prevent future issues.
This document contains information about exponential decay homework problems from a physics class. It lists the section title "8.2 Exponential Decay" and references homework problems 11-13 and 39-49 from page 422 that are due on February 12, 2015 for this physics assignment on exponential decay.
Feedback en continu gr?ce au TDD et au AsCodeHaja R
?
The document discusses the concepts of test-driven development (TDD), continuous integration, infrastructure as code, and documentation as code. It provides examples of writing specifications, documentation, build pipelines, and infrastructure using code and formats like Markdown, YAML, Puppet, Ansible, Dockerfiles, and Docker Compose files. Emphasizing that treating all aspects of software development as code enables continuous feedback, communication, and versioning.
Building Single Page Application (SPA) with Symfony2 and AngularJSAntonio Peric-Mazar
?
Forget about classic website where UX is not so important. We are living in time where usability is one of the important thing if you are building some business client oriented web service. How to connect Symfony2 as backend and AngularJS as frontend solution? What are best practices? What are disadvantageous? How to take best from both worlds? These are topics I will cover in my talk with real examples.
Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...Data Con LA
?
In distributed systems, retries are inevitable. From network errors to replication issues and even outages in downstream dependencies, services operating at a massive scale must be prepared to encounter, identify, and handle failure as gracefully as possible.Given the scope and pace at which Uber operates, our systems must be fault-tolerant and uncompromising when it comes to failing intelligently. In particular, in streaming processing and event driven architecture, supporting reliable redeliveries with dead letter queues is a popular ask from many real-time applications and services at Uber.To accomplish this, we leverage Apache Kafka, a popular open source distributed pub/sub messaging platform, which has been industry-tested for delivering high performance at scale. We build competing consumption semantics with dead letter queues on top of existing Kafka APIs and provide interfaces to ack or nack out of order messages with retries and in-process fanout features. We will also talk a bit about several use cases around that such as driver/rider matching, driver incentive payment etc.
The repoze.bfg framework allows Zope developers to use WSGI technologies more easily and non-Zope developers to use Zope technologies without all of Zope. It provides URL dispatch, templating, and declarative security while avoiding features like databases, sessions, and the ZMI. Repoze.bfg uses the Zope Component Architecture and aims for familiarity, simplicity, speed, documentation, and collaboration.
From GameMaker to Game Baker - Porting Hotline MiamiFrans Kasper
?
Frans Kasper discusses the process of porting the game Hotline Miami from GameMaker to other platforms. This involved converting the game's data, scripts, and architecture from the GameMaker format to a common C++ codebase using tools like ENIGMA and IRONY.NET. While time intensive and complex, this approach gave them full control and allowed optimizations for different platforms. Challenges included handling non-orthogonal code and ensuring parallel development was still possible.
Spark Summit EU talk by William BentonSpark Summit
?
The document discusses containerizing Spark clusters on Kubernetes. It describes how the author's Spark cluster looked in 2014 running on Mesos with networked storage. It then covers motivations for microservices architectures and how Spark fits into this. The document outlines architectures for analytics and applications, including responsibilities like transformation, aggregation, training models, and more. It also discusses legacy architectures like data warehouses and Hadoop-style data lakes. Finally, it covers practical considerations and potential pitfalls of containerized Spark clusters like scheduling, security, and storage options.
This document summarizes a presentation about tracking the Asprox botnet over two years. It describes the botnet's infrastructure including distribution channels, zombie hosts, command and control servers, and modules. The presentation traces the history of Asprox from 2007 to its disappearance in early 2015 and analyzes the encryption schemes used in its communication with command and control servers over time.
The document summarizes a series of commits made to a Git repository that is being synchronized with an SVN repository. It shows changes made to files, commit messages, and the process of rebasing and resetting the Git repository to match the latest changes from the SVN repository.
This document summarizes the commits made during a synchronization between a Git repository and an SVN repository. It lists multiple file changes across controllers, views and JavaScript files. It also describes resolving differences found between the Git and SVN repositories by rewinding head and reapplying prior commits before synchronizing the repositories.
A rough and researchy presentation where I tried out some new material in front of a local audience. Skipped the usual introduction and talked about some of the problems people run into when they do microservices and miss a few things. More refined version of this talk to be shown at O'Reilly Software Architecture Conference in New York in April.
[BreizhCamp, format 15min] Construire et automatiser l'ecosyste?me de son Saa...Fran?ois-Guillaume Ribreau
?
This document discusses building and automating an API ecosystem for a SaaS application using OpenAPI (Swagger) specifications. It describes using Swagger to generate API documentation, input validation, client libraries, and other components. The solution involves defining the API in a single Swagger specification file and using CI/CD pipelines to automatically generate documentation, tests, client libraries and other code artifacts from that file on each release.
際際滷s from my presentation on ARM Shellcode at #44CON 2018, London.
In this talk, we explore ARM egghunting and "Quantum Leap" code - polyglot ARM shellcode. A bonus side effect of this talk will be creating headaches for those who like to defend agaisnt attacks using age old signature based techniques.
Hooray, open source Swift finally arrived on Linux in December. Let¨s see how easy it is to use Swift for your backend and why Swift is a good choice for safe and fast development.
Static site generators and the JAMStack are all the rage right now. After trying several different tools to generate Static Sites, I recently discovered Eleventy and after building a few websites with it I feel like I am in love! In this presentation, I will try to explain why is that!
Greyhound - Powerful Pure Functional Kafka LibraryNatan Silnitsky
?
Wix has finally released to open-source its Kafka client SDK wrapper called Greyhound.
Completely re-written using the Scala functional library ZIO.
Greyhound harnesses ZIO's sophisticated async and concurrency features together with its easy composability to provide a superior experience to Kafka's own client SDKs.
It offers rich functionality including:
- Trivial setup of message processing parallelisation,
- Various fault tolerant retry policies (for consumers AND producers),
- Easy plug-ability of metrics publishing and context propagation and much more.
This talk will also show how Greyhound is used by Wix developers in more than 1000 event-driven microservices.
REST API vs gRPC, which one should you use in breaking a monolith [Dev conf 2...Vladimir Dejanovic
?
You heard of "new thing" called gRPC and promises that it will solve all issues for you, so now you are not sure if you should use it for breaking up your monolith to Microservices. If it is good for Google it should be good for you also right?
On the other hand, you have been using REST API's for some time now, at least as a consumer, so maybe this would be better approach in Microservices waters, or would it?
Which one to chose and which one will fit your use case better?
Join me in this talk were I will try to explain both approaches, good and bad. I will give some points and tips, which will help you in understanding better which one will be better for you. By doing this I will also share some best practices for both approaches
JCConf 2018, SpringCloud to MircoserviceRhys Chang
?
The document discusses a conference on Spring Cloud and microservices in Taiwan in 2018. It provides requirements around Spring Framework and Docker knowledge. It then covers various Spring Cloud topics like service discovery with Eureka, declarative REST clients with Feign, API routing with Spring Cloud Gateway, and centralized configuration with Spring Cloud Config Server. It also provides a link to a demo application and instructions for building and running it locally using Docker Compose.
Writing Testable Code (for Magento 1 and 2)vinaikopp
?
The document discusses writing testable code in Magento 1 and 2. It begins by describing assumptions and goals, such as having confidence in deployments and enjoying writing tests. It then discusses what makes code testable, including keeping classes focused on a single purpose/responsibility. The document uses an example Magento module to demonstrate refactoring code from a monolithic observer class to split it into smaller classes separated by purpose. This makes the code easier to test by isolating business logic from entry points like observers. The document advocates extracting business logic from entry points and delegating it to collaborator classes to simplify testing.
The document discusses Ruby's capabilities for concurrent programming. It covers how Ruby implements multithreading using fibers and EventMachine to allow for non-blocking I/O. Specifically, it discusses how EventMachine uses fibers to handle callbacks asynchronously and continually run its event loop to dispatch events, while fibers allow manually yielding execution to enable cooperative multitasking.
Serverless orchestration and automation with Cloud WorkflowsM│rton Kodok
?
Join this session to understand how Cloud Workflows resolves challenges in connecting services, HTTP based service orchestration and automation. We are going to dive deep how serverless HTTP service automation works to automate step engines. Based on practical examples we will demonstrate the built-in decision and conditional executions, subworkflows, support for external built-in API calls, and integration with any Google Cloud product without worrying about authentication. We are going to cover Marketing, Retail, Industrial and Developer possibilities, such as event driven marketing workflow execution, or inventory chain operations, generating and automatic state machines, or orchestrate DevOps workflows and automating the Cloud.
This document outlines the steps to design an Arduino-based traffic signal system using MATLAB and OrCAD software. It includes designing the schematic circuit and PCB layout in OrCAD, creating a Stateflow model in MATLAB to control the traffic light timing logic, and deploying it to an Arduino board. The system uses LEDs to indicate signals for 4 lanes and the Stateflow model controls the timing of the red, yellow, and green lights according to a provided timing table.
The document is a presentation on asynchronous programming in Scala. It covers differences between synchronous and asynchronous programming, futures and promises in Scala.concurrent, and the Monix library. It discusses using futures, promises, callbacks and transformations. The presentation concludes with best practices for debugging asynchronous programs, including using await, printing, ScalaTest and asynchronous debuggers.
Codequiry: A Code Similarity Checker Every Developer Should KnowCode Quiry
?
Every developer values originality!and Codequiry makes it easy to protect it. This powerful code similarity checker analyzes structure, logic, and syntax to detect plagiarism with precision. With support for 50+ programming languages and in-depth comparison across web, peer, and internal sources, Codequiry is an essential tool for anyone serious about writing clean, authentic, and uncompromised code.
CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...DanBrown980551
?
Join us for an exclusive webinar showcasing the latest advancements in CitrineOS, the open-source, API-first Charge Station Management System. With expanded support for OCPP 1.6 alongside full OCPP 2.x compatibility, CitrineOS is now more adaptable than ever!allowing operators to seamlessly manage both legacy and next-generation EV chargers. Discover how our new dynamic UI enhances operational efficiency, providing native EV charging network management with intuitive TimeSeries data views for authorizations, transactions, charging stations, and locations. Learn about technical upgrades, including the addition of GraphQL, improved file storage flexibility, and a refactored core designed to support multiple OCPP protocols. Don¨t miss this opportunity to see how CitrineOS is redefining charge station management with a future-proof platform that evolves with the industry. Register now to stay ahead in the rapidly changing EV charging landscape!
More Related Content
Similar to Angular Frankfurt #1 - Managing Application State in Reactive Angular Applications (20)
From GameMaker to Game Baker - Porting Hotline MiamiFrans Kasper
?
Frans Kasper discusses the process of porting the game Hotline Miami from GameMaker to other platforms. This involved converting the game's data, scripts, and architecture from the GameMaker format to a common C++ codebase using tools like ENIGMA and IRONY.NET. While time intensive and complex, this approach gave them full control and allowed optimizations for different platforms. Challenges included handling non-orthogonal code and ensuring parallel development was still possible.
Spark Summit EU talk by William BentonSpark Summit
?
The document discusses containerizing Spark clusters on Kubernetes. It describes how the author's Spark cluster looked in 2014 running on Mesos with networked storage. It then covers motivations for microservices architectures and how Spark fits into this. The document outlines architectures for analytics and applications, including responsibilities like transformation, aggregation, training models, and more. It also discusses legacy architectures like data warehouses and Hadoop-style data lakes. Finally, it covers practical considerations and potential pitfalls of containerized Spark clusters like scheduling, security, and storage options.
This document summarizes a presentation about tracking the Asprox botnet over two years. It describes the botnet's infrastructure including distribution channels, zombie hosts, command and control servers, and modules. The presentation traces the history of Asprox from 2007 to its disappearance in early 2015 and analyzes the encryption schemes used in its communication with command and control servers over time.
The document summarizes a series of commits made to a Git repository that is being synchronized with an SVN repository. It shows changes made to files, commit messages, and the process of rebasing and resetting the Git repository to match the latest changes from the SVN repository.
This document summarizes the commits made during a synchronization between a Git repository and an SVN repository. It lists multiple file changes across controllers, views and JavaScript files. It also describes resolving differences found between the Git and SVN repositories by rewinding head and reapplying prior commits before synchronizing the repositories.
A rough and researchy presentation where I tried out some new material in front of a local audience. Skipped the usual introduction and talked about some of the problems people run into when they do microservices and miss a few things. More refined version of this talk to be shown at O'Reilly Software Architecture Conference in New York in April.
[BreizhCamp, format 15min] Construire et automatiser l'ecosyste?me de son Saa...Fran?ois-Guillaume Ribreau
?
This document discusses building and automating an API ecosystem for a SaaS application using OpenAPI (Swagger) specifications. It describes using Swagger to generate API documentation, input validation, client libraries, and other components. The solution involves defining the API in a single Swagger specification file and using CI/CD pipelines to automatically generate documentation, tests, client libraries and other code artifacts from that file on each release.
際際滷s from my presentation on ARM Shellcode at #44CON 2018, London.
In this talk, we explore ARM egghunting and "Quantum Leap" code - polyglot ARM shellcode. A bonus side effect of this talk will be creating headaches for those who like to defend agaisnt attacks using age old signature based techniques.
Hooray, open source Swift finally arrived on Linux in December. Let¨s see how easy it is to use Swift for your backend and why Swift is a good choice for safe and fast development.
Static site generators and the JAMStack are all the rage right now. After trying several different tools to generate Static Sites, I recently discovered Eleventy and after building a few websites with it I feel like I am in love! In this presentation, I will try to explain why is that!
Greyhound - Powerful Pure Functional Kafka LibraryNatan Silnitsky
?
Wix has finally released to open-source its Kafka client SDK wrapper called Greyhound.
Completely re-written using the Scala functional library ZIO.
Greyhound harnesses ZIO's sophisticated async and concurrency features together with its easy composability to provide a superior experience to Kafka's own client SDKs.
It offers rich functionality including:
- Trivial setup of message processing parallelisation,
- Various fault tolerant retry policies (for consumers AND producers),
- Easy plug-ability of metrics publishing and context propagation and much more.
This talk will also show how Greyhound is used by Wix developers in more than 1000 event-driven microservices.
REST API vs gRPC, which one should you use in breaking a monolith [Dev conf 2...Vladimir Dejanovic
?
You heard of "new thing" called gRPC and promises that it will solve all issues for you, so now you are not sure if you should use it for breaking up your monolith to Microservices. If it is good for Google it should be good for you also right?
On the other hand, you have been using REST API's for some time now, at least as a consumer, so maybe this would be better approach in Microservices waters, or would it?
Which one to chose and which one will fit your use case better?
Join me in this talk were I will try to explain both approaches, good and bad. I will give some points and tips, which will help you in understanding better which one will be better for you. By doing this I will also share some best practices for both approaches
JCConf 2018, SpringCloud to MircoserviceRhys Chang
?
The document discusses a conference on Spring Cloud and microservices in Taiwan in 2018. It provides requirements around Spring Framework and Docker knowledge. It then covers various Spring Cloud topics like service discovery with Eureka, declarative REST clients with Feign, API routing with Spring Cloud Gateway, and centralized configuration with Spring Cloud Config Server. It also provides a link to a demo application and instructions for building and running it locally using Docker Compose.
Writing Testable Code (for Magento 1 and 2)vinaikopp
?
The document discusses writing testable code in Magento 1 and 2. It begins by describing assumptions and goals, such as having confidence in deployments and enjoying writing tests. It then discusses what makes code testable, including keeping classes focused on a single purpose/responsibility. The document uses an example Magento module to demonstrate refactoring code from a monolithic observer class to split it into smaller classes separated by purpose. This makes the code easier to test by isolating business logic from entry points like observers. The document advocates extracting business logic from entry points and delegating it to collaborator classes to simplify testing.
The document discusses Ruby's capabilities for concurrent programming. It covers how Ruby implements multithreading using fibers and EventMachine to allow for non-blocking I/O. Specifically, it discusses how EventMachine uses fibers to handle callbacks asynchronously and continually run its event loop to dispatch events, while fibers allow manually yielding execution to enable cooperative multitasking.
Serverless orchestration and automation with Cloud WorkflowsM│rton Kodok
?
Join this session to understand how Cloud Workflows resolves challenges in connecting services, HTTP based service orchestration and automation. We are going to dive deep how serverless HTTP service automation works to automate step engines. Based on practical examples we will demonstrate the built-in decision and conditional executions, subworkflows, support for external built-in API calls, and integration with any Google Cloud product without worrying about authentication. We are going to cover Marketing, Retail, Industrial and Developer possibilities, such as event driven marketing workflow execution, or inventory chain operations, generating and automatic state machines, or orchestrate DevOps workflows and automating the Cloud.
This document outlines the steps to design an Arduino-based traffic signal system using MATLAB and OrCAD software. It includes designing the schematic circuit and PCB layout in OrCAD, creating a Stateflow model in MATLAB to control the traffic light timing logic, and deploying it to an Arduino board. The system uses LEDs to indicate signals for 4 lanes and the Stateflow model controls the timing of the red, yellow, and green lights according to a provided timing table.
The document is a presentation on asynchronous programming in Scala. It covers differences between synchronous and asynchronous programming, futures and promises in Scala.concurrent, and the Monix library. It discusses using futures, promises, callbacks and transformations. The presentation concludes with best practices for debugging asynchronous programs, including using await, printing, ScalaTest and asynchronous debuggers.
Codequiry: A Code Similarity Checker Every Developer Should KnowCode Quiry
?
Every developer values originality!and Codequiry makes it easy to protect it. This powerful code similarity checker analyzes structure, logic, and syntax to detect plagiarism with precision. With support for 50+ programming languages and in-depth comparison across web, peer, and internal sources, Codequiry is an essential tool for anyone serious about writing clean, authentic, and uncompromised code.
CitrineOS: Bridging the Past and Future of EV Charging with OCPP 1.6 & 2.x Su...DanBrown980551
?
Join us for an exclusive webinar showcasing the latest advancements in CitrineOS, the open-source, API-first Charge Station Management System. With expanded support for OCPP 1.6 alongside full OCPP 2.x compatibility, CitrineOS is now more adaptable than ever!allowing operators to seamlessly manage both legacy and next-generation EV chargers. Discover how our new dynamic UI enhances operational efficiency, providing native EV charging network management with intuitive TimeSeries data views for authorizations, transactions, charging stations, and locations. Learn about technical upgrades, including the addition of GraphQL, improved file storage flexibility, and a refactored core designed to support multiple OCPP protocols. Don¨t miss this opportunity to see how CitrineOS is redefining charge station management with a future-proof platform that evolves with the industry. Register now to stay ahead in the rapidly changing EV charging landscape!
Meet, Greet, and Explore Agentic AI with UiPath ScotlandUiPathCommunity
?
After a long break, we're excited to reconnect and reignite our community. Join us for this engaging 'Meet & Greet' event, where you'll have the opportunity to connect with fellow RPA enthusiasts, industry professionals, and AI innovators.
In this introductory session, we'll delve into the fascinating world of agentic AI, exploring how AI-powered agents are revolutionizing automation by bringing intelligence, autonomy, and decision-making capabilities to RPA workflows.
? What to expect:
Networking opportunities with the UiPath Community in Scotland
A clear and engaging introduction to agentic AI
Interactive Q&A session to clarify your questions and ideas
Whether you're an experienced developer, a business leader, or completely new to automation, come along to learn, share, and connect.
Let's innovate together with UiPath Community Scotland!
Speaker/Chapter Leader:
???Gunashekhar Kotla, UiPath MVP, AI Automation Consultant @EY
This session streamed live on April 10, 2025, 14:00 GMT.
Check out all our upcoming UiPath Community sessions at:
? https://community.uipath.com/events/#...
Join UiPath Community Scotland chapter:
? https://community.uipath.com/scotland...
Handout - Demonolithing Think Again (Devoxx GR 2025).pdfScott Sosna
?
Your application has advanced from "legacy" to "unmaintainable"? Corporate leaders believe it's not _that_ bad and can be migrated into a new, exciting architecture? Yeah, right. Learn the types of problems you're likely to run into, and how likely you'll never complete the demonolithing your organization is banking on.
SAP Automation with UiPath: Leveraging AI for SAP Automation - Part 8 of 8DianaGray10
?
Connect directly with the TSP team for live demonstrations and practical exercises on SAP GUI, Fiori, SuccessFactors, and more. You'll also receive exclusive SAP access to practice automation on your own machine. Bring your laptop if you want to do the exercises. Don¨t miss this great opportunity to kickstart your SAP automation journey!
BrightonSEO April 2025 - hreflang XML E-Commerce - Nick Samuel.pdfNick Samuel
?
Brighton April 2025 was my first ever attempt at public presentation. Full title was "XML + hreflang: A Practical Guide for Large E-Commerce Sites
The presentation was suitable for anyone involved in deploying or managing hreflang for ecommerce websites (big and small).
This talk challenges the sometimes-held assumption that HTML hreflang is automatically the ^better ̄ option compared to XML hreflang Sitemaps by exploring the advantages and disadvantages of each method.
Drawing upon 12 years of experience in International SEO, I shared common scenarios where XML hreflang Sitemaps could be more effective compared to HTML, as well as practical tips for prioritising and troubleshooting your hreflang deployment.
By reading this deck you will be aware of the possibilities of XML hreflang Sitemaps, and an understanding of when they might be suitable to use for your own website.
Ricardo Jebb Bruno is a skilled Structural CAD Technician with over 10 years of experience. He specializes in structural analysis, design, and project management, and is proficient in AutoCAD, Revit, and SolidWorks. A graduate of the University of Miami with a degree in Civil Engineering, he currently works at Metrix Structural Group. Ricardo is a member of the American Society of Civil Engineers and the National CAD Society, and volunteers with Habitat for Humanity. His hobbies include 3D printing and sci-fi media.
Ivanti¨s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we¨ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Generative AI refers to a subset of artificial intelligence that focuses on creating new content, such as images, text, music, and even videos, based on the data it has been trained on. Generative AI models learn patterns from large datasets and use these patterns to generate new content.
Automating Behavior-Driven Development: Boosting Productivity with Template-D...DOCOMO Innovations, Inc.
?
https://bit.ly/4ciP3mZ
We have successfully established our development process for Drupal custom modules, including automated testing using PHPUnit, all managed through our own GitLab CI/CD pipeline. This setup mirrors the automated testing process used by Drupal.org, which was our goal to emulate.
Building on this success, we have taken the next step by learning Behavior-Driven Development (BDD) using Behat. This approach allows us to automate the execution of acceptance tests for our Cloud Orchestration modules. Our upcoming session will provide a thorough explanation of the practical application of Behat, demonstrating how to effectively use this tool to write and execute comprehensive test scenarios.
In this session, we will cover:
1. Introduction to Behavior-Driven Development (BDD):
- Understanding the principles of BDD and its advantages in the software development lifecycle.
- How BDD aligns with agile methodologies and enhances collaboration between developers, testers, and stakeholders.
2. Overview of Behat:
- Introduction to Behat as a testing framework for BDD.
- Key features of Behat and its integration with other tools and platforms.
3. Automating Acceptance Tests:
- Running Behat tests in our GitLab CI/CD pipeline.
- Techniques for ensuring that automated tests are reliable and maintainable.
- Strategies for continuous improvement and scaling the test suite.
4. Template-Based Test Scenario Reusability:
- How to create reusable test scenario templates in Behat.
- Methods for parameterizing test scenarios to enhance reusability and reduce redundancy.
- Practical examples of how to implement and manage these templates within your testing framework.
By the end of the session, attendees will have a comprehensive understanding of how to leverage Behat for BDD in their own projects, particularly within the context of Drupal and cloud orchestration. They will gain practical knowledge on writing and running automated acceptance tests, ultimately enhancing the quality and efficiency of their development processes.
MariaDB Berlin Roadshow 際際滷s - 8 April 2025MariaDB plc
?
With a surge of database solutions, many open-source databases in particular lack battle-tested, enterprise-grade features. Explore MariaDB for an enterprise open source database solution.
Misc: The Internet Story - How Data Travels, Transit Works, and the Role of C...3G4G
?
Ever wondered how the Internet really works? In this tutorial, we break it all down!from how your home or office connects to the wider web, to the role of Internet Service Providers (ISPs), Transit Networks, Peering, Content Delivery Networks (CDNs), and Multi-access Edge Computing (MEC).
? You¨ll learn about:
? How ISPs interconnect and form transit chains
? What peering is and how it helps reduce latency and cost
? How content like Netflix and Facebook reaches your screen
? Real-world case studies like Swisscom vs Netflix & Init7
? The difference between CDN and MEC!and when each is used
We also explore technical infrastructure using simple diagrams to explain how web servers, app servers, and storage systems come together to deliver your favourite content in real time.
? Whether you¨re a student, tech enthusiast, or just curious about how the Internet works behind the scenes!this video is for you.
? Got questions or insights? Drop them in the comments!we¨d love to hear from you!
All our #3G4G5G slides, videos, blogs and tutorials are available at:
Tutorials: https://www.3g4g.co.uk/Training/
Videos: https://www.youtube.com/3G4G5G
際際滷s: /3G4GLtd
Our channels:
3G4G Website C https://www.3g4g.co.uk/
The 3G4G Blog C https://blog.3g4g.co.uk/
Telecoms Infrastructure Blog C https://www.telecomsinfrastructure.com/
Operator Watch Blog C https://www.operatorwatch.com/
Connectivity Technology Blog C https://www.connectivity.technology/
Free 5G Training C https://www.free5gtraining.com/
Free 6G Training C https://www.free6gtraining.com/
Private Networks Technology Blog - https://blog.privatenetworks.technology/
Weekly cyber hits: NK hackers drop BeaverTail via 11 npm pkgs (5.6k dl¨s) targeting devs. Ivanti flaw (CVE-2025-22457) hit by China pros!patch by 4/11! PoisonSeed spams Coinbase; PyPI pkgs (39k dl¨s) swipe data. Lock it down! Like & share for more!
Cloudflare¨s Game-Changing Move The First Remote MCP Server for AI Agent Deve...davidandersonofficia
?
Discover how Cloudflare¨s groundbreaking remote MCP server, launched April 7, 2025, is revolutionizing AI agent development. Paired with Durable Workflows and a free Durable Objects tier, this innovation simplifies building secure, scalable AI solutions. Learn why it matters, what you can create, and how to get started with Cloudflare¨s game-changing tools.
Scot-Secure is Scotland¨s largest annual cyber security conference. The event brings together senior InfoSec personnel, IT leaders, academics, security researchers and law enforcement, providing a unique forum for knowledge exchange, discussion and high-level networking.
The programme is focussed on improving awareness and best practice through shared learning: highlighting emerging threats, new research and changing adversarial tactics, and examining practical ways to improve resilience, detection and response.
AC2-Agile-Agile concepts in an enterprise environmentDennis Van Aelst
?
Angular Frankfurt #1 - Managing Application State in Reactive Angular Applications
1. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Florian Reifschneider
Founder at Rocketloop
florian@rocketloop.de | @flo_re2003
Managing Application State
in Reactive Angular Applications
2. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
What this talk is about
2
Managing Application State
in Reactive Angular Applications
3. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
What this talk is about
3
Managing Application State
in Reactive Angular Applications
4. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
What this talk is about
4
Managing Application State
in Reactive Angular Applications
5. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
What this talk is about
RxJS
5
Managing Application State
in Reactive Angular Applications
Angular ngrx
6. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Why reactive apps are cool
? Apps should be consistent
? Data is not static, but rather a stream
? Views should automatically react to changes in data
? Observables are first-level citizen in Angular
6
7. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Imperative and reactive patterns
? An imperative expression is calculated once, the result
never changes, even when the inputs change
? A reactive expression is calculated every time the
inputs change, emitting a new result to all subscribers
7
A B C+ =
Imperative
A1
B1
C1
+
=
B2
C2
A2
C3
t
Reactive
8. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Application state
? Data fetched from server/API/back-end
? Locally created data
? Transient state / cache
? UI state
8
9. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Imperative state management in Angular
9
Service Service Service
Component Component
Internal
State
Internal
State
Internal
State
10. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Unidirectional data flow (Flux)
10
Action Dispatcher Store View
Action
This is where the app state lives
11. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Redux-like architecture using ngrx/store
11
Component
Action
State
Reducer
ngrx/store
Store
subscribe
dispatch
Component
ActionState
Reducer
Service
ngrx/store +
Services
method callsubscribe
Store
dispatch
12. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt 12
Let¨s see some code!
13. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
State
13
interface Todo {
id: string;
title: string;
done: boolean;
}
interface TodoState {
todos: {
[id: string]: Todo;
};
todoList: string[];
}
{
'todoList': [
'93f37bdf-6a45-4243-913c-cd057c91c2bc',
'5d744a71-39d3-4afe-8a98-66fa3464f2aa'
],
'todos': {
'93f37bdf-6a45-4243-913c-cd057c91c2bc': {
'id': '93f37bdf-6a45-4243-913c-cd057c91c2bc',
'title': 'Buy some milk',
'done': false
},
'5d744a71-39d3-4afe-8a98-66fa3464f2aa': {
'id': '5d744a71-39d3-4afe-8a98-66fa3464f2aa',
'title': 'Take out the trash',
'done': false
},
}
}
The state is a plain object (with a fixed schema) that represents the
entire application state
14. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Action
14
An action is a plain object that represents the intended change to the
state
interface Action {
type: string;
payload?: any;
}
this.store.dispatch({
'type': 'TODOLIST:CREATE_TODO',
'payload': {
'title': 'Work on Todo app'
}
}
this.store.dispatch({
'type': 'TODOLIST:MARK_TODO_DONE',
'payload': {
'id': '93f37bdf-6a45-4243-913c-cd057c91c2bc'
}
}
Actions are the only way to
mutate (modify) the state
Actions can be understood
as state transitions of our
state machine
15. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Reducer
15
A reducer is a plain function that accepts a state and an action and
returns a new version of the state
function todoReducer(state: TodoState, action: Action) {
switch (action.type) {
case "TODOLIST:CREATE_TODO":
const id = guid();
return {
...state,
'todoList': [ ...state.todoList, id ],
'todos': {
...state.todos,
[id]: {
'id': id,
'title': action.payload.title,
'done': false
}
}
}
default:
return state;
}
}
16. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Component
16
<ul *ngFor="let todo of todos$ | async">
<li>{{todo.title}}</li>
</ul>
? The component can select a slice/subtree of the state from the store
? Using the resulting Observable, the component can reactively listen for
changes in the selected subtree
todos$: Observable<Todo[]>;
constructor(private store: Store<TodoState>) {
this.todos$ = Observable.combineLatest(
this.store.select('todoList'),
this.store.select('todos')
).map([todoList, todos] => {
return todoList.map(id => todos[id]);
});
}
17. Angular Frankfurt | #angularffm | @angularffm | fb.com/angularfrankfurt
Further thoughts
¢ How do you handle asynchronous side effects?
$ ngrx/effects!
¢ Does it work with lazy loading?
$ Since ngrx 4.0, yes!
¢ How can you debug reducers/actions/states?
$ ngrx/devtools to the rescue!
17