이 저장소는 '[엄진영의 코딩스쿨] 프로젝트로 배우는 자바 실전 프로그래밍'의 강의 예제 소스를 보관하는 곳이다.
이 강의의 핵심 목표는 개발 입문자에게 자바 프로그래밍의 실전 기법
과 개발 경험
을 전달하는 것이다.
이를 위해 우리는 간단한 프로젝트를 진행할 것이다.
이 프로젝트를 통해 자바 문법이 어떻게 실전에서 활용되는지 배울 수 있고,
과거에서 최근까지 약 20여년에 걸쳐 애플리케이션 아키텍처가 진화해 온 과정을 압축하여 경험할 수 있다.
예제로 진행할 프로젝트는 소규모 팀을 위한 '프로젝트 관리 시스템'을 만드는 것이다. 콘솔 입출력에서 시작하여 웹 애플리케이션, 모바일 웹까지 단계적으로 진화하도록 구성하였다. 각 단계마다 구현 목표가 있으며, 구현에 필요한 자바 문법과 기법들을 소개하였다.
프로젝트의 각 단계를 따라가다 보면,
자료구조
에 따라 데이터를 다루는 방법이나
리팩터링
을 통해 코드를 유지보수 하기 좋게 만드는 방법,
GoF의 디자인 패턴
으로 기능 변경이나 확장이 용이한 구조로 애플리케이션을 설계하는 방법 등을 배울 수 있다.
특히 단계적으로 기술이 진화해 가는 과정을 체험함으로써, 단순한 프로그래밍 역량 강화를 넘어서 더 빠르게 성장할 수 있는 토대를 마련할 것이다. 당장 시스템 유지보수에 투입될 예정인 신입 개발자라면, 앞으로 마주하게 될 다양한 구조의 시스템에 대한 대응력을 더 높이는 계기가 될 것이다.
- 자바 기본 문법을 공부중인 분
- 서블릿/JSP를 학습하였거나 학습하려는 분
- C/C++, Python 등 다른 프로그래밍 언어를 알고 있는 데, 자바 프로그래밍을 빠르게 배우고 싶은 분
- 자바 기본 문법을 공부하였는데 어떻게 응용해야 할 지 모르겠는 분
- 다양한 오픈 소스를 자바 애플리케이션에 개발에 적용하는 방법을 배우고 싶은 분
- 스프링 프레임워크 기반 프로젝트에 참여중이거나 참여할 예정인 분
- 자바 웹 애플리케이션 프로젝트의 유지보수를 맡고 있거나 맡을 예정인 분
- 웹 애플리케이션의 아키텍처나 스프링 프레임워크의 내부 구조가 궁금한 분
이 교육과정을 통해 다음을 배울 수 있다.
- 자바 언어에서 제공하는 각종 문법의 목적을 이해하고 활용하는 방법
- 기본적인 자료구조를 구현하고 활용하는 방법
- 리팩터링과 디자인 패턴을 적용하는 방법
- 스프링 프레임워크, 마이바티스 등 오픈 소스 프레임워크를 프로젝트에 적용하는 방법
- 애플리케이션 아키텍처의 발전 과정을 이해하고 구현하는 방법