전체 글

전체 글

    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원칙 중 단일 책임 원칙에 위배된다. 단일 책임 원칙이 지겨지기 위해서는 클래스는 단 한개의 책임을 가져야한다. 문제 푸는 데에는 어떻게 하든 정답이지만.. 바꾼 결..

    [Flutter] pagination: 스크롤 시 추가 데이터 로딩하기(무한스크롤)

    Pagination을 위한 무한 스크롤 동작 구현 스크롤을 바닥까지 내렸을 때 목록에 데이터를 더 불러올 수 있도록 구현함. 블로그를 보면 ListView 위젯을 많이 사용하던데, 나는 SingleChildScrollView 위젯에 스크롤 컨트롤러를 추가하여 구현하였다. ScrollController 선언 final scrollController = ScrollController(); SingleChildScrollView 위젯에 controller 추가 SingleChildScrollView( controller: scrollController, ... ); 스크롤 컨트롤러 리스너 추가 스크롤을 내리거나 올릴 때마다 listener에 등록된 _addScrollController 함수가 호출된다. scr..