본문 바로가기

프로젝트/낙낙(KnockKnock)22

회고 낙낙이 드디어 앱스토어에 게시됐다. 정말 말로 설명 못할 뿌듯함이 올라왔다. 내 핸드폰에 내가만든 서비스가 돌아간다는게 이렇게 기쁜지 처음 알게 되었다. 처음 기획했을 땐 기능들이 간단하니깐 2개월정도면 되겠지 싶었다. 하지만 그건 크나큰 오산이었다. 6개월정도 걸린거같다. 처음에 웹앱으로 만들까 했지만 실제로 쉽게 사용할 수 있는 서비스를 만들어보자 해서 모바일 애플리케이션으로 노선을 정했다. 이것이 가장 큰 문제였다. 우리가 부트캠프에서 배웠던건 웹앱 서비스를 만드는 거였는데 비슷하겠지ㅋㅋ 라는 안일한 생각을 했다. 물론 백엔드를 맡은 나는 크게 다른건 없었다(프론트 분들이 엄청나게 고생하셨지..). 단지 내가 맡은 부분이 많고 처음해봐서 오래걸렸다. 부트캠프를 하면서 oauth2나 spring se.. 2023. 11. 21.
OAuth2 again!!! 내가 여태껏 구현한 oauth는 프론트가 웹일때의 경우였다. 프론트 분들이 페이지만 만들면 된다 생각했는데 생각해보니 모바일앱은 페이지주소가 없다. 그래서 앱 개발 경험이 있는 친구에게 물어봤더니 전체적인 시퀀스가 너무 달랐다. 웹에서는 서버에서 하는일이 많았지만 앱인 경우엔 생각보다 서버는 할게 많이 없다. 내가 원래 짰던 시퀀스는이렇다. 하지만 내가 다시 구현해야 할 시퀀스는 아래와 같다. 내가 찾아본 블로그에서는 카카오는 이렇게 구현하고, 구글은 아래와 같이 구현해야 한다고 한다. 이제 프론트 분들이 받아오는 데이터를 보자. 구글에서는 이름, 이메일, id를 받아온다. 카카오는 아직 권한이 없어서 아이디만 받아와진다. 공통적으로 id만 받아오기 때문에 내가 개발해야 할 API는 ID, Provide.. 2023. 10. 30.
https 를 적용해보자! 먼저 http와 https의 차이가 뭘까? 바로바로 s가 붙었다는것이다! 그렇다면 s는 무엇을 의미할까? 바로바로 Security다. SSL/TLS 인증서를 받아야 한다. 좀더 자세히 알아보자. 보안 및 데이터 암호화: HTTP (HyperText Transfer Protocol): HTTP는 데이터를 평문으로 전송하기 때문에 보안성이 낮음. 데이터가 암호화되지 않아 누군가가 데이터를 가로채면 그 내용을 읽을 수 있음. HTTPS (HTTP Secure): HTTPS는 HTTP의 보안 버전으로 데이터를 암호화하여 전송함. 이는 SSL (Secure Sockets Layer) 또는 TLS (Transport Layer Security) 프로토콜을 사용하여 데이터의 안전한 전송을 보장한다. 따라서 중요한 개.. 2023. 10. 11.
이메일인증을 구현해보자(JavaMailSender)-2(회원아이디,패스워드찾기 )(성공) 개발자 테스트 체크리스트를 만들다가 전 프로젝트랑 비교했을 때, 내가 회원 아이디 찾기, 비밀번호 찾기를 구현하지 않았다는걸 알게 되었다. 그래서 부랴부랴 만들었다. 이메일인증을 이미 구현했기 때문에, 이메일을 이용한 방법을 사용해보기로 했다. ㅇ 간단한 프로세스(아이디 찾기) api/v1/users/me/id api를 호출하면 회원가입로직처럼 인증번호를 만들어서 이메일로 보내줌. api/v1/users/me/confirm-id api를 호출해서 인증번호를 검증하고, db에서 아이디 찾아서 이메일로 보내줌. ㅇ 간단한 프로세스(비밀번호 찾기) 아이디 찾기와 마찬가지로 api/v1/users/me/pw api 호출해서 인증번호 보냄. api/v1/users/me/confirm-pw api 호출해서 인증번호.. 2023. 9. 19.