시작 이번 주차부터는 저번주에 느낀점을 바탕으로 요구사항에 대한 문서를 꼼꼼하게 읽어보기로 했다. Fork&Clone 을 시작으로 기능목록을 작성하면서 어떻게 해야지 깔끔하게 코드를 분리할 수 있을지에 생각하는게 먼저였다. 위기 1. 이번 주 과제시작부터 문제가 발생했다. 요구사항에서 제공하는 Console.readline() 메서드...
우아한테크코스 5기 프리코스 1주차 회고
시작 전 혹시 모른다는 생각에 문제를 공유하진 않았습니다. 문제에 대한 정보는, 아래 문제 풀이 레포지토리를 참고해주세요 1주차 시작 온보딩 레포지토리 지원할때부터 떨렸다. 본 코스가 아님에도 본 코스로 가기 위한 과정인지라 잘 해내고 싶은 마음이 컸다. 본 코스에 가고자 하는 계기는 많은 이유가 있지만 다음 3가지로 축약한다. ...
만들면서 배우는 클린 아키텍처
CHAPTER 03. 코드 구성하기 가볍게 배경지식 훑어보기 육각형 아키텍쳐 그림출처 육각형 아키텍쳐 용어 인바운드 어댑터/포트 : 애플리케이션에 표현 계층 대신 비즈니스 로직을 호출하여 외부에서 들어온 요청을 처리하는 인바운드 어댑터로, Controller 라고 생각하면 편하다 아웃바운드 어댑터/포트 : 영속화 계층 대신 비...
WebSocket + MessageQueue -> ChattingServer
웹 소켓만을 사용한 채팅서버 아키텍쳐는? IOS [SEND, msg : “반갑습니다 ^^”] -> Spring Boot (STOMP) -> Android [RECEIVE, msg : “반갑습니다 ^^”] 근데 이 아키텍쳐에서 IOS 가 보낸 메세지가 가진 목적지의 소켓을 어떻게 아는건가? 우선 메세지를 보내고자 하는 유저와 메세지를 수...
WebSocket In Spring (+STOMP)
참고자료 참고 자료 - Spring WebSocket 공식문서 웹 소켓 개요 단일 TCP 연결을 통해 전이중 양방향 통신을 가능하도록 채널을 설정하는 표준화 HTTP 와 다른 프로토콜이지만, 80, 443 포트를 사용하여 기존 방화벽 설정을 재활용할 수 있는 특징을 가진다. WebSocket 을 이용하려면 양 측의 Handshake 가 필...
QueryDSL 조회 값 DTO 와 매핑하기
QueryDSL과 DTO를 매핑하는 방법 총 4가지가 존재하는데 Projections.bean (프로퍼티 접근 Setter) Projections.fields (필드 접근) Projections.constructor (생성자 접근) @QueryProjection (생성자 활용) 특징: DTO 생성자에 @QueryProjectio...
MySQL 자료형에 관하여
1. 숫자 자료형 설명 BIT 비트값 타입. 즉, 0과 1로 구성되는 binary 값을 저장한다. BOOL 0은 false, 0이 아닌 값은 true 로 간주하는 논리형 데이터 ENUM ...
Spring 과 AWS S3, REST API 이미지 업로드
S3 버킷 생성 Spring 과 연동 REST API 요청 테스트하기 (Postman) 1. S3 버킷 생성 위와 같은 권한으로 S3 버킷을 생성한다. 버킷 생성 후 버킷에 접근할 IAM 를 생성한다. 다음과 같은 정책을 연결시켜 주면 IAM 셋팅은 끝이다. 그렇게 IAM 를 생성하면 해당하는 AccessKey 를...
Spring 기본
1. 스프링 컨테이너와 Bean 1.1. 스프링 컨테이너란? 스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 수행한다. 여기서 말하는 자바 객체를 스프링에서는 빈(Bean)이라고 칭한다. IoC와 DI의 원리가 이 스프링 컨테이너에 적용된다. 1.1.1 제어 흐름을 외부에서 ...
Annotation 이란?
Annotation(어노테이션) 은 무엇인가?? 구글 번역기를 돌려보면 “주석” 이라고 나온다. Annotations, a form of metadata, provide data about a program that is not part of the program itself. Annotations have no direct effect...