본문 바로가기

전체 글

20200624 회고 - 배치 프로세스 및 데이터베이스 1. 상황 휴면회원에 대한 기록을 쌓는 배치 프로세스에 대하여 쿼리를 작성 중이었다. 프로세스 흐름도는 다음과 같다. 2. 문제점 - 연관성이 없는 각 select에 대해 단일 스레드를 통해서 순차적으로 쿼리를 실행하였기 때문에, 현재 상황보다 더 많은 테이블에 대해 작 업을 할 경우, 많은 시간이 소모된다. - @Transactional이 동작하는 사이클에 대해서 제대로 알고 쓰지 못하였기 때문에, rollback이 제대로 되지 않고 있다. - Spring Boot Batch Starter가 있음에도 불구하고 일반 절차 함수를 작성하듯이 프로그램을 작성하였다. - 후에 내가 작성한 프레임워크에 다른 배치 프로세스가 추가적으로 작성하는 것을 잘 몰랐기 때문에, 확장성이 덜 고려된 공통 코드를 작성하였다... 더보기
[삽질 프로젝트 계획] 티스토리 유입자 대시보드 만들기 - 밑그림 1. 대시보드에서 나타내야 할 것 - 기간에 따른 사용자 수 - 인기글 리스트 - 유입 경로 및 채널 - 유입 키워드 - 유입자 현황 차트 (척도 : 기간, Refere URL, 컨텐츠, 디바이스) 2. 추가 구현하고 싶은 것 - 전날 유입자 통계를 카카오톡으로 알림 받기 - 현재 학습하고 있는 OAuth2.0을 이용하여 대시보드 사이트 인증 - 일일 평균 유입자 현황 - 현재 기능별로 레포지토리가 분리되어있고, kafka broker에 다양한 로그들을 수집할 예정이기 때문에 향후 kubernetes를 적용할 예정 3. 사용할 기술 - DB : DynamoDB or MongoDB (조회성이 많기 때문에 RDB보다 NOSQL이 낫다고 판단) with JPA - Message Broker : Apache K.. 더보기
[삽질 프로젝트 설계] 티스토리 유입자 대시보드 만들기 - NOSQL 설계 초안 1. https://json.geoiplookup.io 오픈소스 - 위 링크를 통해 가져 올 수 있는 데이터의 목록은 다음과 같다. ( { "ip":"-", "isp":"-", "org":"", "hostname":"-", "latitude":-, "longitude":-, "postal_code":"", "city":"-", "country_code":"KR", "country_name":"South Korea", "continent_code":"AS", "continent_name":"Asia", "region":"Seoul", "district":"-", "timezone_name":"Asia\/Seoul", "connection_type":"Corporate", "asn_number":3786, .. 더보기