테스트 피라미드로 보는 스타트업 테스트 전략
·
개발 하나둘셋/Java & Spring
스타트업 개발자로 일하면서 일정에 맞춰 빠르게 기능을 개발하는게 중요하다고 생각해 테스트 코드를 작성하지 않고 Postman으로만 테스트를 해왔다. 하지만 프로젝트가 점점 커지면서 점점 다양한 경우의 수를 커버해야 하는 상황이 많아졌다. 단순히 기능이 동작하는지 확인하는 것만으로는 부족했고, 예상치 못한 시나리오에서 발생하는 오류를 사전에 막아야 했다. 이를 해결하려면 테스트 코드 작성이 필요하다는 것을 느꼈다🧑‍💻 테스트코드를 작성하기 시작하면서 어떻게 하면 더 효율적으로 접근할 수 있을지 궁금해졌다.이런내용을 다른 개발자와 커피챗을 하며 이야기했고 테스트 피라미드(Test Pyramid)라는 개념을 알게 되었다. 이 글에서는 테스트 코드 작성의 필요성과 테스트 피라미드를 활용한 효율적인 테스트 방..
서버-클라이언트 연결로 실시간 상태 전달하는 SSE 특징 및 적용기
·
개발 하나둘셋/Java & Spring
프로젝트 진행중 API를 많이 타는 조금 복잡한 로직이 있다. 대신 비동기로 처리해서 즉시 응답을 주고 서버에서 처리가 완료가 되면 상태값을 바꾸는 걸로 완료를 알린다. 그런데 상태값이 바뀌더라도 사용자가 새로고침을 하지 않으면 계속 진행중으로 보이는 문제가 있다. 문제를 안삼으면 문제가되지 않지만 사용자 경험상 충분히 개선의 여지가 있을것 같아 이를 개선할 수 있는 방법이 무엇이 있는 지 찾아보았다  우리가사용하는 웹페이지는 대부분의 경우 웹 브라우저인 클라이언트가 HTTP 요청을 서버에 보내고, 서버는 적절한 응답을 반환한다. 하지만 내가 위에서 말한것 같은 실시간 업데이트 정보나 연속적인 정보를 클라이언트에게 보내야하는 경우 계속 HTTP 요청을 하게 되면 여러가지 비용면에서 좋지 않다. 이런 상황..
Java와 Spring에서의 비동기 처리 @Async와 CompletableFuture
·
개발 하나둘셋/Java & Spring
회사 프로젝트 중 비동기 처리로 인해 작업이 순서대로 처리되지 못하는 문제가 발생했다. @Async와 CompletableFuture를 혼합해 사용했는데 데이터 일관성 유지와 비동기 처리의 이해가 부족했기 때문! 해당문제를 인지하고 문제를 해결하는 과정을 정리해볼려고 한다내가 원했던 프로세스는 각 원본 영상을 비동기적으로 Google Cloud Storage(GCS)에서 다운로드하고(최대 9개) 자막 파일(SRT)을 생성한 후 앞에 2가지 작업이 완료되면 FFmpeg로 srt 파일을 읽어 자막을 만들고 영상을 가공하는 작업이었다. 1.  내가 사용했던 Java와 Spring에서 비동기 처리방법 비동기처리를 하는것에는 다양한 방법이 있지만 보편적이로 많이 사용된다고 생각하고, 내가 사용하는데 문제를 겪었던..
FFmpeg에서 자막을 처리하는 Subtitles 필터와 DrawText 필터
·
개발 하나둘셋
AI를 활용한 영상처리를 하는 회사 프로젝트 특성상 FFmpeg를 자주 사용한다. 기존프로젝트에는 단순 영상에 자막을 붙이는 정도의 영상가공을 했다면 이번에는 템플릿 별로 백그라운드를 다르게한다. 템플릿에 따라서 영상 2개를 오버레이하는 경우도 있고 단순 자막이 아닌 커스텀 된 자막을 넣어 숏폼을 만들었다. 요즘 숏폼 난리인데 나는 영상편집툴도 아니고코드로 영상을 만들고 있다.누가 얼마나 사용할지 모르겠지만 자료가 많이 없어서 내가 경험한 내용을 바탕으로 FFmpeg로 텍스트를 가공하는 내용에 대해 정리해볼려고 한다!1. FFmpeg로 글자 다루기FFmpeg는 비디오 및 오디오 처리를 위한 강력한 도구로, 다양한 필터를 통해 미디어 파일에 효과를 적용할 수 있다. FFmpeg에 대한 전반적이 이야기는 ..
FFmpeg로 자막(srt) 삽입하여 영상 인코딩 시 자막이 깨지는 문제! Troubleshooting
·
개발 하나둘셋/Java & Spring
회사에서 영상을 처리하는 로직을 만들면서 FFmpeg를 자주 사용하고 있다. FFmpeg는 사용해본 지 꽤 되었지만, 이번에 처음으로 블로그에 관련 글을 작성해보려고 한다. 최근에 영상에 SRT 파일(자막)을 입혀 인코딩 후 다운로드하는 로직을 작성했는데, 일부 영상에서 자막이 깨지거나 나오지 않는 문제가 발생했다. 이에 대해 FFmpeg가 무엇인지 간단히 정리하고, 최근에 겪었던 문제에 대해 설명해보려고한다1. FFmpeg란?1) FFmpeg멀티미디어 데이터를 다루기 위해 주로 사용되는 오픈 소스 소프트웨어. 비디오, 오디오, 및 기타 멀티미디어 파일과 스트림을 녹화, 변환, 스트리밍할 수 있는 다양한 기능을 제공. FFmpeg는 리눅스(Linux), 윈도우(Windows), 맥OS(macOS)를 포함..
504 Gateway Timeout 오류 해결방법: 로드밸런서 Connection idle timeout
·
개발 하나둘셋
최근 프로젝트에서 api를 구현하고 테스트하는 과정에서 '504 Gateway Timeout' 오류를 만났다. 로컬 환경에서는 문제없이 잘 동작했는데 개발 서버에 배포된 후 사용자로부터의 요청에 대한 응답 시간이 60초가 넘어가면 '504 Gateway Timeout'을 뱉어냈다. 이번 포스팅에서는 해당 문제를 해결했던 과정을 정리해보고자 한다. 1. 문제점 '504 Gateway Timeout'은 웹 서버가 클라이언트로부터의 요청을 받았으나, 게이트웨이나 프록시 서버를 통해 다른 서버로부터 시간 내에 적절한 응답을 받지 못했을 때 발생한다. 문제가 발생한 api는 외부 api로부터 stt처리를 하고 해당 데이터를 저장하는 로직으로 영상 길이에 따라 처리시간이 1분 이상이 걸리는 구조였다. 처음엔 코드의..
유리코딩
'개발 하나둘셋' 카테고리의 글 목록