BEST

Kim Young-han's Practical Java - Advanced Part 2, I/O, Network, Reflection

Learn I/O, networking, reflection, and annotations in depth, from the basics to the practical level. Build a web application server (WAS) directly in Java.

(5.0) 172 reviews

4,812 students

Java
Network
oop

This course is prepared for Basic Learners.

What you will learn!

  • I/O

  • Network

  • Reflection

  • Annotation

  • Chat program

  • Web application server

Ranked 1st in cumulative number of students enrolled in domestic development field
Kim Young-han's Practical Java Made Right

Just knowing Java grammar? That won't do!

Former Technology Director of Woowa Brothers, Cumulative Students Surpass 400,000
Why Kim Young-han created Java lectures

•••

“I wanted to create a proper Java course that would create proper developers needed for real work.”

Advanced Java programming skills with examples

So far, we have covered the basics of Java through Java Introduction, Basics, and Intermediate 1 and 2, and then learned multithreading, the first advanced technology in Java, through Java Advanced 1 .

In this "Advanced Java 2" , we will learn I/O, network, reflection, and annotations from the basics to the level required for practical work.

  • Java I/O (Java Input/Output)

  • Network

  • Reflection

  • Annotation

Kim Young-han's Practical Java Roadmap

This lecture is the sixth lecture of Kim Young-han's Practical Java Roadmap , and is intended for those who have learned the basic Java grammar and concepts and functions such as OOP (classes, generics, collections, data structures), and multithreading.

>> Introducing the Java Roadmap Guide to help you learn effectively and appropriately for your purpose .

The lecture "Kim Young-han's Practical Java - Advanced Part 2"

The importance of essential understanding

Rather than simply learning Java's syntax and features, we delve deeply into why those features are necessary and how they can be applied in practice.

A practical approach

Rather than simply conveying theories, it provides step-by-step understanding of the necessity of Java technology through illustrations and example codes that help understanding. In addition, through various examples, you can understand how each technology is utilized in practice.

Our goal is more than just grammar.

The Advanced Part 2 lecture is one of the lectures in the "Kim Young-han's Practical Java" series that has been released so far, and it is particularly focused on code and examples.

This lecture is structured so that you can utilize a wide range of content from Java basics to OOP and multi-threading through examples. As we spend a lot of time coding, we will vividly convey how the Java concepts you have learned are implemented and applied in actual code .

We will guide you to gradually solidify your understanding of Java and grow into a backend developer who can deeply design and extend code in practice.

In “Advanced Java 3”, which you will learn later,

The following "Kim Young-han's Practical Java" Advanced Part 3 (scheduled) is the last lecture in the Practical Java series. In Advanced Part 3, we will learn modern Java (Java 8+) focusing on lambdas, streams, and the latest features that are useful in practice, and aim to develop the capabilities that are essential for exploring best practices in actual practice.

Lecture Contents

  • Learn about character encoding, I/O basics and usage, and Files and Files.

  • It covers the basic theories for developing network programs, as well as resource management, exceptions, etc.

  • We will create an HTTP server, introduce reflection and annotation servlets, and then complete the member management service.

Understanding Java Input/Output (I/O) and Streams

Character encoding

Learn how computers store data, learn the difference between binary and character files, and even the history of character encodings like ASCII, EUC-KR, and UTF-8.

Java I/O Stream

You will learn the concept and usage of Java I/O streams, and learn about various performance optimization techniques using I/O streams. In addition, you will master the I/O you have learned so far through a member management program example.

Java Network Programming

Basic Communication Concepts Learned with Code

First, learn the basics of networking through the Internet and TCP/IP theory. Then, learn how to communicate between clients and servers through Java socket communication through code.

Implementing a chat client and server

You will learn how to implement Java networks by creating the clients and servers required for a chat program.

Create your own web server (WAS) and utilize reflection and annotations

Creating HTTP and Web Application Servers

Learn the basics of HTTP to create a web server and learn how to handle concurrent requests.

Afterwards, you will delve deeper into backend web development by building a web application server such as Apache Tomcat from scratch with Java code.

Reflection, from the basics to the use of annotations

After learning how to use reflection and annotations from the basics, we will finally develop our own membership management web program.

You will master the various Java technologies you have learned so far, utilizing all the I/O, network, web server, reflection, and annotations you have learned so far.

“Rather than thinking about what more I should teach, I thought more deeply about what absolutely must be known.”

In this 'Kim Young-han's Practical Java Java Roadmap', my goal is to create a capable developer who has solid fundamentals that are necessary for actual work. The fundamentals that are built over a long period of time become more valuable as time goes by. I hope that this lecture will serve as a foundation for you to easily and quickly absorb the numerous practical technologies that you will encounter in the field and grow into a developer who grows more enjoyably.

Recommended for
these people!

Who is this course right for?

  • Aspiring developer

  • For those who have studied Java but want to solidify their fundamentals

  • Developers who want to gain a deeper understanding of Java for practical use.

Need to know before starting?

  • Kim Young-han's Practical Java - Advanced Part 1 - Multithreading and Concurrency

  • Kim Young-han's Practical Java - Intermediate Level 1 and 2

  • Kim Young-han's Practical Java - Basics

Hello
This is yh

527,784

Students

32,821

Reviews

8,844

Answers

5.0

Rating

22

Courses

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

More

Curriculum

All

