[Quase] Tudo que você precisa saber sobre tarefas assíncronasFilipe Ximenes
This document provides information about Xima and his 5 years of experience in the Python community. It then summarizes some of Xima's work, including Django and Javascript projects on GitHub. The remainder of the document discusses Celery, a Python asynchronous task queue/job queue, including examples of using Celery tasks, chains, groups, signatures, and custom task classes.
Python meetup: coroutines, event loops, and non-blocking I/OBuzzcapture
This document discusses asynchronous programming concepts like non-blocking I/O, event loops, coroutines, and Python libraries that support them like Twisted, gevent, and asyncio. Coffee metaphors are used to explain blocking vs non-blocking I/O. Coroutines and generators allow functions to pause and resume while yielding to the event loop. Libraries like Twisted focus on networking protocols while gevent aims to make synchronous code asynchronous via monkey patching. asyncio is part of the Python standard library and uses yield from to support nested coroutines.
PyCon lightning talk on my Toro module for Tornadoemptysquare
With Tornado’s gen module, you can turn Python generators into full-featured coroutines, but coordination among these coroutines is difficult without mutexes, semaphores, and queues.
Toro provides to Tornado coroutines a set of locking primitives and queues analogous to those that Gevent provides to Greenlets, or that the standard library provides to threads.
The document discusses yield in Python and how it allows functions to act as generators by using the yield keyword instead of return, enabling generator functions to control execution by yielding values and resuming at the point after each yield. It explains how generators are created and how yield allows suspending and resuming execution of generator functions to implement features like coroutines, trampolines to avoid recursion limits, and the with statement in Python.
Practical Google App Engine Applications In PyEric ShangKuan
The document discusses techniques for building efficient applications on Google App Engine. It covers optimizing data storage and queries using the datastore, improving performance through caching and entity grouping, and techniques like zipimport and zipserve to work around file limits. Key recommendations include minimizing datastore calls, avoiding heavily indexing properties, rebinding query objects, and caching frequently accessed data in memcache.
Jakub Kulhán - ReactPHP + Symfony = PROFIT (1. sraz přátel Symfony v Praze)Péhápkaři
This document discusses using ReactPHP with Symfony to build asynchronous web applications that can handle a high volume of requests with minimal server resources. It provides code examples for bootstrapping a ReactPHP server, translating requests between ReactPHP and Symfony formats, handling responses, and creating asynchronous controller actions. Additional asynchronous libraries are also listed for connecting to databases like MySQL and message brokers like RabbitMQ.
The document discusses Objective-J, a JavaScript implementation that adds features from other languages like Ruby and Python. It highlights features like classical inheritance, dynamic dispatch, and method missing. It also discusses debugging tools for JavaScript like profile views. Finally, it provides links to learn more about Cappuccino and Objective-J.
The document provides an introduction to using Scala and sbt for a real-world Scala project. It demonstrates how to create a Scala project using the sbt build tool, add dependencies, write tests using Scalatest, integrate with IDEs, and measure test coverage. Additional sections discuss effective Scala practices, popular Scala libraries like Akka and Slick, and recommended books and resources for learning more about Scala.
[Quase] Tudo que você precisa saber sobre tarefas assíncronasFilipe Ximenes
This document provides information about Xima and his 5 years of experience in the Python community. It then summarizes some of Xima's work, including Django and Javascript projects on GitHub. The remainder of the document discusses Celery, a Python asynchronous task queue/job queue, including examples of using Celery tasks, chains, groups, signatures, and custom task classes.
Python meetup: coroutines, event loops, and non-blocking I/OBuzzcapture
This document discusses asynchronous programming concepts like non-blocking I/O, event loops, coroutines, and Python libraries that support them like Twisted, gevent, and asyncio. Coffee metaphors are used to explain blocking vs non-blocking I/O. Coroutines and generators allow functions to pause and resume while yielding to the event loop. Libraries like Twisted focus on networking protocols while gevent aims to make synchronous code asynchronous via monkey patching. asyncio is part of the Python standard library and uses yield from to support nested coroutines.
PyCon lightning talk on my Toro module for Tornadoemptysquare
With Tornado’s gen module, you can turn Python generators into full-featured coroutines, but coordination among these coroutines is difficult without mutexes, semaphores, and queues.
Toro provides to Tornado coroutines a set of locking primitives and queues analogous to those that Gevent provides to Greenlets, or that the standard library provides to threads.
The document discusses yield in Python and how it allows functions to act as generators by using the yield keyword instead of return, enabling generator functions to control execution by yielding values and resuming at the point after each yield. It explains how generators are created and how yield allows suspending and resuming execution of generator functions to implement features like coroutines, trampolines to avoid recursion limits, and the with statement in Python.
Practical Google App Engine Applications In PyEric ShangKuan
The document discusses techniques for building efficient applications on Google App Engine. It covers optimizing data storage and queries using the datastore, improving performance through caching and entity grouping, and techniques like zipimport and zipserve to work around file limits. Key recommendations include minimizing datastore calls, avoiding heavily indexing properties, rebinding query objects, and caching frequently accessed data in memcache.
Jakub Kulhán - ReactPHP + Symfony = PROFIT (1. sraz přátel Symfony v Praze)Péhápkaři
This document discusses using ReactPHP with Symfony to build asynchronous web applications that can handle a high volume of requests with minimal server resources. It provides code examples for bootstrapping a ReactPHP server, translating requests between ReactPHP and Symfony formats, handling responses, and creating asynchronous controller actions. Additional asynchronous libraries are also listed for connecting to databases like MySQL and message brokers like RabbitMQ.
The document discusses Objective-J, a JavaScript implementation that adds features from other languages like Ruby and Python. It highlights features like classical inheritance, dynamic dispatch, and method missing. It also discusses debugging tools for JavaScript like profile views. Finally, it provides links to learn more about Cappuccino and Objective-J.
The document provides an introduction to using Scala and sbt for a real-world Scala project. It demonstrates how to create a Scala project using the sbt build tool, add dependencies, write tests using Scalatest, integrate with IDEs, and measure test coverage. Additional sections discuss effective Scala practices, popular Scala libraries like Akka and Slick, and recommended books and resources for learning more about Scala.
Tony Hillerson presented on using Flex and Rails together. He discussed using XML, JSON and AMF for communication between the two frameworks. AMF provides the best integration as it handles data types automatically. The presentation covered installing the RubyAMF plugin, configuring mappings between Flex and Rails classes, and developing using a typical workflow of generating models, sample data, testing and wiring services. Flex applications can then save, load and destroy data from a Rails backend via remote objects calling AMF services. Future enhancements may include Gem plugins with C extensions for better performance. Resources for learning more are provided.
This document describes the architecture of the Angelos web application framework. It discusses how Angelos uses a PSGI engine to handle requests and responses through a pluggable dispatcher and controller system. It also describes how Angelos implements hooks to add functionality before and after controller actions are executed.
The document discusses the HomeKit framework which allows controlling home accessories like thermostats, lights, and sensors from iOS devices and Siri. It covers setting up accessories by discovering them on the local network, adding them to rooms in the HomeKit home database, and naming their services. It also explains how to control accessories by reading and writing characteristic values, setting up notifications for changes, and creating automations with triggers and scenes. Security features like end-to-end encryption using keys stored locally are highlighted.
This document discusses operator overloading in C++. It defines operator overloading as polymorphism that gives user-defined meaning to operators when used with custom data types. Almost any operator can be overloaded except a few like :: and sizeof. Overloaded operators can be implemented as member functions, non-member functions, or friend functions. There are also rules for operator overloading, such as preserving precedence and arity of operators and requiring certain operators like [] and -> to be member functions. The document provides examples of overloading unary and binary operators as member and friend functions.
Introduction to reactive programming & ReactiveCocoaFlorent Pillet
Reactive programming models asynchronous data streams as signals that produce events over time. ReactiveCocoa is a framework that implements reactive programming in Objective-C. It uses signals to represent asynchronous data streams and operators to transform and combine signals. ReactiveCocoa code separates the logic to produce and consume data, making it more modular, reusable, testable and by reducing state and mutability. While the syntax is different, learning to think reactively can improve code quality and stability.
The document defines functions for tracking visibility state changes of web pages and notifying a server of those changes. It defines a class called q that listens for visibility change events and sends notifications to a server with timing details. It also handles click events to reset the visibility change tracking.
The document defines functions for tracking visibility changes of web pages and elements. It defines a function called z that creates an object for tracking visibility events like page hiding/showing. This object defines properties like the element to track and callbacks for different events. It also defines functions for firing tracking pixels on those events.
The document discusses the lifecycle of code under test, including defining inputs and outputs, initial testing with positive and negative cases, handling bugs, refactoring code, adding abstraction, how future work may affect tests, and handling legacy code. It provides an example of a function to add two strings, injecting a bug, and walking through testing the code at different stages of the lifecycle from initial testing to refactoring and abstraction.
The document discusses deploying Firebase Cloud Functions using Firebase CLI commands. It also discusses types for defining Cloud Function interfaces and callable functions. There are examples of managing Algolia indexes using Cloud Functions and security rules for Firestore.
A few slides about asynchrnous programming in Node, from callback hell to control flows using promises, thunks and generators, providing the right amount of abstraction to write great code.
All examples available on https://github.com/troch/node-control-flow.
The next version of JavaScript, ES6, is starting to arrive. Many of its features are simple enhancements to the language we already have: things like arrow functions, class syntax, and destructuring. But other features will change the way we program JavaScript, fundamentally expanding the capabilities of the language and reshaping our future codebases. In this talk we'll focus on two of these, discovering the the myriad possibilities of generators and the many tricks you can pull of with template strings.
Using API mocking tools in the browser helps front-end developers to build web application without having to rely on any backend services.
Mirage runs a mock server alongside the rest of your frontend JavaScript code and existing code dose not need to be changed. It also provides many rich tools for data modelling.
Diving into HHVM Extensions (php[tek] 2016)James Titcumb
HHVM is quickly gaining popularity, and it is a pretty exciting time for PHP runtimes. Have you ever wondered what is going on beneath this slick, super-speedy engine? I wondered that myself, so I dived into the internals of HHVM, discovering a treasure trove of awesome stuff. In this talk, I will show you how HHVM works and how it all pieces together through a guided tour of the codebase. I will also show you a couple of ways to write your own incredible HHVM extensions.
Slides from my lightning talk at Frontend Dev Conf '14.
Wrap-up of dev tools for debugging provided by Google Chrome, including a few non-documented, but very handy ones.
Most AWS APIs will have limits on the amount of data you can send in one request and sometimes you really need to send a lot of data! To try to maximise the amount of data you can send, while still staying within the limits, some APIs support sending gzip-compressed payloads. But how can you send a gzipped request when using the Python SDK for AWS (boto3)? Well, I needed to answer this question recently and it turned out not to be as easy as I anticipated… Let’s jump into this rabbit hole together and let’s find out the answer!
This document discusses authentication and linking user accounts in a React Native mobile app using Firebase authentication. It provides code examples for signing in with Facebook credentials, listening for authentication state changes, linking additional credentials to a user account, and handling dynamic links for email verification and sign in.
This talk was given at JSSummit 2013. Entitled "Avoiding Callback Hell with Async.js", my talk focused on common pitfalls with asynchronous functions and callbacks in JavaScript, and using the async.js library and its advanced control flows to create cleaner, more manageable code.
Asynchronous programming done right - Node.jsPiotr Pelczar
This document discusses asynchronous programming and avoiding race conditions. It covers how asynchronous actions allow the main program flow to continue processing without blocking on I/O. It also discusses how asynchronous programming works with callbacks and promises rather than sequential execution. It provides examples of using libraries like Async to control asynchronous flows and common pitfalls to avoid like double callbacks and unexpected asynchronous behavior.
Crossing the Bridge: Connecting Rails and your Front-end FrameworkDaniel Spector
1. The document discusses integrating front-end frameworks like Angular, Ember, and React with Rails by constructing JSON APIs, preloading data to avoid loading screens, and server-side rendering for SEO and performance.
2. It provides code examples for building a TODO application with each framework, including using ngResource and factories in Angular, Ember conventions like Ember Data, and building isolated React components.
3. Server-side rendering is highlighted as the future for isomorphic JavaScript, providing benefits like prerendering on initial page load.
PSGI is a Perl port of Python's WSGI and Ruby's Rack that defines a common interface between web servers and frameworks. Plack provides reference implementations of PSGI servers as well as middleware and utilities. This allows frameworks to run on many servers like standalone, FastCGI, and Apache using a common PSGI application interface. Plack is fast, supports many frameworks through adapters, and provides tools like Plackup and middleware to help build and test PSGI applications.
Tony Hillerson presented on using Flex and Rails together. He discussed using XML, JSON and AMF for communication between the two frameworks. AMF provides the best integration as it handles data types automatically. The presentation covered installing the RubyAMF plugin, configuring mappings between Flex and Rails classes, and developing using a typical workflow of generating models, sample data, testing and wiring services. Flex applications can then save, load and destroy data from a Rails backend via remote objects calling AMF services. Future enhancements may include Gem plugins with C extensions for better performance. Resources for learning more are provided.
This document describes the architecture of the Angelos web application framework. It discusses how Angelos uses a PSGI engine to handle requests and responses through a pluggable dispatcher and controller system. It also describes how Angelos implements hooks to add functionality before and after controller actions are executed.
The document discusses the HomeKit framework which allows controlling home accessories like thermostats, lights, and sensors from iOS devices and Siri. It covers setting up accessories by discovering them on the local network, adding them to rooms in the HomeKit home database, and naming their services. It also explains how to control accessories by reading and writing characteristic values, setting up notifications for changes, and creating automations with triggers and scenes. Security features like end-to-end encryption using keys stored locally are highlighted.
This document discusses operator overloading in C++. It defines operator overloading as polymorphism that gives user-defined meaning to operators when used with custom data types. Almost any operator can be overloaded except a few like :: and sizeof. Overloaded operators can be implemented as member functions, non-member functions, or friend functions. There are also rules for operator overloading, such as preserving precedence and arity of operators and requiring certain operators like [] and -> to be member functions. The document provides examples of overloading unary and binary operators as member and friend functions.
Introduction to reactive programming & ReactiveCocoaFlorent Pillet
Reactive programming models asynchronous data streams as signals that produce events over time. ReactiveCocoa is a framework that implements reactive programming in Objective-C. It uses signals to represent asynchronous data streams and operators to transform and combine signals. ReactiveCocoa code separates the logic to produce and consume data, making it more modular, reusable, testable and by reducing state and mutability. While the syntax is different, learning to think reactively can improve code quality and stability.
The document defines functions for tracking visibility state changes of web pages and notifying a server of those changes. It defines a class called q that listens for visibility change events and sends notifications to a server with timing details. It also handles click events to reset the visibility change tracking.
The document defines functions for tracking visibility changes of web pages and elements. It defines a function called z that creates an object for tracking visibility events like page hiding/showing. This object defines properties like the element to track and callbacks for different events. It also defines functions for firing tracking pixels on those events.
The document discusses the lifecycle of code under test, including defining inputs and outputs, initial testing with positive and negative cases, handling bugs, refactoring code, adding abstraction, how future work may affect tests, and handling legacy code. It provides an example of a function to add two strings, injecting a bug, and walking through testing the code at different stages of the lifecycle from initial testing to refactoring and abstraction.
The document discusses deploying Firebase Cloud Functions using Firebase CLI commands. It also discusses types for defining Cloud Function interfaces and callable functions. There are examples of managing Algolia indexes using Cloud Functions and security rules for Firestore.
A few slides about asynchrnous programming in Node, from callback hell to control flows using promises, thunks and generators, providing the right amount of abstraction to write great code.
All examples available on https://github.com/troch/node-control-flow.
The next version of JavaScript, ES6, is starting to arrive. Many of its features are simple enhancements to the language we already have: things like arrow functions, class syntax, and destructuring. But other features will change the way we program JavaScript, fundamentally expanding the capabilities of the language and reshaping our future codebases. In this talk we'll focus on two of these, discovering the the myriad possibilities of generators and the many tricks you can pull of with template strings.
Using API mocking tools in the browser helps front-end developers to build web application without having to rely on any backend services.
Mirage runs a mock server alongside the rest of your frontend JavaScript code and existing code dose not need to be changed. It also provides many rich tools for data modelling.
Diving into HHVM Extensions (php[tek] 2016)James Titcumb
HHVM is quickly gaining popularity, and it is a pretty exciting time for PHP runtimes. Have you ever wondered what is going on beneath this slick, super-speedy engine? I wondered that myself, so I dived into the internals of HHVM, discovering a treasure trove of awesome stuff. In this talk, I will show you how HHVM works and how it all pieces together through a guided tour of the codebase. I will also show you a couple of ways to write your own incredible HHVM extensions.
Slides from my lightning talk at Frontend Dev Conf '14.
Wrap-up of dev tools for debugging provided by Google Chrome, including a few non-documented, but very handy ones.
Most AWS APIs will have limits on the amount of data you can send in one request and sometimes you really need to send a lot of data! To try to maximise the amount of data you can send, while still staying within the limits, some APIs support sending gzip-compressed payloads. But how can you send a gzipped request when using the Python SDK for AWS (boto3)? Well, I needed to answer this question recently and it turned out not to be as easy as I anticipated… Let’s jump into this rabbit hole together and let’s find out the answer!
This document discusses authentication and linking user accounts in a React Native mobile app using Firebase authentication. It provides code examples for signing in with Facebook credentials, listening for authentication state changes, linking additional credentials to a user account, and handling dynamic links for email verification and sign in.
This talk was given at JSSummit 2013. Entitled "Avoiding Callback Hell with Async.js", my talk focused on common pitfalls with asynchronous functions and callbacks in JavaScript, and using the async.js library and its advanced control flows to create cleaner, more manageable code.
Asynchronous programming done right - Node.jsPiotr Pelczar
This document discusses asynchronous programming and avoiding race conditions. It covers how asynchronous actions allow the main program flow to continue processing without blocking on I/O. It also discusses how asynchronous programming works with callbacks and promises rather than sequential execution. It provides examples of using libraries like Async to control asynchronous flows and common pitfalls to avoid like double callbacks and unexpected asynchronous behavior.
Crossing the Bridge: Connecting Rails and your Front-end FrameworkDaniel Spector
1. The document discusses integrating front-end frameworks like Angular, Ember, and React with Rails by constructing JSON APIs, preloading data to avoid loading screens, and server-side rendering for SEO and performance.
2. It provides code examples for building a TODO application with each framework, including using ngResource and factories in Angular, Ember conventions like Ember Data, and building isolated React components.
3. Server-side rendering is highlighted as the future for isomorphic JavaScript, providing benefits like prerendering on initial page load.
PSGI is a Perl port of Python's WSGI and Ruby's Rack that defines a common interface between web servers and frameworks. Plack provides reference implementations of PSGI servers as well as middleware and utilities. This allows frameworks to run on many servers like standalone, FastCGI, and Apache using a common PSGI application interface. Plack is fast, supports many frameworks through adapters, and provides tools like Plackup and middleware to help build and test PSGI applications.
- PSGI (Perl Web Server Gateway Interface) and Plack provide a common interface and utilities for building web applications and servers in Perl.
- PSGI defines a standard interface that web frameworks can implement to work with different server implementations. Plack provides server implementations like standalone, FastCGI and Apache modules.
- This allows frameworks to focus on the application code instead of server specifics, and servers to handle multiple frameworks. Common middleware and testing utilities are also included.
- Examples of frameworks that have adopted PSGI include Catalyst, Maypole and Mojolicious. Popular servers built on Plack include Starman and Dancer.
This document discusses various Docker orchestration tools including Kubernetes, Marathon, Rancher, Helios, Ansible Container, Docker Swarm, and others. It provides brief descriptions and usage examples for several of the tools. Kubernetes and Marathon are covered in slightly more detail, with notes on prerequisites and basic usage commands provided. The document aims to introduce developers to common options for orchestrating Docker containers at scale.
This document provides an overview of the Play! web framework for Java, including how it differs from traditional Java web development approaches by avoiding servlets, portlets, XML, EJBs, JSPs, and other technologies. It demonstrates creating a simple PDF generation application using Play!, including defining a model, controller, and view. The framework uses conventions over configuration and allows rapid development through features like automatic reloading of code changes and helpful error pages.
PSGI and Plack provide a common interface (PSGI) and shared infrastructure (Plack) for building web applications and frameworks in Perl. PSGI defines a standard way for applications to communicate with web servers through a request/response interface. Plack provides many server implementations like FastCGI and standalone that can run PSGI applications. It also includes middleware, testing tools, and utilities to help developers. This new approach allows frameworks and applications to focus on their logic while reusing common plumbing through PSGI and Plack.
PSGI and Plack provide a common interface (PSGI) and shared infrastructure (Plack) for building web applications and frameworks in Perl. PSGI defines a standard way for applications to communicate with web servers through a request/response interface. Plack provides many server implementations like FastCGI and standalone that can run PSGI applications. It also includes middleware, testing tools, and utilities to help developers. This new approach allows frameworks and applications to focus on their logic while reusing common plumbing through PSGI and Plack.
This document summarizes Deepak Garg's presentation on Fabric and app deployment automation. Fabric allows defining Python functions to automate system administration and deployment tasks across multiple servers. Example functions showed provisioning VMs, installing packages, deploying code, and more. Fabric offers commands to run commands remotely, upload/download files, and decorators to define server groups and task properties. The goals of Fabric include testing infrastructure, deploying and scaling apps across identical environments, and making systems administration tasks Pythonic and automated.
Learn the ins and outs of running background tasks with the popular python module Celery. We'll hit the ground running. With everything you need to know to run your first task, to scaling your stack to run millions each day.
This document provides an introduction and overview of a Node.js tutorial presented by Tom Hughes-Croucher. The tutorial covers topics such as building scalable server-side code with JavaScript using Node.js, debugging Node.js applications, using frameworks like Express.js, and best practices for deploying Node.js applications in production environments. The tutorial includes exercises for hands-on learning and demonstrates tools and techniques like Socket.io, clustering, error handling and using Redis with Node.js applications.
Swift Cloud Workshop - Swift MicroservicesChris Bailey
The document discusses deploying Swift microservices with Docker and Kubernetes. It covers building a Swift microservice into a Docker container, deploying the container with Kubernetes, and integrating resiliency features like health checks, circuit breakers, and monitoring. Key points include using Dockerfiles to package the application, Helm charts to deploy to Kubernetes, liveness probes to check service health, and circuit breakers to handle failures of downstream services.
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...Provectus
In this demo based talk with live coding, we’ll present a functional typeful framework for developing Apache Spark applications. We’ll walk through the following key topics: – turning unmanageable Spark scripts into typeful Spark Functions – serverless deployment of Spark functions into the cloud – unit testing Spark functions to save cluster resources and developers time – seamless Spark session management between concurrent Spark jobs in exclusive or share modes
Mist - Serverless proxy to Apache SparkВадим Челышов
Mist is a serverless framework that allows running Apache Spark jobs via a REST API. It addresses issues with deploying and running Spark jobs in production by providing a programming model and infrastructure similar to serverless computing. Mist runs Spark functions on demand across multiple clusters. Functions are defined using a MistFn trait and are triggered via a REST API. The Mist master queues and schedules requests on Mist workers. Contexts define Spark configuration and resources for running functions in parallel in a shared or exclusive mode. This improves scalability, multi-tenancy and provides a more normal development experience for Spark jobs compared to the usual approach of submitting jobs via the Spark shell.
These are the slides of my talk at iOSCon 2017: https://skillsmatter.com/skillscasts/9549-architecting-alive-apps
Our apps are ever more alive. They interact with the rest of the world talking to backends and receiving notifications from them. They get their input from us and from other sensors. They are even aware of the location of the device they run in, or its position. But, in our IoT world, they may also detect presence in a room, get the temperature of it, or change the color of its lights.
Sadly enough, many of the apps available today with those capabilities have some architectural limitations:
Many of them are written in a way that is really dependent on a specific hardware.
Some restrict their use cases to whatever is provided by the hardware devices.
And almost all of them expect having a connection with the real device as the only way to test if they work properly.
However, we can also use an advanced architecture, like the Clean Architecture, to create a beautiful, scalable, testable, and robust application. Join Jorge and he will share with you how you can do it!
This is a "Code or it didn't happen" (TM) talk.
Slides from my talk "Node.js Patterns for Discerning Developers" given at Pittsburgh TechFest 2013. This talk detailed common design pattern for Node.js, as well as common anti-patterns to avoid.
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
HA websites are where the rubber meets the road - at 200km/h. Traditional separation of dev and ops just doesn't cut it.
Everything is related to everything. Code relies on performant and resilient infrastructure, but highly performant infrastructure will only get a poorly written application so far. Worse still, root cause analysis in HA sites will more often than not identify problems that don't clearly belong to either devs or ops.
The two options are collaborate or die.
This talk will introduce 3 core principles for improving collaboration between operations and development teams: consistency, repeatability, and visibility. These principles will be investigated with real world case studies and associated technologies audience members can start using now. In particular, there will be a focus on:
- fast provisioning of test environments with configuration management
- reliable and repeatable automated deployments
- application and infrastructure visibility with statistics collection, logging, and visualisation
This is the slide for what I shared in JS Group meetup, 2014, Taiwan. It covers what JavaScript could do for making the program more "functional", the benefits, price and the limitation.
Complex Made Simple: Sleep Better with TorqueBoxbobmcwhirter
The document discusses using TorqueBox, a Ruby application server based on JRuby and JBoss AS7, to deploy a Rails application in production. It compares various deployment options from rolling your own infrastructure to using a platform as a service like Heroku. TorqueBox provides a middle ground where it handles services like caching, background jobs, scheduling, and clustering but still allows customization. The document walks through migrating an existing Rails app's Delayed::Job and caching implementations to use TorqueBox equivalents to simplify the deployment.
JavaScript is evolving with the addition of modules, platform consistency, and harmony features. Modules allow JavaScript code to be organized and avoid naming collisions. CommonJS and AMD module formats are used widely. Platform consistency is improved through polyfills that mimic future APIs for older browsers. Harmony brings language-level modules and features like destructuring assignment, default parameters, and promises to JavaScript. Traceur compiles Harmony code to existing JavaScript.
The document discusses the benefits of using Istio service mesh to connect microservices. Istio provides a standard sidecar proxy that handles tasks like load balancing, failure recovery, metrics collection, and traffic management for microservices. It also provides interfaces to configure and manage policies separately from application code. This allows clear separation between application development and operations tasks like routing, monitoring, and access control configuration.
Similar to Tasks: you gotta know how to run them (20)
The presentation gives an overview on how multitenant applications work and what are advantages, drawbacks to some of the possible approaches as well an overview on how to do it in Django
REST é a bola vez quando falamos sobre API. As maioria dos serviços que encontramos na web fornece interfaces deste tipo para que possamos desenvolver integrações. Será mesmo que estas APIs podem ser consideradas RESTful? O que é preciso para que uma API seja considerada RESTful? Você sabia que este padrão já existe a mais de 15 anos? Nesta palestra vamos nos aprofundar no tema e entender os conceitos e constraints de um sistema RESTful para que possamos explorar suas vantagens na hora de arquitetar nossa próxima API web.
APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]Filipe Ximenes
O documento discute APIs, definindo-as como interfaces de interação de softwares e serviços web. Explica como APIs funcionam usando o protocolo HTTP e os principais conceitos como recursos, representações, URLs, endpoints e métodos HTTP. Fornece um exemplo prático de construção de uma API para uma aplicação de montagem de bicicletas customizadas.
Usando tapioca para acessar APIs web [PyBR11]Filipe Ximenes
Este documento apresenta o framework Tapioca Wrapper para criar wrappers para APIs web de forma simples e declarativa, requerendo poucas linhas de código. O Tapioca Wrapper utiliza a biblioteca Requests para fazer requisições HTTP e suporta paginação, hipermídia, serialização, tratamento de excessões e acesso rápido à documentação. Exemplos demonstram como criar wrappers para as APIs do Facebook e Twitter com poucas linhas de código cada.
Este documento apresenta 10 expressões idiomáticas comumente usadas no Python. Ele explica que expressões idiomáticas podem ajudar na legibilidade e desempenho do código e torná-lo mais "pythonico". As expressões incluem: testar a verdade de valores, usar "in" para verificação e iteração, permutar valores sem variáveis temporárias e usar compreensão de lista para construir listas.
Desenvolver um projeto não se trata apenas de escrever código funcional. Legibilidade, modularização, acoplamento, portabilidade, complexidade e documentação são todas métricas importantíssimas para se produzir código de qualidade. Respondendo perguntas como:
Como organizar os arquivos no projeto?
Quais bibliotecas podem ajudar a tormar sua aplicação mais robusta e melhorar seu código?
Como organizar seu ambiente de desenvolvimento, staging e produção?
O que são boas e más práticas de desenvolvimento?
vamos debater como e quais ferramentas e padrões podem nos ajudar a desenvolver código de qualidade, sem que seja preciso muito esforço.
O App Engine (PaaS da Google) foi por algum tempo uma das plataformas mais simples para se começar um produto na web, pela facilidade e abstração que oferece, fazendo com que o desenvolvedor não tenha que se preocupar com dificuldades técnicas normalmente encontradas em outras plataformas do gênero. Nesta palestra, vamos falar sobre porque no Trainee World (http://www.traineeworld.com.br/home) optamos pela migração para o framework Django e o serviço de hosting do Heroku. Quais são as vantagens e desvantagens? Vale a pena?
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfUndress Baby
The quest for the best AI face swap solution is marked by an amalgamation of technological prowess and artistic finesse, where cutting-edge algorithms seamlessly replace faces in images or videos with striking realism. Leveraging advanced deep learning techniques, the best AI face swap tools meticulously analyze facial features, lighting conditions, and expressions to execute flawless transformations, ensuring natural-looking results that blur the line between reality and illusion, captivating users with their ingenuity and sophistication.
Web:- https://undressbaby.com/
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
What is Master Data Management by PiLog Groupaymanquadri279
PiLog Group's Master Data Record Manager (MDRM) is a sophisticated enterprise solution designed to ensure data accuracy, consistency, and governance across various business functions. MDRM integrates advanced data management technologies to cleanse, classify, and standardize master data, thereby enhancing data quality and operational efficiency.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Odoo ERP software
Odoo ERP software, a leading open-source software for Enterprise Resource Planning (ERP) and business management, has recently launched its latest version, Odoo 17 Community Edition. This update introduces a range of new features and enhancements designed to streamline business operations and support growth.
The Odoo Community serves as a cost-free edition within the Odoo suite of ERP systems. Tailored to accommodate the standard needs of business operations, it provides a robust platform suitable for organisations of different sizes and business sectors. Within the Odoo Community Edition, users can access a variety of essential features and services essential for managing day-to-day tasks efficiently.
This blog presents a detailed overview of the features available within the Odoo 17 Community edition, and the differences between Odoo 17 community and enterprise editions, aiming to equip you with the necessary information to make an informed decision about its suitability for your business.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
25. Calling a task from another
@app.task
def add(a, b):
return a + b
@app.task
def add_all(*args):
result = 0
for i in args:
result = add.delay(result, i).get()
return result
add_all.delay(1, 2, 3, 4)
32. Idempotency
"... is the property of certain operations in
mathematics and computer science, that
can be applied multiple times without
changing the result beyond the initial
application."
- wikipedia
36. Atomicity
"... is an indivisible and irreducible series
of database operations such that either
all occur, or nothing occurs."
- wikipedia
37. How to be Atomic?
@app.task
def update_data():
user.status = 'updated'
user.save()
r = facebook_request()
user.name = r.name
user.save()
@app.task
def update_data():
r = facebook_request()
if r.status != 200:
return
user.name = r.name
user.status = 'updated'
user.save()
vs.
38. How to be Atomic?
@app.task
def newsletter():
users = all_users()
for u in users:
send(email, 'newsletter')
@app.task
def send_newsletter(email):
send(email, 'newsletter')
@app.task
def newsletter():
users = all_users()
for u in users:
send_newsletter.delay(u.email)
vs.
39. Failed? Try again!
from tapioca.exceptions import TapiocaException
from tapioca_facebook import Facebook
@app.task(bind=True, retry_limit=4
default_retry_delay=2)
def likes_do_facebook(self):
api = Facebook(access_token=ACCESS_TOKEN)
try:
api.user_likes(id='me').get()
except TapiocaException as e:
self.retry(exc=e)
56. Chains, Groups & Chords
c = chain(add.s(4, 4), mul.s(8), mul.s(10))
res = c().get() # 640
g = group(add.s(2, 2), add.s(4, 4))
res = g().get() # [4, 8]
callback = tsum.s()
header = [add.s(i, i) for i in range(100)]
result = chord(header)(callback)
result.get() # 9900