목록전체 글 (74)
과거의 내가 미래의 나에게
통신을 통한 데이터는 아무리 협의를 봤다해도 어떻게 변해서 들어올 지 단언할 수가 없다. 따라서 프론트 코드를 짤 때 가장 중요하게 생각하는 것 중 하나가 통신을 통해 들어온 데이터가 이상하더라도 구동하는 데 에러가 나지 않도록 처리하는 에러 처리이다. 옵셔널 체이닝은 에러 처리하는 데 유용한 기능으로, 객체에 접근하는 에러 처리를 간단히 할 수 있게 돕는다. 아주 옛날 프로젝트의 코드를 유지보수해야할 일이 생겼는데, 코드의 바벨이 ES11이 지원이 안되었다. 그러다보니 옵셔널 체이닝도 사용할 수 없었고 에러처리하는데 코드가 잔뜩 길어지다보니 새삼스레 이 기능에 대해 다시 돌이켜보게 되며 오늘의 글을 작성본다. 옵셔널 체이닝 기본옵셔널 체이닝은 객체, 함수, 배열 요소 등에 안전하게 접근할 수 있게 해..
드디어 상태코드의 마지막인 500번대를 살펴보고 HTTP를 마무리하겠다! 5xx (Server Error): 서버의 오류로 인해 요청을 처리할 수 없거나 하지 않음500번대 상태 코드는 서버 내부의 오류로 인해 클라이언트의 요청을 처리하지 못하고 반환하는 코드이다. ■ 500 (Internal Server Error): 요청을 처리하는 과정에서 서버가 예상하지 못한 상황에 놓였다는 상태 코드이다.이는 특별한 뜻이 담겨있다기 보단 서버 에러를 총칭하는 일반적인 응답으로 500번대 상태코드 중 적절한 것이 없다면 사용된다. 서버에서 나는 모든 에러를 다 지정할 수는 없기에 정확히 어떤 문제인지는 규정이 안되었지만 어찌되었든 서버에서 에러가 발생했다는 것을 알리는 것이다. ■ 501 (Not Implem..
오늘은 400번대 상태코드에 대해서 쭉 살펴보았다. 4xx (Client Error): 서버가 클라이언트의 오류로 인해 요청을 처리할 수 없거나 하지 않음400번대 상태 코드는 클라이언트의 오류로 인해 클라이언트의 요청을 처리하지 않고 반환하는 코드이다. 클라이언트가 이와 관련된 상태코드를 받았다면 동일한 요청을 동일한 형태로 다시 보내서는 안될 것이다. ■ 400 (Bad Request): 클라이언트가 잘못된 요청을 하여 요청을 처리할 수 없음을 의미한다.요청 파라미터가 알맞지 않거나 메시지에 오류가 있는 등 클라이언트의 요청 내용이 문제가 있을 시 반환되는 값이다. 이 때 백엔드 쪽에서 어느 부분이 잘못된 지 명시해준다면 클라이언트는 훨씬 더 빠르게 수정할 수 있어서 완전 좋다. 사족으로 아예 상..
Unreachable code 에러문구는 도달할 수 없는 코드로, 소스 중에 어떠한 방법으로도 도달되지 않는 구문이 있다면 생성되는 에러다. try { // 아무런 코드도 없음 return {};} catch (error) { console.error(error); return undefined;} 예를 들어 try 부분에서 에러가 나면 catch로 보내질텐데 위의 구문의 경우 애초에 try에는 catch로 보내질 껀덕지가 없다. 그렇기 때문에 Unreachable code 에러가 나타나게 된다. function test(a){ if(a === 1){ return '1번' }else{ return '그 외' } console.log(a)} 위의 코드도 똑같다. 함수 test를 실..
지난 글에서는 자료구조에 대해 훝어봤다. 하지만 개념 하나하나를 구글링으로 검색하며 공부했기 때문인지 전반적인 흐름을 파악하는 데 아쉬움을 느껴서 이번 주에는 책방을 들러 자료구조 관련 책을 여러 권 살펴보았다. 많은 책이 있었지만 내가 고른 것은 "그림으로 배우는 알고리즘"이란 책이다. 많은 자료구조 책이 자료구조의 종류에 대해 깊게 설명하거나 많은 예시를 통해 다양한 학습을 유도하는 스타일로 이루어져있는데, 내가 원하는 것은 디테일이 아닌 전반적인 흐름을 파악하는 것이었다. 그리고 내가 고른 이 책이 데이터-자료구조-알고리즘의 구성으로 프로그래밍 기초의 흐름을 쉽게 설명해주고 있었기에 많은 공부가 되었다.오늘은 이 책을 읽으면서 느낀 점과 익힌 내용을 정리해보려한다. 데이터, 자료구조 그리고 알고리즘..