- Today
- Total
목록전체 글 (318)
개발하는 고라니

상속관계 매핑 RDB에는 객체에서의 상속관계와 같은 상속관계가 없다. DB가 지원하는 상속이 있으나, 객체의 상속과는 거리가 멀다. 바로 슈퍼타입 / 서브타입 관계라는 모델링 기법이 존재하긴 한다. 상속관계 매핑이란 객체의 상속구조와 DB의 슈퍼타입 / 서브타입 관계를 매핑하는 것을 말한다. 다음과 같이 객체의 상속관계가 있다고 할 때, 이를 JPA를 이용해 매핑해보고, 그 때의 테이블을 보도록 한다. Entity - Product @Entity //@Inheritance(strategy = InheritanceType.JOINED) //@Inheritance(strategy = InheritanceType.SINGLE_TABLE) //@Inheritance(strategy = InheritanceTyp..

[RabbitMQ] install RabbitMQ는 오픈소스 메세지 브로커이다. 메세지를 많은 사용자에게 전달해야하거나, 처리 시간이 긴 문제가 있을 경우, 빠른 응답을 만들기 위해 사용한다. Downloading and Installing RabbitMQ — RabbitMQ Do dev-gorany.tistory.com RabbitMQ는 메세지 브로커(Message Broker)다. 이는 메세지들을 받아주고 전달한다. 여러분은 RabbitMQ를 우체국으로 생각할 수 있다. 당신이 전달하고 싶은 편지를 우체통에 넣을 때, 우체부가 결국 당신 편지의 수취인에게 전달해줄 것을 확신할 수 있다. 이 비유에서, RabbitMQ는 우체통이고, 우체국이자 우체부이다. RabbiqMQ와 우체국 간의 주요한 차이점은 ..

21-02-18 ~ 21-07-13 불과 4일전, 7월 13일부로 올해 2월 18일부터 진행된 뉴렉쌤의 국비교육과정의 마침표를 찍었다. 국비교육과정은 사실 제대로 운영되기 힘든 것 같다. 길어야 6개월의 과정에 웹 개발의 상당부분을 배우고, 평가하고 프로젝트를 해야하니 가르치는 입장에서도, 배우는 입장에서도 서로 힘이 빠지는 일이 생긴다. 6개월도 짧은 기간인데, 이번 교육 과정은 5개월이었다. 1달 차이가 뭐 얼마나 크겠냐만은, 실제로는 엄청난 차이라고 생각된다. 예를 들어 스프링 시큐리티를 배울 때 깊게 파고들어 배우는 거랑, 동작만 가능하게 해놓는 데까지 배우는거랑 천지차이라고 생각된다. 1달이라는 시간이 더 있었다면 조금더 깊이있는 공부를 할 수 있었을 텐데 그 점이 매우 아쉽게 느껴진다. 그렇다..

JPA (Java Persistence API) Java 진영의 ORM 기술 표준이다. - 과거 EJB라는 자바진영의 ORM을 구현한 것이 있었는데, 이를 좀더 개선하고자 오픈소스로 만들어진 것 중 하나가 'hibernate'이다. - 이에 자바진영에서 hibernate를 만든사람을 데려와 다듬고 표준 스펙으로 만든 것이 JPA이다. - JPA는 인터페이스의 집합이며, 실제로 내부를 보면 동작하는 것이 아니다. - JPA 2.1를 구현한 여러 구현체 중 3가지를 뽑자면, Hibernate, EclipseLink, DataNucleus 가 존재한다. Q. - ORM을 구현한 오픈소스가 hibernate이고, 자바 진영에서 hibernate를 다듬어 표준스펙으로 만든 것이 JPA라고 말씀하셨는데요. 바로 뒤..

RabbitMQ는 오픈소스 메세지 브로커이다. 메세지를 많은 사용자에게 전달해야하거나, 처리 시간이 긴 문제가 있을 경우, 빠른 응답을 만들기 위해 사용한다. Downloading and Installing RabbitMQ — RabbitMQ Downloading and Installing RabbitMQ The latest release of RabbitMQ is 3.8.19. See change log for release notes. See RabbitMQ support timeline to find out what release series are supported. Experimenting with RabbitMQ on your workstation? Try the community www.ra..

프로젝트를 진행하던 중 글 상세조회 페이지에서 이미지를 보여주는데, 이미지가 여러개일 경우 한번에 다 나열해서 보여주기보다, 화살표나 버튼을 클릭해서 다음 이미지, 이전 이미지를 보는 것에 알게모르게 익숙해져있을 것이다. 그래서 트렌드에 맞게 이미지 슬라이더를 HTML, CSS, JS만으로 구현해보도록 하자. 먼저 결과를 보면 위와같은 UI가 될 것이다. 설계 구현을 하기에 앞서 어떻게 구현할지 설계를 해보았다. 가장 바깥에서 버튼들과 이미지가 보여질 곳(B)을 감싸는 녀석을 A라고 하고, 각각의 이미지(D)를 감싸는 프레임을 C라고 생각하면 된다. # A display: flex justify-content: center align-items: center position: relative # B di..

전통적인 페이징은 와 같은 형태를 지닌 Object를 눌러 페이지를 이동시키며 해당 페이지에 해당하는 데이터가 보여지게끔 하는 방식이었다. 하지만 근래에는 다양한 방법으로 페이징 처리를 한다. 예를 들어 댓글 같은 경우, [더보기] 버튼을 눌러 더 많은 댓글을 append 하는 방식을 사용하거나, 페이스북, 인스타그램 같은 SNS에서는 어느정도 데이터를 보고 나면 저절로 밑에 더 생기는 것을 볼 수 있을 것이다. 위 방식이 스크롤에 따른 페이징 처리인지는 정확히 모르겠으나, 이번 포스팅에서는 [ 스크롤 이동에 따른 페이징 처리 ]를 설명해보고자 한다. 나는 Scroll이 맨 아래에 닿을 때 추가적인 데이터를 불러오도록 코딩하였다. 페이징 처리를 위한 API는 다 준비가 되어있다는..

Function # 전달하지 않겠다는 의미는 null이 아닌 undefined를 넣어야하며, undefined를 넣었을 시 10이 기본 값으로 들어간다. Function Rest function print(x, y, ...rest){ ... } Function Spread function print(x, y){ ... } let arr = [10, 20]; print(...arr); Function Default function print(x, y=10){ ... } print(5, undefined); Arrow Function ※ 함수를 위임할 때 - 다른 처리기에게 함수를 위임하는 방법 2가지 test.addEventListener('click', function(e) { ... }); test.a..