항해99 일지(23)
-
74/99 도커 빌드 (맥 - ubuntu 호환) / nginx이용 https (실패)
그간의 트러블 슈팅에 관해. 작은 트러블 슈팅은 수없이 많았는데 . 글쎄.. 큰 트러블슈팅은 없었다. 왜냐면 최근에 슈팅을 못하고 다른 방법으로 대체해버린 경우가 있었으니까. 1. 도커 빌드 최근 도커를 이용해서 배포하는 과정을 좀 단순화 하고자했다. 왜냐면 우분투가 npm install 하는 과정에서 3번이나 터져버리고 나니까 쳐다보고싶지도 않았다. 여튼 맥에서 빌드 이후에 우분투에서 pull 하는 과정에서 자꾸 오류가 나서 알아보니까 AMD 기반 머신과, ARM 기반 머신 간에 호환이 맞지않아서 ..? 인듯 했다. -인스턴스 타입 t2.micro인 AWS 서버는 AMD64 기반의 프로세서를 사용하므로 -맥북 m1 은 ARM64 기반의 프로세서를 사용하므로 멀티 플랫폼을 위한 Buildx 도커 이미지 ..
2022.07.21 -
63/99 트러블슈팅, 스키마구성/ 미들웨어 구성/소켓 roomId 설정
이번 WIL의 키워드 : 실전 프로젝트를 진행하며 기술적으로 막혔던 부분은 무엇인가요? 해결했다면 어떻게 해결했는지 과정을 작성 이번 주차는 특별히 새로운 기능을 추가하는 것 보다는 프로젝트에서 가장 핵심이라고 할 수 있는 것 중 하나인 워크스페이스에 관해 고민해 본 주차였다. 원래 기본 CRUD는 구현해놓은 상태에서 필요한 기능들을 구현해야 할 때마다 그때 그때 추가하려고 했는데 워크스페이스가 있어야하는 시점이 되었다. 워크스페이스란 협업 툴에서 팀원들끼리 공유하는 공간을 뜻하는데 소소한 문제부터 워크스페이스의 접근 권한에 관해 미들웨어를 하나 추가하는 문제에대해 생각했다. 1. 소소한 문제 - 스키마 구성 워크스페이스 스키마를 구상하는 데 있어서 어떤 요소들이 들어가야 할지 정해야했다. 이름, 만든 ..
2022.07.10 -
56/99 트러블슈팅? mongoError, url 중복
실전 프로젝트를 진행하며 기술적으로 막혔던 부분은 무엇인가요? 해결했다면 어떻게 해결했는지 과정을 작성 MongoError: E11000 duplicate key error collection 꽤 많이 만난 에러다. 깔끔하게 콜렉션 드랍하면 해결된다. 아마 이미 추가된 내용과 추가할 내용 사이에 스키마가 변경되면 만날 수 있는 에러인듯하다. CastError: Cast to Number failed for value "like" (type string) at path "postId" for model "Comment" 좋아요 기능 추가중에 만난 에러다. 아마 url이 겹쳐져서 그런듯하다. 수정전 댓글삭제 및 수정 url, 좋아요 추가,취소 url api/board/post/:postId/:commentI..
2022.07.03 -
49/99 클론코딩 주차 - Socket.io의 시작
날짜 적어놓고 보니 이제 절반쯤이네. 졸려죽겠으니까 빨리 쓰고 자는걸로. 이번 WIL의 키워드 : 이번 주차를 진행하며 내가 가장 신경 쓴 부분/기술에 대한 정리 이번 주차 내가 맡아서 했던 부분은 실시간 채팅 부분이다. 원래 클론하려는 원티드에는 실시간 채팅이 없지만, 새로운 기능을 좀 추가해보고자 팀원들과 실시간채팅을 집어 넣기로 하였다. 앞으로의 실전 프로젝트에 있어서도 실시간채팅, 소셜로그인은 거의 포함될 가능성이 크기때문에 더욱 그랬다. 노드JS에서 실시간채팅을 위해서는 Socket.io를 써야한다. Socket.io란 Node.js 라이브러리로 실시간 웹 기술을 손쉽게 사용할 수 있는 모듈이다. Websock, Polling, Streaming 등 다양한 방법을 하나의 API로 추상화 한것으로..
2022.06.26 -
42/99 첫 협업을 마무리하며.
첫 협업을 진행하며 느낀 아쉬운 점, 뿌듯한 점 지난 주에 미니프로젝트를 통해 프론트와 백으로 나뉜 후 첫 협업을 진행하며 느낀 점은 일단 스코프를 잘 정해야 하는 것. 즉, 본인이 할 수 있는지 아닌지를 아직 처음 해보는 서툰 단계니까 , 모를 수 있지만 앞으로는 구현 가능 여부를 확실히 정하고 팀원들에게 알려야 한다. 본인이 계속 붙잡고 길어지는 상황이 생기면 프론트 쪽에서도 그에 맞는 충분한 시간이 필요한데 마감기한 전에 완성했다고 끝난게 아니기 때문이다. 협업은 상대방과 맞춰서 걷는 것 같다. 이번 주차엔 백엔드 측에서는 정말 쉬는 주간처럼 주특기 주간에했던 CRUD를 다시 하고 프론트와 연결하는 주간으로 여겨졌는데, 프론트 측에서는 새로하고 데이터를 받는 생소한 과정들이 시작되기 때문이다. 그래..
2022.06.19 -
35/99 CORS?
휴일을 맞이하여 WIL이나 써볼까하여 카페에 왔는데 에어팟을 갖고오지 않는 대참사가 일어났다. 그저께부터 미니프로젝트를 시작했다. 뭐 이래저래 어떤 주제들을 정하고 만들지만 이번 주차의 목표는 그동안 배운것들을 활용하여 프론트엔드와 백엔드의 연결이 아닐까 싶다. 그래서 우린 일단 기본 틀만 잡고 바로 연결부터 해보자고 했는데 그러려면 CORS를 알아야 했다. 마침 CORS 관련 에러도 나버렸고.. 주제가 CORS인 만큼 공부하고 써보겠다. (WIL이든 코드든..) CORS란? 교차 출처 리소스 공유 (Cross-origin resource sharing)의 약자. 현재 브라우저로 접속중인 페이지에서 자바스크립트를 이용해 다른 도메인 또는 포트를 가진 주소로 요청을 하는 경우, 해당 리소스에 접근을 허용했..
2022.06.12