CS

· CS
🎯 CORS 🎾 CORS 란? 여러분들이 개발을 하다가 외부 API (ex 네이버지도api, 통합 뱅킹 api, 날씨 api)등을 사용할 때가 있습니다 . 이때 특정한 설정없이 사용하면 다음과 같은 에러가 발생합니다. 왜 이런 에러가 발생하고 어떻게 해결할까요?? 이걸 알기전에 CORS부터 알아야합니다. CORS(Cross-Origin Resource Sharing) 말 그대로 출처(Origin)가 다른 자원들을 공유한다는 뜻입니다. 쉽게 말하자면, 다른 출처(ex. 네이버지도 api , 날씨 api)의 자원에 접근해서 리소스를 사용한다는 뜻입니다. 그렇다면 출처가 다르다의 판단 기준은 무엇일까요? 이를 알기 위해서는 먼저 출처에 대해서 알아보겠습니다. 우리가 흔히 알고 있는 URL에서 도메인만 뜻하는 ..
· CS
🎯 쿠키와 세션 1. 🍪 쿠키란? 쿠키는 웹사이트가 나중에 검색할 수 있도록 웹 브라우저 내에 저장되는 웹사이트의 데이터 조각입니다. 쿠기는 사용자가 특정 웹사이트로 돌아왔음을 서버에 알리는 데 사용됩니다. 사용자가 웹사이트를 다시 방문하면 쿠키는 정보를 제공하고 사이트가 선택한 설정과 타켓 콘텐츠를 표시할 수 있도록 합니다. 흔히 웹 상에서 이야기하는 쿠키란 HTTP 쿠키, 웹 쿠키, 브라우저 쿠키라고도 불리며, 웹 브라우저에서 이용하는 정보 파일을 말합니다. 쿠키라는 단어의 어원은 1994년 넷스케이프 한 개발자가 유닉스 프로그래머들이 프로그램 수신 후 변경하지 않고 반환하는 데이터의 패킷을 '매직 쿠키'라고 부르는 것에서 유래했습니다 2. 🍪 쿠키가 저장하는 것들 이 작은 데이터 파일에 어떤걸 저장..
· CS
📖 로드밸런싱 1️⃣ 로드밸런싱은 무엇이고 왜 필요 할까? 데이터가 방대해지면서 아무리 좋은 서버라고 해도 이를 수용하는데 있어 무리가 있습니다. 그에 따라 규모가 큰 서비스를 제공하는 회사의 경우 여러 대의 서버를 두고 동일한 데이터를 저장하여 수많은 트래픽을 효과적으로 분산합니다. 수 많은 트래픽을 여러 대의 서버로 분산해줄 수 있는 기술이 없다면 트래픽은 결국 한대의 서버로 집중 될 것입니다. 그렇게 된다면 서비스 속도가 엄청나게 느려질 것이고 최악의 경우 서버가 마비되어 서비스 자체를 제공할 수 없게 될 것입니다. 이러한 경우에 대비하여 여러 대의 서버로 트래픽을 분산 시켜줄 무엇인가가 필요한데 이 기술이 바로 로드 밸런싱입니다. 이렇게 로드 밸런서를 사용하면 수백만명 의 사용자를 동시에 처리하고..
· CS
🎯 DNS / 웹 통신 흐름 1️⃣ DNS 기본적으로 DNS(Domain Name System Servers)의 역할은 도메인 주소(example.com)를 IP 주소로 변환하는 역할을 합니다. 사용자가 웹 브라우저에서 입력한 URL을 DNS 서버를 통해 IP 주소를 가져와서 이를 통해 서버와 통신을 하게됩니다. 이러한 흐름을 간략하게 그림으로 보면 다음과 같습니다. 웹 브라우저에서 URL을 입력하면, DNS 서버에 도메인에 대한 실제 IP 주소를 요청하게 됩니다. 그리고 받아온 IP 주소를 통해 웹 서버에 요청할 수 있게 되는 것 입니다. 그리고 위 그림에서의 DNS의 동작을 상세히 그림으로 나타내면 다음과 같습니다. 사용자가 도메인 주소를 입력하여 웹 서버에 요청하기까지의 시나리오는 위 순서대로 흘러..
· CS
🚀 OSI 7계층 1️⃣ OSI 모델이란? OSI 7 계층? OSI(Open Systems interconnection) 모델은 다양한 통신 시스템 간에 표준 프로토콜을 통한 통신을 가능하게 하기 위한 개념적 모델로 ISO(국제표준화기구)에의해 만들어졌습니다. 즉, OSI모델은 인간의 공통 언어나 통화 시스템과 마찬가지로 다양한 컴퓨터 시스템에 대해 공통 통신 표준 역할을 합니다. 더 쉽게 말해서 우리가 인터넷 환경에서 여러 사람들과 통신하기 위해 통신 방식에 대한 약속을 했는데 이것이 바로 프로토콜이고 이 프로토콜을 7개의 계층으로 묶어서 통신을 체계화 하고 표준화한게 바로 OSI 7계층입니다. 2️⃣ OSI가 만들어진 배경 아직 가정 소비자에게 널리 보급되지는 않았지만 네트워킹 기술은 1970년대 초..
· CS/CS50
📚 시리즈 목차 1. 컴퓨팅 사고 2. C언어 3. 배열 4. 알고리즘 5. 메모리 6. 자료구조 1. 컴퓨팅 사고 1) 2진법 컴퓨터는 오직 0과 1로만 데이터를 표현한다. 즉, 우리가 흔히 사용하는 0,1,2,3,4,5,6,7,8,9 총 10개의 기호로 표현하는 10진법이 아니라 단 2개의 숫자로 컴퓨터는 모든 데이터를 다룬다. 그럼 두 개의 숫자로 어떻게 동작할까? 일반적으로 십진법은 아래와 같이 숫자를 표현한다. 백의 자리에 1, 10의 자리에 2 1의자리에 3 그래서 123이 완성이된다. 이는 10의 거듭제곱으로 표현되어있는것이다. 그런다면 오직 0과 1만 사용하는 2진법이라면 ? 2의 거듭제곱을 사용할 것이다. 만약 우리가 3이라는 숫자를 2진법으로 표현하려면 아래와 같다. 더보기 이와 같은 ..
· CS/CS50
📚 시리즈 목차 1. 컴퓨팅 사고 2. C언어 3. 배열 4. 알고리즘 5. 메모리 6. 자료구조 6. 자료구조 2) 배열의 크기 조정하기 배열 이미 만들었는데 크기를 변경하려고 한다면 어떻게해야할까? 안전하게 하려면 새로운 공간에 큰 크기의 메모리를 다시 할당하고 기존 배열의 값을을 하나씩 옮겨줘야한다. 왜 이미 할당된 메모리의 크기를 바로 조절을 못하고 임시 메모리를 새로 할당한 뒤 작업을 해줘야할까? 이미 할당된 메모리 옆에는 다른 값이 저장되어있어 메모리를 연속적으로 사용할 수 없기 때문에 조절하고자 하는 크기로 임시 메모리를 새로 할당하여 기존의 값을 그대로 옮겨주고 추가로 할당한 메모리에 새로운 값을 추가 할 수 있다. 쉽게말해 메모리를 사물함이라고 한다면 사용할 사물함의 개수를 한 번 정한..
· CS/cs
컴퓨터로 작업을 하다보면 파일 포맷을 먼저 확인하고, 그에 맞게 처리해야 할 때가 있다. 예를 들어, 이미지 포맷들 중 JPEG와 GIF를 구분하여 다르게 처리해야하는 경우, JPEG는 정적 단일 이미지로 렌더링 하고 GIF는 이미지 스트림을 지원하므로 소위 말하는 움짤로 구현해야 하는 경우가 있다. 그렇다면 파일 포맷이 JPEG 또는 GIF인지 어떻게 확인하면 좋을까? 가장 간단한 방법은 파일 이름의 확장자로 구분하는 것이다. 일반적인 경우 문제가 없지만 만약 사용자가 임의로 파일의 확장자를 변경하는 경우, 의도하지 않은 결과를 낳게 된다. 왜냐하면 확장자를 변경한다고 해서 파일 포맷이 변경되는 것은 아니기 때문이다. JPEG 포맷인 파일인 imge.jpeg를 확장자만 gif로 한 image.gif로 ..
· CS/CS50
📚 시리즈 목차 1. 컴퓨팅 사고 2. C언어 3. 배열 4. 알고리즘 5. 메모리 6. 자료구조 5. 메모리 1) 메모리 주소 일단 메모리 주소를 알보기전에 메모리 부터 알아야 한다. 1️⃣ 메모리 메모리는 영어로 당연히 memory라 하고 이는 여러분이 잘 아시는 것 처럼 "기억", "기록"을 뜻하는 영어단어이다. 컴퓨터에서도 마찬가지로 메모리는 기억을 하는 장치로 사용된다. 메모리는 데이터의 저장과 처리를 담당하여 컴퓨터 시스템의 핵심적인 역할을 수행한다. 풀어 말하면, 메모리는 컴퓨터가 실행 중인 프로그램과 작업에 필요한 데이터를 일시적으로 저장하는 장치로 우리가 일상적으로 사용하는 모든 프로그램과 작업에 불가능한 빠른 속도와 신속한 데이터 액세스를 제공한다. 컴퓨터 메모리는 크게 주기억장치와 보..
개발자성장기
'CS' 카테고리의 글 목록