an introduction to Spring boot and Thymeleaf, to get a head start.
For example code see https://bitbucket.org/flinden68/spring-forward-starte
Icon UK 2018 - Spring forward: an introduction to Spring boot and Thymeleaf f...Frank van der Linden
The world of (XPages) developer is moving fast. Customers rethinking platforms and solutions. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". In combination with Thymeleaf can it be good alternative for your XPages applications.
In this session I give an introduction of Spring Boot and Thymeleaf and how to get started. I will show the differences and similarities between Spring Boot in combination with Thymeleaf and XPages.
I will explain the challenges I faced when moving an application.
Engage 2020: Hello are you listening, There is stream for everythingFrank van der Linden
The world is changing in a event driven world
Event driven architecture is not a new technology. IBM MQ is already 25 years old.
The popularity is increasing, because it is a robust, decoupled way to exchange data.
Today there are new popular 'new kids on the block'. Kafka is one of them and gets lots of attention also in the enterprise.
The principle however are still the same, called Pub Sub principle.
HCL will add to the App Dev pack the possibility to consume and produce to a broker/stream.
There are frameworks who helps you to focus on the business logic.
In this session I will explain this principle and show you that is not that difficult to make use of it. Connect your existing code to a service bus or queue, producing and consuming.
NCUG 2019: Spring forward: an introduction to Spring boot and Thymeleaf for (...Frank van der Linden
The world of (XPages) developer is moving fast. Customers rethinking platforms and solutions. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". In combination with Thymeleaf can it be good alternative for your XPages applications.
In this session I give an introduction of Spring Boot and Thymeleaf and how to get started. I will show the differences and similarities between Spring Boot in combination with Thymeleaf and XPages.
I will explain the challenges I faced when moving an application.
Tim Bracken gives an introduction to the Laravel framework. He explains that he became interested in Laravel after working as a Java developer and needing a PHP framework. Laravel provides structure, adds value, and is intuitive to use. It also allows for easy REST, is portable, and scalable. Laravel uses the MVC pattern with routing directing requests to controllers, Eloquent as the ORM layer, and Blade for templating. The presentation covers these areas in more detail including advanced routing, middleware, working with models and controllers, and utilizing Blade layouts and content. Resources for additional learning are also provided.
This document summarizes a presentation about connecting to activity streams using Yellow and Blue systems. It discusses OAuth and OpenSocial standards for authorization and social components. The Yellow and Blue system presented pulls information from various sources using XPages, OAuth, and Java and displays it in a unified activity stream. It demonstrates connecting an app to the activity stream on Greenhouse using OAuth and the Social Enabler from OpenNTF to retrieve and display the stream.
Ben McCormick gave a presentation on how to save time by testing with Jest. He began with an introduction and explained that Jest is a JavaScript testing framework developed by Facebook that aims to solve common testing problems. He then demonstrated how Jest saves time through fast setup, writing tests quickly using familiar syntax and APIs, running tests in parallel and with a smart watch mode, and providing clear errors to fix tests fast. He concluded with a demo of Jest's features and took questions.
Automating JavaScript testing with Jasmine and Perlnohuhu
This document discusses automating JavaScript testing using Jasmine and Perl. It introduces Test::WWW::Jasmine, a module that takes Jasmine test specs, runs them in a Selenium-controlled browser, and outputs the results in TAP format. This allows running JavaScript tests from Perl similar to unit tests. Examples of Jasmine test specs and TAP output are shown. The document also discusses running the same Jasmine specs locally for development. It acknowledges some limitations but seeks feedback on the new module.
- The document discusses various Java template engines that can be used on the JVM including Thymeleaf, Mustache, Jade, and Scalate.
- A benchmark project was created to test the performance of these template engines in a Spring MVC application that renders a list of presentations.
- The results showed that Thymeleaf used more memory and was slower than commonly used engines like Freemarker and Velocity. Mustache performed very well. Scalate was over 100 seconds slower due to its layout mechanism.
These slides provide instructions on how to setup a virtual security training lab that uses OWASP Broken Web Apps, OWASP WebGoat, and OWASP ZAP running on top of Virtual Box.
A quick overview on REST : what it is and what it is not. REST has strict contraints and many internet Apis are not so REST. It’s also very popular today because RESTfull services can be consumed easily by any client or device. Soap is also still valid in a few circomstaces. It has never been so easy to create Rest-like services in .net since asp.net Web Api.
This document discusses using message brokers like RabbitMQ to asynchronously process tasks like generating Microsoft Office documents from XML content. It describes how using a message broker and queueing bundle improves over a synchronous approach that is slow, unreliable, and does not scale. Specifically, it allows processing jobs to run in parallel without interfering with each other by placing jobs on a message queue where worker processes can pick them up. The document recommends using the Kaliop Queueing Bundle which provides an easy to use and safe way to integrate queues into a Symfony application using multiple broker protocols.
This document discusses integration testing with Selenium, including:
- The position of functional/integration testing compared to other types of testing.
- Approaches to test design like using domain language actions and behavior driven development.
- Examples of how to write tests using Selenium, including data-driven testing and multi-station "lead deputy" testing.
- Considerations for high-level test design like focusing on business objects, flows, functions and features.
TDD a REST API With Node.js and MongoDBValeri Karpov
This document discusses developing and testing a MongoDB and Node.js REST API. It introduces MongoDB and Node.js, and then covers building an API with the following parts: using Mongoose to define schemas for products, categories, and users; building routes with Express; and testing with Mocha and Superagent. Key topics include schema design principles, building RESTful routes, and testing the API end-to-end. The goal is to learn how to structure APIs on MongoDB with Node.js and ensure quality with testing.
Whar are microservices and microservices architecture (MSA) How we reach them? Are they the same or SoA or not? When to use them? What are the key characteristics?
Slides of my talk given in #Gapand2017 in Andorra
Van Wilson
Senior Consultant with Cardinal Solutions
Find more by Van Wilson: https://speakerdeck.com/vjwilson
All Things Open
October 26-27, 2016
Raleigh, North Carolina
This document provides an introduction to dependency injection. It explains that dependency injection allows code to request dependencies rather than create them directly, making code more flexible and testable. It demonstrates how to define interfaces for dependencies and configure a dependency injection container to resolve them. Writing unit tests is easier with dependency injection because mock dependencies can be passed in instead of real implementations. The document also discusses additional features of dependency injection containers like lifetime management and configuration options.
Jeff Andersen from GoInstant
Have you ever thought that writing web applications should allow you to use your mad Javascript skillz on the server side as well? Node.js is such a platform. Bundling up the Google Chrome Javascript runtime, Node lets you easily building fast and scalable network applications perfect for the real-time web. It's also a pretty great platform for building basic data driven websites too. Jeff, a web developer at Halifax based GoInstant, will introduce us to the Node platform, exploring it from the ground up.
The document discusses using offline storage on mobile devices by leveraging HTML, JavaScript, and technologies like Cordova, PouchDB, and CouchDB. It summarizes the evolution of HTML5 offline storage standards including Web Storage, Web SQL, and IndexedDB. It then outlines an approach to building a mobile app that works offline by storing data locally on the device using IndexedDB and syncing with a remote CouchDB database using PouchDB when an internet connection is available.
Webinar - Matteo Manchi: Dal web al nativo: Introduzione a React Native Codemotion
Con la stessa potenza con cui React ha conquistato lo sviluppo front-end, React Native sta esplodendo nel mondo dello sviluppo mobile. In questo webinar vedremo le basi di questo framework, che ha avvicinato sia sviluppatori mobile che web, e come iniziare subito a sviluppare un'applicazione nativa in JavaScript.
The document outlines an OWASP ZAP workshop on contexts and fuzzing. The plan is to demonstrate ZAP features, allow participants to experiment with them, and answer any questions. Contexts allow assigning characteristics like scope and authentication to groups of URLs. Practicals involve creating contexts, fuzzing input fields, using multi-fuzz tools, and advanced scanning options. Future sessions could cover other ZAP topics like scripts, Zest, the API, and marketplace add-ons.
OWASP 2015 AppSec EU ZAP 2.4.0 and beyond..Simon Bennetts
The document discusses the OWASP Zed Attack Proxy (ZAP), an open source web application penetration testing tool. It provides an overview of ZAP's features and capabilities, including that it is free, open source, cross-platform, and used by both beginners and professionals. Statistics on usage and contributors are provided, and upcoming new features like access control testing and a ZAP as a Service option are mentioned.
Zane lackey. security at scale. web application security in a continuous depl...Yury Chemerkin
Effective approaches to web application security at scale involve making things safe by default through universal output encoding, detecting risky functionality changes through automated alerts, automating tests to find simple issues, and monitoring metrics to identify attacks and problems off-hours through automated alerts on thresholds.
Dim the lights and queue the music. The stage has been set, and the virtual actors are soon to arrive. Come join an engaging discussion on Project Orleans and how it will create for us a world that transcends traditional three-tier architecture and truly achieves solutions with a high degree of performance, reliability, and scalability.
In this discussion, Chris will provide an overview of actor model theory and discuss how Orleans leverages virtual actors in order to provide a high throughput, low latency, and high availability solution architecture. You will also learn how this tried and tested framework has been successfully leveraged in Azure in order to provide the extremely scalable and performant platform that has brought you some of your favorite online Xbox games and Microsoft products.
Erlang is a functional programming language built for reliability and concurrency. It is used to build scalable and fault-tolerant systems through features like its supervision tree, behaviors, and OTP framework. The document recommends learning more about Erlang through various books and online resources, and suggests trying out the build tools rebar and ChicagoBoss or contributing to open source projects like Riak to get hands-on experience with the language.
Posterous recently deployed Riak to serve as their content cache. In this talk, Julio Capote will cover why the engineering team chose Riak for the use case. He'll also share some details on the old post cache and its problems, what solutions they evaluated, and how they settled on Riak.
Engage 2018 adm04 - The lazy admin winsMatteo Bisi
We spent the last 6 months deep diving into automation (DevOps) tools to make our life easier.
We applied it to Connections (On-Prem) and other technologies. Come and see how Ansible, Jenkins (and many others) can be friends with Administrators (let’s steal developer tools).
Deploy IBM Connections components, install fix-packs, automate tedious tasks and more.
An introductory session on modern administration topics. Git, Jenkins, Ansible, Installation Manager. Come and learn how this can improve your everyday job.
- The document discusses various Java template engines that can be used on the JVM including Thymeleaf, Mustache, Jade, and Scalate.
- A benchmark project was created to test the performance of these template engines in a Spring MVC application that renders a list of presentations.
- The results showed that Thymeleaf used more memory and was slower than commonly used engines like Freemarker and Velocity. Mustache performed very well. Scalate was over 100 seconds slower due to its layout mechanism.
These slides provide instructions on how to setup a virtual security training lab that uses OWASP Broken Web Apps, OWASP WebGoat, and OWASP ZAP running on top of Virtual Box.
A quick overview on REST : what it is and what it is not. REST has strict contraints and many internet Apis are not so REST. It’s also very popular today because RESTfull services can be consumed easily by any client or device. Soap is also still valid in a few circomstaces. It has never been so easy to create Rest-like services in .net since asp.net Web Api.
This document discusses using message brokers like RabbitMQ to asynchronously process tasks like generating Microsoft Office documents from XML content. It describes how using a message broker and queueing bundle improves over a synchronous approach that is slow, unreliable, and does not scale. Specifically, it allows processing jobs to run in parallel without interfering with each other by placing jobs on a message queue where worker processes can pick them up. The document recommends using the Kaliop Queueing Bundle which provides an easy to use and safe way to integrate queues into a Symfony application using multiple broker protocols.
This document discusses integration testing with Selenium, including:
- The position of functional/integration testing compared to other types of testing.
- Approaches to test design like using domain language actions and behavior driven development.
- Examples of how to write tests using Selenium, including data-driven testing and multi-station "lead deputy" testing.
- Considerations for high-level test design like focusing on business objects, flows, functions and features.
TDD a REST API With Node.js and MongoDBValeri Karpov
This document discusses developing and testing a MongoDB and Node.js REST API. It introduces MongoDB and Node.js, and then covers building an API with the following parts: using Mongoose to define schemas for products, categories, and users; building routes with Express; and testing with Mocha and Superagent. Key topics include schema design principles, building RESTful routes, and testing the API end-to-end. The goal is to learn how to structure APIs on MongoDB with Node.js and ensure quality with testing.
Whar are microservices and microservices architecture (MSA) How we reach them? Are they the same or SoA or not? When to use them? What are the key characteristics?
Slides of my talk given in #Gapand2017 in Andorra
Van Wilson
Senior Consultant with Cardinal Solutions
Find more by Van Wilson: https://speakerdeck.com/vjwilson
All Things Open
October 26-27, 2016
Raleigh, North Carolina
This document provides an introduction to dependency injection. It explains that dependency injection allows code to request dependencies rather than create them directly, making code more flexible and testable. It demonstrates how to define interfaces for dependencies and configure a dependency injection container to resolve them. Writing unit tests is easier with dependency injection because mock dependencies can be passed in instead of real implementations. The document also discusses additional features of dependency injection containers like lifetime management and configuration options.
Jeff Andersen from GoInstant
Have you ever thought that writing web applications should allow you to use your mad Javascript skillz on the server side as well? Node.js is such a platform. Bundling up the Google Chrome Javascript runtime, Node lets you easily building fast and scalable network applications perfect for the real-time web. It's also a pretty great platform for building basic data driven websites too. Jeff, a web developer at Halifax based GoInstant, will introduce us to the Node platform, exploring it from the ground up.
The document discusses using offline storage on mobile devices by leveraging HTML, JavaScript, and technologies like Cordova, PouchDB, and CouchDB. It summarizes the evolution of HTML5 offline storage standards including Web Storage, Web SQL, and IndexedDB. It then outlines an approach to building a mobile app that works offline by storing data locally on the device using IndexedDB and syncing with a remote CouchDB database using PouchDB when an internet connection is available.
Webinar - Matteo Manchi: Dal web al nativo: Introduzione a React Native Codemotion
Con la stessa potenza con cui React ha conquistato lo sviluppo front-end, React Native sta esplodendo nel mondo dello sviluppo mobile. In questo webinar vedremo le basi di questo framework, che ha avvicinato sia sviluppatori mobile che web, e come iniziare subito a sviluppare un'applicazione nativa in JavaScript.
The document outlines an OWASP ZAP workshop on contexts and fuzzing. The plan is to demonstrate ZAP features, allow participants to experiment with them, and answer any questions. Contexts allow assigning characteristics like scope and authentication to groups of URLs. Practicals involve creating contexts, fuzzing input fields, using multi-fuzz tools, and advanced scanning options. Future sessions could cover other ZAP topics like scripts, Zest, the API, and marketplace add-ons.
OWASP 2015 AppSec EU ZAP 2.4.0 and beyond..Simon Bennetts
The document discusses the OWASP Zed Attack Proxy (ZAP), an open source web application penetration testing tool. It provides an overview of ZAP's features and capabilities, including that it is free, open source, cross-platform, and used by both beginners and professionals. Statistics on usage and contributors are provided, and upcoming new features like access control testing and a ZAP as a Service option are mentioned.
Zane lackey. security at scale. web application security in a continuous depl...Yury Chemerkin
Effective approaches to web application security at scale involve making things safe by default through universal output encoding, detecting risky functionality changes through automated alerts, automating tests to find simple issues, and monitoring metrics to identify attacks and problems off-hours through automated alerts on thresholds.
Dim the lights and queue the music. The stage has been set, and the virtual actors are soon to arrive. Come join an engaging discussion on Project Orleans and how it will create for us a world that transcends traditional three-tier architecture and truly achieves solutions with a high degree of performance, reliability, and scalability.
In this discussion, Chris will provide an overview of actor model theory and discuss how Orleans leverages virtual actors in order to provide a high throughput, low latency, and high availability solution architecture. You will also learn how this tried and tested framework has been successfully leveraged in Azure in order to provide the extremely scalable and performant platform that has brought you some of your favorite online Xbox games and Microsoft products.
Erlang is a functional programming language built for reliability and concurrency. It is used to build scalable and fault-tolerant systems through features like its supervision tree, behaviors, and OTP framework. The document recommends learning more about Erlang through various books and online resources, and suggests trying out the build tools rebar and ChicagoBoss or contributing to open source projects like Riak to get hands-on experience with the language.
Posterous recently deployed Riak to serve as their content cache. In this talk, Julio Capote will cover why the engineering team chose Riak for the use case. He'll also share some details on the old post cache and its problems, what solutions they evaluated, and how they settled on Riak.
Engage 2018 adm04 - The lazy admin winsMatteo Bisi
We spent the last 6 months deep diving into automation (DevOps) tools to make our life easier.
We applied it to Connections (On-Prem) and other technologies. Come and see how Ansible, Jenkins (and many others) can be friends with Administrators (let’s steal developer tools).
Deploy IBM Connections components, install fix-packs, automate tedious tasks and more.
An introductory session on modern administration topics. Git, Jenkins, Ansible, Installation Manager. Come and learn how this can improve your everyday job.
Stackato is a PaaS cloud platform from ActiveState that allows developers to easily deploy applications to the cloud. It supports multiple languages including Perl, Ruby, and JavaScript. The presentation demonstrated deploying simple Perl apps to Stackato using the Mojolicious framework. Key benefits of Stackato include minimal differences between development and production environments, one-click deployments, and allowing developers to manage infrastructure. ActiveState is very open and provides documentation, examples, and a community forum to support Stackato users.
This document provides an introduction to Node-RED, including what it is, its origins and key facts. It discusses Node-RED's low-code approach and ease of use for integration. The fundamentals of Nodes, messages and flows are explained. Installation and usage are demonstrated locally and via Docker. Security, authentication, configuration and developing custom nodes are also covered.
Java and AI with LangChain4j: Jakarta EE gets AIEdward Burns
Generative AI burst on to the public scene in November 2022, over ten years after Andrew Ng’s Machine Learning premiered on Coursera. Java developers have long felt like second class citizens, compared to the cool Python kids. LangChain4J changes the game. Java is cool with AI now! This lecture from 30-year industry veteran Ed Burns explores why it took so long for Java developers to have access to easy-to-use AI libraries, compared to Python developers. LangChain4J is the most popular of the Java libraries, but others exist. After a brief look at the landscape, we’ll take a deeper look at LangChain4J and how you use it to perform the most popular AI usage pattern: Retrieval Augmented Generation (RAG). RAG is basically a way to bring your own domain specific data to an existing AI model, and benefit from its power.
The document discusses various tips, tricks, and tools that every Eclipse user should know. It covers new features in Eclipse Kepler like installation remediation support, improvements to EGit and Mylyn Reviews, and performance enhancements. Various code editing tips are provided like smart semicolons and braces, as well as debugging techniques like step filtering and heap walking. Advanced code completion options from plugins like Codetrails are demonstrated.
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 Tikal Knowledge
This document discusses using Jenkins for continuous integration (CI) and continuous delivery (CD) of .NET open source projects. It covers how to achieve CI using Jenkins by automating builds, testing on each commit, and more. It also discusses using NuGet for dependency management and Sonar for code quality analysis. Finally, it provides examples of using Jenkins to deploy builds to platforms like AWS Elastic Beanstalk for CD after builds pass testing.
The document discusses best practices for coding for production environments. It recommends:
1) Writing code that is easy for others to understand and maintain by avoiding fancy features, scripting all actions, and not reinventing standard processes.
2) Using a sandbox environment that is isolated from production to safely test new code and data without risk.
3) Designing code to be agnostic of the environment by configuring settings instead of having the code directly access resources.
4) Treating exceptions as helpful for developers rather than suppressing them.
Using TypeScript, ESLint and Cypress
Build Testable React App
The document discusses using TypeScript, ESLint, and Cypress to build a testable React application. It provides an overview of each tool, including why they are useful. TypeScript adds types and catches errors. ESLint enforces code standards and quality. Cypress focuses on end-to-end testing of front-end apps and websites using JavaScript. The document recommends using these tools together to build a robust and well-tested React codebase.
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
The webinar covered tools and techniques used by several developers in their work with Domino and XPages. Howard Greenberg discussed using SourceTree and BitBucket for version control of XPages applications. Jesse Gallagher presented his toolchain including Eclipse, Maven, and Jenkins for plugin and application development. Serdar Basegmez outlined his development environment including configuring Eclipse to develop OSGi plugins for the Domino runtime. All emphasized the importance of source control, testing, and documentation in their processes.
-- Software developments trends
-- Introducing GitLab
-- Landmarks over the 1.5 past years
Delivered by ALMtoolbox
https://almtoolbox.com/gitlab
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAppDynamics
A cornerstone of the DevOps philosophy, investment in automation at all stages across the SDLC has increased over recent years. Automation promises velocity and reduced errors, helps foster repeatable processes, and removes the need for long hours on dull, repetitive tasks. So what’s not to like? The downside of automation is that unless applied at the right place in your SDLC it can make a bad process worse. Automation also raises questions around job security, the need for re-skilling in other areas, and tool sprawl if different teams each choose their preferred technology. This session will outline:
-A short chronology of where automation has impacted the modern software stack
-Where it makes the most sense to automate (by identifying your key constraints)
-Best practices for adopting automation and how to identify where it’s working — and where it isn’t
For more information, visit: www.appdynamics.com
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGroup
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly gives an overview of the strengths and weaknesses of DevOps automation, tips on developing your automation strategy, and a high level overview of automation options across the DevOps toolchain.
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
Thursday, June 12th 2014
Discussing strategies in Rails development for keeping multiple application environments as consistent as possible for the best development, testing, and deployment experience.
OWASP Security Logging API easily extends your current log4j and logback logging with impressive features helpful for security, diagnostics/forensics, and compliance. Slide deck presentation from OWASP AppSecEU 2016 in Rome.
Java and AI with LangChain4j: Jakarta EE and SmallRye LLMEdward Burns
Generative AI burst on to the public scene in November 2022, over ten years after Andrew Ng’s Machine Learning premiered on Coursera. Java developers have long felt like second class citizens, compared to the cool Python kids. LangChain4J changes the game. Java is cool with AI now! This lecture from 30-year industry veteran Ed Burns explores why it took so long for Java developers to have access to easy-to-use AI libraries, compared to Python developers. LangChain4J is the most popular of the Java libraries, but others exist. After a brief look at the landscape, we’ll take a deeper look at LangChain4J and how you use it to perform the most popular AI usage pattern: Retrieval Augmented Generation (RAG). RAG is basically a way to bring your own domain specific data to an existing AI model, and benefit from its power.
Selenium is used in many IT companies due to its numerous advantages compared to other automation testing tools in the market.We provide best Selenium training in Chennai with real time scenarios. We are the best training institute in Chennai providing the real time training in Chennai
Aleksei Dremin - Application Security Pipeline - phdays9Alexey Dremin
This document discusses setting up an application security pipeline for continuous integration and delivery (CI/CD). It recommends using static application security testing (SAST) tools, dependency checkers, source code scanners, dynamic application security testing (DAST) tools, and integrating them with Jenkins. It also suggests managing vulnerabilities and results in DefectDojo and notifying stakeholders of new findings through integration with communication tools like Slack. The document stresses the importance of educating developers on security best practices.
At Engage 2019 I did a session about a not so objective view on frontend development, where I compared the big 3 frontend technologies: Angular, ReactJs and VueJS.
Now it's 2024: Let me explain my latest view on these frameworks.
Is Angular still my preferred frontend technology?
Are there new kids on the block?
Let's discuss the good, bad and the ugly of each frontend technology.
Today almost every product has an API, to integrate in other products or to made the data available to the outside world. Most API’s are using traditional patterns and technology. With the rise of Angular, React and other modern frameworks there is a need for non blocking API’s. Meet Reactive streams, like Spring Webflux, to super charge your API.
In this session I will tell about and show you Reactive API’s and more
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Frank van der Linden
In the front end development world there are 3 dominant players, Angular, ReactJS and VueJs.
Every framework has a strong fan base. And of course lots of pros and cons The best way to learn more about the strengths and weaknesses of the frameworks, I have build the same application with all these frameworks. In this session I will explain my experience with each framework and try to highlight the good the bad and the ugly. Expect to see code
The demo application can be found on GitHub, https://github.com/flinden68/my-events-demo-application
DEV03 - How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real...Frank van der Linden
This document summarizes a presentation about how Watson, Bluemix, Cloudant, and XPages can work together in a real-world HR Assistant application. The application uses IBM Bluemix as a platform, Cloudant as a NoSQL database to store and retrieve data, IBM Watson services like Tone Analyzer and Personality Insights to analyze job posts and applications, and ChartJS to visualize analysis results. Lessons learned include that IBM Cloud services are powerful but APIs are inconsistent, and integrating Cloudant required extra work but it is reliable and flexible. Future plans include commercializing the solution and adding more capabilities.
Wcs-1785 How Watson, Bluemix, Cloudant and XPages can work together in a real...Frank van der Linden
This document describes how an HR assistant application uses IBM Bluemix, Cloudant, Watson, and XPages technologies together. The HR assistant app runs on IBM Bluemix and stores data in Cloudant. It analyzes job postings and applications using Watson services like Tone Analyzer and Personality Insights. Charts generated with ChartJS display results. Lessons learned include challenges integrating technologies and handling attachments in Cloudant. The application won an IBM developer competition in 2016.
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...Frank van der Linden
The role of a human resources employee can be hard work when it comes to filtering hundreds or thousands of job applications. Often, the cover letters are submitted in unstructured formats, making data organization and identification of interesting job applications difficult. In this session, we will share a look behind the scenes of the award-winning HR Assistant application, which uses a combination of IBM Bluemix, Watson and a Cloudant database to improve the recruitment process. See how we integrate these different technologies and display the content graphically using XPages, along with how the development progressed and the challenges we faced.
This document provides an overview of using Cloudant as a NoSQL database with XPages applications. It discusses why the author chose Cloudant for an HR application, introduces Cloudant and how it works, explains how to connect to Cloudant from XPages using a Cloudant connector plugin, and demonstrates storing and retrieving jobs, attachments, and search data from Cloudant in an XPages application. The document contains code examples for Cloudant DAOs, controllers, and services to interact with Cloudant from the backend and display data in XPages.
Frank van der Linden presented on connecting XPages applications to Cloudant. He began with an introduction to Cloudant, describing it as the cloud version of CouchDB that stores data as JSON documents. He then covered how to connect to Cloudant directly via REST or through an OSGi plugin, and described storing and retrieving data from Cloudant using a Java connector. Finally, he demonstrated integrating Cloudant with an XPages application to store and search job documents, attachments, and rich text.
This document provides an overview and roadmap for developing servlets that can run on Domino and web servers. It discusses what servlets are, their structure and lifecycle. It then outlines steps to prepare an IDE, develop shared code, Domino and web application servlets, test the servlets, and deploy them as plugins to Domino or as a web application. Appendices provide more details on setting the target platform and creating the required OSGi and web application plugin projects.
How to create a OSGi Servlet that runs on a Domino server using code from another plugin. Extra is a web app servlet which runs on every other Java Server
This document provides an overview of Bower, a package manager for the web. It discusses the requirements to use Bower, how to install and configure it, and how to run Bower to install dependencies. Bower is used to manage front-end components and their dependencies. It requires Node.js and NPM to be installed first. Then Bower can be installed globally and configured via a bower.json file to specify packages and dependencies. Running Bower will install all dependencies to the default or specified directory. The document also briefly explains how Bower can be used with XPages projects to manage front-end libraries.
This document summarizes Frank van der Linden's presentation on using Notes objects in memory and other Java tips for XPages development. It discusses putting Notes documents in memory using DominoDocument wrappers, building JSON with built-in classes, using the MVC pattern with managed beans, Java date checks and utility classes, unit testing, and finally blocks. It also provides an overview of the presenter and includes links to his social media and website.
Use notes objects in memory and other useful java tips for xpages developmentFrank van der Linden
This document discusses various Java tips and techniques for XPages development, including:
1) Putting Notes documents in memory by wrapping them in a DominoDocument class to avoid memory issues.
2) Using built-in JSON classes to build JSON instead of string concatenation.
3) Creating managed beans to minimize server-side JavaScript and make code more readable.
4) Developing utility classes and extending classes for reusable code.
Java and in particular OSGi are now very important parts of the Notes/Domino app dev model. In this session, you will learn what techniques can be utilized to process background jobs for XPages applications. Whether you want to replace your existing agents with Domino OSGi Tasklet Services (DOTS) or use Eclipse Jobs to run time-consuming routines without interrupting the use of your application - we will show you real life examples of why and how. You should also consider attending this session to hear about some suprises you don't want to miss...
The document provides an introduction and overview of the Domino OSGi Tasklet Service (DOTS). DOTS allows developers to create tasklets outside of the Domino environment in Eclipse that can then run on a Domino server. The document outlines how to set up the DOTS development environment, create a simple "Hello World" tasklet, debug tasklets, deploy tasklets to the server, and offers tips for using annotations and progress monitoring in tasklets.
DOTS (Domino OSGi Tasklet Service) allows developers to create tasklets outside of the Notes client to perform background tasks on the Domino server. Tasklets can be run on a schedule or manually and outperform Java agents. To use DOTS, it must be installed on the Domino server and Eclipse is used for development. Tasklets are developed as OSGi bundles and can be deployed to the server through a jar file or update site. Logging, progress monitoring, and annotations help developers code efficient tasklets. Multiple profiles allow isolating tasklets from each other.
This document discusses integrating Domino Designer with CVS source control. It covers installing CVS connectors, setting up a connection to a CVS repository, connecting databases to source control, submitting and getting changes from the repository. It also discusses more advanced topics like branching and merging. The document provides helpful links for CVS and other source control connectors that can be used with Domino Designer.
This document discusses how to connect Domino applications to the IBM Connections Activity Stream. It provides an overview of IBM Connections 4, OAuth standards, and how to set up the environment. It then describes how to connect to the Activity Stream, including registering an app, installing required databases, and retrieving and posting entries. Code samples and resources for further information are also included.
Domino point2012 integrate domino designer with cvs source controlFrank van der Linden
This document discusses how to integrate Domino Designer with CVS source control. It covers installing CVS connectors in Domino Designer, setting up a connection to a CVS repository, connecting a database to source control, submitting new changes and getting database designs from source control. It also discusses more advanced topics like creating and merging branches.
Mastering OOP: Understanding the Four Core PillarsMarcel David
Visit for updated note:
https://www.notion.so/Four-Pillars-of-Object-Oriented-Programming-OOP-1e2d7d9612808079b7c5f938afd62a7b?pvs=4
Dive into the essential concepts of Object-Oriented Programming (OOP) with a detailed explanation of its four key pillars: Encapsulation, Inheritance, Polymorphism, and Abstraction. Understand how these principles contribute to robust, maintainable, and scalable software development.
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentShubham Joshi
A secure test infrastructure ensures that the testing process doesn’t become a gateway for vulnerabilities. By protecting test environments, data, and access points, organizations can confidently develop and deploy software without compromising user privacy or system integrity.
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...Egor Kaleynik
This case study explores how we partnered with a mid-sized U.S. healthcare SaaS provider to help them scale from a successful pilot phase to supporting over 10,000 users—while meeting strict HIPAA compliance requirements.
Faced with slow, manual testing cycles, frequent regression bugs, and looming audit risks, their growth was at risk. Their existing QA processes couldn’t keep up with the complexity of real-time biometric data handling, and earlier automation attempts had failed due to unreliable tools and fragmented workflows.
We stepped in to deliver a full QA and DevOps transformation. Our team replaced their fragile legacy tests with Testim’s self-healing automation, integrated Postman and OWASP ZAP into Jenkins pipelines for continuous API and security validation, and leveraged AWS Device Farm for real-device, region-specific compliance testing. Custom deployment scripts gave them control over rollouts without relying on heavy CI/CD infrastructure.
The result? Test cycle times were reduced from 3 days to just 8 hours, regression bugs dropped by 40%, and they passed their first HIPAA audit without issue—unlocking faster contract signings and enabling them to expand confidently. More than just a technical upgrade, this project embedded compliance into every phase of development, proving that SaaS providers in regulated industries can scale fast and stay secure.
Adobe Photoshop Lightroom CC 2025 Crack Latest Versionusmanhidray
Copy & Past Lank 👉👉
http://drfiles.net/
Adobe Photoshop Lightroom is a photo editing and organization software application primarily used by photographers. It's designed to streamline workflows, manage large photo collections, and make adjustments to images in a non-destructive way. Lightroom is available across various platforms, including desktop, mobile (iOS and Android), and web, allowing for consistent editing and organization across devices.
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?steaveroggers
Migrating from Lotus Notes to Outlook can be a complex and time-consuming task, especially when dealing with large volumes of NSF emails. This presentation provides a complete guide on how to batch export Lotus Notes NSF emails to Outlook PST format quickly and securely. It highlights the challenges of manual methods, the benefits of using an automated tool, and introduces eSoftTools NSF to PST Converter Software — a reliable solution designed to handle bulk email migrations efficiently. Learn about the software’s key features, step-by-step export process, system requirements, and how it ensures 100% data accuracy and folder structure preservation during migration. Make your email transition smoother, safer, and faster with the right approach.
Read More:- https://www.esofttools.com/nsf-to-pst-converter.html
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfTechSoup
In this webinar we will dive into the essentials of generative AI, address key AI concerns, and demonstrate how nonprofits can benefit from using Microsoft’s AI assistant, Copilot, to achieve their goals.
This event series to help nonprofits obtain Copilot skills is made possible by generous support from Microsoft.
What You’ll Learn in Part 2:
Explore real-world nonprofit use cases and success stories.
Participate in live demonstrations and a hands-on activity to see how you can use Microsoft 365 Copilot in your own work!
Download YouTube By Click 2025 Free Full Activatedsaniamalik72555
Copy & Past Link 👉👉
https://dr-up-community.info/
"YouTube by Click" likely refers to the ByClick Downloader software, a video downloading and conversion tool, specifically designed to download content from YouTube and other video platforms. It allows users to download YouTube videos for offline viewing and to convert them to different formats.
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Eric D. Schabell
It's time you stopped letting your telemetry data pressure your budgets and get in the way of solving issues with agility! No more I say! Take back control of your telemetry data as we guide you through the open source project Fluent Bit. Learn how to manage your telemetry data from source to destination using the pipeline phases covering collection, parsing, aggregation, transformation, and forwarding from any source to any destination. Buckle up for a fun ride as you learn by exploring how telemetry pipelines work, how to set up your first pipeline, and exploring several common use cases that Fluent Bit helps solve. All this backed by a self-paced, hands-on workshop that attendees can pursue at home after this session (https://o11y-workshops.gitlab.io/workshop-fluentbit).
Agentic AI Use Cases using GenAI LLM modelsManish Chopra
This document presents specific use cases for Agentic AI (Artificial Intelligence), featuring Large Language Models (LLMs), Generative AI, and snippets of Python code alongside each use case.
PDF Reader Pro Crack Latest Version FREE Download 2025mu394968
🌍📱👉COPY LINK & PASTE ON GOOGLE https://dr-kain-geera.info/👈🌍
PDF Reader Pro is a software application, often referred to as an AI-powered PDF editor and converter, designed for viewing, editing, annotating, and managing PDF files. It supports various PDF functionalities like merging, splitting, converting, and protecting PDFs. Additionally, it can handle tasks such as creating fillable forms, adding digital signatures, and performing optical character recognition (OCR).
Adobe Lightroom Classic Crack FREE Latest link 2025kashifyounis067
🌍📱👉COPY LINK & PASTE ON GOOGLE http://drfiles.net/ 👈🌍
Adobe Lightroom Classic is a desktop-based software application for editing and managing digital photos. It focuses on providing users with a powerful and comprehensive set of tools for organizing, editing, and processing their images on their computer. Unlike the newer Lightroom, which is cloud-based, Lightroom Classic stores photos locally on your computer and offers a more traditional workflow for professional photographers.
Here's a more detailed breakdown:
Key Features and Functions:
Organization:
Lightroom Classic provides robust tools for organizing your photos, including creating collections, using keywords, flags, and color labels.
Editing:
It offers a wide range of editing tools for making adjustments to color, tone, and more.
Processing:
Lightroom Classic can process RAW files, allowing for significant adjustments and fine-tuning of images.
Desktop-Focused:
The application is designed to be used on a computer, with the original photos stored locally on the hard drive.
Non-Destructive Editing:
Edits are applied to the original photos in a non-destructive way, meaning the original files remain untouched.
Key Differences from Lightroom (Cloud-Based):
Storage Location:
Lightroom Classic stores photos locally on your computer, while Lightroom stores them in the cloud.
Workflow:
Lightroom Classic is designed for a desktop workflow, while Lightroom is designed for a cloud-based workflow.
Connectivity:
Lightroom Classic can be used offline, while Lightroom requires an internet connection to sync and access photos.
Organization:
Lightroom Classic offers more advanced organization features like Collections and Keywords.
Who is it for?
Professional Photographers:
PCMag notes that Lightroom Classic is a popular choice among professional photographers who need the flexibility and control of a desktop-based application.
Users with Large Collections:
Those with extensive photo collections may prefer Lightroom Classic's local storage and robust organization features.
Users who prefer a traditional workflow:
Users who prefer a more traditional desktop workflow, with their original photos stored on their computer, will find Lightroom Classic a good fit.
Copy & Paste On Google >>> https://dr-up-community.info/
EASEUS Partition Master Final with Crack and Key Download If you are looking for a powerful and easy-to-use disk partitioning software,
Get & Download Wondershare Filmora Crack Latest [2025]saniaaftab72555
Copy & Past Link 👉👉
https://dr-up-community.info/
Wondershare Filmora is a video editing software and app designed for both beginners and experienced users. It's known for its user-friendly interface, drag-and-drop functionality, and a wide range of tools and features for creating and editing videos. Filmora is available on Windows, macOS, iOS (iPhone/iPad), and Android platforms.
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDinusha Kumarasiri
AI is transforming APIs, enabling smarter automation, enhanced decision-making, and seamless integrations. This presentation explores key design principles for AI-infused APIs on Azure, covering performance optimization, security best practices, scalability strategies, and responsible AI governance. Learn how to leverage Azure API Management, machine learning models, and cloud-native architectures to build robust, efficient, and intelligent API solutions
Exploring Wayland: A Modern Display Server for the FutureICS
Wayland is revolutionizing the way we interact with graphical interfaces, offering a modern alternative to the X Window System. In this webinar, we’ll delve into the architecture and benefits of Wayland, including its streamlined design, enhanced performance, and improved security features.
Exploring Wayland: A Modern Display Server for the FutureICS
Spring forward: an introduction to Spring boot and Thymeleaf
1. #engageug
Spring forward: an introduction
to Spring boot and Thymeleaf
Frank van der Linden, elstar IT
Full stack Developer
1
Engage 2018
2. #engageug
Me
• Freelance Full stack Java developer
• Owner of elstar IT
• Curious of new technology
• IBM Champion 2013, 2014, 2017 and 2018
2
3. #engageug
How to proceed
• What is Spring boot and Thymeleaf
• Similarities and differences
• Runs everywhere
• How to start
• Syntax
• Security
• New possibilities
3
6. #engageug
Spring boot
• Open source, Pivotal is coordinating.
• Spring boot creates Spring (Java) based applications
• Embedded Tomcat makes it ‘just’ run everywhere
• Auto configure as much as possible
• Built in metrics and health checks
• Easy to configure with YAML or property file
• Very good documentation and code examples
• Fast creation of REST api’s
6
7. #engageug
Thymeleaf
• Is a template engine
• Based on Java and HTML5
• Very strict, or template will break
• Full Spring framework support
• Extensible with dialects
• Full (and extensible) internationalisation support.
• Reusable fragments, like of Custom Controls
• Extensive documentation
7
9. #engageug 9
XPages Spring Boot/Thymeleaf
Configure Faces-config @Autowired
Endpoints Need work or SmartNSF very strong support
Security Built-in Need Spring Security
Add-ons Lots of 3rd party add-on
Thanks to OpenNTF
Lots of 3rd party add-on
Deployment Runs on Domino Runs everwhere
Build Pain of the Domino Designer Maven/Gradle build out-of-the box
IDE DDE (Windows)
for OSGi plugins almost every IDE
Almost every IDE, like Netbeans, Eclipse, IntelliJ and more
(Windows, Linux, MacOS)
11. #engageug
Runs everywhere
• With Embedded Tomcat as default the jar ‘just run’
• More choices of embedded web server, in the future also
OpenLiberty
• Will run on Docker
• Will run on Cloud Foundry, like IBM Cloud or Pivotal on
Azure
• Tomcat can by excluding to run it on Websphere Application
Server, Tomcat or WildFly (a.k.a JBoss)
11
13. #engageug
How to start
• Install Gradle or Maven
• Move over to start.spring.io
• Or use the Starter in IntelliJ
• Fill all the fields and select the required projects (full version)
• Generate project
• Download zip, unzip and add to Git repository.
• Open project in favourite IDE, run ‘mvn clean install’
• Start coding
13
20. #engageug
Component scan
• Component scan will scan all the packages for @Service,
@Controller, @Repository and more @Component(s)
• @Autowired will glue everything together
20
21. #engageug
Thymeleaf syntax
• Include the th namespace to the page
• Every html element attribute has a th:…. Equivalent.
• Variable Expressions: ${...}
• Selection Variable Expressions: *{...}
• Message Expressions: #{...}
• Link URL Expressions: @{...}
21
31. #engageug
Attachments
• Forget the UploadedFile, learn MultipartFile
• MultipartFile has lots of similarities with UploadedFile, but
easier to use. Less code to achieve the same
31
33. #engageug
Spring Security
• Framework for Authentication and Authorisation
• Prevention of clickjacking, CORS, cross site request forgery
• Integrates with Spring Boot and Thymeleaf
• Customisable
• Support for Basic Authentication, SAML2, oAuth and more.
33
37. #engageug
Lombok
• Forget Getters and Setters
• Forget toString, hashCode and equals
• One @Annotations rules the all (@Data or @Getter and
@Setter)
• Add logging by @annotations (@Log4j2 or @Slf4j)
37
39. #engageug
Swagger
• Part of Open API Specification, since v3
• Documentation of API’s
• Playground for testing
• Add annotation to generate the documentation dynamically
39
41. #engageug
Jenkins
• With Jenkins you can build automatically the application
• …But also do quality control, do load tests and even deploy.
• JenkinsFile should be in the root of the GIT Repository
• Groovy is the language for JenkinsFile
41