How to solve simultaneity issues through inventory system

Learn what concurrency issues are and how to deal with them.

(4.8) 343 reviews

3,618 learners

Level Basic

Course period Unlimited

concurrent
concurrent
Spring
Spring
Java
Java
concurrent
concurrent
Spring
Spring
Java
Java

Reviews from Early Learners

4.8

5.0

seonjun Moon

100% enrolled

This is an hour long, but it's really informative because you get to touch Docker and try out all the different functions... and the feedback is also good... Who are you...?

5.0

hjin

28% enrolled

The entire lecture is about an hour long, but it is very well organized and informative!! It was difficult and tricky at first, so it was hard to understand, but I understood a lot after listening to this lecture. I only listened to synchronized, DB lock, and I haven't listened to Redis yet, but I'm looking forward to Redis!!ㅎㅎ Developers who are reading this review, listen because you only need to invest 1 hour!! Of course, the teacher explains for 1 hour, and what I do isn't 1 hour..ㅠㅠ However, I'm personally very satisfied with this lectureㅎㅎ Except for the small font, I liked that it explained the concurrency solution method in an easy and simple way~ Please make the next lecture short and bold, and make the font really big...^^

5.0

김태영

50% enrolled

It was a lecture that was like a cherry picker of the online lecture world, a lecture that was like a diet package that only contained the necessary things while removing the fat. It was a useful time to learn concurrency easily and quickly through simple examples. The text is a bit small.. ;ㅅ;

What you will gain after the course

  • You will be able to understand what the concurrency issues are.

  • You will learn how to handle concurrency issues.

Handling concurrency issues with confidence!
Learn step by step with a simple inventory system.

If you are a backend developer
Concurrency Issues You Must Know 🚩

Are you familiar with concurrency issues ? As a backend developer, you absolutely must be able to program with concurrency in mind. Starting a project without considering concurrency issues can lead to various problems, especially in situations where data integrity is crucial.

In this lecture, we'll explore concurrency issues and how to address them. We'll build a simple inventory system to explore concurrency issues and how to address them. This lecture is designed to be helpful for beginner backend developers just learning Java and Spring. Let's explore together!

Recommended for these people 💡

I have created a bulletin board, but I want to know what to consider for practical backend development.

For those who are curious about how to develop functions where data integrity is important, such as inventory


Solve it in 3 steps
Inventory system consistency issue!

The DB and actual product inventory numbers do not match.
What should I do?

Concurrency Issue

Problem Solving #1
Application Level

Solve problems at the application level.

Using the Synchronized keyword

Problem Solving #2
Database Lock

Let's control concurrency using the lock provided by the database.

  • Pessimistic Lock
  • Optimistic Lock
  • Name Lock

Use Pessimistic Lock

Problem Solving #3
Redis Distributed Lock

Let's control concurrency by utilizing the functions of Redis.

  • Library Comparison
  • Command practice using Redis Cli
  • Using Lettuce
  • Using Redisson

Lettuce, Redission usage


Check out the Q&A 💬

Q. I've now learned Java. Can I still take this course?

This course is recommended for those who have experience building a bulletin board using Spring. I recommend taking this course after first creating a bulletin board with Spring.

Q. Will this course help me address all concurrency issues?

Because each situation requires a different approach, it's impossible to handle everything. However, by learning what concurrency issues are and how to resolve them, I believe you'll be able to develop the skills to apply them appropriately.

Q. I'm currently developing using Node.js. Can I take this course?

If you understand Java, you can listen to it, as we don't use many Spring-specific features.

Recommended for
these people

Who is this course right for?

  • For those who are not sure what the concurrency issue is

  • If you know what a concurrency issue is but don't know how to solve it,

  • Anyone who has ever created a bulletin board using Spring

Need to know before starting?

  • Java

  • Spring

  • Spring Data Jpa

Hello
This is 169developer9973

5,849

Learners

478

Reviews

318

Answers

4.8

Rating

3

Courses

Hello. I am Sangyong Choi, your knowledge sharer.

I am a current backend developer with experience contributing to many open-source projects.

- Spring Data Mongo Contributor
- querydsl Contributor
- grpc-kotlin Contributor
- ksp Contributor
- mybatis Contributor

