분류 전체보기

코딩하는 대학생에서 개발자까지
2주차 미션 회고 feat. 우테코
·Backend/회고
1주 차의 Problem을 해결하자. 회고의 목적은 문제를 인식하고 개선을 하는 것입니다. 1주 차의 Problem 1. JDK 17을 효과적으로 활용하지 못했다. 이 문제점을 해결하기 위해 JDK 17의 Record을 사용했습니다. public record RoundResultDto(String name, int location) { } public record GameResultDto(List winners) { } Record를 사용한 이유 간결성과 불변성이라는 장점을 가지고 있다. 필드 정의와 getter 메서드 작성 등의 반복적인 작업을 한 줄로 간결하게 표현할 수 있습니다. equals, toString, hashCode 등의 메서드를 자동으로 생성해 줍니다. 2. 의존성 주입 private ..
[JAVA] 일급 컬렉션이란? feat.우테코
일급컬렉션의 장점은 컬렉션의 불변을 보장? i am different 하게 생각해요 글을 작성한 이유 & 일급 컬렉션을 선택한 이유 우아한 테크코스 2주 차 미션을 수행하면서 일급 컬렉션을 사용해 글을 작성하면서 완벽히 이해하려고 합니다. 원래는 MVC 패턴을 통해 Service(Model) 레이어에서 Car의 상태에 관련된 로직을 작성하려고 했으나, 만약 Service에서 관리해야 하는 대상이 Car 뿐만 아니라 Airplain, Bus 등 다양해지면 어떻게 될까?라는 생각에서 일급 컬렉션을 적용하게 되었다. 일급 컬렉션이란? Collection을 Wrapping하면서, Wrapping 한 Collection 외 다른 멤버 변수가 없는 상태를 일급 컬렉션이라 한다. public class Car { p..
[왜?] MVC 패턴을 선택했을까? feat.우테코
·왜?
MVC는 디자인 패턴일까? 아키텍처 패턴일까? 위의 질문은 내가 요즘 만나는 개발자마다 묻는 공통 질문이다. "디자인 패턴이다," "아키텍처 패턴이다"라는 의견이 주로 반반 나오는 것 같다. 1. MVC 패턴이란? MVC패턴은 Model View Controller로 이루어진 소프트웨어 디자인 패턴이다. 공식문서에서 디자인 패턴으로 정의를 하였습니다. (https://developer.mozilla.org/ko/docs/Glossary/MVC) MVC - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 d..
[JAVA] 상속과 구성
고양이는 동물이다(is-a), 자동차는 엔진을 가지고 있다(has-a) is-a는 "~는 ~이다"라는 말이며 상속을 의미합니다. has-a는 "~는 ~을 가지고 있다"라는 말이며 구성을 의미합니다. 1. 상속이란? 상속은 클래스 간의 계층 구조를 형성하여 특성을 물려주는 구조입니다. 자바를 배우신 분들이라면 상속에 대해 아마 잘 아실 거라고 생각됩니다. 조금이라도 난이도가 있는 코드를 보면 extends라는 문법요소가 꼭 있습니다. 이때 extends가 바로 상속을 표현하기 위해 사용되는 문법 요소입니다. 코드 class Animal { public void eat() { System.out.println("동물이 먹는다."); } } class Cat extends Animal { public void..
1주차 미션 회고 feat. 우테코
·Backend/회고
높은 응집도 낮은 결합도 1주 차의 핵심 키워드는 "높은 응집도 낮은 결합도"였다. 설계를 할 때도 항상 키워드를 중심으로 설계했다. Keep 설계를 확실하게 한 뒤, 개발을 시작하니까 갑작스럽게 변하는 내용이 없어서 좋았다. 높은 응집도, 낮은 결합도를 중심으로 개발을 하다 보니 자연스레 MVC 패턴이 생각났고 문제에 적용시켜보았다. 설계 Controller View에게 입력을 받은 뒤, Service를 통해 데이터의 가공을 요청하고 다시 결과를 View를 통해 표현 View 입력을 받은 뒤, Controller에게 결과를 전달하고, 받은 결과를 출력한다. Sevice Controller을 통해 데이터 가공을 요청받은 뒤, 가공을 마치면 결과를 Controller로 전달. 이렇게 개념을 확실하게 공부한..
[왜?] RefreshToken을 Redis에 저장할까?
·왜?
Redis를 통한 RefreshToken 관리, Redis를 통해 RefreshToken 구현하기 구글에 RefreshToken Redis를 검색하는 나오는 결과다. 항상 사람들은 RefreshToken을 Redis에 저장해야 한다고 말했다. 그런데 왜? RefreshToken을 Redis에 저장하냐고 물어보면 "그게 대중적인 방법이니까"라고 말하는 사람이 대부분일 것이다. RefreshToken을 Redis에 저장하는 이유 1. TTL(Time-To-Live) 대부분의 사람들이 TTL 기능 때문에 Redis에 RefreshToken을 저장할 것이다. Redis는 TTL 기능을 제공해, 데이터의 만료 시간을 설정할 수 있습니다. redisTemplate.opsForValue().set(key, refre..
코딩하는_대학생
'분류 전체보기' 카테고리의 글 목록 (5 Page)