본문 바로가기
728x90

전체 글63

[Unity] 유니티 생명 주기 함수 Awake vs Start- Awake스크립트와 연결된 GameObject가 인스턴스화 되거나 스크립트가 처음 로드될 때 불림(인스턴스화 : 유니티에서 오브젝트가 실제로 생성되는 것)해당 오브젝트가 OnEnable 상태가 아니더라도 위 조건에 따라 로드되면 호출됨Awake에서 다른 오브젝트에 대한 참조를 하게 되면 오브젝트가 생성될 때 반드시 실행되기 때문에 참조를 반드시 생성할 수 있다. 하지만 조심해야될 점은 각 오브젝트의 Awake함수의 호출은 무작위로 되기 때문에 초기화 되지 않은 다른 스크립트의 참조를 통해 접근을 하면 NullReferencException이 발생하게 되기 때문이다.- StartStart 함수는 컴포넌트가 활성화되는 순간 불리게 된다.호출 시기는 Awake 함수보다는 느리지만,.. 2024. 11. 2.
[OOP] 객체 지향 디자인 패턴 디자인 패턴이란?- 디자인 패턴은 개발하면서 발생하는 반복적인 문제들을 어떻게 해결할 것인지에 대한 해결 방안으로 실제 현업에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 모범 사례이다. - 디자인 패턴은 객체 지향 4대 특성(캡슐화, 상속, 추상화, 다형성)과 설계 원칙(SOLID)을 기반으로 구현되어 있다.디자인 패턴의 장점1. 재사용성 : 반복적인 문제에 대한 일반적인 해결책을 제공하므로, 이를 재사용하여 유사한 상황에서 코드를 더 쉽게 작성할 수 있다. 2. 가독성 : 일정한 구조로 정리하고 명확하게 작성하여 개발자가 코드를 이해하고 유지보수하기 쉽게 만든다. 3. 유지보수성 : 코드를 쉽게 모듈화할 수 있으며, 변경이 필요한 경우 해당 모듈.. 2024. 6. 13.
[OOP] 객체 지향 설계의 5가지 원칙(SOLID) SOLID란?- SOLID 원칙이란 객체 지향 설계에서 지켜야 할 5개의 소프트웨어 개발 원칙이다. - SOLID 원칙은 소프트웨어의 유지보수성, 재사용성, 확장성 등을 향상시키는 기준으로 사용되며, 객체지향 설계의 중요한 지침을 제공한다. 이러한 원칙을 따르면 가독성과 유지보수성을 향상시킬 수 있다.단일 책임 원칙(Single Responsibility Principle, SRP)- 객체는 단 하나의 책임만을 가져야 한다. 여기서 책임은 하나의 기능 담당이라고 보면 된다. 즉, 하나의 클래스는 하나의 기능을 담당하여 하나의 책임을 수행하는데 집중되도록 클래스를 따로따로 여러 개 설계하라는 원칙이다. - 어떤 변화에 의해 수정되어야 하는 이유는 오직 하나뿐이어야 한다.개방 - 폐쇄 원칙(Opened-Cl.. 2024. 6. 13.
[알고리즘] 혼자 못 푼 문제 정리 - 도서관 BOJ 1461 도서관난이도 : (백준 난이도 기준) 골4사용 알고리즘 or 자료 구조 : 그리디 알고리즘, 정렬 처음 생각한 풀이1) 현재 위치에서부터 가장 가까운 곳을 찾아 해당 위치를 방문하며, 가지고 있는 책이 0개가 되면 0으로 가는 방식으로 풀었다.(그랬더니 터무니 없이 큰 숫자들이 나왔다.) 2) 반대로 절댓값이 큰 곳부터 가는 것으로 풀었더니 역시 답이 제대로 나오지 않았다.구글링 이후 풀이1. 먼저 위치가 양수인 책과 음수인 책을 따로 저장해준다. 2. 그 후, 양 쪽에서 절대값이 가장 큰 순으로 책을 M개 씩 묶는다. 3. 가장 큰 값만 방문하면 나머지는 0으로 돌아오는 길이나 가는 길에 방문하게 되므로 이동 거리는 가장 큰 값의 2배가 된다. 4. 마지막으로 양수나 음수 중, 가장 큰.. 2024. 6. 6.
[알고리즘] 혼자 못 푼 문제 정리(암호코드) BOJ 2011 암호코드난이도 : (백준 난이도 기준) 골5사용 알고리즘 or 자료 구조 : 다이나믹 프로그래밍처음 생각한 풀이 위와 같이 문자열을 파싱해서 다이나믹 프로그래밍을 어떻게 잘 사용하면 될 것이라고 생각했는데, 도저히 방법이 떠오르지가 않았다...구글링 이후 풀이숫자가 1번부터 27번 사이에 있어야 알파벳으로 해석이 가능하다.(이거는 처음부터 생각했던 거)  이때 첫 숫자부터 보는데, 첫 숫자가 0이라면 잘못된 암호이므로 0을 출력하고 return 하고, 아니라면 1개를 dp 테이블에 추가한다. 두번째 숫자부터 1과 9 사이라면 이전 번의 dp 테이블과 암호 개수가 같으므로 더해주고, 만약 이전 숫자와 합쳤을 때 10과 26 사이에 있다면 2개 전의 dp 테이블의 암호 개수만큼 더 만들 수 .. 2024. 6. 6.
[WIL] 크래프톤 정글 11~12주차 - PintOS 키워드 정리 Virtual Memory(관련 정리 링크 : https://jeokyong-development.tistory.com/29) - 메모리를 실제 메모리보다 많아 보이게 하는 기술로, 어떤 프로세스가 실행될 때 메모리에 해당 프로세스 전체가 올라가지 않아도 실행이 가능하다는 점에 착안하여 고안된 메모리 기법이다.장점- 메인 메모리를 하드 디스크의 캐시로 처리하여 더 넓은 메모리 공간을 제공한다. 임시 데이터를 하드 디스크 드라이브에 저장하고, 필요에 따라 기본 메모리로 가져올 수도 있고, 기본 메모리에 있는 것을 하드 디스크 드라이브에 옮길 수도 있다. - 각 프로세스의 주소 공간을 다른 프로세스에 의한 손상으로부터 보호할 수 있다. - page sharing을 통해 두 개 이상의 프로세스가 파일과 메모리.. 2024. 5. 31.
728x90