Stack overflow: 두 판 사이의 차이

잔글 (문자열 찾아 바꾸기 - "{{토막글}}" 문자열을 "" 문자열로)
편집 요약 없음
1번째 줄: 1번째 줄:
[[분류:웹 사이트]]
{{다른 뜻|Stack Overflow (웹 사이트)|웹 사이트}}
'''스택 오버플로'''(Stack overflow)는 메모리 오류의 일종이다.


== 메모리 오류 ==
[[자료구조]]의 한 종류인 스택에서 원래 할당된 메모리 공간보다 많은 데이터가 들어갈 경우 이를 받아들지 못하고 오류가 발생하는 것을 의미한다. 이를 구현하기 위한 가장 간단한 방법은 [[함수]]가 자기 자신을 부르는 [[재귀함수]]다.  
[[자료구조]]의 한 종류인 스택에서 원래 할당된 메모리 공간보다 많은 데이터가 들어갈 경우 이를 받아들지 못하고 오류가 발생하는 것을 의미한다.
 
이를 구현하기 위한 가장 간단한 방법은 함수가 자기 자신을 부르는 재귀함수다.  


{{인용문2|method that recursion
{{인용문2|method that recursion
recursion() { return recursion() }
recursion() { return recursion() }
end method|[[의사코드]]로 작성된 [[Java]] 기반 재귀함수 예시}}
end method|[[의사 코드]]로 작성된 [[Java]] 기반 재귀함수 예시}}
 
이런 식으로 자기 자신을 부를 경우 스택의 크기는 정해져 있으나 양이 늘어나면서 스택의 크기를 넘어서는 경우가 있는데, 이때 스택 오버플로우 에러를 내면서 프로그램이 맛이 간다.
 
값을 더하니 갑자기 음수가 되거나 하는 버퍼 오버플로우와는 다른 개념이다.


== 프로그래밍 사이트 ==
이런 식으로 자기 자신을 부를 경우 스택의 크기는 정해져 있으나 양이 늘어나면서 스택의 크기를 넘어서는 경우가 있는데, 이때 스택 오버플로 에러를 내면서 프로그램이 맛이 간다.
http://stackoverflow.com/
[[Stack Exchange]] 의 대표적인 사이트. 제프 앳우드와 조엘 스폴스키가 [[2008년]] 경에 만들었다.
프로그래밍 관련 Q&A를 위한 포럼 형식의 사이트로 다른 사이트에 비하여 질문과 답변의 수준이 높은 편이다. <del>하지만 다 [[영어]]다.</del>


순수 소프트웨어와 그 개발에 관련된 문제를 다룬다. 그래서 전자공학이나 로보틱스가 결합된 종류의 질문은 잘 받아주지 않는 편. 이 경우 해당 분야를 다루는 다른 stack exchange 포럼이 있을 확률이 높으니 미리 잘 알아보고 질문을 올리는 것이 좋다.
값을 더하니 갑자기 음수가 되거나 하는 버퍼 오버플로와는 다른 개념이다.


좋은 질문을 올리거나 훌륭한 답변을 해주어서 vote를 많이 받으면  reputation 이 쌓인다. 반대로 질이 낮은 질문을 하거나(주로 시도조차 해보지 않고 질문부터 올리는 경우나 지나치게 중복되는 질문, 요점을 알 수 없는 질문을 올리는 경우가 이에 해당된다.) 잘못된 답변을 달아주는 경우에는 반대로  vote down을 받고 reputation이 차감된다.
{{각주}}
[[분류:오류]]

2020년 4월 1일 (수) 01:38 판

스택 오버플로(Stack overflow)는 메모리 오류의 일종이다.

자료구조의 한 종류인 스택에서 원래 할당된 메모리 공간보다 많은 데이터가 들어갈 경우 이를 받아들지 못하고 오류가 발생하는 것을 의미한다. 이를 구현하기 위한 가장 간단한 방법은 함수가 자기 자신을 부르는 재귀함수다.

method that recursion recursion() { return recursion() }

end method
의사 코드로 작성된 Java 기반 재귀함수 예시

이런 식으로 자기 자신을 부를 경우 스택의 크기는 정해져 있으나 양이 늘어나면서 스택의 크기를 넘어서는 경우가 있는데, 이때 스택 오버플로 에러를 내면서 프로그램이 맛이 간다.

값을 더하니 갑자기 음수가 되거나 하는 버퍼 오버플로와는 다른 개념이다.

각주