전체 글
-
기술면접 준비5기술면접 준비 2023. 4. 20. 16:04
개발 방법론 개발 방법론이란 시스템의 효율적인 개발을 위해 각종 기법 및 가이드라인을 체계적으로 제공하는 것으로써 양질의 정보시스템을 구축하고 개발 생산형 향상 및 개발 노하우 축적의 기반이 된다. 이 개발 방법론의 종류에는 구조적 방법론, 정보공학 방법론, 객체지향 방법론, 컴포넌트 기반 방법론, 애자일 방법론이 존재한다. 구조적 방법론(Structured Development) 구조적 방법론이란 기능에 따라 나누어 개발하고 이를 분할정복 접근을 통합하는 방식의 방법론이며 프로세스 중심의 하향식 방법론이다. 정보공학 방법론(Information Engineering Development) 정보공학 방법론이란 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론으로써 개발주기를 이용해 대형 ..
-
기술면접 준비4기술면접 준비 2023. 4. 20. 15:40
자료구조와 알고리즘 중에서 자주 사용되는 것들 자료구조 Array(배열) 배열이란 연속된 메모리 공간에 순차적으로 저장하는 자료구조이다. 또한 크기가 정해진(정적) 데이터의 공간이므로 크기를 변화시키려면 메모리를 재할당 해주어야한다. 배열을 구성하는 각각의 값을 요소(element) 라고 부르고, 위치를 가리키는 인덱스(index) 라고 지칭한다. 배열의 장점으로는 인덱스를 이용해 요소에 빠르게 접근할 수 있고, 메모리가 연속적으로 할당되므로 캐시 메모리 활용이 용이하며, 요소의 크기가 동일하기 때문에 메모리 사용이 효율적이다. 배열의 단점으로는 크기가 정적으로 정해지기 때문에 크기를 변화시키려면 메모리를 다시 할당해주어야 하고, 삽입과 삭제가 발생하는 상황에서 적절한 배열의 크기를 미리 결정하기 어렵다..
-
기술면접 준비3기술면접 준비 2023. 4. 17. 14:41
HTTP 와 HTTPS 차이점 HTTP HTTP 란 HyperText Transfer Protocol 의 약자로써 웹 상에서 데이터를 주고 받는 양식을 정의한 프로토콜이며, 매우 범용적인 양식을 가지고 있어 전 세계에서 제일 널리 쓰이는 프로토콜이다. HTTP의 특징 클라이언트 / 서버 구조로써 요청과 응답형태를 가지고 있는데, 클라이언트와 서버가 연결을 맺은 후 요청에 대한 응답이 이루어 지면 맺었던 연결을 끊어버리는 비연결성(Connectionless) 의 특징을 가지고 있고, 이러한 특징 때문에 서버가 클라이언트 상태를 보존하지 않는 무상태(Stateless) 프로토콜이다. 상태를 보존하지 않는다는 의미는 클라이언트가 요청을 보내고 서버에서 응답을 한 뒤 다음 요청을 보낼 때 이전 요청은 기억하지 ..
-
기술면접 준비2기술면접 준비 2023. 4. 14. 14:31
동기(Synchronous) 와 비동기(Asynchronous) 코드 실행 방식 동기(Synchronous) 동기란 직렬적으로 태스크를 수행하는 방식이다. 요청을 받고 응답하기 전까지 다음 태스크가 동작하지 않는다. 동기방식의 장점으로는 설계가 매우 간단하고 직관적이지만 단점으로는 결과가 주어질 때까지 대기해야하는 점이 있다. 또한 요청과 결과가 한 자리에서 일어나야 하고 노드 사이의 작업 처리 단위를 동시에 맞추어야 할 때 동기방식이 필요하다. 비동기(Asynchronous) 비동기란 병렬적으로 태스크를 수행하는 방식이다. 요청을 받고 응답여부와 상관없이 다음 태스크가 동작한다. 비동기방식의 장점으로는 결과가 주어지는데 시간이 걸리더라도 그 시간동안 여러작업을 수행할 수 있어 자원을 효율적으로 사용할 ..
-
기술면접 준비기술면접 준비 2023. 4. 13. 18:54
이벤트 루프(Event Loop) 가 무엇인가 자바스크립트의 런타임 모델은 Event Loop에 기반하고 있다. 또한 자바스크립트는 싱글 쓰레드 언어로써 한번에 하나의 동작만을 할 수 있는데 실제 우리가 자바스크립트를 사용하다보면 멀티 쓰레드 처럼 동시에 여러 작업을 수행할 수 있다는 것을 알게되는데 이것이 가능한 이유는 Event Loop가 자바스크립트의 동시성을 지원해주기 때문이다. 위의 사진은 자바스크립트의 동작 과정인데 하나하나 짚어보겠다. 우선 Javascript Engine은 코드의 실행을 도와주는 역할을 하는데 그중에서 가장 대표적으로 사용하는 것이 Google의 V8 엔진이다. 이 자바스크립트 엔진은 크게 세 영역으로 나뉘어 지는데 1. Call Stack 2. Memory Heap 3. ..
-
14주차 TIL (4)TIL ( Today I Learned) 2023. 2. 16. 11:09
오늘은 어제 작성했던 dto 파일 수정과 컨트롤러 파일 수정, 서비스 파일 작성을 해보도록 하겠다. 우선 어제 작성했던 create, update, delete dto 파일은 똑같은 유효성 검사를 하기 때문에 코드가 길어지고 중복되는 문제점이 있다. 그래서 우리는 update, delete dto 를 수정해줄 것이다. 그러기 위해서 우선 첫번째 우리는 update, delete dto를 create dto 에서 상속받아 사용을 할 것이기 때문에 우선 다음과 같은 패키지를 받는다. $ npm i @nestjs/mapped-types 우선 첫번째로 update dto 는 create 와 똑같은 유효성을 검사하기 때문에 PartialType 을 상속받을 것이고, 두번째로 delete dto 는 create 에..
-
14주차 TIL (3)TIL ( Today I Learned) 2023. 2. 15. 17:56
지금까지는 간단하게 Nest.js 에 대한 개념과 용어 설명을 잠깐 살펴보았는데 이제부터는 실습을 해보려고 한다. 우선 Nest.js 프레임워크를 설치하기 위해선 $ npm i -g @nestjs/cli 터미널에 위와같은 명령어로 설치 할 수 있다. Nest.js 설치 후 커맨드에 nest 라고 쳐보면 다음과 위와 같은 명령어들이 있는것을 볼 수 있다. 이제부터 새로운 프로젝트를 생성하고 구조를 살펴보겠다. $ nest new [프로젝트명] 일단 nest new 를 통하여 내가 만들고자 하는 프로젝트를 생성해준다. 우리는 npm을 통해 설치할 것이므로 그냥 Enter 를 눌러주면 된다. 처음 이렇게 프로젝트를 생성할 때 나는 설치가 완료되지 않고 계속 이상태로만 진행되길래 무슨 문제인가 싶어 계속 찾아본..
-
14주차 TIL (2)TIL ( Today I Learned) 2023. 2. 14. 20:55
오늘은 Nest.js 를 사용하게 되면서 알아야할 기본용어 몇가지만 살짝 정리해 보려고 한다. 데코레이터 Nest.js 에서 데코레이터란 @ 기호를 통해 사용할 수 있다. 또한 데코레이터는 해당 클래스나 함수가 어떤 역할을 하는지에 대해 Nest.js 에게 알려주는 역할을 한다. 예를 들면 import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; @Module({// 모듈로서의 역할을 수행하겠다 -> Nest.js 에게 말함 imports: [], controllers: [AppController], providers: [..