
코딩으로 학습하는 GoF의 디자인 패턴
백기선
디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 수 있습니다.
Basic
디자인 패턴, Java
Tìm hiểu “Java hiệu quả”, công cụ học Java tối ưu, dễ dàng và đầy đủ hơn. Khi tham gia khóa học này, bạn không chỉ nâng cao kiến thức và kỹ năng lập trình Java mà còn cả khả năng học tập của mình.
Các kỹ thuật Java liên quan đến việc tạo và hủy đối tượng
Cách ghi đè chính xác các phương thức do Object cung cấp
Học cùng các nhà phát triển MS cao cấp!
Java hiệu quả với độ sâu phi thường ✨
Mọi nhà phát triển Java đều cố gắng nghiên cứu nó ít nhất một lần.
"Java hiệu quả", một cuốn sách mà không ai có thể chinh phục được
Khóa học này sẽ cung cấp cho bạn hướng dẫn đầy đủ.
"Effective Java 3/E" là một cuốn sách được khuyến nghị cho tất cả các nhà phát triển Java, nhưng nghịch lý thay, đây không phải là cuốn sách mà ai cũng có thể dễ dàng học được. Ngay cả để hiểu đúng mục đầu tiên, bạn cũng cần có kiến thức nền về "kiểu liệt kê", "mẫu flyweight", "phương thức tĩnh trong giao diện", "khung cung cấp dịch vụ" và "phản chiếu". Nếu không có kiến thức nền tảng này, sẽ rất khó để nắm bắt toàn bộ nội dung của cuốn sách. Mặc dù việc học chắc chắn là một thử thách, nhưng phần thưởng khi nắm vững từng chương thực sự đáng giá.
Hiểu rõ nội dung cuốn "Effective Java" sẽ giúp bạn nâng cao đáng kể kỹ năng và kiến thức, mở ra những góc nhìn mới. Ngay cả khi bạn đang học hoặc sử dụng các ngôn ngữ lập trình khác, cuốn sách này vẫn đáng để bạn cân nhắc . (Giống như tôi, tôi đã miệt mài nghiên cứu cuốn sách này, nhưng hiện đang làm việc tại Microsoft, sử dụng C# và PowerShell.)
"Java Hiệu quả" được chia thành năm phần. Bài giảng này, Phần 1, bao gồm Chương 2, "Tạo và Hủy Đối tượng", và Chương 3, "Các Phương thức Chung cho Tất cả Đối tượng".
Dành cho các nhà phát triển hoặc sinh viên gặp khó khăn với "Effective Java", hoặc những người muốn tìm hiểu sâu hơn, chúng tôi sẽ tóm tắt từng mục bằng mã nguồn và cung cấp kiến thức nền tảng để giúp bạn học từng mục. Việc học "Effective Java" của bạn sẽ thú vị hơn, dễ dàng hơn và bổ ích hơn rất nhiều.
Khóa học này không dành cho người mới bắt đầu hoặc người hoàn toàn mới bắt đầu lập trình. Khóa học dành cho các nhà phát triển đang làm việc với Java, các nhà phát triển đã hoàn thành các khóa học Java cơ bản, hoặc sinh viên muốn nâng cao kỹ năng thông qua các khóa học chuyên sâu, nâng cao. Nếu bạn đã tham gia khóa học sau hoặc hoàn thành một khóa học tương tự, bạn hoàn toàn có thể tham gia khóa học này. (Để biết thêm thông tin, vui lòng tham khảo Mục 0 - Giới thiệu về Khóa học.)
Khóa học này bao gồm 14 chủ đề được đề cập trong Phần 2 và Phần 3 của cuốn Effective Java, cung cấp 30 kiến thức nền tảng cho một phương pháp tiếp cận toàn diện. Effective Java cũng cung cấp mã nguồn bổ sung để giúp bạn hiểu những phần của cuốn sách không được đề cập trong văn bản. Phương pháp học được đề xuất như sau:
Bước 1
Tôi đã mua "Effective Java" làm sách giáo khoa và đọc một mục trước.
Bước 2
Tham gia lớp "Tóm tắt chính" cho mục tương ứng với "Hướng dẫn Java hiệu quả đầy đủ Phần 1".
Bước 3
Hãy tham gia lớp "Chiến lược hoàn hảo" tiếp theo và tiếp tục nghiên cứu những lĩnh vực bạn còn thiếu sót.
Bước 4
Nếu bạn sắp xếp những gì đã học được trên blog cá nhân và để lại liên kết trên bảng tin "Hỏi và Đáp", chúng tôi sẽ xem xét.
Mục 1. Xem xét các phương thức tĩnh thay vì các hàm tạo.
Mục 2. Nếu hàm tạo của bạn có nhiều tham số, hãy cân nhắc sử dụng trình xây dựng.
Mục 3. Đảm bảo các phần tử đơn lẻ có hàm tạo hoặc kiểu liệt kê.
Mục 4. Sử dụng hàm tạo riêng tư để ngăn chặn việc khởi tạo.
Mục 5. Sử dụng kỹ thuật tiêm phụ thuộc thay vì chỉ định rõ ràng tài nguyên.
Mục 6. Tránh tạo ra những đối tượng không cần thiết.
Mục 7. Giải phóng các tham chiếu đến các đối tượng bạn không còn sử dụng.
Mục 8. Tránh sử dụng chất hoàn thiện và chất làm sạch.
Mục 9. Sử dụng try-with-resources thay vì try-finally.
Mục 10. Định nghĩa lại phép bằng để tuân theo quy ước chung.
Mục 11. Nếu bạn ghi đè equals, hãy ghi đè luôn hashCode.
Mục 12. Luôn ghi đè toString.
Mục 13. Hãy cẩn thận khi định nghĩa lại bản sao.
Mục 14. Cân nhắc triển khai Comparable.
Tại sao chúng ta phải học? Tại sao chúng ta phải tốn thời gian và tiền bạc để cố gắng hiểu những khái niệm khó nhằn như vậy? Tôi tin rằng câu trả lời là "cải thiện kỹ năng của bạn". Khóa học này thể hiện cùng một phương pháp học tập mà tôi đã sử dụng khi học Spring và Java. Đầu tiên, hãy đọc, sắp xếp những gì bạn hiểu và những gì bạn chưa hiểu, tóm tắt lý do cho bất kỳ nội dung nào khó hiểu, rồi sau đó tiến hành nghiên cứu sâu hơn về những lĩnh vực đó. Và rồi, việc nghiên cứu sâu hơn sẽ diễn ra, v.v.
Tôi tin rằng sự phát triển kỹ năng thực sự sẽ đạt được thông qua quá trình học tập này. Ban đầu có thể chậm và khó khăn, nhưng khi bạn hoàn thành Mục 13 và 14, bạn sẽ thấy sự khác biệt rõ rệt so với khi học Mục 1 và 2. Hãy tự mình trải nghiệm. Nếu bạn không cảm thấy bất kỳ thay đổi nào về kỹ năng hoặc kiến thức sau khi kết thúc khóa học này, vui lòng yêu cầu hoàn tiền. Tôi sẽ hoàn tiền 100% cho bạn, bất kể lý do gì.
Khóa học này dành cho ai?
Tất cả các nhà phát triển sử dụng Java trong lĩnh vực của họ
Nhà phát triển hoặc sinh viên muốn thành thạo Java
Các nhà phát triển hoặc sinh viên muốn học Java hiệu quả một cách hoàn thiện hơn
Cần biết trước khi bắt đầu?
Khái niệm cơ bản về Java (Phải đọc Tập 1 của The God of Java, The Standard of Java và Head First Java)
Java: Java 8
Java: Nhiều cách hơn để thao tác mã
Các mẫu thiết kế đã học được thông qua mã hóa
92,399
Học viên
4,232
Đánh giá
2,010
Trả lời
4.8
Xếp hạng
20
Các khóa học
네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.
아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.
유튜브: '백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발
Tất cả
74 bài giảng ∙ (12giờ 52phút)
Tài liệu khóa học:
Tất cả
111 đánh giá
4.9
111 đánh giá
Đánh giá 15
∙
Đánh giá trung bình 4.9
5
백기선님 강의의 가장 큰 특징이자 장점은 문제에 대한 정답만을 제공하는 것이 아닌 그 문제를 해결하기 위한 방법을 찾고 선택하는 안목을 배울 수 있다는 것이라고 생각합니다. 대부분의 백기선님 강의 중에서 기선님이 실수하는 순간이나 예상치 못한 문제를 만나서 방법을 모색하고 디버깅으로 문제를 해결하는 것을 편집 없이 보여주는 부분은 저와 같이 라이브 코딩을 하는 느낌도 나고 기선님이 어떻게 문제를 바라보고 해결하시는지에 대한 시각을 볼 수 있어서 좋았습니다. 제가 개발을 접한지 얼마 안됐을 때에는 단지 스프링 개발자가 되고 싶다는 막연한 꿈만 갖고 있었습니다. 스프링이라는 기술이 어떤 문제를 해결해주기 위해서 만들어졌고 우리 개발자에게 어떤 가치를 제공해 주면서 이런 큰 인기를 끄는지 알지 못한 채로요. 하지만 2년전 우연찮게 유튜브에서 백기선님 유튜브를 접하게 되고, 인프런에서 첫 REST-API 강의를 시작으로 지금의 이펙티브 자바 강의에 이르기까지 쭉 기선님의 강의와 유튜브를 보면서 개발자로 살아가는데 기술이 전부가 아니구나를 깨닫고 반성하며 스프링처럼 변화하는 수 많은 기술의 근간이 되는 변하지 않는 근간의 기술과 지식을 중점적으로 학습하고 있습니다. 강의 분위기를 잠깐 얘기해보자면 과거에는 다소 딱딱하면서도 약간의 친절하지 않음이라는 느낌을 받았고 이러한 점은 민감하게 반응할 사람들이 꽤 있겠구나라고 생각을 했었지만, 현재는 전체적인 강의 분위기와 강의 퀄리티도 많이 향상되었다는 점을 크게 느끼고 있습니다. 최고입니다. 마지막으로 백기선과 유튜브와 인프런으로 소통을 해온지 2년이 된 올해에 취직이 되어 행복한 회사 생활을 보내고 있습니다. 제가 개발자로서 살아가는데 정체성을 갖추고 공부하는 법을 깨닫도록 도와준 백기선님과, 이런 명품 강의를 손쉽게 접할 수 있게 도와준 인프런에게 정말 감사드립니다! 앞으로 더 좋은 강의와 좋은 서비스를 기대해보겠습니다!!
안녕하세요. 강낭콩님 좋은 소식을 들으니 기분이 좋네요. 제 강의가 조금이라도 도움이 되었길 바라며 앞으로도 계속 개선해 나가겠습니다. 감사합니다.
Đánh giá 205
∙
Đánh giá trung bình 5.0
5
100페이지도 안되는 책 내용을 약 13시간 분량에 핵심정리와 완벽공략으로 자세히 설명해주시는게 좋았습니다. 책을 한번 보고 나서 강의를 수강하니 강의 볼 때 이해도 더 잘 됐고, 혼자서 책을 여러번 본다고 하더라도 기반 지식이 없는 상태라면 이해하지 못할 내용을 책에 대한 설명과 책에서 다룬 키워드에 대한 설명을 나눠서 해주셔서 이해하는 데에 많은 도움이 되었습니다. 다만 아쉬웠던 점은 강의 내내 강의PPL이 많아 집중이 깨질 때가 있었습니다. 더자바 시리즈와 디자인 패턴 강의에 대한 언급이 많은데 영상마다 강의 언급이 많다면(그만큼 해당 강의들이 사전지식으로써, 참고할 내용으로써 중요하단 뜻임은 이해하고 숙지하고 있습니다.) 스프링 프레임워크 핵심 기술 강의와 같이 강의소개, 강사소개를 나눠놓은 것 처럼 본 강의와 연관된 기선님의 기존 연관 강의 설명하는 영상을 따로 만들어서 설명하고, 강의에서는 학습 내용만 설명해주시는게 어땠나 싶습니다. 복습할 때도 좋고, 학습하는 데에도 좋고, 강의 연관도를 참고하는 데에도 많은 도움이 되는 방법이라 생각합니다. 단점으로 작성한 내용에도 불구하고 다음 강의가 출시된다면 무조건 볼 예정입니다. 앞으로도 좋은 강의 부탁드립니다^^
피드백 감사합니다. 제가 생각해도 초반에 다른 강의 언급이 조금 많았던 것 같습니다. 다음엔 조금 더 신경 쓰겠습니다.
Đánh giá 7
∙
Đánh giá trung bình 4.9
5
기선님 강의 스타일은 다른 인강처럼 딱딱한 느낌보다 웃고 실수도 하시는 장면도 가끔 있어 현강인 느낌인 것 같아 좋습니다. MS 개발자도 저런 실수를 하다니 로봇이 아니고 사람이구나 느낍니다. 🤣🤣🤣 기선님 강의를 많이 들어봤지만 이 강의는 기본 선수지식들이 당연한 베이스로 깔고가다보니 이보다 어려운 강의는 없는 것 같습니다 (다른 강의들 홍보도 하시지만 해당 내용을 맛보기로 상기시켜주시니 부족한 부분은 해당 목차보고 수강생들이 판단해서 들으면 될 것 같아요) 이펙티브 자바가 번역서이다보니 쉽게 와닿지가 않는데 한 번 더 번역해주는 느낌으로 편하게 다가올 수 있었습니다. (그래도 어렵지만..) 옛날에 찍으셨던 강의들과 다르게 Question을 던져주고 Answer를 답해주는 방식이 좀 더 많아서 더 깊게 생각해보고 할 수 있는 시간이였던 것 같습니다. 이런 스타일 너무 좋습니다!! 완강했을 때까지 변화를 못느꼈다면 100프로 환불이라니까 모두 들어보세요. 기선님이 자신 있으신 이유가 있습니다. !! p.s) 다음 부작은 언제 나오나요?
2부는 올해 (2022년) 여름으로 계획하고 있습니다. 피드백 감사합니다.
Đánh giá 11
∙
Đánh giá trung bình 5.0
5
어떻게 보면 실무를 하며 자바의 특성을 제대로 알고 사용해야 함에도, 늘 사용하는 방법대로만 쓰다 보니 계속 퇴보하는 느낌이 들어 다시 한번 공부해 보려 하던 차에 기선님의 강의를 만났습니다. 디자인 패턴, 리팩토링과 함께 보고 있습니다. 기선님 강의가 실무에서 쓰이는 영역과 접목이 되는 부분들도 많고, 필요한 배경 정보도 함께 전해주시다 보니 지식을 확장해 나가는데 많은 도움이 되는 것 같습니다. 그리고 특히 좋은 부분은 정해진 틀에서 진행하는 것이 아니라, 생(Live)로 발생하는 문제들도 같이 해결해 가는 과정들도 좋은 경험인 것 같아요. 이펙티브 자바는 예전에 책으로 한번 도전을 했다가 그냥 진도만 나가고 제대로 소화하지 못했던 경험이 있습니다. 책으로 읽을 때 딱딱하고 이해 가지 않는 내용들이 많았는데, 책에서는 접할 수 없었던 지식의 행간을 기선님을 통해 채워 나가는 것 같습니다. 특히 예전 유튜브 공개영상에 비해 점점 구성이 더 좋아지는 것은 느낌적인 느낌일까요? 예전에는 라이브 코딩이긴 했지만 집중하기가 힘든 면도 있었는데, 요즘은 중간중간 정리하면서, 생각해 볼 문제를 던져 주는 것도 지식을 정리하는데 도움이 되는 것 같습니다. 어려운 내용이지만 아이템별로 차근히 따라가면 많은 도움이 될 것 같습니다. 앞으로 남은 4 파트들도 기대하고 있겠습니다 :)
Đánh giá 4
∙
Đánh giá trung bình 5.0
5
자바 개발자 필독서로 꼽히는 이펙티브 자바, 옮긴이의 말에서 추천해 주던 백기선님의 이펙티브 자바 유튜브 강의가 중간까지만 있어서 항상 아쉬웠습니다. 백기선님이 꾸준히 강의를 내주시면서 '혹시 이펙티브 자바도 강의로 만들어주시지 않을까?' 라는 생각을 했었는데 실제로 강의로 만드신다는 이야기를 듣고 바로 구매를 하게 됐네요. 이전에도 이미 해당 책의 내용을 소개해 주시는 영상을 만드신 경험과 그동안 인프런에 꾸준히 강의를 만드신 경험이 합쳐지면서 더 좋은 강의가 나오지 않았나 생각해 봅니다. 강의에서 중간중간 나오는 질문은 놓치고 있는 부분은 없는지, 내가 부족한 부분은 무엇인지 생각할 수 있게 해주어서 좋았으며, 책에서 나오는 내용에 대한 것만이 아닌 개발자로서 고려해야 할 부분 또한 전해주시는 것도 좋았습니다. 그리고 이 강의와는 상관이 없을 수 있지만 강의를 녹화하시는 중간에 소스에서 오류가 났을 때 해당 내용을 편집하여 다시 진행하지 않고, 그 오류를 해결하는 과정도 같이 볼 수 있는 것은 많은 도움이 되는 것 같습니다. 비록 해당 강의만으로 모든 책의 내용을 전부 다루고 있지는 않지만 그만큼 이 책을 꼼꼼하게 살펴볼 수 있는 기회를 가지게 된 것 같습니다. 그리고 저의 경우에는 오히려 다음 강의가 나올 때까지 이 강의가 다루고 있는 부분만이라도 어느 정도는 이해할 수 있게 만들 시간을 가질 수 있을 것 같습니다. 백기선님의 강의/영상은 왠지 모르게 열정을 만들어 주시는 것 같습니다. 다음 강의도 그다음 강의도 항상 기대하고 있으며, 다음 파트가 나오기 전까지 백기선님이 만들어주신 이전 강의의 내용들도 다시 익히고 있겠습니다. 좋은 강의 감사합니다. ^^
오류 수정 부분은 호불호가 있어서 최근에 만드는 강의에서는 대부분 편집하고 깔끔하게 전달하려고 노력하고 있습니다. 나중에 오류난 부분만 모아서 유튜브에 올려볼 순 있겠지만 유료 강의에서는 그런 부분에서 민감한 분들이 많으셔서요. 피드백 감사합니다.
Ưu đãi có thời hạn, kết thúc sau 19:14:30 ngày
66.000 ₫
25%
1.850.280 ₫
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!