- The document provides an overview of the Apollo ecosystem for building GraphQL applications, including setup examples, tooling, security practices, performance optimization techniques, and testing React components.
- It discusses Apollo Client, Server, and Engine and their usage, as well as concepts like schema design, state management, pagination, file uploads, versioning, and server-side rendering.
- Finally, it briefly mentions new features in Apollo 2.1 and compares Apollo to the Relay framework.
The document describes Apache Hive hooks, which allow intercepting function calls or events during query execution in Hive. It provides details on the different hook points in Hive, including pre-execution, post-execution, and failure hooks. It also explains how to configure hooks by setting hook properties and the jar paths for hook implementations. Finally, it outlines the interfaces and contexts provided to hooks at each stage of query processing in Hive.
This document provides an overview of Flask-SQLAlchemy, which is an extension for Flask that adds support for SQLAlchemy to Flask applications. It covers basics like setting up a Flask-SQLAlchemy application, defining models, and performing CRUD operations. It also discusses more advanced topics like relationships between models, using the ORM vs manual mapping, and using the underlying SQLAlchemy API. The document includes numerous code examples to illustrate the concepts.
Deze presentatie is gegeven tijdens de KScope conferentie 2012
Spreker: Luc Bors
Titel: An ADF Special Report
Onderwerp: Fusion Middleware - Subonderwerp: ADF
Oracle ADF is zeer geschikt voor het bouwen van enterprise applicaties. ADF heeft echter geen ingebouwde oplossingen voor het maken van rapportages. Door het inbouwen van rapportage mogelijkheden is het niet nodig om externe rapportage tooling op te starten. Met één druk op de knop worden de rapportages getoond en krijg je snel inzicht in bedrijfskritische gegevens. In deze sessie leer je hoe je dit kunt oplossen door het gebruik van open source rapportage-tools en tools van Oracle.
Slides from the GTA-PHP meetup about the new features in PHP 7. Slides had corresponding RFC pages linked to them in the speaker notes, but they don't seem to correspond to pages here so I've made the original keynote file available at http://gtaphp.org/presentations/NewInPHP7.zip and a PowerPoint version at http://gtaphp.org/presentations/NewInPHP7.pptx.
This document discusses OGSA-DAI DQP, which provides distributed query processing capabilities. It describes key components like the logical query plan (LQP), operators, optimisers, and query execution. The LQP is generated from a SQL query's abstract syntax tree and optimized before being partitioned and executed across data resources. Extensibility points allow new operators, optimisers, and functions to be introduced.
Oracle ADF is a very powerful framework for building enterprise applications. The framework, however, has no built-in solutions for reporting. In this session, you will learn how to fill this gap by using open source reporting solutions and solutions provided by Oracle.
Slides of my talk I gave @ PyRE.it in ReggioEmilia about developing a Rest Api in Python using a little bit of Flask and SqlAlchemy.
www.pyre.it
www.alessandrocucci.it/pyre/restapi
Laravel is a PHP MVC based framework. It is as easy as codeigniter, yet provides powerful tools needed for large robust application.It is built on top of symphony components and is inspired by many other frameworks including RoR, Asp .net, Sinatra.This session focuses on the basics things needed to start building application on it.
The document describes Apache Hive hooks, which allow intercepting function calls or events during query execution in Hive. It provides details on the different hook points in Hive, including pre-execution, post-execution, and failure hooks. It also explains how to configure hooks by setting hook properties and the jar paths for hook implementations. Finally, it outlines the interfaces and contexts provided to hooks at each stage of query processing in Hive.
This document provides an overview of Flask-SQLAlchemy, which is an extension for Flask that adds support for SQLAlchemy to Flask applications. It covers basics like setting up a Flask-SQLAlchemy application, defining models, and performing CRUD operations. It also discusses more advanced topics like relationships between models, using the ORM vs manual mapping, and using the underlying SQLAlchemy API. The document includes numerous code examples to illustrate the concepts.
Deze presentatie is gegeven tijdens de KScope conferentie 2012
Spreker: Luc Bors
Titel: An ADF Special Report
Onderwerp: Fusion Middleware - Subonderwerp: ADF
Oracle ADF is zeer geschikt voor het bouwen van enterprise applicaties. ADF heeft echter geen ingebouwde oplossingen voor het maken van rapportages. Door het inbouwen van rapportage mogelijkheden is het niet nodig om externe rapportage tooling op te starten. Met één druk op de knop worden de rapportages getoond en krijg je snel inzicht in bedrijfskritische gegevens. In deze sessie leer je hoe je dit kunt oplossen door het gebruik van open source rapportage-tools en tools van Oracle.
Slides from the GTA-PHP meetup about the new features in PHP 7. Slides had corresponding RFC pages linked to them in the speaker notes, but they don't seem to correspond to pages here so I've made the original keynote file available at http://gtaphp.org/presentations/NewInPHP7.zip and a PowerPoint version at http://gtaphp.org/presentations/NewInPHP7.pptx.
This document discusses OGSA-DAI DQP, which provides distributed query processing capabilities. It describes key components like the logical query plan (LQP), operators, optimisers, and query execution. The LQP is generated from a SQL query's abstract syntax tree and optimized before being partitioned and executed across data resources. Extensibility points allow new operators, optimisers, and functions to be introduced.
Oracle ADF is a very powerful framework for building enterprise applications. The framework, however, has no built-in solutions for reporting. In this session, you will learn how to fill this gap by using open source reporting solutions and solutions provided by Oracle.
Slides of my talk I gave @ PyRE.it in ReggioEmilia about developing a Rest Api in Python using a little bit of Flask and SqlAlchemy.
www.pyre.it
www.alessandrocucci.it/pyre/restapi
Laravel is a PHP MVC based framework. It is as easy as codeigniter, yet provides powerful tools needed for large robust application.It is built on top of symphony components and is inspired by many other frameworks including RoR, Asp .net, Sinatra.This session focuses on the basics things needed to start building application on it.
This document discusses unit testing PHP code with PHPUnit. It begins with an introduction to the speaker and then covers why testing is important, how to get started with PHPUnit, writing basic tests for a sample class, using features like data providers and expecting exceptions, and more advanced topics like stubs, mocks and testing databases and Zend Framework applications. The overall message is that testing is crucial for any PHP project and PHPUnit makes it easy to start writing tests.
The document discusses strategies for loading data in JPA, specifically lazy vs eager loading. It provides examples of when each strategy would be preferred, noting that eager loading is generally better for loading a small amount of related data to avoid additional database queries, while lazy loading is preferred when the related data is large or its needed fields are unknown. It also discusses using lazy loading for large objects like blobs and clobs.
This document discusses second-level caching in Java Persistence API (JPA). It begins with an introduction to the speaker's background and experience. The presentation agenda is then outlined, covering why caching is important, the differences between first-level and second-level caches in JPA, JPA configuration parameters and API for caching, and specifics of Hibernate and EclipseLink second-level caching implementations. Examples are provided that demonstrate performance improvements when utilizing caching strategies like fetching relationships, projections, and aggregation queries.
SQLAlchemy is an object-relational mapper (ORM) for Python. It provides patterns for mapping database tables to objects and vice versa. The document discusses several ORM patterns from the book Patterns of Enterprise Application Architecture including:
- Unit of Work pattern which maintains a set of objects to save in a transaction. SQLAlchemy implements this with the Session object.
- Identity Map pattern which avoids duplicate objects for the same database record. SQLAlchemy implements this with its identity map.
- Lazy Load pattern which loads relationships and columns on demand to improve performance. SQLAlchemy uses lazy loading by default.
- Other patterns discussed include foreign key mapping, association table mapping, single/class table inheritance, and how different architectural patterns
The document discusses deploying Firebase Cloud Functions using Firebase CLI commands. It also discusses types for defining Cloud Function interfaces and callable functions. There are examples of managing Algolia indexes using Cloud Functions and security rules for Firestore.
This document contains a quiz on Java programming concepts like NullPointerException, floating point numbers, StringBuffer, inheritance, and stacks. It includes 10 multiple choice questions related to code snippets that demonstrate these concepts, along with explanations of some answers.
The document provides an overview of advanced patterns in Flask including:
1. State management using application and request contexts to bind resources like databases.
2. Resource management using teardown callbacks to commit transactions and release resources.
3. Customizing response creation by passing response objects down a stack or replacing implicit responses.
4. Server-sent events for real-time updates using Redis pub/sub and streaming responses.
5. Separating worker processes for blocking and non-blocking tasks using tools like Gunicorn and Nginx.
6. Signing data with ItsDangerous to generate tokens and validate user activations without a database.
7. Customizing Flask like adding cache bust
PHP 5.3 has many new features that allow very different paradigms of software development, that may be unfamiliar to many PHP developers. If you want to learn more about functional or aspect-oriented programming, or how to organize your PHP libraries according to the new de facto PHP namespacing standard, don't miss this talk.
JAX-RS and CDI Bike the (Reactive) BridgeJosé Paumard
This session explains how JAX-RS and CDI became reactive capable in Java EE 8. We put some new features of JAX-RS 2.1 and CDI 2.0 into perspective and show some reactive patterns to improve your application. Add Java 8 CompletionStage to the mix and this API trio becomes your best bet to easily go reactive without leaving the Java EE train.
This document discusses authentication and linking user accounts in a React Native mobile app using Firebase authentication. It provides code examples for signing in with Facebook credentials, listening for authentication state changes, linking additional credentials to a user account, and handling dynamic links for email verification and sign in.
The document discusses various approaches to generating reports from entity data in JPA, including some anti-patterns to avoid. It provides examples of calculating salary sums by country using the entity model directly and by using projections, joins, and aggregation at the database level. The preferred approach is to leverage database aggregation functions through native SQL queries for reporting rather than heavy object processing in Java.
1. The document discusses tools and techniques for solving performance issues in Python and PostgreSQL systems, including profiling Python code, logging PostgreSQL queries, and optimizing parallel query processing.
2. Key recommendations include reproducing performance issues in a reliable, isolated and repeatable way, and using load testing to prevent issues.
3. Analyzing tools like pg_activity and optimizing settings like max_worker_processes and max_parallel_workers can help improve query speed at the cost of higher CPU usage.
This document describes the implementation of a blog application using the Django web framework. It defines models for categories and posts using Django's model layer. It includes views for listing, detail, and category pages. Templates render the content and extend a base template. URLs are mapped to views. Form and template tags are used to implement a contact page. The application uses Django's admin interface and ORM to manage the database content.
This document provides an overview of setting up a Flask application with common extensions for functionality like user authentication, database management, forms validation, and sending email. It demonstrates initializing extensions like Flask-SQLAlchemy, Flask-Login, Flask-Migrate, Flask-Script, and Flask-Mail. Models and views are defined to handle user registration and login. The Flask application is configured and commands are provided to initialize the database, run migrations, and start a development server.
Python and EM CLI: The Enterprise Management Super ToolsSeth Miller
Release 3 of Enterprise Manager gives the command line interface for EM a distinct advantage by moving the EMCLI functionality into Jython, a Java implementation of the Python programming language.
This session will provide an introduction to Python and give attendees a crash course in the newest version of EMCLI so they can get started using this powerful tool in their environments right away.
Learning Objectives:
-- Evaluate where Python can provide solutions in other aspects of the DBA's responsibility including automating password changes and backups.
-- Understand how to implement and use release 3 of EMCLI. Differentiate between the Jython architecture of release 3 versus earlier versions of EMCLI.
-- Have a basic understanding of and be able to construct simple scripts in Python.
Using MySQL without Maatkit is like taking a photo without removing the camera's lens cap. Professional MySQL experts use this toolkit to help keep complex MySQL installations running smoothly and efficiently. This session will show you practical ways to use Maatkit every day.
Slides from my talk at the GTA-PHP Meetup Group about getting mixed HTML / PHP code into objects using SOLID principles.
Meetup page: http://www.meetup.com/GTA-PHP-User-Group-Toronto/events/230656470/
Code is on github: https://github.com/zymsys/solid
Oracle Application Express (APEX) is shipped with several JavaScript libraries, jQuery being the best known one of them. And on top of these libraries the APEX Development Team created their own. You probably used a couple of these API's already, like $s, $v etc.
But there are way more and some of them are extremely useful. But first you have to be aware they exists. And secondly you have to know how to use the properly.
This session will cover the most valuable JavaScript API's with some real world examples.
Most developers stick to the standard $s and $v functions - even without knowing there is also a $v2 and $s can have more parameters.
The focus will be on the namespaced apex API's, like apex.server.process and apex.event.trigger.
How and why i roll my own node.js frameworkBen Lin
1) The document discusses the author's experience building their own node.js web framework, including their background with other technologies like Ruby on Rails.
2) It describes the key features of their framework, such as MVC structure, middleware support, asset packaging, and command line tools.
3) The author explains that they rolled their own framework to learn more about how frameworks work, have more control over the technology stack, and because node.js performance is better than Ruby on Rails. They emphasize that building the framework was a fun learning experience.
The document discusses several web application vulnerabilities:
1) HTTP Verb Tampering involves exploiting errors in access control for HTTP methods like PUT and DELETE. An example is bypassing authentication by changing the HTTP verb.
2) Fragmented SQL Injections occur when user input is not properly sanitized in SQL queries. Special characters can be used to terminate query strings and inject unauthorized commands.
3) HTTP Parameter Pollution exploits differences in how web servers and applications handle duplicate parameter names. This can allow overriding intended parameter values.
This document discusses unit testing PHP code with PHPUnit. It begins with an introduction to the speaker and then covers why testing is important, how to get started with PHPUnit, writing basic tests for a sample class, using features like data providers and expecting exceptions, and more advanced topics like stubs, mocks and testing databases and Zend Framework applications. The overall message is that testing is crucial for any PHP project and PHPUnit makes it easy to start writing tests.
The document discusses strategies for loading data in JPA, specifically lazy vs eager loading. It provides examples of when each strategy would be preferred, noting that eager loading is generally better for loading a small amount of related data to avoid additional database queries, while lazy loading is preferred when the related data is large or its needed fields are unknown. It also discusses using lazy loading for large objects like blobs and clobs.
This document discusses second-level caching in Java Persistence API (JPA). It begins with an introduction to the speaker's background and experience. The presentation agenda is then outlined, covering why caching is important, the differences between first-level and second-level caches in JPA, JPA configuration parameters and API for caching, and specifics of Hibernate and EclipseLink second-level caching implementations. Examples are provided that demonstrate performance improvements when utilizing caching strategies like fetching relationships, projections, and aggregation queries.
SQLAlchemy is an object-relational mapper (ORM) for Python. It provides patterns for mapping database tables to objects and vice versa. The document discusses several ORM patterns from the book Patterns of Enterprise Application Architecture including:
- Unit of Work pattern which maintains a set of objects to save in a transaction. SQLAlchemy implements this with the Session object.
- Identity Map pattern which avoids duplicate objects for the same database record. SQLAlchemy implements this with its identity map.
- Lazy Load pattern which loads relationships and columns on demand to improve performance. SQLAlchemy uses lazy loading by default.
- Other patterns discussed include foreign key mapping, association table mapping, single/class table inheritance, and how different architectural patterns
The document discusses deploying Firebase Cloud Functions using Firebase CLI commands. It also discusses types for defining Cloud Function interfaces and callable functions. There are examples of managing Algolia indexes using Cloud Functions and security rules for Firestore.
This document contains a quiz on Java programming concepts like NullPointerException, floating point numbers, StringBuffer, inheritance, and stacks. It includes 10 multiple choice questions related to code snippets that demonstrate these concepts, along with explanations of some answers.
The document provides an overview of advanced patterns in Flask including:
1. State management using application and request contexts to bind resources like databases.
2. Resource management using teardown callbacks to commit transactions and release resources.
3. Customizing response creation by passing response objects down a stack or replacing implicit responses.
4. Server-sent events for real-time updates using Redis pub/sub and streaming responses.
5. Separating worker processes for blocking and non-blocking tasks using tools like Gunicorn and Nginx.
6. Signing data with ItsDangerous to generate tokens and validate user activations without a database.
7. Customizing Flask like adding cache bust
PHP 5.3 has many new features that allow very different paradigms of software development, that may be unfamiliar to many PHP developers. If you want to learn more about functional or aspect-oriented programming, or how to organize your PHP libraries according to the new de facto PHP namespacing standard, don't miss this talk.
JAX-RS and CDI Bike the (Reactive) BridgeJosé Paumard
This session explains how JAX-RS and CDI became reactive capable in Java EE 8. We put some new features of JAX-RS 2.1 and CDI 2.0 into perspective and show some reactive patterns to improve your application. Add Java 8 CompletionStage to the mix and this API trio becomes your best bet to easily go reactive without leaving the Java EE train.
This document discusses authentication and linking user accounts in a React Native mobile app using Firebase authentication. It provides code examples for signing in with Facebook credentials, listening for authentication state changes, linking additional credentials to a user account, and handling dynamic links for email verification and sign in.
The document discusses various approaches to generating reports from entity data in JPA, including some anti-patterns to avoid. It provides examples of calculating salary sums by country using the entity model directly and by using projections, joins, and aggregation at the database level. The preferred approach is to leverage database aggregation functions through native SQL queries for reporting rather than heavy object processing in Java.
1. The document discusses tools and techniques for solving performance issues in Python and PostgreSQL systems, including profiling Python code, logging PostgreSQL queries, and optimizing parallel query processing.
2. Key recommendations include reproducing performance issues in a reliable, isolated and repeatable way, and using load testing to prevent issues.
3. Analyzing tools like pg_activity and optimizing settings like max_worker_processes and max_parallel_workers can help improve query speed at the cost of higher CPU usage.
This document describes the implementation of a blog application using the Django web framework. It defines models for categories and posts using Django's model layer. It includes views for listing, detail, and category pages. Templates render the content and extend a base template. URLs are mapped to views. Form and template tags are used to implement a contact page. The application uses Django's admin interface and ORM to manage the database content.
This document provides an overview of setting up a Flask application with common extensions for functionality like user authentication, database management, forms validation, and sending email. It demonstrates initializing extensions like Flask-SQLAlchemy, Flask-Login, Flask-Migrate, Flask-Script, and Flask-Mail. Models and views are defined to handle user registration and login. The Flask application is configured and commands are provided to initialize the database, run migrations, and start a development server.
Python and EM CLI: The Enterprise Management Super ToolsSeth Miller
Release 3 of Enterprise Manager gives the command line interface for EM a distinct advantage by moving the EMCLI functionality into Jython, a Java implementation of the Python programming language.
This session will provide an introduction to Python and give attendees a crash course in the newest version of EMCLI so they can get started using this powerful tool in their environments right away.
Learning Objectives:
-- Evaluate where Python can provide solutions in other aspects of the DBA's responsibility including automating password changes and backups.
-- Understand how to implement and use release 3 of EMCLI. Differentiate between the Jython architecture of release 3 versus earlier versions of EMCLI.
-- Have a basic understanding of and be able to construct simple scripts in Python.
Using MySQL without Maatkit is like taking a photo without removing the camera's lens cap. Professional MySQL experts use this toolkit to help keep complex MySQL installations running smoothly and efficiently. This session will show you practical ways to use Maatkit every day.
Slides from my talk at the GTA-PHP Meetup Group about getting mixed HTML / PHP code into objects using SOLID principles.
Meetup page: http://www.meetup.com/GTA-PHP-User-Group-Toronto/events/230656470/
Code is on github: https://github.com/zymsys/solid
Oracle Application Express (APEX) is shipped with several JavaScript libraries, jQuery being the best known one of them. And on top of these libraries the APEX Development Team created their own. You probably used a couple of these API's already, like $s, $v etc.
But there are way more and some of them are extremely useful. But first you have to be aware they exists. And secondly you have to know how to use the properly.
This session will cover the most valuable JavaScript API's with some real world examples.
Most developers stick to the standard $s and $v functions - even without knowing there is also a $v2 and $s can have more parameters.
The focus will be on the namespaced apex API's, like apex.server.process and apex.event.trigger.
How and why i roll my own node.js frameworkBen Lin
1) The document discusses the author's experience building their own node.js web framework, including their background with other technologies like Ruby on Rails.
2) It describes the key features of their framework, such as MVC structure, middleware support, asset packaging, and command line tools.
3) The author explains that they rolled their own framework to learn more about how frameworks work, have more control over the technology stack, and because node.js performance is better than Ruby on Rails. They emphasize that building the framework was a fun learning experience.
The document discusses several web application vulnerabilities:
1) HTTP Verb Tampering involves exploiting errors in access control for HTTP methods like PUT and DELETE. An example is bypassing authentication by changing the HTTP verb.
2) Fragmented SQL Injections occur when user input is not properly sanitized in SQL queries. Special characters can be used to terminate query strings and inject unauthorized commands.
3) HTTP Parameter Pollution exploits differences in how web servers and applications handle duplicate parameter names. This can allow overriding intended parameter values.
This document discusses Infrastructure as Code (IaC) principles and practices. It describes how a software company implemented IaC to automate their infrastructure provisioning and application deployments using Kubernetes and Google Cloud Platform. They used Ansible playbooks to define and build their infrastructure and container images. Kubernetes configuration files standardized across environments allow for fast, idempotent deployments. Continuous integration tests changes at each stage from unit testing to integration testing after deployments. This implementation of IaC provides many wins including easily reproducible, consistent systems and improved deployment processes.
IR Journal (itscholar.codegency.co.in).pdfRahulRoy130127
The document contains code for a MapReduce program to count the occurrences of each alphabetic character in a dataset in a case-insensitive manner. It provides steps to install Java, Eclipse, Hadoop, and configure core-site.xml, hdfs-site.xml, mapred.xml and yarn.xml files. The MapReduce program will map each character to a key-value pair with the character as key and count as value. These will then be reduced to get the total count per character.
Using Reason's type inference we can create GraphQL servers with 100% type coverage. Regardless if we compile to Node.js or native binaries using Reason we can do this with ease.
Besides that Reason shines even more so on the client. Send one quick introspection request and you get full auto completion on your schema right in the browser.
Spring Boot is a framework for building stand-alone, production-grade Spring based Applications that can be "just run". It takes an opinionated view of the Spring platform and third-party libraries so developers can get started with minimum fuss. Some key features include an embedded HTTP server and automatic configuration support. Spring Boot applications can be started using Java -jar or executed using Gradle/Maven and can be packaged as an executable jar or war file for deployment. The document also discusses using Spring Boot with databases, profiles, Spring Data, GORM, views and some miscellaneous topics.
A re introduction to webpack - reactfoo - mumbaiPraveen Puglia
I gave a talk at ReactFoo Mumbai about the history of how we arrived at the module bundlers we have today, specifically webpack. We walked through a live coding demo where I built a working webpack configuration for a working Vue application and then talked about the future of webpack.
Presentation to the MIT IAP HTML5 Game Development Class on Debugging and Optimizing Javascript, Local storage, Offline Storage and Server side Javascript with Node.js
Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes. It is written in Java and uses a pluggable backend. Presto is fast due to code generation and runtime compilation techniques. It provides a library and framework for building distributed services and fast Java collections. Plugins allow Presto to connect to different data sources like Hive, Cassandra, MongoDB and more.
Play 2.0 is a web framework for Java and Scala that is designed to be productive, asynchronous, and reactive. Some key features include being full stack, high-productive, asynchronous and reactive, stateless, HTTP-centric, typesafe, scalable, and open source. Play 2.0 aims to be fun and fast to develop with by enabling features like hot code reloading, browser error reporting, and easy deployment to platforms like Heroku. It also focuses on being asynchronous and reactive through support for WebSockets, Comet, HTTP streaming responses, and composable streams.
Thrift and PasteScript are frameworks for building distributed applications and services. Thrift allows defining data types and interfaces using a simple definition language that can generate code in multiple languages. It uses a compact binary protocol for efficient RPC-style communication between clients and servers. PasteScript builds on WSGI and provides tools like paster for deploying and managing Python web applications, along with reloading and logging capabilities. It integrates with Thrift via server runners and application factories.
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NYPuppet
James Sweeney presents on "PuppetDB: A Single Source for Storing Your Puppet Data" at Puppet User Group NYC.
Video: http://www.youtube.com/watch?v=HTr4b02aU7A
Puppet NYC: http://www.meetup.com/puppetnyc-meetings/
This document discusses the design and development of APIs. It covers topics such as REST APIs, GraphQL, API documentation standards like JSON, HTTP methods, versioning, error handling, and more. The goal is to explain best practices for building well-designed and developed APIs. Diagrams and examples are provided to illustrate concepts like resources, collections, requests and responses, and type systems.
Andrew Betts Web Developer, The Financial Times at Fastly Altitude 2016
Running custom code at the Edge using a standard language is one of the biggest advantages of working with Fastly’s CDN. Andrew gives you a tour of all the problems the Financial Times and Nikkei solve in VCL and how their solutions work.
Micronaut provides out-of-the-box integrations with a lot of tools and third-party libraries: Consul, Eureka, Hibernate, Kafka, Mongo, Micrometer, Zipkin, Hystrix, Swagger,... But sometimes this is not enough and you need to integrate with a new one.
In this talk, we will discuss the different options that we have to create a new configuration for Micronaut: bean factories, conditional beans, configuration properties,... and you will learn how to make the most out of it.
Nach der ersten Version im Mai diesen Jahres ist aus dem Nagios-Fork Icinga ein stabiles Open Source Projekt entstanden, welches hinsichtlich der Core-Buildings, sowie Schaffung einer neuen API und eines neuen Webinterfaces viele Schwerpunkte im Bereich Open Source Monitoring angegangen hat und in diesem Umfeld neue Akzente gesetzt hat.
Der Vortrag zieht nach einem halben Jahr Icinga Bilanz über den aktuellen Stand der Entwicklungen und geht thematisch auf die technischen Schwerpunkte des Projektteams ein. Tiefergehende Vorstellung des Core-Projects inklusive der IDOUtils, sowie des neuen PHP basierenden Webinterfaces werden mit kleinen Beispielen zur Verwendung der API abgerundet.
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010Arun Gupta
The presentation outlines new features in JSF 2.0 including Facelets for better templating and error handling, composite components for reusable UI components, integrated Ajax capabilities, partial state saving for smaller page sizes, view parameters for passing request parameters to managed beans, system events for lifecycle hook points, and resources for images, JavaScript and CSS. It also discusses annotations replacing XML configuration and project stages for development vs production.
This document provides an overview of Catalyst, an elegant Perl MVC framework. It discusses how to install and set up a Catalyst application, including generating the initial application structure. It then explains the MVC pattern and describes the various components - the Model, View and Controller. The document dives into details about dispatching requests to controller actions in Catalyst and describes the context object ($c) that is passed to actions and provides access to request/response objects, configuration, logging and more.
Flask and Angular: An approach to build robust platformsAyush Sharma
AngularJS is a really powerful and extensible Javascript library that can be used for all number of applications. The team that up with Flask and you've got a great power and maintainability.
Build the Next Generation of Apps with the Einstein 1 Platform.
Rejoignez Philippe Ozil pour une session de workshops qui vous guidera à travers les détails de la plateforme Einstein 1, l'importance des données pour la création d'applications d'intelligence artificielle et les différents outils et technologies que Salesforce propose pour vous apporter tous les bénéfices de l'IA.
Discover the latest insights on Data Driven Maintenance with our comprehensive webinar presentation. Learn about traditional maintenance challenges, the right approach to utilizing data, and the benefits of adopting a Data Driven Maintenance strategy. Explore real-world examples, industry best practices, and innovative solutions like FMECA and the D3M model. This presentation, led by expert Jules Oudmans, is essential for asset owners looking to optimize their maintenance processes and leverage digital technologies for improved efficiency and performance. Download now to stay ahead in the evolving maintenance landscape.
Mechatronics is a multidisciplinary field that refers to the skill sets needed in the contemporary, advanced automated manufacturing industry. At the intersection of mechanics, electronics, and computing, mechatronics specialists create simpler, smarter systems. Mechatronics is an essential foundation for the expected growth in automation and manufacturing.
Mechatronics deals with robotics, control systems, and electro-mechanical systems.
Height and depth gauge linear metrology.pdfq30122000
Height gauges may also be used to measure the height of an object by using the underside of the scriber as the datum. The datum may be permanently fixed or the height gauge may have provision to adjust the scale, this is done by sliding the scale vertically along the body of the height gauge by turning a fine feed screw at the top of the gauge; then with the scriber set to the same level as the base, the scale can be matched to it. This adjustment allows different scribers or probes to be used, as well as adjusting for any errors in a damaged or resharpened probe.
Digital Twins Computer Networking Paper Presentation.pptxaryanpankaj78
A Digital Twin in computer networking is a virtual representation of a physical network, used to simulate, analyze, and optimize network performance and reliability. It leverages real-time data to enhance network management, predict issues, and improve decision-making processes.
Accident detection system project report.pdfKamal Acharya
The Rapid growth of technology and infrastructure has made our lives easier. The
advent of technology has also increased the traffic hazards and the road accidents take place
frequently which causes huge loss of life and property because of the poor emergency facilities.
Many lives could have been saved if emergency service could get accident information and
reach in time. Our project will provide an optimum solution to this draw back. A piezo electric
sensor can be used as a crash or rollover detector of the vehicle during and after a crash. With
signals from a piezo electric sensor, a severe accident can be recognized. According to this
project when a vehicle meets with an accident immediately piezo electric sensor will detect the
signal or if a car rolls over. Then with the help of GSM module and GPS module, the location
will be sent to the emergency contact. Then after conforming the location necessary action will
be taken. If the person meets with a small accident or if there is no serious threat to anyone’s
life, then the alert message can be terminated by the driver by a switch provided in order to
avoid wasting the valuable time of the medical rescue team.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELijaia
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
Blood finder application project report (1).pdfKamal Acharya
Blood Finder is an emergency time app where a user can search for the blood banks as
well as the registered blood donors around Mumbai. This application also provide an
opportunity for the user of this application to become a registered donor for this user have
to enroll for the donor request from the application itself. If the admin wish to make user
a registered donor, with some of the formalities with the organization it can be done.
Specialization of this application is that the user will not have to register on sign-in for
searching the blood banks and blood donors it can be just done by installing the
application to the mobile.
The purpose of making this application is to save the user’s time for searching blood of
needed blood group during the time of the emergency.
This is an android application developed in Java and XML with the connectivity of
SQLite database. This application will provide most of basic functionality required for an
emergency time application. All the details of Blood banks and Blood donors are stored
in the database i.e. SQLite.
This application allowed the user to get all the information regarding blood banks and
blood donors such as Name, Number, Address, Blood Group, rather than searching it on
the different websites and wasting the precious time. This application is effective and
user friendly.
5. - INTERNAL USE ONLY -
Apollo Platform
• Apollo Client (ApolloClient, Query/Mutation/Subscription)
• Apollo Server (ApolloServer, makeExecutableSchema)
• Apollo Engine $$$ (express app gateway)
5
6. - INTERNAL USE ONLY -
Apollo consumers
• The NY Times
• Airbnb
• Express (ecommerce retailer)
• Major League Soccer
• Expo
• KLM
• Adform!
6
8. - INTERNAL USE ONLY -
Apollo Server
8
# schema.graphql
type DealResponse {
count: Int
results: [Deal]
}
type Deal {
id: String
name: String
}
type Query {
deals(
text: String
): DealResponse
}
9. - INTERNAL USE ONLY -
Apollo Server
9
import { makeExecutableSchema, addMockFunctionsToSchema } from 'graphql-tools';
import fs from 'fs';
const schemaDefinition = fs.readFileSync('./src/schema/schemaDefinition.gql', 'utf8');
const executableSchema = makeExecutableSchema({
typeDefs: schemaDefinition
});
addMockFunctionsToSchema({
schema: executableSchema
});
export default executableSchema;
10. - INTERNAL USE ONLY -
Apollo Server
10
app.post(
['/schema', '/graphql'],
bodyParser.json(),
(req, res, next) => {setTimeout(next, 500)},
graphqlExpress({
schema: executableSchema,
tracing: false,
graphiql: true
})
);
11. - INTERNAL USE ONLY -
Apollo Engine
11
const engine = new ApolloEngine({
apiKey: 'API_KEY_HERE'
});
// Call engine.listen instead of app.listen(port)
engine.listen({
port: 3000,
expressApp: app,
});
12. - INTERNAL USE ONLY -
Apollo Client
12
import ApolloClient from "apollo-boost";
const ConnectedApp = () => {
const client = new ApolloClient({
uri: "https://w5xlvm3vzz.lp.gql.zone/graphql"
});
return (
<ApolloProvider client={client}>
<App />
</ApolloProvider>
)
};
13. - INTERNAL USE ONLY -
Apollo Client
13
client
.query({
query: gql`
{
rates(currency: "USD") {
currency
}
}
`
})
.then(result => console.log(result));
14. - INTERNAL USE ONLY -
Apollo Query*
14
const GET_DOGS = gql`
{
dogs {
id
breed
}
}
`;
const Dogs = props => (
<Query query={GET_DOGS}>
{({ loading, error, data }) => {
// ...
}}
</Query>
);
18. - INTERNAL USE ONLY -
Security. Schema introspection
“For security, Apollo Server introspection is automatically
disabled when the NODE_ENV is set to production or
testing”
18
19. - INTERNAL USE ONLY -
Security. Injection
No:
deals(filters="limit=1") {
count
}
Yes:
deals(limit=1) {
count
}
• Doesn’t help with string parameters:
19
20. - INTERNAL USE ONLY -
Security. DoS
query evil {
album(id: 42) {
songs {
album {
songs {
album {
songs {
album {
songs {
album {
songs {
album {
songs {
album {
# and so on...
}
}
}
}
}
}
}
}
}
}
}
}
}
}
20
21. - INTERNAL USE ONLY -
Security. DoS
As usual +
- Operation safe-listing
- Complexity limits: simple and advanced
21
22. - INTERNAL USE ONLY -
Security. DoS
Max Stoiber Advanced security
22
24. - INTERNAL USE ONLY -
Versioning
• No API versions (well, you can actually)
• Field usage (Apollo Engine schema history)
• Field rollover (resolver alias + @deprecated)
- Provide developers with the helpful deprecation
message referring them to the new name.
- Avoid auto-completing the field.
• Changing arguments (no good ideas, use field rollover).
24
27. - INTERNAL USE ONLY -
Versioning. @deprecated
type Query {
user(id: ID!): User @deprecated(reason: "renamed to 'getUser'")
getUser(id: ID!): User
}
27
42. - INTERNAL USE ONLY -
Pagination
const isFirstPage = networkStatus !== APOLLO_NETWORK_STATUSES.FETCH_MORE;
…
return {
...
/**
* `() => refetch()` is *mandatory* in order to prevent event handlers from passing arguments
such as *event*
* to *Apollo* `refetch` function as it treats arguments as variables for GraphQL queries.
* Otherwise, it would lead to errors in `JSON.parse(...)` when trying to parse circular data.
*/
refetch: () => refetch(),
};
42
43. - INTERNAL USE ONLY -
Pagination
export const APOLLO_NETWORK_STATUSES = {
FETCH_MORE: NetworkStatus.fetchMore,
/**
* networkStatus === ERROR *only* when http status is bad (e.g. 4xx, 5xx)
* however usually you want to handle also errors in resolvers, e.g.
* http status is 200 but response contains `errors` property.
* Consider using Boolean(data.error) instead of (data.networkStatus === ERROR)
*/
ERROR: NetworkStatus.error,
};
43
44. - INTERNAL USE ONLY -
Pagination. More pitfalls
• 1.x: fetchMore doesn’t trigger rerender on error
44
47. - INTERNAL USE ONLY -
Schema design
“Design by client needs”
47
48. - INTERNAL USE ONLY -
Schema design
• Use interfaces
• Use QueryResponse
• Use MutationResponse
• Use input types
• Use your clients style convention (GQL is flexible)
48
49. - INTERNAL USE ONLY -
Schema design. QueryResponse
type DealResponse {
availableCount: Int
count: Int
results: [Deal]
}
type Query {
deals(
text: String,
...
): DealResponse
}
49
50. - INTERNAL USE ONLY -
Schema design. MutationResponse
type LikePostMutationResponse implements MutationResponse {
code: String!
success: Boolean!
message: String!
post: Post
user: User
}
50
51. - INTERNAL USE ONLY -
Schema design. Input types
input PostAndMediaInput {
"A main title for the post"
title: String
"The textual body of the post."
body: String
"A list of URLs to render in the post."
mediaUrls: [String]
}
51
53. - INTERNAL USE ONLY -
ACL
Available options:
• Delegate to REST API
• Authorization via context
• Authorization via directives
53
54. - INTERNAL USE ONLY -
ACL. Authorization via context
context: ({ req }) => {
const token = req.headers.authentication || '';
const user = getUser(token);
if (!user) throw new AuthorizationError('you must be logged in');
return { user };
},
54
55. - INTERNAL USE ONLY -
ACL. Authorization via context
users: (root, args, context) => {
// In this case, we'll pretend there is no data when
// we're not logged in. Another option would be to
// throw an error.
if (!context.user) return [];
return ['bob', 'jake'];
}
55
56. - INTERNAL USE ONLY -
ACL. Authorization via directives
directive @auth(requires: Role = ADMIN) on OBJECT | FIELD_DEFINITION
enum Role {
ADMIN
REVIEWER
USER
}
type User @auth(requires: USER) {
name: String
banned: Boolean @auth(requires: ADMIN)
canPost: Boolean @auth(requires: REVIEWER)
}
56
58. - INTERNAL USE ONLY -
State management
Since Apollo Client supports managing both local and
remote data, you can use the Apollo cache as a single
source of truth for all global state in your application.
58
59. - INTERNAL USE ONLY -
State management
apollo-link-state
const client = new ApolloClient({
uri: `https://nx9zvp49q7.lp.gql.zone/graphql`,
clientState: {
defaults,
resolvers,
typeDefs
}
});
59
60. - INTERNAL USE ONLY -
State management. Defaults
initialState → defaults
60
61. - INTERNAL USE ONLY -
State management. Resolvers
export const resolvers = {
Mutation: {
toggleTodo: (_, variables, { cache, getCacheKey }) => {
const id = getCacheKey({ __typename: 'TodoItem', id: variables.id })
const fragment = gql`
fragment completeTodo on TodoItem {
completed
}
`;
const todo = cache.readFragment({ fragment, id });
const data = { ...todo, completed: !todo.completed };
cache.writeData({ id, data });
return null;
61
62. - INTERNAL USE ONLY -
State management. Query
{
todos @client {
id
completed
text
}
visibilityFilter @client
}
62
65. - INTERNAL USE ONLY -
Performance
Optimization points:
• Do not send full query to server
• Cache read requests
• Cache entities on client
• Prefetch entities
• Batch requests
65
66. - INTERNAL USE ONLY -
Performance. Automatic Persisted Queries
66
67. - INTERNAL USE ONLY -
Performance. Automatic Persisted Queries
curl -g
'http://localhost:9011/graphql?extensions={"persistedQuery":{"version":1,"sha256Hash":"
ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38"}}'
67
68. - INTERNAL USE ONLY -
Performance. Automatic Persisted Queries
Client: apollo-link-persisted-queries
Server:
const server = new ApolloServer({
typeDefs,
resolvers,
persistedQueries: {
cache: new InMemoryCache(),
},
});
68
69. - INTERNAL USE ONLY -
Performance. CDN integration
createPersistedQueryLink({ useGETForHashedQueries: true })
___
type Author @cacheControl(maxAge: 60) {
id: Int
firstName: String
lastName: String
posts: [Post] @cacheControl(maxAge: 180)
}
69
70. - INTERNAL USE ONLY -
Performance. Client caching
• Data is normalized and cached by default
• Update mutation updates cached automagically
• Create mutation requires manual cache writes
70
74. - INTERNAL USE ONLY -
Performance. Batch requests
import { BatchHttpLink } from "apollo-link-batch-http";
const link = new BatchHttpLink({ uri: "/graphql" });
74
83. - INTERNAL USE ONLY -
Server-side rendering
function Html({ content, state }) {
return (
<html>
<body>
<div id="root" dangerouslySetInnerHTML={{ __html: content }} />
<script dangerouslySetInnerHTML={{
__html: `window.__APOLLO_STATE__=${JSON.stringify(state).replace(/</g,
'u003c')};`,
}} />
</body>
</html>
);
}
83
84. - INTERNAL USE ONLY -
Server-side rendering. Avoid network calls
const client = new ApolloClient({
ssrMode: true,
link: new SchemaLink({ schema }),
cache: new InMemoryCache(),
});
84
85. - INTERNAL USE ONLY -
Server-side rendering. Skipping queries
const ClientOnlyUser = () => (
<Query query={GET_USER_WITH_ID} ssr={false}>
{({ data }) => <span>I won't be run on the server</span>}
</Query>
);
85
86. - INTERNAL USE ONLY -
Server-side rendering. Rehydration
const client = new ApolloClient({
cache: new InMemoryCache().restore(window.__APOLLO_STATE__),
link,
});
86
90. - INTERNAL USE ONLY -
Relay
https://open.nytimes.com/the-new-york-times-now-on-apollo-
b9a78a5038c
“Relay takes a “bring your own solution” approach to this
problem. In Apollo, SSR is a first-class feature. This is huge
for us.”
90