The document provides an overview of the Spring Framework, including its history, key features like dependency injection and aspect oriented programming (AOP), and how to configure the framework using XML or annotations. It discusses Spring modules for working with databases using JDBC templates and object-relational mappers (ORMs), and how to configure transactions.
When it comes to writing tests we often live in the here-and-now and consequently end up producing "write-only" tests. This session looks at what we need to consider if we want to create tests that our future selves and teammates will find valuable instead of becoming another burden on top of delivering the feature itself.
If there is one place that we find it easy to take shortcuts it's when writing tests. Whether we're under the cosh or have an overly-optimistic view of our ability to write self-documenting code, instead of creating tests that support the production code and development process we can find ourselves producing WTFs (Weak Test Functions). The net effect is often a viscous cycle that disparages, instead of encourages us.
In the past I've tried many different ways to try and short-circuit the test writing process, but have only come-up short every time. This session takes a look at why skimping on elements of the test structure, such as organisation, naming and scope only leads to pain and hardship in the long run. Along the way we'll uncover the truth behind common folklore, such as only having one assertion per test.
The secret unit testing tools no one has ever told you aboutDror Helper
There are more to unit testing than using a unit testing framework - in order to succeed you want to use the right tools for the job. There are a few tools that almost no one talks about - some enabling creating of top-notch, robust unit tests. Some will help you run your tests better and faster.
In this session I'll explain about the inevitable maintainability problems developers face when writing and maintaining huge unit testing suits and how unit level BDD, AutoMocking, and Continuous Execution can help take control over your tests.
The document discusses Oracle Application Development Framework (ADF) bindings. It provides an overview of ADF model layers and artifacts like the page definition file. It describes how bindings are used in the ADF lifecycle during processes like restoring the view and rendering the response. It also discusses accessing and executing bindings programmatically.
This document provides an overview of building NativeScript applications with Angular. It covers setting up a NativeScript project with Angular, using components and bindings, routing, forms, HTTP requests, and testing. While there are some minor differences from web Angular, NativeScript aims to embrace the Angular framework and allow building truly native mobile apps using Angular concepts.
Typed? Dynamic? Both! Cross-platform DSLs in C#Vagif Abilov
In this session we will demonstrate how to design DSLs in C# that expose both typed and dynamic API. The advantage of such hybrid APIs is that they can take advantage of dynamic C# features, but offer a fallback for .NET platforms that lack DLR support and developers not willing to abandon the convenience of compile-time code validation. We will show how to ensure code sharing between typed and dynamic versions, and how to package and publish library files so they can be consumed on variety of .NET platforms, including iOS and Android.
Pragmatic Functional Refactoring with Java 8Codemotion
by Raoul-Gabriel Urma - You may be hearing a lot of buzz around functional programming. For example, Java 8 recently introduced new features and APIs inspired from functional ideas such as first-class functions, composition and immutability. In this talk we show how you can refactor your traditional object-oriented Java to using FP features and APIs from Java 8 in a beneficial manner. - How to adapt to requirement changes using first-class functions - How you can enhance code reusability using currying - How you can make your code more robust by favouring immutability over mutability - and more!
This document discusses the history of asynchronous programming and how reactive programming with RxJS addresses limitations of previous approaches. It covers callback hell with nested callbacks, promises, and async/await. RxJS introduces Observables that allow streaming and combining of asynchronous data over time. The document demonstrates building basic Observable and Observer classes as well as an operator. Reactive programming with RxJS makes asynchronous code more readable and addresses issues like cancellation and error handling.
When it comes to writing tests we often live in the here-and-now and consequently end up producing "write-only" tests. This session looks at what we need to consider if we want to create tests that our future selves and teammates will find valuable instead of becoming another burden on top of delivering the feature itself.
If there is one place that we find it easy to take shortcuts it's when writing tests. Whether we're under the cosh or have an overly-optimistic view of our ability to write self-documenting code, instead of creating tests that support the production code and development process we can find ourselves producing WTFs (Weak Test Functions). The net effect is often a viscous cycle that disparages, instead of encourages us.
In the past I've tried many different ways to try and short-circuit the test writing process, but have only come-up short every time. This session takes a look at why skimping on elements of the test structure, such as organisation, naming and scope only leads to pain and hardship in the long run. Along the way we'll uncover the truth behind common folklore, such as only having one assertion per test.
The secret unit testing tools no one has ever told you aboutDror Helper
There are more to unit testing than using a unit testing framework - in order to succeed you want to use the right tools for the job. There are a few tools that almost no one talks about - some enabling creating of top-notch, robust unit tests. Some will help you run your tests better and faster.
In this session I'll explain about the inevitable maintainability problems developers face when writing and maintaining huge unit testing suits and how unit level BDD, AutoMocking, and Continuous Execution can help take control over your tests.
The document discusses Oracle Application Development Framework (ADF) bindings. It provides an overview of ADF model layers and artifacts like the page definition file. It describes how bindings are used in the ADF lifecycle during processes like restoring the view and rendering the response. It also discusses accessing and executing bindings programmatically.
This document provides an overview of building NativeScript applications with Angular. It covers setting up a NativeScript project with Angular, using components and bindings, routing, forms, HTTP requests, and testing. While there are some minor differences from web Angular, NativeScript aims to embrace the Angular framework and allow building truly native mobile apps using Angular concepts.
Typed? Dynamic? Both! Cross-platform DSLs in C#Vagif Abilov
In this session we will demonstrate how to design DSLs in C# that expose both typed and dynamic API. The advantage of such hybrid APIs is that they can take advantage of dynamic C# features, but offer a fallback for .NET platforms that lack DLR support and developers not willing to abandon the convenience of compile-time code validation. We will show how to ensure code sharing between typed and dynamic versions, and how to package and publish library files so they can be consumed on variety of .NET platforms, including iOS and Android.
Pragmatic Functional Refactoring with Java 8Codemotion
by Raoul-Gabriel Urma - You may be hearing a lot of buzz around functional programming. For example, Java 8 recently introduced new features and APIs inspired from functional ideas such as first-class functions, composition and immutability. In this talk we show how you can refactor your traditional object-oriented Java to using FP features and APIs from Java 8 in a beneficial manner. - How to adapt to requirement changes using first-class functions - How you can enhance code reusability using currying - How you can make your code more robust by favouring immutability over mutability - and more!
This document discusses the history of asynchronous programming and how reactive programming with RxJS addresses limitations of previous approaches. It covers callback hell with nested callbacks, promises, and async/await. RxJS introduces Observables that allow streaming and combining of asynchronous data over time. The document demonstrates building basic Observable and Observer classes as well as an operator. Reactive programming with RxJS makes asynchronous code more readable and addresses issues like cancellation and error handling.
The document discusses various topics related to developing reactive web applications, including:
- Factors that determine how reactive an application needs to be such as its lifespan, team size, and complexity.
- Examples of code written in TypeScript/JavaScript for modeling ingredients and thresholds, implementing forms and routing.
- A comparison of React and Angular, noting React has less code/dependencies but lacks routing/forms out of the box, while Angular has more boilerplate initially but offers more functionality.
- Thanks given to contributors on the project.
The document discusses various techniques for customizing entity attributes in Oracle ADF such as:
1. Setting a default attribute value programmatically by storing it in the user session.
2. Defining custom attribute properties and using them for UI hints.
3. Overriding the getHistoryContextForAttribute method to track change history.
4. Creating a custom EntityAttributeHints class to define hints programmatically.
5. Using Groovy expressions to define attribute properties.
The techniques aim to make attributes customizable through Java code instead of relying on entity definitions alone.
Apex 5 plugins for everyone version 2018Alan Arentsen
Do you think it's hard to create your own plugin? Never took the time to look into it? Or just don't see the added value of using plugins?
Then this presentation might be the place to be for you!
In this session I will explain what plugins are and why you should use them. After that I will lead you the way in creating your own simple plugin. When you leave the conference room you will be able to start using plugins. And I know you will!!
Vue and Vuex allow you to build interactive web applications. The document discusses Vue basics like creating components, passing data between components using props and events, and routing between multiple pages. It also covers more advanced topics such as validating component inputs, watching for data changes, and using route parameters and query strings.
JavaScript supports built-in objects like String, Date, and Math that extend the language's functionality. String methods allow manipulating and extracting characters from strings. Date objects represent dates and times using methods like new Date(). The Math object provides mathematical constants and functions for tasks like generating random numbers and rounding values.
This document provides an overview of React and Redux concepts including:
- React basics like components, props, state, and lifecycle methods
- Flux architecture and how data flows through actions, dispatcher, and stores
- Redux as an alternative to Flux that uses a single store updated by reducers in response to actions
- Additional React topics like JSX, propTypes, and using React with ES6 classes are also covered.
This document provides an overview of event sourcing and CQRS approaches to system architecture. It discusses command handling, view handling, and writing event sourced DDD systems. It provides code examples of modeling commands, events, and aggregates in an event sourced system. It discusses benefits of event sourcing like having an audit log, horizontal scaling, and using events to power other services.
The document discusses dynamically generating view objects (VOs) and their definitions in Oracle Application Development Framework (ADF). It describes retrieving an entity definition, creating a VO definition by extending the ViewDefImpl class and setting properties. If a VO does not exist, the definition is used to create a new VO instance. Attribute definitions are added by retrieving attributes from the entity definition.
The stored procedure validates account and customer data, handles various withdrawal scenarios including overdraft protection, and implements error handling. It allows withdrawals from regular accounts, overdraft protected accounts, and general overdraft accounts if the amount is under $400. Exceptions are caught and errors are returned to the application tier.
Ubiratan Soares - Software Engineer da Stone, fala sobre Kotlin : Advanced Tricks no Kotlin Community Summit 2018.
https://eventos.imasters.com.br/kotlinsummit/
Saiba mais em
Паразитируем на React-экосистеме (Angular 4+) / Алексей Охрименко (IPONWEB)Ontico
The document discusses how Angular components can "parasitize" the React ecosystem. It begins by providing code examples of basic Angular component creation. It then explores terminology related to parasitism and parasitoids. Various approaches for communicating between Angular components using services, properties, and Redux are presented. The document also discusses ideas for libraries that could help convert React components to Angular. It covers tools and patterns for state management in Angular like Redux and MobX. Finally, it discusses how Angular components could potentially "parasitize" the React ecosystem in both helpful and harmful ways.
The document describes 5 Java programming experiments related to database access and web applications:
1. A program that accesses a table from an MS Access database.
2. A similar program that accesses a table from a Derby database.
3. A program that implements remote method invocation using an interface.
4. A simple servlet program that outputs HTML.
5. A servlet program that connects to a Derby database and outputs records.
ZIO: Powerful and Principled Functional Programming in ScalaWiem Zine Elabidine
This is an introduction of purely functional programming type safe abstractions that provide a variety of features for building asynchronous and concurrent applications data structures built on ZIO.
You'll learn by examples about the power of functional programming to solve the hard problems of software development in a principled, without compromises.
s React.js a library or a framework? In any case, it is a new way of working that represents a revolution in the way of building web projects. It has very particular characteristics that allow us, for instance, to render React code from the server side, or to include React components from Twig tags. During this talk we will present React.js, we will explore how to take advantage of it from PHP projects and we will give answers to practical problems such as universal (isomorphical) rendering and the generation of React.js forms from Symfony forms without duplication of efforts.
Test Driven Development (TDD) involves writing tests before writing code to ensure features work as intended. The document discusses:
1. The TDD process of writing a failing test, writing code to pass the test, and refactoring code and rerunning tests.
2. Benefits of TDD like detecting defects early, code that works as intended, and tests as documentation.
3. EcomDev_PHPUnit, a library that makes it easy to write isolated, data-driven, and integration tests for Magento modules.
4. Examples of different types of tests like models, controllers, layouts, configurations, and more.
The document discusses refactoring code that constructs composites to use the Builder pattern, describing how to create a Builder class that defines operations for constructing different parts of a product and loosens coupling between the client and composite. It provides examples of refactoring code to build XML tags to instead use a TagBuilder class that supports adding children, attributes, and values through defined operations.
Quick introduction into react and flux followed by a comparison of redux and alt flux frameworks and a simple hello world application implemented in each of them. Last two slides present a microservices approach to client side applications as one of approaches how to make transitions between frameworks easier.
Google AppEngine is an application platform that allows developers to build and host web applications in the cloud. It provides automatic scaling of web and worker instances, high availability, load balancing, and simple deployment. The platform handles low-level tasks like hardware provisioning and maintenance. However, applications are limited by the sandbox environment and certain features like file system access and sockets are not supported. Pricing is based on usage of resources like bandwidth, CPU time, and data storage. While deployment is easy, applications need to be designed specifically for the AppEngine platform to work within its constraints.
The document discusses various topics related to developing reactive web applications, including:
- Factors that determine how reactive an application needs to be such as its lifespan, team size, and complexity.
- Examples of code written in TypeScript/JavaScript for modeling ingredients and thresholds, implementing forms and routing.
- A comparison of React and Angular, noting React has less code/dependencies but lacks routing/forms out of the box, while Angular has more boilerplate initially but offers more functionality.
- Thanks given to contributors on the project.
The document discusses various techniques for customizing entity attributes in Oracle ADF such as:
1. Setting a default attribute value programmatically by storing it in the user session.
2. Defining custom attribute properties and using them for UI hints.
3. Overriding the getHistoryContextForAttribute method to track change history.
4. Creating a custom EntityAttributeHints class to define hints programmatically.
5. Using Groovy expressions to define attribute properties.
The techniques aim to make attributes customizable through Java code instead of relying on entity definitions alone.
Apex 5 plugins for everyone version 2018Alan Arentsen
Do you think it's hard to create your own plugin? Never took the time to look into it? Or just don't see the added value of using plugins?
Then this presentation might be the place to be for you!
In this session I will explain what plugins are and why you should use them. After that I will lead you the way in creating your own simple plugin. When you leave the conference room you will be able to start using plugins. And I know you will!!
Vue and Vuex allow you to build interactive web applications. The document discusses Vue basics like creating components, passing data between components using props and events, and routing between multiple pages. It also covers more advanced topics such as validating component inputs, watching for data changes, and using route parameters and query strings.
JavaScript supports built-in objects like String, Date, and Math that extend the language's functionality. String methods allow manipulating and extracting characters from strings. Date objects represent dates and times using methods like new Date(). The Math object provides mathematical constants and functions for tasks like generating random numbers and rounding values.
This document provides an overview of React and Redux concepts including:
- React basics like components, props, state, and lifecycle methods
- Flux architecture and how data flows through actions, dispatcher, and stores
- Redux as an alternative to Flux that uses a single store updated by reducers in response to actions
- Additional React topics like JSX, propTypes, and using React with ES6 classes are also covered.
This document provides an overview of event sourcing and CQRS approaches to system architecture. It discusses command handling, view handling, and writing event sourced DDD systems. It provides code examples of modeling commands, events, and aggregates in an event sourced system. It discusses benefits of event sourcing like having an audit log, horizontal scaling, and using events to power other services.
The document discusses dynamically generating view objects (VOs) and their definitions in Oracle Application Development Framework (ADF). It describes retrieving an entity definition, creating a VO definition by extending the ViewDefImpl class and setting properties. If a VO does not exist, the definition is used to create a new VO instance. Attribute definitions are added by retrieving attributes from the entity definition.
The stored procedure validates account and customer data, handles various withdrawal scenarios including overdraft protection, and implements error handling. It allows withdrawals from regular accounts, overdraft protected accounts, and general overdraft accounts if the amount is under $400. Exceptions are caught and errors are returned to the application tier.
Ubiratan Soares - Software Engineer da Stone, fala sobre Kotlin : Advanced Tricks no Kotlin Community Summit 2018.
https://eventos.imasters.com.br/kotlinsummit/
Saiba mais em
Паразитируем на React-экосистеме (Angular 4+) / Алексей Охрименко (IPONWEB)Ontico
The document discusses how Angular components can "parasitize" the React ecosystem. It begins by providing code examples of basic Angular component creation. It then explores terminology related to parasitism and parasitoids. Various approaches for communicating between Angular components using services, properties, and Redux are presented. The document also discusses ideas for libraries that could help convert React components to Angular. It covers tools and patterns for state management in Angular like Redux and MobX. Finally, it discusses how Angular components could potentially "parasitize" the React ecosystem in both helpful and harmful ways.
The document describes 5 Java programming experiments related to database access and web applications:
1. A program that accesses a table from an MS Access database.
2. A similar program that accesses a table from a Derby database.
3. A program that implements remote method invocation using an interface.
4. A simple servlet program that outputs HTML.
5. A servlet program that connects to a Derby database and outputs records.
ZIO: Powerful and Principled Functional Programming in ScalaWiem Zine Elabidine
This is an introduction of purely functional programming type safe abstractions that provide a variety of features for building asynchronous and concurrent applications data structures built on ZIO.
You'll learn by examples about the power of functional programming to solve the hard problems of software development in a principled, without compromises.
s React.js a library or a framework? In any case, it is a new way of working that represents a revolution in the way of building web projects. It has very particular characteristics that allow us, for instance, to render React code from the server side, or to include React components from Twig tags. During this talk we will present React.js, we will explore how to take advantage of it from PHP projects and we will give answers to practical problems such as universal (isomorphical) rendering and the generation of React.js forms from Symfony forms without duplication of efforts.
Test Driven Development (TDD) involves writing tests before writing code to ensure features work as intended. The document discusses:
1. The TDD process of writing a failing test, writing code to pass the test, and refactoring code and rerunning tests.
2. Benefits of TDD like detecting defects early, code that works as intended, and tests as documentation.
3. EcomDev_PHPUnit, a library that makes it easy to write isolated, data-driven, and integration tests for Magento modules.
4. Examples of different types of tests like models, controllers, layouts, configurations, and more.
The document discusses refactoring code that constructs composites to use the Builder pattern, describing how to create a Builder class that defines operations for constructing different parts of a product and loosens coupling between the client and composite. It provides examples of refactoring code to build XML tags to instead use a TagBuilder class that supports adding children, attributes, and values through defined operations.
Quick introduction into react and flux followed by a comparison of redux and alt flux frameworks and a simple hello world application implemented in each of them. Last two slides present a microservices approach to client side applications as one of approaches how to make transitions between frameworks easier.
Google AppEngine is an application platform that allows developers to build and host web applications in the cloud. It provides automatic scaling of web and worker instances, high availability, load balancing, and simple deployment. The platform handles low-level tasks like hardware provisioning and maintenance. However, applications are limited by the sandbox environment and certain features like file system access and sockets are not supported. Pricing is based on usage of resources like bandwidth, CPU time, and data storage. While deployment is easy, applications need to be designed specifically for the AppEngine platform to work within its constraints.
Web Applications of the future: Combining JEE6 & JavaFXPaul Bakker
This presentation shows the most important web related new futures in JEE 6, and how to combine JEE 6 and JavaFX to create interesting applications. Topics such as JAX-RS, JSF 2.0, EJB lite and JavaFX/JavaScript integration is discussed.
1. The document introduces JavaFX as a platform for building rich internet applications with Java and discusses how it can be used to create rich user interfaces for enterprise applications.
2. It describes Flamingo, an open source framework that makes it easy to connect a JavaFX front-end to a Java EE, Seam or Spring backend and supports features like CRUD operations, server-side push, and offline use.
3. Examples are provided of using Flamingo to integrate JavaFX clients with Java EE server components and services for tasks like server calls, conversations, binding, and validation.
The document provides an overview of the 7 steps to create a JavaFX application:
1. Sketch - Come up with an idea and sketch the application UI.
2. Setup development environment - Download JavaFX SDK and JDK, choose an IDE like NetBeans, and setup a Maven project.
3. Draw UI - Literally draw the application UI using tools like JavaFX Production Suite or Illustrator.
4. Develop JavaFX - Learn JavaFX APIs and features, use third-party libraries, and develop the application code.
5. Build - Create JAR files for deployment using tools like the JavaFX packager, Maven, or Ant.
6.
This document discusses JavaFX and how it can be used to create rich desktop applications. It provides an overview of JavaFX 1.0 and 2.0, key APIs like properties, bindings, collections, timelines and transitions. It also covers controls, graphics, layouts, CSS, and the Scene Builder tool. The document discusses how JavaFX can be used with other JVM languages like Scala and Groovy. It lists several JavaFX related projects, books, and Twitter accounts that can provide additional resources.
Max Katz presents on building rich internet applications (RIA) with JavaFX. Some key points:
- JavaFX is a tool for building RIA applications across devices like web, mobile, and desktop. It focuses on web and enterprise applications.
- JavaFX uses a declarative and procedural expression language called JavaFX Script and integrates with Java classes.
- Exadel has developed a JavaFX plugin for Eclipse that provides features like a JavaFX perspective and project creation wizard to help develop JavaFX applications.
- Exadel also provides frameworks like Flamingo that connect JavaFX and Flex with backend technologies like Seam and Spring, and Fiji that integrates JSF with Flex or JavaFX
The document provides 6 ways to keep work from interfering with weekends by testing and monitoring Wicket applications. It recommends using WicketTester for component and Ajax testing without starting the server. It also suggests using PageChecker to validate pages against a policy file, EntityChecker to detect non-serializable objects attached to pages, MarkupValidator to ensure valid HTML, RequestLogger for decoded request information, and monitoring tools like Nagios for uptime and performance of production applications.
This document discusses new features in NGRX version 7, including breaking changes to ofType and selectors, new testing utilities like ProvideMockStore, and the introduction of meta reducers. Meta reducers allow preprocessing actions before normal reducers and act as middleware between actions and reducers. The document demonstrates building a meta reducer that syncs the store state with localStorage so the store rehydrates on app restart with the latest data from localStorage.
This document discusses best practices for writing clean tests, including naming conventions, test structure, and principles such as keeping tests focused on individual behaviors, avoiding logic in tests, and preferring to test public APIs over private methods. It recommends giving tests clear and descriptive names, using a Given-When-Then structure, and creating reusable helper functions to prepare test data. Tests should have a single assert per scenario and verify only the relevant method arguments for the behavior being tested. Following these guidelines helps produce tests that are easy to understand and maintain.
This document summarizes John Resig's presentation on jQuery internals. It discusses the core parts of jQuery like common functions, selectors, DOM manipulation and events. It also covers jQuery's isolation, chaining, element data, new selector engine Sizzle, and tools for testing and profiling jQuery like the qUnit test suite and profiling plugin.
This document introduces unit testing with PHPUnit. It discusses what unit testing is, why it's important, and tools like SimpleTest and PHPUnit. It provides examples of basic unit tests for a HelloWorld class using PHPUnit. It also covers more advanced testing techniques like data providers, expected exceptions, fixtures, doubles, mocks, stubs, and database testing using examples like testing a BankAccount class. The document provides hints and tips for unit testing MVC frameworks like Zend Framework.
Software Testing - Invited Lecture at UNSW Sydneyjulien.ponge
This document provides an overview of software testing concepts and the JUnit testing framework. It discusses the importance of testing, different types of testing, unit testing with JUnit, best practices for writing tests, integrating tests into builds with Ant and Maven, and logging. Examples of JUnit tests are also provided. The key points covered are:
- Why testing is important to find bugs, prevent regressions, and allow for refactoring
- Unit testing, functional testing, and other types of testing
- How to write automated unit tests with JUnit
- Best practices like testing edge cases, achieving good code coverage
- Integrating tests into builds with Ant and Maven
- Using logging frameworks like Log
The secret unit testing tools no one ever told you aboutDror Helper
There are more to unit testing than using a unit testing framework - in order to succeed you want to use the right tools for the job. There are a few tools that almost no one talks about - some enabling creating of top-notch, robust unit tests. Some will help you run your tests better and faster. In this session I'll explain about the inevitable maintainability problems developers face when writing and maintaining huge unit testing suits and how unit level BDD, AutoMocking, and Continuous Execution can help take control over your tests.
This document provides an overview and introduction to Guice and guice-servlet. It discusses:
- What Guice is and its key features like describing all DI settings in Java code and easy injection and scope settings.
- What guice-servlet is and how it allows servlets and filters to benefit from constructor injection, type-safe configuration, modularity, and Guice AOP.
- How to get started with guice-servlet by adding the GuiceFilter to web.xml and installing the ServletModule.
This lab shows how to optimize Java code to improve the performance of Java ME applications. The document describes an app called OptimizeMe that simulates a simple game loop to test performance. The app measures how long it takes to complete each loop iteration and displays the frame time. The goal is to optimize the code in the "work" portion of the loop to reduce frame times.
Wicket Live on Stage features a Wicket project that has been in production use for over a year. The application is a web application for dutch highschools for administration of students' data for funding, guidance, graduation, attendance and financial purposes.
The presentation describes the road to choosing Wicket as the core framework, and includes screenshots of the live demo (which isn't captured in this presentation) of Vocus (http://www.vocuslis.nl).
Presentation showing that writing tests is not really hard with examples on testing a simple class, testing with dataproviders, fixtures, mocks, stubs, databases and how to use zend framework bootstrap for MVC testing.
Given at php|tek 09 unconf sessions.
The document discusses functional JavaScript programming. It introduces functional concepts like anonymous functions, binding functions to contexts, and enumerable functions. It provides examples of how to write functional code using these concepts like mapping over arrays with anonymous functions and filtering arrays. It also discusses structuring applications and provides an example code snippet for converting HTML elements.
TDD, BDD, ATDD are all methodologies that enable incremental design that is suitable for Agile environments. It seems that every day a new xDD methodology is born with the promise to be better than what came before. Should you use behaviour-driven tests or plain old unit tests? Which methodology is better? And how exactly would it benefit the development life cycle?
In this session, Dror will help to sort out the various methodologies – explaining where they came from, the tools they use, and discussing how and when to use each one. Here we will once and for all answer the question as to whether or not there’s one “DD” to rule them all.
Developing ASP.NET Applications Using the Model View Controller Patterngoodfriday
MVC provides a new web project type for ASP.NET that allows for more control over HTML and a more testable framework. It maintains a clean separation of concerns between models, views, and controllers and allows developers to easily extend or replace any component. MVC supports RESTful URLs, integrates well with existing ASP.NET features, and enables test-driven development through mockable abstractions.
Design patterns suggest approach to common problems that arise during software development regardless of what programming language. But implementation of these patterns is specific to the language. The main goal of this presentation is to highlight selected patterns as they may be implemented taking advantages of Flex framework.
You'll see a not so obvious implementation of a Singleton, how a Proxy can dramatically change the behavior of an object, why a Mediator is a must-have in each Flex application. Do you know how to write Data Transfer Objects that are so important in Flex remoting? If time permits, we'll review the Class Factory pattern too.
V1.0
How often do you get a bug report that you can’t reproduce?
How often do you struggle to find the source of the bug in your code?
How can you streamline the testing process and make sure you don’t repeat the same bugs?
With Visual Studio 2010 & Team Foundation Server (TFS) 2010 there are a lot of new features for testers and developers that will solve these problems.
In this session you will learn how to: automate more, reproduce bugs easier, maintain your tests and configuration and discover problems sooner.
from Peter Gfader
Here are some suggestions to improve the test method name:
- shouldReturnNullWhenQueryReturnsNull
- shouldPassNullFromDaoWhenQueryReturnsNull
Using "should" makes the intent clearer - we expect the method to return null under certain conditions. Describing those conditions ("when query returns null") in the name provides more context than a generic "testQuery".
Overall, test method names should clearly communicate what is being tested and under what conditions we expect the test to pass or fail. This helps readers understand the purpose and focus of each test.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
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
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
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.
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!
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
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.
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
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
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.
6. Why Dependency Injection?
public double calculateTotalPrice() {
ProductService productService = new ProductService();
List products = productService.getProducts();
//iterate products and sum prices
return total;
}
How would you test this method?
8. Throws
public void testCalculateTotalPrice() {
Calculator calc = new Calculator();
Exception...
assertEquals(150, calc.calculateTotalPrice());
}
public double calculateTotalPrice() {
ProductService productService = new ProductService();
List products = productService.getProducts();
//iterate products and sum prices
return total;
}
9. public Calculator(ProductService productService) {
this.productService = productService;
}
public double calculateTotalPrice() {
List products = productService.getProducts();
//iterate products and sum prices
return total;
}
12. Inversion of Control
A container manages dependencies
IoC Container
ProductService Calculator
13. Configuring a container
ProductService pService = new ProductServiceImpl();
Calculater calc = new Calculator(pService);
//init other instances
This will be a lot of work however...
14. Configuration using
XML
<bean id=quot;productServicequot;
class=quot;services.ProductServiceImplquot;/>
<bean id=quot;calculatorquot; class=quot;calc.Calculatorquot;>
<constructor‐arg index=quot;0quot; ref=quot;productServicequot;/>
</bean>
Spring version 1 way
15. Configuration using
annotations
@Stateless(name = quot;ProductEJBquot;)
public class ProductBean {
public ProductBean() {
}
}
@EJB ShoppingBasketBean shoppingBasket;
JEE 5 way
16. Spring annotations
• Spring can now be configured using
annotations
• Use annotations for component
declarations
• Use XML for container wide configuration
26. Exceptions
• Spring wraps every jdbc exception
• Same structure for ORM exceptions
• Handle specific database exceptions in a
uniform way
• Translate checked exception to unchecked
exceptions
40. Compared to other
web frameworks
• Web MVC is very simple
• It’s ‘action’ based
• Close to the request/response model
• It doesn’t have conversational state
41.
42. Spring Portlets
• Web MVC for JSR-168
• Exactly the same programming model for
Portlets and Servlets
• Doesn’t hide the Portlet specific flow