전체 글 337

[윤성우 열혈 C프로그래밍] Part1. C 언어의 기본

** 기본적으로 제공되는 함수를 표준함수라고 하고,   표준함수들의 모임을 가르켜 표준 라이브러리라고 함 ** 표준함수를 호출하기 위해서는 헤더파일을 선언해야 함 ** main 함수의 마지막에서 0을 전달(반환)하는 이유?   : 이 값은 main 함수를 호출한 영역으로 전달     main 함수는 프로그램이 시작되면 자동으로 호출되는 함수     호출의 주체는 Windows나 Linux와 같은 운영체제     ㄴ 그 값은 프로그램의 종료 상태를 알리는 용도로 사용     ㄴ 보통 0은 정상적인 종료 상황에서 전달하는 값     ㄴ 비정상적인 상황으로 인해서 종료될때에는 일반적으로 0이 아닌 값을 전달 ** 서식문자(conversiuon)    : 출력의 형태를 지정하는 용도로 사용 ** 연산자(oper..

IT공부/IT서적 2024.07.16

[ETC] 경량 스레드 (Light-weight thread)

경량 스레드 코루틴을 왜 쓰는지와 자바에서도 JDK 21에 경량 스레드 Virtual Thread가 추가되었고, Virtual Thread에 대한 정리 블로그 모음 https://todaycode.tistory.com/179 코루틴은 왜 빠른 걸까요? 1. 요약 2. Thread 2-1. 스레드를 사용하는 이유 2-2. 스레드의 문제점 3. Coroutine 3-1. 코루틴의 동작 방식 3-2. 코루틴과 스레드의 비교 1. 요약 🧑‍💻: 코루틴이 빠르다, 가볍다라고들 하는데 그 이유 todaycode.tistory.com https://techblog.woowahan.com/15398/ Java의 미래, Virtual Thread | 우아한형제들 기술블로그 JDK21에 공식 feature로 추가된 Vir..

IT공부 2024.04.23

[MMO Lab 1기] 싱글톤(Singleton)

** 싱글톤 : 딱 하나만 객체가 존재 ㄴ 매니저를 구현할 때, 싱글톤으로 구현한다 ㄴ static 변수를 이용한다 => static은 클래스에 종속적이다고 표현 가능 using UnityEngine; public class Managers : MonoBehaviour { static Managers s_instance; public static Managers Instance { get { Init(); return s_instance; } } public static void Init() { if (s_instance == null) { GameObject go = GameObject.Find("@Managers"); if (go == null) { go = new GameObject() { name..

[MMO Lab 1기] 매니저(Managers)

** 컨포넌트를 이용해서 기능을 세분화하여 작업함 컨포넌트는 자신만의 기능을 세분화여 들고 있지만, 범용적으로 항상 사용하는 기능도 컨포넌트로 구현할 것인가? 그렇다면 그 내용들을 어떻게 공유하고 구현할 것이며 호출할 것인가? => 그에 대한 해답 중 하나가 매니저이다. ** 매니저(Managers) : 만능형으로, 모든 기능을 종합적으로 관리하는 역할 이 기능의 핵심은 우리가 작업하는 코드 내에서 언제 언디서든 사용 가능하다는 점 ㄴ 여러 개의 컨포넌트들이 따로 떨어져 있을 때, 교류하여 작업하는 방식 ▼ 매니저 using UnityEngine; public class Managers : MonoBehaviour { // Start is called before the first frame update..

[ETC] 함수형 프로그래밍과 객체 프로그래밍의 차이

** 함수형 프로그래밍이란? : 함수가 중심이 되는 패러다임, 모든 작업은 함수로 구성되며 데이터를 불변하게 다룰려고 노력 데이터를 불변하게 다루며, 함수 호출에 따른 부작용을 최소화 이로 인해 프로그램 예측이 가능하고 테스트가 쉬워짐 함수는 데이터에 대한 반환을 나타내며, 순수 함수(Pure Function)는 주어진 입력에 대한 항상 동일한 출력을 생성 일반적으로 상속과 다양성을 지원하지 않음 대신 함수를 조합하여 원하는 기능을 만들기 위해 함수를 조립하고 재사용 ** 객체 프로그래밍이란? : 객체가 중심이 되는 패러다임, 데이터와 해당 데이터를 조작하는 메서드(함수)를 하나의 단위로 묶어서 사용 객체의 상태를 변경할 수 있으며 , 이러한 상태 변경은 메서드 호출을 통해 이루어짐 객체 내부의 상태를 ..

IT공부 2024.01.29

[MMO Lab 1기] GameObject vs Component

** 게임 오브젝트 > 컨포넌트, 스크립트(동작을 부여) ** 게임 오브젝트(GameObjects)는 Unity의 기초적인 오브젝트로 캐릭터, 소품, 배경을 나타냄 독자적으로 많은 것을 하기보다는 실질적 기능을 수행하는 컴포넌트(Components) 의 컨테이너 역할 ** 컴포넌트는 해당 게임 오브젝트의 동작 정의 ** 유니티 생명주기 중 Awake, Start, Update 숙지하기 ㄴ Awake : 객체를 만들때 ㄴ Start : 게임 시작 ㄴ Update : 매 프레임마다 using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; public class NewBeha..

[MMO Lab 1기] Component 패턴

** 컨포넌트(Component) : 여러 개의 프로그램 함수들을 모아 하나의 특정한 기능을 수행할 수 있도록 구성한 작은 기능적 단위 ㄴ 레고에 블록 쌓듯이 개발 ** 유니티에서 프레임? : Frame Per Second, 초당 프레임, 초당 화면에 몇 번 그려질지를 의미 using UnityEngine; public class Test : MonoBehaviour { // Start is called before the first frame update void Start() { Debug.Log("Hellow Unity"); } // Update is called once per frame void Update() { transform.Rotate(0, 1, 0); } } ** 공부할때, 참고한 블..