컴퓨터 사이언스

컴퓨터 사이언스/Database

Join 시, on과 where의 차이

on : join 전에 조건을 필터링한다. where : join 후에 조건을 필터링한다. 공통점 inner join 을 할 때는 차이가 없다. 차이점 outer join 시, on으로 조건을 적용시켜야 원하는 결과를 얻을 수 있다. 여기서 원하는 결과는 outer table에 null 값들을 포함한 행들이 join의 결과값으로 반환된 것을 말한다. on 명령어 select m.id, m.username, t.id, t.name from member m left join team t on m.team_id = t.id AND t.name = "teamA"; where 명령어 select m.id, m.username, t.id, t.name from member m left join team t on m..

컴퓨터 사이언스/개발 상식

CQS ( Command Query Separation )

CQS 란? 어떠한 메서드를 호출했을 때, 내부에서 변경(side effect)가 일어나는 메서드인지, 내부에서 변경이 전혀 일어나지 않는 메서드인지 명확히 분리하는 것이다. 전자를 상태를 변경시키는 Command, 후자를 조회의 기능을 하는 Query라고 한다. 이 원칙을 지킴으로써 얻는 점 데이터 변경 관련 이슈가 발생했을 때, 변경이 일어나는 메서드만 찾아보면 되므로 유지보수가 좋아진다. 개발 시 권장 방법 insert - id만 반환한다. update - 아무것도 반환하지 않는다. 조회 - 내부의 변경이 없는 메서드로 설계한다.

컴퓨터 사이언스

API

어떠한 프로그램에서 제공하는 기능을 사용자가 활용할 수 있도록 만들어 둔 인터페이스 target: 우리가 접근하는 사이트 혹은 프로그램 API 명세서: 사용할 수 있는 기능들이 무엇이 있는지, 혹은 어떻게 사용하는 것인지 적혀있음 request: 해당 사이트, 프로그램에게 어떠한 기능을 사용하겠다 라고 전달하는 행위 client: 요청을 전달하는 사람 API: 요청을 받아 데이터를 제공해주는 서버에게 어떤 요청이 들어왔는지 전달해주는 것. response: client가 받는 데이터

컴퓨터 사이언스/Network

캐시 무효화

Cache-Control (확실한 캐시 무효화 응답) Cache-Contorl: no-cache, no-store, must-revalidate Pragma: no-cache HTTP 1.0 하위 호환

컴퓨터 사이언스/Network

프록시 캐시

Cache-Control Cache-Control: public 응답이 public 캐시에 저장되어도 됨 private 응답이 해당 사용자만을 위한 것임. private 캐시에 저장해야 함(default) s-maxage 프록시 캐시에만 적용되는 max-age Age: 60 (HTTP 헤더) origin 서버에서 응답 후 프록시 캐시 내에 머문 시간 (초0

컴퓨터 사이언스/Network

캐시와 조건부 요청 헤더

캐시 제어 헤더 Cache-Control: 캐시 제어, 캐시 지시어(directives) max-age : 캐시 유효 시간, 초 단위 no-cache : 데이터는 캐시해도 되지만, 항상 origin 서버에 검증하고 사용 no-store : 데이터에 민감한 정보가 있으므로 저장하면 안됨 Pragma: 캐시 제어 (하위 호환) no-cahche HTTP 1.0 하위 호환 Expires: 캐시 유효 기간(하위 호환) 캐시 만료일을 정확한 날짜로 지정 검증 헤더와 조건부 요청 헤더 검증 헤더 (Validator) ETag: "v1.0" Last-Modified: Thum 04 Jun GMT 조건부 요청 헤더 If-Match, If-None-Match: ETag 값 사용 If-Modified-Since, If-U..

컴퓨터 사이언스/Network

HTTP 헤더2 - 캐시와 조건부 요청

캐시 시간 초과시, 다시 네트워크 다운로드가 발생한다. 해결 : 검증 헤더와 조건부 요청 브라우저 개발자 도구에서 Status의 색깔이 연한 것은 cache해서 불러온 것. 검증 헤더와 조건부 요청 검증 헤더 캐시 데이터와 서버 데이터가 같은지 검증하는 데이터 Last-Modified, ETag 조건부 요청 헤더 검증 헤더로 조건에 따른 분기 If-Modified-Since : Last-Modified 사용 If-None-Match : ETag 사용 조건이 만족하면 200 OK 조건이 만족하지 않으면 304 Not Modified ETag, If-None-Match ETag, If-None-Match 정리 진짜 단순하게 ETag만 서버에 보내서 같으면 유지, 다르면 다시 받는다. 캐시 제어 로직을 서버에..

컴퓨터 사이언스/Network

HTTP 헤더 - 일반 헤더

header-field = field-name ":" OWS field-value OWS field-name은 대소문자 구분이 없음 HTTP 표준 1999년 RFC2616 -> 폐기됨 General 헤더 : 메시지 전체에 적용되는 정보. Connection: close Request 헤더 : 요청 정보. User-Agent Response 헤더 : 응답 정보. Server Entity 헤더 : 엔티티 바디 정보. Content-Type, Content-Length 엔티티 헤더는 엔티티 본문의 데이터를 해석할 수 있는 정보 제공 2014년 RFC7230~7235 등장 Entity -> Representation(표현) Representation = representation Metadata + Repres..

컴퓨터 사이언스/Network

HTTP 상태코드

상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational) : 요청이 수신되어 처리중 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 2xx (Successful) 클라이언트의 요청을 성공적으로 처리 200 OK 201 Created 클라이언트가 요청했을 때, 서버에서 리소스를 등록한다. POST로 등록했을때 202 Accepted 요청이 접수되었으나, 아직 처리가 완료되지 않았음 배치 처리 같은 ..

kimjingyu
'컴퓨터 사이언스' 카테고리의 글 목록 (9 Page)