본문 바로가기

분류 전체보기621

[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.
Maximum Transmission Unit (MTU) Maximum Transmission Unit (MTU) TCP/IP 네트워크와 같이 패킷 또는 프레임 기반의 네트워크에서 전송될 수 있는 최대크기의 패킷, 인터페이스에서 목적지로 가는 패킷의 최대 길이를 의미한다. MTU 가 너무 크면 커다란 크기의 패킷을 처리할 수 없어 라우터를 만났을 때는 재전송 해야 하는 경우가 생길 수 있다. 2022. 4. 11.
그로스 해킹 그로스 해킹(Growth Hacking) 처음에 해킹이라는 단어가 들어가서 IT 용어 인 줄 알고 찾아보았다. 그로스 해킹은 성장을 뜻하는 growth 와 해킹이 결합된 단어로 제품과 서비스를 성장시키기 위해 온라인 행동 데이터를 분석하며 이를 바탕으로 사용자 경험을 최적화하는 것이다. 그로스 해킹은 마케팅 방법으로 스타트업 회사들에 의해 개발되었다고 한다. 기존의 마케팅 방법은 광고를 통해 브랜드에 중점을 두었다면 그로스 해킹은 목표를 당성하기 위해 서비스를 개선해 나간다고 한다. 그로스 해킹을 권하는 이유는 소비자의 경험을 지속적으로 고도화 시켜 더 큰 발전을 이룰 수 있기에 실패를 줄이고 성장하고자 하는 회사가 사용하면 좋다고 한다. 2022. 4. 9.
[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.