KhsFirefox
취소

NestJs 설정

소스 코드 안에서 어떠한 코드들은 개발 환경이나 운영 환경 등 환경에 따라서 다르게 코드를 넣어줘야 할 때가 있으며, 남들에게 노출 되지 않아야 하는 코드들도 있습니다. 이러한 코드들을 위해서 설정 파일을 따로 만들어서 보관해줍니다. 설정 파일은 runtime 도중에 바뀌는 것이 아닌 애플리케이션이 시작할 때 로드가 되어서 그 값들을 정의하여 줍니다...

NestJs 인증 기능 구현하기

모듈, 컨트롤러, 서비스 생성 # 모듈 생성 nest g module auth # 컨트롤러 생성 nest g controller auth --no-spec # 서비스 생성 nest g service auth --no-spec 엔티티 생성 유저 이름에 유니크한 값 주기 유저 이름을 유니크로 만드는 데는 두 가지 방법이 있습니다. 서비...

NestJs TypeORM

ORM이란? 객체와 관계형 데이터베이스의 데이터를 자동으로 변형 및 연결하는 작업입니다. ORM을 이용한 개발은 객체와 데이터베이스의 변형에 유연하게 사용할 수 있습니다. TypeORM이란? TypeORM은 node.js에서 실행되고 typescript로 작성된 객체 관계형 매퍼 라이브러리입니다. TypeORM은 MySQL, PostgreSQL,...

NestJs 시작하기

NestJs란? Nest는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기위한 프레임 워크입니다. 프로그레시브 Javascript를 사용하고 typescript로 빌드되고 완벽하게 지원하며 OOP, FP 및 FRP 요소를 사용할 수 있게 해줍니다. 공식문서 NestJs 내부 구성 Nest는 내부적으로 Express와 같은 ...

다익스트라(Dijkstra) 알고리즘

다익스트라 알고리즘이란? 다익스트라(Dijkstra) 알고리즘은 네덜란드의 컴퓨터 과학자 에츠허르 비베르트 디익스트라(Edsger Wybe Dijkstra)가 고안한 알고리즘으로, 그래프에서 두 노드 사이의 최단 경로를 찾는 데 사용됩니다. 가중치가 있는 그래프에서 작동하며, 가중치는 양수여야 합니다. 기본 동작 원리 초기화: 시작 노드를 ...

Spring Http Client는 RestTemplate 대신 WebClient

WebClient란? 오늘날 웹 애플리케이션 개발에서 HTTP 클라이언트는 필수적인 역할을 담당합니다. 특히, 마이크로서비스 아키텍처(MSA)가 주류가 되면서, 이러한 클라이언트는 서비스 간의 통신에서 핵심적인 역할을 하게 되었습니다. 마이크로서비스는 작고 독립적인 서비스들로 구성되어 있으며, 이 서비스들은 서로 네트워크를 통해 통신합니다. 이 과정...

RESTful API와 SPA에서 Spring OAuth2 Client로 소셜 로그인 구현하기

서론 현대 웹 개발 트렌드는 Vue, React와 같은 프론트엔드 프레임워크를 중심으로, SPA(Single Page Application) 방식이 주를 이루고 있습니다. 그래서 이번에는 Rest API에서 Spring Boot의 OAuth2 Client를 활용하여 소셜 로그인을 구현해보려 합니다. Spring Boot의 OAuth2 Client는...

Spring Boot에서 Lettuce를 사용한 Redis 설정

의존성 추가하기 dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-redis' } org.springframework.boot:spring-boot-starter-data-redis 의존성은 Spring Boot 프로젝트에서 Redis를 사용하기...

EC2에 Grafana + Prometheus + Loki로 모니터링 구축하기

서론 모니터링의 중요성 현대의 애플리케이션과 서비스는 복잡하고, 다양한 구성 요소로 구성되어 있습니다. 이러한 복잡한 시스템에서는 오류나 성능 저하, 다양한 이슈들이 예상치 못한 시간에 발생할 수 있습니다. 이러한 이슈들을 신속하게 파악하고 대응하기 위해서는 효과적인 모니터링 시스템이 필수적입니다. 모니터링은 시스템의 건강 상태를 지속적으로 관찰...

EC2에 OpenVPN 서버 구축하기

OpenVPN은 클라우드에 연결된 개인 네트워크의 보안을 강화하거나 여러 클라우드를 연결하는 방법을 제공합니다. 그 중에서도 OpenVPN은 주로 UDP를 사용하는데, 이에 대한 이유를 시작으로 AWS EC2에서 Docker로 OpenVPN을 구축하는 방법을 소개하겠습니다. 왜 OpenVPN은 UDP를 사용하는가? OpenVPN은 TCP와 UDP ...