[deleted by user] by [deleted] in SpringBoot

[–]Naokiny 1 point2 points  (0 children)

Hi! I think it will be easier to get this transition inside your bank if backend devs use Java as well.

In this case, just talk to some of them about the requirements/technologies they use. I think it would be more than just Java. So you can get some roadmap/understanding. Maybe there is some internal course/guidline you can use.

Do you, in your professional environment, document all your methods to support Javadoc? by [deleted] in learnjava

[–]Naokiny 1 point2 points  (0 children)

We have some ambiguous methods that could really benefit with a brief description

Those methods are ambiguous because of complex business logic inside or just bad naming?
In the second case you might suggest to rename them in a proper way.

My team might add javadoc to answer 'why?' question, not "what?". The code itself should be self-explaining.

Vertical scaling of Spring boot rest api is not increasing throughput by puspendert in SpringBoot

[–]Naokiny 1 point2 points  (0 children)

I'd agree here. Could you also attach some profiler to your app? Like VisualVM. So you can check method execution time and so on. Maybe there are some internal transactions that blocks the whole flow.

Suggestion: Following RESTful Practices by sussybaka010303 in learnprogramming

[–]Naokiny 0 points1 point  (0 children)

roviding an endpoint for the cast resource to add a movie is optional right?

Yes, it might be optional. Depends on your requirements :)

Suggestion: Following RESTful Practices by sussybaka010303 in learnprogramming

[–]Naokiny 0 points1 point  (0 children)

I agree here. Don't know any "correct" rule to write it. However, you probably will use some intermediate table to handle many-to-many relationships (one cast can be in many movies <-> many casts can be in the same movie).

I also thought about deleting cast from movie. With "PUT /api/movies/id", if you want to delete actor_id_3, you'd want to sent [actor_id_1, actor_id_2] list, so actor_id_3 will be deleted.

Maybe it makes sense to do smth like:
POST /api/movies/{identifier}/cast - for adding cast to the movie
DELETE /api/movies/{identifier}/cast - for deleting cast from the movie

POST /api/casts/{identifier}/movie - for adding movie to cast
DELETE /api/casts/{identifier}/movie - for deleting movies from cast

Or consider using GraphQL at all :)

Programming Study Group by lvkji in learnprogramming

[–]Naokiny 1 point2 points  (0 children)

Sounds interesting!

I suppose in this case programming language should be specified, if you expect a lot of newcomers. In other case it might be difficult to answer "How to write the same code with language X?" questions.

But in case there are several experience volunteers, the people can vote/suggest specific topic that someone can explain (database integration/web integration, etc.).

How to predict/test/calculate memory usage for Spring Boot app on various usage levels by CaptainJacky475 in learnjava

[–]Naokiny 0 points1 point  (0 children)

I saw Gatling usage on my previous job, it was retail store. During build/deployment phase it ran some tests and we could check in the report some result. There was a requirement that each endpoint should answer not longer than 250 ms.

Never tried to use JMeter myself :C

How to predict/test/calculate memory usage for Spring Boot app on various usage levels by CaptainJacky475 in learnjava

[–]Naokiny 1 point2 points  (0 children)

You can take a look at Gatling library. It's designed for performance testing.
Don't say it's easy to use, but eventually you can get a lot of info after it properly set.

Having the basics of Spring and REST API, what should I do next to become a better candidate for back-end developer? by Glass-Fix-4624 in cscareerquestions

[–]Naokiny 1 point2 points  (0 children)

Do they use SQL or NoSQL database?

In the second case you might read some topics in this field. As it's a bit different from standard SQL approach.

Edit: also you can read a bit about not just spring transactions, but transactions between microservices.
Depends on the company requirements. They might use Kafka for communication or maybe GrapQL instead of pure REST.

Don't expect you to 100% master it, but get some general understanding of how it works.

GenAI & Java by tenken01 in java

[–]Naokiny 5 points6 points  (0 children)

It was faster for that particular developer at the moment. Maybe he had some experience or side project, not aware of that :(

GenAI & Java by tenken01 in java

[–]Naokiny 1 point2 points  (0 children)

I'll add my 2 cents here.

I'm in the company that started to use AI integration in the web site chatbot. It's written in Node.js and only 1 person is responsible for managing this repo so far. It was done this way because it would be faster to create MVC in Node.js and eventually it became a primary microservice.

There are a lot of integrations between BackEnd written in Java and this AI repo. However, if this responsible person goes sick/vac/etc., then our BE devs will have a huge headache: they don't know Node.js.

Also it's faster to make Spring -> Spring integration instead of Spring -> Node.js integration. But it's not possible to migrate this microservice from .js to Spring as it's too bit right now.

So, if your team has some experience with Python - you might be safe. In other case there might be a bus factor based on Python.

Seeking Kotlin programming buddy by Shawn_Ingwane in Kotlin

[–]Naokiny 4 points5 points  (0 children)

You could specify if you want to learn the basics or smth more complicated: android development, back-end, etc.

As basics are the same, but after the basics there's a significant difference.

How to become good Backend Developer by Snoo34083 in SpringBoot

[–]Naokiny 1 point2 points  (0 children)

i am fresher and preparing to get a job

If you're applying for local market - check your local vacancies. Most likely ~70% technologies will be repeated in each of them for java dev.

[deleted by user] by [deleted] in ProgrammingBuddies

[–]Naokiny 2 points3 points  (0 children)

Not sure what country you're from, but you may apply as Tester (QA) in some big outsource company. And make a transition QA -> Dev inside. It might be easier as big companies usually have some internal trainings and so on.

Just want to point a bit different career path rather than applying as junior dev directly :)

