Sometime, real API and documentation have deep groove. So I have decided to create document from real API request and response. At first, I have created swagger from API response. After that, I have published mkdocs documents from swagger.
1) The document discusses using OpenAPI to describe APIs and increase productivity. It introduces OpenAPI tools like Swagger UI, Swagger Editor, and bravado-core that can generate documentation, validate requests, and convert data types.
2) An actual case study is presented on a manufacturing cloud platform called Kabuku Connect that uses the OpenAPI spec to generate API documentation, client code, and validate requests from the frontend.
3) The speaker encourages contributors to help support the new OpenAPI 3.0 specification and related tools, and invites attendees to apply for open developer roles at their company to build out projects using 3D printing and other technologies.
Writing a truly consumable REST API is hard. Once exposed, documentation must be perfect before it can be consumed. Consumers often face days or weeks of work creating the client code. Many just need a command-line API. For a large API, writing these by hand and keeping them in sync is mission impossible. This session shows how to combine tooling around JAX-RS, OpenAPI, and MicroProfile REST Client to bootstrap microservice APIs that have Amazon-style Java client library, command-line API, and AsciiDoc/HTML documentation. The presentation explores generation of clients in other languages such as JavaScript and Git-inspired command-line techniques that enable REST calls to be secured via SSH keys. All perfectly documented in AsciiDoc, HTML, and man pages.
The document introduces Swagger, an open source framework for describing and documenting RESTful APIs. Swagger allows APIs to be defined in a machine-readable JSON format and generates documentation, client libraries, and servers from these definitions. This standardized interface for APIs has benefits like enabling parallel development, removing logic from clients, and facilitating code generation for multiple platforms and languages.
The document discusses different levels of REST APIs. Level 3 REST expresses everything as links in the response body. An example is given where a GET request for doctor appointment slots returns an XML response containing the slots with a link to book each slot. Level 3 REST makes APIs browsable by including links to related resources, avoiding the need for separate documentation on how to perform actions.
EuroPython 2017 - How to make money with your Python open-source projectMax Tepkeev
Developers create new open-source projects every day. As the project becomes popular they have to invest more and more time into it’s development and of course at some point a question arises: “How can I make some money with my project ?”
In this talk we will try to answer this question. We will talk about different models of making money, their pros and cons. We will concentrate on Python Open-Source projects mostly and try to answer the following questions:
What to sell ?
Where to sell ?
How to distribute ?
How to license ?
After this talk you will have a clear understanding of how you can make money with your project. What your next steps should be and how you can get the actual profit while still continuing making your customers happy.
https://github.com/alvarowolfx/react-native-shakeit-demo
Introduction to React native presentation. A little history about React web, comparison with state of art of hybrid mobile development and demo to the local community.
Cucumber is a tool that executes plain-text behavioral tests written in Gherkin and maps them to code via step definitions to automate testing; Gherkin is a business-readable language used to describe software behavior without detailing implementation; Cucumber uses Ruby and drivers like Capybara to simulate user interactions and check outcomes of the automated tests.
Building Desktop RIAs With PHP And JavaScriptfunkatron
This document summarizes a talk about building desktop applications using PHP and JavaScript. It discusses using Adobe AIR as a runtime environment and JavaScript frameworks like jQuery. It provides examples of desktop apps communicating with a PHP backend over JSON to perform tasks like uploading photos or making asynchronous calculations. The document recommends using JSON for data exchange and emphasizes that desktop apps are persistent with asynchronous calls, unlike server-side PHP apps.
1) The document discusses using OpenAPI to describe APIs and increase productivity. It introduces OpenAPI tools like Swagger UI, Swagger Editor, and bravado-core that can generate documentation, validate requests, and convert data types.
2) An actual case study is presented on a manufacturing cloud platform called Kabuku Connect that uses the OpenAPI spec to generate API documentation, client code, and validate requests from the frontend.
3) The speaker encourages contributors to help support the new OpenAPI 3.0 specification and related tools, and invites attendees to apply for open developer roles at their company to build out projects using 3D printing and other technologies.
Writing a truly consumable REST API is hard. Once exposed, documentation must be perfect before it can be consumed. Consumers often face days or weeks of work creating the client code. Many just need a command-line API. For a large API, writing these by hand and keeping them in sync is mission impossible. This session shows how to combine tooling around JAX-RS, OpenAPI, and MicroProfile REST Client to bootstrap microservice APIs that have Amazon-style Java client library, command-line API, and AsciiDoc/HTML documentation. The presentation explores generation of clients in other languages such as JavaScript and Git-inspired command-line techniques that enable REST calls to be secured via SSH keys. All perfectly documented in AsciiDoc, HTML, and man pages.
The document introduces Swagger, an open source framework for describing and documenting RESTful APIs. Swagger allows APIs to be defined in a machine-readable JSON format and generates documentation, client libraries, and servers from these definitions. This standardized interface for APIs has benefits like enabling parallel development, removing logic from clients, and facilitating code generation for multiple platforms and languages.
The document discusses different levels of REST APIs. Level 3 REST expresses everything as links in the response body. An example is given where a GET request for doctor appointment slots returns an XML response containing the slots with a link to book each slot. Level 3 REST makes APIs browsable by including links to related resources, avoiding the need for separate documentation on how to perform actions.
EuroPython 2017 - How to make money with your Python open-source projectMax Tepkeev
Developers create new open-source projects every day. As the project becomes popular they have to invest more and more time into it’s development and of course at some point a question arises: “How can I make some money with my project ?”
In this talk we will try to answer this question. We will talk about different models of making money, their pros and cons. We will concentrate on Python Open-Source projects mostly and try to answer the following questions:
What to sell ?
Where to sell ?
How to distribute ?
How to license ?
After this talk you will have a clear understanding of how you can make money with your project. What your next steps should be and how you can get the actual profit while still continuing making your customers happy.
https://github.com/alvarowolfx/react-native-shakeit-demo
Introduction to React native presentation. A little history about React web, comparison with state of art of hybrid mobile development and demo to the local community.
Cucumber is a tool that executes plain-text behavioral tests written in Gherkin and maps them to code via step definitions to automate testing; Gherkin is a business-readable language used to describe software behavior without detailing implementation; Cucumber uses Ruby and drivers like Capybara to simulate user interactions and check outcomes of the automated tests.
Building Desktop RIAs With PHP And JavaScriptfunkatron
This document summarizes a talk about building desktop applications using PHP and JavaScript. It discusses using Adobe AIR as a runtime environment and JavaScript frameworks like jQuery. It provides examples of desktop apps communicating with a PHP backend over JSON to perform tasks like uploading photos or making asynchronous calculations. The document recommends using JSON for data exchange and emphasizes that desktop apps are persistent with asynchronous calls, unlike server-side PHP apps.
Scaling up development of a modular code baseRobert Munteanu
This document summarizes Robert Munteanu's presentation on modular development at the Apache Sling & Friends Tech Meetup. The presentation covered topics like modular development vs deployment, using source control like Git with multiple repositories, continuous integration with build tools, preferences and discovery in IDEs, and communication across channels. Examples of modular development included Apache Sling's tooling in Jenkins and the use of repositories, plugins, and automation to support modular projects.
This document discusses REST APIs and the benefits of using Swagger to generate documentation for REST APIs built with Spring MVC. It explains that REST and HTTP have been widely used for decades to power APIs. Swagger allows generating interactive API documentation from code comments directly in the Spring MVC codebase. The document then provides a hands-on example of using Springfox to integrate Swagger into a Spring MVC REST API project to automatically generate API documentation.
Understanding how to use Swagger and its toolsSwagger API
Swagger is a toolset for designing, building, documenting, and using RESTful APIs. It includes tools like swagger-editor for designing APIs, swagger-ui for documenting and testing APIs, and swagger-codegen for building servers and clients from API definitions. The tools support the API lifecycle from design through documentation, testing, building, and operation. Integration workflows allow using multiple Swagger tools together such as designing an API with swagger-editor and generating servers and clients with swagger-codegen.
This document summarizes Marko Heijnen's talk on bootstrapping a WordPress plugin using automation. It discusses setting up the basic files and structure for a plugin, including internationalization, version control and compiling assets. It also covers automating common tasks like minification, validation and testing through Grunt plugins. Grunt is presented as a JavaScript task runner that can be used to define and run repetitive tasks like compressing files, validating code and deployments. Examples are provided for configuring Grunt to create POT files for internationalization, download translations from GlotPress and perform other automated tasks.
The document discusses best practices for building WordPress plugins, including improving one's workflow with version control and text editors, understanding WordPress code structure and APIs, following coding standards, defining a plugin's focus and structure, and testing plugins. It also provides examples from the speaker's own plugins and mistakes made. The speaker advocates investing in one's skills and producing well-coded, unique plugins that address user experience through standards compliance and robust testing.
What's This React Native Thing I Keep Hearing About?Evan Stone
In our daily lives as iOS developers, we can usually happily keep coding away in Swift and ignore what’s going on in other software development communities, like that of JavaScript. However, there may be some advantages to at least becoming familiar with what’s going on in the world of React Native, and in this session you will get an overview of what React Native is, and why it could be a useful addition to your toolbox an iOS developer.
These slides are based on a talk given by Evan K. Stone at the Forward Swift conference in San Francisco on March 2, 2017.
1) Grape is a framework for building REST-style APIs in Ruby. It is inspired by Sinatra and aims to make API development easy and intuitive.
2) With Grape, APIs can have their own framework separate from Rails or Sinatra. It allows for features like versioning, prefixing, namespacing, authentication helpers, and error handling in a concise syntax.
3) Grape focuses on ease of use but also plans to add more advanced features like documentation generation, content negotiation, OAuth support, plugin systems, and rate limiting to become a fully-featured API framework.
Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...Codemotion
The document discusses ways to promote collaborative development through knowledge sharing and reuse. It suggests establishing ad-hoc teams, guilds, and hubs of information to make work and expertise discoverable. It also emphasizes the importance of inclusion and adopting practices like InnerSource to engage diverse talent.
This document discusses behavior driven development (BDD) and Cucumber style testing. It provides examples of how to set up Cucumber testing for a Rails application, including installing Cucumber gems, configuring support files, and writing a sample feature file to test user sign up. Code snippets are provided for setting up Cucumber configuration files, installing necessary gems, and defining step definitions. The document aims to demonstrate how Cucumber can be used to write automated tests in a human-readable format.
The 3h workshop version of the 3d Advanced Architectures training (http://canonicalexamples.com/courses_android/#androidArch). I have delivered this one or the iOS counterpart in more than 20 cities of Europe and America. This is the latest version that shared in Minsk.
This document discusses GraphQL, a query language and execution engine that can be tied to any backend service. It notes that GraphQL avoids painful refactoring, provides a single endpoint that is easy to debug, and allows data to be aggregated and normalized easily. Additional benefits mentioned include being hierarchical, strongly typed, and version free. The document provides an overview of how GraphQL works at a high level with clients making GET/POST requests to a GraphQL server, which uses resolve functions to handle queries and aggregate data. It also mentions the GraphiQL tool for providing fast feedback, explicit errors, automatic query completion, and introspection capabilities when working with GraphQL.
Ofir Dagan - (Don’t) Blame it on React Native - Codemotion Rome 2019Codemotion
When writing large scale react native app it’s always fun to blame rn for everything that is wrong in our lives. However, what we keep finding, again and again, is that for most of the cases. Writing better performant react code can fix our performance issues. In the last couple of years our team built a huge production app in react native. In this talk I’ll go over some of our lessons learned in regards of react native performance and how to improve your app’s performance subsequently.
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...Codemotion
Since its 2013 release, React has brought a new way to design UI components in the world wide web. The same fundamentals have been taken to another important environment in our contemporary world: the mobile applications. We'll see the philosophy behind React Native - learn once, write anywhere - and how this new framework helps developers to build native apps using React.
Integration of automation framework with ci toolsvodQA
This document discusses continuous integration (CI) and how to integrate an automation testing framework with a CI tool. It defines key CI concepts like pipelines, stages, jobs, and tasks. A pipeline contains multiple stages that run sequentially, with each stage containing parallel jobs made up of sequential tasks. The document also provides instructions on downloading, installing, and configuring a Go CI server and agent to run an automation test suite through CI pipelines.
React Native allows developers to write mobile apps using JavaScript and React while also being able to use native UI components. It uses the same fundamental UI building blocks as regular React apps but includes additional components better suited for mobile. Apps are compiled to native code, so they can access the same native platform features and performance as apps written in Java, Objective-C, or Swift. React Native is mature and used by many large companies for their mobile apps. It is a good option for building cross-platform mobile apps since developers can reuse their web skills and share code between Android and iOS platforms.
React Native allows developers to build mobile apps using only JavaScript. It uses the same fundamental UI building blocks as regular Android and iOS apps. Developers can share code across platforms and rapidly develop and deploy apps. React Native apps run fully native and can access many native platform features such as TouchID. It has gained popularity due to its powerful developer experience and high performance.
Creating BananaJS with Angular 2, Angular CLI, and Material DesignTracy Lee
The document is a presentation slide deck about building applications with Angular 2 and Angular CLI. It discusses configuring Materialize CSS, generating components, deploying to Firebase, using template-driven forms, and the new Angular router. The presentation provides steps to create an Angular CLI project, add Materialize CSS, generate components, and deploy the application to Firebase. It also lists additional learning resources and community members that can provide help.
DevOps Fest 2019. Gianluca Arbezzano. DevOps never sleeps. What we learned fr...DevOps_Fest
Where a company with an OpenSource project announce that they are working on a new major release there is always a lot of chatting going on in the community because you never know how much this is going to break your system. Gianluca Arbezzano SRE at InfluxData will speak about the journey the company is facing from a DevOps perspective to move from InfluxDB v1 to version 2 a fully integrated platform that starts from the strong background we built running a database like InfluxDB at scale in our SaaS offer. This is not just a story about how a project evolved but it touches all the company in particular for what concern DevOpsFest everything around Kubernetes, Container and automation. How the SRE team managed the onboard of 20 developers on a cloud based project where operating and observing the system is a key concept to learn how to build a more solid and sustainable product.
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
Scaling up development of a modular code baseRobert Munteanu
This document summarizes Robert Munteanu's presentation on modular development at the Apache Sling & Friends Tech Meetup. The presentation covered topics like modular development vs deployment, using source control like Git with multiple repositories, continuous integration with build tools, preferences and discovery in IDEs, and communication across channels. Examples of modular development included Apache Sling's tooling in Jenkins and the use of repositories, plugins, and automation to support modular projects.
This document discusses REST APIs and the benefits of using Swagger to generate documentation for REST APIs built with Spring MVC. It explains that REST and HTTP have been widely used for decades to power APIs. Swagger allows generating interactive API documentation from code comments directly in the Spring MVC codebase. The document then provides a hands-on example of using Springfox to integrate Swagger into a Spring MVC REST API project to automatically generate API documentation.
Understanding how to use Swagger and its toolsSwagger API
Swagger is a toolset for designing, building, documenting, and using RESTful APIs. It includes tools like swagger-editor for designing APIs, swagger-ui for documenting and testing APIs, and swagger-codegen for building servers and clients from API definitions. The tools support the API lifecycle from design through documentation, testing, building, and operation. Integration workflows allow using multiple Swagger tools together such as designing an API with swagger-editor and generating servers and clients with swagger-codegen.
This document summarizes Marko Heijnen's talk on bootstrapping a WordPress plugin using automation. It discusses setting up the basic files and structure for a plugin, including internationalization, version control and compiling assets. It also covers automating common tasks like minification, validation and testing through Grunt plugins. Grunt is presented as a JavaScript task runner that can be used to define and run repetitive tasks like compressing files, validating code and deployments. Examples are provided for configuring Grunt to create POT files for internationalization, download translations from GlotPress and perform other automated tasks.
The document discusses best practices for building WordPress plugins, including improving one's workflow with version control and text editors, understanding WordPress code structure and APIs, following coding standards, defining a plugin's focus and structure, and testing plugins. It also provides examples from the speaker's own plugins and mistakes made. The speaker advocates investing in one's skills and producing well-coded, unique plugins that address user experience through standards compliance and robust testing.
What's This React Native Thing I Keep Hearing About?Evan Stone
In our daily lives as iOS developers, we can usually happily keep coding away in Swift and ignore what’s going on in other software development communities, like that of JavaScript. However, there may be some advantages to at least becoming familiar with what’s going on in the world of React Native, and in this session you will get an overview of what React Native is, and why it could be a useful addition to your toolbox an iOS developer.
These slides are based on a talk given by Evan K. Stone at the Forward Swift conference in San Francisco on March 2, 2017.
1) Grape is a framework for building REST-style APIs in Ruby. It is inspired by Sinatra and aims to make API development easy and intuitive.
2) With Grape, APIs can have their own framework separate from Rails or Sinatra. It allows for features like versioning, prefixing, namespacing, authentication helpers, and error handling in a concise syntax.
3) Grape focuses on ease of use but also plans to add more advanced features like documentation generation, content negotiation, OAuth support, plugin systems, and rate limiting to become a fully-featured API framework.
Collaborative Development: The Only CD That Matters - Brent Beer - Codemotion...Codemotion
The document discusses ways to promote collaborative development through knowledge sharing and reuse. It suggests establishing ad-hoc teams, guilds, and hubs of information to make work and expertise discoverable. It also emphasizes the importance of inclusion and adopting practices like InnerSource to engage diverse talent.
This document discusses behavior driven development (BDD) and Cucumber style testing. It provides examples of how to set up Cucumber testing for a Rails application, including installing Cucumber gems, configuring support files, and writing a sample feature file to test user sign up. Code snippets are provided for setting up Cucumber configuration files, installing necessary gems, and defining step definitions. The document aims to demonstrate how Cucumber can be used to write automated tests in a human-readable format.
The 3h workshop version of the 3d Advanced Architectures training (http://canonicalexamples.com/courses_android/#androidArch). I have delivered this one or the iOS counterpart in more than 20 cities of Europe and America. This is the latest version that shared in Minsk.
This document discusses GraphQL, a query language and execution engine that can be tied to any backend service. It notes that GraphQL avoids painful refactoring, provides a single endpoint that is easy to debug, and allows data to be aggregated and normalized easily. Additional benefits mentioned include being hierarchical, strongly typed, and version free. The document provides an overview of how GraphQL works at a high level with clients making GET/POST requests to a GraphQL server, which uses resolve functions to handle queries and aggregate data. It also mentions the GraphiQL tool for providing fast feedback, explicit errors, automatic query completion, and introspection capabilities when working with GraphQL.
Ofir Dagan - (Don’t) Blame it on React Native - Codemotion Rome 2019Codemotion
When writing large scale react native app it’s always fun to blame rn for everything that is wrong in our lives. However, what we keep finding, again and again, is that for most of the cases. Writing better performant react code can fix our performance issues. In the last couple of years our team built a huge production app in react native. In this talk I’ll go over some of our lessons learned in regards of react native performance and how to improve your app’s performance subsequently.
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...Codemotion
Since its 2013 release, React has brought a new way to design UI components in the world wide web. The same fundamentals have been taken to another important environment in our contemporary world: the mobile applications. We'll see the philosophy behind React Native - learn once, write anywhere - and how this new framework helps developers to build native apps using React.
Integration of automation framework with ci toolsvodQA
This document discusses continuous integration (CI) and how to integrate an automation testing framework with a CI tool. It defines key CI concepts like pipelines, stages, jobs, and tasks. A pipeline contains multiple stages that run sequentially, with each stage containing parallel jobs made up of sequential tasks. The document also provides instructions on downloading, installing, and configuring a Go CI server and agent to run an automation test suite through CI pipelines.
React Native allows developers to write mobile apps using JavaScript and React while also being able to use native UI components. It uses the same fundamental UI building blocks as regular React apps but includes additional components better suited for mobile. Apps are compiled to native code, so they can access the same native platform features and performance as apps written in Java, Objective-C, or Swift. React Native is mature and used by many large companies for their mobile apps. It is a good option for building cross-platform mobile apps since developers can reuse their web skills and share code between Android and iOS platforms.
React Native allows developers to build mobile apps using only JavaScript. It uses the same fundamental UI building blocks as regular Android and iOS apps. Developers can share code across platforms and rapidly develop and deploy apps. React Native apps run fully native and can access many native platform features such as TouchID. It has gained popularity due to its powerful developer experience and high performance.
Creating BananaJS with Angular 2, Angular CLI, and Material DesignTracy Lee
The document is a presentation slide deck about building applications with Angular 2 and Angular CLI. It discusses configuring Materialize CSS, generating components, deploying to Firebase, using template-driven forms, and the new Angular router. The presentation provides steps to create an Angular CLI project, add Materialize CSS, generate components, and deploy the application to Firebase. It also lists additional learning resources and community members that can provide help.
DevOps Fest 2019. Gianluca Arbezzano. DevOps never sleeps. What we learned fr...DevOps_Fest
Where a company with an OpenSource project announce that they are working on a new major release there is always a lot of chatting going on in the community because you never know how much this is going to break your system. Gianluca Arbezzano SRE at InfluxData will speak about the journey the company is facing from a DevOps perspective to move from InfluxDB v1 to version 2 a fully integrated platform that starts from the strong background we built running a database like InfluxDB at scale in our SaaS offer. This is not just a story about how a project evolved but it touches all the company in particular for what concern DevOpsFest everything around Kubernetes, Container and automation. How the SRE team managed the onboard of 20 developers on a cloud based project where operating and observing the system is a key concept to learn how to build a more solid and sustainable product.
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
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.
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.
Chasing the RESTful Trinity - Client CLI and DocumentationRoberto Cortez
The learning curve for REST API security is severe and unforgiving. Specifications promise infinite flexibility, habitually give old concepts new names, and almost seem designed to deliberately confuse. With an aggressive distaste for fancy terminology, this session delves into OAuth 2.0 with and without JWT for user identity; AWS-style security for B2B with API keys; and OAuth 2.0 Proof of Possession, which merges both into two-factor bliss. Using a baseline microservice architecture, the presentation compares them, with a heavy focus on the wire, showing actual HTTP messages and analyzing their impact on load and security. Starting with basic authentication and a brief intro to hashing and signing, this is the perfect session to align the whole team.
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.
apidays LIVE Australia 2020 - Contract-first API development with Spot by Fra...apidays
apidays LIVE Australia 2020 - Building Business Ecosystems
Contract-first API development with Spot
Francois Wout, Developer Happiness Engineer at Airtasker
Publishing API documentation -- WorkshopTom Johnson
These slides are from the REST API documentation workshop that I gave at the STC Summit 2015. For more details, see http://idratherbewriting.com/publishingapidocs.
No REST - Architecting Real-time Bulk Async APIsC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2eapFFq.
Michael Uzquiano talks about how to scale API to accept many items. He examines how to evolve the Evolution of ReST over HTTP to transactional, asynchronous bulk operations. He covers job descriptors, workers, the job queue and scaling workers across an API cluster elastically. He also talks about polling methods for job completion including HTTP long polling and WebSockets. Filmed at qconnewyork.com.
Michael Uzquiano is Founder and CTO of CloudCMS and Alpaca.js Committer.
Great Tools Heavily Used In Japan, You Don't Know.Junichi Ishida
The document discusses Japanese Perl developers who attended YAPC::EU 2015. It introduces many popular Perl modules created by Japanese developers, such as WebService::Simple for making web service requests, Riji for creating blogs, and GrowthForecast for visualizing metrics graphs. It encourages attendees to talk to the Japanese developers about their work or any questions. It emphasizes that Japanese developers prioritize speed and simplicity in their modules due to their culture of valuing efficiency.
Developing Rich Internet Applications with Perl and JavaScriptnohuhu
This document discusses developing Rich Internet Applications (RIAs) using the Ext JS JavaScript framework and the Perl RPC::ExtDirect module. It describes how RIAs work by handling all client interaction in JavaScript, communicating with the server asynchronously via AJAX calls. The Ext JS framework provides cross-browser compatibility, clean MVC architecture and low server overhead. RPC::ExtDirect allows Perl to serve as the backend, implementing the Ext.Direct protocol to integrate existing Perl code and work on any platform. Examples are given of using RPC::ExtDirect in a CGI application to publish APIs and route requests.
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.
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
Presentation about open source tools to set up continuous integration and continuous deployment. Covers Git, Gitlab, Chef, Vagrant, Jenkins, Gatling, Dashing, TYPO3 Surf and some other tools. Shows some best practices for testing with Behat and Functional Testing.
This document summarizes a developer's process in building a mobile-first dashboard application called Dashery over 2016. It involved standing up a Rails web app, building an Express API, creating a CLI with COA, developing a React Native mobile app, and integrating Azure Functions for serverless components. Challenges included learning new technologies like Docker, Kubernetes, React, Redux, and React Native. The developer also worked to design APIs, SDKs, and automate builds and deployments to launch the minimum viable product.
- Mojolicious is a web development framework for Perl that aims to rethink web development
- It provides a powerful routing system, full HTTP implementation, simple templating, built-in JSON support, elegant plugin system, and class reloader
- Installation is simple using CPAN and has no dependencies beyond Perl 5.8.1
- It includes classes for requests, responses, templates, JSON encoding/decoding, and more
- Plugins can hook into various stages of the request lifecycle
- Supports generating applications, running commands, and provides a simple but powerful way to build web applications and services in Perl
Are you interested in harnessing and analyzing the data that drives the Spark Web UI?
Are you keen to use that data to tune your applications or understand fluctuations in
runtime of your production applications? Do you want to understand the efficiency of
your Spark executors and system resources?
This presentation will help you do that and more, by walking through the wealth of data in
Spark application events. The event data can be used as a foundation for a Spark profiler and
advisor that analyzes application events in batch or real-time.
At the very least, you will be able to use the data to generate a summary page of your application execution, similar to the Hadoop job summary page, allowing you to compare executions.
Similaire à How to Create the API Document from Real API and Localization (20)
By the time they're reading the docs, it's already too latePronovix
Your relationship with a developer begins before they even know your product's name. In fact, before they know they need a product like yours.
In this talk, Matthew will make the case that developer marketing, developer experience, and developer education are part of a continuum. And that if you're thinking of documentation as something that happens only after someone has signed-up for your API, then you're leaving it too late. He'll draw on pedagogical and marketing research to propose a model for the developer learning journey where traditional API documentation is just one stop along the way.
Attend this talk and you'll come away with practical ideas for how to start educating developers earlier in their product evaluation and learning journey.
Optimizing Dev Portals with Analytics and FeedbackPronovix
Making informed decisions on which features to prioritize in a developer portal can be a daunting task. In this session, we'll show you how to leverage experiments, data, and user feedback to evaluate their potential and refine your approach. We'll explore how testing ideas with minimal investment, akin to an MVP, can help you avoid building features that don't meet your users' needs.
Success metrics when launching your first developer portalPronovix
Building our a developer portal may seem easy at the onset with off the shelf options, but when you're building a custom portal to match the needs of your company, it's not as easy. In this session, we'll talk about our process in determining the right places to start with success metrics and features through an early stage feedback back before having customers. You'll see our intention is to tell a story with multiple facets for multiple people, developers, product managers, C suite decision makers etc... Stories around API usage, health, cost, errors and support to provide our users with an overall of their business performance through our APIs.
This document discusses challenges with API integration and proposes augmented approaches using AI. It notes that API integration takes a long time on average of 700 days due to difficulties understanding documentation, requirements, and ecosystems. Common obstacles include domain modeling, use cases, documentation quality, and access issues. The document advocates improving documentation to explain business and product aspects beyond technical references. It envisions next-gen integration using AI like NLP to help analyze APIs and generate integration code on demand. This could enhance documentation with interactive capabilities and help applications autonomously discover and connect APIs.
Making sense of analytics for documentation pagesPronovix
As content producers, we invest considerable time and effort in developing, packaging, and delivering content that we think our users need. After publishing the content, we hope that users find our content useful. And we often wonder how users really navigate and consume our content. Web page analytics can help us gauge the information needs of our customers, assess their content consumption behavior, and find opportunities to improve our content and how we deliver it.
Kumar explores the basics of web analytics, pitfalls of relying too much on web analytics for important decisions, the typical web analytics process, and he will share some guidelines for interpreting web analytics numbers.
Feedback cycles and their role in improving overall developer experiencesPronovix
Drawing from experiences from open source work and her time at Spotify, Serah’s talk cover the challenges, opportunities and hacks around proactive and reactive monitoring, processing, tracking and acting on stakeholder and community feedback, and argue for the centricity of well-defined feedback loops in improving the overall developer experiences for any product and features you are responsible for.
GraphQL Isn't An Excuse To Stop Writing DocsPronovix
The main goal of API documentation is to help developers understand how to use an API. With GraphQL, developers often assume it's self-documenting capabilities are sufficient for anyone that consumes their GraphQL API. But did you ever validate this?
Good API documentation offers both static and interactive ways to learn how to consume the API. API's that support GraphQL often only come with interactive documentation, in the shape of a GraphiQL Playground. However, the first time you (or your users) use a GraphQL API can be very frustrating as GraphQL APIs typically only have an interactive playground. it increases the complexity for newcomers to GraphQL as it assumes you’re already familiar with GraphQL. But with GraphQL, you’re not limited to just an interactive playground, as you can create static or interactive documentation next to having this playground. This talk explores which forms of documentation you can use and how they add value to your GraphQL API.
This document provides guidance for writing documentation about Web3 technologies. It begins with an introduction to the author and their background in technical writing. The document then discusses what Web3 is and how it differs from Web2. It emphasizes that Web3 documentation should use familiar formats from Web2, include detailed examples and code snippets, and use clear language to explain challenging new concepts. Constant research is important given the rapidly evolving nature of Web3 projects. The goal of documentation is to accelerate understanding and adoption of new decentralized technologies.
Why your API doesn’t solve my problem: A use case-driven API designPronovix
API docs frequently fail to address developers’ needs by omitting common usage scenarios and use cases. Let’s take a look at good and bad practices for documenting API use cases, and take steps to ensure that developers get from our API and docs what they really want.
You wrote an API specification, documented your endpoints, and published SDKs. Here’s a question, though: Does your API actually solve your users’ problems?
API providers often fail to address common use cases to solve users’ needs, or their assumptions don’t match the reality. This may end up in frustration and loss of users.
In this talk, we will take a peek into developers’ mindset. I will show how to better understand the developers’ needs by researching the usage patterns, existing libraries and 3rd party experience layers, provide examples of good and bad practices, and suggest actionable steps to improve developer experience for your API.
At times, you have to build docs that cover not only REST-y APIs but also frontend SDKs. What do you do, when you have to offer docs for multiple such SDKs, based on different frameworks, under rapid, uncoordinated development with multiple feature enhancements per iteration and at times, with breaking changes, but versioned and searchable?
Developing a best-in-class deprecation policy for your APIsPronovix
Nobody likes ambiguity—especially when it comes to the stability of APIs and the expectations for availability long term. Avoid common pitfalls and explore a critical area where trust is built with developers through thoughtful policy and the development of best-in-class documentation.
A good deprecation policy involves a lot of forward thinking and an awareness of how developers or end users are currently leveraging your capabilities, and how a given API or feature deprecation could affect them in the future. The hard-earned trust that you’ve built and maintained with these individuals is at risk with any type of policy or documentation that is unclear.
The road to developing a clear, trustworthy deprecation policy is a multi-faceted initiative with input from product, engineering, customer success and other cross-functional teams, as well as external market awareness.
Knowing which voices to have in the room, what the industry standards are, and formulating appropriate communication timelines will ensure a world class policy is developed and documented before it’s needed.
Join us as we dive into the nuances of this process and how to avoid the common pitfalls that come from lacking a strategic, thoughtful approach to documenting a deprecation policy for your APIs.
At MongoDB, we now generate REST API references for MongoDB Atlas from annotations in the product’s source. Our team’s writers proposed, planned, led, and implemented this project–and learned a lot along the way. We’ll share how we got buy-in from engineering and product stakeholders, coordinated the project across teams, implemented swagger-core annotations in Java, and drove positive change to benefit our team, the company, and our users.
What do developers do when it comes to understanding and using APIs?Pronovix
- The document discusses different approaches that developers take to learning APIs: the systematic approach, where developers want to be in control and fully understand what they are doing; the opportunistic approach, where developers quickly experiment and reuse examples; and the pragmatic approach, which combines elements of the first two.
- It also discusses the concept of "flow" in software development and lists some triggers for getting into a state of flow such as clear goals, immediate feedback, and a rich environment.
- The document concludes by asking questions about how to maximize the chance that developers experience flow when using documentation.
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsPronovix
It's time to take the bias out of code, UI, docs, configurations, or our everyday language by ensuring we choose our words carefully to avoid harmful subtext or exclusion. We can do our part and take steps by examining assets from code to config files to API specifications to standards.
Heard of suss? You can suss out more information or you can find someone's information to be suss. "Suss" shows the flexibility of language. It’s an ongoing process to change how we use certain words. It's important to choose words carefully to convey the correct meaning and avoid harmful subtext or exclusion. Let's explore some of the tools and triage methods that it takes from an engineering viewpoint to make bias-free choices. How can you ensure that biased words do not sneak into code, UI, docs, configurations, or our everyday language?
First, let's walk through how to take an inventory of assets from code to config files to API specifications to standards. Next, by placing those findings into categories, prioritize the work to substitute with inclusive alternatives. Let's examine some examples using both API and code assets. Next is a demonstration of how to automate analyzing your source code or documentation with a linter, looking for patterns based on rules that are fed into the tool.
What's in the future for these efforts? Inclusive language should expand beyond English and North America efforts. To do so, let's organize the work with automation tooling, as engineers do.
Creating API documentation for international communitiesPronovix
How to create documentation and write code for an international audience, not just the people who speak and think like you. Make your APIs more useful for everyone on the planet.
Much of the documentation supplied by both Open Source and Close Souce projects assume the community have a good understanding of the English language and often North American culture as well. This creates barriers for many solution providers, who are the gateway to potentially huge markets for your project.
This talk discusses some of the cultural differences, particularly for people from Asia, in using English language API documentation. It suggests some strategies to help diverse audiences understand you APIs and create solutions using them.
The talk will cover not only differences in language but also other cultural differences that are often not obvious. For example:
Different expectations about publication formats, release processes, levels of support during the development process
Meeting and communications styles
Software development workflows, processes, and tools
Supporting people who are visually impaired will also be briefly discussed.
As well as discussing these issues, specific suggestions will be provided to make API docs accessible for as many people as possible.
This talk is based on Alec's work with customers in Europe, North America, Middle East, Asia, and Australasia. The last five have been spent as a developer evangelist working with PaperCut partners in China, Japan, Korea, US and Europe.
APIs in a modern enterprise are rarely uniform or all of the same type. The multitude of API types can be due to organic growth, mergers and acquisitions, or any number of other reasons. Regardless of their origin, APIs of all types need to be fully documented to facilitate a developer’s journey as they interact with your API ecosystem in order to develop useful applications. In this talk I will show examples of how we have augmented developer portals to document APIs that are not of the REST variety, such as AsyncAPI, GraphQL, SOAP, gRPC, and more, such that all API documentation can seamlessly live side-by-side.
Docs-as-Code: Evolving the API Documentation ExperiencePronovix
We are a software engineering team creating API docs. Docs are authored using Instructional Design principles to narrate use-cases and practical API implementations. This talk shares why & how we've applied software development practices to evolve our document tooling, creation, & delivery methods.
Our APIs describe asynchronous protocols used for embedded software (firmware) components in a digital 2-way radio communications system. The API is protocol data unit (PDU) based and its definition is described in a proprietary format; consequently, well-known API formats, such as Swagger/OpenAPI, or tools, such as doxygen, are not used.
Our product training and technical writing teams are very experienced in Instructional Design methods, but these teams have only written documentation for an end-user audience. Understanding software development processes is equally important as understanding two-way radio networks in order to successfully integrate with the APIs. This is the rationale for having a software engineering team develop the skillsets to write API documentation for a developer audience.
With a solid foundation of API documentation in place, regular examination of engineering efficiency and developer experience is appropriate. Repeated actions can be replaced by automation. Content can be modular and re-usable. Formats can be streamlined for easier consumption. Docs can be made portable and lightweight for faster delivery.
Developer journey - make it easy for devs to love your productPronovix
Ever wonder how some products are just lovable and easy to use while other are not? The good products have optimized onboarding into their ecosystem where you get the information served at the right time.
That’s thanks to developer journey and we will teach you how to get it right!
We will go through the basics such as how to analyze existing and non-existing developer touchpoints, set metrics and optimize them to increase the conversion.
Deliberate Complexity Conferences - 19 JULY 2022
Alicia Juarrero - Complexity is not complicatedness
Professor Alicia Juarrero, a leading complexity theory philosopher and academic, as well as the founder and president of VectorAnalytica, a technology company that specializes in large scale scientific data capture and real time analysis tools. Alicia's work in complexity theory is widely quoted by thought leaders in the technology space and referenced in many recent complexity-informed approaches for managing highly dynamic systems, as well as in knowledge management.
How cognitive biases and ranking can foster an ineffective architecture and d...Pronovix
Deliberate Complexity Conferences - Building Successful Platforms and APIs (29 June). Kenny Baas-Schwegler & Evelyn van Kelle - How cognitive biases and ranking can foster an ineffective architecture and design
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
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.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
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
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
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.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
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!
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
4. PAGEDAY2017/11/01#MOONGIFT/12
About this talk
• It is based on my experience
• I will share with you how to improving document
maintenance environment
• It’s not high level and no smart, but it’s realistic
4
7. PAGEDAY2017/11/01#MOONGIFT/12
GitHub Wiki
• 👍 Updating content on web browser and supporting version management.
• 👎 Dividing code and document. Don’t support pull request workflow.
• 👎 Don’t support localization.
7
8. PAGEDAY2017/11/01#MOONGIFT/12
Un documentation API
• Wiki didn’t cover everything and every update.
• Checking is very hard job that what is collect or not.
• Halfway document disturbs my job.
8
I've decided creating document from zero.
12. PAGEDAY2017/11/01#MOONGIFT/12
Translating is not localization
• Structure of sentence is completely different
• Many times, English needs longer sentence than Japanese
• Japanese has 3 types characters (Hiragana/Katakana/Kanji)
12
13. PAGEDAY2017/11/01#MOONGIFT/12
Document in Code
• 👍 Connecting code and document
• 👎 Too much comment in code for
documentation
• 👎 Programmer is NOT necessarily able
to write high readability document
• 👎 Most document generators don’t
support i18n.
13
desc 'Returns your public timeline.' do
summary 'summary'
detail 'more details'
params API::Entities::Status.documentation
success API::Entities::Entity
failure [[401, 'Unauthorized', 'Entities::Error']]
named 'My named route'
headers XAuthToken: {
description: 'Validates your identity',
required: true
},
XOptionalHeader: {
description: 'Not really needed',
required: false
}
hidden false
deprecated false
is_array true
nickname 'nickname'
produces ['application/json']
consumes ['application/json']
tags ['tag1', 'tag2']
end
get :public_timeline do
Status.limit(20)
end
26. PAGEDAY2017/11/01#MOONGIFT/12
Why Markdown?
• Most swagger based document generators don’t support localization.
• Many static site generators support Markdown format
• We can add more contents like tutorials, getting started, SDK help and more!
• We choose MkDocs for documentation.
26
https://www.mkdocs.org
28. PAGEDAY2017/11/01#MOONGIFT/12
API to Document
• Document is not code
• Too many comments lower readability of code
• Test code or kitchen sink is good tutorial for programmers
• 1 correct code is more worth than 100 words
28