본문 바로가기

전체 글

(403)
Promise 문법 사용하기 Javascript는 파일 읽기, 쓰기, 등 많은 비동기 작업이 필요하다. 그 중 대표적으로 사용되는 것이 Promise이다.function promiseStudy(param){ return new Promise(function(resolve, reject){ setTimeout(function(){ if(param){ resolve("성공") }else{ reject("실패") } }, 3000) })}setTimeout( function(){ promiseStudy(true).then(function(temp){ console.log(t..
telnet vs SSH Telnet vs SSHTelnet은 TCP/IP를 기준으로 한 가상 터미널 서비스를 위한 프로토콜이며 SSH는 네트워크를 통해 다른 컴퓨터에 로그인하여 원격 컴퓨터에서 명령을 실행하는 프로그램Telnet은 로컬 네트워크용으로 특별히 설계된 23번 포트를 사용하며 SSH는 21번 포트를 사용한다.보안텔넷은 보안이 취약하다. 데이터를 암호화하지 않고 전송하기 때문에 네트워크에서 통신 내용을 쉽게 도청할 수 있다.SSH는 보안을 강화한 프로토콜로 모든 데이터 전송이 암호화되어 이뤄진다.기능텔넷은 기본적으로 텍스트 기반의 원격 쉘 세션을 제공포트포워딩, 파일 전송, 터널링 등 다양한 네트워크 서비스를 제공최근 telnet이 사용되는 모든 곳은 ssh로 대체되었다고 봐도 무방하다.
vector<int> 보다 vector<bool> 이 느리다? 문제를 풀다가 vector 로 요소 체크를 하면 통과하는데 vector 로 처리하니까 TLE가 발생했다.이게 뭔 개소리야가 절로나와서 찾아보니 bool의 저장 방식 떄문이었다.메모리 배치 및 엑세스 속도vector 의 경우내부적으로 int 타입의 배열과 비슷하게 배치된다.vector 의 경우메모리를 효율적으로 관리하기 위해 한 번에 여러개의 bool 값을 저장할 수 있는 bitfield로 구현된다. 즉, 하나의 정수에 여러 bool 값을 비트 단위로 저장하게 된다.그래서 만약 저장된 bool 값을 조작하려면 해당 비트를 조작하기 위한 비트마스크 연산이 추가로 필요하게 되어 오버헤드가 발생하기 때문에 vector은 속도가 저하게된다.결론은, bool 은 메모리 효율을 위해 시간 효율을 희생했다고 보면 된다..
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 ..