Face it: most Drupal intranets / extranets / back-offices feel sluggish, and that's because they do too much during the page cycle. Make them snappier by deferring work to a Queue worker.
Delayed operations with queues for website performanceOSInet
Delaying work and deferring it to a queue handled asynchronously is one of the most efficient ways to improve full-page performance on complex page structures typical of content-oriented sites built with Drupal and other CMSes. These are the slides of the talk I have at DrupalCon Barcelona 2015 with Yuriy Gerasimov on this topic : learn about deferred submits, anticipated content refresh, and other tricks to speed up your sites.
Introduction to asynchronous DB access using Node.js and MongoDBAdrien Joly
This document introduces asynchronous database access in Node.js using MongoDB. It discusses using callbacks for asynchronous queries instead of sequential queries. It then shows how to separate the view from the controller using a model-view-controller pattern by creating model files that encapsulate database queries. Finally, it discusses optimizing the code by initializing the database connection once and making the models and controllers rely on the initialized connection.
ECMAScript 6 (ES6) is getting closer and closer with more support available in both node 0.12.0 and io.js. ES6 promises to fundamentally change the way we develop applications on node.js by allowing for the use of generators for iterators and a standard promises library for orchestrating our asynchronous calls. In this talk we will explore the implications of ES6 for the node driver and applications written on top of the driver.
PHPUnit is the most famous unit test framework for PHP. Mocks help programmers and testers to replace (mock) external dependencies during unit test development.
The document discusses the request-response process in Symfony, including the roles of the front controller, kernel, and events/listeners. It outlines the main events in the process - kernel.request, kernel.controller, kernel.response - and examples of how listeners can modify requests, controllers, and responses at each point.
Automation and reusable automation components make up some of the core functionality of ManageIQ. This presentation walks through the roadmap of automate and what you can expect in future versions, including easier provisioning on all platforms, and the ability to push and share configs via git.
For more on ManageIQ, see http://manageiq.org/
This document summarizes the key benefits of using JavaScript across the full stack, from the database layer to the server and client-side applications. It highlights how CouchDB allows storing and querying JSON documents with JavaScript, and how Node.js enables building high-performance web servers with JavaScript. Asynchronous programming and control flow modules are discussed as techniques for managing callbacks. Testing and continuous integration are also covered.
ServiceWorker: Exploring the Core of the Progressive Web App-Bagus Aji Santos...DicodingEvent
This document discusses Service Workers and their role in Progressive Web Apps. It covers the basics of Service Workers including their lifecycle of registration, installation, and activation. It also discusses caching strategies that can be used with Service Workers like cache-first, cache-only, network-first, and stale-while-revalidate. Code examples are provided for how to implement caching and network requests using Service Workers.
What's new in WorkManager-Andri Suranta Ginting (Product Engineer-Gojek)DicodingEvent
WorkManager is an API that makes it easy to schedule asynchronous tasks that need to run when various constraints are met. It supports one-off and periodic tasks, chained tasks with inputs and outputs, and allows constraints to be set on when tasks run. The latest version of WorkManager provides a better in-process scheduler, new diagnostic APIs, and lint checks. It also supports RxJava 3.
Running Containerized Node.js Services on AWS Elastic Beanstalkzupzup.org
The document discusses running containerized Node.js services on AWS Elastic Beanstalk (EB). It provides an overview of Docker containers, AWS, and AWS EB. It describes how to run containerized Node.js microservices on AWS EB, including using Dockerfiles, environment variables, and the AWS EB CLI. It discusses some trade-offs around setup time and costs for using this approach.
This document discusses the past and future of asynchronous JavaScript. It covers callbacks, promises, generators, async/await, and asynchronous iterators. Key asynchronous concepts covered include setTimeout, callbacks, jQuery Deferred, Promise/A+, ECMAScript promises, problems with promises, generators with co, async/await, and asynchronous iterators at stage 3 of ECMAScript proposals. The document provides an overview of the evolution of asynchronous patterns in JavaScript.
This document discusses using Puppet to configure and manage cloud monitoring infrastructure at scale. Puppet allows defining reusable modules and parameterized classes to configure tools like Graphite, Collectd, Nagios, and JMXTrans in a repeatable way across environments. Metrics can be collected and exported to Graphite for long-term storage and visualization of trends. Triggers can be created on graphs to detect anomalies and configure monitoring checks. The full Puppet code used is available online for reference.
This document introduces Ruby on Rails (Rails), an open-source web application framework written in Ruby. It discusses Rails' features like MVC architecture, scaffolding to quickly generate CRUD interfaces, and use of gems. The author provides steps to install Rails and create a sample app, including generating models, views, and controllers using scaffolding and applying a Bootstrap theme. Tips are given on further customizing the generated app code and views. Rails is concluded to be a simple way to build basic CRUD apps but deeper understanding is needed for serious applications.
Spring Framework provides a comprehensive infrastructure to develop Java applications. It handles dependency injection and inversion of control so developers can focus on domain logic rather than plumbing. Spring promotes best practices like clean code, test-driven development, and design patterns. It includes aspects for cross-cutting concerns and supports web development through frameworks like Spring MVC. The document introduces Spring's lightweight and modular IoC container and AOP capabilities for separating concerns.
Frontend application architecture, patterns, and workflowsCesar Andreu
The document discusses frontend application architecture, patterns, and workflows. It covers topics like ES6 features and transpilation to enable modern JavaScript, dependency injection to make code more testable, immutable data to prevent bugs, and workflows like using Node Version Manager and ESLint. Hot module replacement with tools like Webpack and React enable faster development.
Игорь Фесенко "Web Apps Performance & JavaScript Compilers"Fwdays
In this session I will take you through the entire process of application development and how to avoid possible issues on each stage. In a modern world turning an idea into working piece of software is a very complex process, and in this presentation, I will unlock the best practices and the essentials based on real world stories from my practical experience.
During a session I will give you a sense of Typescript, ECMAScript 2015+, JavaScriptServices, application performance management and how to make your life easier with some Node.js based tools.
The document discusses asynchronous programming with futures and promises in Scala. It covers key topics like:
1) Futures provide a way to reason about parallel operations efficiently in a non-blocking way. Futures represent asynchronous computations with results that can be accessed later.
2) Promises allow completing a future with a value or exception. Callbacks allow accessing future results asynchronously once completed.
3) Functional composition with futures uses methods like map, flatMap, recover to transform and compose futures. For-comprehensions provide a cleaner way to compose futures.
The document discusses isomorphic development using react-starter-kit. It explains that react-starter-kit is a boilerplate for building isomorphic web apps with Node.js, Express, GraphQL, and React. It provides steps to get started, including cloning the repository, installing dependencies, and starting the development server. It also provides instructions for creating a test page by adding a route and component to render "Hello World".
Futures allow asynchronous and non-blocking operations in Scala. They represent a value that may be available in the future. Promises allow producing values for futures - a promise can be used to complete a future with a value. Futures can be composed using methods like map, flatMap, and recover to build asynchronous workflows. Callbacks allow non-blocking handling of future results.
Following new trends, as microservices architecture style and developer-friendly BPM solutions, we want to present our active open source projects using Grails
Integrating React.js Into a PHP ApplicationAndrew Rota
React.js has taken the web development world by storm, and for good reason: React offers a declarative, component-oriented approach to building highly-scalable web UIs. But how can we take advantage of a JavaScript library like React in our server-side PHP applications. In this talk l cover the different ways React.js can be integrated into an existing PHP web application: from a client-side only approach to multiple techniques that support full server-side rendering with a Node.js server or PHP’s v8js. I also discuss the trade-offs in each of these designs and the challenges involved with adding React to a PHP site. Most importantly, I consider the higher-level issue of how to improve view cohesion across the client-server divide in a PHP application.
Simplifying building & getting started with universal, single page applications (React/React-Router/Redux ecosystem).
https://github.com/raisemarketplace/ground-control
https://github.com/ndreckshage/sambell
Григорий Шехет "Treasure hunt in the land of Reactive frameworks"Fwdays
Мне нравится использовать React. Данная библиотека – отличное решение для многих задач, так как она не навязывает конкретный паттерн или архитектуру. Разработчик сам решает что лучше для той или иной ситуации.
Существует множество уже готовых архитектурных решений. Большинство выбирает Redux. Существует множество библиотек использующее идеи FRP, например Calmm или MobX. Как результат, получаем много подходов, решающие одну и туже задачу.
В своем докладе хочу поговорить о различных архитектурных решениях, посмотреть на плюсы и минусы той или иной библиотеки, и прийти к консенсусу.
Everyone has legacy applications they have to work on and not everyone has the time to rewrite them from scratch. In this session, we'll cover easy ways to get started on your migrations one piece at at time without losing productivity. Expect to learn tips on how to get ColdBox running alongside your existing code so you can start cutting over your app one piece at a time.
This document discusses AWS CodeDeploy, an automated deployment service that can deploy code to EC2 instances, on-premises servers, and Auto Scaling groups. It provides an example of using CodeDeploy to deploy a Ruby on Rails application from a GitHub repository to an Auto Scaling group. Key steps include configuring an appspec.yml file, IAM roles, and Auto Scaling launch configuration for the deployment process and creating a CodeDeploy application and deployment to trigger the deployment.
This document discusses steps to take after a website has been hacked. It begins by recommending making forensic copies of all relevant systems and logs to preserve evidence without modifying anything. Maintaining a minimal online presence for users is discussed, as well as crisis communication strategies. Rebuilding the site is covered, emphasizing doing so in a secure manner. Forensics techniques are provided like analyzing code, files, databases and logs to determine the method of intrusion. The overall message is to have a plan in place and move quickly but carefully after a hack occurs.
This document appears to be slides from a presentation about contributing to Drupal. It discusses issues, patches, modules and themes, Drupal core, and initiatives. It encourages participation in core mentoring hours and sprints. Useful links are provided and credits are given to others who contributed slides. The presentation aims to get more people involved in contributing to Drupal in various ways, not just coding.
Automation and reusable automation components make up some of the core functionality of ManageIQ. This presentation walks through the roadmap of automate and what you can expect in future versions, including easier provisioning on all platforms, and the ability to push and share configs via git.
For more on ManageIQ, see http://manageiq.org/
This document summarizes the key benefits of using JavaScript across the full stack, from the database layer to the server and client-side applications. It highlights how CouchDB allows storing and querying JSON documents with JavaScript, and how Node.js enables building high-performance web servers with JavaScript. Asynchronous programming and control flow modules are discussed as techniques for managing callbacks. Testing and continuous integration are also covered.
ServiceWorker: Exploring the Core of the Progressive Web App-Bagus Aji Santos...DicodingEvent
This document discusses Service Workers and their role in Progressive Web Apps. It covers the basics of Service Workers including their lifecycle of registration, installation, and activation. It also discusses caching strategies that can be used with Service Workers like cache-first, cache-only, network-first, and stale-while-revalidate. Code examples are provided for how to implement caching and network requests using Service Workers.
What's new in WorkManager-Andri Suranta Ginting (Product Engineer-Gojek)DicodingEvent
WorkManager is an API that makes it easy to schedule asynchronous tasks that need to run when various constraints are met. It supports one-off and periodic tasks, chained tasks with inputs and outputs, and allows constraints to be set on when tasks run. The latest version of WorkManager provides a better in-process scheduler, new diagnostic APIs, and lint checks. It also supports RxJava 3.
Running Containerized Node.js Services on AWS Elastic Beanstalkzupzup.org
The document discusses running containerized Node.js services on AWS Elastic Beanstalk (EB). It provides an overview of Docker containers, AWS, and AWS EB. It describes how to run containerized Node.js microservices on AWS EB, including using Dockerfiles, environment variables, and the AWS EB CLI. It discusses some trade-offs around setup time and costs for using this approach.
This document discusses the past and future of asynchronous JavaScript. It covers callbacks, promises, generators, async/await, and asynchronous iterators. Key asynchronous concepts covered include setTimeout, callbacks, jQuery Deferred, Promise/A+, ECMAScript promises, problems with promises, generators with co, async/await, and asynchronous iterators at stage 3 of ECMAScript proposals. The document provides an overview of the evolution of asynchronous patterns in JavaScript.
This document discusses using Puppet to configure and manage cloud monitoring infrastructure at scale. Puppet allows defining reusable modules and parameterized classes to configure tools like Graphite, Collectd, Nagios, and JMXTrans in a repeatable way across environments. Metrics can be collected and exported to Graphite for long-term storage and visualization of trends. Triggers can be created on graphs to detect anomalies and configure monitoring checks. The full Puppet code used is available online for reference.
This document introduces Ruby on Rails (Rails), an open-source web application framework written in Ruby. It discusses Rails' features like MVC architecture, scaffolding to quickly generate CRUD interfaces, and use of gems. The author provides steps to install Rails and create a sample app, including generating models, views, and controllers using scaffolding and applying a Bootstrap theme. Tips are given on further customizing the generated app code and views. Rails is concluded to be a simple way to build basic CRUD apps but deeper understanding is needed for serious applications.
Spring Framework provides a comprehensive infrastructure to develop Java applications. It handles dependency injection and inversion of control so developers can focus on domain logic rather than plumbing. Spring promotes best practices like clean code, test-driven development, and design patterns. It includes aspects for cross-cutting concerns and supports web development through frameworks like Spring MVC. The document introduces Spring's lightweight and modular IoC container and AOP capabilities for separating concerns.
Frontend application architecture, patterns, and workflowsCesar Andreu
The document discusses frontend application architecture, patterns, and workflows. It covers topics like ES6 features and transpilation to enable modern JavaScript, dependency injection to make code more testable, immutable data to prevent bugs, and workflows like using Node Version Manager and ESLint. Hot module replacement with tools like Webpack and React enable faster development.
Игорь Фесенко "Web Apps Performance & JavaScript Compilers"Fwdays
In this session I will take you through the entire process of application development and how to avoid possible issues on each stage. In a modern world turning an idea into working piece of software is a very complex process, and in this presentation, I will unlock the best practices and the essentials based on real world stories from my practical experience.
During a session I will give you a sense of Typescript, ECMAScript 2015+, JavaScriptServices, application performance management and how to make your life easier with some Node.js based tools.
The document discusses asynchronous programming with futures and promises in Scala. It covers key topics like:
1) Futures provide a way to reason about parallel operations efficiently in a non-blocking way. Futures represent asynchronous computations with results that can be accessed later.
2) Promises allow completing a future with a value or exception. Callbacks allow accessing future results asynchronously once completed.
3) Functional composition with futures uses methods like map, flatMap, recover to transform and compose futures. For-comprehensions provide a cleaner way to compose futures.
The document discusses isomorphic development using react-starter-kit. It explains that react-starter-kit is a boilerplate for building isomorphic web apps with Node.js, Express, GraphQL, and React. It provides steps to get started, including cloning the repository, installing dependencies, and starting the development server. It also provides instructions for creating a test page by adding a route and component to render "Hello World".
Futures allow asynchronous and non-blocking operations in Scala. They represent a value that may be available in the future. Promises allow producing values for futures - a promise can be used to complete a future with a value. Futures can be composed using methods like map, flatMap, and recover to build asynchronous workflows. Callbacks allow non-blocking handling of future results.
Following new trends, as microservices architecture style and developer-friendly BPM solutions, we want to present our active open source projects using Grails
Integrating React.js Into a PHP ApplicationAndrew Rota
React.js has taken the web development world by storm, and for good reason: React offers a declarative, component-oriented approach to building highly-scalable web UIs. But how can we take advantage of a JavaScript library like React in our server-side PHP applications. In this talk l cover the different ways React.js can be integrated into an existing PHP web application: from a client-side only approach to multiple techniques that support full server-side rendering with a Node.js server or PHP’s v8js. I also discuss the trade-offs in each of these designs and the challenges involved with adding React to a PHP site. Most importantly, I consider the higher-level issue of how to improve view cohesion across the client-server divide in a PHP application.
Simplifying building & getting started with universal, single page applications (React/React-Router/Redux ecosystem).
https://github.com/raisemarketplace/ground-control
https://github.com/ndreckshage/sambell
Григорий Шехет "Treasure hunt in the land of Reactive frameworks"Fwdays
Мне нравится использовать React. Данная библиотека – отличное решение для многих задач, так как она не навязывает конкретный паттерн или архитектуру. Разработчик сам решает что лучше для той или иной ситуации.
Существует множество уже готовых архитектурных решений. Большинство выбирает Redux. Существует множество библиотек использующее идеи FRP, например Calmm или MobX. Как результат, получаем много подходов, решающие одну и туже задачу.
В своем докладе хочу поговорить о различных архитектурных решениях, посмотреть на плюсы и минусы той или иной библиотеки, и прийти к консенсусу.
Everyone has legacy applications they have to work on and not everyone has the time to rewrite them from scratch. In this session, we'll cover easy ways to get started on your migrations one piece at at time without losing productivity. Expect to learn tips on how to get ColdBox running alongside your existing code so you can start cutting over your app one piece at a time.
This document discusses AWS CodeDeploy, an automated deployment service that can deploy code to EC2 instances, on-premises servers, and Auto Scaling groups. It provides an example of using CodeDeploy to deploy a Ruby on Rails application from a GitHub repository to an Auto Scaling group. Key steps include configuring an appspec.yml file, IAM roles, and Auto Scaling launch configuration for the deployment process and creating a CodeDeploy application and deployment to trigger the deployment.
This document discusses steps to take after a website has been hacked. It begins by recommending making forensic copies of all relevant systems and logs to preserve evidence without modifying anything. Maintaining a minimal online presence for users is discussed, as well as crisis communication strategies. Rebuilding the site is covered, emphasizing doing so in a secure manner. Forensics techniques are provided like analyzing code, files, databases and logs to determine the method of intrusion. The overall message is to have a plan in place and move quickly but carefully after a hack occurs.
This document appears to be slides from a presentation about contributing to Drupal. It discusses issues, patches, modules and themes, Drupal core, and initiatives. It encourages participation in core mentoring hours and sprints. Useful links are provided and credits are given to others who contributed slides. The presentation aims to get more people involved in contributing to Drupal in various ways, not just coding.
Slides from the DrupalConSF 2010 presentation by Bret Piatt (of Rackspace) and Josh Koenig (of Chapter Three) explaining how PANTHEON was developed on the Rackspace cloud
Alfresco from an agile framework perspectiveJeff Potts
This document discusses customizing Alfresco from an agile framework perspective. It begins by outlining different patterns for customizing Alfresco, including using a non-Alfresco framework on top of Alfresco, customizing Surf or Share, and more. It then tells a tale of customizing Alfresco using both the Django framework and the Surf framework. Key differences are highlighted, showing that Django required fewer lines of code but Surf leveraged more of Alfresco's existing functionality. The document concludes with an example of a heavy Share customization for a real-world client site.
Vasily Yaremchuk presented on a Drupal module he developed for creating single page websites. The module loads content for different pages asynchronously via AJAX to create a single page browsing experience. It currently supports the Bartik and Zen themes but the roadmap includes adding support for more themes. The presentation covered the architecture of the module, technical challenges around layouts, scripts and styles, and proposed solutions. Questions from the audience were invited at the end.
This document outlines a proposed workflow initiative for Drupal to improve content management. It includes plans to:
1) Make revisions enabled by default for all content entities and implement revision interfaces.
2) Allow entities to be migrated between different entity schemas during upgrades.
3) Develop APIs for workspaces, moderation, replication, and conflict management to allow content to exist in multiple versions and be replicated between sites.
4) Build out experimental UIs, modules, and services to demonstrate the new workflow capabilities.
Using Empathy Maps to Better Understand your Jury - Drupal Camp London 2015Kubair Shirazee
Requirements gathering has come of age and those at the frontier continue to adapt it to a changing environment, where clients, stakeholders and users are better informed, empowered and in most cases know what they need.
In this environment as analysts we have to deploy tools from across verticals and add value by cross pollinating our own experiences from across the board.
The aim of this session is to introduce beginner and intermediate level analysts, account, project managers and business development leads to an innovative analytical tool that you ought to have in your tool box, and to do so with practical examples - this is an interactive session by the end of which you shall have an appreciation of Empathy maps, when and how to use them by building basic models during the session itself (all required materials will be provided).
The specific model to be covered: + Empathy maps to gain an understanding of your prospects, clients and stakeholders (Jury) to help get them on boarded, to help close the sale or to assist in identifying champions early on in the process that can be leveraged to get organization wide buy in. The learning objectives are to equip delegates with knowledge of a new and innovative business modelling tool that will enable them to better understand their prospects, clients, stakeholders and end users and thereby deliver beyond their expectations.
Devops and Drupal focuses on the current state of devops practices among Drupal developers and system administrators. A survey of over 200 Drupal professionals found that while many are aware of devops concepts like continuous integration and deployment, few have fully implemented best practices for areas like automated testing, configuration management, and disaster recovery. Adopting a devops approach can help Drupal teams improve collaboration, deploy more frequently, and better manage systems over time.
1. The document discusses how to tap into the creative potential of online crowds through careful project design. It explores examples of successful and unsuccessful crowd-powered projects.
2. Two projects are described in more detail: Ideas2Ideas, which aimed to encourage constructive brainstorming through its interface design; and WikiTasks, which sought to help Wikipedia editors better organize and collaborate on tasks.
3. The document outlines several principles for designing crowd-powered projects, such as encouraging small contributions, iterative work, and contextual displays of information to maintain participation and creativity. Carefully considering crowd applications and interface is important.
Better understanding your prospects, clients, stakeholders and end users usin...Kubair Shirazee
Empathy maps allow you to build and understand the worldview of your audience, their pain points and motivations thereby enabling you to build products and provide services they actually want.
Introducing Assetic: Asset Management for PHP 5.3Kris Wallsmith
The performance of your application depends heavily on the number and size of assets on each page. Even your blazingly fastest Symfony2 application can be bogged down by bloated Javascript and CSS files. This session will give you a basic introduction to PHP's new asset management framework, Assetic, and explore how it integrates with Symfony2 for a pleasant, common sense developer experience.
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
This presentation, originally delivered at JavaOne on October 2, 2012, talks about why you should use Alfresco instead of rolling your own content repository and discusses the new public Alfresco API for writing content apps that persist content to Alfresco in the Cloud.
The Power of Drupal and Alfresco TogetherJeff Potts
This document summarizes a presentation about combining Drupal and Alfresco for intranet solutions. It outlines common problems with existing intranets like high costs, poor user experience and lack of flexibility. Drupal is presented as a compelling user interface and content management solution while Alfresco provides robust document management and workflow capabilities. A case study of Activision Blizzard's intranet implementation using Drupal and Alfresco is provided as an example. The document concludes with an overview of how the two systems can integrate using open standards and available modules.
This document provides an overview of the Alfresco content management platform, including its architecture, development model, and features. Alfresco is an open source enterprise content management system that can manage files and metadata. It provides versioning, security, and a workflow engine. Developers can build custom applications using its APIs, Spring framework, and web script capabilities.
A brief introduction to the CMIS spec and some tips and tricks for developers new to CMIS. Demos showed how to install and use cmislib, the Python API for CMIS, and OpenCMIS, the Java API. Both projects are part of Apache Chemistry. Originally given as part of an Alfresco webinar. Recording: http://blogs.alfresco.com/wp/webcasts/2012/01/getting-started-with-cmis-2/
Slide deck from an Alfresco Webinar which can be viewed at http://blogs.alfresco.com/wp/webcasts/2009/05/alfresco-webcast-a-developers-guide-1-capabilities-architecture-optaros/
This presentation discusses what Alfresco is an options for working with Alfresco from a developer perspective.
This document provides an introduction and overview of Node.js. It discusses the brief history of server-side JavaScript, how Node.js was created to enable easy push capabilities for websites, and its growth in popularity in the following years. The document also covers key aspects of Node.js like non-blocking I/O, event loops, streams, modules, and dependency management with NPM. Popular frameworks like Express, Hapi, and tools/concepts like IoT, desktop apps, and real-time apps are also mentioned.
Creating a custom API for a headless Drupal involves using the Services module to define endpoints and resources. The Services module introduces endpoints, which define authentication and attach resources. Resources define CRUD operations and custom actions that can target specific resources. To create an API, endpoints and resources are configured through the Services module to expose the desired data and functionality through the custom API.
The sprint report summarizes work done in Sprint 17 of the ManageIQ project, including developing REST API actions for managing VMs, converting parts of the UI to use jQuery and AngularJS, integrating additional cloud providers, and performing upgrades to prepare for Rails 4. Testing and architecture work also continued around areas like Dockerization, caching, and the provider layer. Future iterations will focus on additional providers, IPv6 support, and fleecing capabilities.
Running Airflow Workflows as ETL Processes on Hadoopclairvoyantllc
While working with Hadoop, you'll eventually encounter the need to schedule and run workflows to perform various operations like ingesting data or performing ETL. There are a number of tools available to assist you with this type of requirement and one such tool that we at Clairvoyant have been looking to use is Apache Airflow. Apache Airflow is an Apache Incubator project that allows you to programmatically create workflows through a python script. This provides a flexible and effective way to design your workflows with little code and setup. In this talk, we will discuss Apache Airflow and how we at Clairvoyant have utilized it for ETL pipelines on Hadoop.
This document discusses puppetizing complex applications like sipXecs, an open source voice over IP telephony server. It provides an overview of Puppet and how it can be used to deploy and configure sipXecs in a repeatable, automated way. Challenges with the existing sipXecs installation and configuration are discussed. The document explores potential approaches like using test frameworks and APIs but concludes there is no perfect solution yet and engagement with upstream suppliers may be needed.
The document discusses the original promise of DevOps to bridge silos between development and operations teams and enable continuous delivery. It outlines the key tools and trends that emerged over the past 5 years, including Git, Docker, Kubernetes, GitHub Actions, Terraform, and the shift to treating infrastructure as code. The document also presents examples of CI/CD pipelines used by the author's team to provision AWS accounts and deploy environments for applications.
This document discusses challenges with configuring and managing third-party applications like SIPXecs using existing tools. It explores options like screen scraping, test frameworks like Cucumber and Selenium, but notes issues with reliability as GUIs change. The document concludes that no good solution exists yet and suggests talking to vendors, being patient, and setting a good example. It asks how the reader would solve the problem of needing an API or reliable way to configure applications without extensive manual effort.
Web App Prototypes with Google App EngineVlad Filippov
This document discusses using Google App Engine and its Python SDK for quickly prototyping web applications. Some key points covered include:
- App Engine allows developers to build and host web apps and supports Python runtimes. It offers scalable hosting and APIs for common tasks like user auth and data storage.
- The Python SDK makes it easy to quickly create prototypes by providing a local development server, a scalable datastore, and APIs that handle common tasks so developers can focus on unique features.
- Examples of prototyping tasks demonstrated include adding entities to the datastore, building basic views and filters, and testing the prototype. Frameworks like webapp2 and appengine-rest-server can further accelerate the prototyping process
We will introduce Airflow, an Apache Project for scheduling and workflow orchestration. We will discuss use cases, applicability and how best to use Airflow, mainly in the context of building data engineering pipelines. We have been running Airflow in production for about 2 years, we will also go over some learnings, best practices and some tools we have built around it.
Speakers: Robert Sanders, Shekhar Vemuri
The document discusses building and using RESTful APIs with Drupal. It provides an overview of REST and its benefits, how data can be managed by Drupal as a REST server or client, considerations for building REST APIs, and modules and tools for working with REST in Drupal. The presentation agenda includes explaining REST, reasons to use RESTful APIs, data management paradigms in Drupal, and a demo of managing data both inside and outside of Drupal via REST.
With Cloud Functions you write simple, functions that doing one unit of execution.
Cloud Functions can be written using JavaScript, Python 3, or Go
and you simply deploy a function bound to the event you want and you are all done.
In our case we will leavrage from Cloud Function to manage our K8s clusters based on work times in order to save budget.
The document discusses testing strategies for migrating from Drupal 7 to Drupal 8. It introduces various testing tools that are well-suited for Drupal 8 like PHPUnit, Behat, and PhantomJS. It emphasizes the importance of acceptance testing and behavior driven development to test business value. The document also recommends writing modular object-oriented code, using autoloaders and Composer to more easily migrate code and testing between versions.
SANDcamp 2014 - A Perfect Launch, Every TimeJon Peck
This document provides guidance on how to properly launch a new website or application. It emphasizes the importance of thorough preparation, documentation of roles and responsibilities, effective communication practices, and testing to eliminate problems. This includes performing a site audit to identify issues, mapping processes, encouraging self-sufficiency, and load testing to ensure optimal performance and capacity under stress. The goal is to establish best practices and systems that result in flawless launches and set clients up for success.
Plain english guide to drupal 8 criticalsAngela Byron
This document provides an overview of the remaining tasks to complete the release of Drupal 8. It discusses the 26 remaining critical issues blocking the beta to RC phase. It outlines goals around performance, security, and the upgrade path. Key tasks include finalizing caching, migrating from Drupal 7, and ensuring alternative databases like SQLite and PostgreSQL are fully supported. The document encourages community involvement in testing, profiling, and helping to resolve critical issues.
Build an AI/ML-driven image archive processing workflow: Image archive, analy...wesley chun
Google provides a diverse array of services to realize the ambition of solving real business problems, like constrained resources. An image archive & analysis plus report generation use-case can be realized with just a variety of Google APIs, notably from the GWS (Google Workspace) & GCP (Google Cloud) product families. The app can be further enhanced with the GenAI API for the Gemini LLM as well as Google Maps. The principle of mixing-and-matching Google technologies is applicable to many other challenges faced by you, your organization, or your customers. These slides are from the 30-45-min presentation about this case study.
The document provides an overview of the Autolab workshop software. It discusses the history and development of Autolab since 2010, including its adoption of VM support, an autograder, and a Rails upgrade. It notes Autolab serves around 2500 students per semester across many classes. The document outlines plans to make Autolab open source to increase customizability and adoption. It summarizes the Rails frontend and important models. It also describes the standalone Tango job dispatch service and virtual machine management system used for autograding. Finally, it provides instructions for getting involved in the Autolab project.
This document discusses how to extend and customize the new WordPress editor (Gutenberg). It provides information on blocks, theme support, block templates, the editor UI, the data store, and the parser. It encourages contributing documentation, code examples, blog posts, and tutorials to help advance Gutenberg customization as the platform is still a work in progress.
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providersPROIDEA
Varnish is an open-source reverse proxy and cache that is commonly used to accelerate dynamic websites. It uses a virtual memory backend and multi-threaded worker model to achieve high performance. Varnish has a configuration language called VCL that allows customizing caching and backend rules. Proper use of Varnish requires optimizing object caching, compression, purging, and operating system settings.
Interface texte plein écran en Go avec TViewOSInet
Comment créer une application combinant une interface Web et une interface plein écran texte (TUI) avec rivo/tview.
Le code est sur https://github.com/fgm/twinui
Le site du livre est https://osinet.fr/go
Scaling up and accelerating Drupal 8 with NoSQLOSInet
Drupal 8 can scale well and serve pages fast to many users, especially by offloading parts of the work load from the main SQL database to NoSQL solutions.
This presentation describes the strategies and technologies usable to achieve such gains, including specific configuration, contributed modules and custom coding strategies.
En introduction de la conférence Drupagora 2015, Marine Soroko et moi-même avons présenté les éléments de stratégie impliqués dans le lancement de projets Drupal 8 : un regard technique d'un côté, un regard gestion de projets de l'autre.
Cache speedup with Heisencache for Drupal 7 and Drupal 8OSInet
Most performance tuning stops at deploying caches to replace file or database access. The next step is to examine how these cached data fare, even in production under high loads : Heisencache provides such analysis tools, for Drupal 7 and Drupal 8.
Recueil des mauvaises pratiques constatées lors de l'audit de sites Drupal 7OSInet
En 3 ans d'audit de sites Drupal 7 pour identifier des problèmes de performance, qualité, ou sécurité OSInet a identifié les causes d'erreurs les plus fréquentes : en règle général, chaque site audit présente au moins l'une d'entre elles.
Votre site est-il affecté par ces erreurs ?
Le groupe PHP-FIG s'est formé pour favoriser l'interopérabilité des frameworks PHP.
Découvrez l'organisation et le fonctionnement du FIG, et les standards PHP PSR-0/PSR-4 pour l'autoloading, PSR-1/PSR-2 pour les normes de codage, PSR-3 pour le logging, les autres standards en cours d'élaboration: PSR-5 pour PHPdoc, PSR-6 pour le cache, et toutes les discussions en cours sur la standardisation PHP.
Présentation donnée au meetup AFUP du 02/04/2014.
Le système de blocs a été présent depuis les origines de Drupal sur drop.org jusqu'à aujourd'hui dans Drupal 8.
Cette présentation retrace l'historique de son développement, et plus largement celui de Drupal dans son ensemble.
Panorama des technologies NoSQL compatibles avec Drupal 7 et 6 à fin 2011: objectifs globaux, tâches fonctionnelles, techniques de mise en oeuvre, coûts, bonnes pratiques, compromis, modules disponibles.
Avec une bibliographie.
This document provides an overview of Views integration in Drupal:
1. It introduces basic Views concepts and how to provide default views and embed views in code.
2. It describes Drupal-style lifecycle hooks for views like altering queries and rendering results.
3. It explains how to create custom handlers and plugins for views using the Views API for things like filters, fields and relationships.
4. It provides resources for learning more advanced Views development.
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Andre Hora
Exceptions allow developers to handle error cases expected to occur infrequently. Ideally, good test suites should test both normal and exceptional behaviors to catch more bugs and avoid regressions. While current research analyzes exceptions that propagate to tests, it does not explore other exceptions that do not reach the tests. In this paper, we provide an empirical study to explore how frequently exceptional behaviors are tested in real-world systems. We consider both exceptions that propagate to tests and the ones that do not reach the tests. For this purpose, we run an instrumented version of test suites, monitor their execution, and collect information about the exceptions raised at runtime. We analyze the test suites of 25 Python systems, covering 5,372 executed methods, 17.9M calls, and 1.4M raised exceptions. We find that 21.4% of the executed methods do raise exceptions at runtime. In methods that raise exceptions, on the median, 1 in 10 calls exercise exceptional behaviors. Close to 80% of the methods that raise exceptions do so infrequently, but about 20% raise exceptions more frequently. Finally, we provide implications for researchers and practitioners. We suggest developing novel tools to support exercising exceptional behaviors and refactoring expensive try/except blocks. We also call attention to the fact that exception-raising behaviors are not necessarily “abnormal” or rare.
Not So Common Memory Leaks in Java WebinarTier1 app
This SlideShare presentation is from our May webinar, “Not So Common Memory Leaks & How to Fix Them?”, where we explored lesser-known memory leak patterns in Java applications. Unlike typical leaks, subtle issues such as thread local misuse, inner class references, uncached collections, and misbehaving frameworks often go undetected and gradually degrade performance. This deck provides in-depth insights into identifying these hidden leaks using advanced heap analysis and profiling techniques, along with real-world case studies and practical solutions. Ideal for developers and performance engineers aiming to deepen their understanding of Java memory management and improve application stability.
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)Andre Hora
Software testing plays a crucial role in the contribution process of open-source projects. For example, contributions introducing new features are expected to include tests, and contributions with tests are more likely to be accepted. Although most real-world projects require contributors to write tests, the specific testing practices communicated to contributors remain unclear. In this paper, we present an empirical study to understand better how software testing is approached in contribution guidelines. We analyze the guidelines of 200 Python and JavaScript open-source software projects. We find that 78% of the projects include some form of test documentation for contributors. Test documentation is located in multiple sources, including CONTRIBUTING files (58%), external documentation (24%), and README files (8%). Furthermore, test documentation commonly explains how to run tests (83.5%), but less often provides guidance on how to write tests (37%). It frequently covers unit tests (71%), but rarely addresses integration (20.5%) and end-to-end tests (15.5%). Other key testing aspects are also less frequently discussed: test coverage (25.5%) and mocking (9.5%). We conclude by discussing implications and future research.
Why Orangescrum Is a Game Changer for Construction Companies in 2025Orangescrum
Orangescrum revolutionizes construction project management in 2025 with real-time collaboration, resource planning, task tracking, and workflow automation, boosting efficiency, transparency, and on-time project delivery.
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfTechSoup
In this webinar we will dive into the essentials of generative AI, address key AI concerns, and demonstrate how nonprofits can benefit from using Microsoft’s AI assistant, Copilot, to achieve their goals.
This event series to help nonprofits obtain Copilot skills is made possible by generous support from Microsoft.
What You’ll Learn in Part 2:
Explore real-world nonprofit use cases and success stories.
Participate in live demonstrations and a hands-on activity to see how you can use Microsoft 365 Copilot in your own work!
Interactive Odoo Dashboard for various business needs can provide users with dynamic, visually appealing dashboards tailored to their specific requirements. such a module that could support multiple dashboards for different aspects of a business
✅Visit And Buy Now : https://bit.ly/3VojWza
✅This Interactive Odoo dashboard module allow user to create their own odoo interactive dashboards for various purpose.
App download now :
Odoo 18 : https://bit.ly/3VojWza
Odoo 17 : https://bit.ly/4h9Z47G
Odoo 16 : https://bit.ly/3FJTEA4
Odoo 15 : https://bit.ly/3W7tsEB
Odoo 14 : https://bit.ly/3BqZDHg
Odoo 13 : https://bit.ly/3uNMF2t
Try Our website appointment booking odoo app : https://bit.ly/3SvNvgU
👉Want a Demo ?📧 [email protected]
➡️Contact us for Odoo ERP Set up : 091066 49361
👉Explore more apps: https://bit.ly/3oFIOCF
👉Want to know more : 🌐 https://www.axistechnolabs.com/
#odoo #odoo18 #odoo17 #odoo16 #odoo15 #odooapps #dashboards #dashboardsoftware #odooerp #odooimplementation #odoodashboardapp #bestodoodashboard #dashboardapp #odoodashboard #dashboardmodule #interactivedashboard #bestdashboard #dashboard #odootag #odooservices #odoonewfeatures #newappfeatures #odoodashboardapp #dynamicdashboard #odooapp #odooappstore #TopOdooApps #odooapp #odooexperience #odoodevelopment #businessdashboard #allinonedashboard #odooproducts
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentShubham Joshi
A secure test infrastructure ensures that the testing process doesn’t become a gateway for vulnerabilities. By protecting test environments, data, and access points, organizations can confidently develop and deploy software without compromising user privacy or system integrity.
Creating Automated Tests with AI - Cory House - Applitools.pdfApplitools
In this fast-paced, example-driven session, Cory House shows how today’s AI tools make it easier than ever to create comprehensive automated tests. Full recording at https://applitools.info/5wv
See practical workflows using GitHub Copilot, ChatGPT, and Applitools Autonomous to generate and iterate on tests—even without a formal requirements doc.
DVDFab Crack FREE Download Latest Version 2025younisnoman75
⭕️➡️ FOR DOWNLOAD LINK : http://drfiles.net/ ⬅️⭕️
DVDFab is a multimedia software suite primarily focused on DVD and Blu-ray disc processing. It offers tools for copying, ripping, creating, and editing DVDs and Blu-rays, as well as features for downloading videos from streaming sites. It also provides solutions for playing locally stored video files and converting audio and video formats.
Here's a more detailed look at DVDFab's offerings:
DVD Copy:
DVDFab offers software for copying and cloning DVDs, including removing copy protections and creating backups.
DVD Ripping:
This allows users to rip DVDs to various video and audio formats for playback on different devices, while maintaining the original quality.
Blu-ray Copy:
DVDFab provides tools for copying and cloning Blu-ray discs, including removing Cinavia protection and creating lossless backups.
4K UHD Copy:
DVDFab is known for its 4K Ultra HD Blu-ray copy software, allowing users to copy these discs to regular BD-50/25 discs or save them as 1:1 lossless ISO files.
DVD Creator:
This tool allows users to create DVDs from various video and audio formats, with features like GPU acceleration for faster burning.
Video Editing:
DVDFab includes a video editing tool for tasks like cropping, trimming, adding watermarks, external subtitles, and adjusting brightness.
Video Player:
A free video player that supports a wide range of video and audio formats.
All-In-One:
DVDFab offers a bundled software package, DVDFab All-In-One, that includes various tools for handling DVD and Blu-ray processing.
Best Practices for Collaborating with 3D Artists in Mobile Game DevelopmentJuego Studios
Discover effective strategies for working with 3D artists on mobile game projects. Learn how top mobile game development companies streamline collaboration with 3D artists in Dubai for high-quality, optimized game assets.
F-Secure Freedome VPN 2025 Crack Plus Activation New Versionsaimabibi60507
Copy & Past Link 👉👉
https://dr-up-community.info/
F-Secure Freedome VPN is a virtual private network service developed by F-Secure, a Finnish cybersecurity company. It offers features such as Wi-Fi protection, IP address masking, browsing protection, and a kill switch to enhance online privacy and security .
Top 10 Data Cleansing Tools for 2025.pdfAffinityCore
Discover the top 10 data cleansing tools for 2025, designed to help businesses clean, transform, and enhance data accuracy. Improve decision-making and data quality with these powerful solutions.
Get & Download Wondershare Filmora Crack Latest [2025]saniaaftab72555
Copy & Past Link 👉👉
https://dr-up-community.info/
Wondershare Filmora is a video editing software and app designed for both beginners and experienced users. It's known for its user-friendly interface, drag-and-drop functionality, and a wide range of tools and features for creating and editing videos. Filmora is available on Windows, macOS, iOS (iPhone/iPad), and Android platforms.
Cryptocurrency Exchange Script like Binance.pptxriyageorge2024
This SlideShare dives into the process of developing a crypto exchange platform like Binance, one of the world’s largest and most successful cryptocurrency exchanges.
4. Why use queues ?
To have websites which are :
● Faster for visitors
● Snappier for editors
● More scaleable
To process time-consuming jobs :
● Video encoding
● High-resolution gallery uploads and processing
5. Actual use cases
● Prepare content for non-Drupal front-ends
● Anticipate content generation
● Deferred submits, e.g. comments handling
● Slow operations: node saves, previews, image processing
● External data sources: pull, push
● Multi-step operations: batch
7. Anticipated content generation
Blocks
Ctools content types
Controllers
etc.
Contrib :
http://github.com/FGM/lazy
Content created Served from cache
Fresh Stale Expiredt0 t1 t2
Served from cache Regenerate cache
time
Usual Drupal
Content created Served from cache
Fresh Stale Fresht0 t1 t2
Served from cache
+ request update Store
Served from cache
time
Anticipated content generation
12. Job servers
● How to get results
● Rerun failed jobs
● Separate queue for failed jobs
● Monitoring queues, workers
● Supervisor
13. Some implementations
Queue D6 D7 D8
Memory core core
Database OK core core
AdvancedQueue OK Not yet
Amazon SQS (aws_sqs) OK Not yet
Beanstalkd OK OK
evQueue Private
Queue D6 D7 D8
Apache Kafka OK Started
Gearman OK OK Not yet
MongoDB OK Started
PHPResque OK Not yet
RabbitMQ OK OK
Redis (redis[_queue]) OK OK Alpha
14. Queue API: concepts
Queue: a minimally-featured FIFO
Worker: the code actually doing the work
Item: a piece of workload submitted to the queue
Runner: the process triggering/monitoring workers
Batch subsystem: a high-level API on top of Queue API
D8: Manager, Plugins
15. D6/D7 Queue API
D7: core
D6: drupal_queue module
Declaring queues:
hook_cron_queue_info[_alter]()
● “Skip on cron”: enable decoupling from cron runs
● Time: max lifetime allocated to process items
during a cron run, useless with skip on cron =
TRUE
● Worker callback: an implementation of
callback_queue_worker (mixed
queue_item): void
API useable without cron
Default Runner:
● In the cron subsystem
● Pokemon exception handling
16. D8 Queue API
API useable without cron Declaring queue workers:
Service: plugin.manager.queue_worker
Instantiates QueueWorker plugins
Definition:
● Cron, not enabled by default
○ Time: max lifetime allocated to
process items during a cron run
● Core examples : AggregatorRefresh,
LocaleTranslation
● hook_queue_info_alter()
Default Runner:
In the cron subsystem:
DrupalCoreCron::processQueues()
SuspendQueueException: $q-
>releaseItem()
17. Queue API methods: Queue
QueueInterface
● Q::createItem(mixed $data: void
● Q::claimItem($lease_time = 3600: mixed $item
○ FALSE | stdClass + [item_id => int, data => mixed, created => timestamp]
○ $lease_time → Assumptions for runner, currently not used
● Q::deleteItem($item): void -> work done
● Q::releaseItem($item): bool
● Q::numberOfItems(): int → best guess, unreliable
● Q::createQueue() / Q::deleteQueue()
ReliableQueueInterface: ordering, single execution
18. Queue API methods: others
Queue service → QueueFactory::get($name, $reliable)
QueueManager: a vanilla plugin manager
● In charge of hook_queue_info_alter()
● createInstance($plugin_id, $configuration)
QueueWorkerInterface:
● processItem (mixed data) : void @throws SuspendQueueException
19. Queue Runners
Core / Contrib
● Core Cron / Elysia Cron / Queue_Runner
● Drush: queue-list / queue-run
● Similar limitations:
○ Default on in D6 / D7, default off in D8
○ Limited timeout support: non preemptive
○ Single threaded, single process across queues
Custom runners
● Provided by queue modules or per-project one-offs
● Preemption, parallel execution...
20. Queue API limitations
Limited FIFO paradigm
● D8: non-Reliable
QueueInterface: datagram
No monitoring
No queue disciplines
● Priority management
● Tagging
● Delay, burying ...
Implementations may provide more
● Item structure is free-form: add
richer interfaces
No Peek(), no LIFO,
no deduplication: hacks
21. Performance edge
Runners:
● Avoid active polling à la core DB
● Use a blocking layer + select()
● Parallel handling of multiple queues → multiple runners, scheduling
Workers: read after write
● Write in the queue → cache invalidated
● Read again→ cache primed