Cute Light Pink Flying Butterfly 'Coding' 카테고리의 글 목록 :: 놀면서 돈벌기
본문 바로가기
반응형

Coding40

FCM(Firebase Cloud Messaging) 서비스를 개발하면서.. (1) FCM은 Firebase Cloud Messaging의 약자입니다.Firebase(구글의 모바일/웹 앱 개발 플랫폼) 위에서 돌아가는 클라우드 기반 메시지 푸시 서비스를 말합니다. 회사에서 FCM을 이용한 스마트폰 푸시 알림 서비스를 개발하는데2년 전에는 단순 FCM에 연동해서 푸시 알림이 도착하는데에만 급급해서 스마트폰과 JMETER로 테스트를 거치면서 성공한 메세지 규격으로 개발 완료를 때려버렸는데요.Android, ios 기준으로 들어가는 필수 fcm요청 메세지 규격 요소만 지키면 푸시앱이 발송됬기에..FCM 메세지 요청 규격에 어떤 요소들까지 셋팅할 수 있는지 자세히 알 지 못했었습니다.이번에 신규 프로젝트에 FCM 연동 기능이 들어가면서, 본의아니게 고도화를 하게 되었는데요FCM 공식 홈페이.. 2025. 5. 14.
gitLab에서 AWS로 프로젝트 이관하기 | gitLab 프로젝트 레포지토리 복제 GitLab의 프레임워크로 작성해놓은 프로젝트 레포지토리를, AWS CodeCommit의 새 레포지토리로 초기화된 코드만 복사해서 가져와 보겠습니다. (이 때, Git history는 제외하고 코드 파일만 복사합니다.) ✅ GitLab: 소스 코드 전체를 클론✅ Git 기록은 제거✅ AWS CodeCommit: 새 레포지토리 생성 후, 클린 상태로 코드 푸시 📎 1단계: GitLab에서 프로젝트 복사 (로컬 작업)1. 로컬에 프로젝트 clone 복제(HTTPS)intelliJ 기준으로 상단에서 New-Project from Version Control을 클릭해서 HTTPS 주소로 로컬로 불러올 수 있습니다.git clone https://gitlab.com/your-group-name/backen.. 2025. 5. 9.
대용량 데이터 삭제 • 옮기기 | 테이블 복제, 키변경, ALTER, RENAME 1천만 건의 데이터가 등록되어있는 테이블에PK설정이 잘못되어있는걸 발견하였습니다. PK 중복에 따라 데이터가 입력되는 프로시저가 있어PK를 필수로 맞춰줘야 했는데요. 기존에 있는 데이터가 너무 많다보니DELETE도 , ALTER도 timeout이 걸려서 결국 테이블을 복제하여 비우는 방법으로 진행하였습니다.  -- 1. 기존 테이블 복제 (구조만)CREATE TABLE IOT_DEVICE_STATUS_NEW LIKE IOT_DEVICE_STATUS;-- 2. (선택) 기존 PK 제거, 새 PK 추가 : 이 부분은 PK 변경을 위한 ALTER 문입니다.ALTER TABLE IOT_DEVICE_STATUS_NEWDROP PRIMARY KEY,ADD PRIMARY KEY (`ID`, `STAT_DATE`,`D.. 2025. 4. 8.
데이터비교툴 개발하기 | 엑셀로 서로다른 DB의 데이터 비교 테스트 검증기간중운영-검증서버 간의 결과데이터를 비교해야하는 과제가 생겼습니다.운영-검증간의 DB 구조는 동일하지만데이터가 몇만건이 되다보니 하나하나 비교해가며잘못된 데이터를 찾기에는 무리여서 DB연결, 조회쿼리만 짜놓으면양쪽의 테이블 데이터를 자동으로 비교해주는 툴을 만들어보았습니다. 📌 다중 DB 연결먼저 프로젝트 설정파일에 다중 DB를 연결할 수 있도록 DB관련 코드들부터 작성해줬습니다. ✔️ Config👩‍💻 application.ymlserver: port: 8080spring: application: name: monitoring-tables config: activate: on-profile: local datasource: schema: solar.. 2025. 4. 1.
OOM 분석 | heap dump 파일분석 - VisualVM, Eclipse MAT heap이 증가하면서 hang이 발생한 상황에서 log만으로 분석이 어려운 상황일 때heap dump 파일을 생성하여 메모리누수 원인을 파악해보겠습니다.📌1. 메모리 누수 발생grafana, visualVM으로 분석도중 GC가 메모리를 정리하지 못하고heap 메모리가 과도하게 늘어나는것을 발견했습니다.물론 이러다가 설정한 GC Config의 max 수치를 넘어가면 프로세스에서hang이 발생하면서 멈춰버립니다.📌2.  visualVM 프로그램 - Heap Dump 파일생성visualVM 프로그램에서 Heap Dump 파일을 띄워봅니다. Monitor 탭에서 'Heap Dump' 버튼을 클릭하면분석파일이 프로세스가 실행되고 있는 서버의 /tmp 하위에 저장됩니다.주의할 점은 프로세스가 종료되면 visua.. 2025. 4. 1.
VisualVM | 리눅스서버에 올린 프로세스에 붙어 모니터링하기 VisualVM 이란❓VisualVM은 Java 애플리케이션의 성능 모니터링을 위한 도구입니다.실행 중인 Java 프로세스의 CPU, 메모리 사용량, GC 동작, 스레드 상태 등을 실시간으로 확인할 수 있고,원격 JMX 연결을 통해 리눅스 서버에서 실행 중인 Java 애플리케이션에도 연결하여 실시간 모니터링 할 수 있습니다.• CPU 사용량, 메모리 사용량 확인•  GC(Garbage Collection) 상태 확인•  Thread 상태 추적•  Heap Dump 분석•  Deadlock 탐지    📎Application Tabs 설명각 탭에 우클릭을 통해 모니터링 파일을 추가하고, 연결할 수 있습니다.  📌 Local - 내 PC에서 실행 중인 Java 애플리케이션 목록입니다.📌 Remote - .. 2025. 3. 20.
728x90
반응형