- [에러잡기] TypeError: undefined is not iterable (cannot read property symbol(symbol.iterator)) array-like 또는 iterable object 타입을 인자로 넘겨줘야 하는 메소드에 그렇지 못한 인자를 넘겨줬을때 나타나는 오류이다. 원인 Array.from() 메소드는 파라미터로 array-like 또는 iterable object 를 전달해줘야 하는데 안에 있는 값을 배열로 만들고 싶은 마음에 .innerText 를 잘못사용해서 생긴 에러였다. 해결 Array.from() 메소드로 만든 배열을 변수에 넣고 arr_point.map() 안에서 innerText 를 사용해 값을 가져왔다. 2022.02.15
- [DB] KEY의 종류와 차이점 필요한 개념 유일성 : 중복되는 값이 없어서 하나의 키만으로 하나의 로우를 유일하게 식별할 수 있다. 최소성 : 컬럼을 최소한으로 써서 키를 형성하는 것. 키를 구성하는 컬럼 하나를 제거하면 유일하게 식별할 수 없도록 꼭 최소한의 컬럼으로 구성되어야 한다. 키의 종류 종류 개념 기본 키(Primary Key) 테이블에서 로우를 유일하게 식별할 수 있는 키 후보 키(Candidate Key) 유일성과 최소성을 만족해서 기본키가 될 수 있는 후보들. 대체 키 (Alternate Key) 후보 키 중에서 기본 키를 제외한 남은 후보 키. 슈퍼 키 (Super Key) 로우를 유일하게 식별할 수 있는 유일성은 갖추었지만 최소성은 만족하지 못함. 외래 키 (Foreign Key) 다른 테이블의 기본 키를 참조하는.. 2024.04.06
- [Spring] DI, 의존관계 주입 방법 의존 관계란? '클래스 A가 클래스 B를 의존한다' 라고 했을 때, B클래스의 기능이 추가 또는 변경되거나 형식이 바뀌면 그 영향이 A에 미친다는 것이다. 그래서 직접적으로 클래스를 의존하는 것보다, 인터페이스로 추상화하면 더 다양한 클래스가 의존받을 수 있다. 추상화를 함으로써 더 다양한 의존 관계를 맺을 수가 있고, 실제 구현 클래스와 느슨한 결합 관계를 유지할 수 있다. DI란? 생성자 주입. 의존 관계를 외부에서 결정하도록 하는 것이다. 즉, A클래스를 사용하고자 하는 또 다른 클래스에서 의존 관계를 결정하도록 하는 것이다. DI를 위한 방법은 여러가지가 있다. 생성자 주입 생성자를 통해서 의존 관계를 주입하는 방법 생성자 호출 시(빈 등록 시), 예를 들어 @Autowired 등의 의존 관계를 .. 2024.04.07
- [HTTP] HTTP API? 들어가기 앞서.. API 설계에 앞서 하나 알아둬야할 것이 있다. 바로 URI 설계 시, 중요한 것은 리소스 식별할 수 있어야 한다는 것이다. REST API와도 연관이 있는데, REST API의 핵심 두 가지는 다음과 같다. 첫째, URI는 정보의 리소스(자원)를 표현해야 한다. 두째, 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현해야 한다. 예를 들어, '회원을 등록' 또는 '회원을 조회' 기능을 API로 설계한다고 했을 때, '회원'이 리소스가 되는 것이다. 동작은 HTTP 메소드로 표현할 것이고, URI에는 회원이라는 리소스를 매핑하는 것이다. 동작을 표현하는 HTTP METHOD GET : 조회 GET /mdmbers/{id} 서버에 전달하고 싶은 데.. 2024.04.04