무한루푸에 빠지다....? 정보
기타 무한루푸에 빠지다....?본문
무한루프(?)가 머죠?
루프에 빠지면 어케되죠?
살아 남을 방법(?) 내지는 찾아내서 고치는 방법은요?
궁금해요...
루프에 빠지면 어케되죠?
살아 남을 방법(?) 내지는 찾아내서 고치는 방법은요?
궁금해요...
추천
0
0
댓글 7개
^^
사실 [root]님처럼 단적인 부분에 관해서만,
얘기보따리를 풀 생각은 아니었는데...
[root]님은 리눅스(os)와 서버의 개념, 가장 보편화된 웹(www)과 관련된 부분을 위주로
다루신것 같네요.
사실 [root]님처럼 단적인 부분에 관해서만,
얘기보따리를 풀 생각은 아니었는데...
[root]님은 리눅스(os)와 서버의 개념, 가장 보편화된 웹(www)과 관련된 부분을 위주로
다루신것 같네요.
root님 나스카님 감사합니다...
지수아버님// 그래도 복장 안바꿉니다....ㅋㅋ
지수아버님// 그래도 복장 안바꿉니다....ㅋㅋ
^^
안녕하세요.
^^
제가 쓸줄 안다고 생각하는 이모티콘이 달랑 저거...^^ 뿐이라서...
아~ ㅜ.ㅜ ㅠ.ㅠ
요런것도 있네요.^^
짤막하게 몇자 남깁니다.
[찾아내서 고치는 방법]
~이랄것 까지야 없지만...
1. 근성을 가져라.
2. 지금 다루고 있는 언어(프로그래밍언어...)가 무엇인지 알고 있어야 한다.
'이것이 대체 된장인지 X인지를...'
즉, 우리가 흔히 접하는 프로그래밍 언어라고 알려진 php인지, jsp, cgi(정확히 말하자면, cgi는 프로그래밍언어가
아닙니다. 물론, 다들 알고 계시겠지만, cgi는 인터페이스 즉, 어떠한 편의를 제공하거나 특정부분을 보완하기 위한
일련의 집합체, 보조도구(?)라고 봐야 합니다.), asp, c ,cobol, fortran, pascal, basic(gw-, ms- ...)인지를 숙지하고
있어야 한다는 점입니다.
여기서 잠깐! 질문 하나 발생할 수 도 있겠군요.
'자바스크립트(js)는 왜 빼나요? cgi는 포함해서 말하고 있구만?' 라고 질문이 나올 법도 하군요.
자~ 그건 이렇습니다.
제가 굳이 세분화해서 자주 하는 말이 스크립트 또는 스크립터라는 말을 종종 합니다. -사실, 쥐뿔도 모르면서^^-
이러한 스크립트는 단적으로 말하자면, 도구(주된 목적을 위해 사용되는 측면)라기 보다는 하나의 연마제(때로는
윤활유의 개념도 포함되고, 첨가제, 양념으로도 포함되고...)의 역할을 수행합니다.
특정한 경우에는 그러한 스크립트가 주된 표현이 되는 것처럼 보이는 경우도 있지만, 실상은 즉, 그러한 스크립트의 주된 목적은 첨가를 통한 윤활작용이 주 목적이라는 것입니다.
...
...
...
글 내용이 길어져서, 가뜩이나 기억력도 나쁜데, 또~
글 재주가 잼~뱅이라서...
양해를 부탁드립니다.
...
...
이왕 쉰 김에 조금만 더 쉬죠.
...
글 작성하는 도중에 [root]님께서 무 베듯 간략명료하게 말씀해 주셨네요^^
안녕하세요.
^^
제가 쓸줄 안다고 생각하는 이모티콘이 달랑 저거...^^ 뿐이라서...
아~ ㅜ.ㅜ ㅠ.ㅠ
요런것도 있네요.^^
짤막하게 몇자 남깁니다.
[찾아내서 고치는 방법]
~이랄것 까지야 없지만...
1. 근성을 가져라.
2. 지금 다루고 있는 언어(프로그래밍언어...)가 무엇인지 알고 있어야 한다.
'이것이 대체 된장인지 X인지를...'
즉, 우리가 흔히 접하는 프로그래밍 언어라고 알려진 php인지, jsp, cgi(정확히 말하자면, cgi는 프로그래밍언어가
아닙니다. 물론, 다들 알고 계시겠지만, cgi는 인터페이스 즉, 어떠한 편의를 제공하거나 특정부분을 보완하기 위한
일련의 집합체, 보조도구(?)라고 봐야 합니다.), asp, c ,cobol, fortran, pascal, basic(gw-, ms- ...)인지를 숙지하고
있어야 한다는 점입니다.
여기서 잠깐! 질문 하나 발생할 수 도 있겠군요.
'자바스크립트(js)는 왜 빼나요? cgi는 포함해서 말하고 있구만?' 라고 질문이 나올 법도 하군요.
자~ 그건 이렇습니다.
제가 굳이 세분화해서 자주 하는 말이 스크립트 또는 스크립터라는 말을 종종 합니다. -사실, 쥐뿔도 모르면서^^-
이러한 스크립트는 단적으로 말하자면, 도구(주된 목적을 위해 사용되는 측면)라기 보다는 하나의 연마제(때로는
윤활유의 개념도 포함되고, 첨가제, 양념으로도 포함되고...)의 역할을 수행합니다.
특정한 경우에는 그러한 스크립트가 주된 표현이 되는 것처럼 보이는 경우도 있지만, 실상은 즉, 그러한 스크립트의 주된 목적은 첨가를 통한 윤활작용이 주 목적이라는 것입니다.
...
...
...
글 내용이 길어져서, 가뜩이나 기억력도 나쁜데, 또~
글 재주가 잼~뱅이라서...
양해를 부탁드립니다.
...
...
이왕 쉰 김에 조금만 더 쉬죠.
...
글 작성하는 도중에 [root]님께서 무 베듯 간략명료하게 말씀해 주셨네요^^
>>무한루프(?)가 머죠?
말그대로 무한루프 상태죠. 실행된 프로그램이 멈추지 않고 계속 실행되는상태...
>>루프에 빠지면 어케되죠?
일부러 빠뜨리기도 하고, 본의 아니게 빠뜨리기도 하죠.
일부러 빠뜨린 경우는 실행신킨 프로그램을 실행하고 있을것이고, 본의 아니게 빠뜨린경우 컴이 다운되겠죠..
일부러 빠뜨리는 경우라면 소켓 프로그램의 경우 연락받는 프로그램을 구현할때 연락이 오는것을 실시간으로 감지하기 위해서 무한루프 상태로 빠뜨립니다.
보통 while(TRUE) { 연락이 들어오는지 체크, 이때도 보통 몇초의 시간 여유를 주고 체크합니다. }
>>살아 남을 방법(?) 내지는 찾아내서 고치는 방법은요?
위와 같이 대기상태 프로그램을 만들어 실행시켜 놓은 경우는 죽이는 방법도 구현 되어 있을테니 죽이면 되고.
찾아 내는 방법은 리눅스의 경우 ps -ef 명령을 사용하여 실행된 프로세스들을 체크하시면 됩니다.
잘못된 것을 찾아 내는 것은 쉽지가 않으며, 무한루프의 경우 잘못돌리면 무한루프안에서 실행되는 프로그램에 따라서,
무한루프를 찾아내기 전에 컴(서버급도..)이 다운되버리는 경우도 있죠.
말그대로 무한루프 상태죠. 실행된 프로그램이 멈추지 않고 계속 실행되는상태...
>>루프에 빠지면 어케되죠?
일부러 빠뜨리기도 하고, 본의 아니게 빠뜨리기도 하죠.
일부러 빠뜨린 경우는 실행신킨 프로그램을 실행하고 있을것이고, 본의 아니게 빠뜨린경우 컴이 다운되겠죠..
일부러 빠뜨리는 경우라면 소켓 프로그램의 경우 연락받는 프로그램을 구현할때 연락이 오는것을 실시간으로 감지하기 위해서 무한루프 상태로 빠뜨립니다.
보통 while(TRUE) { 연락이 들어오는지 체크, 이때도 보통 몇초의 시간 여유를 주고 체크합니다. }
>>살아 남을 방법(?) 내지는 찾아내서 고치는 방법은요?
위와 같이 대기상태 프로그램을 만들어 실행시켜 놓은 경우는 죽이는 방법도 구현 되어 있을테니 죽이면 되고.
찾아 내는 방법은 리눅스의 경우 ps -ef 명령을 사용하여 실행된 프로세스들을 체크하시면 됩니다.
잘못된 것을 찾아 내는 것은 쉽지가 않으며, 무한루프의 경우 잘못돌리면 무한루프안에서 실행되는 프로그램에 따라서,
무한루프를 찾아내기 전에 컴(서버급도..)이 다운되버리는 경우도 있죠.
푸하하하 ~!!! 지수아버님...
외모로 판단하지 마세요..
저도 2탄이 무지 기대됩니다.....
넘 좋은신 말씀 ... 아주 초짜로서 이해 하기 좋군요.....
'그러한 요지(원인, 과정)를 제공하지 말라'
이 말씀은 가슴에 와 닿지만 능력이 부족해서요....
ㅎㅎㅎ
빨랑 2탄요....
외모로 판단하지 마세요..
저도 2탄이 무지 기대됩니다.....
넘 좋은신 말씀 ... 아주 초짜로서 이해 하기 좋군요.....
'그러한 요지(원인, 과정)를 제공하지 말라'
이 말씀은 가슴에 와 닿지만 능력이 부족해서요....
ㅎㅎㅎ
빨랑 2탄요....
나스카님... 2편이 기대됩니다...
만도님은 보건데...저 복장으로 공부할 생각이 없는 학생으로 사료되오나
여기 착실한 학생이 있으니 빨랑 말씀해주세여...
만도님은 보건데...저 복장으로 공부할 생각이 없는 학생으로 사료되오나
여기 착실한 학생이 있으니 빨랑 말씀해주세여...
어떠한 언어(프로그래밍 관련)나 루프...
메모리에 관련된 부분을 얘기할때, overflow(용량초과, 한계점 초과...)라는 부분을 언급할 때가 있습니다. 일단, 이것은 하단에 예를 들어 설명하겠습니다.
정확히 말하자면, 일련의 루틴이 - 하나의 사이클(?)이라고 표현해야 좀 더 쉽게 해석할 수 있겠군요.- 존재합니다.
루틴의 시작은 선언이나 -변수(명)...- 조건, 반복, 수행 등의 전체적인 부분이라고 할 수 있으나,
실질적인 루틴의 시작이라 할 수 있는 부분은 바로 [조건(문)]을 지정(선언)하는 부분이라 할 수 있습니다.
무한루프(루프)라는 것은 이러한 조건을 선언(지정) -일련의 반복, 검토, 수정, 대입...- 하는 과정에서
프로그래머(스크립터, 코더 ...)가 의도하는 방향처럼 올바른 제어가 되지 못 할 경우에 발생합니다.
즉, 프로그래머가 ... 음... 간략히 설명드리자면...
<예>
프로그래머 -> 코딩( 만약 A일경우, B를, C의 조건이나 한계가 될때까지 반복수행하라.) -> 주어진 A,B,C의
조건에 도달했는데도, 의도하는 것처럼 종료 및 제어가 불능인 상태 => '무한루프에 빠졌다.'
라고 할 수 있습니다. 굳이 비유하자면 그 의미가 약간은 다를 수 도 있겠으나, 우리가 흔히 들어오던 용어 중에서
'버그'( 정확한 의미는 논리적인 오류라는 부분의 측면이좀 더 정확한 표현이라고 할 수 있습니다.)라는 용어로써
비유적인 표현을 할 수 있습니다.
움... 복잡해지는 것 같으니, 이쯤에서 용어에 관련한 부분은 생략하기로 하고...
[무한루프의 원인]
1. 프로그래머(스크립터, 코더...)의 코딩과정에서의 코딩규칙 및 프로그램규칙(문법, syntax...) 위반.
2. 실수로 덧붙여진 소스코드(1.의 실수에 포함되는 부분이 대부분이나 경우에 따라서는 " . , ' ` 등 무심코 지나칠
수 있는 실수.)
3. 프로그래밍 언어 자체의 버그로 인해 발생되는 경우
(드문 경우지만, 컴파일 과정을 거치는 jsp언어를 다룰 때, 논리적&문법적(syntax)인 오류(실수)를 범하지 않았는데도
발생하는 경우.)
4. 요즘처럼 네트웍(인터넷도 포함)의 보급이 좋은 경우에는, 네트웍 연계에 의해 특정한 악성코드가 원래의 프로그래밍
소스(코딩된 프로그램, 컴파일된 소스 또는 그 직전의 소스...)에 작용해서 의도하지 않은, 예상치 못한 무한루프가
발생 또는, 무한루프에 빠지기도 합니다.
[무한루프를 진단하는 부분에 관한 간략한 변(X가 아니랍니다.)...]
프로그래머, 전문코더 및 스크립터, 분석가(디버거Debuger)가 있다고 가정할때, 상식적으로는 만들어내는 사람 즉, 프로그래머가 가장 잘 짚어낼 수 있다고 생각합니다. 상당 부분은 그러한 얘기가 맞을 수도 있지만, 실제로는 전문코더
및 스크립터를 포함한 분석가가 가장 잘 짚어낼 수 있다고 볼 수 있습니다.
...
...
...
(중략)
...
...
분위기 봐서 2탄은 나중에... 아마도 [케빈]님이 훨씬 더 잘 짚어내 주실 듯...
...
...
...
...
...
이제 막 들어와서 담배가 땡기네요.
...
...
...
질문내용 중에 '살아남을 방법(?)'이라고 하셨나요?
직접적으로 말씀드리자면, '그러한 요지(원인, 과정)를 제공하지 말라!'입니다.
굳이 부연설명을 드리자면 '뚱딴지처럼 뭔 소리냐?'라고 반문하실 지도 모르겠지만, 프로그래밍(코딩과정 포함)
과정에서, 일련의 문법적, 논리적인 오류를 범하지 말라, 단어 하나, 철자 하나 틀리지 말라는 의미입니다.
...
...
...
정말로 '찾아내서 고치는 방법?'은 있다가...
메모리에 관련된 부분을 얘기할때, overflow(용량초과, 한계점 초과...)라는 부분을 언급할 때가 있습니다. 일단, 이것은 하단에 예를 들어 설명하겠습니다.
정확히 말하자면, 일련의 루틴이 - 하나의 사이클(?)이라고 표현해야 좀 더 쉽게 해석할 수 있겠군요.- 존재합니다.
루틴의 시작은 선언이나 -변수(명)...- 조건, 반복, 수행 등의 전체적인 부분이라고 할 수 있으나,
실질적인 루틴의 시작이라 할 수 있는 부분은 바로 [조건(문)]을 지정(선언)하는 부분이라 할 수 있습니다.
무한루프(루프)라는 것은 이러한 조건을 선언(지정) -일련의 반복, 검토, 수정, 대입...- 하는 과정에서
프로그래머(스크립터, 코더 ...)가 의도하는 방향처럼 올바른 제어가 되지 못 할 경우에 발생합니다.
즉, 프로그래머가 ... 음... 간략히 설명드리자면...
<예>
프로그래머 -> 코딩( 만약 A일경우, B를, C의 조건이나 한계가 될때까지 반복수행하라.) -> 주어진 A,B,C의
조건에 도달했는데도, 의도하는 것처럼 종료 및 제어가 불능인 상태 => '무한루프에 빠졌다.'
라고 할 수 있습니다. 굳이 비유하자면 그 의미가 약간은 다를 수 도 있겠으나, 우리가 흔히 들어오던 용어 중에서
'버그'( 정확한 의미는 논리적인 오류라는 부분의 측면이좀 더 정확한 표현이라고 할 수 있습니다.)라는 용어로써
비유적인 표현을 할 수 있습니다.
움... 복잡해지는 것 같으니, 이쯤에서 용어에 관련한 부분은 생략하기로 하고...
[무한루프의 원인]
1. 프로그래머(스크립터, 코더...)의 코딩과정에서의 코딩규칙 및 프로그램규칙(문법, syntax...) 위반.
2. 실수로 덧붙여진 소스코드(1.의 실수에 포함되는 부분이 대부분이나 경우에 따라서는 " . , ' ` 등 무심코 지나칠
수 있는 실수.)
3. 프로그래밍 언어 자체의 버그로 인해 발생되는 경우
(드문 경우지만, 컴파일 과정을 거치는 jsp언어를 다룰 때, 논리적&문법적(syntax)인 오류(실수)를 범하지 않았는데도
발생하는 경우.)
4. 요즘처럼 네트웍(인터넷도 포함)의 보급이 좋은 경우에는, 네트웍 연계에 의해 특정한 악성코드가 원래의 프로그래밍
소스(코딩된 프로그램, 컴파일된 소스 또는 그 직전의 소스...)에 작용해서 의도하지 않은, 예상치 못한 무한루프가
발생 또는, 무한루프에 빠지기도 합니다.
[무한루프를 진단하는 부분에 관한 간략한 변(X가 아니랍니다.)...]
프로그래머, 전문코더 및 스크립터, 분석가(디버거Debuger)가 있다고 가정할때, 상식적으로는 만들어내는 사람 즉, 프로그래머가 가장 잘 짚어낼 수 있다고 생각합니다. 상당 부분은 그러한 얘기가 맞을 수도 있지만, 실제로는 전문코더
및 스크립터를 포함한 분석가가 가장 잘 짚어낼 수 있다고 볼 수 있습니다.
...
...
...
(중략)
...
...
분위기 봐서 2탄은 나중에... 아마도 [케빈]님이 훨씬 더 잘 짚어내 주실 듯...
...
...
...
...
...
이제 막 들어와서 담배가 땡기네요.
...
...
...
질문내용 중에 '살아남을 방법(?)'이라고 하셨나요?
직접적으로 말씀드리자면, '그러한 요지(원인, 과정)를 제공하지 말라!'입니다.
굳이 부연설명을 드리자면 '뚱딴지처럼 뭔 소리냐?'라고 반문하실 지도 모르겠지만, 프로그래밍(코딩과정 포함)
과정에서, 일련의 문법적, 논리적인 오류를 범하지 말라, 단어 하나, 철자 하나 틀리지 말라는 의미입니다.
...
...
...
정말로 '찾아내서 고치는 방법?'은 있다가...