Study/TIL(Today I Learned)

24.11.07 CS, VV

에린_1 2024. 11. 8. 17:03
728x90

CS

이것이 컴퓨터 과학이다.

개발자에게 필요한 역량은 근거를 설명하는 능력이다.

  • 특정 코드 혹은 프로그램이 어떻게 작동하며, 왜 특정 성능을 내는지에 대한 근거를 제시하고 설명하는 능력이야 말로 AI 도구에 종속되지 않는 진짜 역량이다. 코드와 프로그램의 근거를 설명하는 능력은 상당 부분 컴퓨터 과학에서 찾을 수 있다.CHAPTER 01 기술 면접과 실무를 위한 컴퓨터 과학
  • 프로그램 개발의 목적은 일단 작동하게 만드는 것을 넘어 제대로 작동하게 만드는 것이다.
  • 프로그래밍 언어의 기초 문법이나 프레임워크/라이브러리의 기초 사용법은 단순한 프로그램을 개발하기에는 충분한 지식이지만, 그를 확장/유지보수 하거나 실행의 전 과정을 이해하는 데에는 충분하지 않은 경우가 많기 때문이다. 내가 작성한 코드의 실행 과정을 나조차 설명할 수 없는 경우에는 더 큰 어려움으로 다가오게 된다.
  • 뛰어난 개발자일수록 문제를 정의하고 해결할 수 있어야 한다. 문제를 정의하고 해결하는 역량은 프로그램의 실행을 제대로 이해하는 것, 어떠한 과정을 거쳐 프로그램이 실행되는지 설명하는 것부터 시작된다.

CHAPTER 02 컴퓨터 구조

  • 컴퓨터가 이해하는 정보는 데이터와 명령어이다. 명령어는 수행할 동작과 수행할 대상으로 이루어져 있고, 데이터는 숫자, 문자, 이미지와 같은 정적인 정보를 의미한다.
  • 데이터는 명령어에 종속적인 정보이며, 명령의 대상이자, 명령어의 재료라고 할 수 있다.
  • 명령어를 실행하는 주체는 CPU이다. 명령을 이해하고 실행하는 주체가 CPU라는 말은 CPU의 종류에 따라 실행 가능한 세부적인 명령어의 종류와 처리의 양상이 달라질 수 있음을 의미한다.
  • 컴퓨터의 핵심부품
    • CPU
    • 메모리
    • 캐시메모리
    • 보조기억장치
    • 입출력장치
  • CPU
    • 정보를 읽어들이고, 해석하고 실행하는 부품이다.
    • 산술논리연산장치
      • 사칙연산, 논리 연산 같이 연산을 수행할 회로로 구성되어 있는 일종의 계산기이다. CPU가 처리할 명령어를 실질적으로 연산하는 요소이다.
    • 제어장치
      • 명령어를 해석해 제어신호를 전기신호로 내보내는 장치이다. 제어신호란 부품을 작동시키기 위한 신호를 말한다.
    • 레지스터
      • CPU 내부의 작은 임시저장 장치로, 데이터와 명령어를 처리하는 과정의 중간값을 저장한다. CPU내에는 여러 개의 레지스터가 존재하며, 각기 다른 이름과 역할을 가지고 있다.
    • 이중 가장 중요한 구성요소는 레지스터이다. CPU가 처리하는 명령어는 반드시 레지스터에 저장되기 떄문에 레지스터 값만 잘 확인해도 프로그램이 어떻게 실행되는지 낮은 단계에서 파악할 수 있다.
  • 메모리와 캐시메모리
    • 메인 메모리는 RAM과 ROM이 있고, 일반적으로 메모리는 RAM을 지칭하는 경우가 많다. CPU가 읽어들이고, 해석하고, 실행중인 모든 정보는 어딘가에 저장되어 있어야 하며, 이 정보를 저장하는 장치가 메모리이다. 여기서 중요한 것은 실행중인 프로그램을 저장한다는 것이다. 프로그램이 실행되려면 그 프로그램을 이루는 데이터와 명령어가 메모리에 저장되어 있어야 한다.
    • 메모리와 관련해 기억해야 할 중요한 배경지식 중 하나는 주소라는 개념이고, 다른 하나는 휘발성이라는 개념이다. CPU가 메모리에 접근할 때 컴퓨터가 빠르게 작동하기 위해서 주소를 사용한다.
    • 휘발성은 전원이 공급되지 않을 때 저장하고 있는 정보가 지워지는 특성을 의미한다. 메모리는 휘발성 저장장치로, 메모리에 저장된 정보는 컴퓨터의 전원이 꺼지면 모두 삭제된다.
    • 캐시 메모리는 CPU가 조금이라도 더 빨리 메모리에 저장된 값에 접근하기 위해 사용되는 저장장치이다.
    • 보조기억장치는 전원이 꺼져도 저장된 정보가 사라지지 않는 비활성 저장장치이다.
    • 메모리가 현재 실행중인 프로그램을 저장한다면, 보조기억장치는 보관할 프로그램을 저장한다고 할 수 있다. 유의할 점은 CPU가 보조기억장치에 저장된 프로그램을 곧장 실행할 수 없다. 어떠한 프로그램을 실행하려면 보조기억장치에서 보관하고 있는 프로그램을 메모리로 복사해야 한다.
  • 입출력 장치
    • 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 말한다.
    • 보조기억장치와 입출력장치는 완전히 배타적인 개념이 아니다. 보조기억장치는 결국 메모리를 보조하는 임무를 수행하는 특수한 입출력 장치로 볼 수 있다.
    • 보조기억장치와 입출력 장치를 주변장치라고 통칭하기도 한다.

VV

자석 아이템을 추가했다.

  • 모델링 된 자석을 가져오고 Metalic한 느낌을 주기위해서 값을 추가해줬다.

  • 자석에 대한 블루프린트를 만들어주었다. delay와 for loop for delay를 만들어줘서 자석을 획득하면 5초동안 효과가 진행되고 꺼지게 만들었다.

  • 코인과 장애물과 같이 스폰하는 함수를 만들어줬다.
  • 코인에는 Sphere collision을 추가해두고 크기를 크게 만들어 주었다. 그리고 sphere에 따른 추가적인 블루프린트를 만들어서 자석을 획득했을때의 작동을 구현해두었다.

  • 추가적으로 UI에도 자석을 획득했을 때 지속시간이 표시되도록 추가해주었다.
728x90

'Study > TIL(Today I Learned)' 카테고리의 다른 글

24.11.12 CS, C++  (3) 2024.11.12
24.11.11 CS  (0) 2024.11.11
24.11.04 VV. 장애물, UI 구현, 점수 구현  (0) 2024.11.04
24.10.30 VV, UE5  (3) 2024.10.30
24.10.29 VV, UE5, DB  (0) 2024.10.29