본문 바로가기
반응형

개발/기본) 기본기70

기본기) 우선순위 큐(Priority Queue) 우선순위 큐(Priority Queue) Queue에 우선순위에 대한 기능이 추가된 확장된 개념이다. 큐의 기본 메서드인 'Push', 'Pop', 'Top' 등등을 사용한다 Pop(가져오는 과정)에서 제일 먼저 들어온 데이터를 반환하지 않고 현재 우선순위 큐 내부에서 가장 우선순위가 높은 데이터를 반한 한다. 우선순위 큐는 보통(heap)이라는 자료구조로 구현되고 내부는 정렬을 기본적으로 처리된다. '모든 정점은 자신의 자식보다 우선순위가 높다'. 시간 복잡도는O(logN)가 되고 내부는 역시 이진트리로 되어있다. ★☆☆☆☆ 2020. 5. 11.
기본기) Extends와 Implements의 차이점 Extends와 Implements의 차이점 코드를 작업하다보면 상속(Inheritance)를 하게된다. 상속이란. 부모의 속성이나 값, 메소드등을 물려받는것을 의미하는데. 작업을 하다보면 ' Base Class'를 만들고 기본이 되는 속성을 처리를 하게된다. 상속은 단일 Extends와 Implement의 차이점으로는 같은 상속의 기능을 제공하지만 Implement는 구현부를 항상 구현을 해줘야 하고 다중 상속이 가능하다. Implements는 상속이라는 개념보다는 구현을 하는 처리에 가깝다. Implements를 사용하면 메서드를 구현을 항상 해야 한다. 하지 않으면 컴파일러 오류가 발생한다. 어떤 정형화된 명령어나 변수를 사용하는 곳에서는 Extends로 상속을 권장하고 ( 베이스가되는 기본이 되는.. 2019. 11. 15.
기본기) 정규표현식 RegExp-(Regular Expression) 정규표현식 RegExp-(Regular Expression) 정규 표현식 또는 정규식은 특정한 규칙을 가진 문자열을 표현하는데 사용하는 형식 언어이다. 정규 표현식은 문자열을 검사하는데 많이 사용한다. 정규 표현식의 기본 문법은 여러가지가 있는데 대표적인것들은 다음과 같다. 1. 패턴 그대로의 검색 2. 메타 문자 및 한정된 검색 3. 그룹으로의 검색 타 문자 의미 예 ^ 문자열의 시작. [...] 내에서 쓰이면 “일치하지 않는“의 의미가 된다. ^http는 문자열의 맨 처음에 http가 온 경우에 매치한다. (중간에 http가 나타난 경우는 매치하지 않음) $ 문자열의 끝 them$은 문자열이 them으로 끝난 경우에 them에 매치한다. \b 단어의 경계. 공백, 탭, 컴마, 대시 등이 올 수 있다... 2019. 11. 6.
기본기)메타파일 (Meta File) 메타 파일(Meta File) 파일을 정의하는 파일. 서로 다른 형식으로 그래픽 정보를 표현하는 컴퓨터 그래픽 프로그램 사이에서 자유로운 정보의 교환을 위하여 사용되는 그래픽 정보의 저장 파일 형식을 말한다. 어떤 정보를 어떤 형태로 저장하는가에 따라 달라지는데 엔진을 사용하면 대부분 엔진에서 자동으로 갱신 or 생성을 시켜준다. 파일의 갱신여부나 어떤 링크라던지 많은 정보들을 같이 포함하는 정보이다. 많은 형상 관리하는 툴들은 이 메타 파일을 기반으로 변경 여부를 판단한다. 메타 파일이 꼬이면.. 큰일 난다.. 다시 파일을 로드할 수 있게 편법으로 '삭제 - 다시 새로 생성 or 붙여 넣기'를 하게 된다. 메타 파일을 여러 사람이 같이 작업할 때 유독 조심해야 한다.ㅠㅠ ★★★★☆ 2019. 11. 4.
기본기) 메모리풀(Memory Pool ) 오브젝트 풀(Object Pool) 메모리풀(Memory Pool ) 오브젝트 풀(Object Pool) 어떤 상황에서 메모리를 할당을 해서 사용을 하고 다시 또 같은 상황으로 인해서 메모리를 사용해야 하는 경우 재사용하기 위해서 여러 개를 가지고 사용이 모두 끝난 경우에 해제해주는 것을 메모리 풀이라고 한다. 오브젝트 풀( object pool )도 비슷한데 대상이 메모리가 아니고 오브젝트 객체인 것인데 이때는 메모리랑 다르게 사용 여부 플래그를 변경하고 값을 초기화함으로 재사용을 하는 것을 말한다. 자주 반복적으로 사용하는 메모리나 객체는 풀 방식으로 예상치의 최댓값을 미리 세팅하고 사용하면 좋다. 게임에서는 로딩을 하는 화면에서 사운드라던지 이펙트 특정 상황에서 항시 필요한 스코어라던지 대미지 표기 폰트 등을 많이 풀링(Pooling.. 2019. 10. 31.
코드규칙) 스네이크 표기법(Snake Casing Notation) 스네이크 표기법(Snake Casing Notation) 스네이크 표기법은 한 문자 단어마다 _(underScore)를 붙여서 의미를 부여하는 방식을 말한다. 예시는 다음과 같다. int unit_type; int unit_index; *변수명, 함수명, 상수값, 네임스페이스등에서 사용하는것을 권장한다. ★☆☆☆☆ 2019. 10. 23.
기본기) 유효자리수 유효자리수 유효자리수라는 것은 자료형의 범위를 말한다. 유효자리수의 범위를 잘 이해해야 정수와 실수 또는 자료형의 형변환(Type Casting)을 할때 생각지도 못한 버그를 예방할 수 있다. 데이터를 저장하는 과정에서도 데이터의 범위는 매우 중요하다. 데이터의 크기보다 더 큰 크기의 데이터를 넣게되면 데이터의 이상현상이 생긴다. (대부분 짤리거나 오버플로우가 발생한다) 유효자리수는 컴파일과 개발언어에 따라 다르다. 가장 대표적으로 알고있어야하는 실수의 유효자리수에 대해서 알아보면 다음과 같다. (C 기반) ★★☆☆☆ 2019. 10. 23.
코드규칙)파스칼 표기법(Pascal Casing Notation) 파스칼 표기법(Pascal Casing Notation) 모든 단어의 첫번째 문자를 대문자로 표현하는 표기법이다. 일반적으로 가장 많이 사용되는 방식이라고 한다. 예시는 다음과 같다. int Count SetState(_state : eTYPE) *함수와 클래스명은 대체적으로 파스칼 표기법을 권장한다. ★★☆☆☆ 2019. 10. 23.
코드규칙) 헝가리언 표기법(Hungarian Casing Notation) 헝가리언 표기법(Hungarian Casing Notation) 헝가리언 표기법은 마이크로소프트 내부에서 널리 사용하는 표기법이다. 모든 변수 타입을 이름 앞에서 붙여 넣으면 된다. 예시는 다음과 같다. pLast -어떤 데이터 구조에 속한 마지막 요소의 포인터(p) sBookname -책이름이라는 문자열(s)을 의미한다. bool g_bInit = false; int nCount = 0; *자료형이 존재하는 변수에 주로 사용한다. ★☆☆☆☆ 2019. 10. 22.
코드규칙) 카멜 표기법(Camel Casing Notation) 카멜 표기법(Camel Casing Notation) 단어와 단어 사이를 점이나 공백 없이 대소문자로 표현하는 방식인이다. 낙타의 혹처럼 들쑥날쑥 한 모양으로 구분한다는 것에서 이름이 유래하였다. 자바스크립트에서는 카멜 표기법이 기본적으로 사용된다. 예시는 다음과 같다. document.getElementById('name') getElementById (get-element-by-id)를 카멜 표기법으로 구현한 것이다. * Java 프로그래밍에서 권장하는 표기법이다. ★★☆☆☆ 2019. 10. 22.
반응형