good-dev의 등록된 링크

 good-dev로 등록된 티스토리 포스트 수는 10건입니다.

Array Methods [내부링크]

arr.splice(n,m) 특정 요소 삭제 ,삭제된 요소 반환 arr.splice(n,m) 특정 요소 삭제 n 시작 m 갯수 let arr = [1,2,3,4,5]; arr.splice(1,2); // [1,4,5] let result = arr.splice(1,2); result 값은 [2,3] arr.splice(n,m,x) 특정요소 지우고 추가 let arr = [1,2,3,4,5]; arr.splice(1,3,100,200); // [1,100,200,5] let arr = ["나는", "철수", " 입니다"]; arr.splice(1,0,"대한민국","소방관"); // ["나는",""대한민국","소방관","철수","입니다"]; 삭제는 안하고 인덱스 1 자리에 추가 arr.slice(n,m) n..

toFixed(), isNaN(), parseInt() [내부링크]

소숫점 자리수 toFixed(); let userRate = 30.1234; userRate.toFixed(2); // 30.12 userRate.toFixed(0); // 30 userRate.toFixed(6); // 30.123400 장점: 쉽게 소숫점으로 반환 단점: 문자열로 반환해버림 isNaN() 숫자판별 let x = Number('x') ; // NaN x == NaN //false x === NaN //false NaN == NaN //false isNaN(x) //true isNaN(3) //false isNaN만이 NaN인지 판별 parseInt() 문자열을 숫자로 바꿔줌 , 단 숫자가 앞에 와야한다 Number와 다른점은 문자가 있어도 바꿔준다 let margin = '10px'; ..

call , apply, bind [내부링크]

call 모든 함수에서 사용할 수 있으며, this를 특정값으로 지정할 수 있다. const kim = { name: 'Kim' }; const lee = { name: 'Lee' }; function showThisName(){ console.log(this.name); } function update(brithYear, occupation){ this.brithYear = brithYear; this.occupation = occupation; }; update.call(kim,1999,"backend"); update.call(tom,2002,"frontend"); apply 함수 매개변수를 처리하는 방법을 제외하면 call과 같다. 다만 call은 일반적인 함수와 마찬가지로 매개변수로 직접 받지만..

전개구 [내부링크]

전개 구문을 사용하면 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 (함수로 호출할 경우) 또는 요소 (배열 리터럴의 경우)로 확장하여, 0개 이상의 키-값의 쌍으로 객체로 확장시킬 수 있습니다. function add(...numbers){ let result = 0; numbers.forEach((num) => (result +=num)); console.log(result); }; function add(...numbers){ let result = numbers.reduce((prev, cur) => prev += cur) console.log(result); }; add(1,2,3); add(1,2,3,4,5,6,7,8,9); function User(name, age, ...sk..

array methods (2) [내부링크]

arr.map(fn) 함수를 받아 특정 기능을 시행하고 새로운 배열을 반환 let userList = [ { name: 'Kim', age: 30 }, { name: 'Lee', age: 26 }, { name: 'Son', age: 22 }, ] let newUserList = userList.map((user, index)=> { return Object.assign({},user { isAdult: user.age > 19 }) }); 후 let userList = [ { name: 'Kim', age: 30, isAdult: true }, { name: 'Lee', age: 26, isAdult: true }, { name: 'Son', age: 22, isAdult: true }, ] array..

Symbol [내부링크]

property key 문자형 const obj = { 1 : '1입니다', false : ' 거짓' } Object.keys(obj); obj['1'] // "1 입니다." obj['false']// "거짓" Symbol은 유일성이 보장된다. const a = Symbol(); const b = Symbol(); a === b; false a == b ; false // 다른 개발자가 만들어놓은 객체 const user = { name : 'Kim', age : 30 }; //내가 작업 // user.showName = function () {}; const showName = Symbol("show name"); user[showName] = function() { console.log(this.na..

객체 메소드, 계산된 프로퍼티 [내부링크]

계산된 프로퍼티 computed property let a = 'age'; const user = { name : 'Kim' [a] : 30 //age : 30 } const user = { [1 + 4] : 5, ["안녕" + "하세요"] : "Hello" } user 호출시 {5: 5, 안녕하세요: "Hello"} Obejct.assign() 객체 복제 const newUser = Object.assign(초기값 {}, 복사할객체 user); {} + { name : 'Kim', age: 30} { name : 'Kim', age : 30, } Object.assign( {gender: 'male'}, user ) { gender : 'male', name : 'Kim', age : 26 } 병합할때..

프록시 패턴 [내부링크]

Client와 Server 개념에서 일반적으로는 Client에서 Server를 직접 호출하는 경우가 일반적이다 프록시 패턴은 Client가 Server를 직접 호출하지 않고 중간에 Proxy(간접호출)을 두고 Proxy가 Server를 호출하는 방식이다 Client -> Proxy -> Server Client -> Proxy1 -> Proxy2 -> Server 주의사항 객체에서 Proxy가 되려면, Client는 Server에게 요청을 한 것인지, Proxy에게 요청을 한것인지 조차 몰라야한다. Server와 Proxy는 같은 인터페이스를 사용해야한다. 그리고 Client가 사용하는 Server 객체를 프록시 객체로 변경해도 Client 코드를 변경하지 않고 작성이 가능해야한다. 프록시의 주요 기능 ..

SpringBoot에 Swagger3 설정하기(Gradle) [내부링크]

개인적으로 가지고 놀고 있는 토이 프로젝트에 Swagger를 적용하기로 결심했다. Swagger 같은경우 REST API 명세를 손쉽게 문서화 할 수 있는 라이브러리이다. 대부분의 모든 회사에서 실무에 적용하고 있다. SpingBoot3.0이상 버전부터는 Swagger3적용되고 Swagger2는 적용되지 않는다. build.gradle implementation 'io.springfox:springfox-boot-starter:3.0.0' SwaggerConfig import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.docume..

H2 인메모리DB 세팅 [내부링크]

H2인메모리 DB세팅을 찾아보았다. Test를 하거나, 입사과제를 진행할때 사용하곤한다. 별도의 설치가 없기 때문에 굉장히 유용하게 사용된다. build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation group: 'com.h2database', name: 'h2', version: '1.4.193' } h2의 1.4.193 버전은 db파일을 추가로 설치하지 않아도 된다. h2의 1.4.194이상 버전 부터는 'C:/~/test not found, either ~' 에러가 나온다. 이럴경우 해당 경로에 mv.db 형식의 파일을 만들어야 작동한다. application...