붙어있을 때 얼마나 빨리 스택 오버플로를 사용해야합니까? [닫은]


51

저는 iTunes U CS193p 과정을 통해 자체 학습 iOS 개발을하고 있는데 종종 제 자신을 고집합니다. 나는 스스로를 풀려고 노력했지만, 내가 잘못하고있는 것을 파악하는 데 몇 시간과 몇 시간이 걸릴 수 있습니다.

너무 많은 시간을 낭비하고 있을지 걱정이되며, 막힌 직후 스택 오버플로로 이동하는 것이 좋습니다.

경험상 스택 오버플로를 묻는 것이 학습 과정을 방해하거나 개선합니까?


45
SO에 대한 답을 찾는 것이 가장 먼저 시도해야 할 것 중 하나입니다. 질문과 정확히 일치하는 답변이 없더라도 통찰력을 제공 할 수있는 내용이있을 수 있습니다. 그러나 자신의 질문을하는 것은 자신이 직접 질문에 대답하기 위해 열심히 노력하고 자신이 가진 것과하지 않은 것을 명확하게 나타내는 방식으로 질문을 공식화하기 전까지는하지 말아야 할 일입니다. 이미 시도했습니다.
다우드 이븐 카림

1
@DavidWallace 더 동의하지 못했습니다. 너무 많은 사람들은) 일부 사람들이 생각하는, (낮은 품질의 질문에) 생각없이 물어 (더 나은 질문을,하지만 난 (이하 (근처) 중복을 요청하기 전에 실제로 검색 할 더 많은 사람들을 기원 않습니다.
마르 얀 Venema의

3
질문을하는 것과 같이, 가능한 답변을 먼저 검색했다면 실제 답변을 볼 때 더 많은 정보를 얻을 수 있습니다. 답을 배우는 것뿐만 아니라 답을 찾는 법도 배웁니다. 미리 답을 생각하지 않았을 때 답을 얻고 계속 진행하지만 일반적으로 덜 배우십시오. 당신은 자신을 향상시키지 않습니다.
Konerak

3
실용적인 접근 방식 : SO는 간단한 질문에 가장 적합하므로 거의 즉시 물어보십시오 (질문을 공식화 할 수 있어야 함). 제목을 입력하면 가장 가까운 질문 목록이 표시됩니다. 질문이 목록에 없는지 확인해야하지만 추가 SO 검색을 수행 할 필요는 없습니다.
Grzenio

6
나는 이것이 아마도 SO의 메타에 관한 질문이라고 생각합니다.
hugomg

답변:


35

새로운 개발자와 함께 일할 때 5 ~ 10 분 후에 진행하지 않는 질문을 받도록 권장합니다.

두 가지 이점이 있습니다. 첫 번째는 문제를 쳐다 보는 데 너무 많은 시간을 들이지 않고도 도움을받을 수 있지만 어딘가에 도착하지 않을 때만 묻습니다. 그들이 궁극적으로 답이 아닌 것을 배우고 있다면, 그 정보를 유용하게 유지할 가능성이 훨씬 더 높습니다.

두 번째는 많은 시간이 지나면 문제를 다른 사람에게 설명해야한다는 것입니다. 엔드 투 엔드 순서대로 진행하면 이전 작업에서 놓친 부분을 발견 할 수 있기 때문에 문제의 상당 부분이 해결됩니다.

혼자서하는 것처럼 들리므로 봉제 인형 장난감이나 시계, 벽으로 향하고 문제에 대해 물어보십시오. 사람에게 할 때 설명하고 문제가 해결되는지 확인하십시오.

그렇지 않은 경우에도 진행하지 않으면 다른 사람에게 문의하십시오. 5 ~ 10 분 이상 걸리는 것은 시간 낭비입니다. 다른 일을 계속하지 않으면 신선한 마음으로 문제로 돌아옵니다.


17
풀려서 개와 대화하는 것만 큼 좋은 것은 없습니다. :-)
Marjan Venema

2
그리고 당신이 뭘 잘못하고 있는지 깨달을 때, 당신의 개는 " 와우! 나는 그런 생각을 하지 않았을 것입니다!" 자존심 향상을 위해 몇 가지 공감대를 이겼습니다. ;-)
CVn

4
+1 장난감 오리와 대화하는 것을 "덕 디버깅"이라고합니다. 부두 인형이 있습니다. 나는 그것을 부두 디버깅이라고 부른다.
Sardathrion 2019

4
좋은 답변 +1. 나는 수년에 걸쳐 많은 시간을 "고착"시켰으며, 다른 사람에게 설명 할 때 그 대답이 명확 해졌다는 것을 알게되었습니다. 나는 또한 걷거나 명확한 머리를 얻기 위해 무언가를하는 것이 종종 효과가 있음을 발견합니다. Stack Overflow에 너무 빨리 의존하지 않을 것입니다. 솔루션을 스스로 알아 내면 결코 잊지 않을 것입니다! 요즘에는 웹에 지나치게 의존하는 많은 프로그래머들이 있습니다.
AnthonyBlake

