Mon Groy 2024. 8. 20. 22:46

프로젝트가 마지막까지 속을 썩인다

 

솔직히 비밀번호 검증하고나서 정보수정하는 거 나름 회심작이었는데

이렇게 작동을 안 하니 마음이 무겁다

 

남들은 다 시간 여유가 생겼는데 나는 왜 마지막까지 작동오류로 얽혀있어야 하는거지..?

사실 어제 마지막 모의면접도 제대로 준비하고 싶어서 조금이지만 자기소개도 업그레이드 시켜놨는데..

오류 때문에 연습을 못해서..하겠다고 말씀 못드렸다


local로 돌리면 멀쩡한데 서버로 돌리면 404로 막힌다

머지해야할 내용을 덜 머지해서 그런 거면,

같은 base url을 사용하는 같은 컴포넌트의 url도 안 먹혀야 하는데 아주 잘 돌아간다

뭔가 배포시의 설정에 추가적인 무언가가 필요한 상황이지 않나 추측해 본다

 

https://bohyeon-n.github.io/deploy/web/react_apache_error.html

 

React앱 Apache로 배포 시 404 에러 해결하기 | 구보현 블로그

React앱 Apache로 배포 시 404 에러 해결하기 20200823 리액트 앱을 Apache 서버로 배포하였는데, 시작 페이지가 아닌 다른 url에서 새로고침 시 404 응답을 받았다. 왜 404 에러가 오는지와 이를 해결하는

bohyeon-n.github.io

 

어디선가 경로설정을 해줘야 한다고 하는데 나중에 팀에 말해봐야지


요즘 프로젝트의 종료가 다가오면서 압박감이 덜 한데

헤이해지면 안 되니까 계획을 세우기로 했다

내게 부족한 코드카타와 이론공부를 필두로,

코딩하는 감각을 잊으면 안 되기 때문에 뭔가 해야겠다

 


11시쯤 설문결과에 나왔던 버그나 추가되었으면 하는 사항들을 리스트로 보면서

현재 수정된 부분들을 체크했다

내가 맡았던 부분에서는

서버가 제대로 작동하지 않아서 확인하지 못하는 부분을 제외하고는 뭐 할게 없었다

 

그런데 DB가 해킹당했다

아니 비밀번호 확인절차까지 제대로 작동하면

AWS 닫히기 전에 스크린샷 해두려고 했는데..?

 

담당 튜터님을 찾아가니

마침 다른 튜터님과 함께 계셨다

 

DROP된 것을 보시곤 누군가 11시 2x 분 쯤 DROP 한 것 같다고 하시고

복구 진행을 도와주셨다

그런데 복구가 잘 되는 것 같다가 폴더가 하나밖에 안 남는 이상한 결과물이 나왔다

그래서 다시 복구를 진행했고

오래 걸리는 작업이고 마침 점심시간대라 나중에 확인하기로 했다

그런데 식사끝나고 오니까 또 같은 현상(폴더가 하나밖에 안 남은 현상)이 발생되어 있었다

 

늦어도 3시쯤에는 모이기로 했었기 때문에

3시가 되자 초조해져서 팀장을 찔렀다

아무 말 없이 그냥 찔렀는데 바로 상황 파악하시고 튜터님께 이동하셨다

나도 빠르게 따라가서 튜터룸으로 들어가 다른 팀원들을 호출했다

 

화면 공유로 보여드리니 보자마자 txt 파일에 영어로 뭐라고 적힌 것을 발견하셨다

table에 우리가 만들지 않은 파일 하나만 덜렁 놓여져 있었고

그 txt파일에는

이런 내용이 남겨져 있었다

 

