본문 바로가기

TIL66

[TIL] 편메추 프로젝트 마무리 및 회고 📌 프로젝트를 마무리 뉴스피드 팀프로젝트가 오늘로써 끝이 났다. 아쉬움이 많았지만, 많은 것을 공부 할 수 있었고 결과도 좋아서 나름 괜찮았던 프로젝트였다. 🥳펜메추 깃허브 📹 시연 영상 📌 회고 및 느낀점 프로젝트를 끝내고 가장 먼저 느낀것은 '공부해야하는 것이 끝도 없구나'라는 생각이었다. 필수 구현 API는 나름 빠르게 진행되었지만, 여러 유효성 검사와 이래 저래 변동되는 스키마 등 많은 이유로 시간이 조금 지체되었다. 또한 혼자 작업하는 것이 아니기에 변동 사항에 대해서 소통이 잘 이루어져야했는데 그 부분에서 정말 미흡했던것 같다. 하지만 과정 중에 팀원들의 많은 피드백과 요청들과 항상 퇴실 전에 회의를 통해 더욱 소통할 수 있게 시간을 만들어서 조금씩 좋은 방향으로 흘러가게 되었다. 내가 구현한.. 2024. 2. 15.
[TIL] bcrypt.hash와 bcrypt.compare 🧐 bcrypt.hash 우리가 기본적인 회원 가입을 진행할때, 비빌 번호와 같은 정보는 민감하기 때문에 유출에 더욱 신경을 써야한다. 혹여나, 유출이 되었더라도 비밀 번호를 해독하지 못하는 형태로 변형 시켜 데이터베이스에 저장해 주어야 한다. 이러한 작업을 해싱이라하는데, 특정 알고리즘을 통해 인간이 해독하지 못하는 문자열로 만들어주는 작업이다. 해싱은 특징은, 단방향이다. 원래대로 다시 되돌리는 것이 불가능하다. 어떠한 특정한 문자열을 해쉬 문자열로 변형은 가능하지만, 해쉬 문자열을 특정 문자열로 되돌리는 것은 불가능하다 동일한 값에 동일한 출력값을 가진다. 어떠한 특정 문자열을 계속 여러번 해쉬를 해봐도 동일한 값을 출력한다. . 특정 문자열이 조금만 바뀌어도 전혀 다른 값의 결과를 출력한다. 특정.. 2024. 2. 15.
[TIL] prisma schema ondelete의 noaction, cascade차이 프로젝트를 진행하다가 유저의 회원 탈퇴 기능에서 회원이 탈퇴되면 유저가 작성한 게시글도 다 사라지게 하려했는데 그 과정에서 에러가 발생하였다. 결론적으로 발생한 이유는 prisma schema에서 onDelete속성을 noAction으로 설정해 놓았다. noAction은 부모의 테이블을 삭제 하려고 할때, 자식 테이블이 남아있으면 삭제 할 수 없다. 그러므로 자식 테이블이 모두 사라져야 부모 테이블을 삭제 할 수 있고, Cascade는 부모가 삭제되면 자식의 테이블은 함께 삭제되는 기능이다. onDelete속성을 Cascade로 바꾸니 잘 해결되었다. 2024. 2. 14.
[TIL] 편메추 프로젝트 시작 팀 프로젝트가 시작되었다. 백엔드로 첫 팀 프로젝트이다. 개인 과제와는 다르게 많은 API를 작성해야하고 API도 하나하나 구현하는 것이 아니라 나누어서 구현하기 때문에 현업 과정에서 소통이 가장 중요할 것이다. 우리는 편의점 메뉴를 추천해주고, 같이 먹으면 좋을 조합까지 추천해주는 편의점 메뉴 추천 사이트를 제작하려한다. 개인의 취향을 담은 편의점 조합을 게시글로 올리고 좋아요를 통해 공감을 얻을 수 있다. 또한 다른 유저들은 별점을 통해 평가할 수 있다. 기술 스택으로는 express.js, MySql, Prisma, yarn, git, github를 사용하여 작업하기로 했다. 기본적으로 사용할 테이블의 개수는 5개이지만 나중에 수정되고 삭제 될 수 있다. 편메추 ERD pyeonmechu | Dra.. 2024. 2. 8.