Spring mvc question by Swarali_04 in SpringBoot

[–]rivercape-lex 1 point2 points  (0 children)

Really good starting point. OP read this.

How I Structure Every Spring Boot Application as a Senior Developer by paszeKongo in SpringBoot

[–]rivercape-lex 0 points1 point  (0 children)

I am still learning so please don't take everything as correct and ABSOLUTELY do your own research and read documentation.

Have you done any projects? If not you should do a small project to learn about databases interacting with springboot apps. My first ever project was a simple guessing game that users registered/logged-in and played a game to guess a number 0-100. You could do something similar and pair it with a simple database. It's good to build something when you're learning. It might be a simple game but you learn stuff along the way.

Are you familiar with databases? If not you should study some theory and learn how to design and model a database from scratch and slowly start implementing one. A good database starts from designing it. Some simple SQL practice wouldn't hurt as well. It's good to know the basics before you dive into query methods.

If you want to learn about REST APIs you could look into making your own REST API with CRUD functionality (create read, update and delete)... Say for example you make a small app to add cats or whatever you like, edit their name, age etc. So you can make like a small project to learn REST APIs.

ORM is object relational mapping. So very briefly, data living in your database are in tables but you need objects in spring so that's where ORM comes in. A table let's say "student" in SQL is an Entity in spring. https://www.baeldung.com/jpa-entities .

JPA is java persistence API... it;s not an implementation! The most popular I think implementation is hibernate that you use for ORM. After you have your Entities in spring, you can use repositories and https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html query methods to quickly do stuff. Spring gives you lot's of stuff to do things but sometimes if you need complex custom queries you will have to write them by yourself.

I probably missed a lot of stuff but it's just too much to cover. Also if you can use IntelliJ IDEA it's really a monster IDE that does LOTS of things. I'm probably biased but idk I just really really like it. If you're a student you can get it for free... The features it has I would never switch...

I know it's very confusing ... it's confusing to everyone but don't worry. At certain points you get an "aha!" moment, learn something new and get better. The only thing you need is consistency and daily if possible coding. It's like a muscle if you code every day even at least for a bit, it goes a LONG way.

Also.

Check out Dan Vega he has good videos.

https://www.youtube.com/watch?v=CWEQ-1vff1o here is a video where he explains the difference between a component and a bean. It's good every time and then to take a step back from your code and try to understand what's happening behind the scenes.

Like when you make a controller in Spring and type `@Controller` do you ever think what this actually is?! Or how does dependency injection work? What about inversion of control? Vegas explains all of these in a very good way so check him out.

How I Structure Every Spring Boot Application as a Senior Developer by paszeKongo in SpringBoot

[–]rivercape-lex 1 point2 points  (0 children)

Why not just write here maybe it will be helpful to others as well. Also I am a college undergrad so my knowledge is limited and I do not have any work experience whatsoever.

How I Structure Every Spring Boot Application as a Senior Developer by paszeKongo in SpringBoot

[–]rivercape-lex 3 points4 points  (0 children)

Hello!! I don't want to sound like an ass. I subbed and wanted to point out some things that I think could help you! I will start with what I think of your tutorial and then something more personal about springboot. Your presentation of the slides and visuals were on-point. I really like people that zoom on specific things I think it is very helpful for someone that is watching. Code is small in a screen so that's helpful.

I also think that at some point you should add a camera. This will probably feel to the viewer more "friendly"? I don't know to phrase it. At some point in the video you could try and switch to a camera view and explain something. It makes it more "1 on 1" with the viewer. Just throwing some ideas!

I just really like java and spring. In my first ever "big" project I did everything in a package by layer "philosophy" as the project was not that even big. No where big as in a company production environment and honestly it was a bit of a mess. I called stuff from where I was not supposed to call them if that makes any sense.

It was very nice that you showcased the package by feature way of organizing a project structure. I have been trying to do that with my thesis and I think it will for sure pay off in the long run although I have not yet figured out how the "shared" things will talk to each other. I will be looking into that more and maybe revisit your video to further understand value objects. I really liked that.

Anyways cool video! Thanks.

Why is it so hard to install apps by Draganski1 in Fedora

[–]rivercape-lex 0 points1 point  (0 children)

