HELLO WORLD

전체 6

[Algorithm] DFS & BFS 알고리즘

DFS & BFS란?그래프를 탐색하는 2가지의 방식을 의미합니다.어려운 알고리즘이라고 많이들 착각하시는데, 이해만 잘 하시고 구현에 익숙해지시면 진짜 이것만큼 편한 알고리즘이 없습니다.서론은 거두절미 하고 본론으로 들어가보도록 합시다.그래프가 뭔데?그래프는 자료구조입니다. 저희가 생각하는 막대형 그래프, 꺾은선 그래프같은 모양은 아니고요.자유분방하게 펼처진 데이터를 선으로 이어준거라 생각하시면 편합니다.그래프는 데이터들의 "관계" 를 중요시하는 자료구조로써,각각의 데이터끼리의 관계를 표현한 자료구조입니다.그래프에 관련된 용어 몇개만 간단히 알아보고 가겠습니다.노드/정점 (node/vertex)노드, 정점이라고도 불리는것은 저장된 각각의 데이터를 의미합니다.위 그림에서는 초록색 원들이 노드입니다.간선 (e..

CS/Algorithm 2024.08.26

[Network] 패킷(packet)은 무엇인가?

1. 패킷이란 무엇인가?패킷(Packet)은 무엇일까요? Packet은 쉽게말하자면 인터넷상의 소포라고 보면 됩니다.우체국 택배를 보내보신적이 있으신가요? 우체국 택배는 업무의 효율성을 위해 여러 규격의 상자에 소포를 담아 보내도록 처리합니다. 이처럼, 인터넷상에서도 통신의 효율성을 위해 큰 데이터를 보내야할 상황이 오면 데이터를 끊어서 순차적으로 보내게 됩니다.1-2 패킷은 왜 필요한가?여기까지 읽으시면 이런 생각이 드실수도 있어요. "왜? 그냥 한번에 데이터를 보내면 되는거 아닌가?"라고 생각하실 수 있습니다. 그래서 대체 왜 패킷을 쓰는지 설명을 해보겠습니다. 결론만 말하면, 큰 데이터를 한번에 보내면, 대역폭을 너무 많이 차지하게 됩니다.대역폭은 컴퓨터 네트워크가 한번에 처리할수 있는 정보량을 말..

CS/Network 2024.08.07

[Nest.js] ForRoot vs ForFeature

게시글을 읽으시기 전에, 제 블로그의 정보가 정확하지 않을 수도 있다는 점 명심해 주세요. 혹시 틀린 부분을 발견하신다면 댓글로 알려주시면 적절한 조치를 취하도록 하겠습니다. 시작하며 오늘 Nest.js로 코딩을 하고있었는데 문득 이런 궁금증이 들었습니다. imports: [ TypeOrmModule.forFeature([User]), JwtModule...(후략) ], imports: [ TypeOrmModule.forRootAsync({ imports: [ConfigModule], useFactory: async (config: ConfigService) => ({ type: 'mysql', port: config.get('DB_PORT'), ...(생략) timezone: config.get('TZ..

BackEnd/Nest.js 2023.09.21

Nest.js 기본 개념 & 설치

게시글을 읽으시기 전에, 제 블로그의 정보가 정확하지 않을 수도 있다는 점 명심해 주세요. 혹시 틀린 부분을 발견하신다면 댓글로 알려주시면 적절한 조치를 취하도록 하겠습니다. Nest.js란 무엇인가? Nest.js는 Node.js에서 사용할 수 있는 프레임워크로, JavaScript가 아닌 TypeScript기반으로 제작되었으며, TypeScript를 완벽히 지원한다. 그리고 OOP(객체지향 프로그래밍), FP(함수형 프로그래밍), FRP(함수 반응형 프로그래밍)을 지원한다. 또한, Nest.js는 Express나 Fastify 등 http 통신을 위한 라이브러리도 사용 가능하게 설정되어 있다. 원래는 인지도가 잘 없었으나, 꾸준히 시장이 커지고 있는 프래임워크로 성장 가능성이 충분하다. 국내에선 당근..

BackEnd/Nest.js 2023.09.05

V8 JavaScript Engine의 동작 구조

게시글을 읽으시기 전에, 제 블로그의 정보가 정확하지 않을 수도 있다는 점 명심해 주세요. 혹시 틀린 부분을 발견하신다면 댓글로 알려주시면 적절한 조치를 취하도록 하겠습니다. 서론 이번 포스트에서는 Node.js를 사용할때 알아두어야 할 중요한 개념인 EventLoop와 V8 JavaScript Engine의 동작구조에 대해 알아보려 한다. Node.js의 기본 특성을 모른다면 이해가 힘들 수 있으니 만약 모른다면 이전글을 읽어주고 오길 바란다. 또한 자료구조도 알고 있다면, 기본적인 구조를 이해할때 더 쉽게 다가올 수 있으나, 만약 모른다고 하더라도 이 글에서 기본적인 개념 설명은 해줄 것이기 때문에 걱정은 안 해도 된다. 자 그럼 본격적으로 EventLoop와 V8 JavaScript Engine의 ..

[Node.js] Node.js와 그 특징

게시글을 읽으시기 전에, 제 블로그의 정보가 정확하지 않을 수도 있다는 점 명심해 주세요. 혹시 틀린 부분을 발견하신다면 댓글로 알려주시면 적절한 조치를 취하도록 하겠습니다. Node.js란 무엇인가? Node.js는 확장성 있는 네트워크 애플리케이션을 만들 수 있도록 설계된 javascript 런타임 환경으로, 주로 서버사이드 애플리케이션 개발에 사용된다. Node.js는 브라우저 외부 환경에서 자바스크립트 개발에 사용된다. Node.js는 파일 시스탬(fs), HTTP 등 수많은 Built-in API를 제공한다. 참고로 Node.js는 C와 C++로 이루어져 있으나, javaScript로 코딩하면 알아서 내부적으로 변역해 실행하기 때문에 C와 C++을 전혀 몰라도 상관없다. 그럼 Node.js가 무..