전체 글 (404) 썸네일형 리스트형 [기타] JSON [JSON이란?] JSON(JavaScript Object Notation) 다양한 종류의 데이터를 활용하는 것이 중요한데, 어떤 언어든지 데이터 구조와 실제 데이터를 다른 어어 및 플랫폼에서 해석 가능한 형식으로 전송할 수 있도록 하는 데이터 교환 포맷을 의미 전송 가능 조건 (둘 중 하나) 1) 수신자와 발신자가 같은 프로그램을 사용 2) 문자열처럼 범용적으로 읽을 수 있어야 함 변환 메서드 1) JSON.stringify : Object type을 JSON으로 변환(JSON으로 변환된 객체의 타입은 문자열) >> 직렬화 2) JSON.parse : JSON을 Object type으로 변환 데이터 유형 1) 문자열 2) 숫자 3) 부울(참/거짓) 4) Null 5) 객체 6) 배열 문자열 : 백슬래시.. [알고리즘/자료구조] 자료구조 자료구조 : 여러 데이터의 묶음을 저장하고 사용하는 방법을 정의한 것 : 데이터 (문자,소리,그림,영상 등 실생활을 구성하는 모든 값으로 이를 필요에 따라 데이터의 특성을 파악하여 정리해 저장해 놓는 것이 활용에 유리함) [Stack] 스택(Stack) : 쌓다, 포개지다의 뜻으로 데이터가 쌓이는 순서대로 쌓는 자료구조 구조 : 입력과 출력이 하나의 방향으로 이루어진 제한적 접근 : LIFO(Last In First Out) 구조 특징 : 데이터는 하나씩 넣고 뺄 수 있음 : 하나의 입출력 방향을 가짐 : 먼저 들어간 데이터는 가장 나중에 나오는 후입선출 구조 [용어] 스택용 배열 stk 스택 용량 capacity ptr : 스택 포인터 IntStack : 생성자 push(int x) : 데이터를 푸쉬하.. [자료구조/알고리즘] 재귀 재귀함수 재귀 : 원래의 자리로 되돌아가거나 되돌아옴 재귀함수 : 자기 자신을 호출하는 함수 사용 조건 문제의 크기를 점점 작은 단위로 쪼갤 수 있어야 함 호출 종료 시점이 존재해야 함 (존재하지 않을 경우 무한 루프에 빠질 수 있음) 장점 여러개의 반복문을 사용하지 않아 코드가 간결해지고 수정이 용이 변수를 여러개 사용할 필요가 없음 단점 코드의 흐름을 직관적으로 파악하기 어려움 (특히, 반복이 많을수록 결과 예측이 어려워짐) 메서드를 반복 호출하며 매개변수/지역변수/변환값을 모두 저장하기 때문에 더 많은 메모리를 사용 메서드 호출 및 종료 후 복귀를 위한 컨테스트 스위칭 비용이 발생함 분석 방법 1) 상향식 분석(bottom-up analysis) : 0에서부터 시작하여 올려나감 : 아래쪽부터 쌓아 .. [네트워크] HTTP HTTP[Hyper Text Transfer Protocol) : HTML과 같은 문서를 전송하기 위한 Application 계층 프로토콜 : Stateless(무상태성) 특징을 지님 (즉, 특정 상태를 유지하지 않음) HTTP messages 유형 1) 요청(Requests) 2) 응답(Responses) 구조 1) start line : 요청이나 응답의 상태를 나타내며, 항상 첫째줄에 위치 2) HTTP headers : 요청을 지정하거나, 메시지에 포함된 본문을 설명하는 헤더의 집합 3) empty line : 헤더와 본문을 구분하는 빈 줄 4) body : 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함하며 유형에 따라 선택적 사용 [요청(Requests)] 1) start line.. [네트워크] SSR, CSR [SSR(Server Side Rending)] : 서버에서 렌더링 준비를 끝마친 상태로 클라이언트에 전달하는 방식 (예시. 가구 조립을 마친 후 소비자에게 전달) - JS가 브라우저에 렌더링 하는 대신 서버에서 렌더링 진행 - 브라우저가 서버에 URI로 Get 요청을 보내면 서버는 웹 페이지 파일을 전송 - 서버의 웹 페이지가 브라우저에 도착 시 완전히 렌더링 됨 [CSR(Client Side Rendering)] : 서버에서가 아닌 클라이언트 쪽에서 렌더링이 진행 (예시. 가구 부품을 받은 후 소비자가 조립 진행) - 클라이언트에서 JS 페이지를 렌더링 - CDN(물리적으로 가까운 서버에서 요청에 응답하는 방식)이 THML 파일과 JS로 접근 가능한 링크를 클라이언트에 전송 - 웹 페이지와 함께 전달.. [네트워크] 웹 애플리케이션 (아케텍처, 흐름, 구현) [웹 애플리케이션 아키텍처] : 클라이언트-서버 간의 연결에 대한 설명 방법으로 어떻게 애플리케이션 내부의 요소들이 상호간에 소통하는지 설명 : 유저가 웹브라우저에서 요청 시 애플리케이션의 다양한 요소들이 상호작용을 유지할 수 있도록 서로를 결부시키는 뼈대 웹 애플리케이션 특징 : 데스크탑 애플리케이션처럼 상호작용 가능 : 특정 기능을 가지고 있음 : 정보나 자료 등의 콘텐츠 관리 시스템과 함께 작동 >> 동적 페이지를 포함할 경우 웹 애플리케이션(요즘 만들어지는 대부분의 사이트들이 웹 애플리케이션에 속함) 고려사항 1) 신뢰성(reliability) 2) 확장성(scalability) 3) 보안성(security) 4) 견고성(robustness) [웹 애플리케이션 요청 흐름] 흐름 - 브라우저에 주소.. [네트워크] 클라이언트-서버 아키텍처(2티어 아키텍처) 클라이언트-서버 아키텍처(2티어 아키텍처) : 정보 같은 리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것 클라이언트 : 리소스를 사용하는 앱(웹사이트, 앱 등) 서버 : 리소스를 제공(serve)하는 곳(웹 서버, 파일 서버, DB 서버 등) 요청과 응답을 주고 받는 관계로, 요청이 선행되고 그 후 응답 + 3티어 아키텍처 : 2티어 아키텍처에 DB가 추가된 형태 프론트엔드/백엔드 프론트엔드 영역 = 클라이언트 백엔드 영역 = 서버 + 데이터베이스 [예시] 클라이언트(손님) 서버(종업원) 손님은 필요한 리소스(주문)을 종업원에게 요청해야 함. 손님의 주문에 따라 종업원은 메뉴를 만든 후 응답. >>요청이 있어야 응답이 존재할 수 있음 [네트워크] URL, DNS [URL] URL (Uniform Resource Locator) : 웹에 게시된 어떤 자원을 찾기 위한 브라우저에서 사용되는 메커니즘으로, 네트워크 상에서 웹페이지/이미지/동영상 등의 파일이 위치한 정보를 나타냄 URL 구성 1) scheme : 통신 방식(프로토콜)을 결정 2) hosts : 웹 서버의 이름이나 도메인 3) url-path : 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지/이미지/동영상 등이 위치한 경로와 파일명 쿼리(query) : 웹 서버에 전달하는 추가 질문 Domain name : IP 주소를 대신하여 사용하는 주소로 한눈에 파악하기 힘든 IP 주소보다 분명하게 나타낼 수 있음 도메인 종류 gTLD(generic Top Level Domain) : 전 세계에서 등록이.. 이전 1 ··· 47 48 49 50 51 다음