잘하는걸 해서 먹고사는게 제일 좋다
개발자는 경험에서 우러나오는 표현을 제일 좋아한다
모르는 언어 물어보면 공부하고 있다고 해야함
Point
- mvc 모델1
- jsp 파일에 new 객체 생성이 들어가면 안됨
- request 객체에 담아서 전달해야 함
- mvc 모델2
- jsb 파일에서 전달 request 또는 session 객체에 저장해서 전달
- 정적 리소스(css,js,img,html...) 처리
- 동적 리소스(jsp 파일)
- 자바 코드가 들어가는 파일 (웹브라우저가 처리X)
- Spring(프레임워크)
- 로드 존슨이 개발
- EJB는 이제 필요없다, 봄이 왔다
- java는 무조건 Spring으로 천통
- 습득시간이 오래걸리는게 단점
- Maven: 배포툴(porm.xml) (vs Gradle: 안드로이드 개발시)
- 버전을 탄다(현업에서는 버전 3.대, 신규는 4.대, 학습용은 5.대)
- 스프링 질문 (외워야함)
- DI(dependency injection) 의존성 주입
- 인간과 심장의 관계 같은 것
(내장에게 의존하여 살아가는 인간)
(다이렉트로 생성하거나 함수로)
- new, 생성자 또는 setter 함수를 통해서 만드는것
- IoC(Inversion of Controll)
- 제어의 역전: 개발자들마다 말이 다르다
- 다이렉트는 완제품 pc, 함수는 조립pc 느낌
- IoC 컨테이너 = 스프링
(GenericXmlApplicationContext 같은것)
- 코드를 바꾸지 않고 환경설정을 바꾸는 쪽으로 코드를 짜면
서버관리자가 관리 가능하므로 유지보수 비용이 절약됨
- java 프로젝트 임포트 방법
- 라이브러리, 컴포넌트, 프레임워크
(개발자마다 말이 다름)
- jdbc 라이브러리, jstl 라이브러리
(.jar 파일 = 클래스들의 모임 = 특수한 목적을 가짐)
- 프레임워크는 라이브러리보다 큰 개념 (라이브러리의 모임)
- 특수한 목적이라는 것이 좀 더 큰범위
- 스프링,라라벨,jsp/servlet(=백엔드)
= vue,angular,react(=프론트엔드)
- 서버 프로그래밍 = 웹 프로그래밍
을 좀 더 쉽게 하기 위해서 .jar 파일의 묶음