250930 Console
·
📖TIL
internal class Program{ static public void Checker ( Random rnd ) { } static void Main(string[] args) { Random rnd = new Random(); while ( true ) { Console.WriteLine(rnd.Next()); Checker(rnd); } }}internal class Program{ static void Main(string[] args) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(..
250930 메모리 revision
·
📖TIL
메모리 구조프로그램 실행 시 메모리는 4개의 주요 영역으로 나눈다.코드 ( Code Segment ) : 실행할 프로그램 코드를 저장한다.데이터 ( Data Segment ) : 정적 변수 저장스택 ( Stack ) : 함수 호출 시 생성되는 프레임 , 지역 변수 / 매개 변수 / 반환 주소 저장힙 ( Heap ) : 동적으로 할당된 객체 저장 C# 관점 :스택 : 함수 호출과 로컬 변수 관리힙 : 동적 객체 저장 , 참조형 타입 대부분 저장 스택 ( Stack )역할 : 함수 호출 시 생성되는 메모리 프레임 관리 저장 내용 :매개 변수지역 변수반환 주소특징후입선출 구조 자동 할당 / 해제 → 빠르다함수 종료 시 프레임 제거 힙 ( Heap ) 역할 : 동적 메모리 저장 공간 저장 대상 :new 키워..
Builder
·
⭐C Sharp/13. 디자인 패턴
Builder빌더 패턴은 복잡한 객체의 생성 과정을 단계별로 캡슐화한다같은 생성 과정으로 서로 다른 표현의 객체를 만들 수 있게 해주는 생성 ( Creational ) 패턴이다.조립 과정을 분리해서 유연하게 객체를 생성하는 것이 핵심이다. ▼예시 코드using UnityEngine;public class Ship : MonoBehaviour { public string ShipName; public string Hull; public string Engine; public string Weapon; public void ShowInfo() { Debug.Log($"배 이름: {ShipName}, 선체: {Hull}, 엔진: {Engine}, 무기: {We..
Factory Method
·
⭐C Sharp/13. 디자인 패턴
팩토리 ( Factory Method )팩토리 패턴은 객체 생성 로직을 별도의 메서드 / 클래스로 분리한다.클라이언트 코드가 구체적인 클래스 이름을 알 필요 없이 객체를 생성할 수 있도록 하는 생성 ( Creational ) 패턴이다. 객체 생성을 캡슐화 한다 ▼예시 코드using UnityEngine;public abstract class Ship : MonoBehaviour { public abstract void Sail();}public class BattleCruiser : Ship { public override void Sail() { Debug.Log("Battlecruiser operational."); }}public class Medivac : ..
2025 남은 국내 게임 / 콘텐츠 행사
·
🕹️Game Life
1. G-STAR 2025일정 예정 : 11월 13일 ~ 11월 16일장소 : 부산 BEXCO 참가사 & 라인업총 3,010 부스가 확정됨 - BTC ( 일반 관람객 대상 ) 부스 2,106 - BTB ( 비즈니스 대상 ) 부스 904엔씨소프트가 이번에 처음으로 지스타 메인스폰서로 참여주요 참가사 : 크래프톤 , 넷마블 , 그라비티 , 웹젠 , 위메이드커넥트 , 네오위즈컨퍼런스 G-CON 2025 에서는 내러티브 ( Narrative ) 를 테마로 다양한 연사들이 연사로 참여- "드래곤 퀘스트" 제작자 호이리 유지 출연 예정- JRPG 주요 인물들 ( 하이소 카츠라 , 소에지마 시게노리 ) 및 요코 타로 , 카미야 히데키 등도 라인업 포함 티켓 / 입장권 비용조기 신청 ( 일반료 기준 ) 200,000 ..
Inside-Out Fisher–Yates
·
📊Algorithm/셔플
Inside-Out Fisher–YatesInside-Out Fisher–Yates 은 일반적인 피셔 예이츠 ( Fisher Yates ) 셔플의 변형 버전이다.핵심 아이디어는 새로운 배열을 만들면서 동시에 섞인 상태를 채워 넣는 것이다. 동작 과정 길이가 같은 새 배열을 준비한다.i = 0 부터 n-1 까지 순회하면서랜덤 인덱스 j 를 0 ~ i 범위에서 뽑는다.새 배열의 i 에 원본 배열의 i 를 넣는다.만약 j != i 라면, 새 배열의 i 대신에 j 위치의 원소와 교체한다.이렇게 하면 새 배열이 완전히 무작위로 섞인다. 의사코드 ( PseudoCode ) 표현for i = 0 → (배열의 마지막 인덱스)까지 반복한다 0부터 i까지 범위에서 무작위 인덱스 j를 선택한다 만약 j ≠..
명명된 매개변수 ( Named Parameters )
·
⭐C Sharp/00. 문법
명명된 매개변수 ( named parameters )명명된 매개변수는 함수를 호출할 때 매개변수 이름을 지정해서 값을 전달하는 방식이다.일반적으로 함수에 인자들 전달할 때에는 순서대로 넣지만,명명된 매개변수를 쓰면 순서에 상관없이 이름을 지정해 전달할 수 있다. ▼예시 코드void CreateCharacter(string name, int level = 1, string job = "Warrior"){ Console.WriteLine($"Name: {name}, Level: {level}, Job: {job}");}// 일반 호출 (순서대로)CreateCharacter("HoChan", 10, "Mage");// 명명된 매개변수 사용CreateCharacter(job: "Archer", name:..
의존성 주입 ( Dependency Injection )
·
⭐C Sharp/13. 디자인 패턴
의존성 주입 ( Dependency Injection , DI )의존성 주입은 객체가 직접 다른 객체를 생성하거나 의존하지 않고, 외부에서 필요한 객체 ( 의존성 )를 넣어주는 설계 방식이다. 기본 개념보통 클래스 A 가 클래스 B를 사용해야 한다면, A 안에서 new B() 를 해서 만든다.→ 이렇게 되면 A 와 B 가 강하게 결합 ( 의존 )하게 된다. 의존성 주입은 B 를 외부에서 만들어서 A 에게 전달하는 방식이다→ 이렇게 하면 A 는 B 의 구체적인 생성 방식에 신경 쓰지 않고, 단지 B가 필요하다는 사실만 알면 된다. 필요한 이유1. 결합도 낮춤 ( Loosely Coupled )→ 클래스끼리 덜 얽혀 있어서 코드 수정이나 확장이 쉽다 2. 테스트 용이→ 예시 : 진짜 DB 대신 MockD..
Gang of Four
·
⭐C Sharp/13. 디자인 패턴
Gang of FourGoF ( Gang of Four )는 디자인 패턴 책을 집필한 4명의 저자를 가리키는 말이다.1994 년에 출판한【 Design Patterns : Elements of Reusable Object - Oriented Software 】책은 소프트웨어 설계에 있어 공통된 문제들에 대한 표준적인 해법과 작명법을 제안한 책이다. 이 분야의 사인방 ( Gof )이라 불리는 에리히 감마 ( Erich Gamma ) , 리처드 헬름 ( Richard Helm ) , 랄프 존슨 ( Ralph Johnson ) , 존 블리시데스 ( John Vlissides ) 는 이 책에 23가지 대표적인 디자인 패턴을 정리했다. 이 책이 디자인 패턴의 시작점인자 표준으로 자리 잡았다.우리가 말하는 생성 (..