목록분류 전체보기 (142)
뉴히의 개발 로그
문제 문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요. 내 풀이 function solution(binomial) { let [a,op,b] = binomial.split(" ") if (op == '+') answer = Number(a) + Number(b) else if (op == '-') answer = Number(a) - Number(b) else if (op == '*') answer = Number(a) * Number(b) return answer; } 다른 사람 풀이 const..
문제 설명 정수 n이 매개변수로 주어질 때, 다음과 같은 n × n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요. arr[i][j] (0 ≤ i, j
문제 설명 정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요. 처음에 startsWith가 바로 떠올랐지만 시작 부분에 0이 반복될 경우때문에 적절하지 않았다 그래서 정규식을 이용한 풀이 function solution(n_str) { return n_str.replace(/^0+/, ''); } 그리고 다른 사람의 풀이에서 배우게된 const solution = (str) => String(Number(str)) 자바스크립트 문자열을 숫자열로 변환하면 맨 앞에 있는 0을 무시하게 됨으로 0010 을 숫자열로 변환해주면 10이 되기 때문에 앞에 00만 제거 가능 ㅎㅎㅎㅎㅎㅎㅎㅎㅎ 발상의 전환..
클라이언트 사이드 렌더링(CSR)과 서버 사이드 렌더링(SSR)의 개념에 대해 설명해주시고, 장/단점을 설명해주세요. CSR 클라이언트 사이드 렌더링이라는 뜻으로 구동 방식은 초기 로드 시 빈 HTML과 모든 로직이 담겨 있는 Javascript 다운로드를 합니다. 그 후 빈 HTML에 Javascript를 이용하여 Dom을 동적으로 생성하여 그려 내게 됩니다. 이렇게 클라이언트에서 렌더링한다고 하여 클라이언트 사이드 렌더링입니다.SPA 싱글 페이지 애플리케이션이란 싱글 페이지에 적합한 환경입니다. 장점: Javascript를 사용해서 동적으로 Dom을 그려내기 때문에 원하는 내용만 업데이트를 할 수 있습니다. 예를 들어 링크 이동을 클릭했을 때 헤더, 푸터와 같이 중복되는 내용은 고정으로 두고 안에 콘..
RESTFul API란 HTTP와 URI를 기반으로 정보에 접근할 수 있도록 제공하는 애플리케이션 개발 인터페이스입니다. 플랫폼에 제약을 두지 않고 데이터 통신을 가능하게 하기 위해서 xml, json과 같이 클라이언트 사이드에서 바로 객체로 치환이 가능한 형태로 데이터 통신을 하는것을 restful 하다고 할 수 있습니다.
프레임워크 프레임워크는 애플리케이션을 개발을 하는데 있어 기본적으로 필요한 구조와 구성을 갖추고 있어 개발자가 기능 구현에 집중할 수 있도록 합니다. 프레임워크는 프레임워크만으로 프로그램이 동작하는 것이 아니라 뼈대를 제공하고 그 위에 개발자가 코드를 올려 동작하게끔 합니다. 개발자의 입장에선 좀 더 로직에 집중을 할 수 있게 하고 객체 지향 개발을 하는데 있어 시스템을 일관성있게 관리할 수 있도록 도와줍니다. 여러 명의 다양한 개발자들이 각자의 취향에 따라 설계하고 코딩한다면 관리적인 측면에서 어려움을 겪을 수 밖에 없을 것이고 이는 프레임워크가 제공하는 뼈대와 가이드에 맞게 설계하고 개발함으로써 시스템의 통합, 일관성을 유지할 수 있게 됩니다. 어려운가요? "설계는 내가 할게 너는 구현만 해" 라고 ..
동기와 비동기의 차이에 대해 설명해주시고 비동기프로그래밍의 필요성에 대해 답변해주세요. 동기는 데이터 요청의 결과가 한자리에서 동시에 일어나는 것을, 비동기는 동시에 일어나지 않는 것을 말합니다. 말그대로 동기는 동기적으로 한 작업이 끝난후에 다음 작업을 진행할 수 있으며 비동기는 동기적이지 않게 요청에 대한 완료가 일어나기 전 다른 작업이 가능합니다. 비동기 프로그래밍이 필요한 이유는 요청에 대한 결과가 반환되기 전에 다른 작업을 수행할 수 있어서 자원을 효율적으로 사용할 수있습니다. 참고 답변 핵심키워드: Async/await 콜백 헬(callback hell) 비동기 프로그래밍 방식에 필요성 "동기란 앞선 연산이 끝날 때 까지 기다렸다가 다음 연산이 순차적으로 실행되는 방식입니다. 반대로 비동기는 ..
상태관리를 왜 할까요? 그리고 평소 state 관리는 어떻게 하시나요? SPA는 랜더링을 위해 상태관리를 한다. 또한 컴포넌트 단위로 작업을 하는데 각 컴포넌트의 데이터는 부모에서 자식컴포넌트로 데이터를 내려줄 수 있다. 그런데 그렇게 내려주다보면 데이터를 사용하지않는 컴포넌트에서도 데이터를 받아 넘겨줘야하기때문에 props drilling이 발생한다. 이런 비효율적인 props 전달을 하지않기위해 어느 컴포넌트에서든 데이터를 직접 받아 사용할 수 있도록 전역상태 관리 저장소를 만들어 어느 컴포넌트에서도 접근가능하도록 상태관리를 한다. 상태관리 도구는 아주 다양한다. 많은 사람들이 redux(전역상태관리) 상태관리 도구를 이용해 state 관리를 한다. 보일러플레이트가 적고 사용이 쉬운 react que..