Now that you know a little about Spring and JPA, what should you study and how to grow in the future? Are you studying design patterns to study design and just memorizing the patterns? I'll help you!
Correcting Mistakes Frequently Made by Junior Developers
Correcting common mistakes junior developers make when using Spring
Correcting misconceptions about dependencies/entities, etc.
Concept organization required for practical use (MSA, ACL, etc.)
Infrastructure/Network Concepts Needed by Backend Developers
How to write object-oriented code in a Spring environment (TDA, etc.)
Are you a junior developer looking for ways to grow? A notebook of mistakes for effective leveling up!
Junior developers who want to be good at development What should I study?
Have you ever had these concerns?
"What should I study now? What stack will help me learn?" "Should I delve into infrastructure? Should I learn Spring Security?"
Just learning the technology stack won't improve your "development skills"!
I'll help you avoid blindly buying books and studying just any technology or specific concept. Studying technology stacks like infrastructure (NoSQL, Message Queue, etc.) or Spring Security won't necessarily improve your development skills! This course focuses on practical, essential content, concisely explaining it in a short amount of time.
So, you learn things like this.
I'll help you correct common development mistakes made by junior developers, based on my experience reviewing code for many years!
Could you explain the difference between dependency injection and dependency inversion? Let me clear up some vague concepts I've memorized by rote.
I'll tell you why you need test code and why writing test code leads to good design.
Are you having trouble keeping up with the meeting? Let me summarize the concepts you need for practical work (MSA, ACL, etc.)
Juniors' worries I'll solve it for you.
Do you know what dependency inversion is?
...by inverting the traditional dependency relationship whereby higher layers (policy decisions) depend on lower layers (details), the higher layers can become independent of the implementation of lower layers.(From Wikipedia, " Dependency Inversion Principle ")
So, what does this mean? 🙄 An encyclopedic question-and-answer explanation that doesn't make any sense is not the answer! You need to know the exact concept so that you can explain it in your own words.
Over the years, I've met countless junior developers as mentors. And as I mentored them, I've often given them the same questions and answers. This led me to think it would be nice to have a dedicated course dedicated to this topic. This course is a compilation of common questions and answers I've received from junior developers as mentors .
The situation of most junior developers I've seen was like this.
You also have some knowledge of computer engineering.
You seem to have some knowledge of Spring.
You know how to handle JPA.
You've also read "Clean Code".
But I don't know what the next step should be. 🤷♂️ Still, with my spare time... I need to learn something, so I study NoSQL, Message Queue, and RDB, which are the infrastructure technology stacks used by companies, or learn new languages that are trending these days. Of course, I did the same!
If you are like this It will be especially helpful.
Someone who only studied computer engineering and joined the company, and needs to quickly learn development terminology used in the field .
Network / Infrastructure
Operational Terms / Development Terms
CI/CD / Kubernetes
NoSQL / MySQL
People who can't keep up with the meeting content because there are a lot of unfamiliar practical terms
Anyone who tried to memorize design patterns in order to study design
😂 Don't we all think this way?
I know the TDD/DDD theory is really cool, but I don't understand how to apply it in practice.
Those who are not receiving code reviews or do not have a mentor or mentor to help them grow within the company
Those who have only memorized Spring concepts mechanically
Have you ever wondered about the meaning of Spring annotations?
Anyone who wants to apply object-oriented code to Spring
Here are some essential tips for junior developers .
Making vague concepts clear
Are there concepts you know but struggle to explain? What is dependency inversion? What is an entity? What is a service? What's the difference between sequential and procedural programming? We'll help you understand these concepts, but explain them clearly.
Transfer of knowledge close to practice
Those damn TDD, DDD... they're great when you're learning them. I know they're fantastic theories, but how do you apply them in practice? More specifically, how do you apply TDD and DDD to the Spring Framework?
I've read many books and watched numerous seminars on TDD, but they mostly cover simple examples that are perfect for beginners. I'll show you how to apply it in practice .
Understanding, not memorization
If you're interested in design, have you ever tried to memorize design patterns in the hopes of learning more about them? Then, a thought suddenly arises: Are these example codes actually applicable in practice?
But as it turns out, what matters in design patterns isn't what the pattern looks like! It's understanding the dependencies and how you're weakening them !
After you finish learning, you can change like this!
You will learn what you need to grow in the future .
If you already know the content, you will be able to remember it by organizing it into something more practical .
You will be able to quickly understand what senior developers at your company are saying during meetings.
I have a little bit of an idea of what object-oriented code is.
You will learn why test code is needed and how to apply it.
You will be able to get the same satisfaction as reading 3-4 development books.
Reviews from offline students 💬
After attending the lecture, I was able to understand the definitions, etymologies, and meanings of terms I'd casually used and terms I'd heard but couldn't quite pinpoint. While this knowledge might not be a problem for development, it did encourage me to think about the behavior and roles of objects and the meaning of each layer, cultivating a more OOP-like approach to coding. The lecture explained the concepts I'd personally considered, from a junior perspective, in an easy-to-understand manner, making it more engaging and comfortable to listen to. Like me, I imagine many new junior backend developers often feel lost, unsure of what they don't know or how much they need to know. This lecture provided valuable guidance, helping me understand what I needed to learn and what I was missing. (Lee*Gyu)
This lecture is a great resource, covering areas I'd never really considered. As a junior developer, I've been wondering if I'm growing properly by doing the same thing over and over again at work. This lecture helped me gain a sense of direction. (Shin*ho)
When you first join a company, you often worry about how to develop properly and how to minimize mistakes. This course addresses these concerns and provides excellent guidance for junior developers to develop correctly. Beyond practical knowledge, it also covers topics junior developers have likely encountered and wondered about at least once, such as, "How should I design an object-oriented architecture?", "How should I distinguish between DTOs, VOs, and Entities in practice?", and "Do I really need to write test code?" You'll also learn frequently used terminology, which I believe will be invaluable for adapting to real-world work. I highly recommend this course to both junior developers new to the field and those looking to grow. (Lee Chan)
As a developer, this course was incredibly helpful in helping me master the core concepts of object-oriented programming used in my field. Even difficult concepts were well-illustrated, making them easy to understand. Furthermore, the simple explanations helped me remember the concepts for a long time after just one listen. (Sim*Cheol)
From a thorough perspective of the younger generation We will answer any questions you may have.
Prospective students, do you know the difference between sequential and procedural programming? If you're curious, watch the free orientation video to find out what you'll learn.
Once you understand the concept clearly, you'll see much more! We'll thoroughly address questions you might have from a junior perspective .
Correcting common development mistakes made by junior developers
We'll cover common convention mistakes made when joining your first company, what objects are, and what you need to keep in mind when writing object-oriented code. And to understand good design, we'll explore dependencies.
Using Spring in an OOP way
To learn how to use Spring in an OOP-like manner, let's examine a case where it fails to do so. We'll also explore what a service is essentially and how far each layer should be abstracted.
Why do we need to test?
People say you need test code, but you're not sure why writing test code leads to good design? Let me explain why testing is necessary from a more practical perspective. And I'll show you how to create natural-looking tests.
Organizing concepts needed for practical use
There's too much infrastructure knowledge surrounding Spring to get the job done right. When networking or infrastructure comes up in meetings, many people either struggle to understand the topic or just sit there blankly. Does that mean you need to open a textbook just to learn about infrastructure or networking? I'll summarize it for you, just to the level you need for practical work!
BONUS
We provide learning materials!
We provide approximately 20 PPTs, each containing approximately 15-20 pages, as learning materials for each class . Furthermore, no separate practice environment is required! The lectures are designed so you can study in just 20 minutes on the subway during your commute.
Growing as a developer I'd like to help!
Hello, I'm Kim Woo-geun ! 👋
I currently work at Kakao, and because I love creating, I'm always working on something after work. There's a saying, "A dwarf standing on the shoulders of giants." While I'm just a small dwarf, I strive to pass on my knowledge so I can help the giants grow. Having mentored numerous junior developers, I believe I can help you grow as well.
✅ Gold Prize in the General Category of the 2020 Open SW Developer Competition: National IT Industry Promotion Agency Award
Q&A 💬
Q. Is this a course that non-majors can also take?
This course assumes a basic understanding of computer science. However, since the required specialized knowledge is limited, you can easily take the course if you already have a basic understanding of Java, Spring, and JPA (the prerequisites), as well as the content below.
I know what a Hash and List are.
We know that asymmetric key encryption consists of a public key and a private key, and that the public key can be made public.
Q. You say you avoid detailed explanations of concepts, so what exactly are you trying to tell us?
I'll try to keep the concept explanations to a three-line summary. Of course, I'll explain the flow of complex concepts like MSA and OAuth. However, I won't delve into the specifics of OAuth's origins, background, and 1.0 and 2.0, as we'll likely be using 2.0 in practice anyway. And from a practitioner's perspective, they're more interested in what data is exchanged via API communication than in tokens and signatures.
I'll try to explain even the most minor terms that are difficult to ask about. For example, when I first joined the company, I didn't know the term CS " and was frustrated because I couldn't keep up with the meeting content. But what if you Google "CS"? It's not a single, unrelated term. It's really just 고객 문의 !
Q. There are many videos and blog posts explaining the concepts, so why should I take this course?
Yes, that's right. In fact, there are already so many great articles and videos on YouTube and blogs. However, it's far more common for junior developers to simply not know what they don't know. Perhaps you've just landed a job as a backend developer and find yourself stumped every time infrastructure or networking terms come up. So, you think, "Should I study infrastructure?" You buy a thick, expert-level book, completely oblivious to the content, and pore over it without understanding it. Isn't that incredibly inefficient?
This course can be considered a starter pack to help you grow quickly. Furthermore, many blog posts contain college-level content written on Tistory, so there are many instances of misconceptions. For example, some blog posts even explain that DTOs are objects used to store data in a database using DAOs!
Q. What makes this course unique?
Most lectures don't seem to cover design. This lecture provides the lecturer's own definition of good design.
I believe the reason there aren't many design-related lectures is because knowledge-sharing professionals are hesitant. As you know, there's no set answer to good design. However, lecturers need to objectively convey accurate knowledge, so they instinctively avoid topics with no set answer. That's why design-related lectures often go so far as to revisit SOLID and design patterns step by step. I'll explain my own definition of good design, so please share your thoughts.
Q. If you can't define what good design is, how can you teach it?
Yes, since I can't define good design, the definition I give in this lecture is simply my own personal definition. However, I believe all non-fiction books and lectures are simply a process of listening to others' opinions and accepting them if they logically resonate with you. Still, I've tried to present this as objectively as possible, so if you find it convincing, please accept it. If not, I encourage you to redefine good design on your own.
📢 Please check before taking the class!
I don't provide detailed explanations of concepts. For example, when explaining Kubernetes, I don't explain each object or controller individually. I just explain, "This is how Kubernetes works in general, and these are the important things you need to learn."
Additionally, since I will be explaining several concepts in a compressed form, there may be compression loss .
Rather than providing detailed and accurate explanations, I will focus on explanations that are understandable even if they are slightly distorted! 😭
This course does not cover programming languages or Spring. It assumes that participants have a basic understanding of Java, Spring, and JPA.
While it's permissible to capture portions of the PPT and post them on your blog, sharing the entire material on a personal blog is prohibited. Thank you for your understanding!
Recommended for these people
Who is this course right for?
People who can't keep up with meetings because they don't know many concepts
Anyone interested in design
Those who have joined the company but don't know how to develop
For those of you who are wondering why we do tests
A person who has memorized the characteristics of springs mechanically
For those of you wondering if I'm handling springs correctly
New hires
Developers who want to grow
Need to know before starting?
Anyone who can understand Java code
Spring Basics (For those who know what Controller/Service/Repository are)
Anyone who has used JPA for a while
Hello This is
3,503
Learners
255
Reviews
47
Answers
4.9
Rating
2
Courses
(현) 카카오 백엔드 엔지니어
(수상) 🏆 공개 SW 개발자 대회 [2020 일반부문 / 금상_정보통신산업진흥원장상]
현재 카카오에서 일하고 있고, 만드는 것을 좋아해서, 퇴근 후에도 항상 무언가를 개발하고 있습니다.
"거인의 어깨 위에 선 난쟁이"라는 말이 있습니다. 저 역시 한낱 작은 난쟁이일 뿐이지만, 올라탄 거인의 성장에 도움이 될 수 있도록 지식의 대물림을 위해 노력하고 있습니다. 다수의 주니어 개발자분들을 멘토링 한 경험이 있어서 여러분의 성장을 도와줄 수 있을 거예요.
깃허브 > https://github.com/kok202 블로그 > https://kok202.tistory.com
Khóa học này giống như một bước nhảy vọt về mặt phát triển kỹ năng.
Ngay cả khi những người kỳ cựu làm cùng một công việc, họ vẫn tạo ra những kết quả khác nhau với kiến thức sâu hơn và góc nhìn rộng hơn.
Tôi nghĩ đây là điều đáng sợ về kỳ nghỉ hàng năm.
Bài giảng này truyền đạt kiến thức và kỹ thuật có thể được tích lũy qua một thời gian dài kinh nghiệm.
Tôi vui lòng giới thiệu những thông tin và kỹ thuật có giá trị được tích lũy qua nỗi ám ảnh dai dẳng của người hướng dẫn về sự phát triển và nhiều kinh nghiệm khác nhau cho những người mới bắt đầu như tôi.
Lần đầu tiên nhìn thấy nó, tôi đã rất ngạc nhiên trong suốt bài giảng.
Những khái niệm tưởng chừng mơ hồ giờ đây có thể được giải thích bằng lời,
Khi tôi nghiên cứu và áp dụng hướng đối tượng nhiều hơn và refactor theo hướng dẫn, cấu trúc của dự án trở nên rõ ràng hơn.
Khi mới xem bài giảng, tôi chưa có nhiều kinh nghiệm nên chưa thể áp dụng những điều Thầy giảng theo nhiều cách khác nhau.
Sau đó, bài giảng này xuất hiện trong đầu tôi khi tôi đang thực hiện một dự án mới.
Sau khi xem lại bài giảng và áp dụng những thông tin được cung cấp, tôi cảm thấy mình đã nghĩ ra được một đoạn mã được cải thiện vượt trội so với trước đây, người cố vấn dự án của tôi và các thành viên trong nhóm đều khen ngợi tôi đã đọc mã và nói rằng nó rất tốt. -viết.
Tôi nghĩ bài giảng này là bài giảng mở rộng tầm nhìn của bạn.
Nó không chỉ đơn giản là sửa chữa sai lầm và tiếp thu bí quyết cũng như kiến thức của một chuyên gia.
Tôi nghĩ đây là một bài giảng có giá trị dạy cho bạn những lựa chọn khác nhau mà những người mới bắt đầu không thể nhìn thấy khi đưa ra lựa chọn.
Mã mẫu BAD quá giống với mã của tôi 🫣
Bằng cách nào đó, tôi đang tự mình xây dựng một máy chủ trong một môi trường không bị giới hạn, nhưng tôi muốn thực hiện bước tiếp theo, nhưng tôi hơi lạc lõng 😮💨
Tôi không thể tìm được đường đi, nhưng sau khi nghe bài giảng, tôi cảm thấy như mình có được phương hướng nào đó. Cảm ơn bạn rất nhiều 👍🏻
Mong thầy đăng thêm nhiều bài giảng về thiết kế 🙏🏻
Đó là một bài giảng rất hữu ích đối với tôi.
Trong khi tôi bắt đầu nghĩ về thiết kế tốt, thật tuyệt khi ít nhất dạy tôi những điều không nên làm. Ngoài ra, tôi nghĩ đó là một khóa học tốt hơn vì bạn đều trích dẫn nguồn cho mỗi trích dẫn để bạn có thể tìm hiểu về nhiều cuốn sách hay.
Giọng điệu của bài giảng và cách trình bày rõ ràng nên tôi rất thích nửa sau của bài giảng khi có nhiều thuật ngữ được giải thích.
Cảm ơn bạn rất nhiều vì đã tạo ra một khóa học tuyệt vời như vậy!
Tôi nghe rõ lắm.
Thật tuyệt vời khi được nghe những quan điểm khác nhau về các vấn đề mà tôi quan tâm ở ranh giới giữa lý thuyết và thực tiễn.
Đặc biệt mình phải học dưới góc độ của một Junior Developer nhưng nó ném ra những từ khóa hay để nghe khi chưa biết học gì nên xem đi xem lại nhiều lần mới nhớ được. các khái niệm.
Tôi là một nhà phát triển với 6 năm kinh nghiệm.
Tôi nghe nó vì tò mò, và khi tôi nhìn thấy nó,
Lời khuyên thực sự hay, phần tôi còn thiếu
Có rất nhiều bài giảng rất hữu ích.
Cảm ơn