메모리란?

 

컴퓨터에서 정보를 처리하기 위해 일시적으로 보관하는 기억장치

 

게임이 실행되는 동안 값은 메모리에 저장된다.

 

 

 

 

RAM( Random Access Memory )이란?

사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치

컴퓨터에서 데이터를 일시적으로 저장하고 빠르게 읽고 쓰는 데 사용되는 기억 장치

 

여기 Random이란 무작위가 아닌

어느 위치를 뜻하며

즉, 어느 위치에든 똑같은 속도로 접근하여 읽고 쓸 수 있다.

 

RAM(Random Access Memory)은 주소 버스(Address Bus)를 통해 접근된다.

주소 버스는 컴퓨터의 메모리 주소를 전송하는 데 사용되며,

주소 버스의 크기는 시스템이 지원하는 메모리의 양을 결정

RAM은 행(row)과 열(column)이 있는 배열 형태로 데이터를 저장

이러한 배열에서 데이터에 접근하기 위해 행 번호와 열 번호를 사용

이러한 행과 열의 개념은 주로 DRAM(Dynamic RAM)과 관련이 있다.

 

캐시 메모리(Cache Memory)는 RAM과 CPU(Central Processing Unit) 사이에 위치하여

CPU가 RAM에 접근하는 시간을 단축시키는 데 사용되는데,

캐시 메모리는 RAM에서 빈번하게 사용되는 데이터나 명령을 저장하여 CPU가 이에 빠르게 접근할 수 있도록 한다.

이러한 캐시 메모리는 RAM보다 빠르고 비용이 비싸지만, 전체 시스템의 성능을 향상시킨다.

병렬 처리는 한 번에 여러 작업을 동시에 처리함으로써 성능을 향상시키는 기술

RAM은 병렬 처리 기술을 사용하여 데이터를 읽거나 쓸 수 있다.

이는 시스템의 성능을 향상시키는 데 도움이 된다

 

하드디스크에 보관된 정보는 전원이 꺼져도 사라지지 않고 보관되지만
휘발성 메모리에 올라간 정보는 전원이 꺼지면 모두 사라진다.
속도는 느리지만 전원이 끊어져도 정보를 저장할 수 있는

비휘발성 메모리인

자기 테이프, 플로피 디스크, 하드 디스크같은 보조 기억 장치가 나오게 되었다.

 

https://namu.wiki/w/RAM

 

RAM

R andom A ccess M emory 사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치 . 컴퓨

namu.wiki

 

 

 

 

 

ROM( Read Only Memory  )란?

첫 내용 작성에 특수 기기가 필요

특성 상 동적으로 쓸 수 없는 장비

한번 기록한 정보가 전원 유지와 상관없이 (반)영구적으로 기억됨 -> 삭제 , 수정 불가능한 기억장치

비휘발성 메모리

https://namu.wiki/w/ROM

 

ROM

Read-only memory의 약자로 첫 내용 작성에 특수 기기가 필요하고 특성 상 동적으로 쓸 수가 없는 장비.

namu.wiki

 

 

 

 

메모리에 값이 담기는 과정?

 

https://codingsmu.tistory.com/140

 

[Combinational Logic Circuit] 디코더(Decoder)

해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책을 기반으로 작성되었습니다 Decoder - Decoder - An n-to-$2^n$ binary decoder - Tri-state Buffer - Read-only Memory,

codingsmu.tistory.com

 

 

 

'Study > CS' 카테고리의 다른 글

[CS] 키보드의 특수문자 이름  (0) 2024.05.27
[CS] 변수와 값, 메모리에 담기는 과정  (0) 2024.05.23

새 프로젝트는 .Net Framework로 만드는데 없으면


Visual Studio Installer에서 수정을 누르고 


.Net 데스크 톱 선택 후 설치하면 생성됨

Tab : 오른쪽 들여쓰기(4개의 공백문자로 치환)


Shift + Tab : 왼쪽 들여쓰기

메서드 : 일련의 문을 포함하는 코드 블록

메인 메서드 : 프로그램이 시작되면 실행이 되는 첫번째 메서드(프로그램 제어가 시작되고 끝나는 곳)

프로그램 생성 시 자동 완성되고 지우면 안된다

Main을 main으로 바꾸면 안된다.

코드 작성시 에러가 나면 Main메서드를 지웠거나 수정했을 수 있다

'Study > C#' 카테고리의 다른 글

