웹서비스란
- 네트워크 : 원격으로 떨어져있는 두 대상 간의 데이터 교환
- 여러 사람이 동일한 콘텐츠를 언제/어디서든 제공 받을 수 있는 네트워크 서비스 개발 = 네트워크 기술력 = server/client = 1:N
- URL(내가 원하는 콘텐츠를 가진 페이지가 있는 위치정보를 표현한 규격)
- 자바는 어플리케이션을 개발하려고 만든 언어라서, C, C++에 복잡한 걸 다 제거하고 나온 LANGUAGE
- 좀 더 가독이 좋은 언어를 위해서 나온게 파이썬(하나 배운걸 여러군데 써 먹으려고)
웹 서비스 순서
w3c.org
1) STEP 1 : 페이지 표현 기술- 클라이언트 기술 : HTML/CSS/JS
- 단순 텍스트만 담으면 재미가 없으니까 명령어에 디자인, 스타일이 포함되지 않는다. 그래서 디자인 하려고 만든게 HTML
- 스타일을 강력하게 만들어주는게 CSS
- 이벤트 처리를 해줄 수 있는 버튼을 누르면 뭐가 나오거나 -> JAVA 스크립트
- HTML/CSS/JAVA 스크립트 -> 서버(얘는 바보, 명령어를 담아주는 역할) -> 브라우저가 이를 해독
- 서버 실행이 아니라, 클라이언트 실행 되는 기술이다.
2) STEP 2: 서버에서 회원 데이터 정보를 수집한 후, 이 정보를 활용해 서비스를 커스터마이징
이를 위해서 회원 데이터를 가지고 있기 위해서, 데이터베이스를 활용
RDBMS : 관계형 데이터베이스, 구조화된, 정형화된 <- 이런 데이터를 정형데이터, 가공할 필요 X)
- 이걸 사용하려면 STRUCTED QUERY LANGUAGE를 써야함(SQL)
- 기업의 모든 데이터는 SQL로 씀
- 기업은 원본 데이터를 데이터 웨어하우스에 담음. 이를 분석 가공해서 나눌 때 데이터마트
- 각 부서는 권한을 가지고 데이터 분석을 하게 되는거다.
- 데이터베이스 서버는 웹서버와 별도로 구성한다.
서버 프로그래밍 = JSP = JAVA + HTML + CSS + JS -> 이걸로 요청(request : Id : Pass:)
- 서버 수행 : java 코드만 서버에서 먼저 수행(요청 정보 파악, 데이터에 접속) (서버 프로그래머)
- 클라이언트 수행 : html + css + JS에서 수행 (웹 디자이너)
왜 서버프로그램에 파이썬이 아니라, 자바를 사용할까?
- 웹 서버 프로그래밍을 자바 기반으로 웹을 프로그래밍할 수 있게 아파치 재단에서 자바로 웹 관련한 많은 기술을 지원함
- 근데 아파치가 오라클로 인수되면서, 라이센스 비용을 요구하고 있다.
- 그래서 어떻게 될지 모른다.
- 자바 기반 프레임 워크 -> spring(대한민국 표준)
3) STEP 3
- 클라이언트 기술 : HTML/CSS/JS
- 자바 기반 App 개발을 위한 아키텍처
- 예전에는 위에 처럼 최적화된 아키텍처를 찾는게 굉장히 중요했음
- 그런데 지금은 아키텍처보다, 소프트웨어 프레임워크 성능이 뒷받침 되어서 그렇게 신경쓰지 않는 것 같지만
- 실제로 최적화된 아키텍처 + 소프트웨어 프레임워크 성능 뒷받침 까지 되면 웹 운영 비용을 매우 줄일 수 있다.
강사님 꿀팁
- 반복문 할 때 더하기로만 하는 이유
- 더하기는 한번이면 명령이 하나의 연산이 되는데, 빼기는 두 번의 연산을 함(cpu가 두번돔)
- 같은 10번의 반복문이라도, 빼기로하면 두 번의 연산을 한다.
- 알고리즘은 더 적은 연산, 더 적은 횟수로 하는거다.
- JDK17 <- 주요 기능 버전, JDK17.XXX <- 마이너 기능 추가 시
- IDE(통합 개발환경)은 요즘 ECLIPSE, Intellij
- 면접에서 중요한 키워드를 이해해야한다.
- 아나콘다는 IDE, 파이썬 등 여러 개발용 도구를 묶어놓은 패키지
자바 설치
- JDK 설치 (https://www.oracle.com/kr/java/technologies/downloads/#jdk17-windows)
- ECLIPSE 설치
윈도우 x86_64 클릭
'웹 애플리케이션 > 자바' 카테고리의 다른 글
1_5 자바 객체지향 실습(회원관리 프로그램) (0) | 2023.03.15 |
---|---|
1_4 자바 객체지향 실습(성적관리 프로그램) (0) | 2023.03.15 |
1_3 자바 기초(객체지향) (1) | 2023.03.14 |
1_2. 자바 기초 (0) | 2023.03.10 |
1_1. 자바 기초 (0) | 2023.03.09 |