Programming skills

    [c++]포인터와 참조

    1. 포인터(*)a* : a의 포인터포인터는 메모리 주소를 저장하는 변수 2. 주소연산자(&)&a : a의 주소변수의 메모리 주소를 얻을 때 사용 int x = 5;int*ptr = &x; // x의 주소를 ptr에 저장 3. 역참조 연산자(*)*ptr : 포인터가 가리키는 값포인터를 통해 실제 값에 접근할 때 사용int y = *ptr; //ptr이 가리키는 값을 y에 저장 4. 참조(&)int&ref = a; //a의 참조기존 변수의 별칭을 만들 때 사용int&ref = x; //x의 참조를 ref로 만듬 5. 화살표 연산자(->)obj->member : 포인터를 통해 객체의 멤버에 접근클래스나 구조체 포인터로 멤버에 접근할 때 사용Myclass *obj = new MyClass(); obj->Met..

    [Unity] VR EyeTracking Gaze data 추출

    [Unity] VR EyeTracking Gaze data 추출

    EyeTracking을 하기 위해 Gaze Method를 활용해 데이터를 추출할 것이다. https://docs.cognitive3d.com/unity/gaze-fixations/ Gaze / Fixations - Cognitive3D - Documentation Gaze and Fixations Gaze and Fixations are closely related. Gaze records the HMD position over time and the direction of the eyes at a set interval. Fixations use a dispersion technique to identify where the participant's eyes are steady and maintaini..

    [유니티] 서버와의 영상 정보 불러오기

    [유니티] 서버와의 영상 정보 불러오기

    유니티 프로젝트 중 서버의 영상 정보를 불러 들어오는 작업이 있어 구조도를 작성해보았다. 크게 영상 정보, ID 정보등 다양한 정보들을 담고 있는 DataManager가 있다. [System.Serializable] // 직렬화 public class VideolInfo //비디오 정보 { public int shortFormNo; //영상 순서 public string title; //제목 public string thumbnailUrl; //썸네일 url public string url; //url public string description; //영상 설명 public string memberName; // 닉네임 public string date; //날짜 public bool isInterac..

    [자료구조]스택과 큐

    [자료구조]스택과 큐

    1. 스택(Stack) : 후입선출의 형태로 가장 마지막에 들어온 값을 가장 먼저 처리하는 알고리즘 예를 들면, 웹페이지 뒤로가기와 같은 것. 내가 마지막에 방문했던 페이지를 뒤로 가기를 누름으로써 가장 먼저 처리하는 형태 using System; using System.Collections.Generic; using UnityEngine; public class Stack : MonoBehaviour { Stack stack = new Stack(); public void Start() { } public void Update() { //데이터 추가 stack.Push("사과"); stack.Push("딸기"); stack.Push("바나나"); //데이터 제거 while (stack.Count > 0..

    [Unity] 람다식과 델리게이트(delegate)

    [Unity] 람다식과 델리게이트(delegate)

    1. 델리게이트(Delegate) : 매서드를 참조하는 형식 델리게이트는 메서드를 참조하는 형식으로, C#에서 메서드를 객체처럼 다룰 수 있게 해줍니다. 델리게이트는 메서드 시그니처(매개변수 및 반환 유형)를 정의하며, 해당 시그니처와 일치하는 메서드를 참조할 수 있습니다. 델리게이트를 사용하여 메서드를 동적으로 호출하거나 이벤트 처리기에 연결할 수 있습니다. // 델리게이트 정의 delegate int Calculator(int a, int b); // 델리게이트를 사용하여 메서드 참조 Calculator add = (x, y) => x + y; Calculator subtract = (x, y) => x - y; int result1 = add(5, 3); int result2 = subtract(8..

    [CS] 인터페이스와 추상 클래스 차이

    [CS] 인터페이스와 추상 클래스 차이

    1. 인터페이스 : 다중 상속을 구현하게 하는 기술. 반드시 사전에 정의된 추상메소드와 상수만을 가진다. 인터페이스란 객체와 객체 사이에서 일어나는 매개이다. 모든 기능을 추상화로 정의한 상태로 선언만 가능하다. Player라는 클래스를 인터페이스 IDamageable을 상속받고 유니티에서 제공하는 MonoBehaviour를 상속받아 다중상속을 한 형태이다. TakeDamage 메서드는 인터페이스에서 정의되며 Player클래스에서 구현된다. using System.Collections; using System.Collections.Generic; using UnityEngine; //인터페이스 정의 public interface IDamageable { void TakeDamage(int damage);..

    [자료구조] 선택정렬과 버블정렬 정의 및 차이

    [자료구조] 선택정렬과 버블정렬 정의 및 차이

    1. 선택정렬 (Selection Sort) : 가장 작은 수를 찾아서 맨 앞으로 보내는 것 방법 1) 배열의 처음부터 끝까지 반복문을 통해 가장 작은 수를 탐색 2) 가장 작은 수를 배열의 맨 앞으로 보내기 3) 그 다음 배열부터 다시 1),2) 행동 반복 즉, 이중 for문을 통해 구현하므로 시간 복잡도는 n^2,0이다. * 자리바꾸기 공식의 로직 1. 맨 왼쪽자리 변수 temp 선언 2. 맨 왼쪽자리에 올 값 3. 2번의 값은 temp //선택정렬 : 가장 작은 것을 선택해서 맨 앞으로 보낸다 void SelectionSort() { //외부루프는 첫번째 요소부터 길이까지 탐색 for(int i = 0; i < num.Count-1 ; i++) { //최솟값 설정 int minIdex = i; //..

    [자료구조] Array 와 LinkedList의 차이

    [자료구조] Array 와 LinkedList의 차이

    Array(배열) : 연결된 메모리를 보장하여 중간데이터에 빠르게 탐색이 가능하지만 삽입이나 삭제의 경우에데이터를 전부 이동해야하기에 비효율적이다. Array(배열)는 가장 기본적인 자료구조로 정적 자료구조이다. 인덱스를 통해 해당 원소에 접근가능하다. 따라서 시간 복잡도는 0(1)으로 빠르게 찾을 수 있다. Random access가 가능하다는 장점이 있어 접근과 탐색에 용이하다. 하지만 삭제나 삽입 과정에서 원소에 접근해서 작업을 할 때는추가적인 작업이 발생해 시간이 더 걸린다. 예를 들면 어느 원소를 삭제한다고 했을 때 연속적인 배열이 깨지기 때문에 빈공간이 생긴다. 따라서 삭제한 원소보다 큰 인덱스를 갖는 원소들을 움직이기에 비용(cost)이 발생하고 시간복잡도는 0(n)이 된다. 삽입도 마찬가지..