SW과정 스프링부트 1일차 0823

JongseokLee·2021년 8월 23일
0
post-thumbnail

SW과정 스프링부트 1일차 0823

1. JAVA 정규 커리큘럼(Regular Curriculum)

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)
  • 객체지향 분석 및 디자인

2. Computing Paradigm(IT 기술 변화 원천)과 JAVA 기술 발전

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 = 오래된 방식의 간단한 자바 오브젝트라는 말)

3. Functional 언어, 언어 구조적 측면

  • ① 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 상에서 출력

4. JAVA 웹개발(JSP)

  • ① 자바환경에서 HTML비중 80% JAVA비중 20% → JSP(자바80, HTML20) → Model1 Architecture
  • ② 요청분석 : 컨트롤러// html, jsp : view → MVC 패턴 Model2 Architecture(유지보수 편의성 때문에 개발됨)
  • ③ Weblogic, Websphere, Jeus 유료(모니터링 기능, 여러가지 대쉬보드 등을 제공함) Web Application Server(WAS)

5. 웹개발 정리, Struts

1) Struts 자바의 컨트롤러를 만드는 틀(Frame)을 말함 이 장치를 사용하면 최소 5배 이상 성능이 나빠짐
2) EJB 개념이 어려움, 사용은 쉬움(표준)
3) 스프링 버전 업그레이드 될 때마다 지난 버전과 호환이 잘안됨(표준이 안되어 있음), 대응능력이 있을 때 구축

4) 프로젝트 실패 : 기능이 안되는 경우는 거의 없고, 비기능(속도, 안정성, 확장성)에 의한 문제가 발생한다.
5) System(=Static멤버)
6) 안드로이드는 전기양의 꿈을 꾸는가! 필립딕(앤디루빈 1968년도 이 소설을 기반으로 안드로이드 제작함)


6. React 구조

1) CDN : Contents Distance Network
2) 리액트 단계 : 하드웨어 → O/S → 웹서버 → NODE(Server JavaScript 엔진) → 컨텐츠 업로드

Small talk

1) 2014년 10월부터 모바일 웹 사용자가 PC 사용자를 넘어섬
2) SUN 원래 하드웨어 회사, JAVA(JVM)를 잘 활용할 수 있는 하드웨어를 개발하고 언어를 무료로 배포하자, 결과는 완전히 망함
3) 오라클이 인수함

profile
DataEngineer Lee.

0개의 댓글