
코딩으로 학습하는 리팩토링
백기선
리팩토링은 소프트웨어 엔지니어가 갖춰야 할 기본적인 소양 중 하나입니다. 이 강의는 인텔리J와 자바를 사용하여 보다 실용적인 방법으로 다양한 코드의 냄새와 리팩토링 기술을 설명하고 직접 실습할 수 있도록 준비했습니다.
Basic
리팩터링, Java, IntelliJ IDEA
Learn “Effective Java,” the ultimate Java learning course, more easily and completely. By taking this course, you can improve not only your Java programming knowledge and skills, but also your learning ability.
How to make classes and interfaces easy to write, robust, and flexible
How to take advantage of generics and minimize their disadvantages
Microsoft Senior Developer, Baek Gi-seon
Effective Java with extraordinary depth 🚢
Every Java developer tries to study it at least once.
"Effective Java," a book that no one can conquer
This course will give you a complete guide.
"Effective Java 3/E" is a book recommended to all Java developers, but paradoxically, it's not a book that everyone can easily learn. Even to properly understand the first item, you need background knowledge on "enumeration types," "flyweight patterns," "static methods in interfaces," "service provider frameworks," and "reflection." Without this background knowledge, it's difficult to fully grasp the book's content. While it's certainly challenging to learn, the rewards of mastering each chapter are truly remarkable.
Understanding the contents of "Effective Java" will significantly enhance your skills and knowledge, opening up new perspectives. Even if you study or use other programming languages, it's worth considering . (Just like I did, I diligently studied this book, but now work at Microsoft using C# and PowerShell.)
"Effective Java" is divided into five parts. This lecture, Part 2, covers Chapter 4, "Classes and Interfaces," and Chapter 5, "Generics."
For developers or students who find "Effective Java" challenging, or those who want to learn more thoroughly, we'll summarize each item with code and provide background knowledge to help you learn each item. Your "Effective Java" study will be much more enjoyable, easier, and more beneficial.
This course is not for beginners or complete beginners in programming. It's for developers working with Java, developers who have completed basic Java studies, or students who want to improve their skills through advanced, in-depth study. If you've taken the following course or completed a similar course, you're welcome to take this course. (For more information, please refer to Section 0 - Introduction to the Course.)
This course covers 14 topics covered in Parts 2 and 3 of Effective Java, providing 30 pieces of background knowledge for a thorough approach. Effective Java also provides additional source code to help you understand parts of the book that weren't covered in text. The recommended learning method is as follows:
Step 1
I bought "Effective Java" as a textbook and read one item first.
Step 2
Take the "Key Summary" class for the item corresponding to "Effective Java Complete Guide Part 1."
Step 3
Take the "Perfect Strategy" class that follows and continue to study the areas you are lacking.
Step 4
If you organize what you have learned additionally on your personal blog and leave a link on the "Questions and Answers" bulletin board, we will review it.
Item 15. Minimize access permissions for classes and members.
Item 16. In public classes, use accessor methods, not public fields.
Item 17. Minimize the possibility of change.
Item 18: Use composition over inheritance.
Items 19-20. Design and document inheritance. Otherwise, prohibit inheritance.
Item 21. Design interfaces with the implementer in mind.
Item 22. Use interfaces only to define types.
Item 23. Use class hierarchies rather than tagged classes.
Item 24. Make member classes static whenever possible.
Item 25. Keep only one top-level class per file.
Item 26. Do not use low type.
Item 27. Remove unchecked warnings.
Item 28. Use lists rather than arrays.
Item 29. If possible, make it a generic type.
Item 30. If possible, make it a generic method.
Item 31. Increase API flexibility by using bounded wildcards.
Item 32. Be careful when using generics and variable arguments together.
Item 33. Consider type-safe heterogeneous containers.
We provide a guide to help you study Effective Java more easily and thoroughly. It summarizes the core concepts introduced in Effective Java and provides detailed background knowledge necessary for a more complete understanding.
This lecture is the second in the five-part "Effective Java Complete Guide." Please take the first lecture before continuing.
Who is this course right for?
All developers who use Java in the field
Developers or students who want to master Java
Developers or students who want to learn Effective Java more thoroughly
Need to know before starting?
Java Basics (Must read one of the following books: Java God, Java Essentials, and Head First Java)
The Java: Java 8
More Java: Different ways to manipulate code
Design Patterns Learned Through Coding
Effective Java Complete Guide Part 1
92,400
Learners
4,233
Reviews
2,010
Answers
4.8
Rating
20
Courses
네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.
아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.
유튜브: '백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발
All
54 lectures ∙ (8hr 54min)
Course Materials:
All
34 reviews
4.9
34 reviews
Reviews 10
∙
Average Rating 5.0
5
유튜브 개발자 고민 상담 때 뵙고, 댓글로 질문을 작성했었는데, 정말 정성스럽게 답변해주시는 모습에 감동해서 더 개발자 가이드를 수강하고 있고, 포트폴리오 작성하는데 정말 도움을 많이 받고 있습니다.! 얼리버드 이벤트가 떠서 자바를 명확하고 정확하게 배우자라는 생각에 얼른 바로 수강하고 있습니다! 라이브 코딩 과정에서 어려운 부분이나 혹은 짚고 넘어가야하는 부분들을 상세하게 설명해주셔서 정말 감사합니다! 간혹 왜 final을 써야하는지, 접근 제한자를 왜 쓰는지? 헷갈리고 이해 안되는 부분이 많았는데, 강의 듣고 이해할 수 있었습니다.!!
Reviews 81
∙
Average Rating 4.9
Reviews 2
∙
Average Rating 5.0
Reviews 11
∙
Average Rating 5.0
Reviews 16
∙
Average Rating 5.0
$51.70
Check out other courses by the instructor!
Explore other courses in the same field!