앞서서 설명한 forEach와 map은 정말 많이 쓰니 꼭 알아둬야한다. 근데 이번에 설명한 some, every, filter 는 앞의 두녀석보다는 상대적으로 덜 쓰게 된다. (filter는 자주 쓰는거 같다) 심지어 some, every 의 존재 자체를 깜빡한 채 해당 기능을 반복문으로 직접 구현할때도 있었다... 평상시에 정리해두면서 머리속에 팍팍 넣어놔야 겠다. 세가지 메소드 모두 인자로는 (요소, 인덱스, 배열자체) 를 받는다. 예제에서는 요소 하나만 인자로 받아서 설명하도록 하겠다. (실제로도 거의 이렇더라 나는) some 배열의 요소중 하나라도 특정 조건을 만족하는지 true, false로 리턴해주는 메소드다. (이름 참 명확하다) 참고로 요소를 돌면서 조건을 만족하는 요소를 만나면 그 즉시..
개발을 하면서 정말 많이 사용되는 녀석들... 바로 array 메소드들이다. 매번 필요한 기능이 있을 때마다 구글링을 하게 되는데 array 메소드의 경우 하도 자주 쓰니 이참에 정리를 해보려고 한다. 이번 포스팅의 경우 배열의 원소 하나하나에 접근하는 공통점을 가진 forEach와 map에 대해서 차이점을 정리하겠다. forEach 배열 안에 존재하는 요소에 하나하나 접근을 하여 원하는 로직을 구현할 수 있다. 함수 인자로는 순서대로 원소, 인덱스, 원본배열 이다. (사실 인자는 보통 첫번째만, 기껏해야 인덱스 까지만 사용되더라... map도 마찬가지고) 간단히 숫자들로 구성된 배열들의 합을 구한다면 아래와 같이 구현하면 되겠다. let numArr = [1,2,3,4,5] let sum = 0 // ..
먼저 자바스크립트의 모듈시스템에 대해 설명하자면 기존에는 html 파일에서 태그를 이용하여 필요한 자바스크립트 파일들을 불러왔다. 이러한 방식에는 큰 문제가 있었는데 html 파일에서 불러와진 여러 자바스크립트들이 서로 다른 파일임에도 불구하고 서로가 의존적이게 되어버렸다... 부가적으로 파일들을 로드하는 순서도 중요했고... 이러한 점을 보완하기 위해 등장한 것이 바로 모듈 시스템이다. 간단히 말하면 외부에서 사용할 수 있게 특정 함수나 오브젝트 등을 모듈화 하고, 해당 모듈을 사용하려는 쪽에서는 필요한 모듈만 불러와서 사용하면 된다. 모듈을 정의하기 위한 문법에는 여러가지가 있다. (모듈 포맷) 대표적으로 AMD, CommonJS, ES6 등이 있는데 이 포스팅에서는 CommonJS와 ES6를 비교해..
트럭팩터 (혹은 버스팩터) 주로 애자일에서 사용되는 단어인데, 간단히 설명하면 다음과 같다. 팀원 중 몇명이 버스(혹은 트럭)에 치어죽어야 프로젝트가 심각한 상태에 놓이는지를 나타내는 지표다. 극단적인 표현일 뿐, 퇴사나 휴가 등으로 빠지는 경우로 이해하면 될 것 같다. 로또 팩터라고도 하는데, 로또에 당첨되면 퇴사를 하니 결국엔 같은 의미이다. 트럭팩터가 1 이라면 -> 특정인 1명만 빠져도 프로젝트가 심각해진다. 라고 이해하면 되는 것이다. 반대로 트럭팩터가 10 이라면, 10명이나 치어죽어야 프로젝트가 망한다는 뜻이니 트럭팩터가 높을 수록 해당 프로젝트의 리스크가 작다고 볼 수 있다. 즉 현재의 문제라기 보다는 잠재적인 문제점 (특히 인적자원) 을 나타내기에 좋은 지표라고 할 수 있다. 특정 인원에..
지난 강의까지 만든 REST로 구현한 간단한 CRUD API 를 실제로 호출해보겠습니다. resources 폴더 내에 있는 application.properties 파일 명을 application.yml 으로 변경합니다. 두 확장자 모두 설정 파일 입니다만, yml 파일이 지원하는 특유의 직관적이고 유연한 구조 덕분에 yml 파일이 최근들어 많이 사용되고 있습니다. application.yml 1 2 3 4 spring: h2: console: enabled: true cs 프로젝트 생성 시 dependency에 추가해두었던 H2를 활성화 했습니다. 실제로 CRUD 기능을 테스트 하기 위해서는 당연히 DB 테이블을 직접 확인해봐야겠죠? 다행히 H2 는 별도의 클라이언트 프로그램 없이 웹 상에서 콘솔을 제..
1편 강의에서 간단한 스프링부트 웹서버를 띄우는거까지 했으니 이번에는 특정 도메인 모델에 대한 CRUD 기능을 제공하는 API 를 만들어보겠습니다. 도서관리 기능을 제공하는 예제로 진행하겠습니다. 우선, 도서관리의 기본이 될 Book 클래스를 생성해 보겠습니다. 위와같은 패키지와 클래스 파일을 생성해주세요. Book 클래스 도서관리 API 를 만드는 예제이기 때문에 저희 예제의 도메인 모델은 '책' 입니다. 소스는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @Setter @Entity public cla..
to_date('20190223','YYYYMMDD') 토요일어느덧 미리 신청해두었던 KCD 2019 행사 날짜가 되어 동기와 함께 다녀왔다. 아마 지난번에 왔을때는 2017년이었던 것 같은데, 전반적인 행사의 진행 방식은 큰 차이가 없었다.장소 역시 광화문에 있는 한국 마이크로소프트로 동일했다. ↑ 후원 업체들과 참여 커뮤니티들의 숫자가 꽤 많다! ↑ 선착순으로 식권과 사은품을 준다는 말에 다소 일찍 가서 그런지, 당시엔 아직 많은 부스가 제대로 준비가 되지 않았었다.(어쨌든 사은품을 받았다 후후) ↑ 다양한 부스에서 설문조사에 응하면 해당 회사나 커뮤니티의 상품과 스티커를 받았다. ↑ 이날 엄청나게 많은 스티커를 겟했다.(뿌듯) 개인적으로는 역시 라인과 카카오의 스티커가 귀여웠다. ↑ 각 커뮤니티 장..
빌더 패턴(Builder Pattern)은 일반적으로 객체를 생성할 때 사용하는 패턴이다. 특히 생성자에 들어가는 매개변수가 많을 때, 해당 클래스는 단순 생성자 호출 대신에 Builder 패턴을 사용하는게 유리하다. 빌더 패턴의 장점을 이해하기 쉽게 빌더 패턴 외의 객체 생성 방법을 먼저 보자. 1. 점층적 생성자 패턴( telescoping constructor pattern) 가장 일반적인 패턴이다. 간단히 요약하면 매개변수를 1개 받는 생성자, 2개 받는 생성자 ~ (반복) 결국에는 전부 다 받는 생성자까지 모두 만들어 주는 방식이다. 123456789101112131415161718192021222324public class Person { private final String name; pri..
- Total
- Today
- Yesterday
- 빌더패턴
- 인텔리제이
- KCD2019
- nuxtjs
- 야누자이
- jest
- javascript engine
- promise
- 자바스크립트 엔진
- CommonJs
- springboot
- event loop
- vue
- vue.js
- await
- vuejs
- 테스트코드
- KCD
- 스프링부트
- nuxt
- 근본설
- intellij
- 근본
- 이벤트루프
- javascript
- Builder
- 자바스크립트
- 모듈시스템
- 프로미스
- es6
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |