GraphQL meets Elixir provides an introduction to using GraphQL in Elixir and Vue.js projects. It discusses what GraphQL is and how it allows applications to talk to backend services as if they were a database. It then demonstrates setting up a GraphQL schema and types in Absinthe, defining queries and mutations, implementing object types and input types, adding authorization middleware, and checking permissions in resolvers.
Performant APIs with GraphQL and PHP (Dutch PHP 2019)Andrew Rota
This document summarizes an presentation about building performant APIs with GraphQL and PHP. The presentation introduces GraphQL concepts like queries, fields, arguments, variables, types and schemas. It discusses how GraphQL can help address challenges with traditional REST APIs like over-fetching or under-fetching data. The document also provides an overview of building a GraphQL server in PHP using the webonyx/graphql-php library and implementing resolvers to fetch data and return object types.
by Richard Threlkeld, Sr. Product Manager, AWS
Most applications are data-driven and our app is no exception to that. However, mobile development has some unique problems to be solved. In this session, we’ll introduce you to GraphQL – the latest in mobile-centric data access protocols – and show you how GraphQL can help with these problems.
Integrating React.js Into a PHP Application: Dutch PHP 2019Andrew Rota
This document discusses integrating React.js into a PHP application. It provides an overview of React.js and its benefits for building user interfaces. It then covers different approaches to server-side rendering (SSR) with React in a PHP application, including using the V8Js PHP extension to run JavaScript, making requests from PHP to a Node.js service, and making requests from Node.js to PHP. It emphasizes that React.js and PHP can complement each other and discusses frameworks like Next.js that support SSR. The key takeaways are that React.js can enhance PHP applications, there are different SSR architectures to integrate them, and giving React.js a try can help modernize app views.
This document discusses building powerful enterprise applications with Angular and TypeScript. It provides an overview of key concepts in Angular including modules, components, templates, directives, services, routing and data binding. It also covers TypeScript features such as static type checking, transpiling to JavaScript, and advantages for productivity and managing large codebases. The document demonstrates how Angular and TypeScript can be used together to build robust single page applications.
With the rise of Microservice Architectures and rich mobile and web applications, APIs are more important than ever. Come learn how to tackle modern API design challenges with GraphQL, an open-source API query language used by Facebook, Amazon, Microsoft, Twitter, Virgin Trains, and more.
At Off Grid Electric our mission is to power homes across rural Africa with affordable, solar energy. In order to do that we need to provide our employees with tools that work both on and offline. So how did we do it? In this talk, learn about the techniques we employed to provide a unique online-offline experience in our Android applications. We’ll discuss the overall architecture, third party libraries used, and some of the challenges that we faced. As more and more users come online in various parts of the world it makes sense for companies to begin exploring how they can modify their applications to be more network-friendly. This talk will get you headed in the right direction!
GraphQL meets Elixir provides an introduction to using GraphQL in Elixir and Vue.js projects. It discusses what GraphQL is and how it allows applications to talk to backend services as if they were a database. It then demonstrates setting up a GraphQL schema and types in Absinthe, defining queries and mutations, implementing object types and input types, adding authorization middleware, and checking permissions in resolvers.
Performant APIs with GraphQL and PHP (Dutch PHP 2019)Andrew Rota
This document summarizes an presentation about building performant APIs with GraphQL and PHP. The presentation introduces GraphQL concepts like queries, fields, arguments, variables, types and schemas. It discusses how GraphQL can help address challenges with traditional REST APIs like over-fetching or under-fetching data. The document also provides an overview of building a GraphQL server in PHP using the webonyx/graphql-php library and implementing resolvers to fetch data and return object types.
by Richard Threlkeld, Sr. Product Manager, AWS
Most applications are data-driven and our app is no exception to that. However, mobile development has some unique problems to be solved. In this session, we’ll introduce you to GraphQL – the latest in mobile-centric data access protocols – and show you how GraphQL can help with these problems.
Integrating React.js Into a PHP Application: Dutch PHP 2019Andrew Rota
This document discusses integrating React.js into a PHP application. It provides an overview of React.js and its benefits for building user interfaces. It then covers different approaches to server-side rendering (SSR) with React in a PHP application, including using the V8Js PHP extension to run JavaScript, making requests from PHP to a Node.js service, and making requests from Node.js to PHP. It emphasizes that React.js and PHP can complement each other and discusses frameworks like Next.js that support SSR. The key takeaways are that React.js can enhance PHP applications, there are different SSR architectures to integrate them, and giving React.js a try can help modernize app views.
This document discusses building powerful enterprise applications with Angular and TypeScript. It provides an overview of key concepts in Angular including modules, components, templates, directives, services, routing and data binding. It also covers TypeScript features such as static type checking, transpiling to JavaScript, and advantages for productivity and managing large codebases. The document demonstrates how Angular and TypeScript can be used together to build robust single page applications.
With the rise of Microservice Architectures and rich mobile and web applications, APIs are more important than ever. Come learn how to tackle modern API design challenges with GraphQL, an open-source API query language used by Facebook, Amazon, Microsoft, Twitter, Virgin Trains, and more.
At Off Grid Electric our mission is to power homes across rural Africa with affordable, solar energy. In order to do that we need to provide our employees with tools that work both on and offline. So how did we do it? In this talk, learn about the techniques we employed to provide a unique online-offline experience in our Android applications. We’ll discuss the overall architecture, third party libraries used, and some of the challenges that we faced. As more and more users come online in various parts of the world it makes sense for companies to begin exploring how they can modify their applications to be more network-friendly. This talk will get you headed in the right direction!
This document discusses GraphQL and its advantages over traditional REST APIs. It summarizes how GraphQL works, including defining object types and fields, writing queries and mutations, and implementing GraphQL with the graphql-php library. It also covers challenges like the N+1 problem and solutions like deferred resolvers. Overall the document provides an introduction to GraphQL concepts and how it can be used to build APIs.
GraphQL is a query language for APIs and a runtime for fulfilling those queries. It gives clients the power to ask for exactly what they need, which makes it a great fit for modern web and mobile apps. In this talk, we explain why GraphQL was created, introduce you to the syntax and behavior, and then show how to use it to build powerful APIs for your data. We will also introduce you to AWS AppSync, a GraphQL-powered serverless backend for apps, which you can use to host GraphQL APIs and also add real-time and offline capabilities to your web and mobile apps. You can follow along if you have an AWS account – no GraphQL experience required!
Level: Beginner
Speaker: Rohan Deshpande - Sr. Software Dev Engineer, AWS Mobile Applications
Tutorial: Building a GraphQL API in PHPAndrew Rota
This document discusses building a GraphQL API in PHP. It provides an overview of GraphQL concepts like queries, fields, types and schemas. It then outlines the steps to build a GraphQL API in PHP using the graphql-php library:
1. Define object types and the Query root type in the schema
2. Initialize the GraphQL schema instance
3. Execute GraphQL queries against the schema and return the result
By following these steps, one can build an API for querying a database of PHP conferences and speakers to understand how to build GraphQL APIs in PHP.
The document discusses building composite applications using AWS Step Functions to orchestrate functions. It provides examples of using Step Functions to sequence Lambda functions for a photo sharing application that extracts metadata, recognizes images, generates thumbnails, and stores data. It covers the different state types available in Step Functions like tasks, choices, parallel branches. It also discusses integrating Step Functions with other AWS services and processing input/output between states.
The battle of Protractor and Cypress - RunIT Conference 2019Ludmila Nesvitiy
The document compares the testing frameworks Protractor and Cypress. It discusses their installation, onboarding, configuration, APIs, parallelization capabilities, debugging techniques, supported test types including API, unit and e2e tests. It also covers project size, performance when run on Chrome visible and headless modes, support for multiple platforms and various reporting options. Useful links are also provided for references.
This document discusses building a GraphQL API in PHP. It introduces GraphQL concepts like queries, fields, arguments, types and schemas. It covers implementing GraphQL on both the client and server side. On the client, queries are made to request data from a GraphQL server. On the server, the schema defines query structure and resolver functions return data. Tools like introspection, GraphiQL and Voyager enable exploration and debugging of GraphQL APIs.
The document discusses different types of NoSQL databases including key-value stores, document stores, column-based stores, and graph stores. It provides examples of databases for each type. The document also discusses different approaches to blending SQL and NoSQL databases by manually connecting the databases, using DataMapper to simplify the connection, or choosing the appropriate database based on the data needs. It emphasizes not being afraid to use different database types together to best suit an application's requirements.
Agile Data (http://git.io/ad) is my new open-source framework that fills the growing gap between ORM and Raw SQL queries. In this presentation I explain why have I started Agile Data project and how can it enable PHP developer to generate more sophisticated queries when they need them.
This document provides an overview of AngularJS including:
- What AngularJS is and its features such as directives, filters, data binding, views, controllers and scope
- How it can be used to build single page applications (SPAs)
- Key directives like ng-app, ng-bind, and ng-model
- How to use filters, iterate with ng-repeat, and bind data
- The roles of views, controllers and scopes in AngularJS
- How to create controllers within modules and use factories
- How to create custom directives
- The differences between values, services, factories and providers
- How $watch and $watchCollection work
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at WirexNETFest
Я розповім про еволюцію фіча тоглів у компанії та наш досвід їх використання. Пройдемось покроково в їх розвитку:
Від файлу конфігурації зі звичайним kill-switch для ввімкнення меінтенансу, який вмикав/вимикав доступ до сервісів одразу всім користувачам. До гнучкої системи з набору правил з пріоритетами з гранулярністю від країни, штату до окремого користувача.
Від редагування через базу даних до панелі адміністратора та автоматизованих змін залежно від подій в системі.
А також розповім про actions - комбінацію фіча тоглів та правил бізнес-логіки для динамічного інтерфейсу клієнтів на основі доступних дій користувачу.
This document discusses moving away from an ActiveRecord pattern to using events and CQRS architecture. It describes capturing all changes as a sequence of events stored in an event store. Events are raised by domain models and handled asynchronously. Reads and writes are separated, with denormalized data stored in a read database. This allows for simpler domain models focused on objects and events rather than data access. Code examples demonstrate raising domain events, handling commands, and updating read models from stored events.
Using AI for Providing Insights and Recommendations on Activity Data Alexis R...Databricks
In the customer age, being able to extract relevant communications information in real-time and cross reference it with context is key. Learn how Salesforce Inbox is using data science and engineering to enable salespeople to monitor their emails in real-time and surface insights and recommendations.
Salesforce is developing Einstein, an artificial intelligence capability built into the core of the Salesforce Platform. Einstein helps power the world’s smartest CRM to deliver advanced AI capabilities to sales, services, and marketing teams – allowing them to discover new insights, predict likely outcomes to power smarter decision making, recommend next steps, and automate workflows so users can focus on building meaningful relationships with every customer.
Find out how Salesforce Einstein Inbox combines activity data, such as emails, with contextual and CRM data to provide real-time insights and recommended actions. Learn about use cases, architecture, and how a variety of technologies including data engineering, data science, graph processing, NLP, machine learning and deep learning are combined together to support the application.
This session will include an interactive demo where you’ll get to see the associated code using notebooks running Spark.
Domain Driven Design and Hexagonal Architecture with RailsDeclan Whelan
You know that Domain Driven Design, Hexagonal Architecture, and the Single Responsibility Principle are important but it’s hard to know how to best apply them to Rails applications. Following the path of least-resistance will get you in trouble. In this session you will learn a way out of the “fat model, skinny controller” hell. You will leave with a roadmap to guide your design based on concepts from Domain Driven Design and Hexagonal Architecture.
EdgeWorkers enables concurrent development on Akamai configurations by:
- Allowing edge logic to be expressed through JavaScript functions that can control request and response behavior
- Providing APIs to access properties of requests, responses, devices and user locations
- Supporting the ability for each part of a site to have its own EdgeWorker that is independently updated
The document discusses the architecture of an iOS application using reactive programming principles. It outlines the common layers of an application including the transport, service, model, view model and view layers. It then shows how each layer can be implemented using the ReactiveCocoa framework by turning components into signals and streams that can be combined, transformed and manipulated. Key concepts discussed include actions, signals, signal producers, operators like map and flatMap, and presenting values to the view layer.
The University of Illinois Research Park provides space and resources to support technology commercialization and startup companies. It houses over 90 companies and 1400 employees. Key resources include the EnterpriseWorks startup incubator, which has supported over 145 startups, raising over $526 million in funding. The Research Park also offers office and lab space, funding assistance, student interns, equipment access, and business support programs to help startups launch and grow. As a result, it has become a vibrant innovation community and major economic engine for the state of Illinois.
This document discusses GraphQL, a query language for APIs and a runtime for fulfilling queries with existing data. It provides examples of basic queries, nested fields, connections, arguments, and fragments. It also covers GraphQL types including scalars, schemas, definitions, predicates, and data resolution. GraphQL allows clients to define the structure of the data required, and specifies querying, modifying, and transmitting data between client and server.
GraphQL is a data query and manipulation language that provides a single endpoint for fetching data from multiple sources. It allows clients to define their own data requirements and exposes data through a single schema. Some key benefits include fewer roundtrips to the server and allowing UI components to describe their own data dependencies. Apollo Client is commonly used with GraphQL and works well with Redux. It provides features like caching, refetching, and loading states. Development tools include Apollo devtools, GraphiQL, and ESLint plugins. Best practices include creating interfaces for pagination, handling authorization, error handling, and partial responses.
Relay is a JavaScript library developed by Facebook that provides a framework for fetching and managing data for React applications. It uses GraphQL to allow clients to request specific data from an API in a declarative way. Relay handles data fetching, caching, normalization of responses, and passing the data as props to React components. Some key aspects of Relay include its use of containers to fetch data and translate GraphQL responses to JSON, its separation of remote and local data storage, and its composable architecture. While Relay speeds up development and keeps applications flexible, it also has some limitations as an early-stage project such as lack of documentation and examples for some use cases.
This document introduces GraphQL and Relay. It discusses how GraphQL addresses issues with REST APIs like overfetching and nested resources. It provides examples of GraphQL queries, mutations, and connections. It also explains key aspects of Relay like object identification, connections, and mutations with client mutation IDs. Finally, it outlines setting up a simplified todo app with GraphQL and Relay.
This document discusses GraphQL and its advantages over traditional REST APIs. It summarizes how GraphQL works, including defining object types and fields, writing queries and mutations, and implementing GraphQL with the graphql-php library. It also covers challenges like the N+1 problem and solutions like deferred resolvers. Overall the document provides an introduction to GraphQL concepts and how it can be used to build APIs.
GraphQL is a query language for APIs and a runtime for fulfilling those queries. It gives clients the power to ask for exactly what they need, which makes it a great fit for modern web and mobile apps. In this talk, we explain why GraphQL was created, introduce you to the syntax and behavior, and then show how to use it to build powerful APIs for your data. We will also introduce you to AWS AppSync, a GraphQL-powered serverless backend for apps, which you can use to host GraphQL APIs and also add real-time and offline capabilities to your web and mobile apps. You can follow along if you have an AWS account – no GraphQL experience required!
Level: Beginner
Speaker: Rohan Deshpande - Sr. Software Dev Engineer, AWS Mobile Applications
Tutorial: Building a GraphQL API in PHPAndrew Rota
This document discusses building a GraphQL API in PHP. It provides an overview of GraphQL concepts like queries, fields, types and schemas. It then outlines the steps to build a GraphQL API in PHP using the graphql-php library:
1. Define object types and the Query root type in the schema
2. Initialize the GraphQL schema instance
3. Execute GraphQL queries against the schema and return the result
By following these steps, one can build an API for querying a database of PHP conferences and speakers to understand how to build GraphQL APIs in PHP.
The document discusses building composite applications using AWS Step Functions to orchestrate functions. It provides examples of using Step Functions to sequence Lambda functions for a photo sharing application that extracts metadata, recognizes images, generates thumbnails, and stores data. It covers the different state types available in Step Functions like tasks, choices, parallel branches. It also discusses integrating Step Functions with other AWS services and processing input/output between states.
The battle of Protractor and Cypress - RunIT Conference 2019Ludmila Nesvitiy
The document compares the testing frameworks Protractor and Cypress. It discusses their installation, onboarding, configuration, APIs, parallelization capabilities, debugging techniques, supported test types including API, unit and e2e tests. It also covers project size, performance when run on Chrome visible and headless modes, support for multiple platforms and various reporting options. Useful links are also provided for references.
This document discusses building a GraphQL API in PHP. It introduces GraphQL concepts like queries, fields, arguments, types and schemas. It covers implementing GraphQL on both the client and server side. On the client, queries are made to request data from a GraphQL server. On the server, the schema defines query structure and resolver functions return data. Tools like introspection, GraphiQL and Voyager enable exploration and debugging of GraphQL APIs.
The document discusses different types of NoSQL databases including key-value stores, document stores, column-based stores, and graph stores. It provides examples of databases for each type. The document also discusses different approaches to blending SQL and NoSQL databases by manually connecting the databases, using DataMapper to simplify the connection, or choosing the appropriate database based on the data needs. It emphasizes not being afraid to use different database types together to best suit an application's requirements.
Agile Data (http://git.io/ad) is my new open-source framework that fills the growing gap between ORM and Raw SQL queries. In this presentation I explain why have I started Agile Data project and how can it enable PHP developer to generate more sophisticated queries when they need them.
This document provides an overview of AngularJS including:
- What AngularJS is and its features such as directives, filters, data binding, views, controllers and scope
- How it can be used to build single page applications (SPAs)
- Key directives like ng-app, ng-bind, and ng-model
- How to use filters, iterate with ng-repeat, and bind data
- The roles of views, controllers and scopes in AngularJS
- How to create controllers within modules and use factories
- How to create custom directives
- The differences between values, services, factories and providers
- How $watch and $watchCollection work
.NET Fest 2019. Сергій Бута. Feature Toggles: Dynamic Configuration at WirexNETFest
Я розповім про еволюцію фіча тоглів у компанії та наш досвід їх використання. Пройдемось покроково в їх розвитку:
Від файлу конфігурації зі звичайним kill-switch для ввімкнення меінтенансу, який вмикав/вимикав доступ до сервісів одразу всім користувачам. До гнучкої системи з набору правил з пріоритетами з гранулярністю від країни, штату до окремого користувача.
Від редагування через базу даних до панелі адміністратора та автоматизованих змін залежно від подій в системі.
А також розповім про actions - комбінацію фіча тоглів та правил бізнес-логіки для динамічного інтерфейсу клієнтів на основі доступних дій користувачу.
This document discusses moving away from an ActiveRecord pattern to using events and CQRS architecture. It describes capturing all changes as a sequence of events stored in an event store. Events are raised by domain models and handled asynchronously. Reads and writes are separated, with denormalized data stored in a read database. This allows for simpler domain models focused on objects and events rather than data access. Code examples demonstrate raising domain events, handling commands, and updating read models from stored events.
Using AI for Providing Insights and Recommendations on Activity Data Alexis R...Databricks
In the customer age, being able to extract relevant communications information in real-time and cross reference it with context is key. Learn how Salesforce Inbox is using data science and engineering to enable salespeople to monitor their emails in real-time and surface insights and recommendations.
Salesforce is developing Einstein, an artificial intelligence capability built into the core of the Salesforce Platform. Einstein helps power the world’s smartest CRM to deliver advanced AI capabilities to sales, services, and marketing teams – allowing them to discover new insights, predict likely outcomes to power smarter decision making, recommend next steps, and automate workflows so users can focus on building meaningful relationships with every customer.
Find out how Salesforce Einstein Inbox combines activity data, such as emails, with contextual and CRM data to provide real-time insights and recommended actions. Learn about use cases, architecture, and how a variety of technologies including data engineering, data science, graph processing, NLP, machine learning and deep learning are combined together to support the application.
This session will include an interactive demo where you’ll get to see the associated code using notebooks running Spark.
Domain Driven Design and Hexagonal Architecture with RailsDeclan Whelan
You know that Domain Driven Design, Hexagonal Architecture, and the Single Responsibility Principle are important but it’s hard to know how to best apply them to Rails applications. Following the path of least-resistance will get you in trouble. In this session you will learn a way out of the “fat model, skinny controller” hell. You will leave with a roadmap to guide your design based on concepts from Domain Driven Design and Hexagonal Architecture.
EdgeWorkers enables concurrent development on Akamai configurations by:
- Allowing edge logic to be expressed through JavaScript functions that can control request and response behavior
- Providing APIs to access properties of requests, responses, devices and user locations
- Supporting the ability for each part of a site to have its own EdgeWorker that is independently updated
The document discusses the architecture of an iOS application using reactive programming principles. It outlines the common layers of an application including the transport, service, model, view model and view layers. It then shows how each layer can be implemented using the ReactiveCocoa framework by turning components into signals and streams that can be combined, transformed and manipulated. Key concepts discussed include actions, signals, signal producers, operators like map and flatMap, and presenting values to the view layer.
The University of Illinois Research Park provides space and resources to support technology commercialization and startup companies. It houses over 90 companies and 1400 employees. Key resources include the EnterpriseWorks startup incubator, which has supported over 145 startups, raising over $526 million in funding. The Research Park also offers office and lab space, funding assistance, student interns, equipment access, and business support programs to help startups launch and grow. As a result, it has become a vibrant innovation community and major economic engine for the state of Illinois.
This document discusses GraphQL, a query language for APIs and a runtime for fulfilling queries with existing data. It provides examples of basic queries, nested fields, connections, arguments, and fragments. It also covers GraphQL types including scalars, schemas, definitions, predicates, and data resolution. GraphQL allows clients to define the structure of the data required, and specifies querying, modifying, and transmitting data between client and server.
GraphQL is a data query and manipulation language that provides a single endpoint for fetching data from multiple sources. It allows clients to define their own data requirements and exposes data through a single schema. Some key benefits include fewer roundtrips to the server and allowing UI components to describe their own data dependencies. Apollo Client is commonly used with GraphQL and works well with Redux. It provides features like caching, refetching, and loading states. Development tools include Apollo devtools, GraphiQL, and ESLint plugins. Best practices include creating interfaces for pagination, handling authorization, error handling, and partial responses.
Relay is a JavaScript library developed by Facebook that provides a framework for fetching and managing data for React applications. It uses GraphQL to allow clients to request specific data from an API in a declarative way. Relay handles data fetching, caching, normalization of responses, and passing the data as props to React components. Some key aspects of Relay include its use of containers to fetch data and translate GraphQL responses to JSON, its separation of remote and local data storage, and its composable architecture. While Relay speeds up development and keeps applications flexible, it also has some limitations as an early-stage project such as lack of documentation and examples for some use cases.
This document introduces GraphQL and Relay. It discusses how GraphQL addresses issues with REST APIs like overfetching and nested resources. It provides examples of GraphQL queries, mutations, and connections. It also explains key aspects of Relay like object identification, connections, and mutations with client mutation IDs. Finally, it outlines setting up a simplified todo app with GraphQL and Relay.
The document discusses using inversion of control (IoC) and dependency injection (DI) to decouple classes and make them more flexible and testable in PHP. It provides an example of refactoring an authenticator class to depend on a user repository interface rather than a concrete class. This decreases coupling and allows different repositories to be injected. It then discusses using a service container to further abstract object creation and injection of dependencies defined through code or configuration.
1) The document discusses how GraphQL provides more power and flexibility to API clients compared to REST by allowing clients to specify exactly what fields they need in a query and receive all the requested data in a single response.
2) With GraphQL, the client can decide which fields to include for an object like a product, and the server returns only the requested data rather than an entire predefined object structure.
3) GraphQL also supports features like schema introspection, which allows clients to discover what fields are available, and makes API evolution easier by allowing fields to be added without breaking existing queries.
This document discusses migrating a REST API to a GraphQL API. It covers some of the benefits of GraphQL like getting exactly what is needed from the client side, having a rich type system, and being transport agnostic. It provides examples of defining GraphQL types based on a JSON schema and making requests using those types. It also mentions some tools that can help with building and debugging a GraphQL API as well as some precautions to keep in mind during development.
Max Panas (Web Developer @Agile Actors) and Stelios Charbalis (Software Engineer @Agile Actors) present GraphQL and how it compares to traditional REST API design at GreeceJS Meetup #14 (Athens, June 15, 2016).
Talk given at Swift Summit 2016, in San Francisco CA by Sommer Panage. Discusses how GraphQL is beneficial to mobile apps and how it can interface with Swift via up-and-coming code generation.
London React August - GraphQL at The Financial Times - Viktor CharyparReact London Community
Recently released by Facebook, GraphQL isn't only useful for client-server communication. Viktor will show how Red Badger used the reference implementation - graphql-js - at the Financial Times as a generic data presentation layer over a set of backend APIs and how to deal with related requirements like caching or authorisation.
GraphQL is an application layer query language developed by Facebook that allows clients to define queries for retrieving multiple resources from an API in a single request. It uses a type system and schema to define the data and operations available. GraphQL aims to solve issues with REST APIs like over-fetching and under-fetching data by allowing clients to specify exactly what data they need.
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
This document discusses using CoffeeScript, Backbone.js, and Jasmine BDD to build single page web applications. It begins by explaining why CoffeeScript is useful for cleaning up JavaScript code and avoiding errors. It then discusses how Backbone.js provides structure for single page apps by defining models, collections, views and routers. It notes that Backbone works well with CoffeeScript. Finally, it mentions that Jasmine BDD can be used for writing professional tests.
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)Brian Sam-Bodden
Server-side browser push technologies have been around for a while in one way or another, ranging from from crude browser polling to Flash enabled frameworks. In this session you’ll get a code-driven walk-through on the evolution and mechanics of server-push technologies, including:
Server streaming
Polling and long Polling
Comet
Web Sockets
Managing GraphQL servers with AWS Fargate & Prisma CloudNikolas Burk
The document discusses managing GraphQL servers with AWS Fargate and Prisma Cloud. It begins with introductions to GraphQL and the core mechanics of a GraphQL server, including the schema, resolver functions, and setup. It then demonstrates building GraphQL servers with Prisma, and managing them using AWS Fargate and the Prisma Cloud service, which provides workflows for server management. Live demonstrations are included.
Node.js: scalability tips - Azure Dev Community VijayawadaLuciano Mammino
You finally built that amazing start-up idea you had in mind for years and you did it using Node.js! That's Great! You just launched it on Hacker News and you are very happy and proud... but now more and more people are using it and you start to have a nasty fear that Node.js won't scale because you now... it's single-threaded! Is your project doomed now? Do you have to invest your time on rewriting it in something like C++ or maybe Rust or even Go? You'd rather invest your time on adding valuable features for your users rather than learning a new language and rewriting everything from scratch, but what if nothing works anymore? And... by the way, what the heck "single-threaded" really means?! Fear no more, dear fellow developer! In this talk, we will discuss the architecture of Node.js going through its strengths and its weaknesses. We will then talk about scalability and I will share some valuable tips and tricks to make your Node.js app scale! Spoiler alert: you probably won't need Go or Rust :)
The document discusses API wrappers and why developers create them. Some key points:
- API wrappers provide idiomatic and Ruby-like access to APIs for Ruby developers rather than using raw HTTP requests.
- Wrappers can abstract away a complex API to simplify usage and provide a business domain model.
- Popular Ruby libraries for creating wrappers include HTTParty, RestClient, Weary, and Faraday. These handle HTTP requests and parsing responses.
- Middleware like Hashie and MultiJSON can be used to further Ruby-ify responses.
- Wrappers insulate code from potential API changes and leverage API documentation.
The document discusses data models in Angular 1 and 2. It covers existing solutions for network requests and data access layers, including $http, $resource, and libraries like Restangular. It emphasizes that the data access layer should be separated from controllers and handle data transformation and caching. Other topics include working offline, binding data to scopes, and the goals for data handling in Angular 2, such as less boilerplate and supporting existing libraries.
The document discusses GraphQL as an alternative to REST APIs. It begins by describing some common issues with REST APIs, such as over-fetching and under-fetching data. It then introduces GraphQL as a query language that allows clients to get precisely the data they need in a single request. Key benefits of GraphQL include no breaking changes, no over-fetching or under-fetching, and being transport agnostic. The document also covers GraphQL concepts like schemas, queries, mutations, and errors. It provides examples of how problems like rate limiting and error handling are approached differently in GraphQL compared to REST. In the end, it acknowledges that GraphQL has a learning curve but can help solve real problems for
The document describes the Backbone.js framework and how it can be used to build single page applications. It explains the core components of Backbone - Models, Collections, Views and Routers. It provides examples of initializing a Backbone application, defining models and collections, creating views to render data, and setting up routes and navigation. It also covers events, templating, and best practices for structuring Backbone code into separate JavaScript files for models, collections, views etc.
Presented at djangocon 2011. Covers best practices for designing/ building RESTful APIs. Discusses the enhanced version of django-piston used by PBS Education.
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...Codemotion
The way that banner is rendered is really bland. That animation performance is lackluster to say the least. Maybe you're still unsatisfied with grid. CSS has always suffered from a slow-paced evolution but it's probably coming to an end. Houdini is a project that aims to expose the internals of CSS engines to developers, in order to create new and performant ways to extend CSS. We'll see the current state-of-the-art and some neat examples, to conclude with a glance to what the future holds for us.
The document provides an overview of GraphQL and GraphQL clients. It discusses:
- The evolution of APIs from RESTful to GraphQL, which provides a more efficient way to query complex data.
- How GraphQL uses a single endpoint and allows clients to specify exactly the data they need through queries.
- Basic GraphQL queries, including selecting fields, nested fields, arguments, variables, fragments, and mutations.
- GraphQL type definitions that serve as documentation.
- GraphQL clients like Relay that optimize data fetching and caching.
- Tools like GraphiQL that allow testing GraphQL queries in an interactive environment.
This document summarizes the new features and changes in version 0.7 of the Socket.IO library. Key updates include a complete API rewrite, support for multiple processes, a new messaging protocol with flags for different message types, acknowledgments between client and server, namespacing to allow multiplexing, handshake support for sessions, shared code modules between client and server, and testing on both the client and server. The release of version 0.7 is planned for this week.
This document discusses accelerated CSS techniques using tools like CSS frameworks, JavaScript, and CSS preprocessors. It introduces concepts like nested rules, variables, mixins, extends, imports, and powerful functions in CSS preprocessors that allow generating complex CSS from simpler code. CSS frameworks like Blueprint and modules for CSS3 properties are demonstrated. Image sprites are also mentioned briefly.
GraphQL - when REST API is not enough - lessons learnedMarcinStachniuk
This document discusses lessons learned from implementing GraphQL APIs. It begins by describing some limitations of REST APIs, such as requiring multiple roundtrips to fetch nested data. GraphQL is introduced as an alternative that allows clients to specify exactly what data they need in a single request. The document then covers various GraphQL concepts like queries, mutations, and type systems. It also discusses best practices like using a schema-first approach, pagination support, and the DataLoader library to solve the N+1 problem. Testing GraphQL APIs and integrating with Relay are also briefly outlined. The overall message is that GraphQL is a good alternative to REST when clients have complex data needs.
Python Code Camp (Professionals) is a whole day workshop that aims to enable professionals to learn Python Basics and Django.
Visit: http://devcon.ph/events/python-code-camp-professionals-2016
The document discusses different techniques for animating elements with CSS and JavaScript, including CSS transitions, CSS animations, and jQuery animations. It provides code examples for defining CSS animations and keyframes, as well as JavaScript code for triggering animations by setting style properties and handling events. The document also outlines some issues to consider with animations like replayability, vendor prefixes, performance, and browser support.
Tomer Elmalem - GraphQL APIs: REST in Peace - Codemotion Milan 2017Codemotion
This talk will introduce attendees to GraphQL and then dive into the intricacies of how we built the API. It’ll cover end-to-end the flow we provide to our developers and some of the specific considerations we took when making it a public API: * solving the N+1 data retrieval problem and query planning * structuring models for optimal data retrieval * when to use GraphQL This talk will also cover some of the specifics of hooking GraphQL into a service-oriented architecture, how it’s built into our infrastructure, and the advantages you gain by having GraphQL interface with your services.
SDKs, the good the bad the ugly - Japantristansokol
The document describes Square's API specification and development process. It begins with the API specification, which is defined using OpenAPI/Swagger format. Template folders contain code templates for different programming languages. Code generation tools like Swagger Codegen transform the API specification and templates into client libraries for various languages like PHP, Ruby, Python, Java and C#. This allows Square to define the API once and generate client code for many languages.
Leveraging the Power of Graph Databases in PHPJeremy Kendall
This document provides an overview of leveraging graph databases in PHP. It begins with an introduction to graph databases and their data model. It then discusses Neo4j, a popular graph database, and its query language Cypher. The document demonstrates connecting to Neo4j from PHP, creating and querying nodes and relationships, and provides an example of modeling content like a news feed as a graph using the LASTPOST and NEXTPOST relationships to link content in order.
Neue smarte Medien für hörbeeinträchtigte Menschen / Workshop v. Jo Spelbrink...Zensations GmbH
Die rasante Dynamik der neuen Medien in den letzten Jahren bietet für gehörlose und schwerhörige Menschen immer mehr Chancen, vor allem durch die Möglichkeiten von bewegten Bildern (Videos).
Jo Spelbrink über ein anderes Verständnis von Barrierefreiheit und wie dies als eine neue Ressource verstanden werden kann, wie man sie bisher noch nicht zu denken vermochte. Allein die veränderte Mediennutzung durch das Smartphone stellt Gewohnheiten auf den Kopf und beeinflusst die Wahrnehmung der persönlichen Wirklichkeit.
Inhalte:
• Accessibility und Usability - wo stehen wir, was hat sich in den
letzten Jahren hinsichtlich des digitalen Informationsangebotes
verändert?
• Soziale Medien: Beispiele, Trends und Anwendungsfälle
• Tipps und Tricks, wie man Smartphone/Tablet und Computer an die Bedürfnisse hörbeeinträchtigter Menschen anpasst
• Die „Must-haves“ unter den Apps und Video-Diensten (digitale
Gebärdensprachangebote, Bildtelefonie sinnvoll einsetzen)
• Kommunikation zwischen hörenden und hörbeeinträchtigten Menschen
• Praxisbeispiele und -anwendung
Markdown vs. WYSIWYG - Stop using the web like a word document Zensations GmbH
This document compares Markdown and WYSIWYG editors. Markdown uses simple plain text formatting for writing web content while WYSIWYG is better for printable documents. WYSIWYG editors often have issues with image positioning, breaks, and design control. Markdown provides consistent markup across devices and allows for semantic, accessible content creation even when multiple people are working together. The document encourages learning more about Markdown.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
4. ‣ Requires multiple round trips for fetching complex object graphs
‣ Over fetching — As the model grows, so does the payload
‣ High potential for breaking API changes
‣ Structure of the response dictated by the server
‣ Potentially a huge amount of different endpoints and thus complexity
‣ No formal specification resulting in various other shortcomings
PROBLEMS WITH REST
6. Multiple round trips
When fetching complex, relational data structures: In
order to descent further into the object graph,
multiple round trips to the server are required.
7.
8. Over fetching
Unless specifically designed for a given purpose, you
often have to deal with needlessly large and bloated
responses.
9.
10. Compatibility and versioning
By changing your model you are very likely to break
your APIs. API versioning can mitigate that potential
damage at the cost of exponentially increasing
complexity.
11. Endpoints galore
Attempting to circumvent the aforementioned
problems often leads to a huge amount of bespoke/
ad-hoc endpoints. This, in turn, inevitably increases
the complexity of your application.
12. Your API is usually
composed of a
spectrum of different
interpretations of REST
13. No formal specification
No prescribed pattern for deprecation.
No standardized introspection functionality.
…
19. What is GraphQL?
GraphQL is a query language designed to build client
applications by providing an intuitive and flexible
syntax and system for describing their data
requirements and interactions.
20. IT IS NOT A QUERY
LANGUAGE FOR A
GRAPH DATABASE