CS
-
[개발자 필수지식] CI / CD (Continuous Integration / Delivery / Deployment)CS 2024. 1. 29. 16:07
CI / CD 필요성 - 여러 명의 개발자가 동시에 개발을 하면 충돌이 발생할 수 있다. - 이를 방지하기 위해, CI / CD 개념이 도래했고 Tool이 등장했다. 파이프라인 코드 구축부터 시작해서 배포까지 일련의 과정들을 CI/CD 파이프라인이라고 한다. Continuous Integration : 코드를 빌드하고 테스트하고 합친다. - 테스트 ) 작은 단위를 테스팅 하는 단위 테스트 ex ) Mocha.js ( 프레임워크 ) Continuous Delivery : 해당 레퍼지토리에 릴리스한다. Continuous Deployment : 프로덕션 배포 (실제 서비스 배포) 코드 배포까지 좀 더 체계적으로 만들고, 테스트를 강제한다는 점 👍 빌드 - webpack 충돌이라는 것은 대부분 일어나기 때문에..
-
[개발자 필수 지식] 클라우드CS 2024. 1. 29. 15:46
#1 가상머신 전통적 배포방식 물리적인 컴퓨터 1대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식 계정을 나눠 여러명의 사용자가 이용할 수 있지만, 어떤 프로그램을 설치했을 때 다른 앱에 영향을 미침 가상화 배포방식 가상머신을 기반으로 배포하는 것 계정을 나누는 것이 아니라 1대의 컴퓨터를 가지고 여러개의 OS를 구동할 수 있어 CPU,RAM을 물리적으로 갈아끼는 것이 아니라 설정만으로 이를 수행할 수 있음 가상머신이란? 컴퓨터의 하드웨어를 소프트웨어적으로 구현한 것 하이퍼바이저 하나의 시스템 상에서 가상 컴퓨터를 여러 개 구동할 수 있도록 해주는 중간 계층 이를 통해, 여러 개의 가상머신을 구축할 수 있고 가상머신 위에 OS 그리고 그 위에 앱이 올라가는 형태로 가상머신을 독립적으로 수행할 ..
-
[개발자 필수 지식] API , interfaceCS 2024. 1. 29. 15:14
API #1 개념 API (API, Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층을 의미합니다 예를 들어 A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 했을 때의 어떻게 통신할 것인지, 어떠한 데이터를 주고 받을 건지 등에 대한 방법(HTTP, HTTPS 프로토콜을 사용할 것인지, GET, POST 등의 방식 등..)이 정의된 중계계층을 말합니다. 참고로 API는 과거부터 발전되어온 용어로 라이브러리 및 프레임워크를 설명하는 명세서, 웹상에서 WEB API, Web Socket API 등을 가리키는데 현재를 기준으로 API라고 할 때 보통 WEB API를 기준으로 설명합니다 인터페이스 인터페이..
-
[개발자 필수지식] 데이터교환형식 - JSON, XMLCS 2024. 1. 29. 14:47
JSON JSON(JavaScript Object Notation)은 Javascript 객체 문법 으로 구조화된 데이터교환형식, python, javascript, java 등 여러 언어에서 데이터 교환형식으로 쓰이며 객체문법말고도 단순 배열, 문자열도 표현 가능합니다. 특징(4) 1.Javascript 객체문법 - 키(key)과 값(value)으로 구성됩니다. 2.데이터 + 교환형식 3.여러언어에서의 쓰임 객체, 해시테이블, 딕셔너리 등으로 변환되어 쓰임 4. 단순 배열, 문자열 표현 JSON의 타입(6) javascript object와 유사합니다만 undefined, 메서드 등을 포함할 수 없습니다. - 수(Number) - 문자열(String) - 참/거짓(Boolean) - 배열(Array) ..
-
[면접 예상질문] React, Recoil, React Query, TypeScriptCS 2023. 10. 24. 14:49
**React에 관한 질문과 답안:** 1. **React의 주요 특징은 무엇이며, 어떻게 동작하는지 설명해보세요.** - React는 사용자 인터페이스를 구축하는 라이브러리로, 가상 DOM을 사용하여 성능을 최적화합니다. React 컴포넌트는 상태(state)와 속성(props)을 통해 데이터를 관리하며, 컴포넌트 계층 구조를 구성하여 UI를 효과적으로 업데이트합니다. 2. **React Hooks은 무엇이며 어떤 상황에서 사용하나요?** - React Hooks는 함수 컴포넌트에서 상태와 생명주기 기능을 사용할 수 있게 해줍니다. 예를 들어, `useState`는 상태를 관리하고, `useEffect`는 부수 효과를 다루며, 이를 통해 클래스 컴포넌트 대신 함수 컴포넌트를 사용할 수 있습니다. 3. ..
-
[면접 질문 정리] 알고리즘CS 2023. 3. 4. 09:02
스택과 큐의 차이와 예시 스택은 스택은 시간 순서에 따라 자료가 쌓여서 가장 마지막에 삽입된 자료가 가장 먼저 삭제된다는 구조적 특징을 가지게 된다. 이러한 스택의 구조를 후입선출(LIFO, Last-In-First-Out) 구조이라고 한다. 그리고 비어있는 스택에서 원소를 추출하려고 할 때 stack underflow라고 하며, 스택이 넘치는 경우 stack overflow라고 한다. 예시는 웹 방문기록을 들 수 있다. 큐는 선입선출(FIFO, First in first out) 방식의 자료구조를 말한다. 가장 먼저 삽입된 원소가 가장 빠르게 나간다. 캐시구현을 예시로 들 수 있다. 힙 - 최대값 혹은 최소값을 빠르게 찾기 위한 이진트리입니다. - 최소힙의 경우 부모는 자식보다 작고 최대 힙의 경우는 ..
-
[면접 질문 정리] - CSS, 프레임워크CS 2023. 3. 3. 20:00
💡 box model의 전체 크기 : 콘텐츠 크기 + padding 값 + border 값 + margin 값 React, Vue, Angular의 차이는 무엇인가요? - 일단 3개의 공통점은 SPA기반 프론트엔드 프레임워크/라이브러리인것이다. 리액트는 단방향 바인딩으로 부모 컴포넌트에서 props가 자식 컴포넌트로 전달되고, vue나 angular는 양방향 바인딩이 구현 가능하다는 차이가 있습니다. 러닝커브는 뷰가 가장 낮고, 리액트는 jsx 문법을 사용하며, 개발 생태계가 가장 잘 활성화 되어있다. 큰 규모의 어플리케이션 개발에 유리하다. 뷰와 앵귤러는 프레임워크이다. 앵귤러는 타입스크립트를 사용함으로써 코드의 가독성과 안정성이 좋지만 러닝커브가 크다. 리액트와 뷰의 차이 1 react는 UI 라이브..
-
[면접 질문 정리] - React 질문CS 2023. 3. 1. 13:42
리액트 리액트란? 리액트는 2011년 페이스북의 개발자들에 의해 탄생한 자바스크립트 라이브러리로서, 웹/모바일 애플리케이션의 뷰를 개발할 때 사용된다. 리액트는 컴포넌트에 기반한 접근 방식을 사용하므로, 재사용 가능성이 높은 컴포넌트를 개발할 수 있다. 리액트의 주요 특징 리액트의 주요 특징 리액트는 단방향식 데이터 흐름 모델을 사용한다. (참고: "데이터는 아래로 흐릅니다") 리액트는 가상 DOM을 사용한다. 단방향 바인딩하는 이유 코드 흐름 파악하기 쉽고 유지보수시 장점이 있기 때문입니다. React의 상태관리 방법에 대해서 설명하시오 - 리액트의 상태관리에는 context API를 통한 방법 및 MobX, Redux 등의 라이브러리를 사용한 방법이 있다. 그 중 가장 많이 사용하는 Redux는 전역..