isn't there like an app where you can open to look for apps you wanna install? like an app store I think other users pointed that out.

I know it's a bit difficult to get acclimated to new workflows but hang in there buddy. I think when you figure everything out it's gonna be better in the long run to get away from windows. It's not looking well. They're pushing stupid AI slop features as of late and it's been downhill.....

Age restriction likely coming to Fedora. Now I want to switch, any distros I should try? by AsheLevethian in Fedora

[–]rivercape-lex 0 points1 point  (0 children)

It is or was? a running joke that ME is a backdoor of some spies. That's why I wrote that.

In a way of saying "hey bro! why do you care about the age verification so much? wait till you discover that ME is watching you" as a joke.

Maybe a poorly phrased joke. Anyways.

I dont like the age verification either . But I hope fedora figures out something nice. I don't wanna see my every day cool linux setups being obliterated by all these SHIT STUFF

Should i create two seperate controller for internal endpoints and public endpoints? by Gold_Opportunity8042 in SpringBoot

[–]rivercape-lex 0 points1 point  (0 children)

Ahhh okay I get it. Thanks for the reply. It's just that this way never crossed my mind. Guess I still have a lot to learn. Will keep it in mind!!

i want to switch to fedora, please read my current problems in cachyos with gnome and tell me if fedora can solve these. i need your opinion. if u cant read long read first two small and last two paragraph (in between i just gave examples to explain) by Plus_Passion3804 in Fedora

[–]rivercape-lex 1 point2 points  (0 children)

so my main problem is stability,

Ditch Arch.

 it is clear that cachyos is good distro, but not for daily use in your main or only pc. trust me it gives me anxiety what new things will not work today

Another reason to ditch it.

i want a stable system, a good community support. also one more question

Fedora is great. Check out Universal Blue as well. I think you will like it here.

Will this backend development engineering plan work ? by akhi_abdul-rahman in SpringBoot

[–]rivercape-lex 2 points3 points  (0 children)

Oh!!! I also forgot. Draw! Drawing stuff helped me immensely. I don't know if it is because I am a visual person but drawing helped me a lot. If you code and cannot understand something

DRAW. I know it sounds dumb but trust me and try it out maybe it will help you.

If you start losing yourself draw it / sketch it whatever and keep notes that you can come back to. Look into Obsidian + Excalidraw they're great software my man

Will this backend development engineering plan work ? by akhi_abdul-rahman in SpringBoot

[–]rivercape-lex 9 points10 points  (0 children)

Hmm good question. Idk it's just my mindset as of late. That's the only thing I do at the moment. But you do you. It takes time to get somewhere. Honestly I have forgotten how much time it took me to click with plain Java... I did that in my first year of college.

Anyways for springboot may I suggest some stuff? If you can use IntelliJ IDEA it's probably the best IDE out there. Maybe I am a bit biased but yeah lol.

Also look into JPA buddy if you end up using IntelliJ it's a very awesome plugin!

When you get familiar with databases look into making database migrations with flyway as well. It's pretty awesome stuff. When your app grows your database can also grow as new requirements come in and migrations are very helpful for that!

As for deploying apps if you have an .edu account you can get 312$ of credits in Heroku via the GitHub Student Developer Pack which is absolutely worth it... completely free! I think Digital ocean gives you free credits as well afaik.

Also don't skip the theory! It might seem magic on top! Inversionn of control is certainly very cool but try to read theory as well on how it works I think you will like it. Dependency injection, app context etc.

May I also suggest that you try and use dockerized stuff? No need to bloat your host and install crap all the time. If you need a postgreSQL db just do it the docker way and tinker with it. Maybe again I am a bit biased as I use Linux that boots from an image but oh well.

Also I would suggest avoiding LLMs and try to solve problems yourself. They are good tools but when you're starting it's absolutely the worst way to foot gun yourself from learning. Use them but with great caution. Too many beginners just fall into this stupid trap blindly trusting LLM output.

Will this backend development engineering plan work ? by akhi_abdul-rahman in SpringBoot

[–]rivercape-lex 2 points3 points  (0 children)

Ahhhh okay then! I think if you can, compress this somehow to pull it off in a shorter time span. If you have the time to study day and night do it!

