Digital Design [2] : 게이트 레벨 최소화 (Gate-Level Minimization)
·
카테고리 없음
Gate-level minimization(게이트 수준 최소화)은 디지털 회로를 보다 효율적으로 설계하기 위해 부울 함수를 간소화하는 과정이다. 이를 위한 대표적인 방법 중 하나가 Karnaugh map(K-map, 카노 맵)이며, 이는 여러 개의 네모 칸으로 이루어진 표로 각 칸이 특정 입력 조합에서 출력이 1이 되는 최소항(minterm)을 나타낸다. K-map은 부울 함수를 간단한 형태로 정리하는 데 유용하며, 곱의 합(SOP) 또는 합의 곱(POS) 형태로 표현될 수 있다. K-map의 중요한 특징 중 하나는 행과 열이 Gray 코드 방식으로 배열된다는 점이다. Gray 코드란 인접한 두 행 또는 열에서 오직 하나의 비트만 변하는 방식으로 번호를 매기는 방법이다. 이를 통해 논리식을 보다 직관적으..
Operating System [2]: 프로세스 (Processes)
·
Computer Scinece/Computer Architecture & OS
1. Process 프로세스는 실행 중인 프로그램으로, 단순히 저장된 파일 형태의 프로그램과 다르다. 프로그램은 그저 디스크에 저장된 명령어 목록 (passive entity)일 뿐이지만, 실행되면 메모리에 올라가고 CPU가 이를 처리 (active entity)하면서 프로세스로 변한다. 예를 들어, 컴퓨터에 카카오톡이 설치되어 있다고 해도 실행하기 전까지는 단순한 파일에 불과하지만, 실행 버튼을 누르면 메모리에 로드되면서 프로세스가 되어 CPU와 메모리 등의 자원을 사용하게 된다. 프로세스는 프로그램 카운터를 통해 어떤 명령을 실행할지 관리하며, 운영체제가 이를 제어한다.1.1 Process in MemoryMemory Layout 메모리 레이아웃: 프로세스가 실행될 때 메모리에서 특정 구조로 구성됨텍..
Development Report : 웨어러블 생체 정보 기반 햅틱 피드백 알고리즘 개발
·
카테고리 없음
Development Report : XR 기반 ADHD AI 진단 파이프라인 개발
·
카테고리 없음
Development Report : 가우시안 스플래팅 유니티 원격 Putty 학습 자동화
·
카테고리 없음
Development Report : 360도 실시간 원격 VR 스트리밍 시스템 개발
·
Development/Development Report
개발 과정 - 티스토리개발 결과 - 깃허브 1. Insta 360 SDK 1.2 GPU 기반 하드웨어 가속   Insta360 카메라로부터 비디오 데이터를 스트리밍하고, FFmpeg을 활용해 하드웨어 가속을 통한 H.264 디코딩을 수행하며, NVIDIA의 CUDA 기반 디코딩을 지원한다. 또한, 디코딩된 데이터를 BMP 이미지로 저장하거나 원본 H.264 데이터를 파일로 저장하는 기능을 포함하고 있다. 더보기주요 라이브러리 및 헤더#include "Unity/IUnityGraphics.h"#include #include "camera/camera.h"#include "camera/device_discovery.h"extern "C"{#include #include #include #include } U..
Unity Development [1] : 게임 매니저 (Game Manager)
·
Development/3D Engine Development
Unity에서 게임매니저(GameManager)는 게임의 전반적인 흐름과 상태를 중앙에서 관리하는 역할을 한다. 일반적으로 싱글턴(Singleton) 패턴을 사용하여 하나의 인스턴스만 유지하도록 설계되며, 게임의 주요 시스템을 통합적으로 제어하는 기능을 수행한다. 게임매니저는 먼저 게임 상태를 관리하는 역할을 한다. 게임의 시작, 일시 정지, 종료 등의 흐름을 제어하며, 특정 이벤트(예: 플레이어 사망, 레벨 클리어)가 발생하면 적절한 동작을 수행하도록 한다. 또한, 점수, 플레이어 진행 상황, 설정 등의 데이터를 저장하고 불러오는 기능도 포함될 수 있으며, JSON 파일, PlayerPrefs, ScriptableObject 등을 이용하여 데이터를 관리한다. 씬 관리 역시 중요한 기능 중 하나이다. U..
Meta SDK [1] : VR 유저 인터페이스 (User Interface)
·
Toolkit/Meta SDK
Calculus [1]: 미분법 (Differentiation)
·
카테고리 없음
1. 삼각 함수와 도함수삼각함수의 도함수를 이해하기 위해서는 먼저 미분의 개념을 살펴볼 필요가 있다. 미분이란 어떤 함수가 특정 지점에서 얼마나 빠르게 변화하는지를 측정하는 과정이며, 이는 함수의 그래프에서 접선의 기울기를 구하는 것과 같다. 직선의 경우 기울기가 일정하지만, 삼각함수와 같은 곡선은 각 지점마다 기울기가 달라지므로 이를 구하는 과정이 필요하다. 특히 삼각함수의 도함수를 구할 때는 각의 단위가 반드시 라디안(radian)이어야 한다. 만약 도(degree) 단위를 사용할 경우, 미분의 정의에서 정확한 값을 얻을 수 없으며, 라디안을 사용해야만 삼각함수의 주기적인 성질을 제대로 반영할 수 있다. 우선 y=sin⁡x의 도함수를 구해보자. 미분의 정의에 따르면, 어떤 함수 f(x)의 도함수는 다..
Operating System [1]: 운영 체제 구조 (Operating System Structures)
·
Computer Scinece/Computer Architecture & OS
1. 개요운영체제는 사용자가 컴퓨터를 편리하게 사용할 수 있도록 도와주는 소프트웨어다. 운영체제의 가장 기본적인 역할은 사용자와 하드웨어 사이의 중재자(intermediary) 역할을 하는 것이다. 운영체제가 없으면 사용자는 하드웨어를 직접 조작해야 하는데, 이는 매우 비효율적이고 복잡하다. 운영체제는 이러한 복잡성을 해결하여, 사용자가 보다 쉽게 프로그램을 실행하고 데이터를 처리할 수 있도록 도와준다. 운영체제의 핵심 기능으로는 프로세스 관리, 메모리 관리, 저장 장치 관리, 파일 시스템 관리, 입출력 장치 관리 등이 있다. 예를 들어, 여러 개의 프로그램이 동시에 실행될 때 운영체제는 각 프로그램이 CPU를 얼마나 사용할 것인지 조정하며(스케줄링), 메모리를 효율적으로 할당해 충돌이 발생하지 않도록 ..