IT professional with 22 years of total experience. Software Development: 16.5 years of Software Development experience in Java, J2EE projects. IT Project Management: 6years of IT Development management experience handling Java based projects.
Senior / Lead Java Developer
Sorice Solutions Pvt. Ltd.Development / Technical Lead
Freelance projectsTechnical Project Manager
Techware SolutionTechnical Lead
Autonomy Interwoven (a HP company)Project Manager
Qburst TechnologiesTechnical Project Manager
Framework Systems & SolutionsSystems Analyst
Satyam Computer Services Ltd.Analyst
Verizon Data Services (I) Ltd.Java Programmer/Senior Programmer
Various (Three different organizations)Redmine
Confluence
ANT
JUnit 5
Redis
Postman
Apache Kafka
Mockito
Jenkins
CVS
SVN
Yeah. Myself, Raju. I am having around 22 years of IT experience in, software development. And, uh, and, uh, out of which 20 years is in Java, um, currently working as a legal Java developer in the company in Cochin. Technology stack is, uh, Spring Java. Java 11, Spring, Spring Boot, Spring Data, ODP, Apache Kafka. Yeah. That's about myself.
Yeah. Typically, we can use spring security, uh, using, uh, the basic authentication as well as we can use open authentication for AUTH 2. Spring Security is well integrated with this third party integration also. So I would recommend we can, uh, secure this restful endpoints using Spring Security. And, uh, so in hope, we can we can use JWT JSON Web Tokens. Uh, So we can get the client ID and client secret from the JWT and then we can authenticate the client which is in, uh, hitting the restful end point.
Yeah. Typically, we can use database related transaction. Uh we can uh have save points and we can roll back that. Uh, but, uh, spring comes with a transaction, uh, well integrated with the transaction, uh, integration with JTA. So we can have, uh, Sprint based, uh, transaction, uh, levels and we can, uh, roll we can interview we can also implement that, uh, rollback strategy using Spring Transaction Management.
Yeah. I like the previous question. Uh we can introduce print transactional manager. Uh I think with at the right uh, with annotation transactional, we can have, uh, transaction at the method level. And then, uh, Yeah. We can introduce that asset properties of that transaction, uh, in Spring Boot. So typically in a Spring Boot with MySQL or any RDBMS integration, we can introduce this using the spring at the API level.
Yeah. Using Spring framework, I think uh the Rust uh Rust based application uh-uh interview with sprint security, we can have a low latency and very, uh, very lightweight and high through throughput Java application. Uh, because, uh, typically we can introduce JSON based data transfer. So it is very lightweight. So I think we can introduce spring based, a spring rest, uh, framework. Uh Spring Spring based Rust, uh, Rust based Rust application so that, uh, that is one way to design a low latency high throughput. And coming to, uh, the database side, I think if it is not much required with the if if the relationship is not much mandatory, then we can go with, uh, NoSQL. That again give very fast results uh search results and the database insertion is also very fast because the NoSQL is also like a JSON format. So very it is very lightweight and but typically, uh, we have to consider about the security as well as the uh managing of the applications. So that is one area which we have to look at.
Yeah. I think, uh, in the subclass in the override method overridden method we shouldn't use for set width we have to use only the superclass set set width. Otherwise, that overriding principle is not. So the this this is not a typical example of a runtime polymorphism. So, uh, for set height, uh, and set width, we have to correspondingly call the super set width and set height plus width.
Yeah. This is a typical example where when there is multiple multi thread environment, uh, there can be a chance of more than one instance. So better practice is either use enum, uh, singleton object or we can use in this static get instance. Uh, we have we can use the synchronized keyword and we can say that means that we are within the static singleton get instance, we can we can synchronize that method so that it will be, uh, it will always return, uh, one instance of that Singleton object. Otherwise, we can use Enum based Singleton that comes with the Java 1.5.
Yeah. We can, uh, while using spring and hibernate is a ORM framework, uh, it enables uh, 1st level cache and 2nd level cache. So, um, the memory requirement is, uh, little we can reduce that memory footprint and also uh in that way we can avoid out of memory error errors. So when processing very large datasets using hibernate, we can employ the eh level cache and so that whenever you fetch fetch a record we can use that actually. Uh second thing is uh session factory is another feature of hibernate. So, that also can you can be avoid to avoid out of memory errors.
Yeah. Uh, we can introduce introduce test cases in the, uh, typically in the business logic areas. Uh, so typically in a spring boot project, uh, when there is a a service class or a repository class, uh, in the service class, we can employ this test cases uh at the rate spring test at ah I think at the rate some spring boot test is there ah which will which will uh with which we can uh employ the test cases for that. So, this is the uh code level testing And, uh, the QA level test cases, I think we can prioritize uh, typically the, uh, the, uh, insertion area and the main I mean, the database insertion area. Yeah. We can also employ mokito at the unique level testing mokito framework. But, uh, coming to test cases, I think we have to cover the database interaction area, uh, the security level area, security interaction area. Uh, those areas, uh, we have to prioritize first because any security breach should be avoided. And also the database level, uh, the performance, we can see how much we can uh improve that performance also. So I think prioritizing these two integration area is important.
Yeah. Here also we can have some spring security based libraries to that means whenever we call suppose we are calling the external API using rest and rate then we have to first employ the uh check the I mean call the APIs security part and then then call the rest based application for that external API.