참고https://oliveyoung.tech/2023-10-02/c10-problem/ - 올리브영 기술 문서 - C10K 문제https://www.youtube.com/watch?v=mb-QHxVfmcs - 쉬운코드 youtubehttps://blog.naver.com/n_cloudplatform/222189669084 - 네이버 클라우드 기술 블로그 I/O Multiplexing시작하며서버는 클라이언트가 요청을 하면 이를 감지하여 요청을 이해하고, 이에 적절한 응답을 만들어 반환한다.근데 이러한 요청은 OS에서 어떻게 처리 되는걸까? 그동안 API 서버는 많이도 만들어 봤지만, 여기에 대해서는 확신이 없었다. Network에서 배운 소켓 통신, TCP/IP, HTTP 프로토콜 등등... 뭔가 많이 ..
시작 하며...📌 참고 문헌한국산학기술학회 / A Method for Preventing CSRF Attacks in Web Application using Digital Signature TokenSK 쉴더스 / XSS란? 웹개발을 하다보면 자연스레 접하는 보안 관련 이슈들 중 CSRF와 XSS는 한번쯤은 자연스레 접해본 내용일 것이다.이를 다시한번 자세히 복습해보는 차원에서 글을 작성하게 되었다. 실은 요즘에는 옛날과 달리 웹 애플리케이션을 빌드할 때 직접 구현해 사용하지 않는다. 신뢰도있는 수많은 기능들이 내장된 프레임워크, 라이브러리 등을 적극적으로 활용한다. (SpringBoot, Express, Django, React 등등..) CSRF나 XSS는 정말 오래된 구닥다리(좋게 말하면 ..
시작 하며...Nest.js 와 같이 체계적으로 잘 설계되어 있는 프레임워크를 사용하다보면 아래와 같은 Decorator 들을 자주 볼 수 있다.import { Injectable } from '@nestjs/common';@Injectable()export class TestService { ... 내부 구현들 }}이때 이 @Injectable() 데코레이터를 달아주면 어떤 기능이 있는지는 알고 있었지만, Typescript에서 제공하는 Decorator 가 정확하게 어떤 역할을 하는지 잘 모르고 있었던 것 같아 별도로 공부가 필요하다고 생각하게 되어 글을 쓰기 시작했다. 본 글에서는 데코레이터를 공부하며 알게된 개념들을 함께 정리해본다. 함수 == 일급 객체오늘 주제를 이해하기 위해서 선행해서 알..
📖 문제 내용 요약https://school.programmers.co.kr/learn/courses/30/lessons/389480 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr도둑 A와 B가 있다.각 도둑은 i번째 물건을 훔칠 때 마다 흔적을 남긴다.그 흔적은 각각 info[i][0], info[i][1]에 나타난다. 각 도둑은 n, m 이상 누적 흔적 발생시 검거된다. 두 도둑 모두 경찰에 붙잡히지 않고, 모든 물건을 성공적으로 훔쳤을 때 A의 누적 흔적이 최소가 되는 값을 구하라!(모든 물건을 훔칠 수 있는 경우가 존재하지 않을 경우에는 -1을 반환 한다.) 🧠 문제 해결 과정다음과 같은 D..
시작하며...대부분의 ORM이 기본세팅으로 Entity간 연관관계가 설정될 경우 DDL 생성시 알아서 외래키 제약조건을 추가하는 것으로 알고 있다. 다만 자동 DDL 생성 옵션을 끄고 내가 직접 DDL을 작성할때는 잘 안썼다. 이렇게 외래키 제약조건이 무엇인지만 알고 있던 상황에서 우연히 외래키 제약조건을 사용 할지 말지 고민을 하고있는 글을 보게 되었고, 이 부분에 대해서 정확한 장단점을 알고 넘어가면 추후 명확한 근거와 함께 행동할 수 있을 듯 하여 글을 작성하기 시작했다. 외래키 제약조건을 사용하면 어떤 점들이 좋은지, 오버헤드는 얼마나 발생하는지, 만약 사용하지 않는다면 어떤 부분들을 신경 써 주어야 할지 알아보고자 한다.외래키 제약조건외래키 제약조건이란?MySQL의 외래 키 제약조건은 데이터베..
시작 하며...예전에 같은 팀원이 테라폼을 사용해 인프라 환경을 관리하는 것을 본적이 있었다. 그때 당시에 아예 생각치 못한 분야의 도구라는 느낌에 신기해 했었는데, 이번에 한번 직접 사용해보고 싶어 진행중인 프로젝트의 인프라 구조를 테라폼을 활용해 작성해보기로 했다.TerraformHashicorp 사에서 개발한 오픈 소스 소프트웨어로, Iac (Infrastructrue as Code) 도구이다. 말 그대로 인프라 관련 자원들을 코드를 통해 관리할 수 있도록 해주는 도구인 것이다. 클라우드 플랫폼에는 다양한 서비스들이 존재하고, 보통은 해당 클라우드 서비스의 콘솔 GUI 혹은 CLI로 접속해 조작이 가능하다. 이러한 서비스들을 GUI나 특정 플랫폼에 종속되는 CLI가 아닌, Terraform 이라고 ..