일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- OOP
- MySQL
- node.js
- dfs
- 인접행렬
- 인접리스트
- Interceptor
- 알고리즘
- winston
- REST API
- Deep Dive
- Spring
- 프로그래머스
- Linux
- javascript
- 코딩테스트
- LifeCycle
- puppeteer
- css
- nestjs
- 탐욕법
- Kubernetes
- java
- JWT
- bean
- GraphQL
- html
- TIL
- 자료구조
- typescript
- Today
- Total
목록FrameWork (54)
처음부터 차근차근

이번 포스팅에서는 스프링 빈과 의존관계에 대해서 알아보겠습니다. 간단하게 알아보는 것이므로, 자세한 사항은 추후 다룰 예정입니다. 컴포넌트 스캔과 자동 의존관계 설정 Component란? a part that combines with other parts to form something bigger 하나의 부품이며, 다른 부품과 결합되어 어떠한 큰 것을 만드는 부품이라고 합니다. 즉 Repository, Service, Controller 등 하나의 Component가 되며, 이것들을 조립해서 Spring Applicaiton을 만드는 것입니다. 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.M..

이번 포스팅에서는 회원 관리 Backend Service를 개발해보겠습니다. 로그인, 유저 확인 등의 경우에는 Spring Security가 필요한데, 이 부분은 아직 어려우니 제외하도록 하겠습니다. 비즈니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저..

이번 포스팅은 간단하게 Spring을 통해 다양한 방법으로 데이터를 전송해보겠습니다. 이번에는 간단하게 구현을 하는 포스팅이며, 자세한 설명은 추후 MVC 패턴 강의에서 배워보도록 하겠습니다. 정적 컨텐츠 Spring Boot에는 Static content 기능이 있습니다. 이는 HTML 문서를 보여줄 수 있는 기능입니다. 먼저 HTML 파일을 하나 만들어줍니다. 정적 컨텐츠 입니다. HTML 문서 작동 후 서버를 돌려 Test를 진행해 보겠습니다. http://localhost:8080/hello-static.html 간단한 그림을 통해 어떻게 작동된건지 구조를 살펴보겠습니다. 웹 브라우저에서 해당하는 URL 주소 확인 Tomcat에서 스프링 컨테이너에서 해당하는 컨트롤러를 확인 없는 경우 정적 페이지..

이번 포스트는 Spring을 통해 간단한 Project를 만들어보기 위해 기록하였습니다. Express와는 너무 다른 언어이기 때문에 (Nest는 약간 비슷하더라..?) 한번 공부해보겠습니다. 주의! 이 포스트는 기초를 위한 포스팅입니다. 프로젝트 생성 SpringBoot start 사이트로 들어가서 스프링 프로젝트를 생성합니다. https://start.spring.io/ 먼저 왼쪽에 보면 체크해야 할 것들이 보입니다. Project : Gradle - Groovy로 선택해줍니다.(코틀린 쓸 거 아니면..) Language : Java Spring Boot : 3.2.0으로 선택 나머지 Group과 Artifact를 마음대로 적어주면 됩니다. Package는 Jar, Java version 은 17로 ..

Node.js를 통해 서버를 많이 구축하고 다양한 프레임워크를 사용했지만, 정작 Node.js의 특징의 장점, 단점에 대해 정확히 모르는 것 같아 한번 정리해야겠다는 생각이 들었습니다. Express, Nest.js는 Node.js를 기반으로 사용하고 있으니, 이를 한번 간단하게 정리해보겠습니다. Node.js란? 노드 공식 사이트에는 노드를 다음과 같이 설명하고 있습니다. Node.js® is an open-source, cross-platform JavaScript runtime environment. Node.js runs the V8 JavaScript engine, the core of Google Chrome, outside of the browser. Node.js는 오픈 소스이며, Cros..

