[C++] std::array
·
C | C++/Basic
개요 C++에서 정적 배열을 사용하기 위해서 다음과 같이 작성할 수 있습니다.int ary[5] = { 1, 2, 3, 4, 5 };array ary { 1, 2, 3, 4, 5 };  C스타일의 정적 배열과 array는  매우 비슷하지만 약간의 편의 기능을 추가한 형태입니다. array의 특징은 다음과 같습니다.동적 할당 배열을 런타임에 선언 및 할당할 수 있습니다.고정된 배열 크기배열의 크기는 컴파일 타임에 고정되며, 런타임에 변동될 수 없습니다.안정성 및 편의성 증가template를 사용하여 타입 안정성을 보장합니다. 배열의 크기를 자체적으로 참조할 수 있고, 표준 라이브러리 함수를 지원하여 begin 및 end iterator를 사용할 수 있습니다.#include  array를 사용하기 위해서 다..
[2024 컴퓨터활용능력 1급 실기] 엑셀(Excel) 주요 개념 정리
·
ETC
시험 중 수시로 저장하기시험 중에 막히면 과감히 포기하고 다음 문제부터 풀기단축키를 활용하여 시간 조금이라도 줄이기특정 단축키가 동작하지 않는다면, 자판 배열이 Micorosoft 입력기로 설정되어 있는지 확인  - 기본 작업 -셀 서식 단축키 : [Ctrl] + [1] 사용자 지정 표시 형식(양수);(음수);(0);(문자) // 일반적인(조건을 지정하지 않을) 경우[(색상1)][(조건1)](서식1);[(색상2)][(조건2)](서식2);[(색상3)](서식3) // 조건을 지정할 경우조건을 지정할 경우 최대 2개까지 지정 가능조건1부터 순차적으로 판단하며, 조건1과 조건2를 만족하지 않을 경우 (서식3)으로 표시 숫자/문자 서식구분12345678의 표시 예서식숫자12,345,678#,##012,345#,#..
[C++] 캐스팅(Casting)
·
C | C++/Basic
일반적인(C 스타일) 캐스팅의 문제 C언어에서 사용되는 일반적인 캐스팅은 다음과 같이 사용합니다.(변환형)변수 위와 같이 매우 간단하게 특정 변수의 명시적으로 자료형을 변환할 수 있습니다. 하지만, 일반적인 캐스팅에는 사소한 문제점이 존재합니다.컴파일 타임에 타입 변환 유효성 체크하지 않음 -> 근원을 알기 힘든 런타임 오류를 발생시킬 가능성이 있음특히 포인터 관련 자료형에 대한 캐스팅 시에 추적이 어려움 -> 의도를 알기 어려움 -> 디버깅 어려움거의 모든 자료형으로 변환 가능 -> 안전성 부족, 오류 발생 가능성 증가 위 문제들을 해결하기 위해 C++에서는 더 안전하고 명시적인 캐스팅을 위해서 또다른 Cast 연산자를 제공합니다.C++ 캐스팅 연산자 C++에서는 다음과 같은 4가지 Cast 연산자를 ..
[C++] 포인터 기초 2 - 포인터 배열
·
C | C++/Basic
포인터와 배열의 관계 일반 배열을 나타낼 때에는 다음과 같이 작성합니다.int ary[5] = { 1, 2, 3, 4, 5 }; // 일반 배열 이때 배열 변수의 이름, 즉 ary는 ary의 첫번째 요소의 주소를 가진 포인터와 같습니다. 따라서 다음과 같은 결과가 나타납니다.int ary[5] = { 1, 2, 3, 4, 5 };printf("%d", *ary); // 1을 출력합니다 포인터는 +/- 연산이 가능한데, 일반적인 +/-연산과 다르게 포인터의 +/- 연산은 데이터 형식의 크기를 기준으로 계산합니다.char chs[5] = { 'A', 'B', 'C', 'D', 'E' };printf("%p / %p\n", chs, (chs + 1));// chs 주소와 chs+1 주소의 차이는 char의 크..
[UNITY C#] 코루틴(Coroutine) 간단 정리
·
UNITY/Script
코루틴 - Unity 매뉴얼 코루틴 - Unity 매뉴얼코루틴을 사용하면 작업을 다수의 프레임에 분산할 수 있습니다. Unity에서 코루틴은 실행을 일시 정지하고 제어를 Unity에 반환하지만 중단한 부분에서 다음 프레임을 계속할 수 있는 메서드입니docs.unity3d.com코루틴 (Coroutine)코루틴은 각 프레임 시퀸스에 대해서 명령을 처리해야 하는 경우에 Update 메서드 대신 사용하는 작업입니다.void Fade() { SpriteRenderer spriteRenderer; for(float a = 1f; a >= 0f; a -= 0.05f) { Color color = spriteRenderer.color; color.a = a; spriteRenderer.color = color; } ..
[UNITY C#] Localization을 이용한 대화 시스템 구현
·
UNITY/Script
대화 시스템 (Dialogue System) 대화 시스템은 캐릭터 간의 상호작용을 통해 게임의 서사를 더 생동감 있게 전달할 수 있습니다. 간단한 게임의 경우, Unity에서 이 시스템을 만드는 것은 어렵지 않습니다. 하지만 게임의 사이즈가 커지면서 대화의 양이 많아지고 여기에 현지화 기능까지 추가한다면, 이 기능들을 모두 담은 시스템을 구현하기는 까다로울 수 있습니다.  Unity에는 강력한 현지화 기능을 제공하는 Localization이라는 Package가 존재합니다. 이 현지화 기능을 대화 시스템에 적용시키기 위해서 다음과 같은 작업을 진행합니다. Package 설치 및 기본 설정https://hyeokjunjjang.tistory.com/entry/UNITY-Package-Localization-..
[UNITY C#] Intro Loopable AudioSource 구현
·
UNITY/Script
https://johnleonardfrench.com/ultimate-guide-to-playscheduled-in-unity/ How to Queue Audio Clips in Unity (the Ultimate Guide to PlayScheduled) - John Leonard FrenchLearn How to queue up Audio Clips (seamlessly), make dynamic music & beat-match audio in my ultimate guide to PlayScheduled in Unity.johnleonardfrench.comIntro Loopable MusicUnity에서는 [AudioSource Component]의 Loop 옵션을 체크하여 사운드 파일이 종료되..
[C] 파일 입출력
·
C | C++/Basic
파일의 입출력C언어는 표준 라이브러리에서 파일 입출력 함수를 제공합니다.파일 포인터 (FILE*)C언어에서는 파일 포인터를 이용하여 파일을 읽거나 씁니다.FILE* fp;파일 포인터는 다음과 같이 선언합니다.파일 포인터는 메모장을 열었을 때의 커서의 위치를 나타내는 것과 비슷한 역할을 합니다.파일 모드표기법설명포인터 위치텍스트 파일"r"읽기 모드로 파일을 엽니다.처음 부분"w"쓰기 모드로 파일을 엽니다. 파일이 없으면 새로운 파일을 생성하고 파일이 이미 있으면 기존 내용을 모두 지우고 처음부터 씁니다.처음 부분"a"추가 모드로 파일을 엽니다. 파일이 없으면 새로운 파일을 생성하고 파일이 이미 있으면 기존 내용의 끝부터 씁니다.끝 부분"r+"읽기와 쓰기 모드로 파일을 엽니다.처음 부분"w+"읽기와 쓰기 모..
[C] 열거형(Enumeration)
·
C | C++/Basic
열거형 (Enumeration) 열거형은 여러 상수 값이 열거된 자료형으로 프로그래밍에서 가독성과 직관성을 높이기 위해서 사용합니다. 열거형은 사용자 정의 자료형으로 필요한 만큼 정의하여 사용할 수 있습니다. 예를 들어, "앞, 뒤, 왼쪽, 오른쪽"을 나타내는 방향을 저장하는 변수가 필요하다고 하면 정수, 실수, 문자 자료형을 이용하여 이를 표현할 방법을 마련해야 합니다. int direction = 0; // 0 : 전 // 1 : 후 // 2 : 좌 // 3 : 우 다음과 같이 정수 자료형을 이용하여 각 숫자에 의미를 부여하는 방법이 있지만 만약 프로그램이 더 복잡해지고 다른 사람이 이 코드를 본다면 한눈에 이해하기에는 어려움이 있을 것입니다. enum Direction { Front, Back, L..
[UNITY] 시네머신(Cinemachine) 2D 간단 사용법
·
UNITY/Tool
https://unity.com/kr/unity/features/editor/art-and-design/cinemachine 시네머신 Unity의 시네머신으로 복잡한 카메라의 움직임을 만드는 방법을 알아보세요. 타겟 트래킹, 구성, 블렌딩 및 자르기까지 쉽고 직관적으로 작업할 수 있습니다. unity.com Cinemachine Cinemachine은 특별한 스크립트없이 다양한 카메라 동작을 수행할 수 있도록 해주는 기능입니다. 3D에서 더 유용하게 사용할 수 있지만 2D에서 유용하게 사용할 수 있는 카메라 전환을 중심으로 간단하게 정리하였습니다. Package 설치 [Window > Package Manager]를 선택합니다. [Packages]를 [Unity Registry]로 설정합니다. [Cine..