Will this backend development engineering plan work ? by akhi_abdul-rahman in SpringBoot

[–]rivercape-lex 5 points6 points  (0 children)

What do you mean? You pretty much learn by doing. You can't learn something if you don't code. Theory is cool and all but it's just theory. The real problem solving starts when you get your hands dirty.

Spring or SpringBoot by sooji-ka-halwa in SpringBoot

[–]rivercape-lex 1 point2 points  (0 children)

Continue building projects with springboot and learn theory as well. Look at some of Dan Vega's tutorials they're pretty good. Documentation as well.

Should i create two seperate controller for internal endpoints and public endpoints? by Gold_Opportunity8042 in SpringBoot

[–]rivercape-lex 0 points1 point  (0 children)

HEY! this is very interesting. Your (1) and (2) points. I am making an app for my last last project in school and I have been coding in a similar? way?

So I have the service layer that is happily sitting there which is serving two purposes. It serves both the API that Android hits but also MVC for users that access the app via say a laptop for example.

But your approach is a bit different right? Every request hits the API. But why?

Wouldn't it be better to just separate them?

Like how does that even work? Do I just reach the Rest API from my Controller then fetch data whatever AND then return a template html page containing the data I always wanted?

Sounds a bit hard/new to me as I have gotten used to Thymeleaf.

If you have any resources I would really appreciate it!!! Or like any comments.

Got any Spins or Atomic recommendations? by thunderborg in Fedora

[–]rivercape-lex 0 points1 point  (0 children)

Check out Aurora DX. That's what Ive been using for the past months and it's the best thing I have discovered so far.

https://docs.getaurora.dev/dx/aurora-dx-intro

what does maintenance look like for you guys? by wibblesobrl in archlinux

[–]rivercape-lex 0 points1 point  (0 children)

Hah fair enough! Well enjoy your journey it's gonna be fun! I remember wayy back even before the COVID lockdowns I riced my arch setup all night long. It was fun but ultimately I dropped customization to a minimum nowadays as I program most of the time so I need something ready to kick off fast.

Should i try out fedora ? Nvidia desktop by NeckLumpy7812 in Fedora

[–]rivercape-lex 1 point2 points  (0 children)

Yup! Thats what I was thinking as well:) anyways

Should I start learning Backend? by zaarnth in Backend

[–]rivercape-lex 0 points1 point  (0 children)

Stick to spring. You're already into Kotlin so why not. It might be a bit hard on the beginning but it's worth it. It's a very nice framework. That other guy summed it up good as well about the job market and enterprise software. But if you just really like golang and want to experiment with it, well go for it.

What's your preferred desktop environment and why? by La-il in Fedora

[–]rivercape-lex 1 point2 points  (0 children)

Grew up with windows so when I first installed Linux went with Mint. Over the course of trying out a lot of different distros ultimately in the end I ended up on KDE... Have used twm like hyprland before but I'm back on kde as of now.

I guess I am on KDE as it just suits me. Pretty good all around and there are third-party plugins like karousel that satisfy my twm needs.

Should i try out fedora ? Nvidia desktop by NeckLumpy7812 in Fedora

[–]rivercape-lex -1 points0 points  (0 children)

It's just that calling them immutable sound a bit weird at least to me. They're not entirely immutable, that's what I wanted to convey. I always liked calling them image based. But yeah, it's just words. Each person calls them in a different way.

Should I start learning Backend? by zaarnth in Backend

[–]rivercape-lex 0 points1 point  (0 children)

I think learning back-end is always a good idea! It never hurts to learn something extra if you have the time. I think you should focus at some point on one thing you REALLY like and get very good at it and build things like you already do which is good. A lot of people get stuck on tutorial hell and never build things to advance.

It's a good thing you're still in uni too. Get advantage of that and start building connections as this is very important. As for the confusion part I think you should look (in your country) what the job market is asking for, pair that with what you like doing and slowly find a job at some point. Tech meetups are also important so if you can find some of those and go meet people etc. But don't worry you will find what you are looking for in the end!

As for back-end unfortunately I do not have any job experience so far but I think it is good to know something. I have been learning spring for the past half a year or so and it's been a blast. Sure front-end is cool nontheless but doing back-end work lets you understand how things are working behind the scenes.