백엔드287 [spring] Querydsl 사용이유 spring 에서 쿼리문을 사용할 때 querydsl, mybatis, jooq 를 사용할 수 있습니다. 이 querydsl, mybatis, jooq 세가지는 FK 의 조인, 복잡한 조건 등으로 인해 Entity 클래스 만으로 처리하기 어려워 추가로 사용하는 프레임워크 입니다. 그 중에서 Querydsl을 추천하는 이유는 다음과 같습니다. 1. 타입 안정성 보장 - 단순한 문자열로 쿼리를 생성하는 것이 아닌, 메소드 기반으로 쿼리를 생성하기 때문에 오타나 존재하지 않는 컬럼명을 사용할 경우 자동으로 확인이 가능합니다. (jooq 에서 지원하지만, mybatis 에서는 지원 안함) 2. 국내 많은 회사에서 사용중 - 쿠팡, 배민 등 JPA를 적극적으로 사용하는 회사에서 사용중입니다. 3. 많은 레퍼런스 .. 2022. 4. 12. Event Driven Architecture (이벤트 드리븐 아키텍처)란? Event Driven Architecture란 MSA가 적용된 시스템을 보완하는 아키텍처로 Event Driven Architecture란 이벤트의 생산, 갑지, 소비 및 반응 또는 시스템 상태의 중대한 변화를 지원하는 소프트웨어 모델 또는 아키텍처의 패러다임이다. 분산 아키텍처 환경에서 이벤트를 생성하고 발행된 이벤트를 수신자에게 전송하는 구조로 수신자는 그 이벤트를 처리하는 방식으로, 상호 간 결합도를 낮추기 위해 비동기 방식으로 메시지를 전달하는 패턴이다. 각 마이크로서비스는 함께 작동하지만 서로 다른 비즈니스 로직을 적용하고 자체 출력 이벤트를 보낼 수 있으며 주로 Message Broker ( Kafka, RabbitMQ) 와 결합하여 구성된다. 이벤트는 형식을 제외하고 서로에 대해 알 필요는.. 2022. 4. 12. [PostgreSQL] 중복 데이터 하나만 남기고 삭제하기 delete 중복 데이터 확인 셀프 조인을 통해 중복된 행의 id값을 확인하는 방법이다. id가 제일 작은 값으로 사용한다. 근데 아래와 같은 명령어를 사용하면 데이터가 중복되어 좀 더 많이 보이는 현상이 있긴하다. schemas 에 본인이 사용하는 스키마 이름 tablename 에는 테이블 명을 입력해준다. select s1.* from schemas.tablename s1 join schemas.tablename s2 on s1.title = s2.title and s1.link = s2.link where s1.id > s2.id; 중복 데이터 삭제하기 sql문으로 데이터 삭제하기에 대해 검색하면 row_number 를 사용해 partition by로 중복된 컬럼을 지정하고 row_num>1 을 설정해 삭제할 .. 2022. 4. 8. postgresql 한글 포함 여부 확인하기 postgresql 에서 한글을 포함한 데이터와 한글을 포함하지 않은 데이터를 추출하고자 한다. 한글을 포함한 데이터는 아래 쿼리문으로 사용하면된다. 자음까지도 확인하고 싶을때는 [ㄱ-힣] 로 사용하면된다. select * from tablename where column ~ '[0-9]+' and column similar to '%[가-힣]%' 한글을 포함하지 않은 데이터는 ^ 를 붙여서 사용한다. select * from tablename where column ~ '[0-9]+' and column similar to '%[^가-힣]%' 2022. 4. 7. postgresql log 확인하기 postgresql 을 사용하다가 에러때문에 로그를 확인해야했다. 먼저 postgresql 이 설치되어 있는 경로로 들어간다. 경로가 기억나지 않으면 psql 로 접속해 아래 명령어로 경로를 확인할 수 있다. show data_directory; 혹은 아래 명령어가 있는 파일로 이동하면 로그파일의 위치를 찾을 수 있다. find / -name postgresql.conf 나의 경우 아래의 경로에서 로그를 확인할 수 있었다. /var/lib/pgsql/11/data/log ls 로 파일에 있는 내용을 보면 요일별로 로그가 저장되어 있는것을 확인할 수 있다. 2022. 4. 6. DBeaver 에서 DB 데이터 내보내기 DBeaver 에서 DB 데이터를 내보낸 후 다른 곳에 불러와서 사용해보고자 한다. 데이터를 내보내고자 하는 테이블을 우클릭한 후 데이터 내보내기를 선택한다. 아래 옵션들 중 사용하고자 하는 타입을 선택하면 된다. 나의 경우 sql 로 내보낼 것이다. 다음을 누르면 아래와 같은 내용이 나오고 다음을 누르고 넘어간다. 아래 이미지에서 Directory 부분에는 sql 데이터를 저장하고자 하는 위치를 적어준다. file name pattern 에 있는 이름으로 저장이 된다. 다음을 누르면 저장하고자 하는 데이터의 마지막 확인 내용이 나온다. 2022. 4. 6. 이전 1 ··· 16 17 18 19 20 21 22 ··· 48 다음