728x90 반응형 전체 글164 [CI] Flutter IoT 무중단 운영 시 Shorebird 고려사항 서론IoT 프로젝트를 제품으로 외부에 활용한지 2개월 가량이 지나갔다.앱 충돌, 메모리 최적화 등 많은 이슈가 있었고 네이티브를 제외한 개선은 Shorebird로 자동배포를 기획하였다.하지만, 백그라운드에서 앱이 다운로드가 정상적으로 이뤄졌는지에 대한 확인과 앱 재시작 시 shorebird patch가 정상적으로 동작하는지에 대한 검토에서 24시간 무중단 운영 상황에서의 Shorebird의 단점을 정리해보고자 한다.* Shorebird의 기술적 단점이 주제가 아닌 무중단 운영 환경에서의 단점임을 유의하자.Shorebird 동작 과정Develop : 네이티브 영역을 제외한 dart 코드 수정shorebird patch --platforms=android --release-version={version} .. 2024. 7. 29. [CI/CD] Spring Boot .jar 서버 배포 스크립트 개선 서론기존 Spring Boot 서버를 배포하는 부분에서 서버 종료, 시작을 일일히 제어해야하는 불편함이 존재하였다.간단한 쉘 스크립트 개발을 통해 서버를 종료하고 시작하는 기능을 탑재하여 수작업에서 오는 휴먼에러를 최소화하고자 한다.기존 배포 정책ps -ef | grep java : 활성화된 프로세스 중 java를 활용하는 Spring Boot 서버의 PID를 찾기 위한 명령어kill or pkill {PID} : 1번에서 확인한 Spring Boot의 PID를 종료하는 명령어서버 종료가 확정되었다고 할 수 없는 명령어프로세스가 종료되지 않은 상태에서 서버 재시작 시서버 재시작 프로세스 : 동일 포트 사용 충돌로 중지기존 서버 프로세스 : kill 명령어를 통해 내부 쓰레드 정리 후 중지결론 : 서버 운.. 2024. 7. 25. [Spring Boot] IndexOutOfBoundsException 개선 작업 서론Spring Boot 환경에서 특정 API 호출 시 발생하는 IndexOutOfBoundsException 이슈를 정리해본다.class java.lang.IndexOutOfBoundsException -java.lang.IndexOutOfBoundsException:Index 0 out of bounds for length 0해당 이슈는 리스트를 제어하는 로직에서Index [0]에 위치하는 값을 찾을 수 없을 경우 발생할 수 있다. IndexOutOfBoundsException (Java Platform SE 8 )Thrown to indicate that an index of some sort (such as to an array, to a string, or to a vector) is out o.. 2024. 7. 24. [Java] Mybatis Column '{컬럼명}' in IN/ALL/ANY subquery is ambiguous 해결 서론Mybatis 코드 개선 작업에서 발생한 이슈를 정리해본다.Cause: java.sql.SQLIntegrityConstraintViolationException: Column '{컬럼명}' in IN/ALL/ANY subquery is ambiguous;해당 이슈는 여러 테이블과 서브쿼리, 조인(join)을 사용하는 SQL 문에서동일한 컬럼 이름이 여러 테이블에 존재할 때 발생할 수 있다.문제 발생 SQL 예제아래 SQL은 서브쿼리 안에서 id 컬럼이 모호한 문제가 있다.SQL 엔진은 서브쿼리 내에서 어느 테이블의 id 컬럼을 사용해야 하는지 결정할 수 없다.SELECT a.id, a.name, b.status FROM table1 aLEFT JOIN table2 .. 2024. 7. 19. [Flutter] StreamController 상태 관리를 통한 Memory Leak 개선 서론메모리 누수(memory leak)는 애플리케이션 성능 저하의 주요 원인 중 하나로, 사용자 경험에 악영향을 미칠 수 있습니다.특히, 파일 다운로드와 같은 반복적인 작업에서 메모리 누수가 발생하면 시스템 자원 고갈로 인해 애플리케이션이 비정상적으로 종료될 수 있습니다.이번 글에서는 파일 다운로드 기능에서 발생하는 메모리 누수를 해결하기 위한 개선 작업을 소개합니다.이론적 배경메모리 누수는 사용하지 않는 메모리 공간이 해제되지 않고 계속 점유되는 현상을 말합니다.파일 다운로드 과정에서는 스트림(Stream), 컨트롤러(Controller) 등이 올바르게 해제되지 않으면 메모리 누수가 발생할 수 있습니다.이를 방지하기 위해서는 사용한 자원을 명확하게 해제하고, 적절한 메모리 관리를 수행해야 합니다. 코딩.. 2024. 7. 15. [윈도우] Chrome 브라우저 프린트 자동화 프린터 제어 불가 환경에서의 브라우저 프린트 방법키오스크 등 프린터 설정을 직접적으로 수행할 수 없는 환경에서 Chrome 브라우저를 이용한 프린트 자동화 방법이다.Slient Printing이라 하며, 실행 프로그램 옵션 값 수정을 통한 방법과 설정 페이지 내 팝업 Disable을 통한 방법이 존재한다.실행 프로그램 옵션 값 수정을 통한 방법동일한 기능을 수행하는 옵션 값을 제공한다. kiosk-printing, silent-printing"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --kiosk-printing"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --silent-.. 2024. 7. 15. 이전 1 ··· 15 16 17 18 19 20 21 ··· 28 다음 728x90 반응형