This document discusses different patterns for separating the view, model, and controller/presenter layers in a ZK application. It describes the MVP, MVC, and MVVM/MVB patterns and compares their approaches. It provides best practices for implementing each layer, such as avoiding business logic in the view and using databinding to sync the view and model. The document emphasizes that the view model pattern focuses on separating application state and behavior from the view using databinding annotations.
This document describes the architecture of a superscalar out-of-order processor core. It can dispatch up to 6 macro operations per cycle and execute up to 4 instructions per cycle. It has an 8-way issue width and can perform up to 3 loads and 2 stores per cycle.
Valgrind is an open source tool for debugging and profiling Linux x86 programs. It uses dynamic binary instrumentation to detect memory errors like use of uninitialized values, memory leaks, and invalid reads/writes. It includes tools like Memcheck for memory errors, Massif for heap profiling, Helgrind for data race detection, and Callgrind for call graph and profiling information. The presentation discusses how Valgrind works, its various tools, and best practices for using it to improve code quality and find bugs.
Valgrind is a suite of tools for debugging and profiling C and C++ programs. Memcheck is its most popular tool for detecting memory errors like leaks, accesses to uninitialized memory, and invalid reads/writes. It works by instrumenting the program binary to track "V-bits" and "A-bits" associated with each value and memory location. When the program is executed, Memcheck checks these bits to detect errors and produces detailed error reports with stack traces. The tutorial provides instructions on running Memcheck, understanding its output, and using options like suppressions and attaching a debugger. It also briefly describes how Memcheck works and lists some other Valgrind tools.
Boosting I/O Performance with KVM io_uringShapeBlue
Storage performance is becoming much more important. KVM io_uring attempts to bring the I/O performance of a virtual machine on almost the same level of bare metal. Apache CloudStack has support for io_uring since version 4.16. Wido will show the difference in performance io_uring brings to the table.
Wido den Hollander is the CTO of CLouDinfra, an infrastructure company offering total Webhosting solutions. CLDIN provides datacenter, IP and virtualization services for the companies within TWS. Wido den Hollander is a PMC member of the Apache CloudStack Project and a Ceph expert. He started with CloudStack 9 years ago. What attracted his attention is the simplicity of CloudStack and the fact that it is an open-source solution. During the years Wido became a contributor, a PMC member and he was a VP of the project for a year. He is one of our most active members, who puts a lot of efforts to keep the project active and transform it into a turnkey solution for cloud builders.
-----------------------------------------
The CloudStack European User Group 2022 took place on 7th April. The day saw a virtual get together for the European CloudStack Community, hosting 265 attendees from 25 countries. The event hosted 10 sessions with from leading CloudStack experts, users and skilful engineers from the open-source world, which included: technical talks, user stories, new features and integrations presentations and more.
------------------------------------------
About CloudStack: https://cloudstack.apache.org/
This document discusses using paravirtualized devices in Linux guests running on Xen in HVM (hardware virtual machine) mode. It offers the benefits of HVM like installing the same as native while also providing access to fast paravirtualized devices. Initial support added xenbus and grant table support while later enhancements added ballooning, spinlocks, and interrupt/MSI remapping. Benchmarks show PV on HVM performs close to PV guests for PV-favored workloads and far ahead for nested paging workloads. PV on HVM provides a spectrum of performance between HVM and PV guests.
Classic Cars Nissan offers you excellent sales and service on new or used Nissan vehicles. Stop in and test drive a Nissan 2007 XTERRA or any car or truck today! We're located Hainesport New Jersey between Cherry Hill and Mount Holly. Only 20 minutes from Philadelphia. Classic Cars Nissan 1513 Route 38 Hainesport, NJ 08036 866-CLASSIC or 866-252-7742
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...Adrian Huang
This document describes setting up a QEMU virtual machine with Ubuntu 20.04.1 to debug Linux kernel code using gdb. It has a 2-socket CPU configuration with 16GB of memory and disabled KASAN and ASLR. The QEMU VM can be used to run sample code and observe Linux kernel behavior under gdb, such as setting conditional breakpoints to analyze page fault behavior for mmap addresses by referencing a gdb debugging text file.
Este documento contiene instrucciones para 31 ejercicios sobre el uso de funciones básicas de un procesador de textos como Writer. Los ejercicios cubren temas como escritura y formato de texto, uso del teclado, formato de página, selección y justificación de texto, sangrías, formato de caracteres, búsqueda y reemplazo, formato de párrafos, numeración y viñetas, inserción de imágenes, tabuladores, tablas e impresión.
The document discusses analyzing Linux kernel crash dumps. It covers various ways to gather crash data like serial console, netconsole, kmsg dumpers, Kdump, and Pstore. It then discusses analyzing the crashed kernel using tools like ksymoops, crash utility, and examining the backtrace, kernel logs, processes, and file descriptors. The document provides examples of gathering data from Pstore and using commands like bt, log, and ps with the crash utility to extract information from a crash dump.
Ajax (Asynchronous JavaScript and XML) est une technique permettant la communication asynchrone entre application et serveur. c'est une architecture qui permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies.
Ajax combine JavaScript, les CSS, XML, le DOM et le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des Applications Internet Riches
Leverage CompletableFutures to handle async queries. DevNexus 2022David Gómez García
Slides used at DevNexus 22 talk.
Completable futures were introduced in Java 8, and they are a powerful mechanism to add concurrency (not parallelism) to your application logic, and it may be handy when dealing with multiple queries to different systems.
If you are a developer, you may make your code more performant by using CompletableFutures where it makes sense.
If you are a library developer, it may be a good thing to offer an API that returns CompletableFutures so that your users will be able to benefit from it.
Signature verification of kernel module and kexecjoeylikernel
The document discusses signature verification of kernel modules and the kexec binary loader in Linux. It describes:
1) How to enable kernel module signing using config options to cryptographically sign modules during installation and check signatures on loading.
2) How to generate signing keys, sign modules, and require valid signatures.
3) The mechanism where modules contain a signature string and metadata for verification.
4) How kexec can verify signatures of PE signed bzImage binaries using Authenticode signatures embedded in the COFF format.
5) The steps to enable verification in kexec, sign bzImages, and load signed kernels via kexec for testing.
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Pierre-jean Texier
The document discusses adding new platform support for SWUpdate in 30 minutes using Yocto/OE. It provides an overview of SWUpdate and the update process. It then demonstrates how to generate a clean Yocto/OE setup for the Microchip SAMA5D27-SOM1-EK1 board using KAS. Specific steps are outlined for creating a partition scheme, machine configuration, and deployment/testing of SWUpdate on the target board.
Man marine diesel engine v8 900 (d 2848 le 423) service repair manualfjsjekkdmnem
This document is a manual that provides instructions and diagrams for servicing and repairing engine components. It includes sections covering the fuel system, cooling system, lubrication system, intake/exhaust systems, cylinder head work, and other engine parts. Diagrams are provided of engine views and systems to assist technicians during repairs. Safety information and fault diagnosis tables are also included.
This presentation gives introduction to kernel module programming with sample kernel module.
It helps to start with kernel programming and how it can be used to develop various types of device drivers.
The slides begins with introduction to the character drivers and then mentions the various APIs for registering the character driver. Dynamically creating the device file and IOCTL
ISSCC 2018: "Zeppelin": an SoC for Multi-chip ArchitecturesAMD
This document describes the "Zeppelin" system-on-a-chip designed for multi-chip architectures. Key aspects include an 8-core "Zen" CPU complex, AMD Infinity Fabric interconnect, memory and I/O capabilities. The chip is designed for use in both single-die desktop and multi-die server configurations to provide scalability across markets using the same underlying SoC design.
El documento proporciona instrucciones para implementar un proyecto de demostración ZK en NetBeans. Indica que se debe seleccionar "Nuevo proyecto" en el menú principal, luego elegir "Java Web" y "ZK602ce Demo Project" en el asistente, y finalmente hacer clic en "Finish" y "Run" para instalar la demostración ZK.
qemu + gdb + sample_code: Run sample code in QEMU OS and observe Linux Kernel...Adrian Huang
This document describes setting up a QEMU virtual machine with Ubuntu 20.04.1 to debug Linux kernel code using gdb. It has a 2-socket CPU configuration with 16GB of memory and disabled KASAN and ASLR. The QEMU VM can be used to run sample code and observe Linux kernel behavior under gdb, such as setting conditional breakpoints to analyze page fault behavior for mmap addresses by referencing a gdb debugging text file.
Este documento contiene instrucciones para 31 ejercicios sobre el uso de funciones básicas de un procesador de textos como Writer. Los ejercicios cubren temas como escritura y formato de texto, uso del teclado, formato de página, selección y justificación de texto, sangrías, formato de caracteres, búsqueda y reemplazo, formato de párrafos, numeración y viñetas, inserción de imágenes, tabuladores, tablas e impresión.
The document discusses analyzing Linux kernel crash dumps. It covers various ways to gather crash data like serial console, netconsole, kmsg dumpers, Kdump, and Pstore. It then discusses analyzing the crashed kernel using tools like ksymoops, crash utility, and examining the backtrace, kernel logs, processes, and file descriptors. The document provides examples of gathering data from Pstore and using commands like bt, log, and ps with the crash utility to extract information from a crash dump.
Ajax (Asynchronous JavaScript and XML) est une technique permettant la communication asynchrone entre application et serveur. c'est une architecture qui permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies.
Ajax combine JavaScript, les CSS, XML, le DOM et le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des Applications Internet Riches
Leverage CompletableFutures to handle async queries. DevNexus 2022David Gómez García
Slides used at DevNexus 22 talk.
Completable futures were introduced in Java 8, and they are a powerful mechanism to add concurrency (not parallelism) to your application logic, and it may be handy when dealing with multiple queries to different systems.
If you are a developer, you may make your code more performant by using CompletableFutures where it makes sense.
If you are a library developer, it may be a good thing to offer an API that returns CompletableFutures so that your users will be able to benefit from it.
Signature verification of kernel module and kexecjoeylikernel
The document discusses signature verification of kernel modules and the kexec binary loader in Linux. It describes:
1) How to enable kernel module signing using config options to cryptographically sign modules during installation and check signatures on loading.
2) How to generate signing keys, sign modules, and require valid signatures.
3) The mechanism where modules contain a signature string and metadata for verification.
4) How kexec can verify signatures of PE signed bzImage binaries using Authenticode signatures embedded in the COFF format.
5) The steps to enable verification in kexec, sign bzImages, and load signed kernels via kexec for testing.
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Pierre-jean Texier
The document discusses adding new platform support for SWUpdate in 30 minutes using Yocto/OE. It provides an overview of SWUpdate and the update process. It then demonstrates how to generate a clean Yocto/OE setup for the Microchip SAMA5D27-SOM1-EK1 board using KAS. Specific steps are outlined for creating a partition scheme, machine configuration, and deployment/testing of SWUpdate on the target board.
Man marine diesel engine v8 900 (d 2848 le 423) service repair manualfjsjekkdmnem
This document is a manual that provides instructions and diagrams for servicing and repairing engine components. It includes sections covering the fuel system, cooling system, lubrication system, intake/exhaust systems, cylinder head work, and other engine parts. Diagrams are provided of engine views and systems to assist technicians during repairs. Safety information and fault diagnosis tables are also included.
This presentation gives introduction to kernel module programming with sample kernel module.
It helps to start with kernel programming and how it can be used to develop various types of device drivers.
The slides begins with introduction to the character drivers and then mentions the various APIs for registering the character driver. Dynamically creating the device file and IOCTL
ISSCC 2018: "Zeppelin": an SoC for Multi-chip ArchitecturesAMD
This document describes the "Zeppelin" system-on-a-chip designed for multi-chip architectures. Key aspects include an 8-core "Zen" CPU complex, AMD Infinity Fabric interconnect, memory and I/O capabilities. The chip is designed for use in both single-die desktop and multi-die server configurations to provide scalability across markets using the same underlying SoC design.
El documento proporciona instrucciones para implementar un proyecto de demostración ZK en NetBeans. Indica que se debe seleccionar "Nuevo proyecto" en el menú principal, luego elegir "Java Web" y "ZK602ce Demo Project" en el asistente, y finalmente hacer clic en "Finish" y "Run" para instalar la demostración ZK.
ZK MVVM, Spring & JPA On Two PaaS CloudsSimon Massey
1) The document discusses deploying a Java MVVM sample application called ZkToDo2 to two Platform as a Service (PaaS) clouds: Heroku and Openshift.
2) The application uses ZK, Spring, and JPA with a relational database and follows the MVVM pattern. Data bindings in ZK allow the view to be updated automatically based on changes to the view model.
3) Maven build profiles are used to swap Spring configurations to deploy the same codebase to different platforms like JBoss or clouds. The document demonstrates committing changes locally and deploying to both clouds with a single command.
Tema 1 mi primera aplicacion zk con netbeans y remGiovanni Flores
El documento proporciona instrucciones para instalar NetBeans IDE, el plugin REM y crear un proyecto ZK en NetBeans: 1) Descargar e instalar NetBeans, 2) Descargar e instalar el plugin REM, 3) Crear un nuevo proyecto ZK en NetBeans y 4) Ejecutar el proyecto ZK en Glassfish.
Pattern de référence pour les applications WPF, Silverlight et Windows Phone, MVVM est de plus en plus utilisé. Cette session d’introduction vous permettra de découvrir les différents éléments qui le compose, leur mise en place et surtout de bien comprendre quand, comment et pourquoi utiliser ce pattern ne peut que vous être profitable !
ZK is an open-source Java web framework that uses Ajax techniques to create rich internet applications (RIAs). It features a component-based model, event-driven architecture, and XML user interface markup language. ZK supports scripting languages like Java, Groovy, and Python to add interactivity on both the client- and server-side. It aims to provide a desktop-like experience within a web browser.
Non-Verbal Communication in Organizations- ZKZareen Khan
This document discusses non-verbal communication in organizations. It explains that non-verbal communication involves the exchange of messages through means other than words, such as body language, facial expressions, eye contact, gestures, and use of space. These types of non-verbal signals can influence how messages are interpreted and create first impressions. The document also notes several criticisms of studies on non-verbal communication and emphasizes the importance of effectively decoding non-verbal cues in an organizational setting.
The document discusses multi-tenancy in Java applications, where a single application instance can serve multiple clients or tenants simultaneously. Isolating each tenant's data, customizations, and other information is challenging. Hibernate provides functionality for multi-tenancy configurations through annotations that specify tenant identifiers and data sources. Migrating to a multi-tenant architecture requires adjustments to caching, schema updates, and logging to properly attribute activities to tenants.
ZK es un framework de desarrollo de aplicaciones web que utiliza lenguajes estándar como XML y Java. Provee capacidades avanzadas como reproducción multimedia y control de usuario, pero depende de librerías de Java que podrían afectar el rendimiento. Es multiplataforma y de código abierto con una comunidad de desarrolladores activa que ofrece soporte.
The Model View ViewModel (MVVM) is an architectural pattern originated by Microsoft as a specialization of the Presentation Model (Martin Fowler). Similar to MVC, MVVM is suitable for client applications (Xaml-based, Xamarin, SPA, ...) because it facilitates a clear separation between the UI and the Business Logic. Examples with WPF, MvvmCross, AngularJs. It also contains solutions for common use cases.
The document provides an overview of the traditional UI development approach and introduces the Model-View-ViewModel (MVVM) architectural pattern. It defines the key components of MVVM - the Model, View, and ViewModel - and describes how they interact through data binding, commands, and notifications. The summary highlights MVVM's separation of concerns, support for independent development and testing of components, and facilitation of UI redevelopment.
This document provides an overview of the MVVM and PRISM design patterns. It discusses that MVVM separates presentation logic from business logic through a View, ViewModel and Model architecture. The ViewModel acts as a data binder between the View and Model, and changes in the Model and ViewModel are communicated via the INotifyPropertyChanged interface. PRISM is a framework that implements patterns like MVVM, dependency injection, commands and model validation to build loosely coupled WPF and Windows applications.
The document discusses how the speaker accidentally discovered the MVVM architectural pattern while working on an iOS project. Some key points made in the document include:
1. MVVM is an enhancement of MVC that separates the view and controller by introducing a view model.
2. Using MVVM and view models allows for better refactoring, reuse of code, and avoids large view controllers.
3. The speaker provides an example of how MVVM can be applied to an iOS table view to demonstrate its benefits and outlines what was learned about MVVM from adopting it.
The document discusses the Model-View-Controller (MVC) design pattern. MVC separates an application's logic into three main components: the model, the view, and the controller. The model manages the application's data and logic, the view displays the data to the user, and the controller interprets user input and updates the model. MVC improves separation of concerns and makes applications more modular, extensible, and testable. It is commonly used for web applications, where the server handles the model and controller logic while the client handles the view.
This document provides an introduction to the MVVM design pattern. It describes MVVM as separating an application into three main parts: the Model, the View, and the ViewModel. The Model manages the data and business logic. The View displays the user interface. The ViewModel acts as an intermediary between the Model and View, providing the data and handling user input. Benefits of MVVM include loose coupling between components, testable code, and maintainable code. Some common MVVM frameworks are also listed.
This document provides an introduction to the Model-View-ViewModel (MVVM) architectural pattern, which is commonly used in WPF and Silverlight applications. It describes the key components of MVVM - the View, Model, and ViewModel layers. The ViewModel acts as a mediator between the View and Model layers, exposing properties and commands to the View. Changes in the Model are communicated to the View via notification events using the INotifyPropertyChanged interface. The document includes a simple example of implementing MVVM to manage a list of names, and discusses how real-world applications can utilize this pattern.
The document discusses the Model-View-ViewModel (MVVM) pattern for WPF applications. MVVM allows for a separation of concerns between the data/business logic (Model), user interface (View), and logic that coordinates between them (ViewModel). Key aspects of MVVM include using data binding and commands to communicate between the View and ViewModel, keeping the View focused on presentation and the ViewModel on coordinating changes to the Model. Adopting MVVM allows for cleaner separation of concerns, easier testing, and more flexibility when updating the user interface.
in these slides i have explained the difference between MVC, MVP and MVVM design patterns. slides includes definition, explanation and then implementation with code examples. it is a comparison oriented presentation.
Using mvvm inside mvc in domain driven designyashar Aliabasi
Combining MVVM and MVC for reaching to best practice is this article's purpose. MVVM was desktop application's pattern for coupling UI from Business and MVC is nowadays trend in web applications.
This document compares the MVP and MVVM patterns for building testable GUI applications. MVP stands for Model-View-Presenter, where the presenter receives user input, updates the model, and handles reloading the view. MVVM stands for Model-View-ViewModel, where the viewmodel acts as an abstraction of the view using data binding and observers. The key differences are that the presenter pulls data from the model to update the view, while the viewmodel provides an interface to the view. Both patterns aim to separate concerns to make the application components more testable.
If you’re a mobile developer then you heard about MVVM design pattern and how Google supporting it recently in android after a long time not supporting any design pattern in this presentation we will discuss what difference in MVVM than other famous design patterns and why is preferable to use it in your work.
This document discusses MVVM architecture patterns and common issues related to implementing MVVM. It begins with defining key concepts in MVVM like INotifyPropertyChanged, data binding, value converters, dependency properties, user controls and commands. It then summarizes the roles and responsibilities of the Model, View and ViewModel. Several common issues that arise with MVVM implementations are discussed along with recommended solutions.
This document discusses the Model-View-ViewModel (MVVM) pattern and the JavaScript library Knockout.js. It defines the key elements of MVVM as the model, view, view model, and sometimes controller. It explains that MVVM separates the graphical user interface development from the business logic or backend model. It then provides an overview of Knockout.js, describing it as a standalone JavaScript implementation of MVVM that uses declarative bindings to automatically update the user interface when the underlying model changes. It gives a simple example of how Knockout.js can bind text boxes to observable model variables to dynamically update a "full name" display.
UI design patterns provide reusable solutions to common problems in user interface design. There are several types of design patterns including MVC, MVP, and MVVM. MVC separates an application into three components - the model, the view, and the controller. MVP is similar to MVC but replaces the controller with a presenter. MVVM builds on MVC and MVP by introducing a view model that acts as a mediator between the view and model layers. Design patterns improve maintainability, testability, and extensibility by reducing coupling between different application components.
MVC Design Pattern in JavaScript by ADMEC Multimedia InstituteRavi Bhadauria
This presentation is one of the best presentations from our study material for our JavaScript Object Oriented workshops which ADMEC conducts every week at the
center.
The document discusses adopting the MVVM pattern for WPF applications. It addresses problems MVVM solves like tightly coupled code that is difficult to maintain and test. It provides an overview of MVVM, separating concerns into the View, ViewModel and Model layers. It also discusses constructing an MVVM application, including dependency injection, bindable properties, commands and design time data. Finally, it provides a simple example application converted to MVVM, improving testability, decoupling and extensibility.
A primer on the Model-View-ViewModel pattern, based on the article “WPF Apps With The Model-View-ViewModel Design Pattern” by Josh Smith, published in the Feb 2009 issue of MSDN Magazine.
The document discusses the Model-View-ViewModel (MVVM) pattern, which separates an application into three main logical components: the model, the view, and the view model. The MVVM pattern has benefits like being loosely coupled, enabling unit testing, improving reusability and flexibility. Key elements of MVVM include the view, which displays data; the view model, which abstracts the view and maintains its state; and the model, which holds the application's business logic and data.
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)Eugene Fidelin
Marko.js is an open-source JavaScript framework created by eBay back in 2014. It offers super-efficient server-side rendering, making it ideal for big e-commerce sites and other multi-page apps where speed and SEO really matter. After over 10 years of development, Marko has some standout features that make it an interesting choice. In this talk, I’ll dive into these unique features and showcase some of Marko's innovative solutions. You might not use Marko.js at your company, but there’s still a lot you can learn from it to bring to your next project.
Supercharge Your AI Development with Local LLMsFrancesco Corti
In today's AI development landscape, developers face significant challenges when building applications that leverage powerful large language models (LLMs) through SaaS platforms like ChatGPT, Gemini, and others. While these services offer impressive capabilities, they come with substantial costs that can quickly escalate especially during the development lifecycle. Additionally, the inherent latency of web-based APIs creates frustrating bottlenecks during the critical testing and iteration phases of development, slowing down innovation and frustrating developers.
This talk will introduce the transformative approach of integrating local LLMs directly into their development environments. By bringing these models closer to where the code lives, developers can dramatically accelerate development lifecycles while maintaining complete control over model selection and configuration. This methodology effectively reduces costs to zero by eliminating dependency on pay-per-use SaaS services, while opening new possibilities for comprehensive integration testing, rapid prototyping, and specialized use cases.
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...James Anderson
The Quantum Apocalypse: A Looming Threat & The Need for Post-Quantum Encryption
We explore the imminent risks posed by quantum computing to modern encryption standards and the urgent need for post-quantum cryptography (PQC).
Bio: With 30 years in cybersecurity, including as a CISO, Tommy is a strategic leader driving security transformation, risk management, and program maturity. He has led high-performing teams, shaped industry policies, and advised organizations on complex cyber, compliance, and data protection challenges.
Grannie’s Journey to Using Healthcare AI ExperiencesLauren Parr
AI offers transformative potential to enhance our long-time persona Grannie’s life, from healthcare to social connection. This session explores how UX designers can address unmet needs through AI-driven solutions, ensuring intuitive interfaces that improve safety, well-being, and meaningful interactions without overwhelming users.
Content and eLearning Standards: Finding the Best Fit for Your-TrainingRustici Software
Tammy Rutherford, Managing Director of Rustici Software, walks through the pros and cons of different standards to better understand which standard is best for your content and chosen technologies.
Create Your First AI Agent with UiPath Agent BuilderDianaGray10
Join us for an exciting virtual event where you'll learn how to create your first AI Agent using UiPath Agent Builder. This session will cover everything you need to know about what an agent is and how easy it is to create one using the powerful AI-driven UiPath platform. You'll also discover the steps to successfully publish your AI agent. This is a wonderful opportunity for beginners and enthusiasts to gain hands-on insights and kickstart their journey in AI-powered automation.
Offshore IT Support: Balancing In-House and Offshore Help Desk Techniciansjohn823664
In today's always-on digital environment, businesses must deliver seamless IT support across time zones, devices, and departments. This SlideShare explores how companies can strategically combine in-house expertise with offshore talent to build a high-performing, cost-efficient help desk operation.
From the benefits and challenges of offshore support to practical models for integrating global teams, this presentation offers insights, real-world examples, and key metrics for success. Whether you're scaling a startup or optimizing enterprise support, discover how to balance cost, quality, and responsiveness with a hybrid IT support strategy.
Perfect for IT managers, operations leads, and business owners considering global help desk solutions.
European Accessibility Act & Integrated Accessibility TestingJulia Undeutsch
Emma Dawson will guide you through two important topics in this session.
Firstly, she will prepare you for the European Accessibility Act (EAA), which comes into effect on 28 June 2025, and show you how development teams can prepare for it.
In the second part of the webinar, Emma Dawson will explore with you various integrated testing methods and tools that will help you improve accessibility during the development cycle, such as Linters, Storybook, Playwright, just to name a few.
Focus: European Accessibility Act, Integrated Testing tools and methods (e.g. Linters, Storybook, Playwright)
Target audience: Everyone, Developers, Testers
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AIPeter Spielvogel
Explore how AI in SAP Fiori apps enhances productivity and collaboration. Learn best practices for SAPUI5, Fiori elements, and tools to build enterprise-grade apps efficiently. Discover practical tips to deploy apps quickly, leveraging AI, and bring your questions for a deep dive into innovative solutions.
Adtran’s new Ensemble Cloudlet vRouter solution gives service providers a smarter way to replace aging edge routers. With virtual routing, cloud-hosted management and optional design services, the platform makes it easy to deliver high-performance Layer 3 services at lower cost. Discover how this turnkey, subscription-based solution accelerates deployment, supports hosted VNFs and helps boost enterprise ARPU.
UiPath Community Zurich: Release Management and Build PipelinesUiPathCommunity
Ensuring robust, reliable, and repeatable delivery processes is more critical than ever - it's a success factor for your automations and for automation programmes as a whole. In this session, we’ll dive into modern best practices for release management and explore how tools like the UiPathCLI can streamline your CI/CD pipelines. Whether you’re just starting with automation or scaling enterprise-grade deployments, our event promises to deliver helpful insights to you. This topic is relevant for both on-premise and cloud users - as well as for automation developers and software testers alike.
📕 Agenda:
- Best Practices for Release Management
- What it is and why it matters
- UiPath Build Pipelines Deep Dive
- Exploring CI/CD workflows, the UiPathCLI and showcasing scenarios for both on-premise and cloud
- Discussion, Q&A
👨🏫 Speakers
Roman Tobler, CEO@ Routinuum
Johans Brink, CTO@ MvR Digital Workforce
We look forward to bringing best practices and showcasing build pipelines to you - and to having interesting discussions on this important topic!
If you have any questions or inputs prior to the event, don't hesitate to reach out to us.
This event streamed live on May 27, 16:00 pm CET.
Check out all our upcoming UiPath Community sessions at:
👉 https://community.uipath.com/events/
Join UiPath Community Zurich chapter:
👉 https://community.uipath.com/zurich/
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generati...Aaryan Kansari
Agentic AI Explained: The Next Frontier of Autonomous Intelligence & Generative AI
Discover Agentic AI, the revolutionary step beyond reactive generative AI. Learn how these autonomous systems can reason, plan, execute, and adapt to achieve human-defined goals, acting as digital co-workers. Explore its promise, key frameworks like LangChain and AutoGen, and the challenges in designing reliable and safe AI agents for future workflows.
Sticky Note Bullets:
Definition: Next stage beyond ChatGPT-like systems, offering true autonomy.
Core Function: Can "reason, plan, execute and adapt" independently.
Distinction: Proactive (sets own actions for goals) vs. Reactive (responds to prompts).
Promise: Acts as "digital co-workers," handling grunt work like research, drafting, bug fixing.
Industry Outlook: Seen as a game-changer; Deloitte predicts 50% of companies using GenAI will have agentic AI pilots by 2027.
Key Frameworks: LangChain, Microsoft's AutoGen, LangGraph, CrewAI.
Development Focus: Learning to think in workflows and goals, not just model outputs.
Challenges: Ensuring reliability, safety; agents can still hallucinate or go astray.
Best Practices: Start small, iterate, add memory, keep humans in the loop for final decisions.
Use Cases: Limited only by imagination (e.g., drafting business plans, complex simulations).
Introducing the OSA 3200 SP and OSA 3250 ePRCAdtran
Adtran's latest Oscilloquartz solutions make optical pumping cesium timing more accessible than ever. Discover how the new OSA 3200 SP and OSA 3250 ePRC deliver superior stability, simplified deployment and lower total cost of ownership. Built on a shared platform and engineered for scalable, future-ready networks, these models are ideal for telecom, defense, metrology and more.
AI Emotional Actors: “When Machines Learn to Feel and Perform"AkashKumar809858
Welcome to the era of AI Emotional Actors.
The entertainment landscape is undergoing a seismic transformation. What started as motion capture and CGI enhancements has evolved into a full-blown revolution: synthetic beings not only perform but express, emote, and adapt in real time.
For reading further follow this link -
https://akash97.gumroad.com/l/meioex
Cyber Security Legal Framework in Nepal.pptxGhimire B.R.
The presentation is about the review of existing legal framework on Cyber Security in Nepal. The strength and weakness highlights of the major acts and policies so far. Further it highlights the needs of data protection act .
2. Introduction
First version of this presentation was given to the
2010 UK ZK Users Group
The "ZK ToDo 2" patterns sample code is in the
zkforge project svn repository github.com
Sample code has the same screen implimented
three times; as MVP, MVC and MVVM (MVB)
Published articles document the MVP and MVC
versions. Article coming soon about MVVM...
See references at the end
4. Why Patterns? Evolving Software
A business sponsor talks about the screens but
requires a flexible business solution
Screens are likely to change all the way through
to go-live and well beyond
Features evolve slowly over time whilst the
screens can change drastically
Can you easily reskin / re-layout / rearrange your
app to freshen your user experience?
Making flexible and adaptable solutions is more
rewarding than making brittle apps
5. Why Patterns? A Challenge!
Reuse a "buy now" feature of your website in an
iphone app (as XML over HTTP)
This requires separation of View from Model
6. Programming In The View
Business state stored in
view
<label id=”hiddenBookId” value=”${book.id}” visible=”false”/>
<button label=”Buy Book”>
View knows 'who' and
<attribute name=”onClick”><![CDATA[
'how'
MyDao myDao = … ; // get daoand render mixed
Update via jndi
myDao.buyBook(user.id, hiddenBookId.value);
statusLabel.value = ”Thanks! Buy another book?”;
]]></attribute>
</button>
<label id=”statusLabel” value=””/>
7. Avoid Coding In The View
"Separated Presentation” is a core pattern
Presentation is incidental to what the customer is
logically doing which is the Use Case / User
Story (e.g. "customer buys book")
The presentation changes fast and often so
separate it out from the business logic
Junit testing of the presentation is tricky
Business logic within the View stunts the
flexibility of your software design
9. Micro vs. Macro
Much of the literature about MVC describes the
fine grained "micro-MVC" used to implement
graphical components such as Swing/JSF
When reading articles it helps to think "Is this
micro-MVC or macro-MVC?"
This century we tend to pick a winning UI
component framework (ZK!) and focus on
"macro-MVC" for complex business screens
This presentation talks about the macro world
unless explicitly stated
11. View Best Practices
"ZK Desktop == View" so mixing Java business
logic into ZK code is mixing business logic into
the View
View components should not become business
components:
BuyNowButton extends Button // avoid!
The View should observe the Model using the
databinder (more on this later):
org.zkoss.zkplus.databind.AnnotateDataBinder
12. View Has Micro Models
A BindingModel is an "push through" to update
the View. Writing to it updates the bound View
These micro models are not business domain
models which organise application features
ListModelList is binding model class for Listbox
listModelList = (ListModelList)listbox.getModel();
AnnotateDataBinder uses such micro-models as
part of its logic to sync data into the View
Intbox and Datebox have "value" property as
micro-Model as well as "visible" and "disabled"
15. Model Best Practices
The Business Domain Model should have no
compile time dependencies to the presentation
framework
EL and AnnotateDataBinder should load data
from the Model into the View (avoid coding)
Ideally the Model should be a rich Domain Model
have both behaviour as well as state
Beware designs of proceedural code loading and
saving DTOs as this is weak OO
Try test driven development of encapsulated
layers ("POJOs In Action" book)
17. Alphabet Soup
MVC: Model-View-Controller
Often cited but do we really know it as well as we
believe?
MVP: Model-View-Presenter
A specialism of MVC with a dominant controller
MVVM: Model-View-ViewModel
The Microsoft WPF pattern of the Application Model
but how do we use it with ZK?
MVB: Model-View-Binder
A clearer moniker for "MVVM" with ZK
18. MVC Has Many Interpretations
Martin Fowler:
Different people reading about MVC in different
places take different ideas from it and describe
these as 'MVC'.
Anon on c2.com:
Stuff nearest the User becomes the View, stuff
nearest the database becomes the Model, stuff in
between becomes the Controller. Marketects then
refer to their project's architecture as "MVC",
borrowing that acronym's impressive lineage(!!!)
20. The Controller Revisited
Typically org.zkoss.zk.ui.util.Composer but what
are it's responsibilities?
Does Controller read/write the Model? Yes
Does Controller read/write the View? Perhaps
Does View read/write the Model? Possibly
Is separation of behaviour (Controller) from state
(Model) the only game in town? No
Is databinding with AnnotateDataBinder part
View, part Controller, or a separate thing?
21. Model-View-ZKComposer
org.zkoss.zk.ui.util.Composer usually used as the
3rd part of the pattern
Whether it is a Controller or a Presenter depends
on the interactions with View and Model:
Presenter – pushes to Passive View
Controller – updates a model observed by the View
("Supervising Controller")
Any mix or match of the above will be called
MVC. People say "traditional MVC" to mean
View observes the Model updated by Controller
23. Model-View-Presenter
The View is the fully owned by the Presenter
ZkToDoControllerV1 implements Composer
Pushes all updates into the Passive View
ZkToDoControllerV1 implements ListitemRender
Presenter reacts to View Event notifications and
updates the Model
ZkToDo2 app example zktodo2_a.zul
For code write-up google "Massey Small Talks/2008/
November/ZK "
25. Enter The Binder
View observes the state of the Model using
databinding
<?init class=”org.zkoss.....AnnotateDataBinderInit”?>
Uses EL annotations within the ZUL page
<textbox value=”@{person.firstname}”/>
The @{pojo.property} annotations automatically
reads/write your POJOs (no UI event handling
code required as ZK Binder does the work
automatically!)
Google "site:dzone.com mvc zk massey"
26. Controller Best Practices
Aim to have the Controller and View not
communicate with one another. Let the binder
to the work
Have the binder pull the data from the Model with
load hints rather than having the composer
push data into the view model
<textbox value=”@{person.firstname,
load-after='buyButton.onClick'}”/>
zktodo2_b.zul example should have used
more 'load-after' hints and less Java code (see
weather-station-mvvm.zul)
27. Model-View-ViewModel
ViewModel (Microsoft) is similar to an
ApplicationModel (Smalltalk)
Binder syncs application state into the View
Binder maps View Events onto application
methods (ICommand types in .Net C#)
Gather both state and behaviour into one
application model (stronger OO design)
Binder is part of the View world. The application
model is its model: so called it a "ViewModel"
28. ViewModel Nirvāna
Josh Smith (msdn.microsoft.com):
"ViewModel classes are easy to unit test … Views and
unit tests are just two different types of ViewModel
consumers"
"ViewModel classes can assist in properly designing
user interfaces that are easy to skin"
"It is easy to just rip one view out and drop in a new view
to render a ViewModel"
It's all about the Binder. The name Model-View-
Binder (MVB) highlights the key part
29. Model-View-Binder (Simplified)
Legend
View compiles to
updates
Binder loads
<<reflection>>
Application Model
(has internal layers)
31. Model-View-ZKBind
Components are bound to ViewModel by the
Binder:
<listcell label="@load(reminder.name)"/>
UI Events are dispatched to ViewModel methods
by the Binder:
<button label="Save" onClick="@command('save')"/
>
ViewModel has annotations to inform Binder of
any properties changed under the covers
@NotifyChange({"reminders","selectedReminder"})
public void save() { … }
32. MVB/MVVM Best Practices
View Model has no references to View Objects
only @Command and @NotifyChange annotations
Create ViewModel classes which are "naked
screens" onto which you overlay a zul skin
ViewModel is the Mediator of the Binder to the
Model; it orchestrates the services
Use Dependency Injection of service interfaces
into the View Mode
ViewModel uses application services to get
detached entites which it exposes to the Binder
33. Summary
Presentation patterns are all about modelling the
features of our application independently of the
frequently changing screens
MVC, MVP, MVVM all have in common a
separated view
Modelling of the Model will lead to internal layers
Labels such as "ViewModel" or "DataModel" or
"ApplicationModel" are suggestions as to what
is trying to be organised where
34. Summary (Cont 1)
"B" is for Binder which plays a big part in MVC
and major part of MVVM patterns. There is no
"B" required for MVP
The Microsoft Binder is powerful and a core part
of their framework. They invented MVVM as the
best practice to organise a screen Model to
leverage their Binder
MVB is a moniker that names the new power in
modern Separated View patterns: long live the
Binder!
35. Summary (Cont 2)
ZK has a mature AnnotateDataBinder for rendering
POJO data values and state (visible/disabled) into ZK
AJAX RIA Desktop Components
The binding information is embedded into the Page
(View) as "XML annotations"
Add ZKToDo2 CommandBinder to fire application
methods on the ViewModel
ViewModel has no compile time dependencies on ZK
framework; can heavily junit with mock services
Using MVVM / MVB pattern is simply about getting the
most out of the framework Binder
36. Summary (Cont 3)
ZkToDo patterns demo code implements the
same screen in each of MVP (zktodo_a.zul),
MVC (zktodo_b.zul) and MVVM (zktodo_e.zul)
37. References
MVC article Desktop MVC Patterns ZK, Spring & JPA
Original MVP article
SmallTalks 2008 Best MVC Patterns
Book on how to build a layered domain model with
Spring POJOs In Action
ZK MVC Screen for POJOs In Action book code
Test Driving ZK FoodToGo
Book on designing ”domain objects first” for supple code
Evans Domain Driven Design
Martin Fowler GUI Patterns pages UI Architectures
Josh Smith's inspirational Microsoft .Net MVVM Article
38. Corrections
March 2012: Slide 13 had totally miss attributed Fowler where I
was using the term "Presentation Model" to mean something
totally different. Edited to call my concept "BindingModel"
March 212: Slide 21 had miss labelled Passive View as
Supervising Controller