전체 글

전체 글

    [npm Error]npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead 해결하기

    에러 상황 타입스크립트 설치하려고 라이브러리를 평소에 쓰는 것처럼 사용하고 있었는데, 갑자기 왠 보이지 않던 에러가 발생했다. 이전에 npm 버전을 이리저리 옮기면서 작업하는 탓에 발생했던 것인가 싶기도 하고, 우선 에러가 거슬려서 이를 해결해보기로 했다. 그대로 번역해보니 global과 local 옵션 말고 --location=global로 사용하라고 하는 것 같은데, 너무 길다. 또 저걸 별칭으로 등록해서 사용해야하는가 싶어 고민하면서 구글링을 했고, 이 에러에 대해 해결한 내용들이 많아 그것을 참고해서 해결했다. 에러 해결 포인트는 npm 버전에 대한 문제인것 같았고, 이 버전을 최신화하는 방법이 적합한 해결 방법으로 보였다. 찾아보니 아래의 두 가지 해결 방법을 찾을 수 있었다. 1. 직접 \no..

    코어 자바스크립트 스터디 회고

    📚 책을 선택하게 된 배경 코드 스쿼드 마스터즈 코스를 시작하기 3주 정도 남은 상황이었는데, 어떻게 시간을 보내는게 좋을까 생각을 하다가 내가 주력으로 사용할 언어인 자바스크립트의 핵심적인 부분들을 더 공부하면 좋겠다는 생각을 하게 됐다. 그런데 본 과정에 들어가기에 혼자 막연하게 인터넷 강의를 정주행하거나 집에 있는 모던 자바스크립트 딥다이브를 보기에는 시간이 부족할 것 같았다. 그래서 짧은 기간동안 자바스크립트의 주요한 내용을 다룰 수 있는 책이 무엇이 있을까 찾아보던 중에 코어 자바스크립트가 기본 문법부터 설명하는게 아니라 정말 코어한 부분에 대한 내용(실행 컨텍스트, 콜백, 클로저, 프로토타입 등)을 위주로 다루고 있어서 바로 이 책으로 결정하고 구매하게 됐다. 👥 스터디 편성 처음에는 코코아 ..

    [강의 리뷰] 모든 개발자를 위한 HTTP - 1장. 인터넷과 네트워크

    이 아티클은 김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 듣고 공부한 내용을 정리하기 위해 작성되었습니다. 1. 인터넷 통신 인터넷에서 컴퓨터가 통신하는 방법으로는 클라이언트와 서버가 인터넷 망이라는 거대한 연결 고리를 통해서 서로 통신하게 된다. 조금 더 구체적으로 말하자면 인터넷은 여러 지점에 뿌려진 물류 집화장 같은 것으로 서로의 관계가 복잡하게 얽혀있어 복잡하지만 서로 혼선 없이 통신하기 위해 나름의 규칙을 정해 사용하고 있다. 2. IP(Internet Protocol) 서로가 인터넷에서 원할한 통신을 하기 위해 지키기로 약속한 규정된 약속 지정한 IP 주소에 패킷(Packet)이라는 통신 단위로 데이터를 주고 받는다. 주로 호스트의 주소를 지정하는 것과 패킷 분할, 조립을 등..

    [자료구조] 해시테이블

    1. 해시 테이블이란? 우리가 누군가에게 연락하기 위해서는 핸드폰 번호를 입력해서 할 수 있겠지만 이런 경우 그 사람의 연락처가 무엇인지 기억하기 위한 노력이 필요합니다. 그런데 만약 100명, 아니 10,000명의 사람의 연락처를 기억하고 그것을 바로 생각해서 연락하는 것은 음, 쉽지 않겠죠? 그래서 그것을 기억하기 쉽게 단축 번호(1, 2, ..., N)를 등록하거나 이름, 별명 등 다양한 방식으로 그 전화번호를 저장하는게 보통입니다. 여기서 홍길동이라는 사람의 연락처를 찾는다고 하고, ㄱ~ㅎ까지 순차적으로 확인한다고 하면 등록된 연락처의 수에 비례해서 찾는 시간이 걸립니다. 또한 탐색에서 빠르다고 하는 이진 탐색을 이용해도, 탐색하는 양을 절반씩 줄여나가 많이 개선됩니다. 하지만 결국에는 데이터의 ..

    Cypress E2E Test 설치 및 사용 방법

    테스트 란 ? 애플리케이션이 요구사항에 맞게 잘 작동 하는지 검증하는 작업 테스트가 필요한 이유 매번 새로운 기능을 추가하거나, 수정 작업을 할 때마다 해당 기능과 영향을 받는 또 다른 기능들이 어떻게 동작 하는지 실행 결과를 확인하는 작업이 필요하다. 그렇기 때문에 반복적으로 이 기능이 잘 작동 하는지 개별로 사람이 확인하는 작업을 거쳐야하며, 이것은 매우 번거롭지만 사용하는 제품의 신뢰도와 안정성을 위해서 필요로 하는 작업이다. 무조건 적용하기 보다는 테스트를 작성하는 비용과 효용을 따져서 상황에 맞게 선택하는 것이 바람직하다. 테스트의 종류 종류는 많지만 현재 가장 많이 사용 되고 있는 테스트는 크게 아래 3개로 추려진다. 단위 테스트 : 모듈(함수, 클래스) 단위의 테스트로 기능이 실패했을 때의 ..

    var, let, const

    var, let, const 1. var 키워드의 특징 및 문제점 1-1. 변수 재선언 및 재할당 허용 var x = 1; var y = 1; // var 키워드로 선언된 변수는 같은 스코프 내에서 중복 선언을 허용 var x = 100; // 초기화문(값 할당)이 있는 변수 선언문 var y; // 초기화문(값 할당)이 없는 변수 선언문 console.log(x); // 100 console.log(y); // 1 var 키워드로 선언한 변수를 중복 선언하면 초기화하는 구문의 유무에 따라 동작이 다르다. 초기화 문이 있는 경우 : 자바스크립트 엔진이 이전 var 키워드가 없는 것처럼 동작 초기화 문이 없는 경우 : 해당 변수 선언문을 무시 (에러는 발생하지 않음) ❗️문제점 : 동일한 이름의 변수가 이..

    Hoisting 요약

    Hoisting | 호이스팅 변수, 함수의 선언부가 현재 위치한 인접 스코프 내의 시작 지점에서 해당 식별자의 관측이 가능한 자바스크립트 엔진의 컴파일 전처리 과정 중 일부다. 자바스크립트 코드는 실행(런타임)하기 전에 메모리에 실행할 특정 데이터(선언문)를 저장하는데, 이것은 인터프리터 언어의 단점인 컴파일 속도가 느린 단점을 보완하기 위한 과정으로 자바스크립트에서만 가지고 있는 특징 중 하나에 속한다. 이렇게 데이터가 스코프의 맨 위로 올라가는 만큼 변수의 라이프 사이클, 즉 생성과 초기화, 할당 등에 있어서 동작하는 방식(규칙)이 저마다 다르다. 📋 요약 1. 변수 호이스팅 ( var, let, const ) 생성된 식별자는 undefined로 초기화 var - 선언과 초기화 단계가 한 번에 수행 ..