전체 글

전체 글

    [JAVA] 제너릭 타입으로 배열을 만들 수 없는 이유 (타입 추론)

    여러개의 Set을 배열로 구현해서 다음과 같이 add하면 warning이 뜬다. Set[] set = new Set[2]; set[0] = new HashSet(); set[0].add(0); add 시 warning: add하는 값의 type check가 보장이 안되어서인 것 같다. Unchecked call to 'add(E)' as a member of raw type 'java.util.Set' "How to make an array of map" 왜 Map으로 배열을 만들 수 없는지 더 찾아보았고, 그 이유는 제너릭 타입은 타입 추론이 일어나기 때문에 typesafe 하지 않아 ClassCastException 런타임 오류가 발생할 수 있어서이다. 예를 들어서, 아래처럼 선언을 했다고 했을 때,..

    Javascript/Typescript 기본 문법 정리

    Javascript/Typescript 기본 문법 정리

    구조 분해 할당(Destructuring assignment) 배열이나 객체를 해제하여 그 값을 개별 변수로 담는 방법이다. 개별 변수로 할당된 값은 기존 값이 변경되더라도 변경되지 않는다(값만 copy 되는 것). arr[0]은 3으로 변경되었지만 idx0은 그대로이다.

    [MSA] BFF 패턴: 프론트엔드를 위한 백엔드

    [MSA] BFF 패턴: 프론트엔드를 위한 백엔드

    ⭐️ 틀리거나 모호한 부분은 알려주시면 감사하겠습니다. BFF 배경과 개념 사용자 인터페이스(ios, android, desktop 등)가 다양해짐에 따라 기존의 방식대로 프론트엔드 요청 백엔드 응답 방식을 이용하게 된다면 병목현상이나 구현해야 할 api들이 훨씬 많아질 수 있다("code bloating"). 그래서 화면을 위한 백엔드를 프론트엔드 단과 백엔드 단 사이에 두어 데이터 수집 및 처리를 용이하게 해주는 BFF 패턴 방식이 등장하였다. 다음의 두 가지 예를 들어 bff 개념을 이해할 수 있다. (첫번째는 일반적인 예시고, 두번째는 개인적으로 bff를 공부하게 된 배경이 포함된 예시..) 예를 들어, 네이버에서 어떤 상품을 검색하는 경우, 최소 1) 상품에 관한 정보 와 2)리뷰가 화면에 보이..

    [Spring-boot] @RestController 와 @Controller

    [Spring-boot] @RestController 와 @Controller

    @RestController와 @Controller는 모두 컨트롤러 빈을 등록할 때 사용하는 어노테이션이지만 차이가 있다. @Controller @Controller는 view page를 반환한다. 만약 json 타입을 반환하고자 하는 경우 @ResponseBody 어노테이션을 추가한다. @ResonseBody를 사용하면 객체를 반환하고, 객체는 HTTP response body가 담을 수 있는 json이나 xml 타입으로 변환하여 Get 요청을 보낸 클라이언트는 json 타입으로 객체를 받게 된다. 즉 viewResolver를 사용하지 않는다. @RestController @RestController는 Restful Controller 라고 생각하면 된다. @Controller와 @ResponseBod..

    AWS로 인프라 구축하는 과정 (요약)

    AWS로 인프라 구축하는 과정 (요약)

    다음과 같은 과정을 통해 AWS 로 인프라를 구축할 수 있다. 1. 사설 ip 대역대에 vpc 구축 vpc : virtual private cloud vpc를 사용하여 클라우드 상에서 독립된 네트워크로 작동할 수 있게 된다. 2. subnet 생성 subnet 안에 리소스들을 위치시킨다 (ex. EC2, RDS

    코테 풀다가 SRP 원칙에 맞게 함수를 바꿔봄.

    코테 대비용 문제를 풀면서 srp 원칙에 맞게 함수명에 맞는 작업만 하도록 코드를 바꿔보았다. 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 기존 방식: 문제를 풀 때 makeCombi 라는 함수에서 소수를 만들기 위한 3개의 숫자를 뽑고, 뽑은 후에는 소수인지 확인 소수인 경우 1을 리턴 하도록 구현했었다. 이는 객체지향 5원칙 중 단일 책임 원칙에 위배된다. 단일 책임 원칙이 지겨지기 위해서는 클래스는 단 한개의 책임을 가져야한다. 문제 푸는 데에는 어떻게 하든 정답이지만.. 바꾼 결..