테스트의 종류
·
여러가지
TEST의 종류 (1) Sanity Testing : 새로운 버전이 주요 테스트를 수행하기 적합한지를 판단하기 위한 테스팅. 만약 사용 초기의 Crash 등으로 프로그램이 사용불가능하다면 시스템은 테스팅이 불가능하다. 즉, QA를 위한 테스트라 할 수 있다. (2) BlackBox Testing : 내부설계 및 구현은 고려하지 않고 요구사항과 기능성에만 기반한 테스팅을 수행한다. (3) WhiteBox Testing : 글래스박스 테스팅이라고도 하며, 내부로직에 대한 지식을 기반으로 코드구문, 분기, 조건 등에 대한 커버리지를 포함한다. (4) Unit Testing : 개발자에 의해 수행되며 소프트웨어 모듈 각각에 대한 세부적 테스팅 (5) End to End Testing : 주로 네트워크, DB 연..
스택: 데이터를 차곡차곡 쌓기
·
여러가지/알고리즘 & 자료구조
들어가기 앞서 스택과 큐는 쓰임새가 많아요. OS 내부의 많은 시스템이 스택과 큐를 기반으로 하며 그래프와 트리순회도 결국에는 스택과 큐로 하게 되요. 깊이 우선 탐색은 스택을 이용하는 순회이며, 너비 우선 탐색은 큐를 기반으로 합니다. 스택 마지막에 들어온 데이터가 가장 먼저 나가게 되요. LIFO(Last In First Out) ADT Stack - Object : LIFO 객체 - Operation empty() -> Boolean : 스택이 비어 있으면 True or False push(data) : data를 스택의 맨 위에 삽입 pop() -> element : 스택의 맨 위에 있는 데이터를 삭제하며 반환 peek() -> element : 스택의 맨위에 이쓴 데이터를 반환만 함 동적 배열을..
🛩동적 배열이란?
·
여러가지/알고리즘 & 자료구조
메모리에 데이터를 저장하는 영역은 세곳이에요. 동적 배열 개념을 이해하려면 `스택`과 `힙`의 차이를 이해 해야해요. 스택 - 실제 스택프레임(파이썬의 스택 프레임과 개념은 같지만 실제 할당되는 공간은 다름)이 쌓이는 메모리 공간 힙 - 변수의 생성 시기와 소멸 시기를 프로그래머가 결정 할 수 있는 메모리가 동적으로 할당 되는 영역 스택 프레임 vs 힙 - 스택 프레임을 할당하려면 미리 할당 될 스택프레임의 크기를 알고 있어야 합니다. 그래서 스택 영역에서 배열을 만들기 위해서는 반드시 고정된 크기로 만들어야 했어요. 프로그램에 사용할 데이터 크기를 명확하게 알고 있다면 다행이지만, 크기가 가변적으로 변할 수 있느 ㄴ상활이라면 스택에 고정 크기를 가지는 배열을 만들어 쓰기에 어려움이 많습니다. 프로그래머..
Differences between Stack and Heap
·
여러가지/알고리즘 & 자료구조
메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 해요. 그리고 프로그램에 사용되는 변수들을 저장 할 메모리도 필요해요. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있죠. 프로그램이 운영체제로부터 할당 받는 대표적인 메모리 공간은 4가지가 존재해요 코드영역 데이터 영역 스택 역역 힙 영역 코드영역 메모리의 코드 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 부릅니다. 데이터 영역 메모리의 데이터 영역은 프로그램의 전역 변수와 정적변수가 저장되는 영역이에요. 데이터 영역은 프로그램 시작과 함께 할당되며, 프로그램이 종료되면 소멸해요. 스택 영역 메모리의 스택 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는..
re 모듈의 sub 메소드 사용법
·
프로그래밍 언어/파이썬
# re.sub 함수의 형태 - `re.sub(pattern, repl, string, count=0, flags=0)` == `re.sub('패턴, '바꿀 문자열', '문자열', '바꿀횟수')` - cunt는 음수가 아닌 정수, count가 0 또는 생략이면 찾은 문자열을 모두 치환. ### sub함수를 통해 문자열 내의 특수문자를 제거 하기 - clean_text함수에서 입력 문자열 inputStirng에 대해 입력된 특수문자들을 찾아 ''공백으로 치환하여 변환된 문자열을 반환한다. ```python import re def clean_text(inputString): text_rmv = re.sub('[-=+,#/\?:^.@*\"※~ㆍ!』‘|\(\)\[\]`\'…》\”\“\’·]', ' ', inp..