All your data is backed up. You must pay 0.0132 BTC to 1KnSqjepnu6vb1fosSm5JU6vkcguMSpUk4 In 48 hours, your data will be publicly disclosed and deleted. (more information: go to https://is.gd/dayuwi)

After payment send mail to us: dzen+2oq7t@onionmail.org and we will provide a link for you to download your data. Your DBCODE is: 2OQ7T

 

데이터를 원하면 48시간 안에 BTC을 내놓아라 하는 내용이었다

 

 

그동안의 로그를 보면서 시간을 아래 링크에서 확인하고

https://www.epochconverter.com/

 

Epoch Converter

Convert Unix Timestamps (and many other date formats) to regular dates.

www.epochconverter.com

 

적절한 시간을 찾아서 이후는 다 삭제해 버렸다

 

그리고 다시 DB를 복구했고,

인스턴스 비밀번호도 바꿔주었다

이번에는 중간에 해커에게 DROP 되지 않고 잘 넘어갔다

 


다음 해결해야 할 문제는 어제 새로 머지한 것들이 서버에 적용이 안 되는 현상이었다

 

앞서 언급했던 현재비밀번호 확인 메서드가 적용이 안 되는 것과

팀원이 작성한 댓글 글자수를 넘을 경우 alert 창이 뜨지 않는 것

 

분명 로컬에서는 작동이 잘 되는데, 배포후에는 작동이 되지 않아서

이것도 튜터실에 온 김에 여쭤봤다

 

새로 작성했던 메서드를 주석처리 후 로컬로 돌렸을 때도

새로 머지한 다음 돌린 상황과 동일하게 404 오류가 나고 있었다

이건 메서드 자체가 제대로 안 올라간 것으로 보인다고 하셨다

 

yml 파일에 캐시를 지우도록 설정(Deploy to EC2 docker image prune)하였고

EC2 에 접속하여 docker관리창으로 이동했다

sudo docker excec -it {위에 있는 containerId 복붙} /bin/bath

*복붙할 때 shift+insert 사용

 

원래는 새로 이미지가 올라오면 인식해서 덮혀서 적용이 되어야 하는데 그렇게 되지 않는 것으로 

도커의 이미지 정리가 제대로 이루어지지 않는 것이 원인이었다

 

추가로 빌드할때마다 이미지 정리를 도와주는 방법이 여러가지 있다고 하시면서 다양한 경우를 보여주셨다

1. 커밋할 때 태그도 같이 올리면 버전관리용으로 사용하기
semantic version 이라고 해서 메이저.마이너.패치 로 구성된 버전 관리 방식
2. release action

 

https://medium.com/prnd/github%EC%97%90%EC%84%9C-release-tag-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EB%A7%8C%EB%93%A4%EC%96%B4-%EC%A3%BC%EA%B8%B0-1%EB%B6%84%EB%A7%8C%EC%97%90-%EC%84%A4%EC%A0%95-5c09a383fb08

 

GitHub에서 Release/Tag 자동으로 만들어 주기(1분만에 설정)

- GitHub Actions를 활용해서 master/main에 코드가 merge될때 알아서 Release/Tag 를 만들어주도록 하는 방법입니다. - 단 1분만에 설정할 수 있습니다.

medium.com


금요일 모임을 위한 시간과 장소를 정하고 우리팀 담당튜터님도 초대했다


여러가지 해결이 되고 자리로 돌아와서

아직 적용되지 않은 개선할 사항들을 만졌다

 

커뮤니티 게시글을 작성할 때 이미지가 등록되지 않으면 게시가 불가능한 상황

원인은 프론트

null일수도 있는 file을 if문 처리하지 않았기 때문이었다

 

마이페이지에 있는 "내 커뮤니티 게시글 모아보기"는

1. 내가 구독한 그룹의 커뮤니티 게시글들을 보는 용

2. 내가 구독한 그룹의 커뮤니티에 내가 작성한 게시글들을 보는 용

중에서 어떤게 맞는 것 같은지 팀원들의 의견을 모아보니

1번은 어차피 커뮤니티로 들어가면 볼 수 있는 것이기 때문에

2번이 맞다고 해서 백을 수정해야 했다

 

List<CommunityFeed> myCommunityFeeds = new ArrayList<>();
for (CommunityFeed communityFeed : allMyFeeds) {
    if (communityFeed.getUser().getId().equals(user.getId())) {
        myCommunityFeeds.add(communityFeed);
    }
}

 

이것만 추가하면 되서 백 수정은 다행히 금방 끝내긴 했는데

이상하게 게시글을 불러온 다음 404오류가 뜨고 있었다

팀원들에게 말하고 같이 해결하려다 안 되서 튜터님을 찾아갔는데

한번에 해결됐다

그냥 프론트에서 게시글 불러오는 메서드 다음에 위치한 메서드를 못 보고

조금 전에 수정한 메서드를 잘 불러오는데 왜 에러가 뜨지? 라고만 생각한 것이었다

 

아무튼 다음 메서드에서 오류가 나는 이유는 url이 잘못되어 있었기 때문이었고

url을 고치니 다음 오류가 났다

좋아요를 누른 값이 null이어서 뜨는 것이었는데 일단은 고친것에대해서 머지하기로 했다

 

그리고 곧바로 팀장님이 버그를 발견했다고 하면서 말씀해 주신 것이 있는데

구독을 한 그룹의 스케줄공지를 보면 떠 있다가

그 그룹을 해지한 다음 다시 구독을 하면 스케줄 공지가 안 뜬다는 것이었다

아무튼 시범을 보여주기에 확인하니 정말 그랬다

이 부분은 퇴실시간이 다 되어 내일 하기로 했다

발표는 어차피 실시간으로 보여주면서 할 것이 아니어서 괜찮았다

 


뭔가 오늘은 안 바쁜듯 바쁜, 굉장히 큰 사건들로 이루어진 날이었다

그래도 그런 사건들 안에서도 좋은 사람들과 함께여서 그런지 마음이 가벼웠다

 

https://mongroy.tistory.com/227

 

잊어버릴까봐 미리 적어두는 우리 팀원들 장점(과 이미 기록된 팀이 잘한 부분들)

**님은   생각하는 리더입니다 초반일수록 공유해야하는 사항이 많고, 공유를 해도 헷갈릴 수 있습니다 그런 상황을 염두하신 듯, 처음부터 서기를 두자고 제안해 주셨기에 원활

mongroy.tistory.com