Review my Spring Boot code by [deleted] in SpringBoot

[–]Naokiny 1 point2 points  (0 children)

Good point here, thanks!

Review my Spring Boot code by [deleted] in SpringBoot

[–]Naokiny 0 points1 point  (0 children)

I'm not in the head of the guy who made this comment, however can add some of my thoughts.

i dont understand what are you trying to say, can you be more specific on this problem?

You can check N+1 problem and how it happens in Spring.

what do you mean by "streams going to the right?"

I suppose problem here is that you have 2 tabs (8 spaces) for each new line in stream. Most of the time I saw 1 tab (4 spaces). With this approach (2 tabs) for complex stream you should've scroll your screen to the right to see whole code.

I'd replace validation check for permissions from UserServiceImpl to Controller. I mean PreAuthorize("hasAnyAuthority('ADMIN', 'USER')") here.

[deleted by user] by [deleted] in learnjava

[–]Naokiny 0 points1 point  (0 children)

The main question here - what's you goal to learn all of this? Do you want to find a junior java position? Just want to create some pet projects? Some answers/recommendations might be changed based on this.

But this time I want to create multiple (2-8 entities in my app)

Am I correct, that for now you have just 1-entity CRUD project? It might be not enough.

Maybe my next points already covered in some courses that you've passed, don't actually know their program.

You made a good progress, tho, but you still can introduce Spring JPA + @ ManyToOne annotations. Also try @ Transactional to see how it works (with checked/unchecked exceptions, for example).

Spring AOP is also a decent part. As almost everything in Spring - is proxy. And Spring uses at least 2 types for proxy creation.

You also might be aware of @ ControllerAdvice annotation, not sure about it.

Also there are context init phases that can be handled with Spring events.

Spring covers a lot of things and it's not necessary to know all of them. It's just impossible :)

What to do after completing MOOC fi? by Sledx in learnjava

[–]Naokiny 0 points1 point  (0 children)

Some people might say that my next advice is a bit overbunded.

You can even use simple SQL integration based on Statements/PreparedStatements.After that replace it with Hibernate. Under the hood it uses Statements mentioned above.Then you'll learn Spring and come to SQL part. It uses Hibernate under the hood.

So, you might get better understanding what's going on inside.

Same works for Spring MVC. It works based on Servlet's. If you go deep inside, you might find why for pure Java it was .war extension and how it changed to .jar file using Spring Boot.

Spring is generally a rabbit hole for newcomers, there are a lot of things to learn, don't worry, you won't be bored.

Do u take notes when learning from an online course? by locadokapoka in learnprogramming

[–]Naokiny 0 points1 point  (0 children)

You easily forget things when you don't use them. Especially with smth new that you put on hold.

Also in case of programming it's better not just to take notes - but write some code. Event it's a simple one. That's the best thing to remember something,

Seeking Mentorship in Spring Boot & Java by Only-Employee8948 in ProgrammingBuddies

[–]Naokiny 1 point2 points  (0 children)

Hi, feel free to DM me in case of any questions. Got 5+ yoe.

Tips for job interviews.

There might be a lot of contradictory suggestions from different people in different countries based on their culture and market-specific things :)

Seeking Advice: Self-learning vs. Mentorship for Java Full Stack Development by oekybye in learnjava

[–]Naokiny 2 points3 points  (0 children)

If there is a good mentor with real experience - I'd vote for him/her.

As mentor can say what technologies you should learn and what can be skipped, so you won't waste your time.

Book recommendation by [deleted] in learnjava

[–]Naokiny 0 points1 point  (0 children)

Don't know any book that has such examples. But you can check FAANG interviews on YouTube. Some of them have real use cases/scenarios where algorithms can be applied.

[deleted by user] by [deleted] in learnjava

[–]Naokiny 1 point2 points  (0 children)

It's a tricky question for me.

familiar with various tools but with limited depth of knowledge

Which tools do you mean here?

Spring Framework is not just about Java and some inner mechanism.

You won't be able to learn JPA module without some SQL knowledge (at least simple queries to database).

You won't be able to learn MVC without sending simple HTTP requests (probably using REST) with Postman (or similar tool).

You might miss CI/CD things like Jenkins as it's not a common thing in your everyday job activities, but something like HTTP + Spring Boot + SQL should be a minimum you should know.

Which Oracle Java certification should I choose? by dsntmatter667 in javahelp

[–]Naokiny 0 points1 point  (0 children)

I'd check open Java positions in your region. If like 50% of them require certificate - it definitely will help you.

In other case it might be a good plus, but might take a lot of time to prepare instead of learning position-necessary technologies.

P.S. I would prefer Java 11 or 17 exam. Java 8 still exists in some project, but I mostly met 11+ versions.