GraphQL est un language de requête mis en open source par Facebook en 2015 qui représente une alternative à REST. Après un bref récapitulatif sur le paradigme que propose GraphQL pour exposer de la donnée, nous verrons comment implémenter un serveur GraphQL en Scala grâce à la librairie Sangria.
L'integrazione e l'uso del Sistema Pubblico di Identità Digitale (SPID) all’interno di un’applicazione web raccontato ai fornitori di tecnologia della Pubblica Amministrazione.
1) Ross Lawley presented on connecting Spark to MongoDB. The MongoDB Spark connector started as an intern project in 2015 and was officially launched in 2016, written in Scala with Python and R support.
2) To read data from MongoDB, the connector partitions the collection, optionally using preferred shard locations for locality. It computes each partition's data as an iterator to be consumed by Spark.
3) For writing data, the connector groups data into batches by partition and inserts into MongoDB collections. DataFrames/Datasets will upsert if there is an ID.
4) The connector supports structured data in Spark by inferring schemas, creating relations, and allowing multi-language access from Scala, Python and R
Extending Spark SQL API with Easier to Use Array Types Operations with Marek ...Databricks
Big companies typically integrate their data from various heterogeneous systems when building a data lake as single point for accessing data. To achieve this goal technical teams often deal with data defined by complex schemas and various data formats. Spark SQL Datasets are currently compatible with data formats such as XML, Avro and Parquet by providing primitive and complex data types such as structs and arrays.
Although Dataset API offers rich set of functions, general manipulation of array and deeply nested data structures is lacking. We will demonstrate this fact by providing examples of data which is currently very hard to process in Spark efficiently. We designed and developed an extension of Dataset API to allow developers to work with array and complex type elements in a more straightforward and consistent way. The extension should help users dealing with complex and structured big data to use Apache Spark as a truly generic processing framework.
Introducing Spring Auto REST Docs - Spring IO 2017Florian Benz
This talk introduces Spring Auto REST Docs, an extension to Spring REST Docs that helps you write less and get more. We have been using and evolving our Spring REST Docs extension for over 1.5 years and recently open sourced it: https://github.com/ScaCap/spring-auto-restdocs Spring Auto REST Docs uses tests, introspection and Javadoc to automatically document request and response parameters. We will look at how much work this saved and how it increased the quality of our documentation. Sprint Auto REST Docs proposes a tight coupling of code and documentation. This way we make it easy to add documentation in the first place, and to keep it up to date as your platform evolves. During the presentation, we give instructions on how to use the extension and discuss pros and cons of the proposed approach. We will present our own system as a real-life implementation and highlight the benefits of reusing tests, bean validation and Javadoc together with the freedom of AsciiDoc to generate documentation.
For further reading: https://dzone.com/articles/introducing-spring-auto-rest-docs
Project documentation: https://scacap.github.io/spring-auto-restdocs/
Project: https://github.com/ScaCap/spring-auto-restdocs
This document summarizes the results of a regression analysis conducted by Consumer Research, Inc. Team #4. The analysis used income and household size as independent variables to predict annual credit card charges. It presents the estimated regression equation and uses it to predict charges for a 3-person household with $40,000 annual income. It then suggests some additional independent variables like average age, purchase preference, and gender that could improve the model by reducing errors and multicollinearity issues.
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLSeveralnines
To operate PostgreSQL efficiently, you need to have insight into database performance and make sure it is at optimal levels.
With that in mind, we dive into monitoring PostgreSQL for performance in this webinar replay.
PostgreSQL offers many metrics through various status overviews and commands, but which ones really matter to you? How do you trend and alert on them? What is the meaning behind the metrics? And what are some of the most common causes for performance problems in production?
We discuss this and more in ordinary, plain DBA language. We also have a look at some of the tools available for PostgreSQL monitoring and trending; and we’ll show you how to leverage ClusterControl’s PostgreSQL metrics, dashboards, custom alerting and other features to track and optimize the performance of your system.
AGENDA
- PostgreSQL architecture overview
- Performance problems in production
- Common causes
- Key PostgreSQL metrics and their meaning
- Tuning for performance
- Performance monitoring tools
- Impact of monitoring on performance
- How to use ClusterControl to identify performance issues
- Demo
SPEAKER
Sebastian Insausti, Support Engineer at Severalnines, has loved technology since his childhood, when he did his first computer course (Windows 3.11). And from that moment he was decided on what his profession would be. He has since built up experience with MySQL, PostgreSQL, HAProxy, WAF (ModSecurity), Linux (RedHat, CentOS, OL, Ubuntu server), Monitoring (Nagios), Networking and Virtualization (VMWare, Proxmox, Hyper-V, RHEV).
Prior to joining Severalnines, Sebastian worked as a consultant to state companies in security, database replication and high availability scenarios. He’s also a speaker and has given a few talks locally on InnoDB Cluster and MySQL Enterprise together with an Oracle team. Previous to that, he worked for a Mexican company as chief of sysadmin department as well as for a local ISP (Internet Service Provider), where he managed customers' servers and connectivity.
This webinar builds upon a related blog post by Sebastian: https://severalnines.com/blog/performance-cheat-sheet-postgresql.
Integrating Xtext Language Server support in Visual Studio CodeKarsten Thoms
This presentation was given at the Eclipse DemoCamp November 2016 in Bonn. It explained the new Microsoft Language Server Protocol and its implementation in Xtext. Finally the structure of an extension package for VS Code is shown which contains an Xtext DSL and runs a language server.
L'integrazione e l'uso del Sistema Pubblico di Identità Digitale (SPID) all’interno di un’applicazione web raccontato ai fornitori di tecnologia della Pubblica Amministrazione.
1) Ross Lawley presented on connecting Spark to MongoDB. The MongoDB Spark connector started as an intern project in 2015 and was officially launched in 2016, written in Scala with Python and R support.
2) To read data from MongoDB, the connector partitions the collection, optionally using preferred shard locations for locality. It computes each partition's data as an iterator to be consumed by Spark.
3) For writing data, the connector groups data into batches by partition and inserts into MongoDB collections. DataFrames/Datasets will upsert if there is an ID.
4) The connector supports structured data in Spark by inferring schemas, creating relations, and allowing multi-language access from Scala, Python and R
Extending Spark SQL API with Easier to Use Array Types Operations with Marek ...Databricks
Big companies typically integrate their data from various heterogeneous systems when building a data lake as single point for accessing data. To achieve this goal technical teams often deal with data defined by complex schemas and various data formats. Spark SQL Datasets are currently compatible with data formats such as XML, Avro and Parquet by providing primitive and complex data types such as structs and arrays.
Although Dataset API offers rich set of functions, general manipulation of array and deeply nested data structures is lacking. We will demonstrate this fact by providing examples of data which is currently very hard to process in Spark efficiently. We designed and developed an extension of Dataset API to allow developers to work with array and complex type elements in a more straightforward and consistent way. The extension should help users dealing with complex and structured big data to use Apache Spark as a truly generic processing framework.
Introducing Spring Auto REST Docs - Spring IO 2017Florian Benz
This talk introduces Spring Auto REST Docs, an extension to Spring REST Docs that helps you write less and get more. We have been using and evolving our Spring REST Docs extension for over 1.5 years and recently open sourced it: https://github.com/ScaCap/spring-auto-restdocs Spring Auto REST Docs uses tests, introspection and Javadoc to automatically document request and response parameters. We will look at how much work this saved and how it increased the quality of our documentation. Sprint Auto REST Docs proposes a tight coupling of code and documentation. This way we make it easy to add documentation in the first place, and to keep it up to date as your platform evolves. During the presentation, we give instructions on how to use the extension and discuss pros and cons of the proposed approach. We will present our own system as a real-life implementation and highlight the benefits of reusing tests, bean validation and Javadoc together with the freedom of AsciiDoc to generate documentation.
For further reading: https://dzone.com/articles/introducing-spring-auto-rest-docs
Project documentation: https://scacap.github.io/spring-auto-restdocs/
Project: https://github.com/ScaCap/spring-auto-restdocs
This document summarizes the results of a regression analysis conducted by Consumer Research, Inc. Team #4. The analysis used income and household size as independent variables to predict annual credit card charges. It presents the estimated regression equation and uses it to predict charges for a 3-person household with $40,000 annual income. It then suggests some additional independent variables like average age, purchase preference, and gender that could improve the model by reducing errors and multicollinearity issues.
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLSeveralnines
To operate PostgreSQL efficiently, you need to have insight into database performance and make sure it is at optimal levels.
With that in mind, we dive into monitoring PostgreSQL for performance in this webinar replay.
PostgreSQL offers many metrics through various status overviews and commands, but which ones really matter to you? How do you trend and alert on them? What is the meaning behind the metrics? And what are some of the most common causes for performance problems in production?
We discuss this and more in ordinary, plain DBA language. We also have a look at some of the tools available for PostgreSQL monitoring and trending; and we’ll show you how to leverage ClusterControl’s PostgreSQL metrics, dashboards, custom alerting and other features to track and optimize the performance of your system.
AGENDA
- PostgreSQL architecture overview
- Performance problems in production
- Common causes
- Key PostgreSQL metrics and their meaning
- Tuning for performance
- Performance monitoring tools
- Impact of monitoring on performance
- How to use ClusterControl to identify performance issues
- Demo
SPEAKER
Sebastian Insausti, Support Engineer at Severalnines, has loved technology since his childhood, when he did his first computer course (Windows 3.11). And from that moment he was decided on what his profession would be. He has since built up experience with MySQL, PostgreSQL, HAProxy, WAF (ModSecurity), Linux (RedHat, CentOS, OL, Ubuntu server), Monitoring (Nagios), Networking and Virtualization (VMWare, Proxmox, Hyper-V, RHEV).
Prior to joining Severalnines, Sebastian worked as a consultant to state companies in security, database replication and high availability scenarios. He’s also a speaker and has given a few talks locally on InnoDB Cluster and MySQL Enterprise together with an Oracle team. Previous to that, he worked for a Mexican company as chief of sysadmin department as well as for a local ISP (Internet Service Provider), where he managed customers' servers and connectivity.
This webinar builds upon a related blog post by Sebastian: https://severalnines.com/blog/performance-cheat-sheet-postgresql.
Integrating Xtext Language Server support in Visual Studio CodeKarsten Thoms
This presentation was given at the Eclipse DemoCamp November 2016 in Bonn. It explained the new Microsoft Language Server Protocol and its implementation in Xtext. Finally the structure of an extension package for VS Code is shown which contains an Xtext DSL and runs a language server.
This document discusses monitoring and tuning Java applications for performance. It covers monitoring garbage collection and threads in the Java Virtual Machine, method profiling to identify slow execution paths, object creation profiling, monitoring gross memory usage, and thread profiling. It also summarizes the key aspects of monitoring Java applications and JVM.
G1 Garbage Collector: Details and TuningSimone Bordet
This document provides an overview and details about the G1 garbage collector in Java. It begins with introductions of the author and an overview of G1. Key points include that G1 is designed to provide low pause times, works well with large heap sizes, and will become the default collector in JDK 9. The document then discusses various aspects of G1 including its memory layout using regions, young generation collection, remembered set and write barrier for tracking references, and concurrent marking approach for old generation collection. It provides advice on G1 logging, tuning and common issues. An example migration from CMS to G1 for an online chess application is also summarized.
Instagram Hacker 2014 v3.7.2 - easy way to hack Instagram account !Home
You can now hack instagram with this free online password hacker. It works instantly.
Hack Instagram victim's passwords in minutes using our free and easy hack tool.
Download Instagram Hacker 2014 v3.7.2 here http://tinyurl.com/nrhul6w
This session talks about how unit testing of Spark applications is done, as well as tells the best way to do it. This includes writing unit tests with and without Spark Testing Base package, which is a spark package containing base classes to use when writing tests with Spark.
Top 10 applications support analyst interview questions and answersmarcdanny68
The document provides resources for preparing for an applications support analyst interview, including common interview questions, answers, and tips. It lists over 20 links to pages on interviewquestions360.com that contain sample interview questions and answers, ebooks with additional questions, and advice on different types of interviews, how to research the company, developing career skills, and more. The resources are intended to help candidates learn about the role and how to effectively answer different styles of questions during the hiring process for an applications support analyst position.
This was a talk given at HTML5DevConf SF in 2015.
Ever wanted to write your own Browserify or Babel? Maybe have an idea for something new? This talk will get you started understanding how to use a JavaScript AST to transform and generate new code.
RIAs Done Right: Grails, Flex, and EXT GWTMichael Galpin
The document discusses how Rich Internet Applications (RIAs) can be done effectively by leveraging modern web technologies like Ajax and RESTful web services. It advocates for building RIAs using a client-server architecture with thick clients that rely on RESTful APIs and lightweight markup from servers, as this allows for improved performance, mobility, and a better user experience compared to traditional web applications. It also provides examples of implementing RIAs using technologies like GWT, Flex, and RESTful web services.
Mining Interesting Trivia for Entities from Wikipedia PART-IIAbhay Prakash
The following presentation is on my Masters Graduate Thesis Work - "Mining Interesting Trivia for Entities from Wikipedia".
This presentation is the second part and in continuation of my another presentation, which is having the same title but with 'PART-I' in end
Casting for not so strange Actos
- A presentation about the Actors pattern and a look at prototypes in 4 different programming languages - Jruby (Celluloid), Erlang, Elixir and Scala (Akka)
- Presented in "Strange Group Berlin" meetup on 12.03.2015 held at 6Wunderkinder
Meetup presentation discussing multi-platform Kotlin and in particular Kotlin Native.
A video of the presentation is available here,
https://www.youtube.com/watch?v=yzhAuBBEHGs&t=37s
The document provides documentation for an SVG generation library in Go. It describes functions for reading Flickr photo data, parsing it into structures, and drawing an image grid. Key functions include flickrAPI to call the Flickr API, makeURI to convert photo details to URLs, and imageGrid to read the response, create an SVG group, and add linked image elements in a grid layout.
The document describes changes made to Swift to improve safety, including making interfaces stricter, adding stronger types using phantom types, improving error handling types, and refactoring code into components to enable better testing. Key points include adding subscript and initializer checks, non-empty and tagged types, enumerating errors, and separating app logic from context/state to allow for unit and acceptance testing.
Intro to GraphQL on Android with Apollo DroidconNYC 2017Mike Nakhimovich
Apollo-Android provides a strongly-typed, caching GraphQL client for Android that reduces the complexity of making GraphQL requests. It includes code generation that handles mapping GraphQL responses to Java models and builders for constructing GraphQL queries. The runtime client executes the operations and handles caching, reducing the need for custom networking, parsing, and storage code compared to REST. Apollo was developed by Shopify, New York Times, and AirBnb as an open source alternative to implementing GraphQL on Android with existing REST-based libraries and tools.
This document discusses scalable application architecture. It covers topics like dynamic requirements, using a scalable communication layer with various package formats, handling multiple state mutation sources, building scalable teams, and lazy loading. It provides examples of component architecture using Angular, services, state management with ngrx/redux, immutability with ImmutableJS, and asynchronous logic with RxJS. The goal is to build modular, extensible applications that can handle complex requirements through separation of concerns and well-designed architecture.
Over the past few years, web-applications have started to play an increasingly important role in our lives. We expect them to be always available and the data to be always fresh. This shift into the realm of real-time data processing is now transitioning to physical devices, and Gartner predicts that the Internet of Things will grow to an installed base of 26 billion units by 2020.
Reactive web-applications are an answer to the new requirements of high-availability and resource efficiency brought by this rapid evolution. On the JVM, a set of new languages and tools has emerged that enable the development of entirely asynchronous request and data handling pipelines. At the same time, container-less application frameworks are gaining increasing popularity over traditional deployment mechanisms.
This talk is going to give you an introduction into one of the most trending reactive web-application stack on the JVM, involving the Scala programming language, the concurrency toolkit Akka and the web-application framework Play. It will show you how functional programming techniques enable asynchronous programming, and how those technologies help to build robust and resilient web-applications.
Android 3.0 Honeycomb included the following key features:
- High-performance 2D and 3D graphics capabilities powered by new graphics engines.
- Support for multicore processor architectures through improvements to Dalvik VM and native code.
- Enhanced multimedia and connectivity features such as hardware-accelerated video recording, HTTP live streaming support, and EXIF metadata extraction.
How to Handle NoSQL with a Relational DatabaseDATAVERSITY
It can be difficult to scale out relational databases and provide more schema flexibility, thus the rise of NoSQL. However, you shouldn’t have to sacrifice data integrity and transactions in order to scale out on commodity hardware and support semi-structured data. By using an RDBMS with built-in sharding and JSON support, you don’t have to. You get the scalability and flexibility of a NoSQL database along with the consistency and reliability of a relational database – and the ability to mix and match relational and JSON data.
In this webinar, we’ll explain how MariaDB Platform can be deployed as a NoSQL database by using the Spider storage engine and built-in SQL functions for JSON. In addition, we’ll discuss how you can access relational data as JSON documents, and how to enforce data integrity if a relational data model is extended with JSON.
Async Redux Actions With RxJS - React Rally 2016Ben Lesh
Redux-observable allows combining RxJS and Redux by introducing Epics. Epics are Observable streams that handle asynchronous logic in response to Redux actions. This avoids callback hell and enables features like cancellation. An Epic takes an action stream, performs asynchronous operations like AJAX calls using RxJS, and dispatches result actions. This keeps Redux synchronous while managing complex async flows in a declarative and reusable way.
The document discusses various idioms in Swift including optional binding with guard let and if let, nil coalescing operator, switch statements with optionals and associated values, closures, lazy properties, and computed properties with property observers. Key idioms covered include using guard let to ensure non-nil arguments, extracting associated values from enums using switch, initializing immutable variables with closures, and updating for loops to the Swift 3 syntax.
Moderne backends mit dem aktor programmiermodellDamir Dobric
The document discusses modern backend architectures using Service Fabric and the actor model. It begins with an overview of traditional multitier architectures and their scaling limitations. The document then introduces the scaling cube approach of scaling horizontally, functionally, and by data partitioning. It describes how Service Fabric supports scaling across all three dimensions. The remainder of the document focuses on the actor model, defining actors as asynchronous and stateful/stateless primitives. It discusses how actors are deployed and activated in Service Fabric and covers key concepts like state persistence, messaging, and location transparency provided by the actor runtime.
This document discusses monitoring and tuning Java applications for performance. It covers monitoring garbage collection and threads in the Java Virtual Machine, method profiling to identify slow execution paths, object creation profiling, monitoring gross memory usage, and thread profiling. It also summarizes the key aspects of monitoring Java applications and JVM.
G1 Garbage Collector: Details and TuningSimone Bordet
This document provides an overview and details about the G1 garbage collector in Java. It begins with introductions of the author and an overview of G1. Key points include that G1 is designed to provide low pause times, works well with large heap sizes, and will become the default collector in JDK 9. The document then discusses various aspects of G1 including its memory layout using regions, young generation collection, remembered set and write barrier for tracking references, and concurrent marking approach for old generation collection. It provides advice on G1 logging, tuning and common issues. An example migration from CMS to G1 for an online chess application is also summarized.
Instagram Hacker 2014 v3.7.2 - easy way to hack Instagram account !Home
You can now hack instagram with this free online password hacker. It works instantly.
Hack Instagram victim's passwords in minutes using our free and easy hack tool.
Download Instagram Hacker 2014 v3.7.2 here http://tinyurl.com/nrhul6w
This session talks about how unit testing of Spark applications is done, as well as tells the best way to do it. This includes writing unit tests with and without Spark Testing Base package, which is a spark package containing base classes to use when writing tests with Spark.
Top 10 applications support analyst interview questions and answersmarcdanny68
The document provides resources for preparing for an applications support analyst interview, including common interview questions, answers, and tips. It lists over 20 links to pages on interviewquestions360.com that contain sample interview questions and answers, ebooks with additional questions, and advice on different types of interviews, how to research the company, developing career skills, and more. The resources are intended to help candidates learn about the role and how to effectively answer different styles of questions during the hiring process for an applications support analyst position.
This was a talk given at HTML5DevConf SF in 2015.
Ever wanted to write your own Browserify or Babel? Maybe have an idea for something new? This talk will get you started understanding how to use a JavaScript AST to transform and generate new code.
RIAs Done Right: Grails, Flex, and EXT GWTMichael Galpin
The document discusses how Rich Internet Applications (RIAs) can be done effectively by leveraging modern web technologies like Ajax and RESTful web services. It advocates for building RIAs using a client-server architecture with thick clients that rely on RESTful APIs and lightweight markup from servers, as this allows for improved performance, mobility, and a better user experience compared to traditional web applications. It also provides examples of implementing RIAs using technologies like GWT, Flex, and RESTful web services.
Mining Interesting Trivia for Entities from Wikipedia PART-IIAbhay Prakash
The following presentation is on my Masters Graduate Thesis Work - "Mining Interesting Trivia for Entities from Wikipedia".
This presentation is the second part and in continuation of my another presentation, which is having the same title but with 'PART-I' in end
Casting for not so strange Actos
- A presentation about the Actors pattern and a look at prototypes in 4 different programming languages - Jruby (Celluloid), Erlang, Elixir and Scala (Akka)
- Presented in "Strange Group Berlin" meetup on 12.03.2015 held at 6Wunderkinder
Meetup presentation discussing multi-platform Kotlin and in particular Kotlin Native.
A video of the presentation is available here,
https://www.youtube.com/watch?v=yzhAuBBEHGs&t=37s
The document provides documentation for an SVG generation library in Go. It describes functions for reading Flickr photo data, parsing it into structures, and drawing an image grid. Key functions include flickrAPI to call the Flickr API, makeURI to convert photo details to URLs, and imageGrid to read the response, create an SVG group, and add linked image elements in a grid layout.
The document describes changes made to Swift to improve safety, including making interfaces stricter, adding stronger types using phantom types, improving error handling types, and refactoring code into components to enable better testing. Key points include adding subscript and initializer checks, non-empty and tagged types, enumerating errors, and separating app logic from context/state to allow for unit and acceptance testing.
Intro to GraphQL on Android with Apollo DroidconNYC 2017Mike Nakhimovich
Apollo-Android provides a strongly-typed, caching GraphQL client for Android that reduces the complexity of making GraphQL requests. It includes code generation that handles mapping GraphQL responses to Java models and builders for constructing GraphQL queries. The runtime client executes the operations and handles caching, reducing the need for custom networking, parsing, and storage code compared to REST. Apollo was developed by Shopify, New York Times, and AirBnb as an open source alternative to implementing GraphQL on Android with existing REST-based libraries and tools.
This document discusses scalable application architecture. It covers topics like dynamic requirements, using a scalable communication layer with various package formats, handling multiple state mutation sources, building scalable teams, and lazy loading. It provides examples of component architecture using Angular, services, state management with ngrx/redux, immutability with ImmutableJS, and asynchronous logic with RxJS. The goal is to build modular, extensible applications that can handle complex requirements through separation of concerns and well-designed architecture.
Over the past few years, web-applications have started to play an increasingly important role in our lives. We expect them to be always available and the data to be always fresh. This shift into the realm of real-time data processing is now transitioning to physical devices, and Gartner predicts that the Internet of Things will grow to an installed base of 26 billion units by 2020.
Reactive web-applications are an answer to the new requirements of high-availability and resource efficiency brought by this rapid evolution. On the JVM, a set of new languages and tools has emerged that enable the development of entirely asynchronous request and data handling pipelines. At the same time, container-less application frameworks are gaining increasing popularity over traditional deployment mechanisms.
This talk is going to give you an introduction into one of the most trending reactive web-application stack on the JVM, involving the Scala programming language, the concurrency toolkit Akka and the web-application framework Play. It will show you how functional programming techniques enable asynchronous programming, and how those technologies help to build robust and resilient web-applications.
Android 3.0 Honeycomb included the following key features:
- High-performance 2D and 3D graphics capabilities powered by new graphics engines.
- Support for multicore processor architectures through improvements to Dalvik VM and native code.
- Enhanced multimedia and connectivity features such as hardware-accelerated video recording, HTTP live streaming support, and EXIF metadata extraction.
How to Handle NoSQL with a Relational DatabaseDATAVERSITY
It can be difficult to scale out relational databases and provide more schema flexibility, thus the rise of NoSQL. However, you shouldn’t have to sacrifice data integrity and transactions in order to scale out on commodity hardware and support semi-structured data. By using an RDBMS with built-in sharding and JSON support, you don’t have to. You get the scalability and flexibility of a NoSQL database along with the consistency and reliability of a relational database – and the ability to mix and match relational and JSON data.
In this webinar, we’ll explain how MariaDB Platform can be deployed as a NoSQL database by using the Spider storage engine and built-in SQL functions for JSON. In addition, we’ll discuss how you can access relational data as JSON documents, and how to enforce data integrity if a relational data model is extended with JSON.
Async Redux Actions With RxJS - React Rally 2016Ben Lesh
Redux-observable allows combining RxJS and Redux by introducing Epics. Epics are Observable streams that handle asynchronous logic in response to Redux actions. This avoids callback hell and enables features like cancellation. An Epic takes an action stream, performs asynchronous operations like AJAX calls using RxJS, and dispatches result actions. This keeps Redux synchronous while managing complex async flows in a declarative and reusable way.
The document discusses various idioms in Swift including optional binding with guard let and if let, nil coalescing operator, switch statements with optionals and associated values, closures, lazy properties, and computed properties with property observers. Key idioms covered include using guard let to ensure non-nil arguments, extracting associated values from enums using switch, initializing immutable variables with closures, and updating for loops to the Swift 3 syntax.
Moderne backends mit dem aktor programmiermodellDamir Dobric
The document discusses modern backend architectures using Service Fabric and the actor model. It begins with an overview of traditional multitier architectures and their scaling limitations. The document then introduces the scaling cube approach of scaling horizontally, functionally, and by data partitioning. It describes how Service Fabric supports scaling across all three dimensions. The remainder of the document focuses on the actor model, defining actors as asynchronous and stateful/stateless primitives. It discusses how actors are deployed and activated in Service Fabric and covers key concepts like state persistence, messaging, and location transparency provided by the actor runtime.
Ajax is the web's hottest user interface. Struts is Java's most popular web framework. What happens when we put Ajax on Struts?
In this session, we look at writing a new Struts 2 application from square one, using the Yahoo User Interface (YUI) Library on the front end, and Struts 2 on the backend. YUI provides the glitz and the glamour, and Struts 2 provides the dreary business logic, input validation, and text formatting.
During the session, we will cover
* How to integrate an Ajax UI with Struts 2
* Basics of the Yahoo User Interface (YUI) Library
* Business services Struts can provide to an Ajax UI
Who should attend: Ajax developers who would like to utilize Struts as a back-end, and Struts developers who would like to utilize Ajax as a front-end.
To get the most from this session, some familiarity with an Ajax library, like YUI or Dojo, is helpful.
VelocityGraph allows storing .NET objects as graph data without an ORM layer. It implements standard graph interfaces and adds features like vertex and edge types, polymorphism, and storing any .NET type as a property value. The document provides examples of creating a graph database with VelocityGraph and performing queries like recommending profiles or calculating supplier contributions.
International Conference on NLP, Artificial Intelligence, Machine Learning an...gerogepatton
International Conference on NLP, Artificial Intelligence, Machine Learning and Applications (NLAIM 2024) offers a premier global platform for exchanging insights and findings in the theory, methodology, and applications of NLP, Artificial Intelligence, Machine Learning, and their applications. The conference seeks substantial contributions across all key domains of NLP, Artificial Intelligence, Machine Learning, and their practical applications, aiming to foster both theoretical advancements and real-world implementations. With a focus on facilitating collaboration between researchers and practitioners from academia and industry, the conference serves as a nexus for sharing the latest developments in the field.
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSIJNSA Journal
The smart irrigation system represents an innovative approach to optimize water usage in agricultural and landscaping practices. The integration of cutting-edge technologies, including sensors, actuators, and data analysis, empowers this system to provide accurate monitoring and control of irrigation processes by leveraging real-time environmental conditions. The main objective of a smart irrigation system is to optimize water efficiency, minimize expenses, and foster the adoption of sustainable water management methods. This paper conducts a systematic risk assessment by exploring the key components/assets and their functionalities in the smart irrigation system. The crucial role of sensors in gathering data on soil moisture, weather patterns, and plant well-being is emphasized in this system. These sensors enable intelligent decision-making in irrigation scheduling and water distribution, leading to enhanced water efficiency and sustainable water management practices. Actuators enable automated control of irrigation devices, ensuring precise and targeted water delivery to plants. Additionally, the paper addresses the potential threat and vulnerabilities associated with smart irrigation systems. It discusses limitations of the system, such as power constraints and computational capabilities, and calculates the potential security risks. The paper suggests possible risk treatment methods for effective secure system operation. In conclusion, the paper emphasizes the significant benefits of implementing smart irrigation systems, including improved water conservation, increased crop yield, and reduced environmental impact. Additionally, based on the security analysis conducted, the paper recommends the implementation of countermeasures and security approaches to address vulnerabilities and ensure the integrity and reliability of the system. By incorporating these measures, smart irrigation technology can revolutionize water management practices in agriculture, promoting sustainability, resource efficiency, and safeguarding against potential security threats.
Low power architecture of logic gates using adiabatic techniquesnooriasukmaningtyas
The growing significance of portable systems to limit power consumption in ultra-large-scale-integration chips of very high density, has recently led to rapid and inventive progresses in low-power design. The most effective technique is adiabatic logic circuit design in energy-efficient hardware. This paper presents two adiabatic approaches for the design of low power circuits, modified positive feedback adiabatic logic (modified PFAL) and the other is direct current diode based positive feedback adiabatic logic (DC-DB PFAL). Logic gates are the preliminary components in any digital circuit design. By improving the performance of basic gates, one can improvise the whole system performance. In this paper proposed circuit design of the low power architecture of OR/NOR, AND/NAND, and XOR/XNOR gates are presented using the said approaches and their results are analyzed for powerdissipation, delay, power-delay-product and rise time and compared with the other adiabatic techniques along with the conventional complementary metal oxide semiconductor (CMOS) designs reported in the literature. It has been found that the designs with DC-DB PFAL technique outperform with the percentage improvement of 65% for NOR gate and 7% for NAND gate and 34% for XNOR gate over the modified PFAL techniques at 10 MHz respectively.
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
2. About Me
Anthony SSI YAN KAI
● Data Engineer at ebiznext
○ Formation BI
○ DataLake (creation, enriching)
○ FullStack (react.js - scala)
Scala - Spark - Hadoop - ElasticSearch - Kafka - Akka - GraphQL
3. What is GraphQL all about ?
GraphQL is a query language for APIs
Created to answer those problematics :
● Mobile usage:
○ Sloppy networks and low-powered devices
○ Reduce the amount of data transferred over network
● Large variety of clients:
○ Classic API can hardly fit every clients needs in a maintainable way
○ Each client accesses the data it needs with a single endpoint
● Fast development
○ Classic REST APIs regularly needs to update the way data is exposed (multiple endpoints,
etc…)
○ Less communication between frontend and backend
4. REST vs GraphQL
The major paradigm variation:
REST imposes a fixed data structure to the client
while …
GraphQL allow clients to fetch the data they need
Instead of multiple endpoints that returns fixed data structures, GraphQL provides an unique endpoint that
returns the data asked by the client
Fetching data with GraphQL can be done in a single query while in REST multiples queries are often
needed and more unnecessary data is transferred.
For more GraphQL vs REST: www.howtographql.com
5. Architecture
GraphQL can be plugged to basically anything ...
● Database
● Legacy systems
● Microservice
● Third-party API
● Anything ...
resources: www.howtographql.com
6. Use Case
id: String
title: String,
description: Option[String]
genres: Seq[Genre.Value]
actors: Seq[Actor]
rating: Option[Double]
reviews: Seq[Review]
budget: Long
gross: Seq[Long]
id: String,
fullname: String
popularity: Option[Int]
movies: Seq[Movie]
Expose data for a movie application
case class Movie
case class Actor
id: String = UUID.randomUUID().toString,
author: String,
content: String,
rating: Double,
created: Long = Instant.now.toEpochMilli
case class Review
7. Scenario
We want to fetch this data:
● Movie Title - Genres - Rating - Description
● Top 3 most popular actors in the movie
● Last 5 reviews about the movie
The Avengers Top 3 Actors
Last 5 Reviews
Action,Adventure, Sci-Fi
Rating: 8.1
Description:
When Loki returns and
threatens to steal the ..
Robert D. Scarlett J. Chris E.
8. Scenario with REST
1
{
"movie": {
"id": "001",
"title": "The Avengers"
"genres": [ACTION","ADVENTURE","SCI_FI"],
"description": "When Loki returns and threatens ...",
"gross": [207438708,103052274,55644102,36686871],
"rating": 8.1,
"budget": 225000000
}
}
HTTP GET
Fetch Movie Details /movie/<id>
20. Object Type - Sangria
val MovieType = ObjectType(
"Movie",
"VideoContext you can watch at the theater",
interfaces[Unit, Movie](VideoType),
fields = fields[Unit, Movie](
Field("id", StringType, Some("the id of the movie."), resolve = _.value.id),
Field("title", StringType, Some("the title of the movie."), resolve = _.value.title),
Field("actors", ListType(ActorType), Some("the actors appearing in the movie"), resolve = _.value.actors),
Field("genres", ListType(GenreEnum), Some("the genres of the movie"), resolve = _.value.genres),
Field("rating", OptionType(FloatType), resolve = _.value.rating),
Field("reviews", ListType(ReviewType), resolve = _.value.reviews),
Field("budget", LongType, resolve = _.value.budget),
Field("gross", ListType(LongType), resolve = _.value.gross),
Field("profit", LongType, arguments = Argument("week", IntType) :: Nil,
resolve = ctx => ctx.value.profit(ctx.arg(Argument("week", IntType)))),
Field("alert", BooleanType, resolve = _.value.alert)
))
21. Enum Type - Sangria
val GenreEnum = EnumType(
"Genre",
Some("Genre of a video"),
List(
EnumValue("COMEDY", value = Genre.COMEDY, description = Some("Toc Toc Toc ...")),
EnumValue("ACTION", value = Genre.ACTION, description = Some("Action videos")),
EnumValue("HORROR", value = Genre.HORROR, description = Some("Bouuuh !")),
EnumValue("ANIMATION", value = Genre.ANIMATION, description = Some("Perfect to have a good time")),
EnumValue("ADVENTURE", value = Genre.ADVENTURE, description = Some("Adventure videos")),
EnumValue("SCI_FI", value = Genre.SCI_FI, description = Some("Weird stuff happening"))
)
)
22. If Scala and GraphQL have such similar
type systems
Why do we have to redefine it ?
23. Derivation Macro
We can use derivation macros with implicits
import sangria.macros.derive._
implicit val ReviewType: ObjectType[Unit, Review] = deriveObjectType[Unit, Review]()
implicit val ActorType: ObjectType[Unit, Actor] = deriveObjectType[Unit, Actor]()
implicit val TvShowType: ObjectType[Unit, TvShow] = deriveObjectType[Unit, TvShow]()
// Fonctionne aussi bien avec les Enumeration Scala que les sealed trait + case object
implicit val GenreEnum: EnumType[Genre.Value] = deriveEnumType[Genre.Value]()
implicit val MovieType: ObjectType[VideoContext, Movie] = deriveObjectType[VideoContext, Movie]()
Advantages : Less Code
Inconvenients: Less Flexibility
24. Derivation Object Type
implicit val MovieType: ObjectType[VideoContext, Movie] = deriveObjectType[VideoContext, Movie]()
trait VideoContext {
val id: String
val title: String
val description: Option[String]
val genres: Seq[Genre.Value]
val actors: Seq[Actor]
val rating: Option[Double]
val reviews: Seq[Review]
@GraphQLField
def topActors(top: Int): Seq[Actor] =
actors.sortBy(_.popularity).reverse.take(top)
@GraphQLField
def lastReviews(last: Int): Seq[Review] =
reviews.takeRight(last)
}
case class Movie(id: String,
title: String,
description: Option[String],
genres: Seq[Genre.Value],
actors: Seq[Actor],
rating: Option[Double],
reviews: Seq[Review],
budget: Long,
gross: Seq[Long]
) extends VideoContext {
@GraphQLField
def profit(week: Int): Long = gross.take(week - 1).sum - budget
@GraphQLField
def alert: Boolean = gross.sum < 0
}
26. Derivation Enum Type
Scala Enumeration
implicit val GenreEnum = deriveEnumType[Genre.Value]()
object Genre extends Enumeration {
val ACTION = Value
val COMEDY = Value
val HORROR = Value
val ANIMATION = Value
val ADVENTURE = Value
val SCI_FI = Value
}
Sealed trait + case object
implicit val GenreEnumSealed = deriveEnumType[GenreEnum]()
sealed trait GenreEnum
object GenreEnum {
case object ACTION extends GenreEnum
case object COMEDY extends GenreEnum
case object HORROR extends GenreEnum
case object ANIMATION extends GenreEnum
case object ADVENTURE extends GenreEnum
case object SCI_FI extends GenreEnum
}
27. Annotations
@GraphQLField: Specify a def as a Field
@GraphQLDescription: Describe a Field or a Type
@GraphQLDeprecated: Reason why the Field is deprecated
@GraphQLName: To rename a Field
@GraphQLExclude: Exclude a Field, Enum, Argument
28. Annotations
trait Query {
@GraphQLField
@GraphQLDescription("Fetch a specific movie by id")
def movie(id: String): Option[Movie] = movies.find(_.id == id)
@GraphQLField
@GraphQLDescription("Fetch a specific by title")
@GraphQLDeprecated("Please use movie field instead when possible")
def movieByTitle(title: String): Option[Movie] = movies.find(_.title.toLowerCase() == title.toLowerCase)
}
30. Interacting with GraphQL
How to interact with GraphQL ?
3 types of interactions:
● Query: Read-only
● Mutation: Create Update Delete
● Subscription: Real-Time update
○ Streams of data are sent to the subscribed client
A single endpoint /graphql
31. Akka HTTP Server
POST /graphql => JSON
query, variables, operation that we parse with any JSON library
QueryParser.parse(query) match {
case Success(queryAst) ⇒
complete(Executor.execute(
schema = SchemaDefinitionMovie.GraphQLSchema,
queryAst = queryAst,
userContext = new ApplicationContext,
variables = vars,
operationName = operation
).map(OK → _))
case Failure(error) ⇒
complete(BadRequest, JsObject("error" → JsString(error.getMessage)))
}
32. Application Context
// Root context of our application
class ApplicationContext {
object QueryObject extends Query
object MutationObject extends Mutation
}
GraphQL Schema
val QueryType = deriveContextObjectType[ApplicationContext, Query, Unit](_.QueryObject)
val MutationType = deriveContextObjectType[ApplicationContext, Mutation, Unit](_.MutationObject)
val GraphQLSchema = Schema(QueryType, Some(MutationType))
33. Type Query
val QueryType = deriveContextObjectType[ApplicationContext, Query, Unit](_.QueryObject)
@GraphQLDescription("This is our query type to fetch data")
trait Query {
@GraphQLField
@GraphQLDescription("Fetch all movies")
def movies: Vector[Movie] = MovieController.getAllMovies
@GraphQLField
@GraphQLDescription("Fetch a specific movie by id")
def movie(id: String): Option[Movie] = MovieController.getMovieById(id)
@GraphQLField
@GraphQLDescription("Fetch movies by genres")
def getMoviesByGenre(genres: Seq[Genre.Value]): Vector[Movie] = MovieController.getMoviesByGenres(genres)
@GraphQLField
@GraphQLDescription("Fetch a specific by title")
@GraphQLDeprecated("Please use movie field instead when possible")
def movieByTitle(title: String): Option[Movie] = MovieController.getMovieByTitle(title)
}
36. Main difference between Query and Mutation
Because mutation modify a state, it is not possible to run them in parallel.
● Query Fields are run in parallel
● Mutation Fields are run in series
If we send two mutations in our query, they will be run one after the other
39. What kind of client consume GraphQL API
Most of the clients to a GraphQL server are frontend applications.
The GraphQL ecosystem client-side for frontend applications is extremely rich
For Example, Apollo Client which is really mature or Relay Client
40. What about Sangria client-side ?
Principal use cases are for tooling, validation and testing
● graphql macro can be used to validate query syntax at compile time
import sangria.macros._
test("query is valid") {
val query =
graphql"""
query {
movie(id: "001") {
title
description
rating
lastReviews(last: 5) {
author
content
}
}
}
"""
assert(QueryValidator.default.validateQuery(SchemaDefinitionMovie.GraphQLSchema, query) == Vector.empty[Violation])
}
41. What about Sangria client-side ?
● test graphql response for a query
test("query parsed correctly") {
val query =
graphql"""
query {
movie(id: "001") {
title
}
}
"""
assert(executeQuery(query).toString == """{"data":{"movie":{"title":"The Avengers"}}}""")
}
● retrieve graphql schema from sangria schema definition
SchemaRenderer.renderSchema(SchemaDefinitionMovie.GraphQLSchema)
42. Before We Go
When is GraphQL a good alternative to REST for your API ?
● Your API is used by mobile applications and data needs to be reached by the
client even with a bad connection
● You have lots of different clients using your API and can’t customize your API
for each one
● You have a backend team and a frontend team (they can work independently)
43. Rest is still deeply rooted in our habits
But if you have the opportunity, why not use GraphQL
44. Resources
● www.howtographql.com (There is everything to know about GraphQL)
● http://facebook.github.io/graphql/ (Paper about GraphQL)
● http://sangria-graphql.org/learn/ (Sangria Documentation)
● https://github.com/sangria-graphql/sangria-akka-http-example (Boilerplate)