문제 상황 onKeyDown 을 통해 Enter 키를 누르면 자동으로 넘어가는 기능을 구현하고자 하였다. 그런데 이 상황을 통해 넘어가면, 요청이 두번씩 날라가는지 페이지가 두번 이동하는 현상이 발생하였다. 페이지 스택에 동일한 페이지가 이미 있는 것을 알 수 있다. onKeyDown 확실하게 문제를 파악하기 위해 어디서부터 요청이...
onKeyDown에서 키가 두번 입력되는 문제
컴파일 언어의 컴파일 과정, 인터프리터 언어, JIT
Compiled Languages C, C++, Object-C 소스코드는 컴파일러를 거쳐 기계어로 이루어진 실행 가능한 파일을 반환함 사용자는 코드를 볼 필요 없이, 실행 파일만 가져와서 실행하면 됨 Windows 의 경우, 대부분의 실행 파일은 .exe 라는 확장자로 존재하는데, 이것이 실행 가능한 파일을 의미 장점 프로그...
가상 메모리 - 클락 알고리즘, 스레싱
가상 메모리 프로그램이 물리 메모리 크기에 의해 제약 받지 않도록 하기 위해, 프로세스 전체가 메모리에 올라오지 않더라도 실행이 가능하도록 하는 기법 CPU가 프로세스를 실행하다 어떠한 페이지를 읽어와야 할 경우 프로세스에 존재하는 논리적 주소를 토대로 페이지 테이블을 확인 만약 해당 엔트리가 valid하다...
Prompter day - 회고
마감 10일 전, 우연찮은 기회로 해커톤 홍보글을 보게되었다. 호기심에 들어가보니, SK텔레콤과 OpenAI가 함께 주최를 하는 생성형 AI 서비스를 이용한 제품을 만드는 해커톤이었다. 평소에 ChatGPT를 자주 이용하기도 하고, 언젠가 꼭 OpenAI 서비스를 이용해서 개인 프로젝트를 만들고 싶다 생각했던 나는 꼭 이 곳에 참가하고 싶었고, 바로...
면접 스터디 - 운영체제 (메모리, 페이징, 세그멘테이션, 페이지 교체 알고리즘)
메모리에 대해 설명해주세요. 메모리란 주소를 통해 접근하는 장치입니다. 이 메모리 주소는 두가지로 나눌 수 있는데 논리적 주소, 물리적 주소입니다. 논리적 주소(=가상 주소)는 프로세스마다 독립적으로 가지는 주소 공간으로, CPU가 보는 주소입니다. 해당 주소는 각 프로세스마다 0번지부터 시작하게 됩니다. 반면 물리적 주소는 메모리에 실제 올라가...
브라우저 동작 원리 - 렌더링을 중점으로
https://d2.naver.com/helloworld/59361 https://developer.chrome.com/blog/inside-browser-part3 들어가기 전에… 브라우저는 사용자가 선택한 자원을 서버에 요청하고, 브라우저에 표시하는 기능을 가지고 있다. 여기서 말하는 자원은 보통 HTML문서이지만, PDF, 이미지,...
면접 스터디 - 자료구조
배열(Array)에 대해 설명해주세요. 배열은 같은 종류의 데이터 타입을 가진 원소들을 연속적인 주소상에 저장하는 데이터 구조입니다. 연속된 메모리 주소를 가지고 있기 때문에 캐싱이 좋다는 장점을 가지고 있습니다. 같은 종류의 데이터 타입만 가능한 이유는 무엇인가요? 데이터 타입에 따라 가지는 사이즈가 다른데, 배열의 경우 연속적인 주소상에 데이...
프로토타입(Prototype)
들어가기 전에… 자바스크립트는 프로토타입 기반 언어 클래스 기반 언어에서는 상속을 사용하지만, 프로토타입 기반 언어에서는 어떤 객체를 원형으로 삼고 이를 복제함으로써 상속과 비슷한 효과를 얻는다. [[Prototype]]과 ⎽⎽proto⎽⎽ 이전 블로그 게시글을 보면 크롬 개발자 도구를 보며 프로토타입을 설명할 때, __proto__ ...
CORS
여러 프로젝트를 진행하면서 정말 수많은 CORS 오류를 경험해보았다. 그럴때마다 시간이 급하다보니 간단한 해결방법만을 서치해서 적용한 뒤 바로 넘어갈 때가 많았는데, 이번에 CORS에 대해 제대로 알아보고 싶어 이렇게 정리를 해보고자 한다. 이를 제대로 이해하기 위해서는 출처의 개념과 동일 출처 정책에 대해 인지하고 있어야한다. 📙출처? UR...