101 lectures ∙ (21hr 35min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

172 reviews

5.0

172 reviews

  • 김영빈

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    쩐..다....

    • 김영한
      Instructor

      경영빈님 짧지만 강한 수강평 감사합니다 ㅎㅎㅎㅎ

  • wisehero

    Reviews 53

    Average Rating 4.7

    5

    99% enrolled

    나는 바다와 신대륙을 탐험하기에는 너무 늦게 태어났으며 은하계를 탐험하기에는 너무 일찍 태어났다. 하지만 백엔드 개발자 커리어를 김영한의 도움을 받아 만들어갈 수 있는 시기에 태어났으니 운이 좋다고 할 수 있다.

    • 김영한
      Instructor

      wisehero님 재미있는 은유이군요 :) 응원해주셔서 진심으로 고맙습니다.

  • 개발머신

    Reviews 15

    Average Rating 4.6

    5

    88% enrolled

    마지막 "다음으로" 강의에 리뷰를 부탁드린다는 말씀이 있어서 남겨봅니다. 저는 비전공자 출신인데 21년도에 김영한님 강의에 큰 도움을 받고 k사에 입사할 수 있었는데요! (참고 : https://gona.tistory.com/71) 오래전 이야기 이네요. 벌써 4년차 개발자 입니다. 취준시절에 들을 때는 아무것도 모르는 초보자에게 참 쉽게 입문할 수 있게 가르쳐 주신다. 하지만 강의의 깊이는 신규입사자 정도 까지라고 생각했습니다. 강의의 레벨이 '입문' 혹은 '초급' 까지로 설정 되어있어서요. 그리고 실제 회사에선 강의 레벨보다는 훨씬 더 높은 레벨의 무언가가 있을 것이라 생각하고 걱정도 많이 했습니다. 이제는 실무를 경험하면서 강의를 듣고 있는데요. 내용이 실무의 레벨을 커버하고 있습니다. 이번 강의의 내용들도 제가 실무하면서 헷갈리고 고민했던 부분들인데 설명을 너무 쉽게 잘 해주셔서 놀랐습니다. 이걸 먼저 보고 이슈를 처리했다면 더 나은 방법으로 빠르게 처리했을 수 있을 것 같습니다. 저도 그렇고 연차가 3년 이상 정도 되시는 분들 취준생 대상 강의들은 안 듣는 경우가 많은데, 영한님 강의는 배경지식이 '입문과 초급' 이라도 이해할 수 있을 정도로 설명할 뿐이지 내용 자체는 "중급"이상의 주니어들의 실무에 큰 도움이 될 수 있는 강의로 생각됩니다. (정리하면 주니어분들 에게도 이 강의를 추천합니다) 좀 다른 얘기인데 회사내에 생각보다 개발을 재밌어하고, 계속 잘하려고 노력하는 사람은 정말 드뭅니다. 저도 열정이나 재미, 노력의 양이 입사때만 못 합니다. 회사생활하며 커뮤니케이션이나 반복업무에 지치고, 개발공부는 뒤쳐지면 안된다는 생각으로 관성으로 할 때가 많은데요. 진짜 참 재미없어질 때가 많습니다. 그런데 강의 중간중간 "개발 정말 재밌지 않나요?", "~~ 하는 것 재밌습니다" 라고 영한님이 말씀하실 때마다 속으로 '아 맞다. 나도 이런 부분 좋아해서 시작한 거였지' 같은 생각을 하게 됩니다. 그런 말을 듣다보니 저도 같이 다시 재밌게 느껴지기도 합니다.  그런 점에서 영한님은 회사에서도 정말 좋은 영향을 끼치는 개발자였겠구나 라는 생각이 듭니다. 아직 멀었지만 영한님같은 실력, 마인드를 가진 개발자가 되어야겠다고 생각하고 지향점으로 삼고 있습니다. 그런 분이 강의를 찍어주셔서 감사하게 생각하고, 제 개발인생에 많이 도움이 되고 있음을 알려드립니다 마지막으로 이번 강의도 매우 잘 들었습니다. 건강하시고 앞으로도 많은 영향력을 발휘해 주시길 바랍니다.

    • 김영한
      Instructor

      개발머신님 링크를 열어보니 되실 분이네요 ㅎㅎㅎ 사실 비전공자가 개발자가 되기 위해서 얼마나 준비해야 해요? 라고 물어본다면 저는 개발머신님 처럼 준비해야 한다고 말해주고 싶어요. 이렇게 수강평 남겨주신 덕분에 또 멋진 분을 알게 되네요 :) 개발머신님 즐겁게 공부하시고 또 크게 성장하시길 응원하겠습니다!

  • 개foot

    Reviews 46

    Average Rating 5.0

    5

    31% enrolled

    자바에 김영한님이 계시다는 것, 마치 수학에 ‘수학의 정석’이 있는 것과 같다고 생각합니다. ✨ 이번 강의에서 제가 항상 궁금하고 공부하고 싶었던 IO 스트림에 대한 내용을 다루어 주셔서 정말 좋았습니다. 🙌 이전에는 IO 스트림을 어떻게 접근해야 하고, 어떤 부분이 중요한지 혼자서는 감이 오지 않아서 어려움이 많았는데, 이번 강의를 통해 체계적으로 함께 공부할 수 있어서 정말 큰 도움이 되었습니다. 💡 앞으로도 이런 고급 주제를 다루어 주시는 강의를 기대합니다! 💻📚

    • 김영한
      Instructor

      개foot님 평소에 궁금하던 부분을 즐겁게 잘 학습하시는 모습이 너무 좋네요 :) 남은 과정을 통해 자바 기본기도 잘 쌓으시고 또 크게 성장하는 개발자 되시길 응원합니다!

  • javarunner

    Reviews 53

    Average Rating 5.0

    5

    18% enrolled

    • 김영한
      Instructor

      spring님 감사합니다 :)

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$53,900.00

30%

$59.40