728x90

전체 글 32

Ep 22. 의도적 노력

Prologue . EP16 디테일 열심히 한다. → 이만하면 됐다.나는 지금껏 살아오면서 어떤 일을 할 때 위의 루트를 겪어왔다.열심히 한다. 그리고 이만하면 됐다 하고 만족한다. 그렇게 일을 해왔다. 이렇게 살아오면서 학생이었을 때도, 심지어 PD일을 할 때도 문제를 느껴본 적이 없던 것 같다.나 스스로도 열심히 했네 만족했고, 주변에서도 그런 모습을 알아주었고.그런데 이런 방식에 문제가 있다고 느낀게 불과 한 달 전 중간 프로젝트를 하고 나서였다.중간 프로젝트 때도 열심히 했고, 이만하면 됐다며 만족하고 넘겼던 것이빈틈이 되었다. 나는 이만하면 됐다며 만족했던 화면에서 팀원이 더 집요하게 디벨롭하면서퀄리티가 확 달라지는 것을 볼 수도 있었다. 사실, 열심히는 누구나 다 한다.그렇기에 열심히에서 더 ..

[Spring]MSA환경에서 JWT 로그인 구현

MSA에서 로그인 구현이 다른 이유. MSA는 Monolithic 환경과 다르다.Monolithic에서는 유저/게시판/결제/채팅 등등 모든 서비스가 한 서버 내에서 동작이 이루어진다면,MSA에서는  각각의 서비스들을 담당하는 서버들이 각각 있다. 그리고 각각 독립적으로 운영되고 배포된다.( 예를 들어, 유저와 관련한 서비스는 유저서버 / 게시글과 관련한 서비스는 게시글 서버 / 결제관련한 서비스는 결제서버가 담당하는 식의 구조. 이 때 결제서버에서 에러가 터져 서버가 돌아가지 않더라도 유저가 게시글을 쓰는 데에는 문제가 없다. 게시글과 관련한 로직을 담당하는 서버가 독립적으로 돌아가고 있기 때문이다.그런데 모놀리식 구조에서는 한 서버에서 결제,게시글 등 모든 로직을 처리하기 때문에 결제에서 에러가 터져 ..

[Spring] 결제(포트원) 연동[결제 전/후 검증까지]

포트원 이란? 결제 시스템을 구현하려면 은행API나 카드사 결제 시스템을 직접 붙이면 될 것이지만,각 결제 수단마다 연동방식도 다르며 무엇보다 보안 인증이 복잡하여 쉽사리 할 수 없는 것이 현실이다.그래서 PG사(Payment Gateway)를 사용한다.(PG: 온라인 스토어와 카드사, 은행 사이에서 결제 승인을 중계해주는 시스템) 그런데 우리 입장에서 이 PG사의 결제시스템을 붙이는 것도 쉽지 않고,결제가 올바르게 이루어진 것인지에 대한 사전,사후 검증에 대한 API까지 직접 구현하기가 쉽지 않다.그래서  구현하기가 쉬우면서, 사전/사후 검증에 대한 API까지 제공하는 포트원을 결제시스템으로 많은 개발자들이 이용한다.  이 포스트는 포트원 세팅-백엔드 세팅(결제 전 검증, 결제 후 검증)-프론트 세팅 ..

[FireBase]FCM 앱-스프링 연동

구현 이유 지난번 포스트를 통해, 헬스커넥트의 데이터를 가지고 와서 스프링서버로 전송하는 자체 앱개발을 통하여스마트워치를 통해 쌓은 헬스,수면데이터를 스프링서버로 가지고와서 웹서비스로 활용 할 수 있는 구조를 만들었다.그런데 사실 웹서비스에서 실시간으로 바뀌는 내  건강데이터를  조회하려고 할 때마다 앱에서 스프링서버로 건강데이터를 보내야한다. 그러나 내가 개발한 앱은 화면에서 버튼을 누르면 스프링서버로 데이터가 전송되는 구조다.따라서, 사용자가 서비스에서 건강데이터를 조회하려고 하면 먼저 스프링서버가 앱에게 '데이터를 달라' 라고 요청을 하고,앱이 그에 따라 자동으로 데이터를 스프링서버로 전송하는 구조를 만들어야했다.그런데 서버와 서버간에 통신을 하는 것처럼 서버와 앱은 통신할 수 없다.앱은 서버처럼 ..

Ep 21. 인공지능

Prologue . AI 보편화 요즘 형이 챗GPT에 빠져 나에게 막 AI로 만든 이미지나 영상을 이것저것 보낸다...IT에 관심도 없거니와 컴퓨터 게임도 하지 않으면서 돈 한 푼 허투로 쓰지 않는 형이 심지어는 챗GPT 유료결제까지 했다고 해 나로서는 꽤 놀라운 일이었다.나야 개발을 공부하고, 또 이런저런 문서 작성할 게 많았어서 AI 기술의 혜택을 보며 완전 밀접하게 보내지만IT에 관심이 없는 형까지 AI에 푹 빠졌다하니 이제는 정말 모두가 AI에 영향을 받는구나 싶었다. 특히나 이번주 챗GPT에서 도입한 새로운 기술로 인해 세계적으로 자신이 가진 사진을 지브리풍 이미지로 변환하는 것이유행이 되면서 챗GPT 주간활성사용자 수가 처음으로 5억명을 돌파했다고 한다... 개발을 시작하게 되면서 나도 AI를..

[Android]헬스커넥트 연동 앱 만들기

개발이유 팀 프로젝트에서 핵심적인 기능이 스마트워치(갤럭시 워치)에 있는 건강 데이터를 스프링 서버로 가지고와 사용자에게 부가적인 서비스를 제공하는 것이었다.그러나 문제는 삼성헬스에서 내 스프링 서버로 데이터를 받는 API는 없다.갤럭시워치에 쌓이는 데이터는 내 모바일 앱의 삼성헬스에 연동되는데 그 데이터는다시 헬스커넥트(삼성과 구글에서 만든 앱)에 연동된다.그래서 건강데이터를 스프링 서버로 가지고 오는 유일한 방법은  헬스커넥트의 데이터를 가지고와서 우리 스프링 서버로 보내주는 앱을 만드는 것이다. 다만, 스프링 위주의 웹개발만 해봤을 뿐 앱개발과 코틀린은 처음이었다.그래서 아래 나같은 사람을 위해 차근차근(?) 설명해놓았으니 GPT에게 도움을 받아가면 충분히 할 수 있을 것이다. 1.안드로이드 스튜디..

Ep 20. 각성효과

Prologue . 각성효과? 팀 프로젝트를 진행하는 데 있어 난관이 생겼다.스마트워치에 기록된 건강데이터를 스프링으로 가져오기 위해서는 자체 앱을 만들어야하는 상황이었다.지금까지 배운 것은 웹개발에다 앱 개발환경이니 언어니 아무 것도 모르기에 난관이었다.일단은 그래도 필요한 상황이니 일단 주말에 시도는 해보기는 하는데 각이 안나오면 바로 포기해야겠다는 판단이 들었다.다른 할 게 많았기에 앱을 만드는데 시간을 너무 쏟아버리면 안 되기 때문이다. 그리고 금요일, 학원이 오후 6시에 문을 닫아 몇명의 동기들과 함께 수업이 끝난 뒤 카페에 가서 자습을 했다.나는 카페인을 먹으면 잠을 못 자고,배가 아프기도 해서 카페인이 들어간 음료는 절대 먹지 않는데,그 날따라 밀크티가 땡켜 밀크티를 마셨다. 카페인은 중추신..

[개념]WebRTC 개념 정리

0.WebRTC(Web Real-Time Communication)이란?인터넷 브라우저나 앱에서 플러그인 없이 오디오,비디오와 같은 데이터를 실시간으로 주고받는 통신을 가능하게 해주는 기술로 P2P방식으로 작동하여 서버에 부담이 적은 것이 특징이다.(p2p란? Peer to Peer의 줄임말로 서버를 거치지 않고 사용자끼리 직접 데이터를 주고받는 방식을 의미(peer는 동등한 위치에 있는 상대를 뜻하는 것으로 여기서는 사용자와 사용자를 의미한다)) 그리고 WebRTC를 구현하기 위해서는 아래 개념들을 반드시 숙지하고 있어야 한다. 1.Signaling(시그널링)위에서 WebRTC는 P2P 방식으로 작동한다고 했다. 먼저 P2P 통신이 가능하기 위해서는 이 Signaling이란 과정을 거쳐야한다.시그널링은..

EP 19. 피로누적

Prologue .고쳐야 할 점 월요일,화요일은 중간 프로젝트 배포 과제가 주어졌다.사실 배포 작업은 다 같이 하는 작업이라기보다는 한 사람이 키를 잡고 진행하는 것이 훨씬 효율성이 낫다고 생각한다.그래서 나는 팀원들에게 모두가 배포를 할 줄 알면 좋으니 월요일은 각자 배포를 해보자고 제안했다.그리고 실제 배포 할 도메인은 우리 중 제일 잘하는 준혁님이 맡으며, 발표까지 진행해달라고 했다.나는 전 주 주말에 배포를 한 번 해봤어서, 월요일에 내가 배포했던 방식을 다시 공부하며 정리하였다.(그러나 사실 각 팀이 배포한 사이트에 들어가 노느라... 생산성있게 하진 못하였다..ㅎ)    화요일 발표까지 잘 끝났고 팀원들 덕분에 배포 프로젝트도 좋은 성과를 낼 수 있었던 것 같다.그리고 프로젝트를 마무리하며 강..

[AWS]백엔드 배포 오토 스케일링 정리-2

1. Pod 스케일링1-1. HPA(Horizontal Pod Autoscaler)와 Metrics Server 설치파드 스케일링이 진행되려면 파드의 수를 자동으로 늘리거나 줄여주는 쿠버네티스 리소스가 필요하다. 이 역할을 하는 것이 HPA다. 그런데 이 HPA가 파드의 수를 늘리거나 줄여주는 행동을 하는데 있어,CPU 혹은 메모리 사용량 같은 기준점이 있어야 한다. 따라서, 클러스터 내 각 노드와 파드의  CPU와 메모리 사용량을 수집하는 컴포넌트가 필요한데 이것이 Metrics Server다. 즉, Metrics Server가 HPA에게 CPU와 메모리 사용량과 같은 데이터를 전달해주고 그 데이터를 바탕으로 HPA가 스케일 인/아웃을 결정한다)*스케일 아웃: 서버나 노드,인스턴스의 개수를 늘리는 것*..