목록전체 글 (186)
hmk run dev
프로세스가 실행이 되려면 자원이 필요합니다 두 개 이상의 프로세스가 각자 갖고 있는 자원들을 그저 기다리기만 한다면, 그 어떤 프로세스도 실행되지 못하고 이를 교착상태라고 합니다. 식사하는 철학자 문제로 엿보는 교착상태 보이는 것처럼 원형 식탁에 다섯 명의 철학자가 앉아 있고 철학자 앞에는 음식과 포크가 있습니다. 음식을 먹으려면 꼭 2개의 포크가 필요합니다. 모든 철학자들이 동시에 위와 같은 순서로 식사를 한다면, 모든 철학자들이 식사를 하지 못하게 된다. 이런 식으로 일어나지 않을 사건을 기다리며 진행이 멈춰 버리는 현상을 "교착상태"라고 합니다. 여기서 철학자는 프로세스고 포크는 실행에 꼭 필요한 자원 식사는 자원을 이용함 => 실행에 빗댈 수 있습니다. 서로가 점거하고 있는 자원을 서로가 기다리면..
자바스크립트에서 함수 호출 방식인 Call by Value와 Call by Reference에 대해 알아보겠습니다. 먼저, 각각의 개념을 살펴보고, 이것이 리액트에서 상태값을 업데이트 할 때 어떻게 작용할 수 있는지 살펴볼 것입니다. 자바스크립트에서 함수를 호출할때 매개변수를 할당 받을 수 있습니다. 매개변수는 여러개가 될수도있고 단일값일수도있고 객체나 또 다른 함수가 될 수도 있습니다. 매개변수를 전달하는 방식에 따라서 Call by value , Call by reference 로 나눌 수 있습니다. Call by Value (값에 의한 호출) Call by Value는 함수에 인자를 전달할 때, 해당 값의 복사본이 함수로 전달되는 방식을 말합니다. 이는 원시 데이터 타입(숫자, 문자열, 불리언 등)..
가비지 콜렉션이란? 가비지 콜렉션은 자바스크립트 엔진이 자동으로 더 이상 사용되지 않는 메모리를 찾아내고 해제하는 프로세스를 의미합니다. 개발자가 명시적으로 메모리를 해제할 필요가 없어져 코드 작성이 간편해지는 장점이 있습니다. 메모리 관리의 중요성 메모리 관리는 프로그램의 성능과 안정성에 직접적인 영향을 미칩니다. 메모리 누수가 발생하면 시스템이 불안정해지고, 성능이 저하될 수 있습니다. 가비지 콜렉션은 이러한 문제를 해결하여 개발자가 메모리를 효율적으로 사용할 수 있도록 도와줍니다. 가비지 콜렉션의 작동 원리 자바스크립트 엔진은 주기적으로 가비지 콜렉션을 수행합니다. 이때, 더 이상 사용되지 않는 객체를 찾아내고, 해당 객체가 참조하는 메모리를 해제합니다. 이는 프로그램이 실행 중에 동적으로 생성되는..