전체 글 47

서비스 - 목록 API 오류 발생

문제내용사용자가 확인 해야하는 목록의 내용이 보이지 않는 문제목록 api 에러 발생원인기존 함수 수정 과정에서 사이드 이펙트를 예상하지 못함테스트코드 부재화면단테스트 부재# 에러가 발생한 로직의 의사코드posting_dict = { "WAITING": [], "NOT_YET": [], "SKIP": [], "CONFIRMED": [],}# 여기서 posting.state 값이 INACTIVE# 기존에는 데이터내에 state가 INACTIVE인 값이 없음posting_dict[posting.state].append(posting)정책 어림짐작함팀원1: 중도이탈 → 포스팅 안보여줌.상태값에 대한 작업자들의 서로 다른 정의해당 테이블의 state - INACTIVE팀원 1: soft delete로써 서..

트러블슈팅 2025.03.03

Push 알림 발송 실패 문제

문제내용알림에 대한 앱푸시 발송이 멈춤원인코드 퀄리티 문제반복문 내에 예외처리 부재로 에러 발생시 나머지 알림에 대해 푸시 막힘 # 에러가 발생한 로직의 의사코드 noti_list = fetch notification_info where state=WAIT for noti in noti_list: # 여기서 에러가 발생하면 나머지 발송도 전부 취소 send(noti)레거시 파편화 문제 - dict 구조 저장 포맷의 혼용레거시 코드에서는 dict 구조를 str으로 변환후 ast.literal_eval로 파싱하여 사용했음추후 내부적으로 논의한결과 json 구조로 저장하도록 결정함 (안정성, 성능, 범용성 면에서 우위)레거시 코드들의 파편화 문제로 알림전송 코드내의 파싱 로직은 ast.litera..

트러블슈팅 2025.03.03

Airflow 설정 관련

문제상황 및 원인개발 ec2 인스턴스 - airflow scheduler 동작하는데 많은 cpu 점유율dag 동작 여러개 있는 경우 개발 서버 동작 딜레이 발생 및 접근이 오래 걸리는 상황 발생aiflow.cfg 에서 rbac=False 로 변경하여 로그인없이 접근할 수 있는 가능성 배제해결방법(airflow 2.X 도 적용 가능)scheduler_heartbeat_sec: 스케줄러가 새로운 작업을 위해 dag을 실행하는 빈도AIRFLOW__SCHEDULER__SCHEDULER_HEARTBEAT_SECmin_file_process_interval: dag 파일 업데이트 하는 시간AIRFLOW__SCHEDULER__SCHEDULER_HEARTBEAT_SECmax_threads: dag 예약할 때 병렬로 사..

트러블슈팅 2025.03.03

API - hotfix 배포 후 전체적인 딜레이 발생(Django)

문제상황2023.10.27 오후 3시경 목록 관련 작업 후 hotfix 배포하면서 api 전체적으로 느려지는 문제 발생로컬 테스트 환경에서 이상 없음 확인 후 hotfix 배포 → 웹/앱 모두 심각한 딜레이 발생원인캠페인 목록을 가져올 때 subquery와 join 되는 테이블이 많았음위 테이블 중 3가지는 정렬과 필터에 따라 추가되며 개수와 금액을 확인하여 정렬해야함큐레이션 필터 오류 없애기 위해 작성한 부분에서 기준이 되는 테이블쪽 전체적인 딜레이 발생지원자 수를 보기 위한 테이블의 count 를 추가하면서 state 확인 + count 등 추가 되는 부분이 생김ORM으로 보기 쉽게 작성하면서 When, Case, Count 등 subquery와 join 을 많이 발생하는 작업이 추가 됨위 요청이 여..

트러블슈팅 2025.03.03

채팅 - 웹소켓 연결 문제

문제상황2023.10.11 오후 2시 37분 채팅 불가능 이슈 확인소켓 연결 실패로 인한 채팅 전송 불가능(다른 비동기 서버의 API 이상 없음)에러 메세지 확인 - redis 연결 문제원인상용에서 연결하던 aws elasticache redis가 replica 전환 후 읽기전용으로 변경됨해결replica 전환된 redis 승격 시도 → 실패primary로 변경되어있는 redis 연결 → 해결추가 필요 사항갑자기 replica 전환 되는 이유 확인 - 서비스 업데이트해당 이유로 전환 되었을 때 문제 없이 primary 연결 방법

트러블슈팅 2025.03.03

신입 개발자 면접 예상 질문 리스트

🤓 인성면접 예상질문 (20개)지원 동기우리 회사에 지원한 동기를 말씀해주실 수 있을까요?개발자가 되기로 한 이유에 대해 말씀해주실 수 있을까요?개발자가 되지 않았다면 어떤 일을 하고 싶으신가요?개발 관심 정도즐겨 보는 테크 유튜버나 뉴스레터가 있다면 알려주실 수 있을까요?최근에 본 기술 아티클에 대해 설명해주실 수 있을까요?좋아하는 개발자가 있다면 누구고 그 이유는 무엇인가요?좋아하는 프로그램이 있다면 무엇이고 그 이유는 무엇인가요?개발자로 은퇴하기 전까지 만들어보고 싶은 프로그램이 있다면 그건 어떤 프로그램인가요?메타인지개발자로서 본인의 강점과 근거가 되는 경험을 말씀해주실 수 있을까요? (협업 능력 제외)개발자로서 본인의 약점은 무엇인가요?앞으로 3개월, 6개월, 1년 동안 어떤 것을 공부할 계획..

잡다한것 2025.03.03