This talk was given at the Dutch PHP Conference 2011 and details the use of Comet (aka reverse ajax or ajax push) technologies and the importance of websockets and server-sent events. More information is available at http://joind.in/3237.
Symfony2 Components - The Event DispatcherSarah El-Atm
This document provides information about Symfony components and how they can be used independently of the Symfony framework. It discusses the key components of Events, the EventDispatcher, and Listeners. Events are instances that represent things happening in the application. The EventDispatcher handles dispatching events to listeners. Listeners are classes or methods that listen for and react to events.
Pushing symfony events in real time to your clients
This talk, held at the symfony live Paris unconference, gives an overview about how events thrown in symfony can be dispatched in real time to web clients. It describes the architecture of the solution and provides examples using the open source comet server APE
Beyond Breakpoints: A Tour of Dynamic AnalysisFastly
Despite advances in software design and static analysis techniques, software remains incredibly complicated and difficult to reason about. Understanding highly-concurrent, kernel-level, and intentionally-obfuscated programs are among the problem domains that spawned the field of dynamic program analysis. More than mere debuggers, the challenge of dynamic analysis tools is to be able record, analyze, and replay execution without sacrificing performance. This talk will provide an introduction to the dynamic analysis research space and hopefully inspire you to consider integrating these techniques into your own internal tools.
Assurer - a pluggable server testing/monitoring frameworkGosuke Miyashita
Assurer is a server testing and monitoring framework that allows configuring tests, notifications, formatting, and publishing of results using plugins. It uses a plugin architecture and YAML configuration to make it easy to add new tests and change outputs. Tests are run in parallel and results can be filtered and published to various outputs like terminals, email, and files. It aims to be similar to Plagger but also cover monitoring use cases.
Node.js is a platform built on Google's V8 JavaScript engine that allows for non-blocking and event-driven web servers. It is well-suited for building real-time applications using techniques like Comet that require persistent connections to clients. The speaker demonstrates how to implement a basic chat application using WebSockets with node.js that maintains open connections to allow real-time messaging between users. Node.js's asynchronous and non-blocking model makes it a natural fit for Comet-style programming compared to traditional threaded server models.
- 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.
How Danga::Socket handles asynchronous processing and how to write asynchrono...Gosuke Miyashita
The document discusses asynchronous programming in Perl and how to write asynchronous plugins for Perlbal using Danga::Socket. Key points include:
1) Danga::Socket provides asynchronous I/O event handling using its main event loop and allows adding I/O watchers and timers.
2) To write asynchronous Perlbal plugins, the main process should be based on Danga::Socket's event loop and use callbacks. The plugin must return 1 and a callback must restart processing in ClientProxy.
3) Perlbal itself may also need patching to work with asynchronous plugins by checking an async completion flag in ClientProxy before running plugins.
The document discusses various technologies for real-time web applications including PSGI, Plack, AnyEvent, AnyMQ, server-push technologies like Comet, WebSockets, and the Web::Hippie and Web::Hippie::Pipe modules. It provides code examples of using AnyEvent and POE for asynchronous programming, AnyMQ for publishing messages to different message queues, and Web::Hippie::Pipe for abstracting persistent bidirectional connections. The document advocates for relaxing the definition of "hippies" to support more connection types and demonstrates how Hippie::Pipe can provide a unified interface.
Symfony2 Components - The Event DispatcherSarah El-Atm
This document provides information about Symfony components and how they can be used independently of the Symfony framework. It discusses the key components of Events, the EventDispatcher, and Listeners. Events are instances that represent things happening in the application. The EventDispatcher handles dispatching events to listeners. Listeners are classes or methods that listen for and react to events.
Pushing symfony events in real time to your clients
This talk, held at the symfony live Paris unconference, gives an overview about how events thrown in symfony can be dispatched in real time to web clients. It describes the architecture of the solution and provides examples using the open source comet server APE
Beyond Breakpoints: A Tour of Dynamic AnalysisFastly
Despite advances in software design and static analysis techniques, software remains incredibly complicated and difficult to reason about. Understanding highly-concurrent, kernel-level, and intentionally-obfuscated programs are among the problem domains that spawned the field of dynamic program analysis. More than mere debuggers, the challenge of dynamic analysis tools is to be able record, analyze, and replay execution without sacrificing performance. This talk will provide an introduction to the dynamic analysis research space and hopefully inspire you to consider integrating these techniques into your own internal tools.
Assurer - a pluggable server testing/monitoring frameworkGosuke Miyashita
Assurer is a server testing and monitoring framework that allows configuring tests, notifications, formatting, and publishing of results using plugins. It uses a plugin architecture and YAML configuration to make it easy to add new tests and change outputs. Tests are run in parallel and results can be filtered and published to various outputs like terminals, email, and files. It aims to be similar to Plagger but also cover monitoring use cases.
Node.js is a platform built on Google's V8 JavaScript engine that allows for non-blocking and event-driven web servers. It is well-suited for building real-time applications using techniques like Comet that require persistent connections to clients. The speaker demonstrates how to implement a basic chat application using WebSockets with node.js that maintains open connections to allow real-time messaging between users. Node.js's asynchronous and non-blocking model makes it a natural fit for Comet-style programming compared to traditional threaded server models.
- 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.
How Danga::Socket handles asynchronous processing and how to write asynchrono...Gosuke Miyashita
The document discusses asynchronous programming in Perl and how to write asynchronous plugins for Perlbal using Danga::Socket. Key points include:
1) Danga::Socket provides asynchronous I/O event handling using its main event loop and allows adding I/O watchers and timers.
2) To write asynchronous Perlbal plugins, the main process should be based on Danga::Socket's event loop and use callbacks. The plugin must return 1 and a callback must restart processing in ClientProxy.
3) Perlbal itself may also need patching to work with asynchronous plugins by checking an async completion flag in ClientProxy before running plugins.
The document discusses various technologies for real-time web applications including PSGI, Plack, AnyEvent, AnyMQ, server-push technologies like Comet, WebSockets, and the Web::Hippie and Web::Hippie::Pipe modules. It provides code examples of using AnyEvent and POE for asynchronous programming, AnyMQ for publishing messages to different message queues, and Web::Hippie::Pipe for abstracting persistent bidirectional connections. The document advocates for relaxing the definition of "hippies" to support more connection types and demonstrates how Hippie::Pipe can provide a unified interface.
This document discusses using an HTTP proxy to load specific web pages for testing purposes. It explains that many web pages contain resources from multiple domains that cannot be saved locally. An HTTP proxy can be used to intercept requests and redirect local URLs to a test server, while passing through external URLs to the actual web server. The document provides code examples for setting up an HTTP proxy using HTTP::Proxy and modifying the LWP user agent to handle local and remote URLs differently. Using this approach allows a test loop to load repeatable web page content from both local and external sources.
This document summarizes and compares Ruby HTTP client libraries. It discusses the sync and async APIs of 16 libraries including Net::HTTP, HTTPClient, and Faraday. It covers their compatibility, supported features like keep-alive connections, and performance based on benchmarks. The document recommends libraries based on priorities like speed, HTML handling, API clients, and SSL support. It encourages readers to check the detailed feature matrix and report any errors found.
This document provides an introduction and overview of Windows PowerShell. It discusses what PowerShell is, how it works, and how it can be used for administration tasks and extended to work with other products. The document covers PowerShell concepts like verbs, nouns, pipelines, and cmdlets. It also provides examples of using PowerShell for ad-hoc tasks and developing PowerShell scripts and cmdlets for production environments.
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
Building a desktop app using HTTP::Engine as a micro web server, SQLite for data storage, and jQuery for the user interface. Comet and asynchronous workers are used to enable real-time features. JSON-RPC and routing are implemented to support AJAX actions. The combination provides a lightweight "desktop app" architecture that is cross-platform.
This document discusses potential updates to the Web Server Gateway Interface (WSGI) specification and some of the challenges involved. It notes that WSGI 1.0 has limitations for asynchronous systems and middleware. The author explored ideas for WSGI 2.0 like making requests and responses objects and adding context managers for resource management, but concluded it may be too late since so much code relies on the current specification.
We use websockets for our clients because we care deeply about a fast, responsive user experience. At the Play! Framework meetup based near us in Mountain View, CA (http://www.meetup.com/PlayFramework/), we presented an introduction to using Websockets with Play!. We cover some relevant background into alternatives, benchmarks, and how Websockets work within Play!.
This document provides an overview of the Tornado web server and summarizes its internals. It begins with an introduction to Tornado, describing it as a scalable, non-blocking web server and framework written in Python. It then outlines the main Tornado modules and discusses sockets, I/O monitoring using select, poll and epoll, and how Tornado sets up its server loop and handles requests.
This document discusses the Tornado web server framework. It provides an overview of Tornado, including that it is a non-blocking and scalable web server that was used by FriendFeed and is now open-sourced by Facebook. It describes Tornado's architecture, which uses an IOLoop and callbacks instead of threads to remain asynchronous and non-blocking. An example "Hello World" application in Tornado is also provided. Performance comparisons show Tornado outperforming other frameworks like Node.js and Twisted.
Making Symofny shine with Varnish - SymfonyCon Madrid 2014Barel Barelon
The document discusses using Varnish as a cache accelerator in front of Symfony applications. It provides an overview of Varnish configuration using VCL, the request flow through Varnish, and new features in Varnish 4. It also covers specific techniques for caching Symfony applications, including normalizing URLs and cookies, load balancing backends, handling internationalization, and invalidating caches.
The document discusses Rack, a modular web server interface for Ruby that allows web applications and frameworks to be written as middleware stacks. It covers topics like Rack applications as middleware, common Rack middleware components, building applications with Rack and middleware, and integrating Rack middleware with frameworks like Rails.
"Swoole: double troubles in c", Alexandr VronskiyFwdays
Practices in using Swoole ecosystem & migration real production marketplace app to async approach. Which benefits we got and what problems happens on stack with PHP8, Postgresql, Redis, RebbitMQ, Doctrine, coroutines/fibers, concurrency HTTP Server.
The document discusses Node.js and asynchronous I/O. It explains that Node.js is an asynchronous event-driven JavaScript runtime that uses a single-threaded model with non-blocking I/O to handle high volumes of simultaneous connections efficiently. It also discusses how Node.js handles asynchronous operations using an event loop and callback functions instead of blocking operations.
The document provides an overview and tutorial of Perlbal, an open source reverse proxy and load balancer written in Perl. It discusses how to install Perlbal using CPAN, describes the various roles it can perform like reverse proxy, web server, and load balancing. It also covers configuring and using Perlbal services, writing plugins, and its class architecture.
A server is a computer that responds to requests from clients like web browsers. Common requests include serving web pages, uploading/downloading files, and sending email. Apache is a popular web server software that runs on 66% of websites. It is feature-rich, efficient, robust, secure, and open source. A port is a software connection between a server and client used to identify the service, like port 80 for HTTP. Servlets are Java programs that extend functionality of web servers. They have advantages over CGI scripts like improved performance from residing in memory.
Microservice Teststrategie mit Symfony2Per Bernhardt
Was teste ich in einer Symfony2-Anwendung eigentlich wie? Sollte ich einen klassichen PHPUnit-Test, einen funktionalen Symfony2-WebTestCase oder vielleicht einen Behat-Test schreiben? Das Infodeck "Testing Strategies in a Microservice Architecture" von ThoughtWorks beschreibt eine sehr sinnvolle Strategie zum Testen von Microservice-Anwendungen, bietet aber auch gute Entscheidungshilfen zum Testen von Anwendungen im Allgemeinen. Mit diesem Vortrag möchte ich unseren Ansatz bei Chefkoch.de zeigen, die allgemeine Strategie von ThoughtWorks auf ein konkretes Symfony2 Projekt anzuwenden.
This document provides an introduction and overview of using PHP as a scripting language for web programming applications in agricultural climatology. It covers background information on PHP and why it is suitable, basic syntax, variables and data types, control structures, functions, file input/output, and provides exercises for users to practice skills like reading weather data files and calculating cumulative growing degree units. The final section outlines a project exercise for users to build on the skills by reading a NASA weather data file and calculating thermal time between user-selected dates.
This document provides summaries of key points about the jQuery and Prototype JavaScript libraries:
1. jQuery is an open-source JavaScript library that simplifies HTML document traversal, event handling, animation, and Ajax interactions. It has a lightweight footprint and is cross-browser compatible.
2. Both jQuery and Prototype are available under MIT and GPL licenses, allowing developers to choose the license that best suits their projects. jQuery is maintained by a core team and has additional community support.
3. The document then provides examples of common jQuery functions and selectors for manipulating the DOM, handling events, animating elements, and making Ajax requests.
This document discusses using an HTTP proxy to load specific web pages for testing purposes. It explains that many web pages contain resources from multiple domains that cannot be saved locally. An HTTP proxy can be used to intercept requests and redirect local URLs to a test server, while passing through external URLs to the actual web server. The document provides code examples for setting up an HTTP proxy using HTTP::Proxy and modifying the LWP user agent to handle local and remote URLs differently. Using this approach allows a test loop to load repeatable web page content from both local and external sources.
This document summarizes and compares Ruby HTTP client libraries. It discusses the sync and async APIs of 16 libraries including Net::HTTP, HTTPClient, and Faraday. It covers their compatibility, supported features like keep-alive connections, and performance based on benchmarks. The document recommends libraries based on priorities like speed, HTML handling, API clients, and SSL support. It encourages readers to check the detailed feature matrix and report any errors found.
This document provides an introduction and overview of Windows PowerShell. It discusses what PowerShell is, how it works, and how it can be used for administration tasks and extended to work with other products. The document covers PowerShell concepts like verbs, nouns, pipelines, and cmdlets. It also provides examples of using PowerShell for ad-hoc tasks and developing PowerShell scripts and cmdlets for production environments.
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
Building a desktop app using HTTP::Engine as a micro web server, SQLite for data storage, and jQuery for the user interface. Comet and asynchronous workers are used to enable real-time features. JSON-RPC and routing are implemented to support AJAX actions. The combination provides a lightweight "desktop app" architecture that is cross-platform.
This document discusses potential updates to the Web Server Gateway Interface (WSGI) specification and some of the challenges involved. It notes that WSGI 1.0 has limitations for asynchronous systems and middleware. The author explored ideas for WSGI 2.0 like making requests and responses objects and adding context managers for resource management, but concluded it may be too late since so much code relies on the current specification.
We use websockets for our clients because we care deeply about a fast, responsive user experience. At the Play! Framework meetup based near us in Mountain View, CA (http://www.meetup.com/PlayFramework/), we presented an introduction to using Websockets with Play!. We cover some relevant background into alternatives, benchmarks, and how Websockets work within Play!.
This document provides an overview of the Tornado web server and summarizes its internals. It begins with an introduction to Tornado, describing it as a scalable, non-blocking web server and framework written in Python. It then outlines the main Tornado modules and discusses sockets, I/O monitoring using select, poll and epoll, and how Tornado sets up its server loop and handles requests.
This document discusses the Tornado web server framework. It provides an overview of Tornado, including that it is a non-blocking and scalable web server that was used by FriendFeed and is now open-sourced by Facebook. It describes Tornado's architecture, which uses an IOLoop and callbacks instead of threads to remain asynchronous and non-blocking. An example "Hello World" application in Tornado is also provided. Performance comparisons show Tornado outperforming other frameworks like Node.js and Twisted.
Making Symofny shine with Varnish - SymfonyCon Madrid 2014Barel Barelon
The document discusses using Varnish as a cache accelerator in front of Symfony applications. It provides an overview of Varnish configuration using VCL, the request flow through Varnish, and new features in Varnish 4. It also covers specific techniques for caching Symfony applications, including normalizing URLs and cookies, load balancing backends, handling internationalization, and invalidating caches.
The document discusses Rack, a modular web server interface for Ruby that allows web applications and frameworks to be written as middleware stacks. It covers topics like Rack applications as middleware, common Rack middleware components, building applications with Rack and middleware, and integrating Rack middleware with frameworks like Rails.
"Swoole: double troubles in c", Alexandr VronskiyFwdays
Practices in using Swoole ecosystem & migration real production marketplace app to async approach. Which benefits we got and what problems happens on stack with PHP8, Postgresql, Redis, RebbitMQ, Doctrine, coroutines/fibers, concurrency HTTP Server.
The document discusses Node.js and asynchronous I/O. It explains that Node.js is an asynchronous event-driven JavaScript runtime that uses a single-threaded model with non-blocking I/O to handle high volumes of simultaneous connections efficiently. It also discusses how Node.js handles asynchronous operations using an event loop and callback functions instead of blocking operations.
The document provides an overview and tutorial of Perlbal, an open source reverse proxy and load balancer written in Perl. It discusses how to install Perlbal using CPAN, describes the various roles it can perform like reverse proxy, web server, and load balancing. It also covers configuring and using Perlbal services, writing plugins, and its class architecture.
A server is a computer that responds to requests from clients like web browsers. Common requests include serving web pages, uploading/downloading files, and sending email. Apache is a popular web server software that runs on 66% of websites. It is feature-rich, efficient, robust, secure, and open source. A port is a software connection between a server and client used to identify the service, like port 80 for HTTP. Servlets are Java programs that extend functionality of web servers. They have advantages over CGI scripts like improved performance from residing in memory.
Microservice Teststrategie mit Symfony2Per Bernhardt
Was teste ich in einer Symfony2-Anwendung eigentlich wie? Sollte ich einen klassichen PHPUnit-Test, einen funktionalen Symfony2-WebTestCase oder vielleicht einen Behat-Test schreiben? Das Infodeck "Testing Strategies in a Microservice Architecture" von ThoughtWorks beschreibt eine sehr sinnvolle Strategie zum Testen von Microservice-Anwendungen, bietet aber auch gute Entscheidungshilfen zum Testen von Anwendungen im Allgemeinen. Mit diesem Vortrag möchte ich unseren Ansatz bei Chefkoch.de zeigen, die allgemeine Strategie von ThoughtWorks auf ein konkretes Symfony2 Projekt anzuwenden.
This document provides an introduction and overview of using PHP as a scripting language for web programming applications in agricultural climatology. It covers background information on PHP and why it is suitable, basic syntax, variables and data types, control structures, functions, file input/output, and provides exercises for users to practice skills like reading weather data files and calculating cumulative growing degree units. The final section outlines a project exercise for users to build on the skills by reading a NASA weather data file and calculating thermal time between user-selected dates.
This document provides summaries of key points about the jQuery and Prototype JavaScript libraries:
1. jQuery is an open-source JavaScript library that simplifies HTML document traversal, event handling, animation, and Ajax interactions. It has a lightweight footprint and is cross-browser compatible.
2. Both jQuery and Prototype are available under MIT and GPL licenses, allowing developers to choose the license that best suits their projects. jQuery is maintained by a core team and has additional community support.
3. The document then provides examples of common jQuery functions and selectors for manipulating the DOM, handling events, animating elements, and making Ajax requests.
This document provides summaries of key points about the jQuery and Prototype JavaScript libraries:
1. jQuery is an open-source JavaScript library that simplifies HTML document traversal, event handling, animation, and Ajax interactions. It has a lightweight footprint and is cross-browser compatible.
2. Both jQuery and Prototype are available under MIT and GPL licenses, allowing developers to choose the license that best suits their projects. jQuery is maintained by a core team and has additional community support.
3. The document then provides examples of common jQuery functions and selectors for manipulating the DOM, handling events, animating elements, and making Ajax requests.
Real-Time Python Web: Gevent and Socket.ioRick Copeland
The document discusses using Gevent and Socket.io for building real-time web applications, providing code examples for building a chat application that uses Gevent for asynchronous programming, Socket.io for client-server communication, and ZeroMQ for inter-process communication between greenlets. It describes the design and implementation of a web-based chat application that allows clients to send and receive messages in real-time using these technologies.
This document provides an overview of Java servlets technology, including:
1. What Java servlets are and their main purposes and advantages such as portability, power, and integration with server APIs.
2. Key aspects of servlet architecture like the servlet lifecycle, the HttpServletRequest and HttpServletResponse objects, and how different HTTP methods map to servlet methods.
3. Examples of simple servlets that process parameters, maintain a session counter, and examples of deploying servlets in Eclipse IDE.
Rapid java backend and api development for mobile devicesciklum_ods
This document discusses best practices for developing RESTful APIs and backend services for mobile applications. It recommends using Java, Maven, Spring, Jersey, and Protocol Buffers. Protocol Buffers provide a compact data interchange format that is faster than JSON and more widely supported than other protocols. The document provides an example of implementing authentication, API throttling, caching, testing, and error handling in a RESTful service using these technologies.
The document discusses various techniques for enabling offline functionality in Ajax applications, including browser storage options like cookies, Firefox offline storage, and Flash shared objects. It also covers approaches for pushing data from server to client like polling, asynchronous servlets, Comet, and piggybacking on other responses. The document concludes with considerations for optimizing Ajax performance such as data formats, bandwidth usage, and client-side processing.
Cross Domain Web Mashups with JQuery and Google App EngineAndy McKay
This document discusses cross-domain mashups using jQuery and Google App Engine. It describes common techniques for dealing with the same-origin policy, including proxies, JSONP, and building sample applications that mashup Twitter data, geotagged tweets, and maps. Examples include parsing RSS feeds from Twitter into JSONP and displaying tweets on a map based on their geotagged locations. The document concludes by noting issues with trust, failures, and limitations for enterprise use.
Designing CakePHP plugins for consuming APIsNeil Crookes
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms for those who already suffer from conditions like depression and anxiety.
The document discusses upcoming web standards like HTML5 and WebSockets. It provides examples of using local storage, handling errors with window.onerror, and the Same Origin Policy. It also demonstrates how to access device sensors and use the webcam with getUserMedia. The document promotes Opera's developer tools like Dragonfly and extensions to aid web development.
CakePHP 2.0 introduces major enhancements such as decoupling request and response handling, separating authentication logic into its own class, and allowing dynamic loading of components, helpers and behaviors through a new ObjectCollection class. It also resolves various issues like improving security, making pagination support GET requests, and allowing more flexible routes. The new version aims to improve decoupling, flexibility and performance while maintaining backwards compatibility.
The document discusses Node.js, which is a server-side JavaScript environment that uses an asynchronous event-driven model. Some key points:
- Node.js uses the V8 JavaScript engine and allows handling requests via JavaScript on the server-side rather than a separate language like PHP, Java, etc.
- It has non-blocking I/O to avoid blocking the entire process when waiting for slow resources like files or databases. Callbacks are used to handle asynchronous operations.
- The document discusses how Node.js could provide access to MUMPS databases to take advantage of the benefits of global storage while using the popular JavaScript language.
Spring 3 MVC can be used to build RESTful web services. It supports annotations like @Controller, @RequestMapping and @PathVariable to map HTTP requests to controller methods. Requests and responses can be in various formats like JSON, XML, RSS using ContentNegotiatingViewResolver. Custom converters can be used to convert request parameters to Java objects. Exceptions can be handled using @ExceptionHandler.
The document discusses Node.js and compares it to other technologies like CakePHP. It provides an overview of Node.js including its event-driven and asynchronous model, key features like the V8 engine and packages/modules, and frameworks like Express. It then demonstrates building a sample messaging application with a JSON API using both CakePHP and Node.js.
The document discusses various techniques for optimizing web program performance, including improving data structures and algorithms, reducing network, disk, and memory I/O, using NoSQL databases, optimizing frontend resource loading and execution, and testing and refactoring code for performance. It also covers specific optimizations related to caching, content delivery networks, domain name resolution, module loading, code packaging, and handling slower users.
Ruby C10K: High Performance Networking - RubyKaigi '09Ilya Grigorik
This document discusses using the EM-Proxy Ruby gem to build a high performance proxy for monitoring and load testing web applications. It describes how to configure EM-Proxy to duplicate requests to both a production and test server, modifying requests and responses as needed. Examples are given to demonstrate transparent port forwarding, response alteration, and running post-processing steps after each request.
Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes. It is written in Java and uses a pluggable backend. Presto is fast due to code generation and runtime compilation techniques. It provides a library and framework for building distributed services and fast Java collections. Plugins allow Presto to connect to different data sources like Hive, Cassandra, MongoDB and more.
Presto generates Java bytecode at runtime to optimize query execution. Key query operations like filtering, projections, joins and aggregations are compiled into efficient Java methods using libraries like ASM and Fastutil. This bytecode generation improves performance by 30% through techniques like compiling row hashing for join lookups directly into machine instructions.
ActiveWeb: Chicago Java User Group Presentationipolevoy
- ActiveWeb is a Java web framework that aims to make web programming fun and productive again through its simplicity, support for TDD, and immediate feedback.
- It provides convention over configuration routing and views, dependency injection with Guice, and integrates well with testing frameworks like allowing parameters to be passed to controllers and inspecting HTML responses.
- ActiveWeb has no XML configuration and aims to have as few dependencies as possible while still providing a full-stack framework for building RESTful web services and traditional MVC applications.
This document provides an overview of servers, servlets, and related technologies. It defines that a server is a computer that responds to requests from clients, with typical requests including serving web pages and files. It introduces Apache as a popular web server, and notes that Tomcat is the servlet container that handles servlet requests for Apache. Finally, it defines that a servlet is a Java class that extends HttpServlet and overrides methods like doGet and doPost to respond to HTTP requests from clients.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
The document discusses testing throughout the software development life cycle. It describes different software development models including sequential, incremental, and iterative models. It also covers different test levels from component and integration testing to system and acceptance testing. The document discusses different types of testing including functional and non-functional testing. It also covers topics like maintenance testing and triggers for additional testing when changes are made. Also covers concepts of Agile including DevOps, Shift Left Approach, TDD, BDD, ATDD, Retrospective and Process Improvement
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/07/intels-approach-to-operationalizing-ai-in-the-manufacturing-sector-a-presentation-from-intel/
Tara Thimmanaik, AI Systems and Solutions Architect at Intel, presents the “Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” tutorial at the May 2024 Embedded Vision Summit.
AI at the edge is powering a revolution in industrial IoT, from real-time processing and analytics that drive greater efficiency and learning to predictive maintenance. Intel is focused on developing tools and assets to help domain experts operationalize AI-based solutions in their fields of expertise.
In this talk, Thimmanaik explains how Intel’s software platforms simplify labor-intensive data upload, labeling, training, model optimization and retraining tasks. She shows how domain experts can quickly build vision models for a wide range of processes—detecting defective parts on a production line, reducing downtime on the factory floor, automating inventory management and other digitization and automation projects. And she introduces Intel-provided edge computing assets that empower faster localized insights and decisions, improving labor productivity through easy-to-use AI tools that democratize AI.
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsLinda Zhang
This brochure gives introduction of MYIR Electronics company and MYIR's products and services.
MYIR Electronics Limited (MYIR for short), established in 2011, is a global provider of embedded System-On-Modules (SOMs) and
comprehensive solutions based on various architectures such as ARM, FPGA, RISC-V, and AI. We cater to customers' needs for large-scale production, offering customized design, industry-specific application solutions, and one-stop OEM services.
MYIR, recognized as a national high-tech enterprise, is also listed among the "Specialized
and Special new" Enterprises in Shenzhen, China. Our core belief is that "Our success stems from our customers' success" and embraces the philosophy
of "Make Your Idea Real, then My Idea Realizing!"
Test Management as Chapter 5 of ISTQB Foundation. Topics covered are Test Organization, Test Planning and Estimation, Test Monitoring and Control, Test Execution Schedule, Test Strategy, Risk Management, Defect Management
Database Management Myths for DevelopersJohn Sterrett
Myths, Mistakes, and Lessons learned about Managing SQL Server databases. We also focus on automating and validating your critical database management tasks.
Dev Dives: Mining your data with AI-powered Continuous DiscoveryUiPathCommunity
Want to learn how AI and Continuous Discovery can uncover impactful automation opportunities? Watch this webinar to find out more about UiPath Discovery products!
Watch this session and:
👉 See the power of UiPath Discovery products, including Process Mining, Task Mining, Communications Mining, and Automation Hub
👉 Watch the demo of how to leverage system data, desktop data, or unstructured communications data to gain deeper understanding of existing processes
👉 Learn how you can benefit from each of the discovery products as an Automation Developer
🗣 Speakers:
Jyoti Raghav, Principal Technical Enablement Engineer @UiPath
Anja le Clercq, Principal Technical Enablement Engineer @UiPath
⏩ Register for our upcoming Dev Dives July session: Boosting Tester Productivity with Coded Automation and Autopilot™
👉 Link: https://bit.ly/Dev_Dives_July
This session was streamed live on June 27, 2024.
Check out all our upcoming Dev Dives 2024 sessions at:
🚩 https://bit.ly/Dev_Dives_2024
Leveraging AI for Software Developer Productivity.pptxpetabridge
Supercharge your software development productivity with our latest webinar! Discover the powerful capabilities of AI tools like GitHub Copilot and ChatGPT 4.X. We'll show you how these tools can automate tedious tasks, generate complete syntax, and enhance code documentation and debugging.
In this talk, you'll learn how to:
- Efficiently create GitHub Actions scripts
- Convert shell scripts
- Develop Roslyn Analyzers
- Visualize code with Mermaid diagrams
And these are just a few examples from a vast universe of possibilities!
Packed with practical examples and demos, this presentation offers invaluable insights into optimizing your development process. Don't miss the opportunity to improve your coding efficiency and productivity with AI-driven solutions.
Chapter 3 of ISTQB Foundation 2018 syllabus with sample questions. Answers about what is static testing, what is review, types of review, informal review, walkthrough, technical review, inspection.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
This slide deck is a deep dive the Salesforce latest release - Summer 24, by the famous Stephen Stanley. He has examined the release notes very carefully, and summarised them for the Wellington Salesforce user group, virtual meeting June 27 2024.
Metadata Lakes for Next-Gen AI/ML - DatastratoZilliz
As data catalogs evolve to meet the growing and new demands of high-velocity, unstructured data, we see them taking a new shape as an emergent and flexible way to activate metadata for multiple uses. This talk discusses modern uses of metadata at the infrastructure level for AI-enablement in RAG pipelines in response to the new demands of the ecosystem. We will also discuss Apache (incubating) Gravitino and its open source-first approach to data cataloging across multi-cloud and geo-distributed architectures.
Test Case Design Techniques as chapter 4 of ISTQB Foundation. Topics included are Equivalence Partition, Boundary Value Analysis, State Transition Testing, Decision Table Testing, Use Case Testing, Statement Coverage, Decision Coverage, Error Guessing, Exploratory Testing, Checklist Based Testing
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
In this follow-up session on knowledge and prompt engineering, we will explore structured prompting, chain of thought prompting, iterative prompting, prompt optimization, emotional language prompts, and the inclusion of user signals and industry-specific data to enhance LLM performance.
Join EIS Founder & CEO Seth Earley and special guest Nick Usborne, Copywriter, Trainer, and Speaker, as they delve into these methodologies to improve AI-driven knowledge processes for employees and customers alike.
Tool Support for Testing as Chapter 6 of ISTQB Foundation 2018. Topics covered are Tool Benefits, Test Tool Classification, Benefits of Test Automation and Risk of Test Automation
1. Implement Comet using PHP Dutch PHP Conference 2011 Jonas Mariën – King Foo www.king-foo.be
2. Jonas Mariën, King Foo www.king-foo.be Author “Zend Framework Web Services” (php|architect) Online since 93 (yep). PHP for fun since 96, professional since 2001. Master in Biological and Genetic Engineering, University of Leuven.
32. We need to get the status before oncomplete/onsuccess Note: there is also multipart/x-mixed-replace as part of XHR
33. XHR “ The XMLHttpRequest object can be in several states. The readyState attribute must return the current state, which must be one of the following values” * http://www.w3.org/TR/XMLHttpRequest/#states UNSENT (0) The object has been constructed. OPENED (1) The open() method has been successfully invoked. During this state request headers can be set using setRequestHeader() and the request can be made using the send() method. HEADERS_RECEIVED (2) All redirects (if any) have been followed and all HTTP headers of the final response have been received. Several response members of the object are now available. LOADING (3) The response entity body is being received. DONE (4) The data transfer has been completed or something went wrong during the transfer (e.g. infinite redirects).
34. XHR Sine jQuery 1.5, no direct access to the underlying XHR object
43. Server: checks for updates for a few cycles and keeps a counter. If counter limit reached, 'false' or 'error' message goes back. If an update is available before that, exit the loop and return an 'ok' message with payload.
49. Objects (other then the ones being pulled/pushed) on server side can be changed, need to have these changes fed to the client. Piggybacking to the rescue again?
50. One or more long polling requests open and then an AJAX call: might give you browser problems with simultaneous requests
51. Server performance: we need event driven solutions (message queues and/or something like node.js) to fix this
52. Proxies (chunking stuff) and firewalls (dropping long connections). Some Comet libs (next slides) try to detect intermediate proxies Comet is not mature. Uses HTTP against most of the basic assumptions and no real standards available. Not a real standard.
53. Thoughts & Notes Performance is the biggest problem A Comet server should be able to handle as much connections as fast as possible, with a high troughput and low latency. Long polling requests stay idle for a while, so claiming a thread is not ok.
66. /chat/** Now has some WS support too (haven't tested that, see http://cometdproject.dojotoolkit.org/node/124 and https://www.dojotoolkit.org/reference-guide/_static/js/dojox/socket/)
72. Cometd/Bayeux Download distribution from: http://downloads.dojotoolkit.org/cometd/ $ tar zxvf cometd-1.1.4.tgz $ cd cometd-1.1.4/ $ cd cometd-1.1.4/ $ cd cometd-demo $ mvn jetty:deploy-war http://localhost:8080/ And a demo..
145. Conclusions Push! Go for a solution that bridges the gap while waiting for websockets and SSE Do keep an eye on the real-time web evolution. It will be here very (very) soon and will impact your job.
146. Credits “ Comet and Reverse Ajax: The next Generation Ajax 2.0” by Dave Crane and Phil McCarthy