본문 바로가기

전체 글29

객체 메소드, 계산된 프로퍼티 계산된 프로퍼티 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 } 병합할때.. 2023. 7. 31.
생성자 함수 생성자 함수(constructor function)와 일반 함수에 특별한 차이는 없다. 하지만 생성자 함수는 함수 이름의 첫 글자는 반드시 대문자로 시작해야하며 실행할때는 new를 붙여서 실행하여야 한다. function User(name,age){ this.name = name; this.age = age; } let user5 = new User('Han', 40); function User(name,age){ this.name = name; this.age = age; this.sayName = () -> { console.log(this.name); } } let user6 = new User('Kim', 26); user5.sayName(); // 'Kim' 프린트 2023. 7. 31.
프록시 패턴 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 코드를 변경하지 않고 작성이 가능해야한다. 프록시의 주요 기능 .. 2023. 7. 24.
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.. 2023. 7. 6.
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... 2023. 7. 2.