211020-1029_TIL
공부내용
- 자바 스프링부트 수업 (10.18 ~ 10.29)
- 웹 아키텍처
- 웹사이트 (기본적으로는 정적 웹의 형태)
- 웹어플리케이션 (정적 웹 서비스 + 동적 웹 서비스)
- WAS (Web Application Server)
- CGI (Common Gateway Interface) → 확장 CGI
- MVC 패턴
- Servlet : 클라이언트의 요청을 처리하고 결과를 반환하는 자바 기반의 동적 웹 프로그래밍 기술
- 서블릿의 주요 API 들 (javax.servlet, GenericServlet, HttpServlet, ServletRequest 등…)
- JSP (Java Server Page)
- HTML 코드에 Java 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구. JSP가 실행되면 서블릿으로 변환되어 웹 어플리케이션 서버에서 동작하며 필요한 기능을 수행한다.
- MVC Pattern (Model, View, Controller)
- JDBC (Java DataBase Connectivity) - 자바에서 DB 연결 프로그래밍을 하는 방법
- DBMS, JDBC API, JDBC Driver 설치 및 환경설정 필요
- redirect, forward를 이용한 JSP 페이지 이동
- Session Management
- JSP Tag
- 기본형식 <% … %>
- JSTL (JSP Standard Tag Library)
- JSTL core, header 추가 후 <c: … ></c: …>
- EL (Expression Language) ${…}
- WAR (Web Archive) : 웹 어플리케이션 배포를 위한 아카이브 압축파일 형식
- Spring Framework
- POJO (Plain Old Java Object) - 특정 인터페이스에 종속되지 않는 오래된 방식의 간단한 자바 오브젝트
- JavaBean - 데이터를 표현하는 것을 목적으로 규약에 따라 작성된 클래스 (생성자, private 멤버변수, public setter()/getter())
- Springboot with JPA
- ORM (Object Relational Mapping)
- MyBatis
- JPA (Java Persistence API) - ORM을 사용하기 위한 자바 API 규격. 반복적인 CRUD 작업을 생략시켜줌
- ORM (Object Relational Mapping)
- Lombok 라이브러리
- Spring Boot Controller
- POJO (Plain Old Java Object) - 특정 인터페이스에 종속되지 않는 오래된 방식의 간단한 자바 오브젝트
- 회원관리 프로그램 작성 실습
- 웹 아키텍처
평가
플레이데이터 ‘영상처리를 위한 인공지능 SW 개발자 양성과정’에서의 마지막 수업과정이 끝났다. 아직 마지막 프로젝트 준비를 위한 1개월의 시간이 남아있지만, 수업들은 끝난 지금 되돌아보면 5개월이라는 시간동안 파이썬 기초에서 시작해서 CLI 프로그래밍부터 GUI 프로그래밍, 플라스크 웹프레임워크, OpenCV를 이용한 영상처리, numpy, pandas, matplotlib, seaborn을 활용한 데이터 전처리와 시각화, 머신러닝 이론부터 scikit-learn을 통한 학습 실행 및 딥러닝, 그리고 자바를 이용해서 웹서비스 개발까지 정말 방대한 내용들을 배웠다.
짧고 빠르게 방대한 내용들을 배우다보니 아직도 많이 부족함을 많이 느낀다. 수업내용 외에 스스로 다른 내용들도 추가로 공부를 했고, 코딩테스트 연습도 했으니 절대적인 공부량은 부족하지 않았다고 느끼는데 노력에 비해 깊이가 부족한 것 같은 부분들이 아쉽다. 어쩌면 그런 부분들을 보완하라고 남은 1개월의 자유 공부 / 프로젝트 기간을 주는 게 아닌가 싶다.
솔직히 파이썬을 통한 머신러닝 과정만 배워도 부족한 와중에 자바는 왜 배워야되나 싶기도 했다. 교육과정이 거의 끝나가는 마당에 갑자기 최종 프로젝트에 쓸 것 같지도 않은 자바를 배우다보니 공부 방향을 어디로 잡고 집중해야 될지 혼란스러웠다. 자바를 알아야 한국에서 개발자로 취업하기 유리하다고는 하지만 너무 쌩뚱맞은 것 같은 커리큘럼 때문에 플레이데이터 불만도 사실 좀 있었다.
그런데 2주의 시간이 지난 지금은 자바를 배우면서 얻은 것들을 오히려 되짚어보게 된다. 프로젝트 진행만이 남아있는 지금 시점에서 보니 기존 언어 외에 새로운 언어도 사용해본 경험이 아주 중요했음을 느낀다. 파이썬만 공부할 때는 알지 못했던 컴파일 언어의 구조나 pip 처럼 명령어 한 줄 입력으로 끝나지 않고 수동으로 진행해야하는 환경구축 과정을 겪어보니 앞으로 새로운 언어를 배우고 새로운 라이브러리, 패키지를 이용할 때 무엇을 예상해야 하는지 알겠다. 네트워크나 OS 공부가 필요하다는 것을 느낀 것도 덤.
아무튼 프로그래밍이 무엇인지 겨우 이제야 조금씩 감이 오는 것 같으니 앞으로는 스스로 더 깊게 원하는 분야로 파고들어갈 차례인가보다. 남은 한 달도 알차게 보내보자.
댓글남기기