Here we discuss Qardio's experience in Core Data, decisions and conclusions that were made. We also spend some extra time comparing different Core Data stacks. Here is the talk itself: https://youtu.be/BF9DD8XXxaI
1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...BIWUG
This is the presentation I delivered at the latest BIWUG meeting. I also included a list of links underneath for people that want to know more about SQL Server
This document discusses the history and evolution of OpenEJB and EJB specifications. It provides a timeline of OpenEJB from 1999 to present and notes David Blevins' involvement in the EJB 2.1, 3.0, 3.1, and 3.2 specifications. It also summarizes the components, lifecycle, views, services, environment, and packaging aspects of EJB from versions 1.1 through 3.1. Finally, it outlines some ideas for the next generation of EJB, including changes to components, services, interceptors, exceptions, and other areas.
This document summarizes a presentation about using Google App Engine (GAE) and Contexts and Dependency Injection (CDI) on Java EE applications. It discusses initial problems with using GAE and CDI due to limitations of the platforms and differences between development and production environments. It also covers solutions to these problems including abstracting the GAE API, using CDI extensively, and thorough testing. The goal is to build applications that can be ported between GAE and JBoss Application Server.
This document provides an overview of a session on building applications with Domino/XPages. The session discusses segregating applications into service layers with a back-end that exposes data and logic through RESTful APIs and a front-end built with JavaScript frameworks. It advocates for automating tasks through tools like Yeoman, Grunt and Bower. The session demonstrates building application components with these techniques and emphasizes structuring applications for consistency, maintainability and leveraging modern front-end development practices.
Presentation from one of the remarkable IT Security events in the Baltic States organized by “Data Security Solutions” (www.dss.lv ) Event took place in Riga, on 7th of November, 2013 and was visited by more than 400 participants at event place and more than 300 via online live streaming.
Come to this session to get an update about everything related to OpenNTF, the open source community for IBM Collaboration Solutions.
See the contest winning XPages projects live and learn about the new open source projects for IBM Connections.
The session will also cover the IBM Social Business Toolkit SDK which allows XPages, Java and JavaScript developers to easily access IBM Connections and IBM SmartCloud for Social Business from custom applications. Attend this session to see demos of the latest functionality and new samples of the toolkit.
La vita nella corsia di sorpasso; A tutta velocità, XPages!Ulrich Krause
Using XPages out of the box lets you build good looking and well performing applications. However, as XPage applications become bigger and more complex, performance can become an issue and, if it comes to scalability and speed optimization, there are a couple of things to take into consideration. Learn how to use partial refresh and partial execution mode and how to monitor its execution using a JSF LifeCycle monitor to avoid multiple re-calculation of controls. We will show tools that can allow you to profile your code, readily available from OpenNTF, along with a demonstration of how to use them to improve the speed of your code. Still writing SSJS and encounter a significant slow down when using Script Libraries? See, how you can improve the speed of your application using JAVA instead of JS, JSON and even @formulas.
Relatore per la sessione:
Ulrich Krause
Rizwan Khan is seeking a position applying his 12.7 years of experience as a SQL and Oracle DBA. He has worked as a senior consultant and DBA for various companies including Capgemini, Frontica Business Solutions, LnT Infotech, and Wipro Infotech. He has administered over 500 SQL and Oracle databases across multiple versions. His technical skills include SQL Server, Oracle, clustering, backup strategies, performance tuning, and disaster recovery. He holds multiple certifications including MCITP, MCTS, and ITIL Foundation.
1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...BIWUG
This is the presentation I delivered at the latest BIWUG meeting. I also included a list of links underneath for people that want to know more about SQL Server
This document discusses the history and evolution of OpenEJB and EJB specifications. It provides a timeline of OpenEJB from 1999 to present and notes David Blevins' involvement in the EJB 2.1, 3.0, 3.1, and 3.2 specifications. It also summarizes the components, lifecycle, views, services, environment, and packaging aspects of EJB from versions 1.1 through 3.1. Finally, it outlines some ideas for the next generation of EJB, including changes to components, services, interceptors, exceptions, and other areas.
This document summarizes a presentation about using Google App Engine (GAE) and Contexts and Dependency Injection (CDI) on Java EE applications. It discusses initial problems with using GAE and CDI due to limitations of the platforms and differences between development and production environments. It also covers solutions to these problems including abstracting the GAE API, using CDI extensively, and thorough testing. The goal is to build applications that can be ported between GAE and JBoss Application Server.
This document provides an overview of a session on building applications with Domino/XPages. The session discusses segregating applications into service layers with a back-end that exposes data and logic through RESTful APIs and a front-end built with JavaScript frameworks. It advocates for automating tasks through tools like Yeoman, Grunt and Bower. The session demonstrates building application components with these techniques and emphasizes structuring applications for consistency, maintainability and leveraging modern front-end development practices.
Presentation from one of the remarkable IT Security events in the Baltic States organized by “Data Security Solutions” (www.dss.lv ) Event took place in Riga, on 7th of November, 2013 and was visited by more than 400 participants at event place and more than 300 via online live streaming.
Come to this session to get an update about everything related to OpenNTF, the open source community for IBM Collaboration Solutions.
See the contest winning XPages projects live and learn about the new open source projects for IBM Connections.
The session will also cover the IBM Social Business Toolkit SDK which allows XPages, Java and JavaScript developers to easily access IBM Connections and IBM SmartCloud for Social Business from custom applications. Attend this session to see demos of the latest functionality and new samples of the toolkit.
La vita nella corsia di sorpasso; A tutta velocità, XPages!Ulrich Krause
Using XPages out of the box lets you build good looking and well performing applications. However, as XPage applications become bigger and more complex, performance can become an issue and, if it comes to scalability and speed optimization, there are a couple of things to take into consideration. Learn how to use partial refresh and partial execution mode and how to monitor its execution using a JSF LifeCycle monitor to avoid multiple re-calculation of controls. We will show tools that can allow you to profile your code, readily available from OpenNTF, along with a demonstration of how to use them to improve the speed of your code. Still writing SSJS and encounter a significant slow down when using Script Libraries? See, how you can improve the speed of your application using JAVA instead of JS, JSON and even @formulas.
Relatore per la sessione:
Ulrich Krause
Rizwan Khan is seeking a position applying his 12.7 years of experience as a SQL and Oracle DBA. He has worked as a senior consultant and DBA for various companies including Capgemini, Frontica Business Solutions, LnT Infotech, and Wipro Infotech. He has administered over 500 SQL and Oracle databases across multiple versions. His technical skills include SQL Server, Oracle, clustering, backup strategies, performance tuning, and disaster recovery. He holds multiple certifications including MCITP, MCTS, and ITIL Foundation.
The document discusses the challenges that retail companies face with database downtime and changes. It notes that downtime can result in significant lost revenue for retailers. Common database development practices like using scripts are outlined as being difficult to maintain and not providing adequate change control. The solution, DBmaestro TeamWork, is presented as providing database version control, enforcement of best practices for database changes, automated deployments between environments, and overall improved productivity and quality.
This document discusses approaches for improving Django performance. It notes that front-end performance issues typically account for 80-90% of response time and recommends caching static assets, bundling/minifying assets, and using a CDN. For back-end issues, it recommends profiling views to identify SQL or Python bottlenecks and provides techniques like select_related, prefetch_related, and caching to address different problem areas. The key message is that performance work requires understanding where time is actually being spent before applying optimizations.
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Theo Jungeblut
In the past, applications where created as monolithic entities running on a single server. If this is the past for you, too, you will have experienced the downside of modern distributed and cloud applications, as debugging, troubleshooting, and monitoring is not easily accomplished with traditional approaches.
Within this session, we will explore different possibilities for collecting and analyzing the needed information to solve issues on modern distributed application and discuss the advantages and disadvantages of each approach like debugger, log files, performance counter and third party solutions. The focus of this session will be on Developer and DevOps need, as increased release cycles and third party dependency more and more result in the need for troubleshooting also on production system, rather than in an isolated test environment.
This session requires a solid understanding of distributed applications and knowledge of SOA, but most principles also apply to and can be beneficial for more traditional application design approaches. The used code examples are in .NET but the shown principles generally apply to other languages, too, and shown software is often available for a variety of environments.
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
The document discusses several cases where architecture decisions hurt software teams. It provides lessons learned from each case:
- Overly sharing code across domains can cause dependencies and fragility. Architectural boundaries should separate domains.
- Attempting to satisfy all use cases with a single highly configurable solution often satisfies no one. Specific solutions may be preferable.
- Microservices are not a universal solution and will not improve a flawed design alone. Modules should only be split across microservices at domain boundaries.
- Systems need to be designed to evolve dynamically over time as requirements change. Centralized control hinders this.
This document discusses the principles and structure of Clean Architecture for ASP.NET Core applications. It recommends separating an application into projects for the core domain logic, infrastructure implementation, and user interface. The core project defines interfaces that outer projects implement, avoiding direct dependencies. This allows for independence of frameworks, databases, and user interfaces. The document provides examples of project structure and responsibilities, and resources for further learning clean architecture principles.
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
This presentation aims to show common pitfalls in OSGi architecture and development and how to avoid them. It involves concrete use cases and their solutions. Antipatterns, bad designs , bad tooling will be presented during this session... This session is user oriented and aimed to give concrete feedbacks and good practices...
This document discusses the challenges and pitfalls of database deployment automation. It notes that databases are often overlooked in development processes and can become weak links. Manual scripting approaches can lead to errors from out-of-process changes and working on the wrong revisions. The document recommends enforcing a coordinated development process using database version control and change management. This allows traceability of changes and ensures deployments are based on known revisions to avoid breaking production environments. Automation is presented as an important part of the solution when integrated with version control baselines and configuration management.
Nine Neins - where Java EE will never take youMarkus Eisele
Virtual JUG Session: http://www.meetup.com/virtualJUG/events/232052100/
With Microservices taking the software industry by storm, classical Enterprises are forced to re-think what they’ve been doing for almost a decade. It’s not the first time, that technology shocked the well-oiled machine to it’s core. We’ve seen software design paradigms changing over time and also project management methodologies evolving. Old hands might see this as another wave that will gently find it’s way to the shore of daily business. But this time it looks like the influence is bigger than anything we’ve seen before. And the interesting part is, that microservices aren’t new from the core. Talking about compartmentalization and introducing modules belongs to the core skills of architects. Our industry also learned about how to couple services and build them around organizational capabilities.
The really new part in microservices based architectures is the way how truly independent services are distributed and connected back together. Building an individual service is easy with all technologies. Building a system out of many is the real challenge because it introduces us to the problem space of distributed systems. And the difference to classical, centralized infrastructures couldn’t be bigger. There are very little concepts from the old world which still fit into a modern architecture.
And there are more differences between Java EE and distributed and reactive systems. For example, APIs are inherently synchronous, so most Java EE app servers have to scale by adding thread pools as so many things are blocking on I/O (remote JDBC calls, JTA calls, JNDI look ups, even JMS has a lot of synchronous parts). As we know adding thread pools doesn't get you too far in terms of scalability.
This talk is going to explore the nine most important differences between classical middleware and distributed, reactive microservices architectures and explains in which cases the distributed approach takes you, where Java EE never would.
This document discusses database automation and the mistrust that can exist around it. A survey found that while continuous delivery is on the rise, database automation sees less adoption due to mistrust. Database changes can impact whole systems, so any automation must be done carefully. Script-based version control and deployment can lead to issues like out-of-process changes and working on wrong revisions. Integrating databases into version control and continuous delivery processes through tools like DBmaestro can bring more visibility, control and trust to database changes and deployments. This is done by enforcing best practices, tracking who made changes, and facilitating automated but safe deployments through capabilities like baseline comparisons and impact analysis.
In this session you will learn:
Understand Spring framework overview & its salient features
Spring concepts (IoC container / DI)
Spring-AOP basics
Spring ORM / Spring DAO overview
Spring Web / MVC overview
For more information, visit: https://www.mindsmapped.com/courses/software-development/java-developer-training-for-beginners/
This document discusses common mistakes made in Oracle Business Intelligence development. It is organized by categories including the three layers of the RPD, system/DevOps/security issues, multidimensional modeling failures, front-end usage mistakes, and analysis/dashboard errors. Specific examples provided include using incorrect data types, not creating dimensional hierarchies, manual security management instead of roles, treating cubes like relational sources, and using OBI as an Excel exporting or data entry tool. The document is intended to review worst practices to improve core OBI development skills.
Clean Architecture on Android - a modern approach to medium to large-sized apps.
The talk was done by:
Manuel Sala de Borja Robles - https://www.linkedin.com/in/manuel-sala-de-borja-robles-50295130/
Lennart Bartelt - https://www.linkedin.com/in/lennart-bartelt/
Grigori Hlopkov - https://www.linkedin.com/in/grigorihlopkov/
Clean architecture has increased its popularity for Android in the last years. Three developers from Netlight built a sample app using Kotlin, Coroutines, Koin, Architecture Components, and Retrofit to showcase how a project is structured and how different parts of the codebase interact with each other.
These are some of the insights they want to share:
- What is it about?
- Why is it worth a look?
- How can we use it on an Android project?
- What benefits does it bring?
Link to sample app: https://github.com/netlight/android_cleanarchitecturesample
20141206 4 q14_dataconference_i_am_your_dbhyeongchae lee
The document discusses scaling databases and provides an overview of different database scaling techniques. It begins with introductions to the presenter and databases that scale before covering techniques like read caching, write coalescing, connection scaling, master-slave replication, vertical and horizontal partitioning. Specific databases that scale like Amazon Aurora are also mentioned. Real-world examples of scaling stories and the presenter's experience scaling MySQL are provided.
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)Masayuki Nii
The document describes a study evaluating whether end-users can maintain web applications using a declarative web application framework called INTER-Mediator. The framework allows users to describe web pages and database queries using key-value pairs rather than imperative programming. An experiment found that while some subjects failed to learn the framework within 2 hours, others scored 42-93% on an exam after studying for over 45 minutes, indicating they successfully learned to develop with the framework in a short period of time.
Slides from my last presentation at the Cape Town Meteor meetup, on optimising the UI, specifically for Hybrid apps and for Meteor JS hybrid apps.
The main thrust is really more about design patterns, and carefully controlling data management in your mobile app, with great examples of these patterns out in the real world.
see the mobile patterns video here : https://www.youtube.com/watch?v=e6WWX4TF3UI
A Note on Distributed Computing - Papers We Love HyderabadHrishikesh Barua
A Note on Distributed Computing is a seminal paper that argues that the distributed and the local models of computing are fundamentally different, and efforts to unify them are flawed and outlines the reasons behind this assertion. This was presented at the second Papers We Love meetup at Hyderabad, IN.
The document summarizes findings from a survey on continuous delivery practices. The survey found that while 81% of organizations practiced some form of continuous delivery for their code, only around 50% did so for their databases. Key challenges included a lack of database version control, manual scripting processes prone to errors, and a lack of trust and communication between developers and database administrators. Adopting database version control, automated deployments informed by version control data, and making DBAs responsible for continuous delivery processes could help address these challenges and barriers to fully implementing continuous delivery for databases.
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...kalichargn70th171
In today's fiercely competitive mobile app market, the role of the QA team is pivotal for continuous improvement and sustained success. Effective testing strategies are essential to navigate the challenges confidently and precisely. Ensuring the perfection of mobile apps before they reach end-users requires thoughtful decisions in the testing plan.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
The document discusses the challenges that retail companies face with database downtime and changes. It notes that downtime can result in significant lost revenue for retailers. Common database development practices like using scripts are outlined as being difficult to maintain and not providing adequate change control. The solution, DBmaestro TeamWork, is presented as providing database version control, enforcement of best practices for database changes, automated deployments between environments, and overall improved productivity and quality.
This document discusses approaches for improving Django performance. It notes that front-end performance issues typically account for 80-90% of response time and recommends caching static assets, bundling/minifying assets, and using a CDN. For back-end issues, it recommends profiling views to identify SQL or Python bottlenecks and provides techniques like select_related, prefetch_related, and caching to address different problem areas. The key message is that performance work requires understanding where time is actually being spent before applying optimizations.
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Theo Jungeblut
In the past, applications where created as monolithic entities running on a single server. If this is the past for you, too, you will have experienced the downside of modern distributed and cloud applications, as debugging, troubleshooting, and monitoring is not easily accomplished with traditional approaches.
Within this session, we will explore different possibilities for collecting and analyzing the needed information to solve issues on modern distributed application and discuss the advantages and disadvantages of each approach like debugger, log files, performance counter and third party solutions. The focus of this session will be on Developer and DevOps need, as increased release cycles and third party dependency more and more result in the need for troubleshooting also on production system, rather than in an isolated test environment.
This session requires a solid understanding of distributed applications and knowledge of SOA, but most principles also apply to and can be beneficial for more traditional application design approaches. The used code examples are in .NET but the shown principles generally apply to other languages, too, and shown software is often available for a variety of environments.
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
The document discusses several cases where architecture decisions hurt software teams. It provides lessons learned from each case:
- Overly sharing code across domains can cause dependencies and fragility. Architectural boundaries should separate domains.
- Attempting to satisfy all use cases with a single highly configurable solution often satisfies no one. Specific solutions may be preferable.
- Microservices are not a universal solution and will not improve a flawed design alone. Modules should only be split across microservices at domain boundaries.
- Systems need to be designed to evolve dynamically over time as requirements change. Centralized control hinders this.
This document discusses the principles and structure of Clean Architecture for ASP.NET Core applications. It recommends separating an application into projects for the core domain logic, infrastructure implementation, and user interface. The core project defines interfaces that outer projects implement, avoiding direct dependencies. This allows for independence of frameworks, databases, and user interfaces. The document provides examples of project structure and responsibilities, and resources for further learning clean architecture principles.
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
This presentation aims to show common pitfalls in OSGi architecture and development and how to avoid them. It involves concrete use cases and their solutions. Antipatterns, bad designs , bad tooling will be presented during this session... This session is user oriented and aimed to give concrete feedbacks and good practices...
This document discusses the challenges and pitfalls of database deployment automation. It notes that databases are often overlooked in development processes and can become weak links. Manual scripting approaches can lead to errors from out-of-process changes and working on the wrong revisions. The document recommends enforcing a coordinated development process using database version control and change management. This allows traceability of changes and ensures deployments are based on known revisions to avoid breaking production environments. Automation is presented as an important part of the solution when integrated with version control baselines and configuration management.
Nine Neins - where Java EE will never take youMarkus Eisele
Virtual JUG Session: http://www.meetup.com/virtualJUG/events/232052100/
With Microservices taking the software industry by storm, classical Enterprises are forced to re-think what they’ve been doing for almost a decade. It’s not the first time, that technology shocked the well-oiled machine to it’s core. We’ve seen software design paradigms changing over time and also project management methodologies evolving. Old hands might see this as another wave that will gently find it’s way to the shore of daily business. But this time it looks like the influence is bigger than anything we’ve seen before. And the interesting part is, that microservices aren’t new from the core. Talking about compartmentalization and introducing modules belongs to the core skills of architects. Our industry also learned about how to couple services and build them around organizational capabilities.
The really new part in microservices based architectures is the way how truly independent services are distributed and connected back together. Building an individual service is easy with all technologies. Building a system out of many is the real challenge because it introduces us to the problem space of distributed systems. And the difference to classical, centralized infrastructures couldn’t be bigger. There are very little concepts from the old world which still fit into a modern architecture.
And there are more differences between Java EE and distributed and reactive systems. For example, APIs are inherently synchronous, so most Java EE app servers have to scale by adding thread pools as so many things are blocking on I/O (remote JDBC calls, JTA calls, JNDI look ups, even JMS has a lot of synchronous parts). As we know adding thread pools doesn't get you too far in terms of scalability.
This talk is going to explore the nine most important differences between classical middleware and distributed, reactive microservices architectures and explains in which cases the distributed approach takes you, where Java EE never would.
This document discusses database automation and the mistrust that can exist around it. A survey found that while continuous delivery is on the rise, database automation sees less adoption due to mistrust. Database changes can impact whole systems, so any automation must be done carefully. Script-based version control and deployment can lead to issues like out-of-process changes and working on wrong revisions. Integrating databases into version control and continuous delivery processes through tools like DBmaestro can bring more visibility, control and trust to database changes and deployments. This is done by enforcing best practices, tracking who made changes, and facilitating automated but safe deployments through capabilities like baseline comparisons and impact analysis.
In this session you will learn:
Understand Spring framework overview & its salient features
Spring concepts (IoC container / DI)
Spring-AOP basics
Spring ORM / Spring DAO overview
Spring Web / MVC overview
For more information, visit: https://www.mindsmapped.com/courses/software-development/java-developer-training-for-beginners/
This document discusses common mistakes made in Oracle Business Intelligence development. It is organized by categories including the three layers of the RPD, system/DevOps/security issues, multidimensional modeling failures, front-end usage mistakes, and analysis/dashboard errors. Specific examples provided include using incorrect data types, not creating dimensional hierarchies, manual security management instead of roles, treating cubes like relational sources, and using OBI as an Excel exporting or data entry tool. The document is intended to review worst practices to improve core OBI development skills.
Clean Architecture on Android - a modern approach to medium to large-sized apps.
The talk was done by:
Manuel Sala de Borja Robles - https://www.linkedin.com/in/manuel-sala-de-borja-robles-50295130/
Lennart Bartelt - https://www.linkedin.com/in/lennart-bartelt/
Grigori Hlopkov - https://www.linkedin.com/in/grigorihlopkov/
Clean architecture has increased its popularity for Android in the last years. Three developers from Netlight built a sample app using Kotlin, Coroutines, Koin, Architecture Components, and Retrofit to showcase how a project is structured and how different parts of the codebase interact with each other.
These are some of the insights they want to share:
- What is it about?
- Why is it worth a look?
- How can we use it on an Android project?
- What benefits does it bring?
Link to sample app: https://github.com/netlight/android_cleanarchitecturesample
20141206 4 q14_dataconference_i_am_your_dbhyeongchae lee
The document discusses scaling databases and provides an overview of different database scaling techniques. It begins with introductions to the presenter and databases that scale before covering techniques like read caching, write coalescing, connection scaling, master-slave replication, vertical and horizontal partitioning. Specific databases that scale like Amazon Aurora are also mentioned. Real-world examples of scaling stories and the presenter's experience scaling MySQL are provided.
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)Masayuki Nii
The document describes a study evaluating whether end-users can maintain web applications using a declarative web application framework called INTER-Mediator. The framework allows users to describe web pages and database queries using key-value pairs rather than imperative programming. An experiment found that while some subjects failed to learn the framework within 2 hours, others scored 42-93% on an exam after studying for over 45 minutes, indicating they successfully learned to develop with the framework in a short period of time.
Slides from my last presentation at the Cape Town Meteor meetup, on optimising the UI, specifically for Hybrid apps and for Meteor JS hybrid apps.
The main thrust is really more about design patterns, and carefully controlling data management in your mobile app, with great examples of these patterns out in the real world.
see the mobile patterns video here : https://www.youtube.com/watch?v=e6WWX4TF3UI
A Note on Distributed Computing - Papers We Love HyderabadHrishikesh Barua
A Note on Distributed Computing is a seminal paper that argues that the distributed and the local models of computing are fundamentally different, and efforts to unify them are flawed and outlines the reasons behind this assertion. This was presented at the second Papers We Love meetup at Hyderabad, IN.
The document summarizes findings from a survey on continuous delivery practices. The survey found that while 81% of organizations practiced some form of continuous delivery for their code, only around 50% did so for their databases. Key challenges included a lack of database version control, manual scripting processes prone to errors, and a lack of trust and communication between developers and database administrators. Adopting database version control, automated deployments informed by version control data, and making DBAs responsible for continuous delivery processes could help address these challenges and barriers to fully implementing continuous delivery for databases.
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...kalichargn70th171
In today's fiercely competitive mobile app market, the role of the QA team is pivotal for continuous improvement and sustained success. Effective testing strategies are essential to navigate the challenges confidently and precisely. Ensuring the perfection of mobile apps before they reach end-users requires thoughtful decisions in the testing plan.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Preparing Non - Technical Founders for Engaging a Tech AgencyISH Technologies
Preparing non-technical founders before engaging a tech agency is crucial for the success of their projects. It starts with clearly defining their vision and goals, conducting thorough market research, and gaining a basic understanding of relevant technologies. Setting realistic expectations and preparing a detailed project brief are essential steps. Founders should select a tech agency with a proven track record and establish clear communication channels. Additionally, addressing legal and contractual considerations and planning for post-launch support are vital to ensure a smooth and successful collaboration. This preparation empowers non-technical founders to effectively communicate their needs and work seamlessly with their chosen tech agency.Visit our site to get more details about this. Contact us today www.ishtechnologies.com.au
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid
IBM watsonx Code Assistant for Z, our latest Generative AI-assisted mainframe application modernization solution. Mainframe (IBM Z) application modernization is a topic that every mainframe client is addressing to various degrees today, driven largely from digital transformation. With generative AI comes the opportunity to reimagine the mainframe application modernization experience. Infusing generative AI will enable speed and trust, help de-risk, and lower total costs associated with heavy-lifting application modernization initiatives. This document provides an overview of the IBM watsonx Code Assistant for Z which uses the power of generative AI to make it easier for developers to selectively modernize COBOL business services while maintaining mainframe qualities of service.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Paul Brebner
Closing talk for the Performance Engineering track at Community Over Code EU (Bratislava, Slovakia, June 5 2024) https://eu.communityovercode.org/sessions/2024/why-apache-kafka-clusters-are-like-galaxies-and-other-cosmic-kafka-quandaries-explored/ Instaclustr (now part of NetApp) manages 100s of Apache Kafka clusters of many different sizes, for a variety of use cases and customers. For the last 7 years I’ve been focused outwardly on exploring Kafka application development challenges, but recently I decided to look inward and see what I could discover about the performance, scalability and resource characteristics of the Kafka clusters themselves. Using a suite of Performance Engineering techniques, I will reveal some surprising discoveries about cosmic Kafka mysteries in our data centres, related to: cluster sizes and distribution (using Zipf’s Law), horizontal vs. vertical scalability, and predicting Kafka performance using metrics, modelling and regression techniques. These insights are relevant to Kafka developers and operators.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
The Rising Future of CPaaS in the Middle East 2024Yara Milbes
Explore "The Rising Future of CPaaS in the Middle East in 2024" with this comprehensive PPT presentation. Discover how Communication Platforms as a Service (CPaaS) is transforming communication across various sectors in the Middle East.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESanfaltahir1010
Image: Include an image that represents the concept of precision, such as a AI helix or a futuristic healthcare
setting.
Objective: Provide a foundational understanding of precision medicine and its departure from traditional
approaches
Role of theory: Discuss how genomics, the study of an organism's complete set of AI ,
plays a crucial role in precision medicine.
Customizing treatment plans: Highlight how genetic information is used to customize
treatment plans based on an individual's genetic makeup.
Examples: Provide real-world examples of successful application of AI such as genetic
therapies or targeted treatments.
Importance of molecular diagnostics: Explain the role of molecular diagnostics in identifying
molecular and genetic markers associated with diseases.
Biomarker testing: Showcase how biomarker testing aids in creating personalized treatment plans.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Real-world case study: Present a detailed case study showcasing the success of precision
medicine in a specific medical scenario.
Patient's journey: Discuss the patient's journey, treatment plan, and outcomes.
Impact: Emphasize the transformative effect of precision medicine on the individual's
health.
Objective: Ground the presentation in a real-world example, highlighting the practical
application and success of precision medicine.
Data challenges: Address the challenges associated with managing large sets of patient data in precision
medicine.
Technological solutions: Discuss technological innovations and solutions for handling and analyzing vast
datasets.
Visuals: Include graphics representing data management challenges and technological solutions.
Objective: Acknowledge the data-related challenges in precision medicine and highlight innovative solutions.
Data challenges: Address the challenges associated with managing large sets of patient data in precision
medicine.
Technological solutions: Discuss technological innovations and solutions
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
1. Qardio experience with
Core Data.
Can a fancy stack solve all your problems?
Dmitrii Ivanov
iOS Team Lead
at Qardio
or
2.
3. In this talk
1. Qardio iOS app
2. Common Core Data issues we faced
3. Our struggle (part I)
4. Questions to ask yourself before diving into Core Data
5. Core Data stacks
6. Our struggle (part II)
7. Results and conclusion
6. Data synchronisation in
Qardio
• Off-line work with locally stored data
• Data from our bluetooth devices
• Bidirectional exchange with the cloud
• Bidirectional exchange with HealthKit
Currently: 40 Core Data entities, 50 data model versions
part 1 of 7
7. Common Core Data issues
• Multithreading violation
• Context merge issues
• Deadlocks and UI freezes
• Versioning and migration
• Crashes... and more crashes
part 2 of 7
11. • Multithreading violation
• Context merge issues
• Deadlocks and UI freezes
• Versioning and migration
• Crashes... and more crashes
Common Core Data issues
part 2 of 7
12. version 3 version 3version 3a version 3b
new version: 4
Versioning and migration
part 2 of 7
13. • Multithreading violation
• Context merge issues
• Deadlocks and UI freezes
• Versioning and migration
• Crashes... and more crashes
Common Core Data issues
part 2 of 7
16. Versioning and migrations
• Start with versioning from the beginning
• New version per production release if there are
any changes
• Remember about migrations from the previous
versions
part 3 of 7
21. Questions to ask before
integrating Core Data
• Do I need Core Data?
• Which Core Data benefits can we utilise?
• How deeply incapsulated should it be?
• Which stack to use?
• How to properly use the stack?
• Why do I need versioning?
• Which rules to follow when writing new code?
part 4 of 7
22. What is Core Data?
Not ORM, not SQLite wrapper
but an object graph
MVC, MVVM, MVP (VIPER)
part 4 of 7
23. Do I need Core Data in my
project?
Not necessarily
part 4 of 7
24. Core Data essence
•Object relations
•Object lifecycle (insertion, mutation,
deletion)
•Data access optimisations (faulting, row
cache)
part 4 of 7
35. Nested 1
(PSC - Main - Worker)
Pros:
• Automatic syncing the Worker context
• Disposable Workers
Cons:
• I/O to the store in the main thread (for
all the contexts)
part 5 of 7
36. Nested 2
(PSC - Worker - Main)
Pros:
• I/O in the background
Cons:
• Manual syncing the Main context
• Busy Worker blocks the store
from the Main context
part 5 of 7
37. Nested Context
Pros:
• Disposable Workers
• Automatic merging Workers to the
Main context
• I/O on a Private context
Cons:
• Pushing the changes down to the store
• Passing all the Workers’ changes through
the Main context
• Significant UI impact on high-load
operations
• No merge policy between the contexts
part 5 of 7
38. Shared Coordinator
Pros:
• Independent communication to the
coordinator
• Common row cache
• Adjustable merge policy
• Flexible context merge
Cons:
• Manual setup of the merge policy
• Merge is not instant
• The policy to solve deleted objects
conflicts
part 5 of 7
39. Shared Store
Pros:
• Minimal interaction between the
contexts
• Ability to work with the store from
completely different locations
Cons:
• No common row cache
• Accessing the disc when merging
changes
• No ObjectID (just URIRepresentation)
part 5 of 7
40. Mixed
Pros:
• Background I/O to the store
• Disposable Workers
• Maximum synchronisation
between the Workers and the
Main context
• Separate stack for high-load
operations
Cons:
• Complex set up and tuning
• Additional complexity in using
part 5 of 7
43. How to choose the stack?
• Pick the least complex one
• Consider your data flow and use cases
a. which data is being changed from UI, which - from the background
b. is there any high-load operations?
c. is there a lot of simultaneous high-load operations and UI data
access?
d. how possible the conflicts in data changes are?
e. how important the entry threshold to the stack is
• It’s all about your priorities
part 5 of 7
46. Qardio: migration to
Mixed Stack
BNRCoreDataStack
• Easy async initialising with
just one function
• Binding context with
notifications observing
• Pushing the changes down to
the store
• Handy extensions for Core
Data classes
part 6 of 7
47. Improvements caused by
the migration
• Code revision
• Proper contexts for different tasks (Main,
Worker, Batch Worker)
• Merge policy set up
part 6 of 7
48. Some issues were solved
(no merge conflicts, less crashes and UI
problems)
New issues started to appear
56. General Rules
• Understand your edge of framework abstraction
• Don’t access NSManagedObjects out of their
context
• Remember that NSManagedObject is not
NSObject
• Keep in mind versioning and migrations
part 7 of 7
57. •Easy to use, no extra code
•All the benefits: relations,
lifecycle, optimisations
•Inspired by Apple
Abstraction level
Deep
Integration
Relative
Abstraction
•Architectural cleanness an
lose coupling
•Less overhead with
multithreading
•Less direct access to the
coordinator and the store
Complete
Abstraction
We are
somewhere
here
part 7 of 7
58. General Rules
• Understand your edge of framework abstraction
• Don’t access NSManagedObjects out of their
context
• Remember that NSManagedObject is not
NSObject
• Keep in mind versioning and migrations
part 7 of 7
59. Mixed Stack Usage Rules
•Only UI related operations in
the Main MOC
•Limited operations in the
Regular Workers
•All the rest should go to the
Batch Worker
part 7 of 7
60. Results
• UI issues disappeared
• Context merge issues disappeared
• Migration and versioning problems disappeared
• Multithreading violations (almost) disappeared
• Amount of crashes dramatically decreased (less
than 1 crash/day instead of dozens)
part 7 of 7
61. Conclusions
• Core Data may bring you much pain
• Deep understanding of the framework before writing
production code is essential
• Share knowledge inside the team
• Stack is not a silver bullet (although quite important)
• Create clear rules and principles for writing code
• Enforce the rules with any possible tools
• Core Data may bring you much pain
• Deep understanding of the framework before writing production code is essential
• Share knowledge inside the team
• Stack is not a silver bullet (although quite important)
• Create clear rules and principles for writing code
• Enforce the rules with any possible tools
part 7 of 7
telegram: @topolog
e-mail: dmtopolog@gmail.com