애플 앱스토어에 우리가 만든 앱을 등록하려면, 애플 로그인이 반드시 필요하기 때문에 TIFY 프로젝트에도 애플 로그인을 구현하게 되었다. 다른 팀원이 이미 구현해둔 OIDC를 이용한 카카오 로그인이 있었기 때문에 외부 서버(카카오, 애플 등)에 저장되어있는 사용자의 정보를 가져와 우리 서비스로 끌어와 사용하는 것에 대한 중간 검증이 어렵진 않았으나, 카카오 로그인과 애플 로그인의 방식이 미묘하게 다르고(client_secret을 알아서 만들어야 한다) 이미 짜여진 코드를 분석하며 구현을 하다 보니 포스팅으로 남겨놓으면 좋지 않을까 하여 블로그 작성을 진행한다. 자세한 코드는 아래 pr에 나와있다. [FEATURE] 애플 로그인 구현 by bongsh0112 · Pull Request #124 · Team..
TIFY 프로젝트에서 처럼 github action을 이용하여 CI/CD를 할 수 있었지만 오토 스케일링(결국 못했다는..)을 위해서도 그렇고 젠킨스를 써보고 싶은 마음에 사용하게 되었다,, CI/CD가 아닌 파이프라인같은 다른 기능을 사용해보지 못하여 조금 아쉽지만 젠킨스를 다룰 때 얽혔던 여러 문제들을 경험하면서 얻은 것이 많았고 추후에 또 젠킨스를 사용할 때 참고하기 위해 기록을 남겨보려고 한다. 0) 프로젝트 아키텍쳐의 특징 특징 읽기 ⬇️ 더보기 0-1) 다수의 서버 운용 일반적으로 진행하는 프로젝트와는 달리 서버를 참 많이 구동했다. SSH 접속 시 공인 IP를 가지는 프록시 서버를 두고 어플리케이션 서버는 사설 IP만 가지도록 설정하여 프록시 서버를 통하지 않고서는 어플리케이션 서버에 직접 ..
약 3개월 전에 끝마쳤던 NCP를 이용한 프로젝트이다. 지난 3개월 동안 나태해졌던 나를 탓해야지.. 뼈저리게 반성하며 포스팅 진행하자. 1) 프로젝트 개요 자세한 코드와 개발 과정에 대한 설명은 아래 github의 document 레포에 나타나 있다. 물음표살인마 개발을 함에 있어 항상 왜?를 서로에게 질문하며 곤란하게 만들자는 의미의 팀명입니다. 물음표살인마 has 4 repositories available. Follow their code on GitHub. github.com 더보기 NCP와 NCP에서 제공하는 AI 서비스(챗봇, 번역 등)를 이용한 두번째이자 마지막 프로젝트이다. 1차 프로젝트(Picasso)에서 이 프로젝트를 위해 클라우드 크레딧을 좀 아껴 사용했다면, 2차이자 마지막 프로젝..
몇개월에 걸쳐 진행된 TIFY 프로젝트도 끝을 향해 나아가는데, 그간 이런 핑계 저런 핑계를 대다가 정말 오랜만에 블로그를 작성한다. 어느새 개발이 거의 다 진행되어 QA 마무리 단계까지 온 탓에 블로그를 쓸 것들이 산더미,, S3 Properties 리팩토링 하는 김에 나태해지지 않기로 했으니 열심히 써보자...o_O! 기획, 디자인, 프론트 팀원들과 QA를 진행하다 보니 꽤나 대용량의 이미지 파일을 관리해야하는 상황이 있다는 것을 인지했다. 열정 넘치고 실력있는 디자이너 팀원들의 노력의 산물이 3D까지 구현된 것이다 보니 용량이 크더라.. 이전 프로젝트에서 NCP Object Storage를 이용해 보았기 때문에 다시 한번 그런 방식으로 AWS의 서비스를 찾아 본 결과 S3라는 서비스를 찾을 수 있었..
스케쥴링의 결과물인 경매 작품의 상태 변화에 따라 사용자에게 메일을 발송하는 작업을 테스트했을 때 발생하는 문제를 위 사진으로 간략하게 나타내었다. (위 사진의 결과는 메일 발송 메소드를 Thread.sleep(500)으로 처리한 결과이다.) 위 사진에서처럼 160개의 상태 변화가 필요한 작품들에 대해 스케쥴링을 적용하였고, 한 작품당 한 사람에게 메일을 보낸다고 가정했을 때 100개의 작품에 스케쥴링을 적용한 후 메일을 보내면 50초의 시간이 걸리고 그 시간 동안 다른 작업(그림의 상태 변경)은 Block되는 현상을 관찰할 수 있었다. 서비스 장애이지 않을 수 없다. 이러한 장애를 비동기를 이용하여 해결해보았다. 1) 코드 변경점 1-1) Application @Slf4j @EnableSchedulin..