본문 바로가기

전체 글66

알림앱 유지보수 경험.. 알림앱의 서버 유지보수를 맡았던 적이 있었다. 앱은 놔두고 서버만 딱 담당하는 게 말이 되는지 모르겠으나, 어차피 앱은 해본 적도 없었고 해당 업무로 들어가게 되었다. 앱은 입출금, 전자고지 등이 있을 때 알림 기능이 주인 앱이었고 구조는 다음과 같았다.  용어가 맞나 모르겠는데, 사용자와 직접 접하는 채널계의 앱이었고... 이 앱은 하이브리드 앱이었기 때문에 JSP 소스를 전달받았다[A]. 알림 앱이었지만 받은 소스 안에는 알림 관련 소스는 없었다(처음엔 뭔가 싶었다). 당연하게도 회원만 알림 수신이 가능했기에, 앱에는 가입, 서비스 신청(그에 대한 알림 수신) 기능이 있었다. 서비스 신청을 한 경우, 알림을 위한 FCM 토큰이 저장되었다[B]. 이후 계정계에서 입출금이 일어나면, 메세징 시스템을 거쳐.. 2025. 2. 23.
몇 가지 기억.. SI보다는 SM이나 에이전시에서 이슈 처리 포함해서 이런저런 경험을 했다(기억나는대로 추가 예정..). 당시 파악을 제대로 못한 게 있어 정확치 못한 부분이 있을 수 있지만, 그것대로 그냥 적어본다. 트래픽 과부하로 인해 앱 다운 이슈은행권 알림 앱이었고, 매달 특정 일자에 트래픽이 몰리면서 앱이 뻗는 이슈[A]가 발생했다. 문제는 앱의 특정 로직이 DB 커넥션을 너무 많이 물고 있는 거였는데, 해당 로직은 실시간 처리가 필요치 않은 부분이었다. 따라서 해당 로직을 파일 쓰기로 변경하고, 트래픽이 없는 새벽 시간대에 배치를 돌려 한 번에 DB에 삽입해주는 식으로 처리했다.이때 Spring Batch를 이용할지, Spring JDBC를 이용할지 고려해야 했는데 기존에 후자로 작성된 부분이 있어서 일관성을 .. 2024. 11. 15.
조회 성능 조회 쿼리 작성 시 SI 초반에는 정확한 데이터를 갖고 오는 게 중요하겠지만, 실데이터가 어느 정도 들어오는 단계에서는 조회 성능이 중요했던 거 같다. 실제로 잘 동작하던 화면이 어느 날 동작을 안 해서 확인해보면 조회 쿼리 성능이 안 나오는 경우가 많았다[1][2]. 가장 최근 경험으로는 통계 화면 관련해서 쿼리 속도가 안 나왔던 적이 있다. 정확한 내용이 기억이 안 나긴 하는데... 처음 작성했던 쿼리가 무척 길었다. 최대한 단순화 시켰고, 다행히 여기서 속도가 좀 돌아왔던 거 같다. 하지만 여기서 속도가 안 나온다면 실행 계획을 확인해보고, 인덱스 생성을 고려해봐야 한다. 인덱스, 힌트 같은 건 BI 프로젝트에서 Oracle을 사용할 때 주로 경험(많이 듣기만...)했었는데 최근 PostgreSQL.. 2024. 11. 5.
Database 경험 많지 않은 IT 경력이지만, 이것저것 몇 가지 관계형 DB(정확히 말하면 DBMS..)를 다뤄보았다. 사실 기껏해봐야 CRUD를 주로 한 거라 구글 검색, 조금 복잡한 건 CHAT GPT로 작성해서 사용했으나 뒤늦게 공부도 할 겸 모르면 모르는대로 조금 남겨본다. 사실 몇 군데 면접을 가면 요즘 때로 DB 차이를 묻기도 해서... Oracle맨 첫 직장에서 주로 사용했었고, 대기업에서 주로 사용한다고 한다(최근 대기업에서는 사용하진 않긴 했는데..).하나의 인스턴스 내 여러 데이터베이스가 아닌 전체 데이터베이스가 존재한다(따라서 쿼리 작성 전에 USE 명령어 사용할 필요 없다). 다만 타 DB와 다르게 User(물리적 컨테이너)와 Schema 개념이 있는데[1][2], 사용자는 스키마를 기준으로 작업을 .. 2024. 11. 5.