AVG를 사용할 때는 GROUP BY를 반드시 사용.ROUND에서 소수 둘째자리면 ROUND(컬럼명, 1) 식으로 사용.날짜 차이를 구할 때 DATEDIFF(끝날짜,처음날짜) +1 을 해야 됨. (당일날인 경우 0이 되기 때문)날짜 포맷(프로그래머스는 MySQL이므로) DATE_FORMAT(날짜컬럼, '%Y-%m-%d')달을 지정하는 날짜 포맷 방법 3가지SUBSTR(컬럼,1,7)로 자르기 -> 2022-10CREATED_DATE >= '2024-09-01' AND CREATED_DATE CREATED_DATE BETWEEN '2024-09-01' AND '2024-09-30'중복 주문 회원 조회에 대한 조회방법(3가지)COUNT 함수와 서브쿼리SELECT USER_ID, PRODUCT_IDFROM ..
오류상황Docker에 있는 Mysql 을 연결하려고 할 때 아래와 같은 메시지가 뜨며 Test connenction 실패 오류내용Unable to connect to host 127.0.0.1, or the request timed out.Be sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently 10 seconds).MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_pa..
기존 프로젝트 문제점요구사항 정의 미흡구체적인 예약 대상 도메인 미지정세부 예약 프로세스 미정의제공할 서비스의 구체적 범위 미설정데이터베이스 구조 및 데이터 관련 문제실데이터 부재로 인한 기능 검증 불가MSA 환경에 부적합한 단일 MySQL 인스턴스 사용마이크로서비스 아키텍처(MSA) 구현 미흡서비스 간 독립성 부족API 게이트웨이를 비롯한 서비스가 Eureka 환경 내에서 돌지 않음실질적인 MSA 통신 구조 미구현(단일 DB)개별 서비스 구현 상의 문제User 서비스- 인증 서비스의 구체적 기능 부족Newsfeed 서비스- 실제 데이터 부재로 인한 기능 검증 불가Product 서비스- 동시성 처리에 대한 구체적 구현 및 검증 부족Order 서비스- 실제 결제 시스템 연동 부재- 테스트 데이터 부족으로 ..
커리어 세션 참여 신입으로 진입하는 개발자로서 바늘 구멍처럼 좁아진 채용시장에서 탈락의 고배를 잔 돌리기 하는 힘든 나날을 보내고 있습니다. 그러던 와중 가뭄에 단 비 같은 서류합격 하나가 나왔지만 결과적으로 그마저도 전산 오류로 취소되어 정신을 잃기 직전이었습니다. 여러곳에서 조언을 구하던 중, 이력서 피드백 세션에서 도움을 많이 얻었던 케일리 님께서 현직자 세션에 흔쾌히 초대해 주셨습니다. 이런 오프라인 미팅이 처음이기도 하고, 메일로 보내주신 내용만으로는 어떤 내용인지 잘 모르겠어서 가벼운 마음으로 들으러 갔습니다. 메인 세션 세션에 참여해주신 멘토님은 두 분으로 두나무 iOS 개발자 장혜준님, H2O Hospitality 개발자 진유진님이었습니다. 현직자를 만날 기회가 드문 취준생으로서 이렇게 좋..
문제 상황 특정 일시에 오픈하는 예약 구매 특성상 동시에 주문처리가 많이 일어남 이 때에 실제 재고보다 더 많은 수량의 주문이 성공적으로 처리됨 문제 원인 주문 시 DB에 짧은 시간 동안 동시 접근이 일어나 여러 트랜잭션에서 동일한 데이터를 수정하려고 할 때 데이터 불일치 문제 발생 비즈니스 로직 public class StockServiceImpl implements StockService { // 기타 메소드 생략 @Override @Transactional public void decreaseStock(Long productId, int count) { log.info("재고 감소 요청 productId: {}, count: {}", productId, count); Stock stock = sto..
문제 상황 특정 일시에 오픈하는 예약 구매 특성상 동시에 주문처리가 많이 일어남 이 때에 실제 재고보다 더 많은 수량의 주문이 성공적으로 처리됨 문제 원인 주문 시 DB에 짧은 시간 동안 동시 접근이 일어나 여러 트랜잭션에서 동일한 데이터를 수정하려고 할 때 데이터 불일치 문제 발생 재고관리 프로세스 예약 구매를 하는 서비스를 만드는 것이 목표였기 때문에 메인 서비스가 잘 돌아가게 하는 것이 매우 중요하다고 생각했습니다. 이 과정을 크게 두 가지 스텝으로 나누어 생각해보면 아래와 같습니다. 특정 시간에 구매가 활성화 됨 구매가 열리면, 상품의 재고보다 많은 주문 발생할 수 있음 사례 분석 이 과정에서 비슷한 레퍼런스를 생각해보니 크게 두 가지로 나눌 수 있었습니다. 큐넷(시험 접수) 인터파크 티켓(콘서트..