Peter Rooke

+ Follow
since Oct 21, 2004
Peter likes ...
IntelliJ IDE Java Linux Mac OS X Oracle Redhat Spring Tomcat Server VI Editor
Forum Moderator
Peter Rooke currently moderates these forums:
Newcastle Upon Tyne, England, United Kingdom
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Rancher Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Peter Rooke

BlueJ is a nice editor to learn the basics of Java for beginners.   Otherwise it's really down to personal preference [I'm often still using vi ;-) ].  

I don't share your concerns over NetBeans being taken on by the Apache Foundation as they have a long history in open source.  For example the Apache httpd server ('A PAtCHy' server) is ridiculously popular.      
Before, after, and during a method.  AspectJ may offer different options (advise), but cannot comment as I don't know it that well.

Types of [SpringAOP] advice:

Before advice: Advice that executes before a join point, but which does not have the ability to prevent execution flow proceeding to the join point (unless it throws an exception).

After returning advice: Advice to be executed after a join point completes normally: for example, if a method returns without throwing an exception.
After throwing advice: Advice to be executed if a method exits by throwing an exception.
After (finally) advice: Advice to be executed regardless of the means by which a join point exits (normal or exceptional return).
Around advice: Advice that surrounds a join point such as a method invocation. This is the most powerful kind of advice. Around advice can perform custom behavior before and after the method invocation. It is also responsible for choosing whether to proceed to the join point or to shortcut the advised method execution by returning its own return value or throwing an exception.

Taken from the spring docs Spring Docs
2 weeks ago

Alder Potenz wrote:What are the real world or common scenario where we need or want to use AOP introduction.

Logging and [method] security are two scenarios.  This wiki link describes some more Cross Cutting Concerns

However the main idea is to try and address two issues that are common among badly designed systems, namely; Code Scattering and Code Tangling.

Code scattering is often referred to as "spaghetti code", where you see the same code repeated many times in order to achieve the same results.  For example when a class method has had many lines of code added to log the initial state and arguments, and then the final state.  This can be solved with AOP, which can be setup with SpringAOP which would implement the logging functionality behind the scenes.  

Code tangling refers to the scenario where we have a specific piece of code performs unrelated multiple objectives, often after a period of maintenance programming when a bug fix is implemented badly.  This is associated with the concept of code cohesion, where we want the code to only do one thing.    

There's a good answer in stack overflow that shows examples; StackOverflow - AOP

From a Java Spring perspective you can use Springs own implementation (SpringAOP) or use Spring to configure AspectJ.  AspectJ offers more features and could be used without Spring.    

AOP has its own terms [which I think are a bit confusing], and how this is actually done requires a bit a in depth knowledge of spring internals and since you asked for an introduction I'll leave you to research this.   SpringAOP Docs      

2 weeks ago
That's me as well; still using an older Mac Book Pro.  Just don't see any advantage in buying a new Mac when they seem to have faulty keyboards and the lack of connectors.  This
sums it up.   Seriously considering getting a Linux based laptop when I need a replacement in a few years.    
3 weeks ago
Are you aware of the @EnableAsync/@Async annotations?  Here's a link to one of the examples from Pivotal - Creating Asynchronous Methods    

Cannot tell you anything much about reactive spring, as I don't know it too well (yet)!  
1 month ago
Cloud Native Java Yet another three-letter abbreviation (TLA) as we don't have enough in computing!    

Welcome Josh ;-)
1 month ago
This spring boot io guide; Spring Boot OAuth 2
More based on spring boot, rather than just plain spring security.  
1 month ago
Did you see this old post Spring 5 Certification
1 month ago
There are a set of certification books, but they are now out of date since the framework and the various certification objectives have changed significantly.
Already answered in another JR thread JR thread

This is the book Certified Professional Spring Developer Exam and there are others for the other two old certifications; system integration and web developer.  

It looks like there is an updated version of the book, but its not due until next year Core Spring 5 Developer Exam

2 months ago
I hear that blockchain technologies help to mitagte the traveling salesman problem (in terms of IT system integration).  Does not solve the problem, but it becomes less of an issue if all systems [eventually] end up with a trusted copy of the common information (the ledger) due to a consensus algorithm.  The main issue seems to be that of speed, or the lack of it.     Blockchain Concepts
2 months ago
I guess the dinosaurs (mainframes) in their dinosaur pens just downsized and evolved into birds (datacenter servers) flying high in the clouds.

I'm glad to say that for the most part I managed to avoid mainframes, but here's a humorous article about those old [DevOps] VAX/VMS days; GNU Humor - the VAXORCIST


2 months ago
Why not be language agnostic, that is don't focus on any particular language or technology.  For the simple reason that once you introduce a particular language at the start then it become a matter of teaching that languages syntax.  I just feel that you could achieve more if you concentrated on the principals of programming/software development.  You could introduce a subject, and then give examples in a particular language(s).  
2 months ago
Maybe you should start with the Java Tutorial Docs rather than the actual API documentation.  

what is <T>?

- part of Java's support for generics, which is covered within the collections documentation;
Java Collections

Optional seems to be used to try and deal with the null type that causes so many problems in Java (and also other languages).  

i feel like a mouse in a very big java maze

, yes we all do and the maze seems to be forever growing!  Trick is not to worry as nobody can know everything, but after a while you will notice that technology changes the fundamental concepts don't.  
2 months ago
Recruitment seems to be broken (in the UK) as recruitment agency staff don't seem to have a clue about the technical aspects of job specifications.  
It seems that they just match words and phrases from an inflated job description with CV's [resumes].    

This document epitomises the situation perfectly, whoever wrote it does not seem to have a good understanding of the technologies.  

Moreover, Spring MVC is only a part of the complex solution, which can take care of many aspects of your application, (such as testing or data access).  

- Close but "no cigar"    , as there are other Spring projects to access data like spring data, which (hopefully) is used in the model packages.  

I'm often frustrated by the term "Full Stack" where nobody really knows what the stack actually is, but everyone must have experience of it!
2 months ago
Yeah, best do the official Pivotal training then; Spring Professional Certification

The courses tend to be delivered by actual spring developers, but it's probably best if you understand the fundamentals before the course.  Unless the format has changed since the V4 course, then the schedule will be split between presentations and labs.  The labs used STS (of course) so it is also useful to be familiar with this IDE.    

Other courses and options exist, and you no longer need to do the course before taking the exam.    
2 months ago