Why and how MongoDB is a perfect match for building your next RESTful Web API. Presented at: NoSQL Day 2013 (Udine, Italy), MongoTorino 2013 (Turin, Italy), A Morning With MongoDB (Milan).
This document discusses using MongoDB as the database for a RESTful web API. Some key points:
- MongoDB's schema-less and JSON-like data structure makes it a natural fit for storing and retrieving JSON data from a REST API. The document formats can be directly mapped to and from the database.
- Common CRUD operations like getting, inserting, updating and deleting documents can be easily implemented with MongoDB's simple API. Queries can be expressed in JSON format.
- MongoDB is lightweight, allows flexible schemas, and has fast performance for common operations needed in a REST API backed by a database.
- The document uses examples of how a hypothetical REST API for a "contacts" resource might work,
Introducing the Eve REST API Framework.
FOSDEM 2014, Brussels
PyCon Sweden 2014, Stockholm
PyCon Italy 2014, Florence
Python Meetup, Helsinki
EuroPython 2014, Berlin
Building Your First Application with MongoDBMongoDB
- MongoDB is a document database where documents (equivalent to JSON objects) are stored in collections rather than rows in tables.
- It is horizontally scalable, supports rich queries, and works with many programming languages through official drivers.
- To build a simple blog application, documents like users, posts, and comments can be directly inserted into their respective collections without needing to define a schema first. Properties like embedded documents and arrays allow flexible modeling of relationships.
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...Codemotion
The document discusses RESTful web services and the Eve framework for building them. It provides an overview of key Eve features like setting up a basic API, connecting to MongoDB, adding validation rules, embedding resources, pagination, filtering, sorting, rate limiting, file storage, and ensuring data integrity. The presentation also covers more advanced topics such as geo-spatial support, authentication, and using Eve with other data stores like SQL and Elasticsearch.
Presentation on various definitions for JSON including JSON-RPC, JSPON, JSON Schema, JSONP and tools for working these definitions including Persevere client and server..
The document discusses MongoDB and the Mongoid ORM for Ruby. It provides examples of using Mongoid to define MongoDB document schemas and associations, perform queries, and leverage features like validation, versioning, and aggregation. Overall, the document shows how Mongoid allows developers to interact with MongoDB documents in a similar way to ActiveRecord while taking advantage of MongoDB's flexible document data model.
This document discusses using Flask and Eve to build a REST API with Python in 3 days. It introduces Flask as a microframework for building web applications with Python. Eve is presented as a Python framework built on Flask that allows building RESTful APIs with MongoDB in a simple way. The document provides examples of creating basic Flask and Eve apps, configuring Eve settings like schemas and authentication, and describes many features of Eve like filtering, sorting, pagination and validation.
This document discusses using MongoDB and Mongoid with Ruby on Rails. It covers why MongoDB was chosen, how to set up Mongoid, different types of relationships and queries, and testing. Embedded and referenced relationships are described. Versioning, indexing and other features like callbacks are demonstrated. Hosting options like Heroku, MongoHQ and MongoLab are also mentioned.
Building Beautiful REST APIs in ASP.NET CoreStormpath
Core 1.0 is the latest iteration of ASP.NET. What’s changed? Everything! Nate Barbettini, .NET Developer Evangelist at Stormpath, does a deep dive on how to build RESTful APIs the right way on top of ASP.NET Web API.
The basics of programming native applications on the iPhone and iPod touch. Delivered as a session in Singapore PHP User Group meeting 3-Nov-2009.
Event URL: http://bit.ly/phpsgnov09
Differential Sync and JSON Patch @ SpringOne2GX 2014Brian Cavalier
Craig Walls and I presented a new approach to client-server communication at SpringOne2GX 2014.
Abstract:
The world of client-server has changed. The traditional application of REST is no longer the best fit. We're depolying applications into a world where users expect responsive UIs, on all their devices, even while disconnected. We're deploying into a world where connection latency, mobile radio usage and battery life have become primary concerns.
Differential Synchronization (DS) is an algorithm that syncs data across N parties, even in the face of dropped connections, offline devices, etc. It makes more efficient use of connections by batching and sending only changes, in both directions, from client to server and from server to client. We’ll look at how it can be used with JSON Patch to synchronize application data between clients and servers over HTTP Patch, WebSocket, and STOMP, and how it can be integrated into the Spring ecosystem.
Updates to the java api for json processing for java ee 8Alex Soto
One of the additions of Java EE 7 was the JSON-P specification for processing JSON documents. But JSON-P spec is moving forward and for Java EE 8 it will come with a lot of new features like support for JSON Pointer (RFC6901), JSON Patch (RFC6902) or JSON Merge Patch (RFC7386). But also improvements on performance, Java 8 integration and how to process big JSON data.
The first part of this session presents the JSON Processing API that comes with Java EE 7 to understand the basis for improvements of next version. The second part of the session presents the updates that are coming on the Java API for JSON Processing that they will be added inside Java EE 8.
The document discusses best practices for designing REST APIs, including following the HATEOAS principle where API responses should document available actions and links. It provides examples of building RESTful APIs in ASP.NET Core that represent resources and collections, use HTTP verbs to represent actions, and are discoverable through HATEOAS links in responses. Code samples demonstrate getting single and collections of users with metadata links and building an API root response.
The document discusses different approaches for designing schemas to store data from multiple feeds like network traffic, tweets, and Facebook posts in MongoDB. It analyzes storing the raw data in individual collections for each feed, a single raw collection, and semi-structured collections. Other approaches discussed are using time series or purpose modeling, with examples of fan-on-write and fan-on-read purpose models. The key takeaway is that the schema design should be tailored to the functional and logical usage of the data.
The document discusses various methods for accessing and consuming external data with jQuery including:
1) RESTful web services and consuming REST APIs with jQuery's AJAX methods by making GET and POST requests.
2) Common data formats for APIs like XML, JSON, and RSS and examples of each.
3) Consuming the Twitter REST API with jQuery to get user tweets, post new tweets, and search tweets.
4) Twitter's @Anywhere solution which makes it easy to add Twitter features like follow buttons and tweet widgets to applications.
5) Demonstrating the Facebook JavaScript SDK and APIs for features like login/logout and posting.
MongoDB + Java - Everything you need to know Norberto Leite
Learn everything you need to know to get started building a MongoDB-based app in Java. We'll explore the relationship between MongoDB and various languages on the Java Virtual Machine such as Java, Scala, and Clojure. From there, we'll examine the popular frameworks and integration points between MongoDB and the JVM including Spring Data and object-document mappers like Morphia.
This document provides an overview of CouchDB, a document-oriented database. It describes CouchDB's key features such as storing data as JSON documents with dynamic schemas, providing a RESTful HTTP API, using JavaScript for views and aggregations, and replicating data between databases. It also provides code examples for common operations like creating, retrieving, updating and deleting documents, as well as attaching files. The document recommends libraries for using CouchDB from different programming languages and shares the code for a simple CouchDB library created in an afternoon.
JSON stands for JavaScript Object Notation. JSON objects are used for transferring data between server and client.
JSON Is Not XML.
JSON is a simple, common representation of data.
Describes a Web development technique for creating interactive Web applications using a combination of HTML (or XHTML) and Cascading Style Sheets for presenting information; Document Object Model (DOM).
JavaScript, to dynamically display and interact with the information presented; and the XMLHttpRequest object to interchange and manipulate data asynchronously with the Web server.
It allows for asynchronous communication, Instead of freezing up until the completeness, the browser can communicate with server and continue as normal.
Dev Jumpstart: Build Your First App with MongoDBMongoDB
New to MongoDB? This talk will introduce the philosophy and features of MongoDB. We’ll discuss the benefits of the document-based data model that MongoDB offers by walking through how one can build a simple app to store books. We’ll cover inserting, updating, and querying the database of books. This session will jumpstart your knowledge of MongoDB development, providing you with context for the rest of the day's content.
At Stormpath we spent 18 months researching API design best practices. Join Les Hazlewood, Stormpath CTO and Apache Shiro Chair, as he explains how to design a secure REST API, the right way. He'll also hang out for a live Q&A session at the end.
Sign up for Stormpath: https://api.stormpath.com/register
More from Stormpath: http://www.stormpath.com/blog
Les will cover:
REST + JSON API Design
Base URL design tips
API Security
Versioning for APIs
API Resource Formatting
API Return Values and Content Negotiation
API References (Linking)
API Pagination, Parameters, & Errors
Method Overloading
Resource Expansion and Partial Responses
Error Handling
Multi-tenancy
- REST (Representational State Transfer) uses HTTP requests to transfer representations of resources between clients and servers. The format of the representation is determined by the content-type header and the interaction with the resource is determined by the HTTP verb used.
- The four main HTTP verbs are GET, PUT, DELETE, and POST. GET retrieves a representation of the resource and is safe, while PUT, DELETE, and POST can modify the resource's state in atomic operations.
- Resources are abstract concepts acted upon by HTTP requests, while representations are the actual data transmitted in responses. The representation may or may not accurately reflect the resource's current state.
The document provides guidelines for designing RESTful APIs including using HTTP verbs for CRUD operations, plural nouns for resource collections, associating resources through nested URLs, parameterizing requests through query strings and headers, supporting pagination, versioning APIs through URI paths and headers, and returning error responses with status codes and messages. Key guidelines include designing resources as nouns, using consistent and intuitive URIs, and making APIs self-descriptive through hypermedia as the engine of application state.
MongoDB is a document database that stores data in JSON-like documents. The speaker discusses building a simple blogging application with MongoDB to demonstrate how to define entities, insert and query documents, and embed and reference data between collections. Key features of MongoDB mentioned include flexible schemas, rich queries, and support for many programming languages.
Relational databases are central to web applications, but they have also been the primary source of pain when it comes to scale and performance. Recently, non-relational databases (also referred to as NoSQL) have arrived on the scene. This session explains not only what MongoDB is and how it works, but when and how to gain the most benefit.
The document introduces CouchDB as an open-source document-oriented database that uses a RESTful API and JSON documents, provides scalability through replication and incremental indexing, and is easy to integrate with web applications; it then provides basic instructions on installing and using CouchDB through examples of creating, retrieving, updating, and querying documents. Major companies and projects using CouchDB include Ubuntu One, Mozilla Raindrop, and Lounge.
Build REST APIs like a Jedi with Symfony2Almog Baku
This document discusses building REST APIs. It begins with introductions and then provides an overview of REST including:
- REST is based on HTTP and uses common methods like GET, POST, PUT, DELETE.
- Resources are represented as URIs and can be acted on via HTTP methods rather than function calls.
- Responses use standard HTTP response codes to indicate success or errors.
- Authentication is typically done with tokens rather than cookies to maintain statelessness.
- The Symfony framework is well-suited for building REST APIs in PHP due to its maturity and object-oriented architecture.
Presentation from the Charlotte Android developers meetup on 3/10/2015 at Skookum Digital Works.
One of the most common things done when writing mobile applications is accessing RESTful web-services. This normally requires a lot of boilerplate code, but it doesn’t have to. Retrofit from Square is an Android networking library that takes a lot of pain out of networking code. During the talk we’ll examine Retrofit in-depth and discuss its benefits. We’ll also discuss areas it could improve
Building RESTful Services With Go and MongoDBShiju Varghese
This document outlines how to build RESTful services with Go and MongoDB. It discusses building HTTP servers in Go using the net/http package. It also covers working with MongoDB using the mgo driver, including connecting to MongoDB and querying and accessing collections. Finally, it demonstrates a REST API example with Go and MongoDB that includes modeling data with structs, routing requests with gorilla/mux, and defining handler functions to implement CRUD operations.
Building Beautiful REST APIs in ASP.NET CoreStormpath
Core 1.0 is the latest iteration of ASP.NET. What’s changed? Everything! Nate Barbettini, .NET Developer Evangelist at Stormpath, does a deep dive on how to build RESTful APIs the right way on top of ASP.NET Web API.
The basics of programming native applications on the iPhone and iPod touch. Delivered as a session in Singapore PHP User Group meeting 3-Nov-2009.
Event URL: http://bit.ly/phpsgnov09
Differential Sync and JSON Patch @ SpringOne2GX 2014Brian Cavalier
Craig Walls and I presented a new approach to client-server communication at SpringOne2GX 2014.
Abstract:
The world of client-server has changed. The traditional application of REST is no longer the best fit. We're depolying applications into a world where users expect responsive UIs, on all their devices, even while disconnected. We're deploying into a world where connection latency, mobile radio usage and battery life have become primary concerns.
Differential Synchronization (DS) is an algorithm that syncs data across N parties, even in the face of dropped connections, offline devices, etc. It makes more efficient use of connections by batching and sending only changes, in both directions, from client to server and from server to client. We’ll look at how it can be used with JSON Patch to synchronize application data between clients and servers over HTTP Patch, WebSocket, and STOMP, and how it can be integrated into the Spring ecosystem.
Updates to the java api for json processing for java ee 8Alex Soto
One of the additions of Java EE 7 was the JSON-P specification for processing JSON documents. But JSON-P spec is moving forward and for Java EE 8 it will come with a lot of new features like support for JSON Pointer (RFC6901), JSON Patch (RFC6902) or JSON Merge Patch (RFC7386). But also improvements on performance, Java 8 integration and how to process big JSON data.
The first part of this session presents the JSON Processing API that comes with Java EE 7 to understand the basis for improvements of next version. The second part of the session presents the updates that are coming on the Java API for JSON Processing that they will be added inside Java EE 8.
The document discusses best practices for designing REST APIs, including following the HATEOAS principle where API responses should document available actions and links. It provides examples of building RESTful APIs in ASP.NET Core that represent resources and collections, use HTTP verbs to represent actions, and are discoverable through HATEOAS links in responses. Code samples demonstrate getting single and collections of users with metadata links and building an API root response.
The document discusses different approaches for designing schemas to store data from multiple feeds like network traffic, tweets, and Facebook posts in MongoDB. It analyzes storing the raw data in individual collections for each feed, a single raw collection, and semi-structured collections. Other approaches discussed are using time series or purpose modeling, with examples of fan-on-write and fan-on-read purpose models. The key takeaway is that the schema design should be tailored to the functional and logical usage of the data.
The document discusses various methods for accessing and consuming external data with jQuery including:
1) RESTful web services and consuming REST APIs with jQuery's AJAX methods by making GET and POST requests.
2) Common data formats for APIs like XML, JSON, and RSS and examples of each.
3) Consuming the Twitter REST API with jQuery to get user tweets, post new tweets, and search tweets.
4) Twitter's @Anywhere solution which makes it easy to add Twitter features like follow buttons and tweet widgets to applications.
5) Demonstrating the Facebook JavaScript SDK and APIs for features like login/logout and posting.
MongoDB + Java - Everything you need to know Norberto Leite
Learn everything you need to know to get started building a MongoDB-based app in Java. We'll explore the relationship between MongoDB and various languages on the Java Virtual Machine such as Java, Scala, and Clojure. From there, we'll examine the popular frameworks and integration points between MongoDB and the JVM including Spring Data and object-document mappers like Morphia.
This document provides an overview of CouchDB, a document-oriented database. It describes CouchDB's key features such as storing data as JSON documents with dynamic schemas, providing a RESTful HTTP API, using JavaScript for views and aggregations, and replicating data between databases. It also provides code examples for common operations like creating, retrieving, updating and deleting documents, as well as attaching files. The document recommends libraries for using CouchDB from different programming languages and shares the code for a simple CouchDB library created in an afternoon.
JSON stands for JavaScript Object Notation. JSON objects are used for transferring data between server and client.
JSON Is Not XML.
JSON is a simple, common representation of data.
Describes a Web development technique for creating interactive Web applications using a combination of HTML (or XHTML) and Cascading Style Sheets for presenting information; Document Object Model (DOM).
JavaScript, to dynamically display and interact with the information presented; and the XMLHttpRequest object to interchange and manipulate data asynchronously with the Web server.
It allows for asynchronous communication, Instead of freezing up until the completeness, the browser can communicate with server and continue as normal.
Dev Jumpstart: Build Your First App with MongoDBMongoDB
New to MongoDB? This talk will introduce the philosophy and features of MongoDB. We’ll discuss the benefits of the document-based data model that MongoDB offers by walking through how one can build a simple app to store books. We’ll cover inserting, updating, and querying the database of books. This session will jumpstart your knowledge of MongoDB development, providing you with context for the rest of the day's content.
At Stormpath we spent 18 months researching API design best practices. Join Les Hazlewood, Stormpath CTO and Apache Shiro Chair, as he explains how to design a secure REST API, the right way. He'll also hang out for a live Q&A session at the end.
Sign up for Stormpath: https://api.stormpath.com/register
More from Stormpath: http://www.stormpath.com/blog
Les will cover:
REST + JSON API Design
Base URL design tips
API Security
Versioning for APIs
API Resource Formatting
API Return Values and Content Negotiation
API References (Linking)
API Pagination, Parameters, & Errors
Method Overloading
Resource Expansion and Partial Responses
Error Handling
Multi-tenancy
- REST (Representational State Transfer) uses HTTP requests to transfer representations of resources between clients and servers. The format of the representation is determined by the content-type header and the interaction with the resource is determined by the HTTP verb used.
- The four main HTTP verbs are GET, PUT, DELETE, and POST. GET retrieves a representation of the resource and is safe, while PUT, DELETE, and POST can modify the resource's state in atomic operations.
- Resources are abstract concepts acted upon by HTTP requests, while representations are the actual data transmitted in responses. The representation may or may not accurately reflect the resource's current state.
The document provides guidelines for designing RESTful APIs including using HTTP verbs for CRUD operations, plural nouns for resource collections, associating resources through nested URLs, parameterizing requests through query strings and headers, supporting pagination, versioning APIs through URI paths and headers, and returning error responses with status codes and messages. Key guidelines include designing resources as nouns, using consistent and intuitive URIs, and making APIs self-descriptive through hypermedia as the engine of application state.
MongoDB is a document database that stores data in JSON-like documents. The speaker discusses building a simple blogging application with MongoDB to demonstrate how to define entities, insert and query documents, and embed and reference data between collections. Key features of MongoDB mentioned include flexible schemas, rich queries, and support for many programming languages.
Relational databases are central to web applications, but they have also been the primary source of pain when it comes to scale and performance. Recently, non-relational databases (also referred to as NoSQL) have arrived on the scene. This session explains not only what MongoDB is and how it works, but when and how to gain the most benefit.
The document introduces CouchDB as an open-source document-oriented database that uses a RESTful API and JSON documents, provides scalability through replication and incremental indexing, and is easy to integrate with web applications; it then provides basic instructions on installing and using CouchDB through examples of creating, retrieving, updating, and querying documents. Major companies and projects using CouchDB include Ubuntu One, Mozilla Raindrop, and Lounge.
Build REST APIs like a Jedi with Symfony2Almog Baku
This document discusses building REST APIs. It begins with introductions and then provides an overview of REST including:
- REST is based on HTTP and uses common methods like GET, POST, PUT, DELETE.
- Resources are represented as URIs and can be acted on via HTTP methods rather than function calls.
- Responses use standard HTTP response codes to indicate success or errors.
- Authentication is typically done with tokens rather than cookies to maintain statelessness.
- The Symfony framework is well-suited for building REST APIs in PHP due to its maturity and object-oriented architecture.
Presentation from the Charlotte Android developers meetup on 3/10/2015 at Skookum Digital Works.
One of the most common things done when writing mobile applications is accessing RESTful web-services. This normally requires a lot of boilerplate code, but it doesn’t have to. Retrofit from Square is an Android networking library that takes a lot of pain out of networking code. During the talk we’ll examine Retrofit in-depth and discuss its benefits. We’ll also discuss areas it could improve
Building RESTful Services With Go and MongoDBShiju Varghese
This document outlines how to build RESTful services with Go and MongoDB. It discusses building HTTP servers in Go using the net/http package. It also covers working with MongoDB using the mgo driver, including connecting to MongoDB and querying and accessing collections. Finally, it demonstrates a REST API example with Go and MongoDB that includes modeling data with structs, routing requests with gorilla/mux, and defining handler functions to implement CRUD operations.
Quattro passi tra le nuvole (e non scordate il paracadute)Nicola Iarocci
Le piccole aziende italiane sono pronte ad abbracciare il cloud computing? In questa relazione racconto la mia esperienza nella realizzazione e fornitura di servizi cloud alle small business italiane. Speech tenuto in occasione del Romagna Camp 2011, il 10.9.2011
Ignite Session tenuta il giorno 8 ottobre a Modena in occasione del KnowCamp 2011. Disponibile il filmato su YouTube: http://youtu.be/LsC8Tsvzss8
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.
This document provides an overview of objects and protocols in CPython. Some key points:
- Everything in Python is an object, with a common header including a reference count and pointer to its type. Types are defined by TypeObjects which store metadata like function pointers.
- Protocols like Number, Sequence, Mapping are defined by slots on TypeObjects like tp_as_number and tp_as_sequence. These allow objects to support common operations even if they are different types, through duck typing.
- Magic methods fill in protocol slots, so e.g. a class with a __len__ method will support the len() operation by filling tp_as_sequence->sq_length. This provides a
This document summarizes a hands-on session on the Django web framework. It introduces Django's architecture, installation process, basic usage including templates, models, and the ORM. Key features covered include generating static and dynamic pages, creating and querying database models, and rendering data in templates. The session demonstrates setting up a basic Django project and application with models, views, URLs and templates to display hard-coded and database content.
This document provides a tour of various Python static analysis tools, including PEP8 for style guidelines, PyFlakes for unused names, Pyroma for checking setup.py files, PEP257 for docstring standards, Vulture for unused code, Pylint for code quality and standards, complexity metrics like McCabe and Halstead, maintainability index, Dodgy for security issues, Bandit also for security, Flake8 which wraps other tools, Prospector which runs multiple tools, and pre-commit for running checks before commit. It aims to help users choose the right tools to improve code quality, style, and health.
Introduction to SQLAlchemy and Alembic MigrationsJason Myers
In this talk, we'll examine how to use SQLAlchemy ORM and Core in both simple queries and query builder type applications. Next, we'll explore Alembic database migrations and how we can use them to handle database changes.
Coderfaire Data Networking for DevelopersJason Myers
This document discusses data networking concepts for developers. It provides overviews of firewalls, load balancers, caching, data flow mapping, and application performance monitoring. It explains why understanding these concepts is important for building applications with multi-tier architectures, RESTful APIs, and service-oriented architectures. Specific topics covered include packet filtering, access control lists, network address translation, load balancing algorithms, caching strategies, and using tools like New Relic for transaction tracing and performance monitoring.
Flask is a simple and small Python web framework created by Armin Ronacher. It is inspired by the Ruby framework Sinatra and focuses on keeping a small core while allowing extensions to add additional functionality through a plug-and-play approach. Flask uses Jinja2 as its templating engine and the WSGI interface to handle HTTP requests and responses and route URLs.
SQLAlchemy is a popular database framework that provides an ORM and a schema centric query language, and in this talk we will take a look how to get started with the ORM. We'll learn how to establish connections to popular databases such as PostgreSQL and MySQL. Then we will look at how to define our models as user classes including relationships and persist them to the database. Next, we'll cover the how the SQLAlchemy session works with typical create, update, read, and delete operations. We'll wrap up with pointers of where to go next to learn more.
This document summarizes how to build a web application using Flask. It introduces HTTP requests and responses, and how Flask works with request and response objects. It then provides an example of building a basic Flask app with a view function to display "Hello World", and how to use Jinja templates to separate code and markup. The document also discusses using HTML forms to submit data via GET and POST requests.
This document discusses UI functional testing with Selenium and Python. It provides an overview of Selenium IDE, WebDriver, Server and Grid. It describes how Selenium IDE is a Firefox plugin that allows recording and playback of tests. WebDriver allows controlling browsers programmatically and supports many languages. The document also demonstrates different locator strategies like ID, XPath, name, CSS and link text that can be used with WebDriver. It shows examples of interacting with page elements by sending keys, clicking, and selecting options. Finally, it mentions that WebDriver Server allows parallel test execution across browsers using technologies like Azure.
The document discusses Django Channels, which is an initiative to rewrite Django's core to support WebSockets and background tasks. Django was awarded a $150,000 grant to fund the development of Channels. Channels uses three separate layers - interface servers, a channel backend, and workers. It allows defining consumer functions for different channel types. Groups can be used to broadcast messages to multiple consumers instead of sending individually. The document provides an example chat room application built with Channels.
The document discusses developing REST APIs with Python and Django Rest Framework (DRF). It explains the basics of REST, why it is used, and how to build a REST API with DRF including serializers, views, URLs, permissions, versioning, documentation, and testing. DRF allows building web APIs with Django that are highly configurable and have little boilerplate code. It also supports non-ORM data sources.
This document provides an overview of Shubhra Kar's presentation on using Node.js to build APIs and hyperscale the API economy. The presentation discusses using Node.js for mobile/omni-channel backends, high performance ESBs, and IoT. It also covers why Node.js is well-suited for APIs, which Node.js framework to choose, design patterns, and how to code and deploy an API in 10 minutes. The document includes graphs comparing Node.js performance to other solutions and discusses trends around microservices and decomposing monolithic APIs.
This document describes Doc2Graph, an open source tool that transforms JSON documents into a graph database. It discusses how Doc2Graph works, including converting JSON trees into a graph and reusing existing nodes. It also provides examples of using Doc2Graph with CouchbaseDB, MongoDB, and the Spotify API to import music data into Neo4j. The document concludes with information on Doc2Graph's configuration options.
The document discusses best practices for crafting evolvable API responses. It advocates taking back control of representations by thinking of responses as messages rather than objects. This allows APIs to build payloads with just enough data to solve the problem and survive changes over time. The document explores using attribute groups, links, and established formats like HAL and JSON-LD to build representations that are minimal yet provide essential context.
Rapid, Scalable Web Development with MongoDB, Ming, and PythonRick Copeland
In 2009, SourceForge embarked on a quest to modernize our websites, converting a site written for a hodge-podge of relational databases in PHP to a MongoDB and Python-powered site, with a small development team and a tight deadline. We have now completely rewritten both the consumer and producer parts of the site with better usability, more functionality and better performance. This talk focuses on how we're using MongoDB, the pymongo driver, and Ming, an ORM-like library implemented at SourceForge, to continually improve and expand our offerings, with a special focus on how3 anyone can quickly become productive with Ming and pymongo without having to apologize for poor performance.
Building Beautiful REST APIs with ASP.NET CoreStormpath
Join Stormpath .NET Developer Evangelist, Nate Barbettini, to learn best practices for designing your REST API in ASP.NET Core. Nate will explain how to build HATEOS-compliant JSON APIs while supporting security best practices and even improving performance and scale.
Topics Covered:
What is REST and HATEOS?
How to think about RESTful APIs
How to model hypermedia in C#
Building JSON APIs in ASP.NET Core
The web has changed! Users spend more time on mobile than on desktops and expect to have an amazing user experience on both. APIs are the heart of the new web as the central point of access data, encapsulating logic and providing the same data and same features for desktops and mobiles. In this workshop, Antonio will show you how to create complex APIs in an easy and quick way using API Platform built on Symfony.
Kazoo APIs are an example of a restful web-service. They are APIs are provided over HTTP/HTTPS. Kazoo APIs mostly uses the JavaScript Object Notation (JSON) data format for most payloads!
API Documentation -- Presentation to East Bay STC ChapterTom Johnson
This document summarizes Tom Johnson's presentation on strategies for API documentation. It discusses different types of APIs like platform and REST APIs. For platform APIs, documentation is often generated from source code comments. REST API documentation should cover endpoints, parameters, response formats, and example calls. The document also summarizes a survey of API documentation practices. Popular publishing approaches include single page sites with code samples and interactive documentation. It raises questions for documentation writers to consider their technical skills and career paths.
API Documentation presentation to East Bay STC ChapterTom Johnson
This document summarizes Tom Johnson's presentation on strategies for API documentation. It discusses different types of APIs like platform and REST APIs. For platform APIs, documentation is often generated from source code comments. REST API documentation should cover endpoints, parameters, response formats, and example calls. The document also summarizes a survey of API documentation practices. Popular publishing approaches include single page sites with code samples and interactive documentation. It raises questions for documentation writers around technical skills, interest, and career entry points.
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tToshiaki Maki
This document summarizes a presentation about serverless computing using Spring Cloud Function, Knative, and riff. It discusses what serverless computing is, an overview of Spring Cloud Function for developing serverless applications, and how Knative and riff can be used as platforms to deploy serverless workloads on Kubernetes. Code examples are provided to demonstrate invoking functions via HTTP and messaging with Spring Cloud Function and deploying functions to Knative and riff.
Slides from the London Technical Evangelism meet up, where we were discussing different approaches to documenting API's to keep it simple for developers
FOXX - a Javascript application framework on top of ArangoDBArangoDB Database
This document discusses ArangoDB Foxx, a feature of ArangoDB that allows developers to define REST APIs and build single page web applications directly against the ArangoDB database using JavaScript. Foxx allows defining controllers with routes, parameterizing routes, generating documentation, and structuring models. It aims to provide a streamlined way for front-end developers to interface directly with the database without overhead typically involved in separating concerns across servers. The document outlines several Foxx features and capabilities including authentication, asset handling, and sharing code through a repository.
This document discusses building REST APIs with ColdBox by transforming a ColdBox application into an API that is accessed through a RESTful interface. It covers the basic steps of starting with a headless API module, building URI routes with resources and actions, handling requests in controllers, and returning data. It also discusses additional topics like status codes, caching, security, restricting HTTP verbs, and error handling to build APIs beyond the basic level.
The document discusses Parse, a backend as a service platform bought by Facebook. It is used to build the app Qoffee, which helps users find coffee and track consumption. The document outlines how to get started with Parse on Android, including setting up login screens, connecting to cloud data, using cloud code to build APIs, and scheduling tasks.
This document provides an overview of REST APIs and automated API documentation solutions. It discusses REST architecture and best practices for documenting REST APIs. It also covers popular automated documentation solutions like Swagger and RAML that can generate reference documentation from API specifications. The document demonstrates how to use Swagger and RAML specifications to automatically generate API documentation websites and interactive consoles. It compares the pros and cons of Swagger versus RAML and provides examples of professionally designed API documentation websites.
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...Tom Hofte
The document provides an agenda and overview for a 3.5 hour conference session on mapping a domain model to a RESTful web API. The session will cover discovering the domain model, mapping it to REST resources and operations, and other REST modeling topics. It introduces key REST concepts like resources, URIs, HTTP methods, and HATEOAS. It also discusses best practices like the Richardson Maturity Model and API style guides. Interactive exercises are planned to have attendees practice domain discovery and REST modeling for a sample airline booking case study.
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Tom Johnson
This is a presentation I gave to the Southwestern Ontario STC chapter on API documentation on Feb 2, 2015. For more details, see my blog at http://idratherbewriting.com. You can listen to the recorded presentation here: http://youtu.be/I8rGe2w1sAo.
API Documentation Workshop tcworld India 2015Tom Johnson
This is a workshop I gave on API documentation at tcworld India 2015. The workshop covers 3 main areas:
- General overview of API documentation
- Deep dive into REST API documentation
- Deep dive into Javadoc documentation
GraphQL - when REST API is to less - lessons learnedMarcinStachniuk
We all know the REST architectural style to define a good API for your applications. However, REST has its disadvantages and constraints. That’s why Facebook developed GraphQL as an alternative.
In my talk, I will present you some REST constraints and how GraphQL solves them. I will talk about how we implemented GraphQL in our application and why.
Get to know our successes… and failures from the first row.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
מכונת קנטים המתאימה לנגריות קטנות או גדולות (כמכונת גיבוי).
מדביקה קנטים מגליל או פסים, עד עובי קנט – 3 מ"מ ועובי חומר עד 40 מ"מ. בקר ממוחשב המתריע על תקלות, ומנועים מאסיביים תעשייתיים כמו במכונות הגדולות.
Domino IQ – What to Expect, First Steps and Use Casespanagenda
Webinar Recording: https://www.panagenda.com/webinars/domino-iq-what-to-expect-first-steps-and-use-cases/
HCL Domino iQ Server – From Ideas Portal to implemented Feature. Discover what it is, what it isn’t, and explore the opportunities and challenges it presents.
Key Takeaways
- What are Large Language Models (LLMs) and how do they relate to Domino iQ
- Essential prerequisites for deploying Domino iQ Server
- Step-by-step instructions on setting up your Domino iQ Server
- Share and discuss thoughts and ideas to maximize the potential of Domino iQ
Your startup on AWS - How to architect and maintain a Lean and Mean accountangelo60207
Prevent infrastructure costs from becoming a significant line item on your startup’s budget! Serial entrepreneur and software architect Angelo Mandato will share his experience with AWS Activate (startup credits from AWS) and knowledge on how to architect a lean and mean AWS account ideal for budget minded and bootstrapped startups. In this session you will learn how to manage a production ready AWS account capable of scaling as your startup grows for less than $100/month before credits. We will discuss AWS Budgets, Cost Explorer, architect priorities, and the importance of having flexible, optimized Infrastructure as Code. We will wrap everything up discussing opportunities where to save with AWS services such as S3, EC2, Load Balancers, Lambda Functions, RDS, and many others.
Presentation given at the LangChain community meetup London
https://lu.ma/9d5fntgj
Coveres
Agentic AI: Beyond the Buzz
Introduction to AI Agent and Agentic AI
Agent Use case and stats
Introduction to LangGraph
Build agent with LangGraph Studio V2
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfAlkin Tezuysal
As the demand for vector databases and Generative AI continues to rise, integrating vector storage and search capabilities into traditional databases has become increasingly important. This session introduces the *MyVector Plugin*, a project that brings native vector storage and similarity search to MySQL. Unlike PostgreSQL, which offers interfaces for adding new data types and index methods, MySQL lacks such extensibility. However, by utilizing MySQL's server component plugin and UDF, the *MyVector Plugin* successfully adds a fully functional vector search feature within the existing MySQL + InnoDB infrastructure, eliminating the need for a separate vector database. The session explains the technical aspects of integrating vector support into MySQL, the challenges posed by its architecture, and real-world use cases that showcase the advantages of combining vector search with MySQL's robust features. Attendees will leave with practical insights on how to add vector search capabilities to their MySQL systems.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2025/06/solving-tomorrows-ai-problems-today-with-cadences-newest-processor-a-presentation-from-cadence/
Amol Borkar, Product Marketing Director at Cadence, presents the “Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor” tutorial at the May 2025 Embedded Vision Summit.
Artificial Intelligence is rapidly integrating into every aspect of technology. While the neural processing unit (NPU) often receives the majority of the spotlight as the ultimate AI problem solver, it is essential to recognize that not all AI workloads can be efficiently executed on an NPU and that neural network architectures are evolving rapidly. To create efficient chips and systems with market longevity, designers must plan for diverse AI workloads that include networks yet to be invented.
In this presentation, Borkar introduces a new processor from Cadence Tensilica. This new solution is designed to complement any NPU, creating the perfect synergy between the two processing engines and establishing a robust AI subsystem able to efficiently support workloads yet to be encountered. This combination allows developers to achieve efficiency and performance on the AI workloads of today and tomorrow, paving the way for future innovations in AI-powered devices.
If You Use Databricks, You Definitely Need FMESafe Software
DataBricks makes it easy to use Apache Spark. It provides a platform with the potential to analyze and process huge volumes of data. Sounds awesome. The sales brochure reads as if it is a can-do-all data integration platform. Does it replace our beloved FME platform or does it provide opportunities for FME to shine? Challenge accepted
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationChristine Shepherd
AI agents are reshaping logistics and supply chain operations by enabling automation, predictive insights, and real-time decision-making across key functions such as demand forecasting, inventory management, procurement, transportation, and warehouse operations. Powered by technologies like machine learning, NLP, computer vision, and robotic process automation, these agents deliver significant benefits including cost reduction, improved efficiency, greater visibility, and enhanced adaptability to market changes. While practical use cases show measurable gains in areas like dynamic routing and real-time inventory tracking, successful implementation requires careful integration with existing systems, quality data, and strategic scaling. Despite challenges such as data integration and change management, AI agents offer a strong competitive edge, with widespread industry adoption expected by 2025.
Floods in Valencia: Two FME-Powered Stories of Data ResilienceSafe Software
In October 2024, the Spanish region of Valencia faced severe flooding that underscored the critical need for accessible and actionable data. This presentation will explore two innovative use cases where FME facilitated data integration and availability during the crisis. The first case demonstrates how FME was used to process and convert satellite imagery and other geospatial data into formats tailored for rapid analysis by emergency teams. The second case delves into making human mobility data—collected from mobile phone signals—accessible as source-destination matrices, offering key insights into population movements during and after the flooding. These stories highlight how FME's powerful capabilities can bridge the gap between raw data and decision-making, fostering resilience and preparedness in the face of natural disasters. Attendees will gain practical insights into how FME can support crisis management and urban planning in a changing climate.
Kubernetes Security Act Now Before It’s Too LateMichael Furman
In today's cloud-native landscape, Kubernetes has become the de facto standard for orchestrating containerized applications, but its inherent complexity introduces unique security challenges. Are you one YAML away from disaster?
This presentation, "Kubernetes Security: Act Now Before It’s Too Late," is your essential guide to understanding and mitigating the critical security risks within your Kubernetes environments. This presentation dives deep into the OWASP Kubernetes Top Ten, providing actionable insights to harden your clusters.
We will cover:
The fundamental architecture of Kubernetes and why its security is paramount.
In-depth strategies for protecting your Kubernetes Control Plane, including kube-apiserver and etcd.
Crucial best practices for securing your workloads and nodes, covering topics like privileged containers, root filesystem security, and the essential role of Pod Security Admission.
Don't wait for a breach. Learn how to identify, prevent, and respond to Kubernetes security threats effectively.
It's time to act now before it's too late!
➡ 🌍📱👉COPY & PASTE LINK👉👉👉 ➤ ➤➤ https://drfiles.net/
Wondershare Filmora Crack is a user-friendly video editing software designed for both beginners and experienced users.
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Safe Software
Jacobs has developed a 3D utility solids modelling workflow to improve the integration of utility data into 3D Building Information Modeling (BIM) environments. This workflow, a collaborative effort between the New Zealand Geospatial Team and the Australian Data Capture Team, employs FME to convert 2D utility data into detailed 3D representations, supporting enhanced spatial analysis and clash detection.
To enable the automation of this process, Jacobs has also developed a survey data standard that standardizes the capture of existing utilities. This standard ensures consistency in data collection, forming the foundation for the subsequent automated validation and modelling steps. The workflow begins with the acquisition of utility survey data, including attributes such as location, depth, diameter, and material of utility assets like pipes and manholes. This data is validated through a custom-built tool that ensures completeness and logical consistency, including checks for proper connectivity between network components. Following validation, the data is processed using an automated modelling tool to generate 3D solids from 2D geometric representations. These solids are then integrated into BIM models to facilitate compatibility with 3D workflows and enable detailed spatial analyses.
The workflow contributes to improved spatial understanding by visualizing the relationships between utilities and other infrastructure elements. The automation of validation and modeling processes ensures consistent and accurate outputs, minimizing errors and increasing workflow efficiency.
This methodology highlights the application of FME in addressing challenges associated with geospatial data transformation and demonstrates its utility in enhancing data integration within BIM frameworks. By enabling accurate 3D representation of utility networks, the workflow supports improved design collaboration and decision-making in complex infrastructure projects
Your startup on AWS - How to architect and maintain a Lean and Mean account J...angelo60207
Prevent infrastructure costs from becoming a significant line item on your startup’s budget! Serial entrepreneur and software architect Angelo Mandato will share his experience with AWS Activate (startup credits from AWS) and knowledge on how to architect a lean and mean AWS account ideal for budget minded and bootstrapped startups. In this session you will learn how to manage a production ready AWS account capable of scaling as your startup grows for less than $100/month before credits. We will discuss AWS Budgets, Cost Explorer, architect priorities, and the importance of having flexible, optimized Infrastructure as Code. We will wrap everything up discussing opportunities where to save with AWS services such as S3, EC2, Load Balancers, Lambda Functions, RDS, and many others.
17. JSON & RESTful API
GET
Client
Mongo
JSON!
JSON!
accepted media type
(BSON)
maybe we can push directly to client?
18. JSON & RESTful API
GET
Client
API
JSON!
JSON!
accepted media type
subset of python dict!
(kinda)
almost.
Mongo
JSON!
(BSON)
19. JSON & RESTful API
POST
Client
JSON!
objects
API
JSON/dict!
maps to python dict!
(validation layer)
Mongo
JSON!
(BSON)
also works when posting (adding) items to the database
22. What about Queries?
Queries in MongoDB are represented as JSON-style objects
// select * from things where x=3 and y="foo"
db.things.find({x: 3, y: "foo”});
28. Also in MongoDB
• setup is a breeze
• lightweight
• fast inserts, updates and queries
• excellent documentation
• great support by 10gen
• great community
33. Resource GET
/contacts?where={“age”: {“$gt”: 20}}&projection={“lastname”: 1}
def get_collection(collection):!
documents = []!
cursor = db(collection).find(where, projection)!
for document in cursor:!
documents.append(document)!
return documents
find() accepts a python dict
as query expression, and
returns a cursor we can
iterate
34. Resource GET
/contacts?where={“age”: {“$gt”: 20}}&projection={“lastname”: 1}
def get_collection(collection):!
documents = []!
cursor = db(collection).find(where, projection)!
for document in cursor:!
documents.append(document)!
return documents
find() accepts a python dict
as query expression, and
returns a cursor we can
iterate
35. Resource GET
/contacts?where={“age”: {“$gt”: 20}}&projection={“lastname”: 1}
def get_collection(collection):!
documents = []!
cursor = db(collection).find(where, projection)!
for document in cursor:!
documents.append(document)!
return documents
find() accepts a python dict
as query expression, and
returns a cursor we can
iterate
42. PATCHing
def patch_document(collection, original):!
(...)!
# Perform the update!
db(collection).update({"_Id": ObjectId(object_id)}, !
{"$set": updates})!
$set accepts a dict!
with the updates for the db
eg: {“active”: False}.
updates are atomic
44. POSTing
Take #1
def post(collection):!
(...)!
for key, item in docs.items():!
response[ID_FIELD] = db(collection).insert(item)
push document and get its
ObjectId back from Mongo.
like other CRUD operations,
inserting is trivial in
mongo.