NestJS에서는 Custom Exception을 구현할 수 있습니다. Custom Exception을 구현하여 Production 환경에서는 물론 개발 환경에서도 더 쉽고 빠른 디버깅이 가능하도록 구현할 수 있습니다. 저는 Custom Exception을 구현하여 다음과 같은 기능을 구현했습니다. message가 아닌 errorCode를 구현하여 클라이언트에서 예외를 명확하게 구분할 수 있도록 수정 일반 예외처리(설문지 조사 실패, ID 로그인 실패 등)과 서버에서 발생한 치명적인 에러(ORM Error, Server 자체 에러)를 구분하고, 치명적인 에러의 경우 StatusCode를 500으로 일괄 처리하며, 서버 문제를 외부에 노출시키지 않도록 처리 Exception을 직접 구현하여 코드 레벨에서 ..
이번에는 Winston을 통한 NestJS Logger Interceptor를 구현해보겠습니다. 저번에 Winston을 NestJS App에 초기 설정을 하였는데, 이 부분을 먼저 읽고 오시면 도움이 됩니다. [NestJS] Winston Logger 초기 설정 및 Logger 사용 이번 시간에는 NestJS에 Logger를 적용해보겠습니다. GraphQL 과제에서 Logging 기능을 추가해야 되기 때문에, 공부할 겸 적용시켰습니다. Log?? 컴퓨팅에서 로그파일은 운영체제나 다른 소프트웨어가 실 hangju95.tistory.com 사용 의도 접속한 사람의 IP와 자주 사용하는 정보를 기록하기 위해 brutal force 공격을 통해 접속을 많이 하는 경우 Ban 처리도 가능할 것으로 기능 구현 예정..

이번 시간에는 NestJS에 Logger를 적용해보겠습니다. GraphQL 과제에서 Logging 기능을 추가해야 되기 때문에, 공부할 겸 적용시켰습니다. Log?? 컴퓨팅에서 로그파일은 운영체제나 다른 소프트웨어가 실행 중에 발생하는 이벤트나 각기 다른 사용자의 통신 소프트웨어 간의 메시지를 기록한 파일이다. 로그를 기록하는 행위는 logging이라고 한다. -Wikipidia Server 구축 시 Logging 작업은 굉장히 중요합니다. Product 환경에서 에러가 발생 시, 문제가 어디에서 발생했고 해당 코드는 어디에 있는지 추적하기 편하게 해줍니다. 또한 사용자 접속 시 Ip 기록을 하여 접속자 수, 접속 기록 등을 확인할 수도 있습니다. 로그 관리는 개발자에게 필수이기 때문에 한번 적용해보겠습..

이번 포스트는 GraphQL의 Mutation에 대해 다루겠습니다. Resolver나 초기 설정에 대해 궁금하시다면 해당 글을 확인하면 됩니다. [NestJS] GraphQL Resolvers 저번 시간에는 NestJS에 GraphQL 초기 설정을 진행했습니다. 안 보고 오신분들이라면 한번 쯤 보고 오시는 것을 추천드립니다. [GraphQL] NestJS에서 GraphQL 초기 설정 GraphQL이란? GraphQL에 대한 상세한 설 hangju95.tistory.com [GraphQL] NestJS에서 GraphQL 초기 설정 GraphQL이란? GraphQL에 대한 상세한 설명이 적혀 있습니다. [GraphQL] GraphQL이란? GraphQL이란? GraphQL은 API를 위한 쿼리 언어이며 이미..

저번 시간에는 NestJS에 GraphQL 초기 설정을 진행했습니다. 안 보고 오신분들이라면 한번 쯤 보고 오시는 것을 추천드립니다. [GraphQL] NestJS에서 GraphQL 초기 설정 GraphQL이란? GraphQL에 대한 상세한 설명이 적혀 있습니다. [GraphQL] GraphQL이란? GraphQL이란? GraphQL은 API를 위한 쿼리 언어이며 이미 존재하는 데이터로 쿼리를 수행하기 위한 런타임 입니다. GraphQL은 AP hangju95.tistory.com 이번 시간에는 NestJS에 Resolver를 만들어보겠습니다. Object type GraphQL은 Query를 통해 Data를 받아오는데, 이때 Schema가 사용됩니다. 따라서, Resolver를 만들기 전 우리는 Gra..