Zijn performantietesten noodzakelijk voor je project? Hoe begin je eraan? Welke kennis, tools en ervaring heb je nodig of moet je inhuren? Verschilt de aanpak voor een online applicatie van een backoffice applicatie? Wat gedaan als de performantie onvoldoende is? Wouter Soubry, Software Quality & Application Performance Consultant bij Axxes, maakt in deze presentatie komaf met al deze pitfalls bij Performance Testing.
Met Angular 2 voor de deur rijst de vraag hoe we met Angular 1.x applicaties kunnen bouwen die future proof zijn. Deze sessie leert je hoe applicatie structuur, TypeScript en Webpack hierbij kunnen helpen.
That’s not your var – JavaScript best practices for C# developersGyörgy Balássy
You can be a classic ASP.NET developer with many years of experience with server side C# development, however if you create a modern web application, it is very likely that you will have to write JavaScript code. JavaScript itself is not a complicated language, but when you are used to your favorite coding and debugging tools, this weakly typed language has some special surprises for you. For example because object orientation, and scopes mean totally different things in C# and JavaScript, first you have to learn how to organize your code in this world. Then when your code runs, you have to find and correct your errors in it, but the debugging experience is quite different, if your code runs partly in a browser and partly on the server. You can think of logging which usually helps, but accessing the log after the web page has been destroyed raises further questions. Maybe you already know how to send some raw data to the client in an Ajax response, but how can you data-bind on the client? Join us in this session to learn some tips and tricks to answer these questions using HTML5 and some very handy tools, which can boost your productivity. We will tell you what we have learned in real world projects and show you our proven practices.
The Five Easy Ways to QA Your Site has been presented at DrupalCamp South Florida as well as DrupalCamp Florida. The talk addresses the issue of using simple methods to add polish to your site through established Quality Assurance methods. During this presentation you'll learn quick and easy tasks as well as what tools to use to provide a high level of quality.
Diagnosing WordPress: What to do when things go wrongWordCamp Sydney
Everyone hates seeing the White Screen of Death, especially if it’s discovered by the client calling to tell you their site is down. Even more frustrating can be intermittent error and/or slow response times, as these can be much harder to diagnose.
Aimed at newer WordPress developers and advanced users, this talk will start with the basic diagnostics tools available and go all the way through to advanced debugging. Attendees should be able to leave this talk with an informed diagnostic approach to errors, rather than just panic.
Presented by Tim Butler @timbutler at WordCamp Sydney 2018
The document discusses using Docker for test automation. It provides examples of pulling common test images like Selenium/standalone-chrome, running them in containers, and accessing their logs. It also discusses building custom Dockerfiles to create test stacks and publishing them to public or private repositories for automated builds. Finally, it lists some common Docker commands like run, logs, ps, stop and rm and introduces the SeleniumHQ automated test images as examples of prebuilt stacks that can help run tests in containers.
Debugging code is an essential task for every software developer. PHP is one of the most popular programming languages, but setting up debugging for PHP applications may be tricky. This session will demonstrate what debugging technologies and tools are available for PHP. How to debug CLI scripts, Web apps and REST services. What's the easiest way to set up debugging for the different server environments: local, remote, cloud or virtualized; in development or in production.
Zijn performantietesten noodzakelijk voor je project? Hoe begin je eraan? Welke kennis, tools en ervaring heb je nodig of moet je inhuren? Verschilt de aanpak voor een online applicatie van een backoffice applicatie? Wat gedaan als de performantie onvoldoende is? Wouter Soubry, Software Quality & Application Performance Consultant bij Axxes, maakt in deze presentatie komaf met al deze pitfalls bij Performance Testing.
Met Angular 2 voor de deur rijst de vraag hoe we met Angular 1.x applicaties kunnen bouwen die future proof zijn. Deze sessie leert je hoe applicatie structuur, TypeScript en Webpack hierbij kunnen helpen.
That’s not your var – JavaScript best practices for C# developersGyörgy Balássy
You can be a classic ASP.NET developer with many years of experience with server side C# development, however if you create a modern web application, it is very likely that you will have to write JavaScript code. JavaScript itself is not a complicated language, but when you are used to your favorite coding and debugging tools, this weakly typed language has some special surprises for you. For example because object orientation, and scopes mean totally different things in C# and JavaScript, first you have to learn how to organize your code in this world. Then when your code runs, you have to find and correct your errors in it, but the debugging experience is quite different, if your code runs partly in a browser and partly on the server. You can think of logging which usually helps, but accessing the log after the web page has been destroyed raises further questions. Maybe you already know how to send some raw data to the client in an Ajax response, but how can you data-bind on the client? Join us in this session to learn some tips and tricks to answer these questions using HTML5 and some very handy tools, which can boost your productivity. We will tell you what we have learned in real world projects and show you our proven practices.
The Five Easy Ways to QA Your Site has been presented at DrupalCamp South Florida as well as DrupalCamp Florida. The talk addresses the issue of using simple methods to add polish to your site through established Quality Assurance methods. During this presentation you'll learn quick and easy tasks as well as what tools to use to provide a high level of quality.
Diagnosing WordPress: What to do when things go wrongWordCamp Sydney
Everyone hates seeing the White Screen of Death, especially if it’s discovered by the client calling to tell you their site is down. Even more frustrating can be intermittent error and/or slow response times, as these can be much harder to diagnose.
Aimed at newer WordPress developers and advanced users, this talk will start with the basic diagnostics tools available and go all the way through to advanced debugging. Attendees should be able to leave this talk with an informed diagnostic approach to errors, rather than just panic.
Presented by Tim Butler @timbutler at WordCamp Sydney 2018
The document discusses using Docker for test automation. It provides examples of pulling common test images like Selenium/standalone-chrome, running them in containers, and accessing their logs. It also discusses building custom Dockerfiles to create test stacks and publishing them to public or private repositories for automated builds. Finally, it lists some common Docker commands like run, logs, ps, stop and rm and introduces the SeleniumHQ automated test images as examples of prebuilt stacks that can help run tests in containers.
Debugging code is an essential task for every software developer. PHP is one of the most popular programming languages, but setting up debugging for PHP applications may be tricky. This session will demonstrate what debugging technologies and tools are available for PHP. How to debug CLI scripts, Web apps and REST services. What's the easiest way to set up debugging for the different server environments: local, remote, cloud or virtualized; in development or in production.
The document discusses RxNetty which combines Netty and RxJava. Netty is a Java asynchronous network application framework used by companies like Netflix, Apple, and Google. It provides high performance and low latency. RxNetty integrates Netty with RxJava to provide asynchronous and non-blocking capabilities to RxJava applications. An example project demonstrates migrating a Spring calculator application to use RxNetty.
FITC - Here Be Dragons: Advanced JavaScript DebuggingRami Sayar
This document discusses common types and locations of errors in JavaScript, tools for debugging and introspecting JavaScript code, and methods for remotely debugging Node.js and front-end JavaScript applications. It covers loading errors, runtime errors, logic errors, and frequent error locations in JavaScript. Debugging tools discussed include node-inspector, Visual Studio Code, Vantage, and Vorlon.js. Remote debugging of Node.js processes and front-end code is also covered.
The document discusses testing and related topics. It covers test stacks including Java, PHP, and JavaScript. It mentions visual testing, keyword driven testing, continuous integration, application monitoring, and testing mobile and microservices. It also discusses the differences between testers and SDETs and their skills. Finally, it predicts that Agile and DevOps will be important for testing in 2016.
This document provides an overview of Gatling, an open-source load testing tool developed using Scala. It discusses Gatling's focus on web applications, simplicity, high performance, good reports, and easy integration with CI tools. It then covers setting up Gatling, including prerequisites, writing a sample test, and key concepts like scenarios, simulations, and reports.
This document discusses and compares several JavaScript unit testing tools and techniques:
1. JsUnitTest is a simple standalone tool that uses fixtures loaded in the browser but does not scale well and requires browser interaction.
2. BlueRidge is integrated with Rails and easy to set up but runs tests in non-browser environments.
3. JsTestDriver runs tests across multiple actual browsers simultaneously from the command line and scales well but currently lacks support for asynchronous tests.
Sonar is a platform for continuously inspecting code quality to detect issues, ensure technical debt is under control, and monitor code complexity, duplications, and potential bugs. It provides visual reporting across projects and allows tracking metrics over time. Sonar supports PHP projects using tools like PHP_Codesniffer, PHPUnit, PHP Depend, and PHP Mess Detector. It can be set up with Maven and integrated with Hudson via a plugin or phpUnderControl via Ant tasks to run analysis as part of the continuous integration build process.
This document discusses Neo4j, a graph database that provides persistence for graph data. It introduces Neo4j and compares different approaches for interacting with Neo4j from PHP, including REST API libraries like everyman/neo4jphp and object graph mapping libraries like hirevoice/neo4jphp-ogm. It also demonstrates interacting with Neo4j from PHP code.
1. The document discusses building a chatroom web application using React and Firebase. It explains using the create-react-app command to initialize a React project called chatroom, then installing the Firebase package.
2. Details are provided about client-server architecture and the roles of frontend and backend development. The technologies that will be used are listed as React, HTML, and Firebase for the frontend and backend.
3. Instructions are given to run the React development server after creating the project and installing Firebase to begin building the chatroom application.
This document introduces Patterns, a new Javascript framework for Plone. It summarizes the current state of Javascript development in Plone, which involves many individual JS files and no standard testing. The document then proposes adopting existing Javascript tools and best practices, including Yeoman for scaffolding, Grunt for building and testing, Bower for packages, and Mocha for testing. It demonstrates a new approach called Plone Mockup that uses these tools to provide pre-compiled and tested JS code through patterns and bundles. Generators are also introduced to easily set up new Mockup projects which produce a build folder with all necessary JS files.
This document discusses using Xdebug as a debugging tool for Drupal. It provides instructions for installing Xdebug as a PHP extension, configuring advanced Xdebug settings, using PHPStorm as an IDE, and alternative debugging tools like debug(), dpq(), dpm(), and dvm(). Additional resources for Xdebug, PHPStorm configuration, and Drupal debugging are listed in the bibliography.
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!DrupalCamp Kyiv
The document discusses using Docker and Docker Compose to set up a development environment for migrating a Drupal 7 site to Drupal 8. It describes creating Dockerfiles for Drupal 7 and 8, a docker-compose file to configure linked PHP and MySQL containers, and sharing volumes to allow Drupal 8 access to Drupal 7 files. This allowed running Drupal 7 and 8 side-by-side for migration testing while resembling the actual production setup.
The document provides instructions for setting up a chatroom application using Firebase. It tells readers to install the necessary packages if they don't already have them from a previous workshop. This includes creating a React app, installing Firebase, and replacing the source code folder. It also mentions installing the Firebase CLI tools. The document then discusses additional hosting options for deploying the application such as Heroku, Firebase, GitHub Pages, and Netlify. It concludes by thanking readers for their time.
Debugging in PHP can be tedious and prone to error when using var_dump and echo statements. Learn how to debug more effectively and get better insight into an application by using Xdebug. See how to setup PHPStorm, Xdebug, and the browser to enable debugging that will let you step into code and see variable values live. Extend those debugging capabilities into REST and SOAP clients to increase the code that can be debugged with ease.
A few tips on how to go to the next level in PHP web application development. Tells about SCM, code convention, code testing, DRY, etc. Targeted towards the new PHPers who have worked for around 6-12 months.
Autotests introduction discusses good practices for writing automated tests including using Codeception, Selenium, and Jenkins. It provides an overview of setting up testing environments and executing tests across different browsers and platforms. The document also covers best practices for writing tests such as navigating between pages, comparing actual and expected results, handling asynchronous elements, and using conditionals and loops. Overall, the document is an introduction to automated testing that outlines the tools, frameworks, and methodologies used for writing reliable and maintainable tests.
The document discusses different approaches to software development like waterfall and test-driven development (TTD). Waterfall has issues like finishing all work before moving forward, low business details and user experience involvement. TTD provides benefits like parallel work, high business and user experience involvement, and faster feedback. It also discusses using kanban to visualize workflow, forecast delivery, address bugs, and scale teams as a whole system by adding roles like coaches and leads as more developers are added.
PHP Aberdeen Quick optimisation of PHP with WebgrindAndy_Gaskell
Webgrind is a PHP profiling tool that provides a quick way to optimize PHP applications. It works by interfacing with the Xdebug profiler to generate call graphs and profiling data. Webgrind is easy to install, works on all platforms, and allows developers to characterize code performance, find slow parts of applications and libraries, and understand how systems work in order to make optimizations. The document provides steps on installing Xdebug, enabling it, installing and configuring Webgrind, and using it to analyze profiling data and call graphs to optimize an API that was experiencing slowdowns from increased data sizes.
The document discusses various technologies used for web development including NetBeans as an IDE, Apache as a web server, PHP as a programming language, and SimpleTest as a testing framework. It provides links to download and install each technology on Windows systems. Key files and configurations for Apache and PHP are also outlined.
El documento proporciona 7 cosas que los CTO y gerentes de ingeniería deben incluir en su "botiquín de supervivencia" si enfrentan un viaje inesperado. Estas incluyen 1) métricas clave, 2) acuerdos de trabajo del equipo, 3) reuniones individuales y grupales, 4) experimentación y gestión del cambio, 5) formación interna semanal, 6) arquitecturas desacopladas, y 7) pruebas unitarias basadas en casos de uso. El objetivo es ayudar a los equipos de ingen
Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)Carlos Buenosvinos
The document discusses strategies for addressing chronic "deliveritis", or a focus on delivery, in agile organizations. It recommends putting delivery first by focusing 20% of time on management, removing toxic people who consume too much time, having agile champions focus on delivery over processes, and scaling by dividing products rather than processes. The conclusion emphasizes that delivery first is an attitude CTOs should lead by example with a focus on delivery outcomes rather than technology or methodology.
The document discusses RxNetty which combines Netty and RxJava. Netty is a Java asynchronous network application framework used by companies like Netflix, Apple, and Google. It provides high performance and low latency. RxNetty integrates Netty with RxJava to provide asynchronous and non-blocking capabilities to RxJava applications. An example project demonstrates migrating a Spring calculator application to use RxNetty.
FITC - Here Be Dragons: Advanced JavaScript DebuggingRami Sayar
This document discusses common types and locations of errors in JavaScript, tools for debugging and introspecting JavaScript code, and methods for remotely debugging Node.js and front-end JavaScript applications. It covers loading errors, runtime errors, logic errors, and frequent error locations in JavaScript. Debugging tools discussed include node-inspector, Visual Studio Code, Vantage, and Vorlon.js. Remote debugging of Node.js processes and front-end code is also covered.
The document discusses testing and related topics. It covers test stacks including Java, PHP, and JavaScript. It mentions visual testing, keyword driven testing, continuous integration, application monitoring, and testing mobile and microservices. It also discusses the differences between testers and SDETs and their skills. Finally, it predicts that Agile and DevOps will be important for testing in 2016.
This document provides an overview of Gatling, an open-source load testing tool developed using Scala. It discusses Gatling's focus on web applications, simplicity, high performance, good reports, and easy integration with CI tools. It then covers setting up Gatling, including prerequisites, writing a sample test, and key concepts like scenarios, simulations, and reports.
This document discusses and compares several JavaScript unit testing tools and techniques:
1. JsUnitTest is a simple standalone tool that uses fixtures loaded in the browser but does not scale well and requires browser interaction.
2. BlueRidge is integrated with Rails and easy to set up but runs tests in non-browser environments.
3. JsTestDriver runs tests across multiple actual browsers simultaneously from the command line and scales well but currently lacks support for asynchronous tests.
Sonar is a platform for continuously inspecting code quality to detect issues, ensure technical debt is under control, and monitor code complexity, duplications, and potential bugs. It provides visual reporting across projects and allows tracking metrics over time. Sonar supports PHP projects using tools like PHP_Codesniffer, PHPUnit, PHP Depend, and PHP Mess Detector. It can be set up with Maven and integrated with Hudson via a plugin or phpUnderControl via Ant tasks to run analysis as part of the continuous integration build process.
This document discusses Neo4j, a graph database that provides persistence for graph data. It introduces Neo4j and compares different approaches for interacting with Neo4j from PHP, including REST API libraries like everyman/neo4jphp and object graph mapping libraries like hirevoice/neo4jphp-ogm. It also demonstrates interacting with Neo4j from PHP code.
1. The document discusses building a chatroom web application using React and Firebase. It explains using the create-react-app command to initialize a React project called chatroom, then installing the Firebase package.
2. Details are provided about client-server architecture and the roles of frontend and backend development. The technologies that will be used are listed as React, HTML, and Firebase for the frontend and backend.
3. Instructions are given to run the React development server after creating the project and installing Firebase to begin building the chatroom application.
This document introduces Patterns, a new Javascript framework for Plone. It summarizes the current state of Javascript development in Plone, which involves many individual JS files and no standard testing. The document then proposes adopting existing Javascript tools and best practices, including Yeoman for scaffolding, Grunt for building and testing, Bower for packages, and Mocha for testing. It demonstrates a new approach called Plone Mockup that uses these tools to provide pre-compiled and tested JS code through patterns and bundles. Generators are also introduced to easily set up new Mockup projects which produce a build folder with all necessary JS files.
This document discusses using Xdebug as a debugging tool for Drupal. It provides instructions for installing Xdebug as a PHP extension, configuring advanced Xdebug settings, using PHPStorm as an IDE, and alternative debugging tools like debug(), dpq(), dpm(), and dvm(). Additional resources for Xdebug, PHPStorm configuration, and Drupal debugging are listed in the bibliography.
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!DrupalCamp Kyiv
The document discusses using Docker and Docker Compose to set up a development environment for migrating a Drupal 7 site to Drupal 8. It describes creating Dockerfiles for Drupal 7 and 8, a docker-compose file to configure linked PHP and MySQL containers, and sharing volumes to allow Drupal 8 access to Drupal 7 files. This allowed running Drupal 7 and 8 side-by-side for migration testing while resembling the actual production setup.
The document provides instructions for setting up a chatroom application using Firebase. It tells readers to install the necessary packages if they don't already have them from a previous workshop. This includes creating a React app, installing Firebase, and replacing the source code folder. It also mentions installing the Firebase CLI tools. The document then discusses additional hosting options for deploying the application such as Heroku, Firebase, GitHub Pages, and Netlify. It concludes by thanking readers for their time.
Debugging in PHP can be tedious and prone to error when using var_dump and echo statements. Learn how to debug more effectively and get better insight into an application by using Xdebug. See how to setup PHPStorm, Xdebug, and the browser to enable debugging that will let you step into code and see variable values live. Extend those debugging capabilities into REST and SOAP clients to increase the code that can be debugged with ease.
A few tips on how to go to the next level in PHP web application development. Tells about SCM, code convention, code testing, DRY, etc. Targeted towards the new PHPers who have worked for around 6-12 months.
Autotests introduction discusses good practices for writing automated tests including using Codeception, Selenium, and Jenkins. It provides an overview of setting up testing environments and executing tests across different browsers and platforms. The document also covers best practices for writing tests such as navigating between pages, comparing actual and expected results, handling asynchronous elements, and using conditionals and loops. Overall, the document is an introduction to automated testing that outlines the tools, frameworks, and methodologies used for writing reliable and maintainable tests.
The document discusses different approaches to software development like waterfall and test-driven development (TTD). Waterfall has issues like finishing all work before moving forward, low business details and user experience involvement. TTD provides benefits like parallel work, high business and user experience involvement, and faster feedback. It also discusses using kanban to visualize workflow, forecast delivery, address bugs, and scale teams as a whole system by adding roles like coaches and leads as more developers are added.
PHP Aberdeen Quick optimisation of PHP with WebgrindAndy_Gaskell
Webgrind is a PHP profiling tool that provides a quick way to optimize PHP applications. It works by interfacing with the Xdebug profiler to generate call graphs and profiling data. Webgrind is easy to install, works on all platforms, and allows developers to characterize code performance, find slow parts of applications and libraries, and understand how systems work in order to make optimizations. The document provides steps on installing Xdebug, enabling it, installing and configuring Webgrind, and using it to analyze profiling data and call graphs to optimize an API that was experiencing slowdowns from increased data sizes.
The document discusses various technologies used for web development including NetBeans as an IDE, Apache as a web server, PHP as a programming language, and SimpleTest as a testing framework. It provides links to download and install each technology on Windows systems. Key files and configurations for Apache and PHP are also outlined.
El documento proporciona 7 cosas que los CTO y gerentes de ingeniería deben incluir en su "botiquín de supervivencia" si enfrentan un viaje inesperado. Estas incluyen 1) métricas clave, 2) acuerdos de trabajo del equipo, 3) reuniones individuales y grupales, 4) experimentación y gestión del cambio, 5) formación interna semanal, 6) arquitecturas desacopladas, y 7) pruebas unitarias basadas en casos de uso. El objetivo es ayudar a los equipos de ingen
Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)Carlos Buenosvinos
The document discusses strategies for addressing chronic "deliveritis", or a focus on delivery, in agile organizations. It recommends putting delivery first by focusing 20% of time on management, removing toxic people who consume too much time, having agile champions focus on delivery over processes, and scaling by dividing products rather than processes. The conclusion emphasizes that delivery first is an attitude CTOs should lead by example with a focus on delivery outcomes rather than technology or methodology.
El objetivo de la presentación es ayudar con trucos y consideraciones para mover nuestras aplicaciones del nivel 3 al nivel 4 de una forma práctica y reduciendo los costes de transición (de menor coste/complejidad a mayor sin comprometer mucho el siguiente paso). Veremos cómo desacoplar sin eventos de dominio sobre el mismo monolito, algunos trucos para mejorar la asincronía, cómo usar eventos con un monolito, la diferencia entre orquestrar y coordinar, y mucho más!
1) The document describes Carlos Buenosvinos' maturity model for application architecture, starting from "Spaghetti Architecture" and progressing through "Framework Fanboy Architecture", "Hexagonal Architecture", adding domain events, CQRS, and eventually event sourcing with CQRS.
2) It tells a story of one company's journey applying these architectural approaches to address issues like complexity, dependencies, bugs, and performance as their codebase and features grew over time.
3) Advancing through the levels involved techniques like separating concerns, delaying infrastructure decisions, improving testability, handling tasks asynchronously, splitting read and write models, and ultimately reconstructing entities from event logs for benefits like historical data and auditability.
Arquitecturas basadas en eventos tales como Event Sourcing tienen múltiples beneficios: escalabilidad, gestión de la complejidad, auditoría, etc. Pero llegar a ellas es duro. Nos faltan conocimientos, experiencia y coraje.
En esta charla, mostraré algunos trucos y consejos para evolucionar vuestra arquitectura actual hacia Event Sourcing paso a paso. Empezaremos desde una aplicación con arquitectura hexagonal y acabaremos a las puertas de Event Sourcing.
Primeros Pasos Liderando Equipos Técnicos - Techne 2018Carlos Buenosvinos
Si creéis que la tecnología es complicada, probad a llevar personas. En serio! Hay cantidades ingentes de material (libros, videos, cursos, etc.) disponibles para aprender el nuevo framework de turno, sin embargo, a lo que liderar equipos técnicos se refiere, la lista es bastante más corta.
Es fácil practicar en casa con una máquina virtual o un container, pero es más difícil convencer a tu hija de 6 años que se comporte como ese miembro de tu equipo que se queja por todo, es caprichoso, no comparte con los compañeros y no sabe pedir ayuda cuando se queda atascado… un momento! Jejeje!
En esta charla, vamos a repasar bibliografía de referencia, técnicas y trucos para liderar equipos, cómo relacionarte con tu CEO, algunas tendencias del mercado que podéis aprovechar y muchas cosas más que espero os sirvan de ayuda.
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017Carlos Buenosvinos
1) The document describes the evolution of an architecture from a "Spaghetti Architecture" to using Event Sourcing and CQRS. It outlines a maturity model with 6 levels: from Spaghetti to Hexagonal to adding Domain Events to using CQRS as a stepping stone to full Event Sourcing and CQRS.
2) As the architecture evolved through each level, it improved separation of concerns, testability, and addressed new issues like complexity and performance. Domain Events were added to help decompose tasks and sync events. CQRS was introduced to improve performance of read models.
3) Fully implementing Event Sourcing would involve entities being reconstituted from stored events rather than loaded from a
A Journey from Hexagonal Architecture to Event SourcingCarlos Buenosvinos
This document summarizes a company's evolution from a "spaghetti" architecture to using event sourcing. It describes how the company moved to hexagonal architecture and incorporated domain events to address growing complexity. As issues with performance and consistency arose, the document suggests preparing for event sourcing, where entities are loaded from stored events and the database acts as a cache. The overall maturity model progresses from initial architectures to full event sourcing and CQRS.
Charla con trucos sobre Scrum para obtener mejores resultados. Impartida en la II Geek Developer Day, Madrid, 2 de Noviembre de 2016. Más información en geekshubsacademy.com/geekdeveloperday-madrid/
Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015Carlos Buenosvinos
El objetivo de la charla es descubrir que el mundo del desarrollo de software se rige según el mercado y las reglas de los negocios, así como, comprobar que las metodologías ágiles y las buenas prácticas de desarrollo son rentables económicamente.
Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)Carlos Buenosvinos
This document discusses hexagonal architecture with PHP. It references a talk on domain-driven design from 2005. The main point is that hexagonal architecture allows an application to be driven equally by users, programs, tests or scripts, and to be developed and tested separately from runtime systems and databases. It provides demo code for a basic application demonstrating dependency inversion and another average application demonstrating using transactions and events.
Introducció al desarrollo móvil con Titanium, PhoneGap y otros. Presentación impartida por Carlos Buenosvinos (@buenosvinos) en el BetaBeers de Julio 2012.
This document provides an introduction to Agile and Scrum. It discusses the origins and principles of Agile, defines key Agile terms and frameworks like Scrum, and outlines the Scrum process. The roles in Scrum include the Scrum Master, Product Owner, and Core Team. It emphasizes values like focus, respect, commitment, and transparency.
Este documento presenta varias estrategias y prácticas para mejorar la productividad y el entusiasmo en equipos técnicos, incluyendo celebrar logros, formación interna y externa, certificaciones, blogs técnicos, hack days, métricas visibles, conocer bien al equipo y dar feedback. El objetivo general es generar un ambiente de trabajo enfocado pero relajado donde los desarrolladores se sientan orgullosos y apasionados.
Este documento resume una presentación sobre buenas prácticas para el desarrollo web en PHP. La presentación cubre temas como el uso de IDEs, estándares de codificación, documentación interna de código, control de versiones, seguimiento de incidencias, uso de wikis, metodologías ágiles, frameworks de PHP, bibliotecas, seguridad, depuración, pruebas unitarias, pruebas automatizadas, integración continua, métricas, rendimiento, despliegues, entornos, búsqueda y equipo.
Scrum al Detalle: Revision práctica y perversiones humanasCarlos Buenosvinos
La pandemia de COVID-19 ha tenido un impacto significativo en la economía mundial y las vidas de las personas. Muchos países han impuesto medidas de confinamiento que han cerrado negocios y escuelas, y han pedido a la gente que se quede en casa tanto como sea posible para frenar la propagación del virus. A medida que los países comienzan a reabrir gradualmente sus economías, existe la esperanza de que se pueda encontrar un equilibrio entre la salud pública y la recuperación económica.
Enrico Zimuel and Carlos Buenosvinos administered a 40 question PHP 5.3 certification practice exam over 40 minutes. The exam covered various PHP questions and functions. Upon completion, participants received feedback on their results and encouragement to try the real certification exam.
La pandemia de COVID-19 ha tenido un impacto significativo en la economía mundial. Muchos países experimentaron fuertes caídas en el PIB y aumentos en el desempleo debido a los cierres generalizados y las restricciones a los viajes. Aunque las vacunas han permitido la reapertura de muchas economías, los efectos a largo plazo de la pandemia en sectores como el turismo y los viajes aún no están claros.
El documento compara las características de Zend Framework y Symphony Framework. Analiza aspectos como la estructura, comunidad, documentación, internacionalización, caché, autenticación, integración con terceros, servicios web, registro, plantillas, correo electrónico e indexación de ambos frameworks. Finalmente, concluye recomendando Zend Framework para proyectos críticos que requieran un alto nivel técnico y Symphony Framework para proyectos iniciales, colaborativos o de nivel técnico medio o bajo.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
A review on techniques and modelling methodologies used for checking electrom...nooriasukmaningtyas
The proper function of the integrated circuit (IC) in an inhibiting electromagnetic environment has always been a serious concern throughout the decades of revolution in the world of electronics, from disjunct devices to today’s integrated circuit technology, where billions of transistors are combined on a single chip. The automotive industry and smart vehicles in particular, are confronting design issues such as being prone to electromagnetic interference (EMI). Electronic control devices calculate incorrect outputs because of EMI and sensors give misleading values which can prove fatal in case of automotives. In this paper, the authors have non exhaustively tried to review research work concerned with the investigation of EMI in ICs and prediction of this EMI using various modelling methodologies and measurement setups.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMHODECEDSIET
Time Division Multiplexing (TDM) is a method of transmitting multiple signals over a single communication channel by dividing the signal into many segments, each having a very short duration of time. These time slots are then allocated to different data streams, allowing multiple signals to share the same transmission medium efficiently. TDM is widely used in telecommunications and data communication systems.
### How TDM Works
1. **Time Slots Allocation**: The core principle of TDM is to assign distinct time slots to each signal. During each time slot, the respective signal is transmitted, and then the process repeats cyclically. For example, if there are four signals to be transmitted, the TDM cycle will divide time into four slots, each assigned to one signal.
2. **Synchronization**: Synchronization is crucial in TDM systems to ensure that the signals are correctly aligned with their respective time slots. Both the transmitter and receiver must be synchronized to avoid any overlap or loss of data. This synchronization is typically maintained by a clock signal that ensures time slots are accurately aligned.
3. **Frame Structure**: TDM data is organized into frames, where each frame consists of a set of time slots. Each frame is repeated at regular intervals, ensuring continuous transmission of data streams. The frame structure helps in managing the data streams and maintaining the synchronization between the transmitter and receiver.
4. **Multiplexer and Demultiplexer**: At the transmitting end, a multiplexer combines multiple input signals into a single composite signal by assigning each signal to a specific time slot. At the receiving end, a demultiplexer separates the composite signal back into individual signals based on their respective time slots.
### Types of TDM
1. **Synchronous TDM**: In synchronous TDM, time slots are pre-assigned to each signal, regardless of whether the signal has data to transmit or not. This can lead to inefficiencies if some time slots remain empty due to the absence of data.
2. **Asynchronous TDM (or Statistical TDM)**: Asynchronous TDM addresses the inefficiencies of synchronous TDM by allocating time slots dynamically based on the presence of data. Time slots are assigned only when there is data to transmit, which optimizes the use of the communication channel.
### Applications of TDM
- **Telecommunications**: TDM is extensively used in telecommunication systems, such as in T1 and E1 lines, where multiple telephone calls are transmitted over a single line by assigning each call to a specific time slot.
- **Digital Audio and Video Broadcasting**: TDM is used in broadcasting systems to transmit multiple audio or video streams over a single channel, ensuring efficient use of bandwidth.
- **Computer Networks**: TDM is used in network protocols and systems to manage the transmission of data from multiple sources over a single network medium.
### Advantages of TDM
- **Efficient Use of Bandwidth**: TDM all
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.