2
SO에 대한 질문을 작성하면서 많은 질문에 스스로 대답했습니다. 귀하의 질문에 대한 세부 사항을 구성하는 행위는 몇 가지 답변을 보여줍니다
aldrin

22

다른 사람의 위대한 답변에 대한 나의 유일한 추가 사항 :

질문을 StackOverflow 질문 인터페이스에 입력하면 완전히 생각할 수있는 좋은 방법입니다. 제대로 물어볼 수있을만큼 명확하게 정리하는 과정에서 내가 몇 가지 질문에 대한 답변을했는지 알려 드릴 수 없습니다. 내가 시작했지만 제출하지 않은 질문은 실제로 요청한 수보다 많습니다.

계속해서 물어보고 (물론 검색 한 후) 실제로 "제출"을 누르는 것에 첨부하지 마십시오.


+1-과장 될 수 없습니다. 이것이 신중하게 질문을 작성하는 것이 중요한 또 다른 이유입니다. 또한 사이드 바의 자동 답변 제안 알고리즘은 다른 관련 질문을 훨씬 정확하게 표시합니다.
kmote

@kmote-저것을 사랑하십시오. 그것은 나를 위해 너무 많은 문제를 해결했습니다.
Dan Ray

1
내 인생의 이야기. 제출하기 전에 너무 많은 문제를 해결했습니다.
Ayush Goyal

20

스택 오버플로 및 기타 모든 스택 교환 사이트에는 질문 을하기위한 지침이 있습니다 .

  • 너의 숙제를해라
  • 구체적으로
  • 다른 사람과 관련이 있도록
  • 주제에
  • 열린 마음을 유지

"당신의 숙제를하십시오"는 너무 빨리 물어 보면 안된다는 것을 의미합니다. "구체적으로 설명"은 문제의 영역을 간결하게 설명하기에 충분히 이해했음을 의미합니다. 그렇지 않은 경우 "숙제를하십시오"가 적용됩니다. "열린 마음을 유지하십시오"는 문제와 관련이 없다고 생각한 솔루션을 탐색 할 준비가되었음을 나타냅니다.

따라서 스택 오버플로를 묻는 것이 아니라 질문이 좋은지 여부입니다. 본질적으로 필요한 노력은 학습 경험 그 자체입니다. 올바르게 수행하면 복제본을 검색하여 몇 가지 새로운 것을 배울 수 있습니다. 그렇지 않은 경우, 핑 (Ping), 나는 예비 투표를 두 번 받았습니다. :피


1
지난 몇 개월 동안이 웹 사이트 (StackOverflow 등)를 사용하기 시작했으며 철자 및 일관성있는 글쓰기에 매우 감명을 받았습니다. 등록 된 회원 중 소수만이 영어를 모국어로 사용하지만 사실상 모든 사람이 작성 방법에 대해 매우주의를 기울입니다. 인터넷에 거대한 사용자 기반이 그러한 품질을 유지하는 다른 곳은 없다고 생각합니다. 이상하지만 인상적입니다. 추신 : 나는 이것을 잠시 동안 말하고 싶었습니다. 어쨌든 그것을 주제로 만들 장소가 필요했습니다 :).
Radu Murzea

1
@SoboLAN 위키 철학입니다. 사소한 철자 실수라도 서로의 게시물을 지속적으로 수정합니다. 영어를 모국어로 사용하지 않는 사람으로서, 처음 Stack Exchange에 가입했을 때 사람들이 어떤 종류의 편집을했는지 관찰하고 다른 사람의 실수로부터 배우는 습관을 들였습니다. 스택 교환 경험의 또 다른 긍정적 인 부산물이라고 생각합니다. 누가 언젠가는 English & Usage Stack Exchange 에서 대답을 시도 할 정도로 영어에 자신감이 생길 수도 있습니다 . : P
yannis

3

개인적으로 프로그래밍을 시작했을 때 많은 시간을 들여 문제를 해결했습니다. 나는 무언가를 고치기 위해 몇 시간을 보낼 수 있었다. 나는 그 시간이 생산적이지 않은 것으로 보지 않습니다. 그 시간에 온라인에서 물건을 찾는 방법을 배웠고 프로그래밍 언어가 어떻게 작동했는지 실제로 통찰력을 얻었습니다. 그래서 너무 빨리 물어 보면 학습 경험을 빼앗을 수 있다고 생각합니다. 프로그래밍에 들어가는 데 시간이 오래 걸립니다.

그런 다음 얼마나 빨리 물어볼 지에 대한 질문이 있습니다. 특정 문제에 대해 몇 시간을 보내는 것이 오래 걸리지 않았다고 말합니다.

