전체 글
-
최초의 프로그래밍프로그래밍 역사 2024. 10. 8. 14:03
프로그래밍의 시작 컴퓨터는 1946년 에니악을 최초의 컴퓨터로 시작되었다.에니악은 한쪽 벽면을 가득 채운 상자들이었고, 당시의 프로그래밍은 연구원들이 약 6000개의 전기 케이블의 배선을 바꾸는 것으로 이루어졌다. 에니악은 당시에는 뛰어난 계산 능력을 가지고 있었지만, 뜨거운 진공관을 식히기 위해서는 매일 반나절은 운영을 멈춰야 했고, 무엇보다 프로그램을 교체하려면 6000개의 배선을 교체해야 하는 문제가 있었다. 에니악은 1951년 존 폰 노이만의 손을 거쳐서 에드박으로 다시 태어났다.에드박은 중앙처리장치, 기억장치, 프로그램, 데이터로 이루어진 슈퍼 컴퓨터부터 스마트폰에 이르기까지 현존하는 모든 현대 컴퓨터의 조상이 됐다.하지만 에드박 이후에도 1950년대까지는 한동안 하드웨어를 중심으로 발전했고, ..
-
[TIL] 16일차 5일 유니티 데미지 텍스트 만들기 ( 제네릭 오프젝트 풀, DOTween )개발일지/스파르타 코딩클럽 부트캠프 2024. 8. 2. 20:12
유니티 2D 데미지 텍스트 띄우기 제네릭 오브젝트 풀 만들기 일단 데미지 텍스트도 그냥 Instantiate와 Destroy를 하면 당연히 가비지 컬렉터가 쌓여서게임 최적화에 좋지 않다.그래서 오브젝트 풀을 만드는데여러가지 타입을 받아서 사용할 수 있게 제네릭 오브젝트 풀을 만들었다.구글링은 위대하다. public class OBJPool : MonoBehaviour where T : Component{ [SerializeField] protected T[] mOrigin; protected List[] mPool; private void Start() { mPool = new List[mOrigin.Length]; for (int i = 0; i (); ..
-
[TIL] 16일차 2일 기술면접 대비 ( 유니티 생명주기 )개발일지/스파르타 코딩클럽 부트캠프 2024. 8. 1. 09:59
확인 문제💡 질문에 답해보고 직접 확인해보는 시간을 가집시다. Time.timeScale을 0으로 하면 Update와 FixedUpdate는 모두 호출이 되지 않을까요? 그 이유는 무엇일까요?Update의 호출주기에 영향을 주는 것은 무엇일까요?FixedUpdate의 호출주기에 영향을 주는 것은 무엇일까요?Awake와 Start, OnEnable의 호출 순서는 어떻게 될까요?1, 2, 3 공통 답변Update함수 : Update함수는 유니티의 메인 게임 루프에서 매 프레임마다 호출되는데, Time.timeScale을 0으로 하면게임의 진행 시간과 관련된 모든 계산이 중지된다. 그 결과 Update함수도 호출되지 않는다. 이는 Time.time과 Time.deltaTime이 0이 되기 때문에, 프레임 간..
-
[TIL] 16주차 3일 기술 면접 대비개발일지/스파르타 코딩클럽 부트캠프 2024. 8. 1. 09:59
💡 질문에 답해보고 직접 확인해보는 시간을 가집시다. InvokeRepeating을 통해 반복 실행 중인 메서드는 오브젝트를 비활성화하면 멈출까요?Coroutine을 통해 반복 실행 중인 메서드는 오브젝트를 비활성화하면 멈출까요?다음 Coroutine 코드의 성능 상 문제는 무엇이 있을까요? (Hint : 메모리)IEnumerator Fade(){ Color c = renderer.material.color; for (float alpha = 1f; alpha >= 0; alpha -= 0.1f) { c.a = alpha; renderer.material.color = c; yield return new WaitForSeconds(.1f); }..
-
[TIL] 16일차 1일 기술 면접 대비개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 30. 09:49
설명 문제💡 질문을 직접 설명해보고, 모르는 부분이 있다면 알아보는 시간을 가집시다. Queue의 특성을 설명해주세요.Queue는 언제 사용하면 좋은 자료구조인가요? 반대로 언제 사용하기 불리할까요?Queue를 본인의 프로젝트에 적용해본 경험을 말해주세요.Queue의 특성을 설명해주세요.추가, 제거가 O(1)만큼 걸립니다. 선입 선출의 방식이기에 임의 접근이 불가능합니다.Queue는 언제 사용하면 좋은 자료구조인가요? 반대로 언제 사용하기 불리할까요?반대로 선입후출의 방식에서는 사용이 어렵고 임의 접근을 해야하는 데이터에서는 사용하기 안좋습니다.선입 선출의 방식이기에 일을 들어오는 순서대로 처리를 해야하고 앞에 내용을 처리할 때 뒤에 내용을 추가하거나 대기 시켜야할 때 좋습니다. 예를 들어 네트워크 라..
-
[TIL] 15주차 5일 오류개선개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 26. 19:41
발생한 문제 스킬을 보유하고 있지 않을 때 스킬을 사용하면 플레이어가 멈추는 문제 이 부분은 내가 따로 예외 처리를 안해줘서 생긴 문제였는데public override void Enter(){ Debug.Log("start1Skill"); stateMachine.Player.isSkillActive = true; base.Enter(); if(stateMachine.Player.firstSkillSlot == true) { if (stateMachine.Player.playerEquipSkill[0] == null) return; index = 0; } else { if (stateMachine.Player.playerEqu..
-
[TIL] 15주차 4일 트러블슈팅 FSM을 사용하며 일어난 문제들개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 26. 10:11
FSM을 사용하면서 일어난 다양한 문제들문제State간의 전환이 안될 때가 있는 경우각 State의 애니메이션 간의 전환이 매끄럽지 않은 경우State의 강제적인 변환으로 인해서 일어난 버그들 ( 캐릭터가 굳어 버린다던가 )State간의 전환 사이에 1프레임 씩 다른 State가 섞이는 문제State의 전환에 따라서 물리적인 문제가 발생하는 경우State의 조작과 내부로직이 함께 작동하지 않고 따로 노는 경우State를 마구마구 변환 시키다 보면 발생하는 문제 ( 스킬을 막 누르고, 전환을 막 누르다 보면 굳음 )기존 접근저 버그들이 한번에 모두 발생한 것이 아니기 때문에버그가 발생할 때마다 그에 맞은 어느정도 하드코딩으로 대처를 했었다.예를 들면 State간의 전환이 안될 때는 미리 만들어둔 Chang..
-
[TIL] 15주차 3일 기술 면접 대비개발일지/스파르타 코딩클럽 부트캠프 2024. 7. 24. 20:29
설명 문제 💡 질문을 직접 설명해보고, 모르는 부분이 있다면 알아보는 시간을 가집시다. Stack의 특성을 설명해주세요.Stack은 언제 사용하면 좋은 자료구조인가요? 반대로 언제 사용하기 불리할까요?Stack을 본인의 프로젝트에 적용해본 경험을 말해주세요.Stack의 특성을 설명해주세요.스택(Stack)은 후입선출(LIFO) 방식의 자료구조로, 요소는 한쪽 끝에서만 삽입되고 삭제된다. 연산이 단순하며 빠르다. 함수 호출 관리, 괄호 검사, 깊이 우선 탐색 등 다양한 용도로 사용된다. 메모리를 효율적으로 사용하며, 요소에 무작위 접근은 불가능하다.Stack은 언제 사용하면 좋은 자료구조인가요? 반대로 언제 사용하기 불리할까요?불리한 경우 : 무작위 접근이 필요할 때, 순서가 중요할 때, 대용량 데이터를..