Recursos de programación de rest
Develop a robust RESTful web API is not a simple task. How to manage the error handling? Which format to use for the data exchange? How to manage the content negotiation? What about the versioning? How to build an authentication system? How to produce the API documentation? In this talk we will show how to design and implement a REST architecture using Apigility, the open source API builder for PHP (
At the end of the previous post (Clarifying conditional logic), I had this version of the code: Even though the conditional logic in the update-item-quality function read much better than the original one, I completely got rid of it using the replace conditional with polymorphism refactoring. I used multimethods which is one of the ways of achieving polymorphism in Clojure. To start this refactoring, I first renamed the update-item-quality function to update-item-quality-old. Then I created a m...
Título: Mobile Backend as a Service (MBaaS) Ponente: José Manuel Ortega Candel Link: Volver al programa Mobile Backend as a Service (MBaaS) La charla trataría de dar una introducción a los servicios en la nube que se pueden utilizar para persistir los datos de nuestras aplicaciones móviles Los puntos a tratar podrían ser: - Introducción a la persistencia en dispositivos móviles - Arquitectura MBaaS - Servicios de persistencia en la nube - Push Notifications - Google Cloud Messaging - Ventajas y desventajas de estas plataformas - API REST - Demostración usando la API de algunas de las plataformas que ofrece estos servicios como Parse
At the end of last post, we had eliminated some duplication from an Angular controller by using events to make it communicate with some of the widgets it was using. This was the code at that moment: Next we got advantage of the decoupling given by using events to move the rest of the code that had to do with the date range widget to an Angular directive. First we created the directive: where we moved the code that creates and initializes the date range widget. Then we moved all the html that wa...
I've continued working on the Mars Rover kata. This time I've solved it using a finite state machine implemented with mutually recursive functions and trampoline. Mutually recursive functions are a nice functional way to implement finite state machines and it's a functional way of expressing the state pattern (see Functional Programming Patterns in Scala and Clojure, Michael Bevilacqua-Linn). As in the previous example using protocols, we have four possible states of the rover: The rover is faci...
I've just watched this interesting talk by Martín Salías (in Spanish): REST in peace - por Garajeando
I've continued working on the Mars Rovers kata code that I first implemented using multimethods. In this version I've used protocols instead of multimethods. Since I had previously distributed the code in several different name spaces, I only had to modify the rover name space. The rest of the code keeps just using the same functions of the rover name space: the rover factory and the four commands rotate-left, rotate-right, move-forwards and move-backwards. However, the implementation of the rov...
BEFORE WE STARTED Departments and silos Traditional waterfall approach to software development Platform with high maintenance cost Manual testing of new feature and regression test No code quality metrics OUR LAST NINE MONTHS SCRUM TEAMS Four self-organized teams Two product teams Two services teams Addressing the immediate project pipeline needs and maintaining productivity during the change Building long term product vision One Product Owner per team, internally selected KAIZEN TEAM Kaizen Team Team Vision: Optimize the ROI of clients by driving productivity in a lean organization which promotes open and honest conversation and a joint responsibility for continuous improvement Role of the Kaizen Product Owner Two Scrum Masters for four scrum teams Teamwise part-time dedicated to allow focus on process Fosters the practice of facilitation and coaching on different teams Drive continuous improvement initiatives PRODUCTS AND VISION Initial product definition Front End component Back End Component Integration with external services Hybrid model for team focus (component / feature / project) Dependencies Not always clear what we called a product and a product team Long term vision vs. short term delivery ORGANIZATIONAL CHANGES Reporting lines changes From Managers to Tribe Leaders Peer feedback experiment Employees goals aimed to foster collaboration NEW TECHNICAL PRACTICES Fostering craftsmanship excellence through communities of practice, Lunch’n’Learn and Reading Clubs activities New tools aimed to drive continuous integration and code quality CHALLENGES IT Operations integration within scrum teams and DevOps culture Unified backlog among different tools and PMO visibility on project progress Long term product vision, feature teams and domain specialization Tactical interdependencies among teams Change management Managerial tasks ownership Holidays Hardware renovation Expense approval People development (appraisals, trainings, etc.) THE FUTURE SELF ORGANIZED TEAMS AND LEAN ORGANIZATION Deal with the current challenges Move toward Feature Teams Welcome a new Scrum Master Deal with the current challenges Coaching Product Owners Coaching Agile Managers / Tribe Leaders CONTINUOUS INTEGRATION AND ONE DAY RELEASE Leaner self-organized teams and organization Deal with current challenges Coaching Tribe Leaders / Agile Managers Coaching Product Owners Coaching the rest of the Organization Move towards Feature Teams Keep working toward Continuous Integration Improve code quality metrics Shorten Regression Test through automation Automate environment syncing tasks Autor: Fabio Frascella Abstract: Traditionally, analyzing big data with machine learning tools has been prohibitively complex and expensive. In this session you will see how BigML makes machine learning more accessible than ever thanks to it's well defined workflow, insightful visualizations, and fully featured REST API. Session presented at Big Data Spain 2014 Conference 18th Nov 2014 Kinépolis Madrid Event promoted by: