일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코틀린
- 아이폰
- 자바
- edwith
- Swift
- 안드로이드
- 스낵바
- textview auto scroll
- 프로그래밍
- 안드로이드 스튜디오
- 프로젝트
- 수명주기
- IOS
- 데이터베이스
- SceneDelegate
- RecyclerView
- 텍스트뷰 스크롤
- 액션바
- 드로어블
- 안드로이드_프로그래밍
- 레이아웃
- 서비스
- 상대 레이아웃
- 뷰
- 텍스트뷰 자동 스크롤
- 코드리뷰
- 제약 레이아웃
- 테이블_레이아웃
- 리니어 레이아웃
- 부스트코스
- Today
- Total
듀다의 성장개발로그
웹프로그래밍 - (1) 본문
프론트엔드와 백엔드
프론트엔드는 사용자에게 보여주는 부분을 담당. 웹을 통해 사용자가 다양한 콘텐츠를 제공.
사용자의 요구사항에 맞추어 동작.
백엔드는 정보를 처리하고 저장하며 요청에 따라 정보를 내려주는 역할.
가령 쇼핑몰이라면, 상품 정보를 가지고 있고, 주문을 받아서 저장하고, 사용자가 관심있어 하는 상품을 골라주는 것이 백엔드의 역할.
사용 언어
HTML, CSS, javascript
URL의 구성
포트, 사이트, 위치, 파일
JS Bin
blog.naver.com/n_cloudplatform/221560578585
HTTP 프로토콜
- 인터넷을 위한 통신 규약
- 서버-클라이언트 모델 사용
서버 - 클라이언트 모델이란
클라이언트가 요청하면 서버가 응답함.
그런데 요청이 끝나면 연결을 끊어버리기 때문에(무상태, stateless), 클라이언트가 요청한 것을 서버는 기억하고 있지 않음. 같은 클라이언트가 연속적으로 요청하더라도.
그래서 정보 저장을 위해 쿠키 필요.
장점으로는 여러 클라이언트의 요청을 받을 수 있다는 것(1대1로 요청을 주고받을 필요가 없다.) 그래서 불특정 다수의 요청을 처리하기 적합함.
HTTP : 요청 메시지와 응답 메시지로 구성되어 있고, 요청 메시지와 응답 메시지 부분은 또 헤더와 바디로 나뉜다.
스타일 정보를 CSS로 파싱해서 스타일 규칙을 정의하고
HTML 정보를 파싱해서 트리를 만든다. 그러면 그 두가지를 합쳐서 렌더 트리를 만든다. 그리고 채색 정보(?)를 더해 화면에 보여준다.
DOM은 Document Object Model이다. 일종의 트리 형태의 구조로 데이터를 가지고 있게 된다.
Attachment : 어떤 element에 어떤 스타일을 부여하는 작업을 하고
렌더 트리를 그린다.
코드 작성
자바스크립트는 바디의 아래에 위치시킨다.
위쪽에 넣으면 브라우저가 HTML을 해석하는 동안 스크립트를 다운받고 해석하느라 HTML의 해석이 느려질 수 있음
CSS코드는 주로 헤드에 존재한다. CSS가 길어지면 외부 파일로 만들어 삽입할 수 있다. 자바스크립트도 마찬가지
웹서버
데이터 통신을 원활하게 하기 위해 정해놓은 규칙을 프로토콜이라고 한다.
WAS
브라우저와 DBMS 사이에서 동작하는 일종의 미들웨어로
프로그램 실행 환경과 데이터베이스 접속 기능 제공, 여러 개의 트랜잭션 관리, 업무를 처리하는 비즈니스 로직 관리
이외에도 웹서버의 기능을 제공한다. 그러나 규모가 큰 서버의 경우 WAS와 서버를 분리하여 사용하는 경우가 많은데, 이는 장애극복, 유지보수 등이 이유이다. (한 WAS에 문제가 생겨도 앞단의 웹서버에서 해당 WAS를 이용하지 못하게 하고 WAS를 재시작하면 유저들은 문제를 느끼지 않음)