분류 전체보기62 소프트웨어 개발의 7단계 소프트웨어 개발의 7단계1. 목적을 정의한다.무슨일이든 간에 가장먼저 해야할 일은 목적이 무엇인지를 정의하는 것 -프로그램을 개발할때- 내가 만드는 프로그래밍 왜 필요한가?-프로그램이 만들어지는 목적을 달성하기 위해서는 어떤 기능들을 만들어야하는가 명확하고 세세하게 정리하는것이 중요하다 2. 프로그램을 설계한다. - 앞서서 정의한 목적과 기능을 수행하기 위해서는 내 프로그램이 어떻게 만들어져야 하는 지 프로그램을 설계 해야만 한다. 이후에 해야할 일들을 계획해 나아가야만 한다. 3.코드를 작성한다계획한 내용을 실제 프로그래밍 언어로 옮기는 작업을 해야한다. 현대 프로그래밍 언어에서는 일반적인 문서작업과 다를 바 없을 정도로 정말 편해졌다. 대신에 컴퓨터 언어로서 코드를 작성하고 문서를 작성하고.. 2024. 6. 3. C언어의 탄생과 특징 알렉산더 그레이엄 벨 = 실용적 전화기의 발명가 이 벨이라는 사람이 AT&T라는 거대한 통신사를 세웠다.그리고 이 통신사에서 연구를 하기위해 세운 연구소가 벨 연구소이다. 컴퓨터의 가장 중요한 핵심부품인 '트렌지스터'가 바로 여기에서 발명되었다. 인공지능 빅데이터에서도 굉장히 중요한 정보이론인 샤넨의 정보이론도 여기에서 나왔다. 우리가 공부하는 C언어도 여기에서 창조되었다. Dennis Ritchie 와 Ken Thompson 이 두사람이 c언어를 만들었다고 한다좋은 친구를 두고 같이 공부하고 같이 성장하는게 그만큼 중요하다. 원래는 Unix라는 운영체제를 공부하는 친구였다고 한다.수많은 운영체제들이 바로 여기에서 나오기 시작했다. Unix를 원래는 어셈블리 언어로 만들었다. 근데 어셈블리로 모든.. 2024. 6. 3. 컴퓨터의 구조 입력이란 무엇이고 출력이란 무엇일까? 중앙 처리 장치 = CPU (Central Processing Unit) 계산이 정확하다발열이 심하다그래서 직접적으로 볼 수 있기보다는 냉각장치만 보이게 된다. 컴퓨터를 켤때 fan 돌아가는 소리도 이런 발열 때문이다. 주 기억장치 ( Primary Storage )RAM( Random-Access Memory )컴퓨터의 메모리, 컴퓨터의 부품으로서의 메모리다. 전원을 끄면 데이터가 사라지는 휘발성이다. 휘발성인 대신에 속도가 빠르다. 그래서 보조 기억 장치가 항상 필요하다 .RandomAccess 말 그대로 임의 접근이 가능한 메모리즉, 반대 개념은 순차 접근이다 둘다 기억을 해놓는게 좋다. 그래픽 카드 화면을 출력하는 용도에서 점점발전이 되었다. 초기에는.. 2024. 5. 31. 언리얼 C++: TScriptInterface TScriptInterface란?TScriptInterface는 Unreal Engine에서 인터페이스 기반 프로그래밍을 지원하기 위해 사용되는 템플릿 클래스입니다.이 클래스는 UObject 기반 클래스에서 인터페이스를 구현하고 해당 인터페이스를 참조할 수 있는 기능을 제공합니다. 이를 통해 객체 지향 프로그래밍의 다형성 기능을 활용하고, 블루프린트와 C++ 코드 간의 상호 운용성을 높일 수 있습니다. TScriptInterface를 사용하여 인터페이스를 안전하게 참조하고 호출할 수 있으며, 이는 코드의 유연성과 재사용성을 크게 향상시킵니다. https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/CoreUObject/UObje.. 2024. 5. 28. 언리얼 C++ : Ensure와 EnsureMsgf란? ensure와 ensureMsgf는 Unreal Engine에서 사용되는 두 가지 중요한 디버깅 매크로입니다. 이 두 매크로는 특정 조건이 false일 때 개발자에게 경고를 보내고 추가 정보를 제공하도록 설계되었습니다. ensure는 기본적인 경고를 제공하며, ensureMsgf는 조건이 충족되지 않을 경우 사용자 정의 메시지를 출력할 수 있습니다.ensureensure 매크로는 조건이 false일 때 경고를 출력하지만, 프로그램 실행을 중단하지 않고 계속해서 실행합니다. 이는 개발자가 코드 실행 중에 발생할 수 있는 잠재적인 문제를 인식하는 데 유용합니다. ensure는 다음과 같이 사용됩니다: 이 경우, Value가 0 이하일 때 ensure는 경고 메시지를 출력하지만, 프로그램은 계속 실행됩니다. .. 2024. 5. 27. 언리얼 엔진의 델리게이트 기초와 심층분석 1.델리게이트(Delegate)란?델리게이트는 특정 이벤트가 발생했을 때 호출될 함수를 지정하는 방식입니다. 이는 C++의 함수 포인터와 유사하지만 더 안전하고 유연합니다 델리게이트와 이벤트 시스템의 차이점델리게이트는 함수 포인터의 역할을 하며, 특정 시점에 함수를 호출할 수 있게 합니다.이벤트는 델리게이트를 기반으로 하며, 여러 개의 델리게이트를 바인딩하여 특정 이벤트 발생 시 여러 함수를 호출할 수 있습니다.델리게이트의 활용 예제UI 버튼 클릭 이벤트 처리: UI 버튼이 클릭되었을 때 특정 함수를 호출하도록 설정.캐릭터 상태 변경: 캐릭터의 상태가 변경될 때마다 해당 상태에 맞는 함수를 호출.델리게이트의 메모리 관리델리게이트는 자동으로 메모리를 관리하지만, 바인딩된 객체가 소멸될 때 바인딩을 해제하는.. 2024. 5. 27. 언리얼 C++: Tamplate 템플릿은 C++에서 함수나 클래스를 작성할 때, 데이터 타입을 미리 지정하지 않고 나중에 사용하는 시점에 지정할 수 있게 해주는 기능입니다. 즉, 특정 타입에 국한되지 않고 다양한 타입을 처리할 수 있는 일반화된 코드를 작성할 수 있게 합니다. 템플릿은 주로 다음 두 가지 형태로 사용됩니다:함수 템플릿: 다양한 타입에 대해 동작하는 함수를 작성할 때 사용합니다.클래스 템플릿: 다양한 타입에 대해 동작하는 클래스를 작성할 때 사용합니다.예시함수 템플릿template T add(T a, T b) { return a + b;}int main() { int result1 = add(3, 4); // int 타입으로 작동 double result2 = add(3.5, 4.5); // double .. 2024. 5. 27. 언리얼 C++: #define #define은 C와 C++에서 매크로를 정의하는 데 사용하는 전처리기 지시문입니다. 매크로는 코드에서 반복적으로 사용되는 텍스트를 치환하는데 사용되며, 주로 상수나 간단한 함수처럼 사용됩니다. 매크로는 컴파일러가 소스 코드를 컴파일하기 전에 텍스트 치환을 수행하므로 코드의 가독성과 유지보수성을 높이는 데 도움을 줍니다. #define의 역할과 사용 방법#define은 주로 다음과 같은 용도로 사용됩니다:상수 정의:상수를 정의하여 코드에서 직접 숫자나 문자열을 사용하지 않도록 합니다.매크로 함수 정의:반복되는 코드 블록을 매크로로 정의하여 코드 중복을 줄이고 가독성을 높입니다.조건부 컴파일:특정 조건에 따라 코드를 컴파일할지 여부를 결정할 수 있습니다. 예제상수정의#define PI 3.14159PI라.. 2024. 5. 24. 언리얼 C++ : typedef와 typedef struct는 왜 사용하는 걸까? typedef는 C와 C++에서 데이터 타입에 새로운 이름을 부여하는 키워드입니다. typedef는 코드의 가독성을 높이고, 복잡한 데이터 타입을 간단하게 표현하는 데 유용합니다. 특히 구조체(struct)를 사용할 때 자주 사용되는데, 그 이유와 함께 자세히 설명하겠습니다.왜 typedef를 사용하는가?가독성 향상:복잡한 타입을 간단한 이름으로 바꿔서 코드가 더 읽기 쉽고 이해하기 쉽게 만듭니다.유지보수 용이성:데이터 타입이 변경되었을 때, typedef를 사용하면 변경된 타입을 정의한 한 곳만 수정하면 되므로 유지보수가 쉬워집니다.코드 일관성:같은 타입을 여러 곳에서 사용할 때, typedef를 통해 일관된 이름을 사용할 수 있습니다.왜 typedef struct를 자주 사용하는가?C에서는 구조체를 .. 2024. 5. 24. 언리얼C++: MINIMAL_WINDOWS_API란? MINIMAL_WINDOWS_API는 Windows 플랫폼에서 최소한의 Windows API를 사용하도록 지정하는 매크로입니다. Unreal Engine 5와 같은 게임 엔진에서 이 매크로를 사용하는 이유와 사용 시점을 설명드리겠습니다.왜 MINIMAL_WINDOWS_API를 사용하는가?Windows 플랫폼에서 코드를 작성할 때, Windows API는 매우 방대하고 다양한 기능을 제공합니다. 하지만 모든 기능을 사용하지 않는 경우가 많고, 필요 없는 기능까지 포함하면 컴파일 시간 증가, 메모리 사용량 증가, 충돌 가능성 증가 등의 문제를 일으킬 수 있습니다. MINIMAL_WINDOWS_API는 이러한 문제를 피하고, 필요한 최소한의 Windows API만 포함하도록 하기 위해 사용됩니다.MINIMAL.. 2024. 5. 24. 언리얼 C++: 인라인 함수 (FORCEINLINE) 인라인 함수란?인라인 함수는 함수 호출을 하는 대신, 그 함수를 호출하는 코드에 함수의 본문을 직접 삽입하는 것을 의미합니다. 이렇게 하면 함수 호출에 따른 오버헤드(추가적인 비용)가 줄어들어 프로그램이 더 빠르게 실행될 수 있습니다.레고 블록을 조립하는과정에 비유해보자일반 함수: 마치 레고 블록을 조립할 때 매번 설명서를 꺼내서 다음 블록이 무엇인지 확인하고 조립하는 과정입니다. 설명서를 보는 데 시간이 걸립니다.인라인 함수: 설명서의 내용을 머릿속에 외워서 매번 설명서를 보지 않고 바로 레고 블록을 조립하는 것과 같습니다. 설명서를 보는 시간이 없기 때문에 더 빨리 조립할 수 있습니다.코드 예시로 이해하기인라인 함수는 특히 게임 개발처럼 성능이 중요한 분야에서 많이 사용되며, FORCEINLINE은 .. 2024. 5. 24. 언리얼 애니메이션 Preference 기본설정 시퀀서에 여러가지 툴바가 있다는 것을 까먹지 말고 각각의 기능들을 기억하자 단축키 2024. 5. 24. 이전 1 2 3 4 5 6 다음 반응형