5줄 요약

  • 스택 언더플로우(Stack Underflow)는 스택에서 데이터를 삭제하려 할 때, 스택에 데이터가 없는 상태에서 삭제를 시도하면 발생하는 오류입니다.
  • 스택 언더플로우는 스택의 최하단 위치까지 데이터가 삭제되는 경우에 발생합니다.
  • 스택 언더플로우는 일반적으로 프로그래밍 실수로 인해 발생합니다.
  • 스택 언더플로우가 발생하면, 일반적으로 시스템은 프로그램을 강제 종료시키거나 예기치 않은 동작을 수행하게 됩니다.
  • 스택 언더플로우를 방지하기 위해서는, 스택에서 데이터를 삭제하기 전에 스택이 비어있는지 체크하거나, 스택을 사용하기 전에 스택 포인터를 초기화해야 합니다.

추가 내용

경험

  • 아직 없음

블로그 이미지

RIsN

,

5줄 요약

  • 스택 오버플로우(Stack Overflow)는 스택에 저장할 수 있는 데이터의 양을 초과하여 데이터를 삽입하려고 할 때 발생하는 오류입니다.
  • 스택은 한정된 크기의 메모리 영역을 사용하므로, 스택에 쌓인 데이터가 일정 크기를 초과하면 스택 오버플로우가 발생합니다.
  • 스택 오버플로우는 일반적으로 프로그래밍 실수로 인해 발생하거나 또는 버퍼 오버런(Buffer overrun)과 같은 보안 취약점으로 인해 스택 오버플로우가 발생할 수도 있습니다.
  • 스택 오버플로우가 발생하면, 시스템은 일반적으로 프로그램을 강제 종료시키거나 예기치 않은 동작을 수행하게 됩니다.
  • 스택 오버플로우를 방지하기 위해서는, 스택의 크기를 적절히 조절하거나, 재귀 함수 등에서 무한히 호출되지 않도록 적절한 조치를 취해야 합니다.

추가 내용

경험

  • 없음

블로그 이미지

RIsN

,

<무작위 이론 카드>

5줄 요약

  • 스택 포인터(Stack Pointer)는 스택의 가장 위쪽 데이터의 위치를 가리키며, 데이터의 삽입 및 삭제는 스택 포인터를 이용하여 수행됩니다.
  • 데이터를 삽입할 때는 스택 포인터를 먼저 증가시킨 다음, 그 위치에 데이터를 저장합니다.
  • 데이터를 삭제할 때는 스택 포인터를 먼저 감소시킨 다음, 그 위치에 있는 데이터를 반환하거나 삭제합니다.
  • 스택의 맨 위에 있는 데이터를 가리키기 때문에, 스택이 비어있을 때는 스택 포인터는 스택의 가장 아래쪽 주소를 가리키고 있습니다.
  • 스택 포인터는 일반적으로 하드웨어 레지스터에 저장되며, 프로세서가 스택 연산 명령을 실행할 때마다 스택 포인터가 자동으로 증가하거나 감소합니다.

경험

  • 아직 없음

블로그 이미지

RIsN

,

5줄 요약

  • 스택(Stack)은 메모리의 한 영역으로, 데이터를 임시로 저장하기 위한 자료구조입니다.
  • 스택은 후입선출(LIFO, Last In First Out)의 원리에 따라 동작합니다.
  • 함수 호출 시 함수의 지역변수, 매개변수, 반환주소 등의 정보는 스택에 순서대로 저장됩니다.
  • 이렇게 스택에 저장된 정보는 함수가 실행을 마치고 반환되면 스택에서 제거됩니다.
  • 스택에는 데이터를 넣는 작업을 푸시(Push)라고 하고, 데이터를 빼내는 작업을 팝(Pop)이라고 합니다.

경험

  • 프로그래밍 최적화에 기본적으로 중요한 것이라 무조건 기억해야 합니다.

블로그 이미지

RIsN

,

1. Extensions에서 Prettier를 검색해서 Prettier - Code Formatter를 설치합니다.

2. Code → Settings → Settings로 설정으로 들어갑니다.

3. save를 검색해서 Editor: Format On Save가 체크 되어 있는 지 확인합니다.

4. 저장하면 태그가 정리되는 지 확인합니다.

블로그 이미지

RIsN

,

1. 보기 → 명령 팔레트를 선택합니다.

2. 명령 팔레트에 언어 구성으로 통해 나오는 <표시 언어 구성>을 선택합니다.

3. 나온 언어들 중에서 골라주세요.

블로그 이미지

RIsN

,

