JAVA

Java Web을 하기 전에 알아야 할 선행지식!

kth990303 2021. 1. 20. 18:54
반응형

안녕하세요.

저는 현재 Java를 이용한 웹 백엔드 개발자가 되고 싶어 JSP를 공부 중인 kth990303입니다.

 

여러분들이 이 글을 보고 계시다면 두 가지 케이스 중 하나일 겁니다.


1. kth990303의 설득으로 웹개발을 공부하려고 블로그를 보는 사람

2. 웹개발할 준비를 하려고 하는 사람


어떤 케이스든 간에 선행지식은 알고 웹개발을 했으면 좋겠습니다~

제가 처음에 아무것도 모르고 새내기때 웹개발하려 했다가 뭔소린지 몰라서 웹개발 공부를 보류했었거든요! ㅎㅎ.....

 


자바로 웹개발을 하기 위한 선행 지식이 뭘까?

사실 많은 요구사항은 없습니다만, 다음과 같은 선행지식이 필요합니다!

 

1. Java에 대한 기본적인 문법

2. HTML 문법

3. Javascript (이하 JS)에 대한 약간의 이해

 

이정도만 있어도 충분합니다.


보통 1번은 컴공 뿐만 아니라 공대라면 1학년 때 마치고 오는 기본적인 언어이죠~

(Java를 배웠으니 java 웹개발을 시도하지 않을까...??)

1번이 왜 필요한지는 따로 설명드리지 않아도 알 것입니다.

 

2번은 뭐냐? web을 구성하는데 사용되는 언어입니다!

여러분은 java 만으로 웹페이지를 만들 수 있으신가요? 아닙니다.

웹을 만드려면 웹서버도 필요하고, 웹서버에 연결하기 위한 라이브러리들이랑 적절한 웹 구성 언어도 익혀야 합니다.

따라서 html은 알고 계셔야 하며, js도 아주 약간은 알아야 합니다.


이런 분들은 javascript 먼저 공부하고 오시길 권장합니다.

  • Javascript를 한 번도 공부하지 않은 사람
  • Javascript에서 함수를 어떻게 만드는지 모르는 사람

이런 분들은 JSP를 공부하셔도 괜찮습니다.

  • 클로저에 대한 이해가 부족하여 jsp를 공부해도 될지 걱정인 사람.
  • call-back hell, 비동기처리에 대한 이해가 부족하여 걱정인 사람.
  • JS 이론은 알지만 코딩은 해보지 않아 걱정인 사람.

Html을 아예 모르는 경우는 조금 버거우시겠지만, js는 많은 지식이 요구되지 않으니 걱정마세요.

 


그럼 java 웹개발을 하기 위한 커리큘럼은 어떻게 될까?

아래는 fastcampus 올인원 패키지 중 하나의 커리큘럼입니다.

Fastcampus 자바 웹개발 마스터 올인원 패키지 커리큘럼

Java -> Spring ->Springboot -> JPA -> RestAPI -> TDD 순으로 공부하네요.

저도 뒷부분은 잘 모르지만, 아주 좋은 커리라 생각됩니다.

이 커리로 저도 공부할 예정이구요.

 

여기서 저는 조금만 더 추가하고 싶습니다.

21.03.11 수정. 공부하면서 느낀 점인데, Servlet, JSP를 굳이 배우지 않고 스프링으로 바로 넘어가도 괜찮지 않을까 싶습니다.


Java -> Servlet -> JSP -> Springboot + TDD -> JPA + RestAPI


Servlet으로 Java코드에 html코드를 추가하면서 Java문법에서 어떻게 웹서버를 이용하여 웹페이지를 만드는지,

쿠키와 세션에 대한 전반적인 이해, 

웹개발 코드는 java 문법에서 어떤 게 추가되는지 배우고,

 

JSP로 html 코드에 java코드를 추가하면서 (Servlet과 다른 점입니다.)

servlet에서 배웠던 것이 jsp에서 어떻게 달라지는지 활용하면 좋을 것 같습니다.

아무래도 JSP는 Servlet의 불편했던 점, 단점들을 개선하면서 만들어지다 보니, Servlet을 하다가 jsp를 하면 천국에 온 듯한 느낌일겁니다.

 

Spring은 java 웹 프레임워크.

Spring boot환경세팅을 더 편리하게 해주는 프레임워크입니다. Tomcat 설치, dependency 설치 (jar 파일 가져와서 낑겨넣기 등...) 굉장히 귀찮았죠? 

start.spring.io/

이 스프링부트 홈페이지에서 세팅을 클릭 몇번으로 1분 내외로 할 수 있다는점!

다들 spring boot 하세요. 스프링부트는 사랑입니다.

 

TDD는 테스트 코드를 개발하면서, 테스트하면서 개발하자는 것인데, 굉장히 중요한 점 동의합니다.

다만, 지금 공부단계여서 아직 언급할 짬은 아닌듯합니다 ㅠㅠ

 

 

설치 과정은 나중에 제가 2022년에 군복무를 마치고 전역할 때 노트북을 사면서 포스팅할 생각입니다.

저도 배우고 성장하고 있는 단계이기 때문에 많이 부족할 수 있습니다.

초보분들에게는 제 지식을 최대한 나누어주기 위한 봉사 자세로, 고수분들께는 배움의 자세로 임할 생각입니다.

피드백 및 조언은 언제나 환영입니다.

 

2022년에 설치 포스팅까지 작성할 때 쯤이면, 제가 웹개발을 얼마나 잘할지 기대되네요.

저도, 여러분도 모두 성장하는 뛰어난 웹개발자가 되길 기원합니다 :)

 

반응형