그리고 SO에 대한 질문을 할 때 질문에 시간을 투자하십시오.

  • 오류가 있으면 오류의 정확한 텍스트를 게시하십시오. 또한 오류를 발생시키는 코드, 바람직하게는 모든 컴퓨터에서 실행되는 자체 포함 예제를 게시하십시오.
  • 이미 시도한 것을 보여주십시오.
  • 사용하는 소프트웨어의 언급 버전 : 컴파일러 버전, 파이썬 버전.

이것들은 몇 가지 요점입니다. SO에 대한 사람들을 존중하는 질문에 시간을 투자함으로써, 당신은 그들의 시간을 무료로 사용합니다. 더 중요한 것은 문제를 구조화하는 것입니다. 이것은 이미 문제를 해결할 수 있습니다 :).

그냥 내 2ct ...


1

나는 여기서 중요한 것은 당신이 무엇에 붙어 있는지 이해하고 원리 문제를 해결하려고 노력하는 것입니다. 실제 문제가 무엇인지에 뿌리를 둔 후 스택 오버플로를 사용하는 것이 첫 번째 작업 중 하나입니다.

그러나 질문하지 않습니다.

모든 위대한 답변을 찾고 있습니다. 다른 사람이 지금 당장 겪었던 문제 일 가능성이 있으며 이미 질문을했습니다. Stack Overflow를 사용해야한다는 느낌이 들었다면, 문제가 발생했을 때 질문하는 사이트가 아니라는 점을 기억하십시오. 또한 컴퓨터 프로그래밍에 대한 훌륭한 정보를 제공하는 저장소이기도합니다. 검색 기능을 사용하십시오.

당신은 몇 가지 다른 용어 / 키워드로 검색하면 여전히 nilch을 얻을, 당신은 당신의 숙제를했는데 당신이 보여줄 수있는 코드 샘플을 가지고 있고 당신은 당신의 질문은 정말 중복되지 않습니다 정말 확실 모든 수단이 요구에 의해 다음, 스택 오버플로에 대한 질문. 그것이 내가 마지막으로 확인한 사이트입니다.


1

전적으로 주관적이지만 여기에 내 기본 사용법이 있습니다.

1) 내 집이 불타고 있습니까? 분명히 말 그대로는 아니지만 이것은 즉각적인 해결책이 아니라 긴급한 해결책이 필요한 문제입니다. 그렇다면 금이 가면 빨리 실패하고 최대한 도움을 받으십시오.

2) 이것이 내가 조사 할 수있는 것입니까? 그것이 내가 시간이 있고 조사 할 수있는 무언가라면, 나는 그 길을 가고, 여기에는 무료 자원으로 SO가 포함됩니다. SO도 훌륭하고 Wiki도 마찬가지입니다. 다른 수십 가지 리소스도 마찬가지입니다.
많은 것을 읽으십시오. 문제에 대한 다양한 접근 방식이있을 때 이해하는 데 도움이되지만 먼저 기존 지식을 문제에 다시 적용 할 수 있는지 확인하는 데 시간을 투자하십시오. 그러면 새로운 정신 도구를 만들었습니다.

3) 이것이 내 기술 범위를 벗어난 것입니까 / 너무 불분명하여 그것을 본 사람이 아마도 100 명입니까? 이런 일이 자주 발생합니다. 나는 일반적으로 한두 시간 동안 연구를 시도하고 여기 또는 다른 자원으로 향할 것입니다.

나는 앉아서 연구하고 시간을 보내는 것이 더 고귀하다는 것을 알고 있지만, 종종 우리는 시간 제약이 있으며 시스템을 '속임수'처럼 느끼더라도 사용 가능한 모든 리소스를 사용합니다.


0

"얼마나 빨리"는 본질적으로 주관적 일 것입니다. 모든 사람들은 약간 다른 의견을 가질 것입니다.

실제 코드를보고 약 5 분 동안 문제의 원인을 발견 할 수없는 경우 적어도 Google에서 확인합니다. 좋은 검색에 답이 없으면 SO에 대한 질문을 쓰기 시작합니다.

실제로 해당 질문을 게시하지 않는 것이 좋습니다. 질문을 서면으로 표현할 때 해결책이 제시되어 실제로 여러분에게 질문을 할 필요가 없었던 때가있었습니다.


0

질문을 일찍 작성할 수는 있지만 문제의 원인을 올바르게 조사 할 때까지 게시해서는 안됩니다. 당신이 제거한 것들과 어떻게 제거했는지 적어보십시오. 다른 유사한 질문도 확인해야하며 질문을 실제로 게시하려면 왜 같은 질문이 아닌지 설명하십시오.

그렇게하면 여러 번 자신의 문제를 해결할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.