Introducing redux-taxi, a small library that allows for component-driven asynchronous server-side rendering in a React+Redux app.
(Presentation as given at ReactJS New York Meetup on 4/14/2016)
Running SQL from a Groovy Event Handler in Agile PLMPLM Mechanic .
Have you ever run into a situation where you needed to run SQL from an event handler or PX but wasn't quite sure how to do it? This presentation will show you how to get a connection to the Agile PLM database and execute SQL without worrying about the connection details.
Running SQL from a Groovy Event Handler in Agile PLMPLM Mechanic .
Have you ever run into a situation where you needed to run SQL from an event handler or PX but wasn't quite sure how to do it? This presentation will show you how to get a connection to the Agile PLM database and execute SQL without worrying about the connection details.
Kubernetes provides a powerful framework and great tooling to control hundreds of heterogenous workloads on thousands of machines. In a production environment, however, the collection of metrics to automatically detect and act on issues in such a cluster is essential. Prometheus was created to meet such needs: highly dynamic scheduling, automatic service discovery, and reliable operations.
React and Flux life cycle with JSX, React Router and Jest Unit TestingEswara Kumar Palakollu
Understanding of React, JSX, Flux, react-router and Jest for React and Flux Unit Testing.
Detailed view of react life cycle and flux life cycle along with React life cycle.
React with MVC pattern and React + Flux with MVC pattern explained.
Reactive by example - at Reversim Summit 2015Eran Harel
Explaining the reactive manifesto by a real world case study.
This is a cool story about the evolution of our monitoring infrastructure. From the naive approach to a super resilient system.
How do we manage to handle 4M metrics / minute, and over 1K concurrent connections?
What strategies did we try to apply and where did it fail?
What are the techniques and technologies we use in order to achieve this?
How do we handle errors, and failures at this scale?
What can we still improve?
Funambol Automated Tests for SyncML ClientsFunambol
The presentation shows how an automated test for native SyncML clients works and how to develop it. You'll learn how to get the logs from the devices, assembly the test, run it and check that Funambol server and synclets do not break between a release and another, or after committing a piece of code. Watch this presentation if you want to improve the automated tests for SyncML devices
AjaxAnywhere is an Open Source Java Ajax framework that enables the developer to add Ajax behavior to your web application without any Javascript coding.
Isomorphic server side rendering with TwigJani Tarvainen
§ Program logic moving to the client
§ Vue, Angular, React, etc, etc.
§ Sending data only via a REST API works,
but not ideal on the first page load
§ 1st HTML view rendered by server for best perf.
§ Duplicating program logic & templates in the
back end and front end adds complexity
Isomorphic JavaScript
§ It’s now staple to run JavaScript on the server
§ You can run (parts) of the code base in both the
server and the browser
§ Server renders the 1st view state
§ Front end app picks up via REST from there on
§ Browser receives http://example.com/foo/BAR
<h1>BAR</h1> vs. <h1>{ foo }</h1>
Isomorphic Drupal Options
§ Drupal as REST back end only for a Node front
§ You miss out on Drupal features (blocks, etc.) and
are forced to an app only approach
§ A browser proxy (Phantom.js, etc.) renders 1st
view
§ Adds complexity to your server setup, development
§ Render tags content via Twig
§ Fluent mixing of standard Twig templating and
Node.js rendered tags (with state)
Twigriot
§ Proof of concept of rendering Node.js rendered
content Twig:
§ {{ riot_render('ymap',coords) }}
§ No developer overhead once initial setup is done
§ More at
http://www.symfony.fi/twig-node
Dlaczego warto regularnie dbać o wydajność aplikacji od samego początku jej tworzenia. Jak można wykorzystać do tego narzędzie Gatling i jakie daje możliwości?
In 30 minutes I would like to show:
1. Why is it worth to spend some time and learn Gatling - a tool for integration/performance test of your web application?
2. Under what circumstances it is necessary to have Gatling in your toolbox?
3. What are Gatling cons and what kind of problems can you expect?
For sure there is no silver bullet in testing tools area, but you will definitely love Gatling DSL.
In here I want to show you that one of a job scheduling library called, "Quartz". So in here I use java as a programming language and "NetBeans" as IDE. In here you can get basically understand about "Quartz".
Kubernetes provides a powerful framework and great tooling to control hundreds of heterogenous workloads on thousands of machines. In a production environment, however, the collection of metrics to automatically detect and act on issues in such a cluster is essential. Prometheus was created to meet such needs: highly dynamic scheduling, automatic service discovery, and reliable operations.
React and Flux life cycle with JSX, React Router and Jest Unit TestingEswara Kumar Palakollu
Understanding of React, JSX, Flux, react-router and Jest for React and Flux Unit Testing.
Detailed view of react life cycle and flux life cycle along with React life cycle.
React with MVC pattern and React + Flux with MVC pattern explained.
Reactive by example - at Reversim Summit 2015Eran Harel
Explaining the reactive manifesto by a real world case study.
This is a cool story about the evolution of our monitoring infrastructure. From the naive approach to a super resilient system.
How do we manage to handle 4M metrics / minute, and over 1K concurrent connections?
What strategies did we try to apply and where did it fail?
What are the techniques and technologies we use in order to achieve this?
How do we handle errors, and failures at this scale?
What can we still improve?
Funambol Automated Tests for SyncML ClientsFunambol
The presentation shows how an automated test for native SyncML clients works and how to develop it. You'll learn how to get the logs from the devices, assembly the test, run it and check that Funambol server and synclets do not break between a release and another, or after committing a piece of code. Watch this presentation if you want to improve the automated tests for SyncML devices
AjaxAnywhere is an Open Source Java Ajax framework that enables the developer to add Ajax behavior to your web application without any Javascript coding.
Isomorphic server side rendering with TwigJani Tarvainen
§ Program logic moving to the client
§ Vue, Angular, React, etc, etc.
§ Sending data only via a REST API works,
but not ideal on the first page load
§ 1st HTML view rendered by server for best perf.
§ Duplicating program logic & templates in the
back end and front end adds complexity
Isomorphic JavaScript
§ It’s now staple to run JavaScript on the server
§ You can run (parts) of the code base in both the
server and the browser
§ Server renders the 1st view state
§ Front end app picks up via REST from there on
§ Browser receives http://example.com/foo/BAR
<h1>BAR</h1> vs. <h1>{ foo }</h1>
Isomorphic Drupal Options
§ Drupal as REST back end only for a Node front
§ You miss out on Drupal features (blocks, etc.) and
are forced to an app only approach
§ A browser proxy (Phantom.js, etc.) renders 1st
view
§ Adds complexity to your server setup, development
§ Render tags content via Twig
§ Fluent mixing of standard Twig templating and
Node.js rendered tags (with state)
Twigriot
§ Proof of concept of rendering Node.js rendered
content Twig:
§ {{ riot_render('ymap',coords) }}
§ No developer overhead once initial setup is done
§ More at
http://www.symfony.fi/twig-node
Dlaczego warto regularnie dbać o wydajność aplikacji od samego początku jej tworzenia. Jak można wykorzystać do tego narzędzie Gatling i jakie daje możliwości?
In 30 minutes I would like to show:
1. Why is it worth to spend some time and learn Gatling - a tool for integration/performance test of your web application?
2. Under what circumstances it is necessary to have Gatling in your toolbox?
3. What are Gatling cons and what kind of problems can you expect?
For sure there is no silver bullet in testing tools area, but you will definitely love Gatling DSL.
In here I want to show you that one of a job scheduling library called, "Quartz". So in here I use java as a programming language and "NetBeans" as IDE. In here you can get basically understand about "Quartz".
Explanation of the fundamentals of Redux with additional tips and good practices. Presented in the Munich React Native Meetup, so the sample code is using React Native. Additional code: https://github.com/nacmartin/ReduxIntro
Workshop Isomorphic Web Apps with ReactJS:
- Universal web apps - Isomorphic
- Server Side Rendering (SSR) with ReactJS
- Server Side Rendering with Redux
- Server Side Rendering with React Router
- Server Side Rendering: server.js - Main Entry Point
- Server Side Rendering: server.js - HTML Template
- Client main entry point: client.js
- Webpack bundles
- Avoiding FOUC - Webpack ExtractTextPlugin
- Webpack code splitting
- React Router - Configuration with Plain Routes
- React Router - Dynamic Routing & WebPack
- Dynamic Routing with new Reducers
- Combining new Reducers - ReducerRegistry
- Data fetching before rendering
- React Router + Redux + Redial: Server Side
- React Router + Redux + Redial: provideHooks
- React Router + Redux + Redial: Client Side
- SEO friendly universal web apps - React-Helmet
- React-Helmet - Server Side Rendering
Presentado por ingeniero: Marc Torrent
In this talk we will explore how to organize component-centric code splitting with server side rendering and universal data fetching in React, when your application becomes large enough.
Talk description: When you have a large enough application, a single large bundle with all of your code becomes a problem for startup time. You need to start breaking your app into separate bundles and load them dynamically when needed.
How to split a single bundle into multiple is a well-solved problem with tools like Browserify and Webpack.
But now you need to find places in your application where you can decide to split off into another bundle and load it asynchronously. You also need a way to communicate between server and client, and organize server side rendering and implement universal data fetching for your application.
Even React Router team failed with this task
“We’ve tried and failed a couple of times”(https://reacttraining.com/react-router/web/guides/code-splitting/code-splitting-server-rendering)
I will show you how to solve this problem, we will use a great library called React Loadable.
Also, we will look at some solutions which you can achieve with React Router v4 and why they are not the best one.
For this talk, you will need some knowledge in React, Babel (ES6), Node, Webpack 2, Redux, and little bit React Router v4.
Maciej Treder ''Angular Universal - a medicine for the Angular + SEO/CDN issu...OdessaJS Conf
Are you ready for production? Are you sure? Is your application prefetchable? Is it readable for search engine robots? Will it fit into Content Delivery Network? Do you want to make it even faster? Meet the Server-Side Rendering concept. Learn how to bring first meaningful paint immediately, work with server-side Angular code, optimize API calls and more!
React for Re-use: Creating UI Components with Confluence ConnectAtlassian
Using React to create reusable components for Confluence extension points saves time and allows for a richer user experience. Join Matt Jensen, an Atlassian developer for over 10 years, for a session on using React to modularise the UI layer of your Confluence add-on, then bringing it together to take advantage of the common components. Matt will demonstrate the benefits of React for UI elements like macros, pages, and dialogs.
Matthew Jensen, Development Team Lead, Atlassian
Kamil Płaczek: Server-side rendering niesie ze sobą liczne korzyści, o których nietrudno zapomnieć w świecie zdominowanym przez aplikacje typu single-page. Uruchomienie naszego SPA na serwerze może nie być jednak tak proste, jak pozornie się wydaje. Porozmawiamy o problemach, z którymi przyjdzie zmierzyć się programiście podczas implementacji SSR, a o których nie zawsze przeczytamy w sekcji "Getting started" dokumentacji naszej ulubionej biblioteki. Uwierzytelnianie, routing czy komunikacja z backendem – to niektóre z tematów, które poruszone zostaną podczas prezentacji na przykładzie Reacta i Express.js.
How to implement multiple layouts using React router V4.pptxBOSC Tech Labs
in this article, you will learn how to add multiple layouts using the new version of React router v4. You will see complete details about React router and a step-by-step guide to implementing the multiple layouts using React router v4.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
9. Problem
When Server-Side Rendering, since
ReactDOMServer.renderToString()
is synchronous, how do you ensure that any asynchronous
data dependencies are ready/have resolved before
responding to the client?
12. Make the Server Aware
/* server.js */
const asyncRoutes = [...];
match({...}, (route) => {
if(asyncRoutes.contains(route)) {
// wait for data before res.end()
}
});
Inversion of Control
13. Routes Signal to Server
/* server.js */
if(route.isAsync()) {
// wait for data before res.end(...)
}
/* routes.jsx */
<Route path="/async/route"
component={asyncPage}
isAsync={true}
/>
Routes know too much
16. Apply ReduxTaxi Middleware
export default function configureStore(initialState, instance) {
const middleware = applyMiddleware(
instance.reduxTaxi
? ReduxTaxiMiddleware(instance.reduxTaxi) // server context, reduxTaxi provided,
: syncHistory(instance.history), // client context, history provided.
// You do not have to use ReduxTaxi's PromiseMiddleware,
// but it's provided for convenience
PromiseMiddleware,
// Your other middleware...
thunk
);
return createStore(rootReducer, initialState, middleware);
}
17. What does an Async Action look like?
import {CHECK_PASSWORD_RESET_TOKEN} from 'actions/types';
import api from 'api/ForgotPasswordApi';
export function checkPasswordResetToken(token) {
return {
type: CHECK_PASSWORD_RESET_TOKEN,
promise: api.checkPasswordResetToken(token)
};
}
● ReduxTaxiMiddleware will collect the promise
● PromiseMiddleware will generate a sequence of FSA
18. Example: Component with Async Action
/* SomePage.jsx */
import SomePageActions from 'action/SomePageActions';
// usual redux store connection decorator
@connect(state => state.somePageState, SomePageActions)
export default class SomePage extends Component {
constructor(props, context) {
super(props, context);
// Dispatch async action
this.props.someAsyncAction(this.props.data);
}
// ... render() and other methods
}
19. Forgetting to Explicitly Register Async Actions
The async action SOME_ASYNC_ACTION was dispatched in a server context without
being explicitly registered.
This usually means an asynchronous action (an action that contains a Promise) was
dispatched in a component's instantiation.
If you DON'T want to delay pageload rendering on the server, consider moving the
dispatch to the React component's componentDidMount() lifecycle method (which
only executes in a client context).
If you DO want to delay the pageload rendering and wait for the action to resolve
(or reject) on the server, then you must explicitly register this action via the
@registerAsyncActions decorator.
Like so:
@registerAsyncActions(SOME_ASYNC_ACTION)
20. ReduxTaxi Example Usage
/* SomePage.jsx */
import SomePageActions from 'action/SomePageActions';
// usual redux store connection decorator
@connect(state => state.somePageState, SomePageActions)
export default class SomePage extends Component {
constructor(props, context) {
super(props, context);
// Dispatch async action
this.props.someAsyncAction(this.props.data);
}
// ... render() and other methods
}
import {SOME_ASYNC_ACTION} from 'action/types';
import {registerAsyncActions} from 'redux-taxi';
// explicitly register async action
@registerAsyncActions(SOME_ASYNC_ACTION)
21. No more error, the server knows to wait to render
/* server.js */
// Render once to instantiate all components (at the given route)
// and collect any promises that may be registered.
let content = ReactDOMServer.renderToString(initialComponent);
const allPromises = reduxTaxi.getAllPromises();
if (allPromises.length) {
// If we have some promises, we need to delay server rendering
Promise.all(allPromises).then(() => {
content = ReactDOMServer.renderToString(initialComponent);
res.end(content);
}).catch(() => {
// some error happened, respond with error page
});
} else {
// otherwise, we can respond immediately with our rendered app
res.end(content);
}
22. What does this buy you?
● Granular control over which components are rendered
server-side vs client-side
● Deliberate decisions around which components delay
server rendering
● Fail-early for unregistered actions
● All non-invasively
23. What’s next?
● Server rendering abstraction
● Integrations with other Promise-based middlewares
● Configurable Promise sniffing and collecting
● Potentially avoid double-rendering