본문 바로가기

분류 전체보기260

JavaScript - keys(), values(), entries() (22.10.18 TIL) 오늘 피보나치 수열 알고리즘 문제를 풀던 도중 아주 좋은 배열 생성 패턴을 알게 되었다. 먼저 내 코드는 아래와 같다. Q. 수학에서 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며, 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 숫자를 매개변수로 입력 받으면 해당 숫자의 위치에 해당하는 피보나치 수를 반환하는 fibonacciNumber 함수, 숫자를 매개변수로 입력 받으면 그 수 만큼의 피보나치 수열 배열을 반환하는 fibonacciArray 함수 만들어보자. => fibonacciArray(10) 이면 [ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ] 를 반환 -----------------------------------------------.. 2022. 10. 18.
JavaScript - destructuring, rest (22.10.17 TIL) 객체와 배열은 자바스크립트에서 가장 많이 쓰이는 자료 구조이다. 키를 가진 데이터 여러 개를 하나의 엔티티에 저장할 땐 객체를, 컬렉션에 데이터를 순서대로 저장할 땐 배열을 사용한다. 그런데 함수에 객체나 배열을 전달해야 하는 경우나, 객체나 배열에 저장된 데이터 전체가 아닌 일부만 필요한 경우에는 어떻게 하면 좋을까? 그럴 때 사용할 수 있는 것이 객체나 배열을 분해할 수 있게 해주는 문법인 destructuring 이다. // 이름과 성을 요소로 가진 배열 let arr = ["Jenna", "Jun"] // destructuring 을 이용해 firstName엔 arr[0]을, // surname엔 arr[1]을 할당함. let [firstName, surname] = arr; console.log.. 2022. 10. 17.
10월 두 번째 주간회고 📚 221010-221014 재미있었던 스프링 부트의 8주 차가 끝났다. 가지 마~ㅠ~ㅠ 다음 주차는 내 기준 진입장벽이 높았던 자바스크립트와 리액트를 배우는 주차라서 그런가 더 아쉽다. 하지만 다시 또 자바로 돌아오면 화를 내고 있는 나를 발견하겠지? 이번 주는 저번 주 액션 플랜대로 강의 인출을 할 때 코드 하나하나를 외우려고 하기보다 큰 맥락으로 흐름을 이해하려고 해 봤다. 하지만 이번 주차는 이런 식으로! 큰 흐름을 잡아 정리해보고 강의 반복 과제를 하다가 기억이 안 날 경우, 이 흐름을 참고해서 기억해내려고 노력했다. 물론 아래 사진처럼 자세하게 정리도 해 놓았지만 이건 거의 답을 보는 것이기 때문에 최대한 흐름 안에서 해결하려 했다. 월~화 까지는 반복과제의 인출 속도가 조금 느렸지만 수요일부.. 2022. 10. 15.
수고했다 오늘도! (22.10.14 TIL) 드디어 8주차 마지막 날이다! 아직 마지막 남은 퀘스트 과제를 하고 있는데 내일이 벌써 주말이라고,,? 벌써 새로운 개념을 배우는 주말이 돌아왔다고..? 이번 주 월요일에 살짝 퀘스트 과제를 대충 훑어 봤을 때 마지막 마카오레터 페이징 기능이 좀 많이 어려워보여서, 과제를 여유롭게 하면 안될 것 같아 1번, 2번 과제는 수요일에 끝내두었다. 그리고 마지막 과제는 목,금 이렇게 이틀동안 하면 되겠지 싶어 아주 완벽한 계획을 세웠다고 생각했다. 하지만 마지막 과제가 이렇게 금요일 밤 까지도 끝나지 않을 줄이야.... 하지만 저번주도 주말 강의에 온전히 투자해서 스프링에 더 집중할 수 있었기 때문에 밤을 새서라도 완성해서 주말은 주말 강의에만 집중할 것이다! 오늘은 일기 형식의 til 이라서 그 동안의 자체 .. 2022. 10. 14.
Spring boot 에서 Service 의 역할 (22.10.13 TIL) Controller - entity - Service - Repository 는 일종의 패턴 같은 것인데 큰 틀로는 아래와 같다. Client 가 Request 를 보낸다. Request URL에 알맞은 Controller 가 수신한다. Controller 는 넘어온 요청을 처리하기 위해 Service 를 호출한다. Service 는 알맞은 정보를 Repository 에서 가져온 후 가공하여 Controller 에게 데이터를 넘긴다. Controller 는 Service 의 결과물을 Client 에게 전달해준다. 여기서 service 가 client 의 요청에 대한 올바른 정보를 제공하기 위한 것을 '비즈니스 로직을 수행한다'고 말한다. 만약 service 를 거치지 않고 controller 에서 rep.. 2022. 10. 13.
'개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴' 을 읽고 (7장, 주요 디자인 패턴) 객체 지향과 디자인 패턴 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com [7. 주요 디자인 패턴] 이번 장에서 정리할 디자인 패턴 전략 패턴 / 템플릿 메서드 패턴 / 상태 패턴 데코레이터 패턴 / 프록시 패턴 / 어댑터 패턴 옵저버 패턴 / 미디에이터 패턴 / 파사드 패턴 추상 팩토리 패턴 / 컴포지트 패턴 전략 (Strategy) 패턴 서로 다른 정책들이 한 코드에 섞여있으면 유지보수가 어려워진다. 정책이 추가될때마다 코드가 수정되어야 하고 if-else 블록도 늘어난다. 이럴 때 정책을 추상화하여 인터페이스로 만들어서 사용한다. 알고리즘 정책을 추상화하고 있는 인터페이스를 '전략' 이라고 부르고, 실제 구현 기능 자체의 책임을 가지고 있는 클래스를.. 2022. 10. 12.