팀프로젝트

    [키보드워리어] async await promise 동기 처리

    DB에서 값을 받아오는데에는 시간이 필요해서 동기처리가 굉장히 중요했다. sequelize 에서 값을 받아올때는 앞에 await만 붙여주면 됬다. 그래서 다른 것들도 동기처리를 하기 위해서 await만 붙여주면 끝나는줄 알았지만 아니었다. 구글링을 해서 찾아보니 await 뒤에는 promise만 쓸수 있었고 sequelize는 promise가 내장되 있었기 때문에 await가 가능했던 것이다. forEach문을 promise로 만들어봤지만 동기처리가 되지 않아서 구글링을 해봤다. 기존 for문과 forEach의 차이는 동기, 비동기 차이였다. for문은 동기처리로 모든 for문이 되기전까지 기다린 반면에 forEach는 비동기처리로 진행한다고 한다. 결과 forEach 말고 for of문을 썼다. 이 문..

    [키보드워리어] image 서버에 올리기

    image를 서버에 올리기 위해 구글링을 해봤는데 대부분 formData를 사용해서 옮겼다. 그래서 formData가 필수적으로 필요한줄 알고 공부를 하고봤더니 form태그로 보내면 multer를 이용해서 받을수 있는것을 확인했다. 구글에서 multer를 쓴 예제들을 보며 이미지 1개를 올리는것 까지는 쉽게 구현을 했다. 문제는 여러개의 이미지를 올리는 것이었다. input 태그에서 여러개를 올릴수 있게 multiple 속성을 추가해봤지만 되지 않았다. 내가 원하는건 한번 이미지를 올리고 그 input태그를 사용하여 다시 이미지를 올리면 총 2개의 이미지가 input 에 담기길 원했지만 그러지 않았다. 그래서 input 태그를 5개 배치하였다. multer에서 받을때도 미들웨어로 field로 받아서 가공..

    [키보드워리어] sequelize foreign key 오류

    mysql 은 RDS로 관계형 데이터베이스이다. 그렇기 때문에 참조하는 외래키를 만들수가 있다. 나는 이 외래키를 만들다가 오류와 부딪혔고 상당한 시간을 보냈다. 이유는 참조 대상이었다. 외래키를 쓰기전 외래키를 찾아보니 부모와 자식처럼 연결시켜주면서 자식이 부모의 값을 참조하여 값을 따로 저장시키는게 아닌 외래키로 설정된 값은 부모의 값을 참조하여 가져오기 때문에 속도적인 측면에서 좋고 부모의 테이블을 쉽게 접근할수 있다고 찾았다. 그래서 나는 최대한 많이 외래키를 적용하는게 좋다고 생각했다. 그렇게 겹치는 부분을 최대한 외래키로 잡아준후 적용했다. 결과는 외래키 참조 오류가 떴다. 문제는 외래키의 값은 동일해야 된다는 것이었다. 나는 처음 외래키 설정코드의 문제인줄알고 이것저것 코드를 만져보다 오류코..

    [키보드워리어] 2022.08.23 git merge 병합 실수

    순조롭게 코딩을 하던도중 팀원과 merge를 한후 갑자기 내가 만들었던 기능들이 사라져있었다. 굉장히 당황스러웠다. merge를 하면서 병합충돌이 떴던부분을 대수롭지 않게 생각하고 아무거나 클릭했나보다 생각했다. 실수하면 rebase, reset 하면 되겠지라고 너무 안일하게 생각하고 있었다. 이후 오류가 있기전 커밋을 찾아 reset hard로 돌아가서 다시 병합을 시도해봤는데 병합충돌이 뜨지도 않고 팀원이 했던 부분을 내 코드로 덮어버렸다.. 팀원이 해도 마찬가지 였다. 지금생각해보면 merge 병합충돌 문제가 아니라 다른부분에서 또 문제가 있었나 생각이 든다. 5시간동안 여러가지 test를 하며 병합을 해보며 같은 파일을 수정할때 병합충돌을 조사했다. 같은 파일에 서로 다른 코드를 적으면 merge..

    [키보드워리어] 시작, 가로스크롤, 깃에러

    기존 만들었던 SNS에 서버를 입혀서 다시 만들어보려고한다. 처음에는 기존에 있던 코드를 리팩터링해서 쓰려고 했지만 서버를 배우기전 작성했던 코드는 너무 난잡하고 보기 흉했다.. 그래서 처음부터 코드를 다 갈아엎고 새출발하기로 마음먹었다. GitHub - TeTedo/KeyboardWarrior Contribute to TeTedo/KeyboardWarrior development by creating an account on GitHub. github.com before after 로 폴더를 나누고 서버를 입히는건 after에 넣을 예정이다. 전에 하지 않았던 노션으로 비록 2명이지만 협업툴을 사용할 예정이다. 저번에 기획을 제대로 하지 않고 무작정 코딩부터 시작하면서 기획의 중요성을 깨달았다. 그래서..

    [키보드워리어] 6.27~7.15 SNS 홈페이지 만들기

    클론 코딩이 아닌 처음으로 웹페이지를 기획하고 개발까지 했다 다음 프로젝트를 할때에는 중간중간 내가 당시 느꼈던 감정들을 어딘가 적어놓으면 좋겠다라는 생각이 들었다. 개발을 하면서 느꼈던점은 기획의 중요성이다. 팀원과 나 두명이서 프로젝트를 진행했는데 큰틀의 컨셉만 짜고 나머지는 일단 코딩하면서 생각하자라는식으로 했다. 이렇게 진행하니 페이지 하나하나 완성을 할때마다 다음 내가 뭘할지 모르겠고 완성한페이지에 추가적으로 기능이나 디자인 요소를 자꾸 추가하게됬다. 다음엔 기획도 꼼꼼하게 하고 진행해야될것같다. 프로젝트 중간에 팀원과 크게 안맞는 부분도 없어 부딪히는 부분도 없었고 우리는 공부가 목적이었기 때문에 서로가 작성한 코드를 처음부터 끝까지 보며 코드리뷰, 디버깅도 같이 진행했다. 이프로젝트를 하면서..