본문 바로가기
728x90

분류 전체보기60

이벤트 루프 개요 최근 회사에서 차세대 프로젝트 진행 중 문자 도메인 프론트엔드 작업을 주로 하게되면서 기존에 접하지 못했던 js 코드를 많이 접하고 있다. 개발 일정이 있다보니 일정에 쫓겨 모든 코드를 이해한 뒤 사용하지 못하는 경우가 종종 생기고 있었는데, 이러한 부분에서 이슈가 생겨서 관련 내용을 공부 후 정리하고자 한다. setTimeout(function() { console.log('world') }, 0) console.log('hello') // 결과 // hello // world 위의 js 코드는 그동안 제대로 이해하지 못했던 코드 중 대표적인 코드이다. setTimeout 은 일정 시간을 대기 후 콜백함수를 실행하게 해주는 함수인걸로 알고 있었고, 대기 기간을 0초로 설정한다면 함수 사용의 의미가.. 2022. 8. 7.
[백준 1003] 피보나치 함수 문제 요약 시행 착오 1. 문제 이해 오랜만에 알고리즘 문제풀이를 하다보니 주어진 예시에 대한 이해가 부족했다. 맨 처음에 주어진 카운트만큼 반복문을 돌려야 하는데 왜 입력 숫자와 출력 숫자의 갯수가 다른지 고민했음.. 2. 의도에 맞지 않은 답 출력 처음에는 문제를 제대로 이해하지 못해서 주어진 N 까지의 피보나치 과정을 전부 메모이제이션 한 뒤, N까지의 각 피보나치 수 중에서 모든 0과 1의 개수를 세었다. 실제 문제의 요구사항은 그것이 아닌 fibo(0)과 fibo(1)의 호출 횟수를 구하는 것이었고 다시 문제를 읽고 이를 파악하여 수정함 Solution import java.util.Scanner; public class Main{ public static void main(String[] ar.. 2022. 3. 13.
[스프링 핵심원리 기본]스프링 컨테이너와 스프링 빈 스프링 컨테이너와 스프링 빈 이전 강의까지에서는 객체지향에 대한 전반적인 개념에서 시작하여 간단한 예제를 통해 할인 시스템을 만들어 보았다. 예제를 통해 객체지향적 사고를 배울 수 있었고, 이제부터는 본격적으로 스프링의 원리에 대해서 정리한다. 스프링 컨테이너 생성 @Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } ... } public static vo.. 2022. 1. 15.
[Effective Java] Item02. 생성자에 매개변수가 많다면 빌더 패턴을 고려하라 들어가며 지난 Item01에서는 public 생성자의 대안으로 정적 팩토리 메서드를 사용하는 것에 대해 정리했다. 많은 경우에 정적 팩토리 메서드는 public 생성자에 비해 장점을 가지고 있지만, 두 방법 모두 똑같은 제약을 가지고 있다. 바로 객체에 전달할 매개변수 중 선택적 매개변수가 많을 경우에 그에 대한 유연성이 떨어진다는 점이다. 이번 포스트에서는 선택적 매개변수가 많을 경우 public 생성자, 정적 팩토리 메서드의 대안들에 대해 알아보고 그 중에서 빌더 패턴에 대해 정리해볼 예정이다. 확장의 어려움 앞에서 언급했듯이 public 생성자와 정적 팩토리 메서드 기법은 확장이 어렵다. 예를 들어 건강 식품(단백질 보충제, 기타 아미노산 보충제 등)의 경우, 1회 제공량, 총 제공량, 중량 등의 .. 2022. 1. 14.