HTTP 완벽 가이드 책을 읽고 정리한 내용입니다. URL과 리소스 URL은 인터넷의 리소스를 가리키는 표준이름이다. URL은 전자정보 일부를 가리키고 그것이 어디에 있고 어떻게 접근할 수 있는지 알려준다. 인터넷의 리소스 탐색하기 URL은 브라우저가 정보를 찾는데 필요한 리소스의 위치를 가리키며, URL을 이용해 사람과 애플리케이션이 인터넷상의 수...
HTTP 완벽 가이드 책을 읽고 정리한 내용입니다. HTTP 개관 전 세계의 웹브라우저, 서버, 웹 애플리케이션은 모두 HTTP를 통해 서로 대화한다. HTTP는 현대 인터넷의 공용어이다. HTTP: 인터넷의 멀티미디어 배달부 HTTP는 신뢰성 있는 데이터 전송 프로토콜을 사용하기 때문에, 데이터가 지구 반대편에서 오더라도 전송 중 손상되거나 꼬이지...
캐싱이란? > 캐싱이란 나중에 해당 데이터에 액세스하는 데 걸리는 시간을 줄이기 위해 메모리나 SSD와 같이 빠르게 액세스할 수 있는 위치에 데이터를 임시로 저장하는 컴퓨팅 기술이다. 캐싱 이면의 아이디어는 곧 다시 필요할 가능성이 있는 데이터를 하드 디스크 드라이브와 같이 더 느리고 더 먼 저장 위치에서 액세스해야 하는 경우보다 더 빨리 검색할 수 있...
같은 API를 바라보는 두 개의 클라이언트가 있을 때 (A 클라이언트, B 클라이언트) A 클라이언트에서 뒤로 가기를 눌러서 B 클라이언트로 갈 때 CORS 에러가 나온 에러를 해결한 회고록입니다. 캐싱이랑 관련된 옵션 > 헤더에 적절한 값을 설정하면 캐싱 동작을 최적화하고 서버에 대한 요청 수를 줄일 수 있다. 그러나 잘못된 값으로 인해 사용자에게 오...
그냥 쓰고 싶어서 쓰는 글,,, 현재 에러가(2023.03.28 기준) 나옵니다. 번역해 보면 이것은 예정된 Ubuntu-18.04 브라운아웃입니다. Ubuntu-18.04 환경은 더 이상 사용되지 않으며 2023년 4월 1일에 제거됩니다. 라고 하네요. 해당 링크 : https://github.com/actions/runner-images/issues...
k8s 환경에서 express-session을 사용할 때 https를 사용하고 있음에도 불구하고 secure 옵션을 true로 설정하면 쿠키가 안 심기는 현상을 해결한 회고록입니다. cookie-parser vs express-session cookie-parser > Express.js 애플리케이션에서 쿠키를 쉽게 구문 분석하고 생성하기 위한 미들웨...
지속적 통합(CI, Continuous Integration) > 소프트웨어 개발 과정에서 코드 변경 사항이 발생할 때마다 자동으로 빌드 및 테스트를 실행하는 것을 말한다. 이를 통해 개발자는 코드 변경에 대한 피드백을 빠르게 받을 수 있고, 품질이 높은 안정적인 소프트웨어를 개발할 수 있다. CI를 사용하면 개발자는 코드를 버전 관리 시스템에 커밋할 때...
Jest란? > Jest는 Meta에서 유지 관리하는 JavaScript 테스트 라이브러리로 Node 진영에서도 많이 사용하고 있다. Weekly Downloads가 무려 20,679,279... Jest 사용하기 Jest 설치 npm을 통한 설치 (yarn) package.json에 추가 --runInBand : 현재 프로세스에서 모든 테스트...
테스트의 종류 유닛 테스트(Unit Test) 테스트가 가능한 가장 작은 단위(함수 등)를 테스트하는 것 통합 테스트(Integration Test) 유닛 테스트보다 큰 동작이 서로 다른 동작과 의도대로 잘 상호작용하는지를 테스트하는 것(데이터베이스와 관련이 있다.) 그러면 왜 이런 테스트를 해야 할까? TDD(테스트 주도 개발) > 요구사항을 검...
1. 데이터 타입 얕은 복사와 깊은 복사 얕은 복사 : 바로 아래 단계의 값만 복사하는 방법 (중첩된 객체에서 참조형 데이터가 저장된 프로퍼티를 복사할 때 그 주솟값만 복사) ` > 위 코드는 동일한 객체를 가리키는 변수를 하나 더 만드는 방법 (하나의 객체를 가르키는 변수가 2개) ex) 참조 할당(=), Object.assign, Spread O...
1. 데이터 타입 자바스크립트 데이터 타입에는 크게 기본형과 참조형이 있다. 기본적으로 기본형은 불변값이고 참조형은 가변값이다. 변수는 변경 가능한 데이터가 담길 수 있는 공간이고, 식별자는 그 변수의 이름을 말한다. 변수를 선언하면 컴퓨터는 우선 메모리의 빈 공간에 식별자를 저장하고, 그 공간에 자동으로 undefined를 할당한다. 이후 그 변수에...
7-1 클래스와 인스턴스의 개념 이해 > 프로그래밍 언어에서의 클래스는 현실세계에서의 클래스와 마찬가지로 '공통 요소를 지니는 집단을 분류하기 위한 개념'이라는 측면에서는 일치하지만 인스턴스들로부터 공통점을 발견해서 클래스를 정의하는 현실과 달리, 클래스가 먼저 정의돼야만 그로부터 공통적인 요소를 지니는 개체들을 생성할 수 있다. 7-2 자바스크립트의 ...
6-1 프로토타입 > 자바스크립트는 프로토타입 기반 언어이다. 클래스 기반 언어(C++, Java, C#, Ruby, Python) 에서는 상속을 사용하지만 프로토타입 기반 언어에서는 어떤 객체를 원형으로 삼고 이를 복제함으로써 상속과 비슷한 효과를 얻는다. > ` 어떤 생성자 함수(Constructor)를 new 연산자와 함께 호출하면 Constru...
또 찾아온 cors 에러 해결하기 잊을만하면 cors 에러가 또 나온다. 이놈의 cors.... 에러 내용 > Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Origin' header in the response ...
출처 : 원티드 & 멘토 훈님 기본 개념 1. 알림 시스템 설계 > 알림 시스템은 많은 서비스에서 최신 뉴스, 제품 업데이트, 이벤트 등 비즈니스적으로 중요한 내용들을 비동기적으로 제공한다. 이 시스템은 모바일 푸시 알림, SMS 메시지 그리고 이메일 세 가지로 분류할 수 있다. 알림 제공자 : 알림 요청을 만들어 푸시 알림 서비스를 보내주는 주체 ...
5-1 클로저의 의미 및 원리 이해 > 클로저는 어떤 함수에서 선언한 변수를 참조하는 내부함수에서만 발생하는 현상이다. 어떤 함수 A에서 선언한 변수 a를 참조하는 내부함수 B를 외부로 전달할 경우 A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상 inner 함수의 실행 시점에는 outer 함수는 이미 실행이 종료된 상태인데 oute...
문제설명 문제예시 문제풀이 & 결과 문제풀이 ` 주어진 배열을 1번째 인덱스부터 for문을 돌립니다. 돌리면서 checkArr에 words에 0번째(i-1) 값부터 추가합니다. if문과 charAt을 활용하여 i번째의 첫 번째 글자와 i-1번째의 마지막 글자가 다른지 확인합니다. 다르다면 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇...
프로젝트 중 외부 api를 활용하여 날짜 정보를 가져와야 하는데 날씨 테이블에 날씨 정보(Sunny, Clean 등)를 일일이 다 넣을 수 없으므로 가져온 날씨 정보가 날씨 테이블에 있는 데이터면 바로 날씨 id를 가져오고 없으면 날씨 테이블에 추가 후 id를 가져오게 만든 과정입니다. 해당 코드 구현 과정 1. 외부 api에서 날씨 데이터 가져오기 ...
4-1 콜백 함수란? > 콜백 함수는 다른 코드의 인자로 넘겨주는 함수이다. 콜백 함수는 제어권과 관련이 깊다. 콜백 함수는 다른 코드에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한다. 4-2 제어권 호출 시점 |code|호출 주체|제어권| |:------:|:---:|:---:| |func()|사용자|사용자| |setInterval(func()...
출처 : 원티드 & 멘토 훈님 기본 개념 1. 메시지 큐 >- 메시지 큐란 키보드나 마우스를 통해 발생하는 사용자의 입력을 메시지로 전달하는 윈도우즈 시스템에서 어떤 프로세스에 대한 메시지를 저장하기 위해 할당된 큐다. 메시지 큐에 일단 보관된 메시지는 소비자(consumer)가 꺼낼 때까지 안전히 보관된다는 특성을 보장하는 비동기 통신 매체이다. 메...