본문 바로가기

TIL40

TIL #13) 개인프로젝트 진행 중 발생 오류 오늘의 오류 catch (error) { console.error(error); if (error.name === "ValidationError") { //조이에서 에러가 발생한다면 return res.status(400).json({ errorMessage: error.Message }); } return res .status(500) .json({ errorMessage: "서버에서 에러가 발생했습니다..!" }); } try catch 문을 이용해 조이에서 에러가 발생한다면 원인 에러를 400 state 메시지로 띄우는 코드를 작성했다. 그러나 insomnia 창에서 확인해보니 400 상태로 서버를 띄워주기는 하나 json 안에는 아무것도 없었다. 확인해보니 json({ errorMessage: e.. 2024. 1. 22.
TIL #12) REST API 배우며 잘 모르겠는것들 임시 저장 Today I Learned default router 가 무슨 말인지 잘 모르겠다.. https://ko.javascript.info/import-export#ref-4122 +로 쓴 문법을 잘 모르겠다 +는 단항 연산자로, 피연산자를 숫자로 변환합니다. 값과 데이터 타입이 모두 일치하는지 확인하기 위해 일치연산를 사용하므로 데이터의 일관성을 유지하고 예상치 못한 형변환에 의한 오류를 방지하기 위해 저렇게 사용함 req.params.goodsID라는 개념도 좀 헷갈림....설명이 필요함. status 200으로 갖고오겠다는것도 모르겠음. 저게 바뀌면 뭐가 달라짐? params로 갖고온거랑 body로 갖고온거는 뭔 차이? 저기서 req(request)는 goods 배열을 말하는게 맞나? (아마 맞겠지만... 2024. 1. 18.
TIL #11) Node.js 란 무엇인가.. Today I Learned Node.js란 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다. 이벤트기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적인게 특징이다. Node.js 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리 생태계이기도 하다. 간단하게 말해 Node.js는 JavaScript를 브라우저가 아닌 컴퓨터에서 브라우저 없이 실행하게 도와주는 환경이다. 이는 핵심적인 라이브러리와 V8엔진, 그리고 libuv라는 라이브러리를 통해 가능해진다. 1. 논 블로킹 I/O(Non-Blocking Input/Output) 블로킹 I/O 한번에 하나의 작업만을 처리 가능하다. 호출된 함수가 완료되기까지는 호출한 함수에게 제어권을 넘겨주지 않음. 그만.. 2024. 1. 17.
TIL #10) git으로 협업하기 오늘은 예병수 튜터님의 git 심화특강을 듣고 실제로 조원들과 git 을 사용해보았다. 협업시작하기 팀장이 먼저 git 레파지토리를 생성해서 환경을 만들어야한다! 1. 파일 만들어 코드 작성하기 2. git 레파지토리 만들기 3. git init, git add, git commit -m "" 4. git 주소를 넣어 파일과 git orgin 연동하기 5. git push!! 6. collaborators 설정하기 7. git switch -c dev (로컬에서 dev브랜치 생성) 8. git push origin dev (github에 반영) 9. github에서 dev브랜치를 defalut 설정하기 ===> 이러면 팀장이 해야할게 끝난다. 팀원들은 git clone으로 로컬에 파일을 불러온다.(git.. 2024. 1. 9.
TIL #9) 자바스크립트에서 실행 컨텍스트 Today I Learned 실행 컨텍스트 실행 컨텍스트란 실행할 코드에 제공할 환경정보들을 모아놓은 객체이다. 자바스크립트는 어떤 실행 컨텍스트가 활성화되는 시점에 다음과 같은 일을 한다. 1. hoisting(선언된 변수를 위로 끌어올림) 2. 외부환경정보 구성 3. this 값 설정 => 이런 현상때문에 JS에서는 다른 언어와 다른 특징들이 나타난다. call stack 스택의 한 종류(stack: LIFO, 마지막에 들어간게 제일 먼저 나옴) 가장 위에 쌓여있는 컨텍스트와 관련된 코드를 실행하는 방법으로 코드의 환경 및 순서를 보장할수있다. 특정 실행 컨텍스트가 생성되는 시점이 콜스택의 맨 위에 쌓이는 순간을 의미한다. 현재 실행할 코드에 해당 실행 컨텍스트가 관여하게 되는 시점을 의미한다. 실행.. 2024. 1. 8.
TIL #8) 순수 JS를 이용해 fetch 사용하기 Today I Learned 이번 개인과제는 순수 자바스크립트만을 이용해 TMDB api를 사용한 영화검색 웹사이트를 만드는것이다. 웹개발 강의를 들으며 fetch를 사용하는 법을 배웠는데 이떄 혼동이 생겨 fetch사용시 무조건 jquery를 같이 써야 되는줄 알았다. jquery 없이 fetch 이용을 위해 여러가지 검색을 해보았으나 아무리봐도 명확하게 이거다 하는 답이 없었다. 이런 오류가 생긴 데에는 두가지 이유가 있다. 1. jquery를 사용해야 fetch를 이용할수있는줄 알았다.(jquery가 뭔지 잘 몰랐음) 2. fetch 연동이 잘 되었으나 html에 붙여넣을때 append를 사용하여 1번 이유에 대한 오해를 더 강화했음. (jquery를 빼면 작동이 안되어서..) append 를 바닐.. 2024. 1. 4.
TIL #7) 학습법 특강, 부트스트랩 card 사용법 Today I Learned 오늘은 유현승 매니저님의 학습법 특강을 들었다. 내가 공부를 잘 하고있는지, 이렇게 하면 되는지 고민이 있었는데 동기부여에 도움이 많이 된것같다. 매니저님 본인 이야기인지 아닌지 모를? 아는사람 얘기도 해주셨는데 중간중간 금쪽이짓도 하다(ㅋㅋㅋ) 결국 끝까지 하다보니 최종 프로젝트에서 좋은 결과를 냈다고 한다. 나만 잘 못하는것같고 뒤쳐지는것 같아도 결국 하면 된다! 개발자 지망생이 아니라, 지금부터 나는 개발자다라는 생각으로 공부하라고 하신게 기억에 남는다. 스파르타 캠프에서 내가 얻어야 할것 기술적 고민(문제 해결 능력!!) 단순히 이거 써봤어요가 아니라 프로젝트 진행과정에서 기술구현을 위해 이러한 고민을 했다. 그래서 이 선택이 합리적이고 효율적인 이유를 면접자를 설득한.. 2024. 1. 3.
TIL #6) 23.12.29 자바스크립트 기초문법 강의 중 첫번째 숙제 개인적으로 너무 힘들었다.. 처음엔 split도 들고왔다가 search로 "p" 또는 "y"를 찾아 반복문으로 돌린 후 거기서 true값이 몇번 나왔는지 세면 값이 나오지 않을까 해서 이런식으로 코드를 짰으나 잘 되지 않았다. 혼자 해결하고 싶었으나 결국 튜터님의 도움을 받았다. 결국 완성코드는 이거였고 막상 코드를 뜯어보니 내가 모르는 문법이 많았다. 정답을 보면서도 머리가 안돌아갔다... for문을 저렇게 써주면 console에 배열문으로 인식해준다. 간단하지만 이걸 몰라서 헤맸던 시간들이 길다 ^^.. 그리고 일치연산자(===)를 써주는게 정말 중요하다는걸 알았다. 단순하게 하나만 썼다가 코드 실행이 안되어 당황한적이 꽤 많았다. 2023. 12. 29.
TIL #5) JavaScript 기본 문법 Today I Learned ➰오늘의 회고 그동안 팀프로젝트 진행한 분들의 발표를 들었다. 사전캠프라해봐야 2~3주 미리 오신오신 분들일텐데 정말 많은걸 구현하신분들도 있어 놀라웠다.. 참관만 했을뿐인데 무섭기도하고 동기부여가 확실히 되는느낌! 내일부터는 새로운 팀으로 시작이다. 다시 아자아자 화이팅~! 2023. 12. 28.