본문 바로가기

전체 글

(336)
OSI 7계층과 TCP/IP 방식 , Echo Server란 TCP/IPTCP/IP는 프로토콜이다. 그렇다면 프로토콜이란 무엇일까?통신 프로토콜은 통신 규약으로 컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고 받는 규칙의 체계이다. 즉, 통신 규약 및 약속이다.프로토콜의 기본 요소구문: 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정의미: 두 기기간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정시간: 두 기기간의 통신 속도, 메세지의 순서 제어 등을 규정네트워크의 기본 OSI 7계층개방형 시스템 상호 연결(OSI) 모델은 표준 프로토콜을 사용하여 다양한 통신 시스템이 통신할 수 있도록 만든 개념 모델이다. 쉽게 표현하면 OSI는 상이한 컴퓨터 시스템이 서로 통신할 수 있는 표준을 제공한다.모델은 7개의 추상적 ..
백준 16472번 - 고냥이(C++) https://www.acmicpc.net/problem/16472 투포인터 문제로 전형적인 정도까지는 아니지만 좋은 문제다. 두 좌표 사이의 대한 정보를 파악하는 것이 마치 누적합과도 비슷하다. #include #include using namespace std;map lettter;int main(){ int N; cin >> N; string cats; cin >> cats; int lo = 0; int hi = 1; int cnt = 1; for(char c = 'a'; c N){ lettter[cats[lo]]--; if(lettter[cats[lo]] == 0){ cnt--..
HTTP 요청 방식과 파일과 디렉터리, SQL, DataBase / js의 파일생성, 수정 방식 HTTPWWW의 토대이며 하이퍼텍스트 링크를 사용하여 웹 페이지를 로드하는데 사용된다. HTTP 네트워크 장치간의 정보를 전송하도록 설계된 애플리케이션 계층 프로토콜이며, 네트워크 프로토콜 스택의 다른 계층 위에서 실행된다.HTTP를 통한 흐름에는 클라이언트 시스템에서 서버에 요청한 다음 서버에 요청한 다음 서버에서 응답 메세지를 보내는 작업이 포함된다. 이것이 Reponse 와 Request 이다.HTTP 요청 헤더키값 쌍에 저장된 텍스트 정보가 포함되어 있으며 헤더는 모든 HTTP 요청에 포함된다. 이러한 헤더는 클라이언트가 사용하는 브라우저 및 요청되는 데이터와 같은 핵심 정보를 전달한다.주요 항목Content-Type : 해당 개체에 포함되는 미디어 타입 정보Content-Type: text/ht..
네이버 부스트캠프 첼린지 3주차 회고 벌써 다음주가 막주차다. 정말 시간이 너무 빨리간다. 8월이라는 것도 안믿기고 네부캠이 막주차라는 것도 안믿긴다. 그 동안 충분히 성장한것일까. 릴레이 프로젝트 / 짝 프로그래밍 등을 학습하고 LINUX, 함수형 프로그래밍, JVM의 작동 방식, js의 작동 방식 등 네부캠이 아니었으면 절대 경험해보지 못할 것을 많이 했다.지속 가능한 성장이란 내가 어떤 상황에 빠져도 학습을 통해 성장하는 법을 배우는 것이다. 난 그것을 갖춘걸까. 설계 능력을 갖추자코더와 프로그래머의 차이가 확실히 설계 능력이 있는가 없는가 인 것 같다. 옵저버 패턴같은 디자인 패턴 세션 때 지난 프로젝트에서 각 사용자들이 서로에게 푸쉬알림을 보내야 했던 이슈 때문에 힘들었던 기억이 났다.  Push 전에 Pull이 있 듯, 구현 전에..
git의 내부 동작 방식 VCS 버전관리 시스템- 분산형 버전 관리 시스템.- 파일의 변화를  시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템을 의미함.- 과거부터 많은 VCS가 있었고 git이 가장 대표적.git- 속도, 데이터 무결성, Linux 커널과 같은 대규모 프로젝트를 지원하는 능력에 초점을 맞춤. git은 다양한 명령어와 옵션을 제공해 높은 유연성을 제공하지만 배우는데 시간이 걸림 작동 구조:1. 내가 작업한 것들 (로컬 저장소)2. 원격 저장소로 밀어내거나 -> push 3. 원격 저장소의 최신 형상을 내 작업 공간으로 당겨온다. -> pull git의 버전 관리 원리 1. 어떠한 코드를 각 완성도 마다 버전 관리를 한다고 하자. 간단하게 덧셈하는 프로그램을 만든다. #include ..
비동기 문법과 병렬처리, Node.js의 병렬처리 방식에 대해 Javascript의 비동기 문법 정리자바스크립트는 싱글 스레드 매커니즘을 사용하는 언어이기 때문에 모든 명령은 순차적으로 작동한다. 이것을 동기라고 부른다.동기 방식은 간단하고 직관적이지만 작업이 오래 걸리거나 응답이 늦어지는 경우엔 프로그램 실행 중간에 붕 뜨는 시간이 발생한다. 따라서 자바스크립트는 비동기(Asynchronous)라는 개념을 도입하여 다른 동작을 동시에 수행할 수 있도록 하였다.자바스크립트는 싱글 스레드인데 어떻게 작업을 동시에 처리하지?자바스크립트는 크게 힙, 콜스택, 이벤트루프, Web API, Callback Queue로 이뤄진다. 자바스크립트를 직접 실행하는 콜스택은 싱글스레드지만 서버에게 리소스를 요청하거나 파일 입출력 혹은 타이머 대기 작업을 실행하는 Web Apis는 멀..
네이버 부스트캠프 첼린지 2주차 회고 벌써....? 반을 했다고....?? 라는 생각이 먼저 든다. 베이직의 2배 되는 일정인데 오히려 짧다고 느껴진다. 과제 하나하나의 무게감이 달라서 일까? 아무튼, 1주차 회고를 쓴 지 7시간도 안된 것 같은데 7일만에 다시 작성한다. 나는 성장했는가.네이버 부스트캠프의 가장 중요한 것은 지속가능한 성장이다. 한번 확 성장하고 끝이 아니라 계속해서 지속적으로 성장하는 법을 배우는 곳이다. 하루하루 고난이도 과제를 수행하고 내것으로 만들며 성장하는 것이 첼린지 과정의 목표다. 난 지난 2주간 과제를 해결하고 해석하는 법을 배운 것이지 아직까지 성장을 위한 학습법을 배운 것 같지는 않아서 아쉬운 부분이다. 하지만 난이도가 어렵다보니 결국 과제를 끝내면 늦은 새벽이고 학습에 시간을 많이 사용하지 못하다보니 이..
프로세스와 스레드/멀티스레드 개념과 자바스크립트의 동작원리