5줄 요약

  • 프로그래밍에서 메모리는 데이터를 저장하고 읽고 쓰는 데 사용 되는 주요 자원으로 컴퓨터 내부에 위치하며, 일반적으로 물리적인 RAM(Random Access Memory)이 메모리로 사용됩니다.
  • 프로그래밍에서 메모리는 크게 두 가지 영역으로 나뉩니다. 
  • 데이터(Data) 영역은 프로그램에서 사용하는 전역 변수(Global Variable)나 정적 변수(Static Variable)와 같은 데이터를 저장하는 영역입니다. 
  • 코드(Code) 영역은 프로그램 코드를 저장하는 영역이며, 메모리의 주소를 이용하여 접근할 수 없습니다.
  • 프로그래밍에서 메모리는 중요한 자원 중 하나이므로, 메모리 할당과 해제를 적절히 관리하여 메모리 누수(Memory Leak)와 같은 문제를 방지해야 합니다.

경험

  • 프로그래밍 최적화에 기본적으로 중요한 것이라 무조건 기억해야 합니다.

블로그 이미지

RIsN

,

5줄 요약

  • 프로그래밍에서 사용되는 메모리는 크게 스택(stack)과 힙(heap)으로 나뉩니다.
  • 스택은 지역 변수와 매개변수와 같은 작은 크기의 데이터를 저장하는 데 사용되며, 스택 메모리는 후입선출(LIFO) 방식으로 동작합니다.
  • 스택 메모리는 함수가 호출될 때마다 스택 프레임(Stack Frame)이 만들어지며, 이 프레임에 지역 변수와 매개변수가 저장됩니다. 함수가 종료되면 해당 프레임은 스택에서 제거됩니다.
  • 힙 메모리는 프로그램에서 동적으로 할당된 데이터를 저장하는 데 사용되며 전역 변수와 지역 변수와는 달리, 프로그램 실행 중에 크기가 변경될 수 있으며, 스택과는 달리 임의의 순서로 접근할 수 있습니다.
  • 또한, 프로그램 코드는 실행 파일의 데이터 섹션에 저장 되며, 프로그램의 명령어와 상수 데이터가 저장됩니다.

경험

  • 프로그래밍 최적화에 기본적으로 중요한 것이라 무조건 기억해야 합니다.

블로그 이미지

RIsN

,

5줄 요약

  • 다형성(Polymorphism)은 객체지향 프로그래밍에서 객체들이 동일한 인터페이스를 사용하면서 다른 구현을 가질 수 있는 능력을 말합니다.
  • 부모 클래스에서 파생된 자식 클래스는 부모 클래스의 메서드를 오버라이딩(Overriding)하여 자식 클래스에서 다른 구현을 제공할 수 있습니다.
  • 또한, 인터페이스를 구현하는 클래스들은 같은 인터페이스를 사용하면서 서로 다른 구현을 제공할 수 있습니다.
  • 다형성은 코드의 재사용성과 유지보수성을 높이는데 중요한 역할을 합니다.
  • 예를 들어, 같은 인터페이스를 구현하는 다른 클래스들은 동일한 메서드 호출로 다른 동작을 수행할 수 있으므로, 코드 중복을 방지하고 개발 시간과 비용을 절약할 수 있습니다.

경험

  • 뭔지도 모르고 정말 많이 썼습니다.

블로그 이미지

RIsN

,

5줄 요약

  • 상속(Inheritance)은 객체지향 프로그래밍에서 객체 간의 관계를 구현하는 방법 중 하나입니다.
  • 상속은 이미 정의된 클래스(상위 클래스 또는 부모 클래스)를 기반으로 새로운 클래스(하위 클래스 또는 자식 클래스)를 생성하는 것을 말합니다.
  • 이를 통해 상위 클래스의 속성과 메서드를 하위 클래스에서 상속받아 재사용할 수 있으며, 이를 기반으로 하위 클래스에서 추가적인 기능을 확장하거나 수정할 수 있습니다.
  • 이미 정의된 클래스를 기반으로 새로운 클래스를 생성하면, 코드를 중복 작성하지 않아도 되므로 개발 시간과 비용을 절약할 수 있습니다.
  • 또한, 상속을 통해 코드를 일관성 있게 유지할 수 있고, 수정이 필요한 경우, 하위 클래스에서만 수정하면 되므로 유지보수성이 높아집니다.

경험

  • Unity에서는 Character와 Skill 등을 사용할 때 많이 사용했습니다.
  • Scene마다 동일하게 쓰는 것을 가져오기 위해 해당 부분을 많이 사용했습니다.

 
 

 

 

블로그 이미지

RIsN

,