전체 글152 JavaScript 특징과 실행 환경 모던 자바스크립트(저자 이웅모) 내용을 참고하였습니다. 💡️ 자바스크립트 특징 웹 브라우저에서 동작하는 유일한 프로그래밍 언어 인터프리터 언어 멀티 패러다임 프로그래밍 언어 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원한다 프로토타입 기반의 객체지향 언어 싱글 스레드 방식 왜? 쉽게 사용하기 위해서대신 비동기 처리를 통해 쉽게 여러 요청을 처리할 수 있다! 멀티 스레드의 경우 동시성 문제를 해결해야 한다 교착 상태와 같은 멀티 스레드 환경에서 발생할 수 있는 복잡한 시나리오를 신경 쓸 필요가 없다 💡️ 브라우저, Node.js 실행 환경 자바스크립트는 브라우저 환경 또는 Node.js환경에서 실행할 수 있지만 둘의 용도가 다르다 브라우저와 Node.js 모두 자바스크립트의 코어인 ECMAS.. 2022. 4. 11. API 버전 관리 버전관리가 필요한 경우 클라이언트 코드와 서버 코드가 제어하기 어려울 정도로 변경 되어야할 때 불특정 다수의 사용자가 접속하는 OpenAPI를 지원할 때 새로운 버전의 API를 도입하는 것은 클라이언트에게는 완곡한 표현의 서비스 종료 공지가 될 수 있으며, 서비스에게는 구버전을 더 이상 사용하지 않음을 알리는 공지가 될 수 있다. 버전 관리 전략 다양한 방법이 있는데 많이 사용하는 방법으로는 경로, 커스텀 헤더, 콘텐츠 네고시에이션 방법이 있다. 경로 v1 GET /v1/info v2 GET /v2/info 커스텀 헤더 v1 GET /info api-version : 1 v2 GET /info api-version : 2 콘텐츠 네고시에이션 v1 GET /info Accept: application/ex.. 2022. 2. 7. JavaScript forEach와 map의 차이 forEach() 반환값이 없다(undefined) 콜백 함수를 인자로 받아, 배열의 각 요소에 콜백함수를 실행한다 콜백은 호출하는 배열을 변경할 수 있다 const arr = ['a', 'b', 'c']; const newArr = arr.forEach(function(e){ return e; }); console.log(newArr); // undefined map() 새로운 배열을 반환한다 콜백 함수를 인자로 받아, 배열의 각 요소에 대해서 실행한 결과 값을 반환한다 forEach() 보다 빠르다 반환되는 새로운 배열로 filter, reduce와 같은 다른 메소드들과 함께 사용할 수 있다 const arr = [1,2,3,4,5]; const newArr = arr.map(function(e){ .. 2022. 2. 1. Hash Tables Hash Tables Key-Value System : 특정한 값(Value)을 찾고자 할 때 그 값의 키(Key)로 접근할 수 있다. 데이터를 최대한 빠른 속도로 관리하도록 도와주는 자료구조 해시를 사용하면 메모리 공간이 많이 소모되지만 매우 빠른 속도로 데이터를 처리할 수 있다. Hash Tables vs Arrays 예를 들어 특정 메뉴의 가격을 검색한다고 했을 때, Array의 경우 menu = [ { name: 'coffee', price: 10 }, { name: 'burger', price: 15 }, { name: 'tea', price: 5 }, { name: 'pizza', price: 10 }, ]; // loop를 돌면서 name == 'pizza'를 찾는다. for() 선형검색(L.. 2022. 1. 6. CORS란 무엇인가 (CORS, SOP, Preflight) CORS 정책 위반...읽기 두려운 에러 메세지... 최근 인턴쉽에서 아비웹 고도화 프로젝트를 진행하면서 CORS 정책 위반으로 에러가 발생했었다. 강렬한 붉은색의 에러 메세지... 천천히 읽어보면 나름 친철하게 해결방법을 알려주고 있는데, 처음 봤을 때는 강렬한 붉은색의 에러 메세지에 당황했던 기억이 있다. 살펴 볼 키워드 CORS를 이해하기 위해서는 CORS라는 단어 뿐 아니라 연관된 용어들을 이해하고 알아야한다. 다음 순서대로 글을 작성하였다. CORS (Cross-Origin Resource Sharing) Origin (출처) SOP (Same-Origin Policy) Preflight CORS (Cross-Origin Resource Sharing) '다른 출처'에 리소스를 요청할 때, 해당.. 2022. 1. 4. 재귀 개념 (Factorial, Fibonacci Number) 재귀란? 컴퓨터 과학에서 재귀의 사전적 정의는 다음과 같다. 재귀(Recursion) : 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻한다. 이를 프로그래밍에 적용하여 재귀 호출(Recursive call)의 형태로 많이 사용한다. 재귀 호출(Recursive call) 개념 재귀적인 루틴에서는 자기 자신을 호출하여 하위 작업을 처리하는 방식으로 작업의 일부분을 수행한다. 재귀 호출을 하다보면 자신을 호출하지 않고도 처리할 수 있는 하위 작업이 나오는데 이를 기본 케이스(base case)라 부르고, 루틴에서 자신을 호출하여 하위 작업을 수행하는 케이스는 재귀 케이스(recursive case) 라고 부른다. 모든 재귀적인 케이스는 결국에는 기본 케이스(종료조건)으로 넘어가야만 한다. 특징 재귀 호.. 2021. 12. 31. 이전 1 2 3 4 5 ··· 26 다음 반응형