1) 객체지향 기본 개념
2) JAVA Syntax
3) JDBC(Java database connectivity)
- 자바 프로그램 안에서 SQL을 실행하기 위한 응용프로그램 인터페이스
4) Web Site(html/css/js...)
5) Web Application
6) Spring F/W
7) Spring Boot F/W
8) EJB(Enterprise JavaBeans)- 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델
9) OOAD(Object Oriented Analisys and Design)- 객체지향 분석 및 디자인
1) IT 기술의 변화 모토 → ①사용자 편의성 ②개발자 편의성(개발자 편의성 위주로 선택되어지고 개선되어 나감)
2) Program 기법 측면
- ① 50년대 절차중심적 기법(C, Cobol...) 명령어들의 나열, 순서(절차)
- ② 60~70년대 클라이언트 ↔ 서버(정보=data) : DB다루는 언어 SQL, ORACLE(DBMS)
- ③ 80년대 객체지향기법, reuse(재사용), 민첩ㆍ유연(빠른 속도로 처리하기 위해서 고안된 방법) // reuse란 소스코드를 가지고 오는게 아닌, 바이트코드를 가지고 오는 방법(.jar file)
- ④ 메모리에 garbage가 많이 쌓여있는데, 개발자는 잘 돌아가면 알 수가 없다. → 가비지콜렉팅이 계속해서 발생함 → 앱에 퍼지(Fuzzy:애매모호, 경계가 명화하지 않음) 발생 → 성능저하
- ⑤ 관념적 클래스(고객과, 개발자의 관계를 고려함)
- ⑦ 객체 = reuse의 최소 단위// component = 쉬운 reuse 단위
- ⑧ 2000년대 초반 CBD기법 발생
- ⑨ 2005년 TX(Transaction), Security, Persistent(안정성)
- ⑩ 스프링의 아버지 로드존슨, 자바의 창시자 제임스 고슬링, POJO(Plain Old Java Object = 오래된 방식의 간단한 자바 오브젝트라는 말)
- ① Functional 기법 : 자바스크립트, 파이썬(기능위주) ↔ 객체지향은 빠르게 재사용
- ② 구조적 측면
- ③ CGI → 웹서버 위에서 돌아가는 프로그램
- ④ Web Appliation → Web Site + CGI
- ⑤ Process → 자원공유 X, 일의 흐름(Process/Request) → Thread 기반 API 제공받음
- ⑥ Thread → 자원을 공유하는 일의 흐름
- ⑦ Netscape → NSAPI(Thread) // MS → ISAPI(Thread)
- ⑧ 플렛폼 독립에 아무도 관심이 없을 때 Sun에서 Servelt출시 Platform independent
- ⑨ JavaSE(Standard Edition) JDK 포함 JavaC compiler, JRE JAVA, JVM, .Jar, Classloader 엔진이 있음, Bytecode Verifier, Machine Code Generator → 인식되는 프로그램 JavaEE
- ⑩ 개발자 모임 Apache(Tomcat), Resin, JRun
- ⑪ 톰켓 등등 인터페이스의 집합 → 웹컨테이너(서블릿을 지원하는 구현 코드의 모음)
- ⑫ Servlet Process (1)요청분석 : if문/else if(비즈니스 코드) (2)Biz : 회원가입, 로그인 등(재사용 발생) (3)응답 : html 상에서 출력
- ① 자바환경에서 HTML비중 80% JAVA비중 20% → JSP(자바80, HTML20) → Model1 Architecture
- ② 요청분석 : 컨트롤러// html, jsp : view → MVC 패턴 Model2 Architecture(유지보수 편의성 때문에 개발됨)
- ③ Weblogic, Websphere, Jeus 유료(모니터링 기능, 여러가지 대쉬보드 등을 제공함) Web Application Server(WAS)
1) Struts 자바의 컨트롤러를 만드는 틀(Frame)을 말함 이 장치를 사용하면 최소 5배 이상 성능이 나빠짐
2) EJB 개념이 어려움, 사용은 쉬움(표준)
3) 스프링 버전 업그레이드 될 때마다 지난 버전과 호환이 잘안됨(표준이 안되어 있음), 대응능력이 있을 때 구축
4) 프로젝트 실패 : 기능이 안되는 경우는 거의 없고, 비기능(속도, 안정성, 확장성)에 의한 문제가 발생한다.
5) System(=Static멤버)
6) 안드로이드는 전기양의 꿈을 꾸는가! 필립딕(앤디루빈 1968년도 이 소설을 기반으로 안드로이드 제작함)
1) CDN : Contents Distance Network
2) 리액트 단계 : 하드웨어 → O/S → 웹서버 → NODE(Server JavaScript 엔진) → 컨텐츠 업로드
1) 2014년 10월부터 모바일 웹 사용자가 PC 사용자를 넘어섬
2) SUN 원래 하드웨어 회사, JAVA(JVM)를 잘 활용할 수 있는 하드웨어를 개발하고 언어를 무료로 배포하자, 결과는 완전히 망함
3) 오라클이 인수함