분류 전체보기

https://www.ictintern.or.kr/main.do 이번 ICT 인턴십을 3군데 지원하였고, 한군데는 데이터 엔지니어 부분이라 소신지원하였고, 다른 한곳은 코딩테스트에서 떨어진것 같다. 코테는 5문제에서 2문제 완벽하게 풀고, 2문제 절반 맞고, 한문제는 못 풀었다. ICT를 지원한 이유는 당연히 합격해서 인턴생활을 하면 좋지만, 개발자 면접, 아울러 면접 자체 경험이 없던터라 면접을 꼭 봐보고 싶었다. 그래서 면접을 보게 된 시점에서 이미 성공하였다고 볼 수 있다. 면접을 본 회사는 클라우드서비스플랫폼회사이다. 면접실에 들어가니 3분이 계셨고, 프론트 담당자 1분, 백 담당자 1분, CTO 1분이 들어오셨다. 처음에 자기소개를 요청하셔서 OO학교 OO과 4학년이다. 면접자체가 처음이라 이런..
JSON(JavaScript Object Notation)이란 무엇인가? 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식. 텍스트 기반 데이터 포맷으로 다양한 프로그래밍 언어에서 파싱 및 생성이 용이하다. JSON은 데이터 포맷일 뿐이며 단순히 데이터를 표시하는 표현방법이다. JSON의 특징 자바스크립트를 이용하여 JSON 문서를 자바스크립트 객체로 변환 가능 다른 프로그래밍 언어로도 쉽게 만들 수 있다. 특정 프로그래밍 언어에 종속되지 않으며, 대부분의 언어에서 JSON 포맷의 데이터를 핸들링 할 수 있는 라이브러리를 제공한다. XML과 다른점? 우리가 데이터를 나타내는 방법 중 대표적인 것이 XML이다. XML은 태그를 사용하여 데이터를 표현한다. John 30 JSON은 중괄..
캐시 기본 동작 1.1M(헤더+바디)가 전송됨. 클라이언트에서 요청한 내용을 보고 서버가 실제 이미지와 관련된 바이트 코드를 포함한 응답을 내린다. 또 다시 요청하면 첫 번째처럼 똑같이 1.1MB의 응답을 보내게 되고 캐시가 없으면 데이터가 변경되지 않아도 계속 데이터를 다운받아야 한다. 똑같은 작업을 반복하는 것이다. 캐시가 없을 때 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 인터넷 네트워크는 HDD등에 비해서 상대적으로 매우 느리고 비싸다. 브라우저 로딩 속도가 느리다. 느린 사용자 경험 캐시를 적용한다면 처음 요청했을 때 캐시가 유효한 시간을 cache-control에 설정해서 응답을 보낸다. 웹 브라우저에는 캐시를 저장하는 공간이 있어서 유효한 시간만큼 응답 ..
HTTP 헤더 정의 헤더 필드는 field-name + “:” + OWS + field-value + OWS로 이루어져 있다. (OWS = 띄어쓰기 허용) field-name에는 대소문자 구분이 없다. 노란칸이 헤더부분이다. 용도 HTTP 전송에 필요한 모든 부가 정보 ex) 메시지 바디 내용, 메시지 바디 크기, 압축, 인증, 요청 클라이언트, 서버정보, 캐시관리정보 표준헤더가 너무 많다. 필요시 임의의 헤더를 추가할 수 있다. 과거 - RFC2616 1. HTTP 헤더 헤더 분류 General Header = 메시지 전체에 적용되는 정보ex) Connection: close Request Header = 요청 정보 ex) User-Agent: Mozilla/5.0 (Macintosh; ..) Resp..
1. HTTP 상태 코드 클라이언트가 보낸 요청(request)의 처리 상태를 응답(response)에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리중 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청완료 위해 추가 행동 필요 4xx (Client Error): 클라이언트 오류 5xx (Server Error): 서버 오류 처리중,정상,추가행동,클라이언트,서버 예를 들어 모르는 상태코드가 생긴경우 알아보자. 299 가 나왔다면 → 2xx 이므로 Successful 599 가 나왔다면 → 5xx 이므로 Server Error 클라이언트는 인식할 수 없는 상태 코드를 서버로부터 받으면, 상위 상태 코드로 해석해서 처리한다. ex) 299모르니..
전달 방식 데이터 전달 방식은 크게 2가지이다. 1. 쿼리 파라미터를 통한 데이터 전송 GET 주로 검색어를 넣거나 정렬 조건을 넣을 때 사용한다. 2. 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 주문, 리소스 등록, 리소스 변경에 사용한다. 클라이언트에서 서버로 데이터 전송하는 상황에는 4가지가 있다. 정적 데이터 조회 동적 데이터 조회 HTML Form을 통한 데이터 전송 HTTP API를 통한 데이터 전송 1. 정적 데이터 조회 - 쿼리 파라미터 미사용 이미지, 정적 텍스트 문서 전달 GET 사용 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 클라이언트에서 “별” 이미지를 보내면 추가 데이터가 필요없다. URI 경로만 넣으면 된다. 쿼리 파라미터로 추가적인 데..
HTTP API 메서드 요구사항 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 일반적으로 이렇게 생각할 수 있다. API URL 설계 회원 목록 조회 → /read-member-list 회원 조회 → /read-member-by-id 회원 등록 → /create-member 회원 수정 → /update-member 회원 삭제 → /delete-member 하지만, 이는 좋은 설계가 아니다. URI에서 가장 중요한 것은 리소스 식별이다. 리소스에 대해 알아보자. 리소스란? 회원을 등록,수정,조회 하는것은 리소스가 아니다. 리소스는 “회원” 그 자체가 리소스이다. 계층 구조 상위를 컬렉션으로 보고 복수 단어를 사용하는 것이 좋다. ex) members 회원 목록 조회 → /members 회원 조..
1. HTTP protocol HyperText Transfer Protocol 앞에서 말한 TCP/IP는 클라이언트와 서버 모델을 사용하는 프로토콜, 클라이언트의 요구에 맞는 서버가 작업을 한다. HTTP는 TCP/IP프로토콜을 기반으로 한 프로토콜. 클라이언트와 서버 간 HTTP요청 및 응답을 할 수 있다. HTTP는 모든 것을 전송한다. 서버 간에 통신할 때도 TCP를 직접 연결하기 보다는 대부분 HTTP를 사용한다. 1-1) HTTP 역사 HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 RFC2068 (1997) -> RFC2616 (1999) -> RFC7..
계란소년
'분류 전체보기' 카테고리의 글 목록 (8 Page)