More

Curriculum

All

18 lectures ∙ (1hr 8min)

Published: 
Last updated: 

Reviews

All

343 reviews

4.8

343 reviews

  • sunjune18284435님의 프로필 이미지
    sunjune18284435

    Reviews 28

    Average Rating 4.7

    5

    100% enrolled

    This is an hour long, but it's really informative because you get to touch Docker and try out all the different functions... and the feedback is also good... Who are you...?

    • Seonjun Moon, thank you so much for your great review!

  • hzeen03012134님의 프로필 이미지
    hzeen03012134

    Reviews 7

    Average Rating 5.0

    5

    28% enrolled

    The entire lecture is about an hour long, but it is very well organized and informative!! It was difficult and tricky at first, so it was hard to understand, but I understood a lot after listening to this lecture. I only listened to synchronized, DB lock, and I haven't listened to Redis yet, but I'm looking forward to Redis!!ㅎㅎ Developers who are reading this review, listen because you only need to invest 1 hour!! Of course, the teacher explains for 1 hour, and what I do isn't 1 hour..ㅠㅠ However, I'm personally very satisfied with this lectureㅎㅎ Except for the small font, I liked that it explained the concurrency solution method in an easy and simple way~ Please make the next lecture short and bold, and make the font really big...^^

    • hjin, thank you for the very long review! I also found this topic very difficult when I first encountered it, so I wanted to explain it as easily as possible. I am very proud that you understood a lot through my lecture. As for the writing... I will try to make it bigger from the next lecture.

  • kimty931230634님의 프로필 이미지
    kimty931230634

    Reviews 7

    Average Rating 4.7

    5

    50% enrolled

    It was a lecture that was like a cherry picker of the online lecture world, a lecture that was like a diet package that only contained the necessary things while removing the fat. It was a useful time to learn concurrency easily and quickly through simple examples. The text is a bit small.. ;ㅅ;

    • Thank you, Taeyoung Kim, for the great review :) I wanted to give you as much helpful information as possible while keeping it brief! I will gradually increase the font size. Thank you for taking the class!

  • code4109님의 프로필 이미지
    code4109

    Reviews 3

    Average Rating 3.7

    1

    100% enrolled

    The topic is good. I bought it because I was attracted by the topic... After listening to it all, I think it's expensive compared to the depth of the content and the quality of the lecture. It was about 20,000 won, so I bought it with the intention of treating my colleagues to a nice meal and listening to their stories, but it would have been nice if it had been just a cup of coffee. First of all, the text is too small. It's too small. I think they only thought about people with large screens or such environments, but maybe they didn't think about it at all. It's too hard to look at on a 15-inch laptop. When the lecture starts and I try to follow along, it's hard to read the text on the screen, so I feel bad and want to stop listening to the lecture... And the explanations for each lock in the middle seem too simple. After listening to it, I think the tuition fee felt more expensive because I already knew everything. Also, when creating a facade instead of a service, it would be good if you could tell me why you use a facade instead of a service interface or class. Lastly, starting with NamedLock, none of the test cases work... The environment is the same and the code is the same, so why doesn't it work? Even when I downloaded the lecture source from github and ran it, it didn't work, so I just stopped learning.

    • Thank you for your honest review, code4109. If you could tell me which test code is not working on github, it would be helpful to other students. Could you tell me which test code is not working?

  • kanior님의 프로필 이미지
    kanior

    Reviews 1

    Average Rating 3.0

    3

    100% enrolled

    First of all, the class itself was very helpful. However, the class itself was not very informative or had a lot of content, so I had to look up the technologies and terms used and study them while listening. Above all, the text was so small that I couldn't read it unless I viewed it in full screen, so I felt that it was lacking in the basic aspects of a development lecture. In conclusion, I think it was a bit of a waste to pay 20,000 won. I would have been satisfied if you had lowered the price to around 10,000 won or increased the content in more detail. Again, the class itself was very helpful. Thank you.

    • Thank you so much for the detailed review, Kim. I reflected your feedback and increased the font size before re-uploading.

Similar courses

Explore other courses in the same field!