목록전체 글 (773)
치춘짱베리굿나이스

웹소켓 (WebSocket) Socket.io 설명이랑 묶을까 하다가 웹소켓 부분이 너무 길어져서 분리했다 설명 우리가 아는 HTTP 프로토콜은 클라이언트와 서버가 한 번 데이터를 주고받으면 대부분 연결을 끊어버리는 (비연결성) 특징을 가지고 있었다 따라서 한번 데이터를 주고받았다? 연결 유지가 끊겨버리는 것이다 하지만 채팅, 실시간 게임, 주…식과 같은 몇몇 서비스에서는 실시간으로 데이터가 이동하는 것을 보장하기 위해 서버 - 클라이언트 간 끊기지 않는 연결을 필요로 하고, 이때 사용할 수 있는 것이 WebSocket 프로토콜이다 웹소켓은 RFC6455 명세에 처음으로 정의되었으며, 서버와 브라우저 간 연결이 끊어지지 않고 유지되므로 지속적으로 데이터를 전달할 수 있다 다르게 말하면 연결 이후 별도로 ..
입실 관리 문제 JOI회사에서는 방에 들어가기 위해 입실 기록을 입력할 때 알파벳으로 이름을 입력한다. 그런데, 컴퓨터에 오류가 나서 대문자 소문자가 섞여버려 입실 기록이 읽기 힘들어졌다. JOI회사의 입실 기록을 읽기 쉽게 하기 위해서 기록된 이름을 모두 소문자로 변환하는 프로그램을 작성하라. 단, 입실 기록에는 같은 이름의 사람이 생기기도 한다. 입력 첫째 줄에는 정수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄부터는 1글자 이상 20문자 이하의 영어 대문자, 소문자로만 이루어지는 문자열 Si가 주어진다. 출력 i번째 줄에, i번째 입실자의 이름을 소문자로 출력한다. 풀이 const manage = () => { const [n, ...arr] = require("fs") .readFileSync..
팩토리얼 2 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 20)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 풀이 const factorial = () => { const n = Number(require("fs").readFileSync("/dev/stdin").toString().trim()); let mul = 1; for (let i = 1; i
팩토리얼 3 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 100,000)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 풀이 n = int(input()) ans = 1 if (n == 0): print(1) else: for i in range(1, n + 1): ans *= i print(ans) 반성회 자바스크립트로 풀면 숫자범위 때문에 많이 복잡하게 풀어야하는 문제…
Hook 문제 Print out the word Hook as shown below. 출력 Print out the word Hook as shown below. 풀이 const hook = () => { console.log(`# # #### #### # # #### # # # # # # #### # # # # # # # # #### #### # #`); }; hook();
몇개고? 문제 고려대학교 로봇융합관에서 MatKor Cup을 준비하던 주영이는 같이 초밥을 먹자는 동우의 말에 호랭이 초밥 집에 갔다. 모듬 초밥을 먹으면서 동우와 주영이는 다음과 같은 대화를 하였다. 동우: "몇개고?" 주영: "응?" 동우: "밥알말이다. 몇개고?" 주영: "그건 또 뭔데?" 동우: "삼백 이십개다. 훈련된 초밥 장인이 이 한번 스시를 쥘 때 보통은 이 밥알이 삼백 이십개라. 점심 식사에는 삼백 이십개가 적당하다 캐도, 오늘 같은 날이나 술하고 같이 낼 때는 이백 팔십개만 해라, 어이? 배 안부르구로" 주영: "어디서 또 이상한거 배워왔냐" 동우: "너 혹시 재벌집 막내아들 뭔지 모르나?" 주영: "모른다" 대한민국을 뒤흔든 드라마를 모른다는 주영이의 말에 동우는 적잖은 충격을 받았다..

클로저 스코프, 렉시컬 스코프 먼저 렉시컬 스코프와 스코프에 관해 읽고 오자 내가 아는 클로저는 이 캐릭터 뿐이다 자바스크립트에서의 클로저란 무엇일까… 설명 MDN에서의 설명 A closure is the combination of a function bundled together (enclosed) with references to its surrounding state (the lexical environment). 클로저는 함수와 함수가 선언된 어휘적 환경 (Lexical Scope) 의 조합이다. MDN에 따르면 그렇단다 이게 무슨 말일까? 예시 function foo() { const str = "Hello World!"; function bar() { // 함수 bar의 선언부 console...

CSR, SSR, SSG 이걸 설명해줄 일이 생겼었는데 나도 뭔가 횡설수설 하는 감이 있어서 정리하기로 했다 Next.JS 공부는 계속 하는데 뭔가 이론적인 면에서 공부가 너무 부족한것 같아서… CSR Client-Side Rendering 페이지의 핵심이 되는 HTML을 클라이언트에서 생성한다면 클라이언트 사이드 렌더링이라고 부른다 서버로부터는 최소한의 HTML만 전달받고, 클라이언트에서 대부분의 렌더링을 수행하면 클라이언트 사이드 렌더링이 된다 과정 클라이언트가 특정 URL로 페이지를 요청한다 서버는 최소한의 HTML만을 클라이언트에 응답한다 클라이언트는 HTML을 파싱하고, 필요한 리소스를 파악한 뒤 추가적으로 요청한다 (JS, CSS, 미디어 등) 서버는 리소스를 응답한다 (미디어의 경우, 외부 ..