[C#] 오류와 디버깅  (0) 2024.05.24
[C#] 컴파일과 빌드  (0) 2024.05.24
[C#] 주석  (0) 2024.05.24
[C#] 데이터 타입 bool, char, object  (0) 2024.05.24
[C#] 변수와 값, 데이터 타입 (int, float, string)  (0) 2024.05.23

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CardData
{
    public int id;
    public string name;
    public string sprite_name;
}

 

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CardInfo
{
    public int id;

    public CardInfo(int id)
    {
        this.id = id;
    }
}

 

 

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Card : MonoBehaviour
{
    private CardInfo cardInfo;

    [SerializeField] private SpriteRenderer spriteRenderer;

    public void SetCardInfo(CardInfo cardInfo)
    {
        this.cardInfo = cardInfo;
    }

    public void SetSprite(Sprite sp)
    {
        spriteRenderer.sprite = sp;
    }
}

 

using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.U2D;

public class Main : MonoBehaviour
{
    [SerializeField] private GameObject cardPrefab;
    [SerializeField] private SpriteAtlas cardAtlas;

    void Start()
    {
        TextAsset ts = Resources.Load<TextAsset>("Data/card_data");
        string json = ts.text;
        Debug.Log(json);

        Dictionary<int, CardData> dicCardDatas = JsonConvert.DeserializeObject<List<CardData>>(json).ToDictionary(x => x.id);

        GameObject cardGo = Instantiate(cardPrefab);
        Card card = cardGo.GetComponent<Card>(); //생성된 프리팹에
        CardInfo cardInfo = new CardInfo(100);

        card.SetCardInfo(cardInfo);
        CardData cardData = dicCardDatas[101];
        Sprite sp = cardAtlas.GetSprite(cardData.sprite_name);
        card.SetSprite(sp);
        

    }

}

'Study > ' 카테고리의 다른 글

[Tip] Object.FindObjectOfType  (0) 2024.06.11
[Tip] RenderSettings  (0) 2024.06.05
[팁] Slider.onValueChanged  (0) 2024.06.05
[Tip] 패키지에서 프리팹찾기  (0) 2024.04.18
[Tip] CameraShaker  (0) 2024.03.29

Ctrl + K 혹은

 

 

 

 


 

 

 

 

 

 

'Study > ' 카테고리의 다른 글

[Tip] Object.FindObjectOfType  (0) 2024.06.11
[Tip] RenderSettings  (0) 2024.06.05
[팁] Slider.onValueChanged  (0) 2024.06.05
[Tip] 3D 프로젝트에서 SpriteAtals 패킹하는 법  (0) 2024.05.23
[Tip] CameraShaker  (0) 2024.03.29

Simple camera shake effect for Unity3d, written in C#. Attach to your camera GameObject. To shake the camera, set shakeDuration to the number of seconds it should shake for. It will start shaking if it is enabled.

 

카메라의 Transform을 Public으로 설정하여

인스펙터에서 메인카메라를 할당한다면

메인카메라로 보는 오브젝트들의 흔들림을 조정할 수 있습니다.

Shake Duration : 지속 시간

Shake Amount : 흔들림 강도

Decrease Factor : 흘러가는 시간을 조정(Shake Duration 수치 조정)

팀 프로젝트를 하며 적용을 한 장면입니다.

 

using UnityEngine;
using System.Collections;

public class CameraShake : MonoBehaviour
{
	// Transform of the camera to shake. Grabs the gameObject's transform
	// if null.
	public Transform camTransform;
	
	// How long the object should shake for.
	public float shakeDuration = 0f;
	
	// Amplitude of the shake. A larger value shakes the camera harder.
	public float shakeAmount = 0.7f;
	public float decreaseFactor = 1.0f;
	
	Vector3 originalPos;
	
	void Awake()
	{
		if (camTransform == null)
		{
			camTransform = GetComponent(typeof(Transform)) as Transform;
		}
	}
	
	void OnEnable()
	{
		originalPos = camTransform.localPosition;
	}

	void Update()
	{
		if (shakeDuration > 0)
		{
			camTransform.localPosition = originalPos + Random.insideUnitSphere * shakeAmount;
			
			shakeDuration -= Time.deltaTime * decreaseFactor;
		}
		else
		{
			shakeDuration = 0f;
			camTransform.localPosition = originalPos;
		}
	}
}

 

 

https://gist.github.com/ftvs/5822103

 

Simple camera shake effect for Unity3d, written in C#. Attach to your camera GameObject. To shake the camera, set shakeDuration

Simple camera shake effect for Unity3d, written in C#. Attach to your camera GameObject. To shake the camera, set shakeDuration to the number of seconds it should shake for. It will start shaking i...

gist.github.com

 

 

'Study > ' 카테고리의 다른 글

[Tip] Object.FindObjectOfType  (0) 2024.06.11
[Tip] RenderSettings  (0) 2024.06.05
[팁] Slider.onValueChanged  (0) 2024.06.05
[Tip] 3D 프로젝트에서 SpriteAtals 패킹하는 법  (0) 2024.05.23
[Tip] 패키지에서 프리팹찾기  (0) 2024.04.18

+ Recent posts