최신 글
- Docker & Kubernetes 노트 What is Container & Docker? Container - 프로그램을 실행시키기 위한 Unit - Independent, Standardized "application package" - - 예: 음식을 담는 "바구니" => 같은 음식이 담긴 바구니를 다른 사람에게 그대로 줄 수 있다. - - 예: 공사현장의 "컨테이너 박스" => 무언가를 실어 그대로 나를 수 있다. - 프로그램이 복잡해질 수록 모든 개발자의 컴퓨터 환경을 같은 버전을 맞추기 위해 Docker가 필요하다. 옛날 방식의 가상 머신을 사용할 경우의 장/단점 - 장점: 개별적인 개발 환경 - 단점: 중복된 리소스, PC 성능 저하 요즘 방식의 Docker & Container를 사용할 경우 장점 - Built-in Contain.. 더보기
- 행진곡 모음 (feat. Guitar) March of Toreadors Wedding March (F. Mendelssohn) Wedding March (R. Wagner) Mickey Mouse March Colonel Bogey March Radetzky March Marcia Trionfale Glory Glory Hallelujah 더보기
-
[Golang] io.Reader 그리고 Heap, Stack Intro - Escape Analysis A. Heap vs. Stack - Read 함수를 사용하여 byte를 읽는 방법이, - 아래와 같은 두가지 방법이 있는데, - 방법 1: Slice를 read 함수에서 만들어서 main으로 넘겨줄 경우 - 방법 2: Slice함수를 사용자가 직접 만듫어서 read 함수에 Argument로 사용하는 경우 - 2번의 경우가 모든 것이 stack에서 활동하므로 빠를 수밖에 없다. B. io.Reader - 그러므로.... Golang의 io.Reader 함수가 구현된 것을 보면 왜 아래와 같이 구현됬는지 알 수 있다. Reference - Understanding Allocations: the Stack and the Heap - GopherCon SG 2019 K.. 더보기
-
Golang Concept Tutorials BASIC Case - Golang Dependency Injection Made EASY - The Repository Pattern (Interface) Memory - Understanding Allocations: the Stack and the Heap - GopherCon SG 2019 (Escape Analysis) Concurrency - Master Go Programming With These Concurrency Patterns (in 40 minutes) - Learn Golang: Deep Dive into Concurrency in Golang (with real world application) | Part 3 더보기
-
기타 코드 Musical Notation + TAB 더보기
- [Handmade Hero] 005 - Windows Graphics Review 오늘의 공부 (흐름) - WNDCLASS - Win32ResizeDIBSection (Backbuffer 할당) - WindowClass에서 변수를 Stack에 할당 - WIndowClass에서 받아온 변수를 RegosterClass로 넘긴다. - 윈도우창 생성 - PeekMessage (윈도우창 실행) - RenderweirdGradient (Backbuffer로 임시 디스플레이를 그린다, 256x256 블록 패턴) ### GetDC ### - Win32GetWindowDimension (사각형의 요소를 가지고 온다.) - Win32DisplayBufferinWindow (StretchDIBiats을 통해 Display한다.) ### ReleaseDC ### - Gradient Increment for.. 더보기
-
[Handmade Hero] 004 - Animating the Backbuffer 오늘의 공부 - VirtualAlloc: 메모리 할당 - VirtualFree: 메모리 헤제 - PeekMessage: 메시지가 없을 때 계속 Running 상태로 둔다. - GetMessage: 메시지가 없을때는 상태를 Block한다. - GetDC & ReleaseDC (for DeviceContext) 흐름 - 빈 BitmapMemory 변수에 메모리가 할당된다. (VirtualAlloc) - 할당된 메모리는 StretchDIBits가 전달받는다. - StretchDIBits가 Display를 그린다. 디버깅 BitmapMemory - BitmapMemory에 들어가있는 값이 0인걸 확인한다. - 수많은 Header들을 채워가면서 VirtualAlloc을 했을 때 BitmapMemory에 값이 들어.. 더보기
-
[Primal Engine] 004 - Loading game projects 오늘의 공부 - 저장된 프로젝트 폴더 경로를 받아서 불러오는 기능 (OpenProject.cs) - Save, Load, Unload, Active Scene 기능 (Project.cs) - 불러올 때 문제가 있을 경우 문제가 있다고 알려주는 알림 메시지를 보여주기 (MainWindow.xaml.cs) - 그외 자잘한 파일들 수정 (Scene.cs) 디버깅 ActiveScene에 올바른 데이터가 들어갔는지 확인 (Project.cs) DataContext에 올바른 데이터가 들어갔는지 확인 (MainWindow.xaml.cs) 결론 - 실질적으로 프로젝트를 오픈한 것은 아니지만 DataContext에 알맞은 데이터가 들어간 것을 확인하였다. 더보기
- [Handmade Hero] 003 - Allocating a Backbuffer 오늘의 공부 Win32 API - CreateDIBSection: 마우스에 의한 윈도우창 사이즈 변경 - - BITMAPINFO: 각각의 헤더들의 설정을 지정해준다 - WM_SIZE가 불릴 때마다 Memory Leak이 있는지 확인하기 C++ Static의 사용처 3종류 - Global Variable: 누구나 사용할 수 있기에 일반적으로 사용을 비추천한다. - Local Variable: Local Persist - Local to file: 해당 파일에서만 사용할 수 있다. (internal) Reference - Official Lesson 더보기
- [Handmade Hero] 002 - Opening a Win32 Window 현대 게임의 특징 - Rendering에 관한 모든 걸 GPU에 맡긴다. - GPU가 하는 일을 모른 채로 그냥 맡긴다. Handmade Hero 엔진의 특징 - GPU가 어떻게 일하는지 모르기때문에 직접 Win32 API를 이용해 Renderer를 만들어 사용한다. - 실제로 Rendering이 어떤 방식으로 이루어지는가 이해하기 위함. 오늘의 공부 Win32 지식 Basic Functions - WNDCLASS : 여러가지 기본 설정을 할 수 있는 function들을 사용하기위해 쓰인다. - WindowProc: Callback Function, 메시지를 받아서 실행한다.- RegisterClass: WNDCLASS를 통해 윈도우창을 열기 위해 필요한 Function.- CreateWindow: 여러.. 더보기
-
난리블루스 기초화성 2: 화성학의 핵 3화음 (Triad chords) - 둘중 어느 계산법으로 해도 똑같은 값이 나온다. 파란색 계산법 - 근음을 기준으로 해서 3도와 5도 계산 노란색 계산법 - 근음을 기준으로 해서 3도 2개 계산 Reference - 기타 코드의 탄생과 이해: 화성학의 핵심 - 난리블루스 더보기
-
난리블루스 기초화성 1 - 음정, 음계 온음과 반음 - 온음 = tone (C-D, D-E, F-G, G-A) - 반음 = semitone (E-F, B-C) 음정 - 1도 => ex: 파파 (같은음) - 2도 => ex: 도레 - 3도 => ex: 도레미 - 7도 => ex: 도레미파솔라시 - 8도 => ex: 파솔라시도레미파 (옥타브) 예: 같은 3도라도 온음 2개 혹은 온음1개 반음1개가 되어있는 음정이 있다. - - 장3도란? => 온음 2개 - - 단3도란 => 온음1개, 반음1개 - - 장,단을 구분할 때 반음만 헤아리자. - - 반음이 하나도 없다면 "장" (2,3도 해당) => Major, 밝은 느낌 - - 반음이 1개가 있다면 "단" (2,3도 해당) => Minior, 어두운 느낌 - - 반음이 1개면 장 (6,7도 해당) .. 더보기
-
온음계적 음정 (Tritone, 증, 감) Definition - 온음 = Whole tone - 음정 = interval = 음간의 거리 - Tritone: 온음 3개로 구성된 음 - 온음계적 음정: 흰 건반만 사용하는 음정 증4도 (Augmented) - 4도 - 6개의 반음이 이동한다. - 완전4도보다 거리가 멀기때문에 Augmented (증)을 사용 감5도 (Diminished) - 5도 - 6개의 반음이 이동한다. - 완전5도보다 거리가 짧기때문에 Diminished (감)을 사용 Conclusion - 파-시 = 증4도 - 시-파 = 감5 - 어느 음정을 봐도 빠르고 정확하게 계산할 수 있도록 계산하여야 한다. Reference - 음정을 풀어보자 I - 온음계적 음정 문제풀이 더보기
- [Handmade Hero] 001 - Setting Up the Windows Build 기본 설정 - startup.bat @ C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup => Windows 시작시 가상 드라이브 실행 - build.bat (.exe파일을 빌드하기 위한 batch 파일) - shell.bat (비쥬얼 스튜디오 컴파일러를 사용하기 위한 batch 파일) - devenv \build\win32_handmade.exe (.sln 파일을 사용하기 위한 커맨드) - user32.lib -> MessageBox같은 function을 사용하기 위해 컴파일할 때 포함시켜야 한다. 개념 - CRT Library for C compiler - Import Library (Ex: user32.lib) -> 특정 Function을 .. 더보기
-
[Handmade Hero] Intro to C on Windows - Day 5 1. 코드 => 실행 프로그램까지의 과정source code to Executable- OBJ + LIB into Linker - Executable (Defined by Microsoft + Intel format)Exe File- Header - Fixup table (Call windows code) - Intel format code (Start running)2. Virtual MemoryPage- Divided into "page" (Physical) - Page Table - Each page has flags (Read, Write, Execute) - Page Fault - ICache for efficient CPU operation3. Shift Operator- Shift the b.. 더보기
인기 글
- Blue Bossa 분석 (feat. 난리블루스) 코드 Cm7 Fm7 Dm7b5 G7 Ebm7 멜로디 (Eb Major 기준) 미레도시라솔파미레 레도시라솔파미레도 코드 진행 Cm7 Fm7 Dm7b5 G7 Cm7 Ebm7 Ab7 Dbmaj7 Dm7b5 G7 Cm7 Dm7b5 G7 악보 분석 - 1-2-3-4-5-6-7 - C-D-E-F-G-A-B - D-E-F-G-A-B-C - Part 1. C minor 스케일-> 2-5-1 진행 - Part 2. 순간적으로 Db Major 스케일 -> 2-5-1 진행 - Part 3. 다시 C mior 스케일 -> 2-5-1 진행 솔로 기타 연주를 위한 스케일의 이해 C minor Major Scale - C minor = Eb Major 스케일과 나란한 조 (?) - 1, 2, 3번 줄 - 시작점: 2번줄 4번 프렛.. 더보기
-
백병동 화성학 제2장 "3화음" [금지] 금지되는 진행 - 완전 음정은 너무 잘 어울려서 안좋은 소리가 나게된다. - 병행 5도 금지 (?) - 병행 8도 금지 (?) - 반진행 8도 (종지만 허용) (?) - Ex: C1+ A2 & G1+ D2 => 같은 방향으로 도약해서 완전 음정으로 도달한다. (?) - 예외: 소프라노가 순차진행할 때는 OK (?) 성부의 연결 - 노래 부르기 힘들기때문에 금지한다. - 증음정 금지 (예: F, G#, 증2도 금지) (?) - 증2도 금지 => F, G# (?) - 증4도 금지 => F, B (?) - 위와같은 선율을 잘 쓰지 않는다. - A minor harmonic scale에 등장하는 F, G# => 증음정이 발생한다. - 증4도가 감5도로가면 허용한다. (반진행 해결이 필요하다) (?) - 그외 금.. 더보기
-
재즈 화성: 다이아토닉 코드 진행과 2-5-1 코드 진행 다이아토닉 코드 진행 - 재즈화성을 이해하려면 Diatonic Chord Progression을 알고 있어야한다 [1] - Tonic: 1도, 메이저, 안정, 대리음6도 - Sub Dominant: 4도, 마이너, 중성, 대리음2도 - Dominant: 5도, dim, 불안정, 대리음7도 재즈 화성 - 4개의 음이 코드를 구성한다. - Tonic과 Dominant의 관계에 집중 (Dominant를 연주하면 Tonic을 연주하고 싶어지는 관계) Tonic: 1도, 안정 Subdomiannt는? Dominant: 5도, 불안정 재즈의 2-5-1 Cadence에 대하여 - C Major7 재즈코드에서 Dominant인 G7의 "시", "파"를 Tritone이라고 한다. (듣기 불편한 상태) - 즉 Triton.. 더보기