El documento proporciona información sobre servicios web como REST, JSON, SOAP y XML. Explica cómo acceder a servicios web populares como Flickr, Microsoft Translator, Google Maps y Twitter a través de sus APIs. También describe cómo instalar y utilizar bibliotecas de Python para interactuar programáticamente con estas APIs.
Este documento describe varios factores abióticos como la temperatura, la luz, el agua y la humedad y cómo afectan los ecosistemas. También describe factores climáticos como la latitud, la altitud, el relieve y la distancia al mar o continente y cómo influyen en el clima. Finalmente, explica en más detalle la temperatura y la humedad, incluyendo cómo se miden y sus efectos en los seres vivos y materiales.
EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...Alessandro Molina
Web development is more and more moving to rich JavaScript and mobile applications, building a fast and reliable API server has become a core foundation in such situations.
The new 2.3 version of TurboGears2 is aiming at providing a great toolkit on both Python3 and Python2 for such cases thanks to builtin support for:
New minimal mode for small single file applications.
Gevent based deploy on Mozilla Circus using the new GearBox toolkit
The TGJSonAutodoc sphinx extension for automatically documenting JSON based API
Out of the box support for MongoDB using the Ming ODM
The DebugBar profiler and query analyzer for MongoDB
Those tools can make really easy to quickly prototype a fully working and documented web service, greatly improving a developer life and quality of the services. Even deployment can become a single line command thanks to the GearBox toolkit integration with Mozilla Circus while the jsoncall sphinx extension can really speed up service documentation thanks to its tgjsonautodoc directive.
FLTK Summer Course - Part III - Third ImpactMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
This document provides instructions for creating a Python program to read data from a CSV file containing contact information for 3 individuals. It specifies downloading the testcsv.csv file, ensuring the program and file are in the same folder, and creating the CSV using the provided sample data. The program should read in the CSV file contents and print the results to confirm it is working successfully.
FLTK Summer Course - Part VIII - Eighth ImpactMichel Alves
O documento fornece uma introdução sobre o Fast Light Toolkit (FLTK), abordando o que é FLTK, sua hierarquia de objetos, ferramentas como o FLUID, suporte a gráficos 3D via OpenGL. Também discute conceitos sobre placas de vídeo, GPUs e tecnologias como SLI e CrossFire.
Git hooks are scripts that are executed by Git before/after events such as: commit, push, and receive. Git hooks are a built-in feature so there is need to download or install anything.
Git hooks helps you to improve your programming skills. Additionally, they help teams to setup and apply rules for the development cycle.
Code Refactoring - Live Coding Demo (JavaDay 2014)Peter Kofler
Peter Kofler gives a live coding demonstration of refactoring code to add a new requirement to an inventory management system. He first refactors the existing code to make it more readable and maintainable by removing duplication, splitting methods, and simplifying conditions. He then implements the new requirement that conjured items degrade in quality twice as fast by extracting a strategy pattern. The demonstration shows how refactoring first makes it possible to easily add new features to the code while preserving its behavior.
Este documento describe varios factores abióticos como la temperatura, la luz, el agua y la humedad y cómo afectan los ecosistemas. También describe factores climáticos como la latitud, la altitud, el relieve y la distancia al mar o continente y cómo influyen en el clima. Finalmente, explica en más detalle la temperatura y la humedad, incluyendo cómo se miden y sus efectos en los seres vivos y materiales.
EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...Alessandro Molina
Web development is more and more moving to rich JavaScript and mobile applications, building a fast and reliable API server has become a core foundation in such situations.
The new 2.3 version of TurboGears2 is aiming at providing a great toolkit on both Python3 and Python2 for such cases thanks to builtin support for:
New minimal mode for small single file applications.
Gevent based deploy on Mozilla Circus using the new GearBox toolkit
The TGJSonAutodoc sphinx extension for automatically documenting JSON based API
Out of the box support for MongoDB using the Ming ODM
The DebugBar profiler and query analyzer for MongoDB
Those tools can make really easy to quickly prototype a fully working and documented web service, greatly improving a developer life and quality of the services. Even deployment can become a single line command thanks to the GearBox toolkit integration with Mozilla Circus while the jsoncall sphinx extension can really speed up service documentation thanks to its tgjsonautodoc directive.
FLTK Summer Course - Part III - Third ImpactMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
This document provides instructions for creating a Python program to read data from a CSV file containing contact information for 3 individuals. It specifies downloading the testcsv.csv file, ensuring the program and file are in the same folder, and creating the CSV using the provided sample data. The program should read in the CSV file contents and print the results to confirm it is working successfully.
FLTK Summer Course - Part VIII - Eighth ImpactMichel Alves
O documento fornece uma introdução sobre o Fast Light Toolkit (FLTK), abordando o que é FLTK, sua hierarquia de objetos, ferramentas como o FLUID, suporte a gráficos 3D via OpenGL. Também discute conceitos sobre placas de vídeo, GPUs e tecnologias como SLI e CrossFire.
Git hooks are scripts that are executed by Git before/after events such as: commit, push, and receive. Git hooks are a built-in feature so there is need to download or install anything.
Git hooks helps you to improve your programming skills. Additionally, they help teams to setup and apply rules for the development cycle.
Code Refactoring - Live Coding Demo (JavaDay 2014)Peter Kofler
Peter Kofler gives a live coding demonstration of refactoring code to add a new requirement to an inventory management system. He first refactors the existing code to make it more readable and maintainable by removing duplication, splitting methods, and simplifying conditions. He then implements the new requirement that conjured items degrade in quality twice as fast by extracting a strategy pattern. The demonstration shows how refactoring first makes it possible to easily add new features to the code while preserving its behavior.
Blisstering drupal module development ppt v1.2Anil Sagar
1. Implement hook_form() to define the form structure using Form API elements like #type, #title, etc.
2. Add validation and submission handlers to validate form data and process form submission.
3. In the validation handler, validate the form data and use drupal_set_message() to display errors.
4. In the submission handler, save the form values and use drupal_set_message() to display success messages.
This allows you to create a basic configuration form, validate the submitted data, and save the configuration values on successful validation using Drupal's Form
FLTK Summer Course - Part II - Second Impact - Exercises Michel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
FLTK Summer Course - Part VII - Seventh ImpactMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
FLTK Summer Course - Part II - Second ImpactMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
Introduction to Git Commands and ConceptsCarl Brown
This document provides an introduction to Git and compares it to SVN. Some key points:
- In Git, all repositories are equal while in SVN there is a single master repository. Git allows more flexibility and parallel work.
- Git commits are identified by a SHA-1 hash, making them immutable. This allows tracing commits back to the first one.
- Branches and tags in Git are just pointers to commits, making branching a trivial operation.
- Common terms like HEAD, origin, master, and working directory are explained. Interacting with remote repositories using commands like clone, fetch, pull, and push is also covered.
- The document outlines an everyday workflow for using Git and provides tips for larger development teams
FLTK Summer Course - Part VI - Sixth Impact - ExercisesMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
The document discusses how to create custom Drupal modules, including the required .info and .module files, how modules are structured and placed in subdirectories, and how Drupal's hook system allows modules to interact and alter each other by implementing specific hook functions like hook_menu and various _alter hooks. It provides examples of how modules can build menus, render nodes, and alter other modules' forms using these hooks.
"Git Hooked!" Using Git hooks to improve your software development processPolished Geek LLC
Famous last words: "Works for me!" Sometimes, even though code works for you, when you push it to the remote repository or install it on the production site, suddenly you're faced with pesky errors that escaped the testing process. The later bugs are found during development, the more expensive a project becomes in terms of time, frustration, and money. One way to improve your code quality is to use automated testing with Git hooks.
In this session, Milton Bryant will walk you through some practical applications of automated testing using Git hooks. He'll demonstrate how to get Git hooks working with existing PHPUnit tests, to allow you to test your code as you commit it.
Presented at the Joomla World Conference 2014 in Cancun, Mexico - November 7, 2014
FLTK Summer Course - Part I - First Impact - ExercisesMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
TMS - Schedule of Presentations and ReportsMichel Alves
Ten Minute Speech - Schedule of Presentations and Reports. Subjects: dissertation themes, results using capacity-constrained distribution, image-based reconstruction with color consistency, seamless montage and stats from slideshare!
- Chapter 13 shows how graphics shapes and operations are implemented in C++ classes and provides more examples.
- Key classes are introduced like Point, Line, Lines, Color, and Text to represent graphical elements.
- Methods are defined for these classes to manipulate and draw the elements like setting color, style, and adding text.
- More complex shapes like polylines and a color matrix are demonstrated composed of simpler graphic objects.
This document summarizes updates to MongoDB's update functionality in version 2.6. Key points include:
- New update code and modifiers were added, replacing previous implementations. This included new validation, error handling, and oplog entry generation.
- New modifiers like $mul, $min, $max, and $currentDate were introduced. Improvements to existing modifiers like $push, $bit, and error messages were also made.
- The update execution flow was improved to yield as needed, make each document update atomic, and allow the journal to flush periodically. Immutable fields can now be validated and queried or set.
This document discusses the key elements of a minimal C program, including the main function header, return statements, standard libraries, variables, input/output functions, and debugging tools. It explains that a basic C program contains an int main function within curly brackets that typically returns 0, and may include standard libraries like stdio.h for input/output. Variables are declared with data types and assigned values through statements. Common errors like syntax issues or logical bugs can be debugged using tools like gdb.
The document discusses the Python FUSE module, which allows users to create their own file systems in user space rather than kernel space. It provides an overview of what file systems are and some history. It then explains that FUSE allows non-privileged users to create their own file systems without editing kernel code by using a special file descriptor to communicate between user space and kernel space. Examples of simple file systems created with FUSE like a hash table based file system and ones that simulate large files or encrypt file contents are presented to demonstrate how FUSE can be used.
This document outlines a company's code of conduct. It defines key terms and establishes general principles, policies, and procedures regarding employee discipline. Some key points:
- It aims to promote discipline and order to increase productivity while ensuring due process for employees.
- Policies adhere to positive discipline through communication, monitoring, and counseling to prevent issues rather than just punishments.
- It defines offenses and corresponding penalties like warnings, suspensions, and dismissal. More serious offenses carry heavier penalties.
- It establishes committees and processes for investigating offenses, imposing discipline, and allowing appeals to ensure fairness. Management can modify penalties based on circumstances.
- The code covers areas like attendance, duties, honesty, conduct,
The document provides best practices for developing with Drupal including getting Drupal from version control, updating modules, using revision control, module development practices like understanding prerequisites and hooks, input validation, avoiding direct database queries, theme development practices like available theme engines and template variables, and overriding themeable functions.
This document discusses code refactoring. It defines code refactoring as restructuring existing code without changing its external behavior. Reasons for refactoring include improving code design and reducing technical debt. Techniques include extracting methods, generalizing types, and moving code between classes. Tools like IDEs can assist with automated refactoring. Refactoring is often done in conjunction with test-driven development to iteratively improve code quality and extensibility.
This document discusses logging in Python and compares the standard logging module to the Logbook logging system. It provides an overview of when to use different logging levels like debug, info, warning. It also demonstrates how to initialize and use Logbook loggers, customize formatting, and send logs to backends like Redis, RabbitMQ. Logbook offers additional features over the standard logging module like context managers and custom formatters. The document recommends services like Airbrake for error reporting from logs.
Appcircus Academy: Integración de Social Media en AndroidAlberto Ruibal
Este documento describe cómo integrar redes sociales como Twitter, LinkedIn, Google+ y Facebook en aplicaciones Android. Explica los pasos para obtener claves de API, autenticar usuarios, realizar llamadas a las API y mostrar datos de las redes sociales como actualizaciones y perfiles de usuario. También cubre temas como mejorar anuncios con datos de usuarios y usar redes sociales para inicios de sesión y compartir contenido.
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasGuillermo Álvaro Rey
Lección "Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas" del Curso de Verano 2010 de la UPM: "Linked Data: ¿Una oportunidad o un riesgo?"
Blisstering drupal module development ppt v1.2Anil Sagar
1. Implement hook_form() to define the form structure using Form API elements like #type, #title, etc.
2. Add validation and submission handlers to validate form data and process form submission.
3. In the validation handler, validate the form data and use drupal_set_message() to display errors.
4. In the submission handler, save the form values and use drupal_set_message() to display success messages.
This allows you to create a basic configuration form, validate the submitted data, and save the configuration values on successful validation using Drupal's Form
FLTK Summer Course - Part II - Second Impact - Exercises Michel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
FLTK Summer Course - Part VII - Seventh ImpactMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
FLTK Summer Course - Part II - Second ImpactMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
Introduction to Git Commands and ConceptsCarl Brown
This document provides an introduction to Git and compares it to SVN. Some key points:
- In Git, all repositories are equal while in SVN there is a single master repository. Git allows more flexibility and parallel work.
- Git commits are identified by a SHA-1 hash, making them immutable. This allows tracing commits back to the first one.
- Branches and tags in Git are just pointers to commits, making branching a trivial operation.
- Common terms like HEAD, origin, master, and working directory are explained. Interacting with remote repositories using commands like clone, fetch, pull, and push is also covered.
- The document outlines an everyday workflow for using Git and provides tips for larger development teams
FLTK Summer Course - Part VI - Sixth Impact - ExercisesMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
The document discusses how to create custom Drupal modules, including the required .info and .module files, how modules are structured and placed in subdirectories, and how Drupal's hook system allows modules to interact and alter each other by implementing specific hook functions like hook_menu and various _alter hooks. It provides examples of how modules can build menus, render nodes, and alter other modules' forms using these hooks.
"Git Hooked!" Using Git hooks to improve your software development processPolished Geek LLC
Famous last words: "Works for me!" Sometimes, even though code works for you, when you push it to the remote repository or install it on the production site, suddenly you're faced with pesky errors that escaped the testing process. The later bugs are found during development, the more expensive a project becomes in terms of time, frustration, and money. One way to improve your code quality is to use automated testing with Git hooks.
In this session, Milton Bryant will walk you through some practical applications of automated testing using Git hooks. He'll demonstrate how to get Git hooks working with existing PHPUnit tests, to allow you to test your code as you commit it.
Presented at the Joomla World Conference 2014 in Cancun, Mexico - November 7, 2014
FLTK Summer Course - Part I - First Impact - ExercisesMichel Alves
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.
TMS - Schedule of Presentations and ReportsMichel Alves
Ten Minute Speech - Schedule of Presentations and Reports. Subjects: dissertation themes, results using capacity-constrained distribution, image-based reconstruction with color consistency, seamless montage and stats from slideshare!
- Chapter 13 shows how graphics shapes and operations are implemented in C++ classes and provides more examples.
- Key classes are introduced like Point, Line, Lines, Color, and Text to represent graphical elements.
- Methods are defined for these classes to manipulate and draw the elements like setting color, style, and adding text.
- More complex shapes like polylines and a color matrix are demonstrated composed of simpler graphic objects.
This document summarizes updates to MongoDB's update functionality in version 2.6. Key points include:
- New update code and modifiers were added, replacing previous implementations. This included new validation, error handling, and oplog entry generation.
- New modifiers like $mul, $min, $max, and $currentDate were introduced. Improvements to existing modifiers like $push, $bit, and error messages were also made.
- The update execution flow was improved to yield as needed, make each document update atomic, and allow the journal to flush periodically. Immutable fields can now be validated and queried or set.
This document discusses the key elements of a minimal C program, including the main function header, return statements, standard libraries, variables, input/output functions, and debugging tools. It explains that a basic C program contains an int main function within curly brackets that typically returns 0, and may include standard libraries like stdio.h for input/output. Variables are declared with data types and assigned values through statements. Common errors like syntax issues or logical bugs can be debugged using tools like gdb.
The document discusses the Python FUSE module, which allows users to create their own file systems in user space rather than kernel space. It provides an overview of what file systems are and some history. It then explains that FUSE allows non-privileged users to create their own file systems without editing kernel code by using a special file descriptor to communicate between user space and kernel space. Examples of simple file systems created with FUSE like a hash table based file system and ones that simulate large files or encrypt file contents are presented to demonstrate how FUSE can be used.
This document outlines a company's code of conduct. It defines key terms and establishes general principles, policies, and procedures regarding employee discipline. Some key points:
- It aims to promote discipline and order to increase productivity while ensuring due process for employees.
- Policies adhere to positive discipline through communication, monitoring, and counseling to prevent issues rather than just punishments.
- It defines offenses and corresponding penalties like warnings, suspensions, and dismissal. More serious offenses carry heavier penalties.
- It establishes committees and processes for investigating offenses, imposing discipline, and allowing appeals to ensure fairness. Management can modify penalties based on circumstances.
- The code covers areas like attendance, duties, honesty, conduct,
The document provides best practices for developing with Drupal including getting Drupal from version control, updating modules, using revision control, module development practices like understanding prerequisites and hooks, input validation, avoiding direct database queries, theme development practices like available theme engines and template variables, and overriding themeable functions.
This document discusses code refactoring. It defines code refactoring as restructuring existing code without changing its external behavior. Reasons for refactoring include improving code design and reducing technical debt. Techniques include extracting methods, generalizing types, and moving code between classes. Tools like IDEs can assist with automated refactoring. Refactoring is often done in conjunction with test-driven development to iteratively improve code quality and extensibility.
This document discusses logging in Python and compares the standard logging module to the Logbook logging system. It provides an overview of when to use different logging levels like debug, info, warning. It also demonstrates how to initialize and use Logbook loggers, customize formatting, and send logs to backends like Redis, RabbitMQ. Logbook offers additional features over the standard logging module like context managers and custom formatters. The document recommends services like Airbrake for error reporting from logs.
Appcircus Academy: Integración de Social Media en AndroidAlberto Ruibal
Este documento describe cómo integrar redes sociales como Twitter, LinkedIn, Google+ y Facebook en aplicaciones Android. Explica los pasos para obtener claves de API, autenticar usuarios, realizar llamadas a las API y mostrar datos de las redes sociales como actualizaciones y perfiles de usuario. También cubre temas como mejorar anuncios con datos de usuarios y usar redes sociales para inicios de sesión y compartir contenido.
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasGuillermo Álvaro Rey
Lección "Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas" del Curso de Verano 2010 de la UPM: "Linked Data: ¿Una oportunidad o un riesgo?"
El resumen describe una reunión de Betabeers Granada sobre el desarrollo de APIs REST. La agenda incluye una mesa redonda sobre el desarrollo de APIs con Parse, Django y Go, la presentación de un proyecto de código abierto, y un tiempo de preguntas y respuestas. Se discuten conceptos básicos de APIs REST y ejemplos de su uso con cURL. También se cubren frameworks populares y técnicas como cacheo y throttling.
El documento describe los pasos para el desarrollo de una API, incluyendo la creación de un documento funcional, diseño de la API, implementación de una versión preliminar, implementación completa, pruebas, documentación y generación de SDKs. Se menciona que RAML puede usarse para definir la API de una manera estandarizada que permite documentación, pruebas y generación de código.
Este documento describe los servicios web y su implementación en diferentes lenguajes de programación como PHP, Perl, Java y las APIs de Google. Explica cómo crear un servidor y cliente XML-RPC en PHP, un servicio web simple "Hola Mundo" en Perl, cómo definir y consumir un servicio web de validación de tarjetas de crédito en Java, y lista las diferentes APIs que Google ofrece para desarrolladores.
Este documento presenta una introducción a las principales plataformas para publicar y gestionar datos abiertos (Open Data), incluyendo Socrata, OpenDataSoft y CKAN. Explica brevemente cada plataforma y sus características clave como APIs, portales globales y capacidades para publicar, visualizar y reutilizar datos de forma estructurada. También introduce conceptos como APIs y formatos de respuesta como JSON que facilitan la integración de datos en aplicaciones web.
Este documento presenta una guía sobre la fase de footprinting en auditorías de seguridad. Describe 7 pasos para realizar footprinting, incluyendo visitar el sitio web objetivo, buscar información en Google y otros buscadores, usar servicios web para obtener datos de DNS e IP, y analizar metadatos. El objetivo general de footprinting es recopilar toda la información pública disponible sobre el sistema que será auditado para identificar posibles vulnerabilidades en fases posteriores.
Este documento describe los pasos para definir y desarrollar una primera API, incluyendo: (1) crear un documento funcional, (2) diseñar la API, (3) implementar una versión fake, (4) implementar la API real, (5) validar la API, (6) generar documentación, (7) casos de prueba y (8) SDKs. También discute consideraciones como el protocolo RESTful, formatos de datos, autenticación, versionado y documentación de APIs usando RAML.
Este documento presenta Automatic API REST, una herramienta que permite crear APIs REST de forma automática a partir de una base de datos MySQL o MariaDB. Explica cómo configurar la herramienta, gestionar el acceso a las tablas y campos de la base de datos, y realizar consultas y modificaciones de datos desde aplicaciones cliente a través de las APIs generadas. También describe brevemente cómo implementar notificaciones push utilizando Google Cloud Messaging.
Este documento proporciona una introducción a Google App Engine (GAE), una plataforma como servicio (PaaS) que permite alojar aplicaciones web escalables. Explica cómo crear aplicaciones web en GAE utilizando Python y Java, incluyendo cómo configurar el entorno de desarrollo, acceder a servicios como el almacenamiento de datos y memcache, y desplegar aplicaciones en la nube de Google. También proporciona un ejemplo paso a paso de cómo crear una aplicación web simple en GAE utilizando Java.
El documento describe diferentes sensores y cómo programarlos en Arduino para automatizar tareas. Explica cómo usar sensores de humedad, temperatura, ultrasonido y luz, mostrando código de ejemplo para cada uno que mide y muestra los valores sensorales o enciende un LED según los valores. El objetivo es mostrar cómo la programación permite que los sensores interactúen con el entorno.
Este documento proporciona una introducción a conceptos básicos de Internet como protocolos TCP/IP y HTTP, navegadores web, alojamiento y dominios. También explica temas como seguridad SSL/TLS, sitios web dinámicos, herramientas de posicionamiento como Google Analytics, AdWords y métricas como Alexa. Finalmente, recomienda plataformas para crear y probar sitios web como Google Sites, Cleverstat y Github Pages.
MongoDB es un sistema de base de datos orientado a documentos de código abierto que ofrece alta velocidad, escalabilidad y facilidad de uso. El documento describe las características clave de MongoDB como su sencilla instalación, consultas dinámicas similares a SQL, y capacidades de replicación y escalabilidad horizontal.
MongoDB es un sistema de base de datos orientado a documentos de alto rendimiento y esquema flexible. Ofrece ventajas como ser gratuito, multiplataforma, rápido, funcional, escalable y fácil de usar. Se puede instalar fácilmente en varios sistemas operativos y nube. El documento presenta MongoDB y muestra ejemplos de su uso con C# y Python.
Mada metodología ágil de desarrollo de apisCloudAppi
Este documento describe la Metodología Ágil de Desarrollo de APIs (MADA). MADA incluye pasos como realizar un documento funcional de la API, diseñar la API, implementar una versión preliminar, implementar la API completa, validarla, generar documentación y casos de prueba. El documento también explica cómo definir una API usando el lenguaje RAML y herramientas como SoapUI y Api Designer.
Este documento habla sobre scraping y APIs. Explica que el scraping permite extraer datos de diferentes formatos como PDF, HTML y JPG para analizarlos. También menciona herramientas para scrapear como Scrapy y aspectos legales. Luego introduce las APIs REST y cómo usan recursos, representaciones y HTTP. Finalmente menciona algunas APIs populares como Twitter, Instagram y Facebook.
Este documento proporciona una introducción a conceptos básicos de Internet como protocolos TCP/IP y HTTP, navegadores web, alojamiento y dominios. Explica cómo funcionan los sitios web utilizando HTML y servidores web, y cubre temas como seguridad SSL, redes sociales, posicionamiento SEO, análisis web y herramientas de desarrollo como Google Sites, Dreamweaver y Photoshop. También menciona JavaScript, PHP, MySQL, Flash y creación de bases de datos dinámicas.
5. Servicios REST I
● REST (REpresentational State Transfer) es una forma muy sencilla de crear y
usar servicios web.
● Se utiliza la semántica del protocolo HTTP (métodos POST, PUT, GET,
DELETE) para realizar operaciones en el servidor.
● El resultado de cada petición devolverá XML
● Los sistemas que siguen los principios REST se llaman con frecuencia
RESTful
6. Servicios REST II
REST afirma que la web ha disfrutado de escalabilidad como resultado de una
serie de diseños fundamentales clave:
● Protocolo cliente/servidor sin estado: cada mensaje HTTP contiene toda
la información necesaria para comprender la petición. Sin embargo, en la
práctica, muchas aplicaciones basadas en HTTP utilizan cookies y otros
mecanismos para mantener el estado de la sesión.
● Conjunto de operaciones bien definidas : HTTP en sí define un conjunto
pequeño de operaciones, las más importantes son POST, GET, PUT y
DELETE.
● Sintaxis universal para identificar los recursos : cada recurso es
direccionable únicamente a través de su URI (cadena de caracteres corta
que identifica inequívocamente un recurso (servicio, página, documento, ...).
Ej: http:, mailto:, ftp:, ...)
● Uso de hipermedios : la representación de este estado HTML o XML.
Como resultado de esto, es posible navegar de un recurso REST a muchos
otros, simplemente siguiendo enlaces sin requerir el uso de registros u otra
infraestructura adicional.
7. Servicios JSON I
● Acrónimo de JavaScript Object Notation, es un formato ligero para el
intercambio de datos.
● Es un subconjunto de la notación literal de objetos de JavaScript que no
requiere el uso de XML.
● Su simplicidad ha dado lugar a la generalización de su uso, especialmente
como alternativa a XML en AJAX.
● Una de las supuestas ventajas sobre XML como formato de intercambio de
datos en este contexto es que es mucho más sencillo escribir un analizador
semántico de JSON. En JavaScript, un texto JSON se puede analizar
fácilmente usando el procedimiento eval(), lo cual ha sido fundamental para que
JSON haya sido aceptado por parte de la comunidad de desarrolladores AJAX,
debido a la ubicuidad de JavaScript en casi cualquier navegador web.
8. Servicios JSON II
● Si bien es frecuente ver JSON posicionado contra XML, también es frecuente
el uso de JSON y XML en la misma aplicación. Por ejemplo, una aplicación de
cliente que integra datos de Google Maps con datos meteorológicos en SOAP
hacen necesario soportar ambos formatos.
● En diciembre de 2005 Yahoo! comenzó a dar soporte opcional de JSON en
algunos de sus servicios web.
9. REST: Ejemplo
● Ejemplo accediendo a Flickr.
● Solicitar un API Key :
http://www.flickr.com/services/apps/create/apply/
● Vamos a usar el metodo flickr.photos.getRecent
● Con esta URL se puede probar que funciona bien el API_KEY:
http://api.flickr.com/services/rest/?method=flickr.photos.getRecent&api_key
=<API_KEY>
10. JSON: Ejemplo
● Ejemplo accediendo a Microsoft API Translator.
● Solicitar un API Key :
http://www.bing.com/developers
● Vamos a usar el método Translate
● Con esta URL se puede probar que funciona bien:
http://api.microsofttranslator.com/V2/Ajax.svc/Translate?text=Hola
%20Mundo&from=es&to=en&appId=<API_KEY>
11. Google
● Librerías para acceder al API:
http://code.google.com/p/google-api-python-client
http://code.google.com/p/gdata-python-client
● Servicios accesibles:
● Google Custom Search API
● YouTube Data API
● Google Maps Data API
● URL shortener API
● Google Calendar API
● Google Documents List Data API
● Picasa Web Albums Data API
● Blogger Data API
● Google Book Search API
● Google Analytics API
● Google Apps Provisioning API
● Google Base Data API
● Google Code Search Data API
● Google Contacts API
● ...
13. Google: Instalación gdata-python-client
Descargar de aquí : http://code.google.com/p/gdata-python-
client/downloads/list .
Descomprimir el archivo en algún lugar y por último ejecutar el siguiente
comando:
# sudo ./setup.py install
14. Google: Instalación google-api-python-client
Descargar de aquí : http://code.google.com/p/google-api-python-
client/downloads/list .
Descomprimir el archivo en algún lugar y por último ejecutar el siguiente
comando:
# sudo ./setup.py install
También es compatible con setuptools y se puede instalar así:
# sudo easy_install google-api-python-client
15. Google: Búsquedas
● API :
http://code.google.com/intl/es/apis/customsearch/v1/overview.html
● Cuota gratuita limitada a 100 búsquedas por día.
● Si se necesita más se cobrarán $5 por cada 1000 consultas, hasta las
10,000 consultas por día. Si se necesitan más hay que pedir una cuota
adicional.
17. Google: Maps
● API :
http://code.google.com/apis/maps/documentation/webservices/index.html
● Tiene varios módulos:
● Directions API: Calcula direcciones entre localizaciones
● Distance Matrix API: Calcula tiempo y distancias para una matriz de
origenes y destinos.
● Elevation API : Provee datos de elevación para todas las localizaciones de
la superficie de la tierra. Si es negativa es bajo el mar.
● Geocoding API : Convierte direcciones en coordenadas y viceversa.
● Places API : Devuelve información sobre lugares. Servicios cercanos,
restaurantes, cines, puntos interesantes, ...
18. Google: URL shortener
● API:
http://code.google.com/apis/urlshortener/v1/reference.html
● Servicio para acortar URL en unos pocos caracteres y que asi sea más fácil
poder usarlas en email, mensajes cortos, sms, ...
● Requiere autentificación Oauth, que sale hecha en el ejemplo. Esto implica
pegar una url en el navegador para darle permiso a la aplicación a acceder a
nuestra cuenta de Google.
21. Twitter
● Twitter es una red de información de tiempo real que permite conectarte a lo
que encuentras interesante.
●Simplemente busca cuentas relevantes y sigue las conversaciones.
● La clave de Twitter son pequeños pedazos de información llamados Tweets.
● Cada Tweet tiene 140 caracteres de longitud.
22. Twitter: Ejemplo
●API :
https://dev.twitter.com/docs/api
● Hay que crear una nueva aplicación:
Se explica después
● Librerías para facilitar el acceso:
http://code.google.com/p/python-twitter
● Instalación librería:
sudo easy_install python-twitter
23. Twitter: Crear aplicación I
● Para poder usar twitter se debe crear una “aplicación twitter”
● Se accede a esta URL:
https://dev.twitter.com/apps/new
● No hace falta rellenar el Callback URL y hay que darle permisos de “Read and
Write” sino no se pueden hacer posts. Esto nos dará dos datos CONSUMER
KEY y CONSUMER SECRET.
● Lo siguiente es obtener la credenciales Oauth para nuestra aplicación python,
para ello viene un script con python-twitter que habrá que modificar para meter
el COMSUMER KEY y el CONSUMER SECRET:
get_access_token.py
● Nos pedirá que coloquemos una url en el navegador, para darle permiso
con nuestro usuario y después del proceso nos dará un PIN que habrá que
introducir para obtener otros 2 datos “Twitter Access Token Key” y “Access
Token Secret”
● Ahora ves a la aplicación python y haz el login como se explica
24. Twitter: Crear aplicación II
● Ahora ves a la aplicación python y haz el login como sigue:
api = twitter.Api(CONSUMER_KEY, CONSUMER_SECRET,
TWITTER_ACCESS_TOKEN_KEY,
ACCESS_TOKEN_SECRET)