A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.
Android Architecture Components - Guy Bar on, VonageDroidConTLV
The Android Architecture Components help developers write robust Android apps by providing libraries for common patterns like lifecycles, data access, and navigation. Specifically, it introduces Room for database access, LiveData as a lifecycle-aware data holder, ViewModel for storing UI-related data, and Paging to handle pagination of large data sets efficiently from a database. These libraries work together to support best practices like separation of concerns and lifecycle-aware data management in Android apps.
This document discusses architecture components for building modern Android applications. It covers common app architecture problems and principles like separation of concerns. It introduces key Architecture Components like Activities, Fragments, Services, ContentProviders, ViewModels and LiveData. It also discusses architectural patterns like MVC, MVP, MVVM and recommendations like clean architecture. The document emphasizes principles like modularity, separation of concerns, and testability. It provides an overview of alternatives like Room, Paging Library, and recommendations for legacy apps.
The document discusses ViewModels and testing in Android development. It explains that ViewModels allow data to survive configuration changes and provide data for UI components. ViewModels can help avoid memory leaks, solve lifecycle challenges, and share data between fragments. The document also discusses how to write unit tests for Presenters and ViewModels using tools like Mockito to verify behavior and data values. It emphasizes that testing is important for documentation and allowing safe refactoring of code.
The document discusses best practices for using the Java Persistence API (JPA). It covers:
- The entity manager and persistence context manage entities within a scope like a transaction.
- Entities transition between managed, detached, and removed states that impact database synchronization.
- Queries retrieve and manage entities from the persistence context and database.
- Transactions and locking strategies like optimistic and pessimistic concurrency control how changes are made.
- Extended and transaction scoped persistence contexts determine entity lifetime and caching.
- The second level cache can improve performance by caching entities across contexts.
This document provides an overview of the Java Persistence API (JPA) which allows Java developers to manage relational data. It describes key concepts like entities, the entity manager, persistence contexts, and configuration files. Entities represent tables in a database and are annotated with @Entity. The entity manager performs CRUD operations and finds entities. Persistence contexts contain managed entity instances for a particular datastore.
JPA is a specification that defines a standard for object/relational persistence and object queries with Java. It allows developers to work with objects in Java code while the JPA implementation handles persistence to a relational database. Key aspects include entity objects that represent data, the EntityManager for CRUD operations, and JPQL for object-oriented queries. JPA supports both container-managed and resource-local transactions.
The document provides an overview of Java Persistence API (JPA) terminology and concepts. It defines key JPA terms like entity, persistence unit, entity manager, and persistence context. It describes entity characteristics and the different types of entity managers, persistence contexts, and transaction managers supported by JPA. The document also covers JPQL, query parameters, named queries, inheritance, collections, caching and more advanced JPA features.
Android Architecture Components - Guy Bar on, VonageDroidConTLV
The Android Architecture Components help developers write robust Android apps by providing libraries for common patterns like lifecycles, data access, and navigation. Specifically, it introduces Room for database access, LiveData as a lifecycle-aware data holder, ViewModel for storing UI-related data, and Paging to handle pagination of large data sets efficiently from a database. These libraries work together to support best practices like separation of concerns and lifecycle-aware data management in Android apps.
This document discusses architecture components for building modern Android applications. It covers common app architecture problems and principles like separation of concerns. It introduces key Architecture Components like Activities, Fragments, Services, ContentProviders, ViewModels and LiveData. It also discusses architectural patterns like MVC, MVP, MVVM and recommendations like clean architecture. The document emphasizes principles like modularity, separation of concerns, and testability. It provides an overview of alternatives like Room, Paging Library, and recommendations for legacy apps.
The document discusses ViewModels and testing in Android development. It explains that ViewModels allow data to survive configuration changes and provide data for UI components. ViewModels can help avoid memory leaks, solve lifecycle challenges, and share data between fragments. The document also discusses how to write unit tests for Presenters and ViewModels using tools like Mockito to verify behavior and data values. It emphasizes that testing is important for documentation and allowing safe refactoring of code.
The document discusses best practices for using the Java Persistence API (JPA). It covers:
- The entity manager and persistence context manage entities within a scope like a transaction.
- Entities transition between managed, detached, and removed states that impact database synchronization.
- Queries retrieve and manage entities from the persistence context and database.
- Transactions and locking strategies like optimistic and pessimistic concurrency control how changes are made.
- Extended and transaction scoped persistence contexts determine entity lifetime and caching.
- The second level cache can improve performance by caching entities across contexts.
This document provides an overview of the Java Persistence API (JPA) which allows Java developers to manage relational data. It describes key concepts like entities, the entity manager, persistence contexts, and configuration files. Entities represent tables in a database and are annotated with @Entity. The entity manager performs CRUD operations and finds entities. Persistence contexts contain managed entity instances for a particular datastore.
JPA is a specification that defines a standard for object/relational persistence and object queries with Java. It allows developers to work with objects in Java code while the JPA implementation handles persistence to a relational database. Key aspects include entity objects that represent data, the EntityManager for CRUD operations, and JPQL for object-oriented queries. JPA supports both container-managed and resource-local transactions.
The document provides an overview of Java Persistence API (JPA) terminology and concepts. It defines key JPA terms like entity, persistence unit, entity manager, and persistence context. It describes entity characteristics and the different types of entity managers, persistence contexts, and transaction managers supported by JPA. The document also covers JPQL, query parameters, named queries, inheritance, collections, caching and more advanced JPA features.
- get() throws an ObjectNotFoundException if no data is found, while load() returns a proxy object without hitting the database
- When accessing properties of the proxy object returned by load(), it will trigger a SELECT to the database and throw an ObjectNotFoundException if no data exists
- get() immediately hits the database to check for data, while load() defers the database hit until property access if a proxy is returned
- It is generally better to use get() when you expect data to exist, and check for its return value being null, rather than using load()
The document discusses the Struts 2 framework architecture. It explains that the ActionContext stores the ValueStack which contains request data. The ValueStack holds application domain data for an action invocation and serves as the default root object for resolving OGNL expressions. Various tags like Iterator, If, Url are used to work with and retrieve data from the ValueStack. Results like DispatcherResult handles view resolution by forwarding to JSPs. The validation framework uses validators, validation metadata and domain data to validate action properties.
Google Guice is a dependency injection framework for Java that allows configuration through modules defined as Java classes rather than external files. It uses annotations and generics for type-safe bindings and easy refactoring. A simple example demonstrates how Guice can inject a mock DAO for tests versus a real JDBC DAO for the application by configuring different modules for the test injector and application injector. This avoids the need to directly instantiate dependencies in classes like UserController.
Java Persistence API is a collection of classes and methods to persistently store the vast amounts of data into a database which is provided by the Oracle Corporation.
Generally, Java developers use lots of code, or use the proprietary framework to interact with the database, whereas using JPA, the burden of interacting with the database reduces significantly. It forms a bridge between object models (Java program) and relational models (database program).
For More information, refer to Java EE 7 performance tuning and optimization book:
The book is published by Packt Publishing:
http://www.packtpub.com/java-ee-7-performance-tuning-and-optimization/book
The document discusses the Java Persistence API (JPA) and Hibernate framework. It provides an overview of JPA's main features, the five steps to implement JPA using Hibernate, and the components that make up Hibernate.
The document discusses Java Persistence API (JPA) and Hibernate, which are frameworks that help map objects to relational databases and resolve the impedance mismatch between object-oriented and relational models. JPA is a specification that providers like Hibernate implement. Hibernate is an object/relational mapping tool that provides object/relational mapping, object/relational persistence services, and query capabilities. It generates database schemas from object models and vice versa. The document also provides examples of performing basic CRUD operations using JPA and SQL.
The document discusses the four main components of an Android application: Activities, Services, Broadcast Receivers, and Content Providers. Activities provide user interfaces and handle user interactions. Services run in the background performing long-running tasks. Broadcast Receivers listen for system-wide broadcast announcements. Content Providers manage access to structured data between applications. Each component has a defined lifecycle and purpose for building Android applications.
Cauê Ferreira, Android Developer do Moip Pagamentos, sala sobre Android Clean Architecture no Android DevConference 2016.
Saiba mais em http://androidconference2016.imasters.com.br/
The document summarizes key concepts about the Android application model including application components, intents, activities and tasks, processes and threads, and component lifecycles. It explains that an Android application consists of fundamental components like activities, services, broadcast receivers and content providers. Activities display the user interface, services run in the background, broadcast receivers respond to system-wide broadcasts, and content providers manage shared data.
Storing data is a basic and very common need in mobile apps. The Android application framework provides several storage options, one of which is SQLite databases.
In this tutorial you will see a simple Android database example. The example is based on the Android ListView Tutorial and the Android AsyncTask Tutorial, however these tutorials are not mandatory for the purpose of understanding the principles of proper Android database usage.
The document provides an overview of the Android infrastructure and key concepts:
(1) It describes the layers of an Android application including the presentation layer, application logic layer, and domain layer.
(2) It explains important Android concepts such as the Android runtime environment, Dalvik virtual machine, application lifecycle and activities, and use of contexts.
(3) It discusses alternatives for common tasks like dependency injection with RoboGuice and Dagger, handling resources and views with ButterKnife and AndroidAnnotations, and accessing data with SQLite and ORMLite.
(4) It also briefly covers testing approaches on the DVM and JVM using AndroidTestCase, Robotium, and Robolectric
Лаконічні та елегантні автоматизовані тести? Безболісний (майже) тестовий стек для UI веб-додатків? Більше часу, щоб випити кави/пограти у Cuphead/ подивитись у порожнечу?
Ми поговоримо про Lombok, Vavr, Owner, чому вам варто використовувати готові рішення та як зробити тести більш лаконічними та читабельними. Вам знадобиться Vaper та/або гіроборд.
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code.
This document provides an overview of Hibernate, an object-relational mapping tool. It explains that Hibernate maps database tables to Java classes and vice versa, allowing developers to work with objects rather than SQL. Key benefits include better application architecture through separation of concerns, reduced time spent on standard database operations, and access to advanced features like caching and transactions. The document also provides an example of how to define mappings between a Java class and database table and use Hibernate to save an object to the database.
This document contains information about Soe Tun, including his affiliation with the American College of Cardiology, his email and Twitter account, and the URL to his blog. It also contains information about the DC .NET User Group, including its Twitter account and location.
This document provides an overview of Spring's transaction management capabilities. It discusses how Spring provides a uniform transaction management API that can work with various transaction technologies like JDBC, Hibernate, JPA etc. It also describes how transactions can be handled programmatically using the TransactionTemplate or directly through the transaction manager. Finally, it covers Spring's declarative transaction support using XML or annotations.
This document discusses architecture components for building modern Android applications. It covers common app architecture problems and principles like separation of concerns. It introduces key Architecture Components like Activities, Fragments, Services, ContentProviders, ViewModels and LiveData. It also discusses architectural patterns like MVC, MVP, MVVM and recommendations like clean architecture. The document emphasizes principles like modularity, separation of concerns, and testability. It provides an overview of alternatives like Room, Paging Library, and recommendations for legacy apps.
Android architecture component - FbCircleDev Yogyakarta IndonesiaPratama Nur Wijaya
The document discusses Android Architecture Components (AAC). It describes AAC as a library, guidelines and standards that aim to standardize architecture and reduce boilerplate code. It discusses key components of AAC like Lifecycles, LiveData, ViewModel and Room that help address issues like lifecycle handling, data persistence and offline support. It provides code examples to demonstrate how these components can be used to build more robust Android applications that properly handle lifecycles and data.
- get() throws an ObjectNotFoundException if no data is found, while load() returns a proxy object without hitting the database
- When accessing properties of the proxy object returned by load(), it will trigger a SELECT to the database and throw an ObjectNotFoundException if no data exists
- get() immediately hits the database to check for data, while load() defers the database hit until property access if a proxy is returned
- It is generally better to use get() when you expect data to exist, and check for its return value being null, rather than using load()
The document discusses the Struts 2 framework architecture. It explains that the ActionContext stores the ValueStack which contains request data. The ValueStack holds application domain data for an action invocation and serves as the default root object for resolving OGNL expressions. Various tags like Iterator, If, Url are used to work with and retrieve data from the ValueStack. Results like DispatcherResult handles view resolution by forwarding to JSPs. The validation framework uses validators, validation metadata and domain data to validate action properties.
Google Guice is a dependency injection framework for Java that allows configuration through modules defined as Java classes rather than external files. It uses annotations and generics for type-safe bindings and easy refactoring. A simple example demonstrates how Guice can inject a mock DAO for tests versus a real JDBC DAO for the application by configuring different modules for the test injector and application injector. This avoids the need to directly instantiate dependencies in classes like UserController.
Java Persistence API is a collection of classes and methods to persistently store the vast amounts of data into a database which is provided by the Oracle Corporation.
Generally, Java developers use lots of code, or use the proprietary framework to interact with the database, whereas using JPA, the burden of interacting with the database reduces significantly. It forms a bridge between object models (Java program) and relational models (database program).
For More information, refer to Java EE 7 performance tuning and optimization book:
The book is published by Packt Publishing:
http://www.packtpub.com/java-ee-7-performance-tuning-and-optimization/book
The document discusses the Java Persistence API (JPA) and Hibernate framework. It provides an overview of JPA's main features, the five steps to implement JPA using Hibernate, and the components that make up Hibernate.
The document discusses Java Persistence API (JPA) and Hibernate, which are frameworks that help map objects to relational databases and resolve the impedance mismatch between object-oriented and relational models. JPA is a specification that providers like Hibernate implement. Hibernate is an object/relational mapping tool that provides object/relational mapping, object/relational persistence services, and query capabilities. It generates database schemas from object models and vice versa. The document also provides examples of performing basic CRUD operations using JPA and SQL.
The document discusses the four main components of an Android application: Activities, Services, Broadcast Receivers, and Content Providers. Activities provide user interfaces and handle user interactions. Services run in the background performing long-running tasks. Broadcast Receivers listen for system-wide broadcast announcements. Content Providers manage access to structured data between applications. Each component has a defined lifecycle and purpose for building Android applications.
Cauê Ferreira, Android Developer do Moip Pagamentos, sala sobre Android Clean Architecture no Android DevConference 2016.
Saiba mais em http://androidconference2016.imasters.com.br/
The document summarizes key concepts about the Android application model including application components, intents, activities and tasks, processes and threads, and component lifecycles. It explains that an Android application consists of fundamental components like activities, services, broadcast receivers and content providers. Activities display the user interface, services run in the background, broadcast receivers respond to system-wide broadcasts, and content providers manage shared data.
Storing data is a basic and very common need in mobile apps. The Android application framework provides several storage options, one of which is SQLite databases.
In this tutorial you will see a simple Android database example. The example is based on the Android ListView Tutorial and the Android AsyncTask Tutorial, however these tutorials are not mandatory for the purpose of understanding the principles of proper Android database usage.
The document provides an overview of the Android infrastructure and key concepts:
(1) It describes the layers of an Android application including the presentation layer, application logic layer, and domain layer.
(2) It explains important Android concepts such as the Android runtime environment, Dalvik virtual machine, application lifecycle and activities, and use of contexts.
(3) It discusses alternatives for common tasks like dependency injection with RoboGuice and Dagger, handling resources and views with ButterKnife and AndroidAnnotations, and accessing data with SQLite and ORMLite.
(4) It also briefly covers testing approaches on the DVM and JVM using AndroidTestCase, Robotium, and Robolectric
Лаконічні та елегантні автоматизовані тести? Безболісний (майже) тестовий стек для UI веб-додатків? Більше часу, щоб випити кави/пограти у Cuphead/ подивитись у порожнечу?
Ми поговоримо про Lombok, Vavr, Owner, чому вам варто використовувати готові рішення та як зробити тести більш лаконічними та читабельними. Вам знадобиться Vaper та/або гіроборд.
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code.
This document provides an overview of Hibernate, an object-relational mapping tool. It explains that Hibernate maps database tables to Java classes and vice versa, allowing developers to work with objects rather than SQL. Key benefits include better application architecture through separation of concerns, reduced time spent on standard database operations, and access to advanced features like caching and transactions. The document also provides an example of how to define mappings between a Java class and database table and use Hibernate to save an object to the database.
This document contains information about Soe Tun, including his affiliation with the American College of Cardiology, his email and Twitter account, and the URL to his blog. It also contains information about the DC .NET User Group, including its Twitter account and location.
This document provides an overview of Spring's transaction management capabilities. It discusses how Spring provides a uniform transaction management API that can work with various transaction technologies like JDBC, Hibernate, JPA etc. It also describes how transactions can be handled programmatically using the TransactionTemplate or directly through the transaction manager. Finally, it covers Spring's declarative transaction support using XML or annotations.
This document discusses architecture components for building modern Android applications. It covers common app architecture problems and principles like separation of concerns. It introduces key Architecture Components like Activities, Fragments, Services, ContentProviders, ViewModels and LiveData. It also discusses architectural patterns like MVC, MVP, MVVM and recommendations like clean architecture. The document emphasizes principles like modularity, separation of concerns, and testability. It provides an overview of alternatives like Room, Paging Library, and recommendations for legacy apps.
Android architecture component - FbCircleDev Yogyakarta IndonesiaPratama Nur Wijaya
The document discusses Android Architecture Components (AAC). It describes AAC as a library, guidelines and standards that aim to standardize architecture and reduce boilerplate code. It discusses key components of AAC like Lifecycles, LiveData, ViewModel and Room that help address issues like lifecycle handling, data persistence and offline support. It provides code examples to demonstrate how these components can be used to build more robust Android applications that properly handle lifecycles and data.
The document discusses using annotations in Java, providing examples of annotations for servlets, EJBs, web services, CDI, and using frameworks like JUnit, Spring, Javassist, and ASM. It presents code samples to define servlets, session beans, RESTful and SOAP web services, and component injection using annotations instead of XML configurations. The document also demonstrates how to programmatically read annotation values and metadata using reflection, Javassist, and ASM.
Android architecture components - how they fit in good old architectural patt...DroidConTLV
This document discusses the Model-View-ViewModel (MVVM) pattern and how to implement it using Android Architecture Components (AAC). It explains that MVVM separates an app's UI logic from business logic. AAC libraries like Lifecycle, LiveData, ViewModel, and Room help build robust, testable apps by making components aware of lifecycles. The ViewModel stores and manages UI data using LiveData. LiveData ensures data is always up to date and survives configuration changes. The document also addresses how to save UI state using ViewModel.
Alexey Buzdin "Maslow's Pyramid of Android Testing"IT Event
You all know what tests are. You all know you need to write them. But also you know it’s hard to start writing tests for mobile app thus you usually neglect it. Let’s look into Android automation testing, what technologies and approaches we can use to have a complete Maslow's Pyramid for testing. Unit Testing, Integration Testing, UI Automation, Mocking etc.
Presentation Android Architecture ComponentsAttract Group
The document introduces several Android Architecture Components: Lifecycle, LiveData, ViewModel, and Room. Lifecycle allows observing activity and fragment lifecycles. LiveData allows updating UI when underlying data changes. ViewModel stores UI-related data that survives configuration changes. Room provides an abstraction layer over SQLite to allow for more robust database access.
Save 10% off ANY FITC event with discount code 'slideshare'
See our upcoming events at www.fitc.ca
OVERVIEW
Join Raimundas (author of mvcExpress frameworks) as he presents his vision of next step in AS3 MVC framework evolution.
Writing maintainable software fast – was never a trivial task, but MVC frameworks are here to help us! In this session you will see short reminder of MVC framework history, comparison of coding convenience and performance benchmark results for PureMVC, robotlegs and mvcExpress frameworks.
For those who does not enjoy seeing code or statistic tables as much as running applications, Raimundas will show dungeon editor/crawler to demonstrate mvcExpress modular programming features, designed to save even more time and headaches while developing games and applications.
This document provides a quick introduction to Android development. It discusses Android Studio as the primary IDE for Android development and its features. It also covers templates, running apps, building UIs with code and XML, using resources and the R class, basic event handling, Logcat for viewing logs, and best practices for logging.
The document discusses Google's Architecture Components, which are a collection of libraries that help handle common tasks in Android development. It covers the main components like Lifecycle, LiveData, ViewModel, and Room. Lifecycle allows activities and fragments to observe lifecycle changes of other objects like LiveData. LiveData is an observable data holder that is lifecycle-aware. ViewModel stores UI-related data to survive configuration changes like screen rotations. Room provides an abstraction layer over SQLite to allow for more robust database access.
Building Modern Apps using Android Architecture ComponentsHassan Abid
Android architecture components are part of Android Jetpack. They are a collection of libraries that help you design robust, testable, and maintainable apps. In this talk, We will cover LiveData, ViewModel, Room and lifecycle components. We will go through practical code example to understand modern android app architecture especially MVVM architecture.
This document provides an overview of Android Architecture Components (AAC). It discusses the key components of AAC including Room for database access, LiveData for observable data, ViewModel for UI-related data, Lifecycle-aware components for handling lifecycle changes, and WorkManager for background tasks. It describes how these components help address issues with traditional approaches, provide benefits like lifecycle awareness, and encourage decoupled app architecture. Examples are given throughout to illustrate how each component works and is used within an Android app.
Working effectively with ViewModels and TDD - UA Mobile 2019UA Mobile
The document discusses working effectively with ViewModels and test-driven development (TDD) in Android. It provides an overview of ViewModels and how they integrate with the Android lifecycle system using Lifecycle components and LiveData. It also covers tips for using ViewModels such as handling single emitted events, sharing data between fragments, RxJava support, and testing ViewModels with TestObserver and mock objects.
UberFire is a web framework for building extensible workbenches and console applications that provides an Eclipse-like workbench experience for the web. It allows users to easily build rich web apps by providing a strong ecosystem of pluggable components and infrastructure. UberFire's goal is to provide a customizable workbench experience on the web for building maintainable apps. It uses techniques like hierarchical composition, menus, and life-cycle management to achieve this.
The document discusses React Native and how it can be used with Swift. It provides an overview of React Native, explaining what it is and how it allows building native mobile apps using React. It then demonstrates how to create a basic React Native app, integrate it with Swift code to call Swift functions from React Native and pass data from Swift to React Native. This is shown through examples of a registration view app and a contacts list app that retrieves contact data from Swift.
The easy way to develop Java applications has always been the standard stack (Spring, JEE, SQL) that confirms the LAMP equivalent in Java-speak. This presentation compares this model with a real use case based on Guice, Jersey and AppEngine.
The document discusses developing a storage plug-in for CloudStack that integrates with the SolidFire storage system. It provides details on the key components needed - a provider, life cycle, and driver class. The provider implements interfaces to register the plug-in with CloudStack. The life cycle handles creating and deleting the storage system in CloudStack. And the driver is responsible for volume operations like create and delete. Example code is shown for implementing these components to enable dynamic storage provisioning using SolidFire within CloudStack.
Struts has outgrown its reputation as a simple web framework and has become more of a brand. Because of this, two next generation frameworks are being developed within the project: Shale and Action 2.0. Action 2.0 is based on WebWork, and though its backing beans are similar to JSF, its architecture is much simpler, and easier to use.
Migrating to Struts Action 2.0 is more about unlearning Struts than it is about learning the "WebWork Way". Once you understand how simple WebWork is, you'll find that Struts Action 2.0 is a powerful framework that supports action-based navigation, page-based navigation, AOP/Interceptors, components and rich Ajax support.
Come to this session to see code comparisons and learn about migration strategies to use the kick-ass web framework of 2006.
The document discusses different approaches to integrating Struts 2 and Spring frameworks by separating application layers.
It presents three cases: 1) Using a simple POJO as the action; 2) Extending ActionSupport to decouple the action from business services; 3) Using business services and data transfer objects to further separate layers.
The key point is that the business layer should not be tied to any web framework like Struts or Spring MVC. Integration can be achieved by configuring business services for use by actions, while keeping each layer independent through separation of concerns.
This document provides an overview of CDI (Contexts and Dependency Injection) and some portable CDI extensions, including Apache DeltaSpike. It discusses key CDI concepts like dependency injection, interceptors, events, and scopes. It introduces Apache OpenWebBeans as a fast and stable CDI container implementation. It then demonstrates how DeltaSpike extends CDI with additional features like transaction management, qualifiers, specialized configuration, and alternatives. The document encourages involvement to help shape the future of Apache DeltaSpike.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
2. Agenda
● What is Architecture ?
● Common Problems
● Why to use Android Architecture Components ?
● LifeCycle
● ViewModel
● LiveData
● Room
3. What is Architecture ?
Software application architecture is the process of defining a structured solution that
meets all of the technical and operational requirements, while optimizing common
quality attributes such as performance, security, and manageability. It involves a
series of decisions based on a wide range of factors, and each of these decisions can
have considerable impact on the quality, performance, maintainability, and overall
success of the application
15. LifeCycle
LifeCycle Owner :
LifeCycle Owner are the objects with lifecycle
,like Activities and Fragments
LifeCycle Owners:
( Activities/Fragments )
LifeCycle Observer :
LifeCycle Observer observe LifeCycleOwners ,
and are notifies of lifecycle changes
LifeCycle Observer
(Ex: LiveData)
16. LifeCycle
@Override
public void onCreate(...) {
myLocationListener = new MyLocationListener(this, location -> {
// update UI
});
}
@Override
public void onStart() {
super.onStart();
myLocationListener.start();
}
@Override
public void onStop() {
super.onStop();
myLocationListener.stop();
}
17. LifeCycle
@Override
public void onCreate(...) {
myLocationListener = new MyLocationListener(this, location -> {
// update UI
});
}
@Override
public void onStop() {
super.onStop();
myLocationListener.stop();
}
@Override
public void onStart() {
super.onStart();
Util.checkUserStatus(result -> {
// what if this callback is invoked AFTER activity is stopped?
if (result) {
myLocationListener.start();
}
});
}
18. MyLocationListener
public class MyLocationListner implements LifecycleObserver {
}
//Add this our MainActivity
getLifecycle().addObserver(new MyLocationListner());
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void connectListener() {
...
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void disconnectListener() {
...
}
19. MyLocationListener
class MyLocationListener implements LifecycleObserver {
}
private boolean enabled = false;
public MyLocationListener(Context context, Lifecycle lifecycle, Callback callback) {
...
}
public void enable() {
enabled = true;
if (lifecycle.getCurrentState().isAtLeast(STARTED)) {
// connect if not connected
}
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
void stop() {
// disconnect if connected
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
void start() {
if (enabled) {
// connect
}
}
20. MainActivity
class MainActivity extends AppCompatActivity {
private MyLocationListener myLocationListener;
public void onCreate(...) {
}
}
myLocationListener =
new MyLocationListener(this,getLifecycle(),location -> {
// update UI
});
Util.checkUserStatus(result -> {
if (result) {
myLocationListener.enable();
}
});
21. LifeCycle : Use Cases
2. Stopping and starting video buffering
1. Location updates
3. Pausing and resuming animatable drawables
22. ViewModel
The ViewModel class is designed store and manage UI-related
data so that data survives the configuration changes such as
screen rotations
ViewModel:
public class MyViewModel extends ViewModel{
}
AndroidViewModel with context:
public class MyViewModel extends AndroidViewModel {
public MyViewModel(@NonNull Application application) {
super(application);
}
}
24. Create ViewModel
public class MyViewModel extends ViewModel {
private int mRotationCount;
public int getRotationCount() {
mRotationCount = mRotationCount + 1;
return mRotationCount;
}
}
25. Implement ViewModel
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//Get view model instance
MyViewModel myViewModel = ViewModelProviders.of(this).get(MyViewModel.class);
//set the increment value
mRotationCountTextView.setText("" + myViewModel.getRotationCount());
26. Context ViewModel
public class MyViewModel extends AndroidViewModel {
private NotificationManager mNotificationManager;
}
public MyViewModel(@NonNull Application application) {
super(application);
mNotificationManager = (NotificationManager) application.
getSystemService(Context.NOTIFICATION_SERVICE);
}
27. ViewModel : Use Cases
2. Shared between fragments
1. Retain State
3. Replacing loaders
28. LiveData
1. LiveData is observable data holder.
2. It notifies the observers when data changes so that
you can update the UI.
3. It is also Life Cycle Aware
29. LiveData : Pros
1. UI Matches your data state
2. No Memory leak
3. No more manual lifecycle handling
30. Create LiveData Object
public class NameViewModel extends ViewModel {
// Rest of the ViewModel...
}
// Create a LiveData with a String
private MutableLiveData<String> mCurrentName;
public MutableLiveData<String> getCurrentName() {
if (mCurrentName == null) {
mCurrentName = new MutableLiveData<String>();
}
return mCurrentName;
}
31. Observe LiveData Objects
private NameViewModel mModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
// Get the ViewModel.
mModel = ViewModelProviders.of(this).get(NameViewModel.class);
// Create the observer which updates the UI.
final Observer<String> nameObserver = new Observer<String>() {
@Override
public void onChanged(@Nullable final String newName) {
// Update the UI, in this case, a TextView.
mNameTextView.setText(newName);
}
};
// Observe the LiveData, passing in this activity as the
// LifecycleOwner and the observer.
mModel.getCurrentName().observe(this, nameObserver);
35. Plain Old Java Object (POJO)
Old POJO Room POJO
public class User {
private int uid;
private String firstName;
private String lastName;
private int age;
private Date dateOfJoining;
}
public class User {
private int uid;
private String firstName;
private String lastName;
private int age;
private Date dateOfJoining;
}
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "first_name")
@Entity
@ColumnInfo(name = "last_name")
36. UserDao.java
public interface UserDao {
}
@Insert
void insertAll(List<User> users);
@Delete
void delete(User user);
@Update
void updateUser(User user);
@Query("SELECT * FROM user")
List<User> getAll();
@Dao
@Query("SELECT * FROM user WHERE uid = :userID")
User findUserById(int userID);
37. UserDao.java
public interface UserDao {
}
@Insert
void insertAll(List<User> users);
@Delete
void delete(User user);
@Update
void updateUser(User user);
@Query("SELECT * FROM user")
LiveData<List<User>> getAll();
@Dao
@Query("SELECT * FROM user WHERE uid = :userID")
User findUserById(int userID);
38. Setup Room Database
public abstract class AppDatabase extends RoomDatabase {
}
public abstract UserDao userDao();
@Database(entities = {User.class}, version = 1)
@TypeConverters({Converters.class})
39. Build Room Database
public class AppController extends Application {
private static AppController appController;
private AppDatabase appDatabase;
@Override
public void onCreate() {
super.onCreate();
appController = this;
}
public static AppDatabase getAppDatabase() {
return appController.appDatabase;
}
}
//Initialize the room database with database name
appDatabase = Room.databaseBuilder(this, AppDatabase.class, "user-database")
.fallbackToDestructiveMigration()
.build();
40. Display data
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<User> userList = AppController
.getAppDatabase()
.userDao()
.getAll();
//Update List in adapter
}
}
41. UserModel
public class UserModel extends ViewModel {
private final UserDao userDao;
public UserModel() {
userDao = AppController
.getAppDatabase()
.userDao();
}
public LiveData<List<User>> getAllUser()
{
return userDao.getAll();
}
}
42. MainActivity
public class MainActivity extends AppCompatActivity {
private UserModel userModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Setup your UI
}
}
userModel = ViewModelProviders.of(this).get(UserModel.class);
userModel.getAllUser().observe(this, new Observer<List<User>>() {
@Override
public void onChanged(@Nullable List<User> userList) {
// updateUI
}
});
-Which one to follow MVP,MVVP ?
-Google Guidelines Architecture
-No Force
-Home Kitche Example
-Home Kitche Example
-Which one to follow MVP,MVVP ?
-Google Guidelines Architecture
-No Force
-Which one to follow MVP,MVVP ?
-Google Guidelines Architecture
-No Force
-What is our expectations ?
-Client Requirements
-Desgin
Reality after uncertain changes in requirements and design changes
1.Better Data Persistent than SQL
2.Less boiler plate (SQLite documentation and creating a lot of constant)
3.Life Cycle Register unregister onStart and OnStop (Untimely UI updates)
4. Common errors (SQL queries compile time errors)
5. Modular and Structures,testable and maintainable
-In this simple demo app
-Add,Delete and Update users
-LiveData changes reflect to UI
-LiveData life cycle aware
Four Major components
-Room (wrapper on SQL Life)
-ViewModel (Save data on screen rotation)
-LifeCycle (Life cycle awareness)
-LiveData (live changes update using lifecycle owner and observer)
-Add Dependencies
-Following dependencies to add
1.Handling events on onCreate,onResume,onPause,onStop,onDestroy2.Receiving updates while screen is rotated on the devices is onPause or onDestroy3.Register unregister onResume onPause adding and removing listener
4.On rotation data lost (Solution : sava bundle instance (not easy) )
1.LifeCycleOwner represents must be implemented to ana activity/fra
2.LifeCycleObserver is a class which extends LiveData<T> class
3.LifeCycleObserver requires a LifeCyleOwner Activity/Fragments to updates live data and be lifecycle aware
1.Handling events on onCreate,onResume,onPause,onStop,onDestroy2.Receiving updates while screen is rotated on the devices is onPause or onDestroy3.Register unregister onResume onPause adding and removing listener
4.On rotation data lost (Solution : sava bundle instance (not easy) )
1.Better Data Persistent than SQL
2.Less boiler plate (SQLite documentation and creating a lot of constant)
3.Life Cycle Register unregister onStart and OnStop (Untimely UI updates)
4. Common errors (SQL queries compile time errors)
5. Modular and Structures,testable and maintainable
1.Better Data Persistent than SQL
2.Less boiler plate (SQLite documentation and creating a lot of constant)
3.Life Cycle Register unregister onStart and OnStop (Untimely UI updates)
4. Common errors (SQL queries compile time errors)
5. Modular and Structures,testable and maintainable
1.Handling events on onCreate,onResume,onPause,onStop,onDestroy2.Receiving updates while screen is rotated on the devices is onPause or onDestroy3.Register unregister onResume onPause adding and removing listener
4.On rotation data lost (Solution : sava bundle instance (not easy) )
-How many types of database used ?
-Similar to GreenDao and realm
Basic Three components of Room to build database
1.Entity (Define Table Schema)
2.DAO (data access object define all queries for specific tables)
3.Room Database (Singleton database builder with all abstract DAO classes)
Entity
-Convert response into POJO
-Entity notation to make it dao
-Annotation used
-Primary key auto generate
-Custom table name
-Many more annotations
(2) Dao
-Insert list on single item
-insert replace annotation
-update
-delete
-raw query
-parameter and query name with : colon
-compile time error
-LiveData if any changes happens
-More details in demo code
(2) Dao
-Insert list on single item
-insert replace annotation
-update
-delete
-raw query
-parameter and query name with : colon
-compile time error
-LiveData if any changes happens
-More details in demo code
1.Better Data Persistent than SQL
2.Less boiler plate (SQLite documentation and creating a lot of constant)
3.Life Cycle Register unregister onStart and OnStop (Untimely UI updates)
4. Common errors (SQL queries compile time errors)
5. Modular and Structures,testable and maintainable
1.Better Data Persistent than SQL
2.Less boiler plate (SQLite documentation and creating a lot of constant)
3.Life Cycle Register unregister onStart and OnStop (Untimely UI updates)
4. Common errors (SQL queries compile time errors)
5. Modular and Structures,testable and maintainable
1.Better Data Persistent than SQL
2.Less boiler plate (SQLite documentation and creating a lot of constant)
3.Life Cycle Register unregister onStart and OnStop (Untimely UI updates)
4. Common errors (SQL queries compile time errors)
5. Modular and Structures,testable and maintainable