목록전체 글 (500)
공부한것들을 정리하는 블로그 입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2023.04.30 마지막 수정일 2023.05.10 # 오픈소스 트위터의 추천 알고리즘 트위터의 추천 알고리즘이 오픈소스로 공개되었다고 한다. 추천 알고리즘은 트위터의 핵심기술이라 생각하기에 이를 분석해보면 무척 재미있을 것 같다. 하는김에 트위터의 시스템 디자인도 같이 생각해보자. * 해당 글은 공부가 목적인 글이므로. 부정확한 내용이 있을 수 있으니 참고바랍니다. # 의식의 흐름대로 진행 우선은 블로그에 글로 옮기는데 시간이 소요되므로, 의식의 흐름대로 나열 및 참고할만한 다른 블로그의 링크를 달아놓는다. A. 트위터의 추천 알고리즘 원본 (영어) https://blog.twitter.com/engineering/en_us/topics/open-so..
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2023.01 마지막 수정일 2023.04 # 결제/결제취소 요청과 서버의 응답 결제 요청에 대해서 결제 서버의 응답값은 결국 결제 성공/실패 중 하나이다. 결제취소 요청에 대해서 결제 서버의 응답값은 결국 결제취소 성공/실패 중 하나이다. # 결제 도메인의 성공 응답과 예외 처리 상황 결제 도메인에서는 크게는 아래 2가지 상황으로 나뉘며 그 하위에 여러 케이스가 있다. 1. 고객에게 즉시 응답이 가능하나, 잘못된 응답을 할 수 있는 경우 2. 거래 트랜잭션의 상태를 알 수 없어 즉시 응답이 불가한 경우. # 고객에게 즉시 응답이 가능하나, 잘못된 응답을 할 수 있는 경우 1) 같은 요청이 짧은 시간에 두 번 이상 발생할 수 있다. - 승인요청 : 처음 ..
보호되어 있는 글입니다.
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2023.04 마지막 수정일 2023.04 1. 서버 확장 - 스케일 업(Scale Up), 스케일 아웃(Scale Out) 2. 로드 밸런싱 구성 서버의 수평적 확장도 포함 3. 데이터베이스 확장 Replication의 이용도 포함 4. CDN 글로벌 CDN Content Delivery Network(콘텐츠 전송 네트워크)을 통해, 각 지역에 캐시 서버를 분산 배치해 사용자에게 웹 콘텐츠를 효율적으로 제공 5. 캐싱 캐싱 기능은 반복적인 요청을 처리하는데 필요한 리소스를 줄이므로, 캐시된 데이터를 사용하면 요청에 대한 응답 시간을 단축 가능 6. 코드 최적화 로직개선 등 7. DB 최적화 인덱싱 변경 등 8. 그 외 요청이 적은 시간에 미리 작업을 해..
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2022.06 마지막 수정일 2023.04 # 프로그램에서의 오류 ( 컴파일 오류, 런타임 오류 ) 프로그램에서 오류는 컴파일 오류와 런타임 오류로 나눌 수 있다. # 자바에서의 컴파일 오류 컴파일 오류는 소스코드를 .class 파일을 컴파일하는 과정에서 JVM이 던지는 오류이며 대부분 소스코드 자체의 문법적 오류로 인해 발생하는 경우가 대부분이고 프로그램 자체에서 처리할 수 있는 방법은 없다. # 자바에서의 런타임 오류 런타임 오류는 문법적인 오류가 없어 컴파일 시에는 정상적으로 컴파일 되었으나 프로그램을 실행하는 과정에서 발생하는 오류를 의미하며, 오류 발생시 개발자가 직접 오류를 확인하여 처리해야 한다. 자바의신 참고 참고 : https://drsg..
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2022.12.12 마지막 수정일 2023.04 # 현금영수증 서비스? 현금영수증 서비스는 현금성 결제에 대한 국세청 영수증을 발급해주는 서비스이다. 실시간 계좌이체, 가상계좌 등 현금성 결제 성공 후 서비스가 호출되는 경우도 있고, (이 경우 트랜잭션/ID가 연계) 현금영수증 서비스만 단독으로 호출되는 경우가 있다. (이 경우 트랜잭션/ID가 독립 부여) 현금영수증은 배치 스케줄러를 통해 익일 새벽에 대상건을 파일로 만든 뒤, 국세청으로 FTP 송수신하여 처리되며 서비스가 일단락 된다. # 일련번호가 중복채번되면? 만약, 현금영수증 서비스에서 DB 시퀀스를 이용해 승인번호(승인취소번호) 채번되고 있다고 가정하면 일련번호가 중복채번 될 경우 익일 국세청으..
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2021.11.25 마지막 수정일 2023.04 # 조회쿼리 수행결과 오류 발생 특정 테이블에 데이터를 Insert 하고 이후 Select 한다고 가정하자. 잘못된 날짜가 입력되었을 경우, 조회 조건으로 날짜를 입력시 조회쿼리 수행결과 오류가 발생 가능하다 (ORA-01847 : 달의 날짜는 1에서 말일 사이여야 합니다.) 이에 대한 해결법은, DB에 날짜데이터를 Insert 해야 할 경우에는 정합성 체크가 선행될 수 있도록 하거나. 조회쿼리에서 조건문을 작성 할 때 주의해야 할 것이다. 조회쿼리에서 조건문을 작성시 날짜데이터를 이용하는 경우 ex) TO_CHAR(TO_DATE(DT_INPUT, 'YYYYMMDD') + 20211120 , 'YYYYMMD..
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2023.04 마지막 수정일 2023.04 # 에러 핸들링 비교 리턴코드(Return Code) VS 익셉션(Exception : try-catch, throws) # 익셉션 (Exception : try-catch, throws) 장점 - 자바에서는 익셉션 사용을 권장하고 있다. - try-catch 문의 사용으로 정상과 에러처리 코드 분리 가능하여 코드가 간결해진다. - 런타임 예외의 보편화를 통해 개발자가 작성해야(신경써야) 할 부분을 줄일 수 있다. - try-catch 블록을 메서드로 추출하면, 각 메서드는 정상/에러 처리에 집중 가능하다. (함수에 한가지 역할만 부여) 단점 - 스택트레이스가 길어진다. - 컨텍스트(상태)를 가지지 않기에, 성공..