즉시 배울 수있는 방법을 배우고 어떻게 되나요? [닫은]


12

모든 문제를 해결하는 데 항상 다르게 생각하는 사람들이 있습니다. 다른 사람들이 5 명만 제안했을 때 6 번째 옵션을 선택하고 "즉시"생각합니다. 그러한 능력을 어떻게 달성 할 수 있는지 알려주세요. 그리고 그것을 달성하기 위해 무엇이 필요합니까?


9
1) 상자에 구멍을 잘라 ...
JohnFx

1
LSD를 많이 가지고
NimChimpsky

3
당신과 상자가 같은 것을 깨달으십시오.
게리 로우

더 많은 답변이 올 것이라고 생각합니다.
Denys S.

이런 종류의 질문에 대해서는이 제안을 따르십시오 : 조직 측면
Maniero

답변:


17

상자가 없습니다!
해결해야 할 특정 문제와 적용 할 수있는 제약 조건이 있습니다. 특정 주제 기반 용어와보다 일반적인 용어로 문제를 정의하고 (추상적이고 실제적인 용어로 생각) 문제를 해결하십시오.
각각의 제약 조건을 조사하여 (가정을 적용하지 않음) 적용 여부,시기 및 범위를 확인하십시오. 누가 배후 에서뿐만 아니라 영향을 받는지 (목표를 잊지 마십시오) 관점에서 문제를 살펴보십시오.

가정하지 마십시오.
그렇지 않을 때 특정 사항이 사실이라고 가정하면 다른 관점을 조사하지 못하게됩니다. 또한 다른 사람들이 내린 기존 결정 / 가정에 이의를 제기하십시오. 그럴만한 이유가 있거나 더 이상 적용되지 않는 이유가있을 수 있습니다.

추상적으로 생각하십시오.
패턴과 추상적 용어로 사물을 보는 법을 배웁니다. 패턴을 발견 할 때 유사한 것을 고려하여 현재 패턴에 조치를 적용 할 수 있는지 확인하십시오. 주제 영역에 이름이 지정된 패턴이 있으면 그 패턴을 배우십시오. 그러나 쿠키 커터 솔루션으로 취급 하지 마십시오 .

추상적으로 생각하지 마십시오.
"사물"은 사람이고 항상 논리적이거나 합리적이지 않다는 것을 기억하십시오. 자신이 만든 것을 사용하여 사람들과 공감을 연습하십시오.

목표를 잊지 마십시오.
때로는 실제 목표를 기억하는 대신 (예 : "사용자가 어떻게 Y를 수행 할 수있게합니까?" )

배우는 것을 멈추지 마십시오.
일반적인 지식은 큰 영감의 원천이 될 수 있습니다. 이미 많은 사람이 많은 문제를 해결했습니다. 현재 상황에 적용 할 수있는 것을 더 많이 기억할수록 더 많이 알 수 있습니다.

[프로그래밍 언어]에 능숙한 것이 아니라 훌륭한 프로그래머가 되십시오.
여러 가지 기술과 기법을 배우는 것이 무서워하지 마십시오. 여러 개의 "겹치는"언어조차도 다른 용어로 사물을 보는 데 도움이 될 수 있지만, 다양한 다른 언어가 더 도움이 될 수 있습니다. 물론 전문화 / 마스터 링 할 몇 가지 영역을 선택하고 일반적인 개념을 적절히 이해하고 여러 언어를 배우면 얻을 수 있습니다.

누군가가 너무 경험이 부족하다고 생각하지 마십시오.
지식이 부족하거나 프로그래밍을하지 않은 사람이 프로그래밍 문제에 쓸모없는 것처럼 보일 수 있습니다. 그러나 그렇다고해서 무시해서는 안됩니다. 모든 사람은 서로 다른 관점과 기술을 가지고 있으며, 솔루션에 도움이되는 독특한 통찰력을 제공 할 수 있습니다.
어린 아이들은 특히 영감을 줄 수있는 "오염되지 않은"관점의 좋은 원천이 될 수 있습니다.


4
+1 마지막 점은 신성한 돌에 새겨 져야합니다. 무지는 많은 좋은 아이디어를 죽입니다.
Audrius

"가정을 만들지 않음"에 +1 이는 조기 최적화와 유사합니다. 아이디어를 너무 일찍 배제하지 마십시오.
David

"학습을 중단하지 마십시오"눈꺼풀 안쪽에있는 문신
Javier

4

마음을 열고 무엇이든 가능한 많은 옵션을 탐색 할 수있는 길을 떠나십시오. 프로그래밍뿐만 아니라 삶과 함께 사용하십시오.

당신이 아는 것만 고수한다면, 비교할 것이 없습니다. 당신이 거기에 가서 대안을 탐색하면 다른 일을하는 방법을보기 시작합니다. 시간이 지나면 관련이없는 객체에서 링크를 찾을 수 있다는 것을 깨닫기 시작합니다. 즐기는 비디오 게임에는 완전히 관련이없는 경우에도 작업중인 비즈니스 응용 프로그램에서보고 싶은 기능이있을 수 있습니다. 전자 레인지에는 실제로 멋진 구성 설정이 구현되어있을 수 있습니다.


3

상자를 보는 법을 배우십시오

상자를보고 제약 조건을 이해하십시오. 이러한 제약 중 어떤 것이 실제로 문제를 해결하는 데 도움이되는지 고려하고 어떤 것이 방해가되거나 필요하지 않은지 지적하십시오.

가정 을 언급 한 답변 이 정확히 같은 것이라고 생각할 수도 있지만 확실하지 않습니다. 문제 의 영역 을 아는 것도 중요합니다. 문제에 대한 명확한 그림을 얻고 이미 솔루션을 고려한 후에는 한 장을 선택하고 다른 잠재적 인 솔루션이 떠오르는 지 확인할 수 있습니다.

당신의 상자를 확장

당신은 자신의 마음 인 상자 밖에서 결코 생각할 수 없습니다. 따라서 당신이 알고있는 것에 대해 계속 확장하십시오. 다른 사람들에게 흥미가없는 것들은 관심을 가져야합니다. 거의 항상 당신이 실제로 예상치 못한 흥미로운 발견 할 수있는 세부 사항이 있습니다.

문제를 분석 할 때 이러한 임의의 불쾌한 정보 비트가 모두 이상한 방식으로 모일 수 있습니다. 당신은 어떻게 될지 전혀 모른다.

홀수 답변 :

재미와 연습을 위해 사람들이 일상적인 대화에서하는 말을 듣고 문자 그대로 그리고 그들이 선택한 단어에 대해 다른 의미를 사용하여 어떻게 작동하는지보십시오. 이것은 말장난이나 다른 재미있는 언어 오용으로 바뀔 수 있지만 "상자 밖에서 생각하기"를 연습하는 다소 빈번한 방법이기도합니다.


방금 같은 것을 입력하고있었습니다.
Kramii

가정에 관한 세 가지 답변 중 하나로서, 나는 그건 분명히 할 수 없습니다 나는 명료 할 수 있었다 단지 첫 번째를 - 내 대답의 가장 중요한 부분. 그것에 대한 부분적인 해결책으로, 나는 그것을 요약 같은 유형의 접두사로 붙였습니다. (아니면 난 여전히 구별 당신에게있는 거 결정을 누락?)
피터 보우

1
@ 피터 Boughton : 우리가 이것에 대해 반드시 다르게 생각하는 것으로 보이지는 않습니다. 그러나 다른 사람에게 다르게 생각하는 방법을 가르 칠 때 다른 강조점으로 여러 가지 방법을 설명하면 실제로 개념을 이해할 가능성이 높습니다.
John Fisher

물론 그것은 Prog.SE의 가치입니다. 단 하나의 대답 만있을 필요는 없습니다. 다른 방법으로 동일하거나 유사한 것을 말하는 것이 매우 도움이 될 수 있습니다.
Peter Boughton

2

많은 것들이 연습과 함께 제공되거나 단순히 타고난 것입니다. 어떤 사람들은 다른 사람들보다 더 창의적입니다. 그러나 상자 밖에서 생각하는 것의 큰 부분은 광범위한 지식을 갖고 있고 언제 그 지식을 다른 문제에 적용 할 것인지 아는 것 (또는 알고있는 경험)에서 비롯된 것이라고 생각합니다.


폭 넓은 지식 +1 나는 일반적으로 더 많이 배웠을 때 문제 해결에 훨씬 빠르다는 것을 알았습니다.
Michael K

2

모든 사람들이 그러한 능력을 달성 할 수 있을지 확신하지 못하지만 다음과 같이하지 않았다고 가정 할 경우 다음과 같은 방법을 제안 할 수 있습니다.

  1. 인지 행동 요법-이것은 뇌의 "배선"과 유사 할 수 있습니다. 필자의 경우, 처음에 생각했던 것에 대해 쟁기질하는 것보다 균형 잡힌 일이 가능한지, 다른 쪽을 보는 데 훨씬 익숙해졌습니다. "Mind Over Mood" 라는 책 에는이 길을 가고 싶을 때 도움이되는 몇 가지 연습이 있습니다. 이것은 불안과 우울증 치료에 사용 되며이 주제를 다루는 방법입니다.

  2. 자조 서적-예를 들어 Phil 박사의 첫 번째 책인 "Life Strategies" 에는 생각을 풀고 운동을 진지하고 정직하게 수행하면 비슷한 결과를 얻을 수있는 연습이 있습니다. . 여기에는 다른 책들이 있지만 일부 사람들에게는 효과가없는 책도있을 수 있으므로 누군가에게 도움이되는 책을 찾는 것은 약간의 시행 착오가 될 수 있습니다.

  3. 대단한 지식-예를 들어 얼마나 많은 다른 정렬 전략을 알고 있습니까? 버블, 쉘, 퀵, 힙 및 병합과 같이 학교에서 가르치는 몇 가지를 기억하므로, 어리석은 양의 지식을 흡수함으로써 문제를 해결하기 위해 다양한 휴리스틱 목록을 가질 수 있습니다. 여기서 휴리스틱의 예로는 탐욕, 분할 및 정복, 동적 프로그래밍 및 특수 데이터 구조의 사용이 포함됩니다. 어떤 경우에는 처음에 생각했던 것보다 더 큰 상자에서 생각하기에 충분한 물건을 아는 것만으로도 충분합니다. ;-)


2

이에 대한 단일 답변이 없습니다. 일상적인 일상 활동에서도 정기적으로 정신적으로 운동을하면 도움이됩니다.

가정 반전 많은 가능한 접근 방법 중 하나로서 솔루션이나 문제의 고유 가정을 뒤집는 데 집중할 수 있습니다.

문제부터 시작하십시오. 누구나 쉽게 생각할 수있는 쉬운 솔루션을 생각해보십시오. 그런 다음 스스로에게 물어보십시오.이 솔루션의 기본 가정은 무엇입니까? 아니면 문제에 대한 가정은 무엇입니까? 이제 이러한 가정 중 하나 (또는 ​​여러 가지)를 취해 스스로에게 물어보십시오.이 가정을 삭제 / 역전하면 어떻게됩니까? 또는 일부 요구 사항을 직접 해결하는 대신 다른 솔루션의 부작용으로 충족시킬 수 있습니까?


1

대담하게

  • 다른 사람들 앞에서 엉뚱한 아이디어를 제안 할 준비가되어 있습니까?
  • 당신은 틀릴 준비가되어 있습니까?

상자를 알고

  • 현재 생각을 제한하는 것이 무엇인지 이해하면 넘어 설 수 있습니다.

당신의 사고를 깰

관점 변경

  • 다른 시각을 가진 사람을 생각하고 그들이 어떻게 문제를 보는지 추측하십시오.
  • 일어나 걸어 다니십시오.

언어 변경

문제를 다음과 같이 생각하십시오.

  • 물이 흐르는 파이프
  • 지불을 요구하는 게이트 키퍼가있는 일련의 게이트
  • 스타 트렉의 전투

표현 변경

  • 그림을 그려
  • 한 문장으로 문제를 표현

다른 쪽 끝에서 시작

  • 목표에서 거꾸로 작업하십시오.
  • 올바른 문제를 해결하고 있습니까?

크기 변경

  • 한 명의 사용자에게만 문제를 해결해야한다면 어떻게해야합니까?
  • 하나를 10 배나 크게 만들어야한다면 어떨까요?

무언가를하십시오. 아무것도

  • 껐다가 다시 켜십시오.
  • 차 한잔하세요.

다른 사람에게 물어봐

  • 인터넷 검색을 시도 했습니까?
  • 6 살짜리에게 물어보십시오.

1
Hah, 저는 "6 살짜리 물어보기"를 좋아합니다. 이는 관점을 바꾸고 잠재적 편견을 피할 수있는 좋은 방법입니다. 최소한 재미있는 답변을 얻을 수 있으며 도움이 될 수도 있습니다. :)
Peter Boughton

0

나는 자신을 창의적으로 생각하는 사람들은 일반적으로 자신의 작업이나 브레인 스토밍에서 더 창의적이라고 생각합니다. 다시 말해, 창조적 인 사람은 단순히 다르게 생각하는 것을 두려워하지 않는 사람이라는 것을 강력히 시사합니다.

"상자 밖에서 생각하는 것"의 많은 부분이 문제를 다루고 있다고 생각합니다. 당신이 문제를 잘 이해한다면, 때때로 그 질문의 말이 오도의 소지가 있거나 실제로 당신 앞에 명백한 해결책이 남아있을 때 사람들이 매우 특정한 길을 생각하게 할 것임을 알게 될 것입니다. 다른 날에 stackoverflow.com에 대한 질문에 사람이 입력 텍스트 상자를 특정 문자 수에 도달하면 텍스트 영역으로 변환하려고했습니다 (10 인 것 같습니다). 복잡한 솔루션에서는 10자를 입력했지만 그 수를 초과하지는 않았기 때문에 입력하는 것이 10자를 넘어서는 모든 것을 신속하게 제거했습니다.

그의 코드가 게시되면서 많은 사람들이 코드를 수정하고 가치를 유지하기위한 제안을 제공하려고했습니다. 텍스트 영역을 유지하고 텍스트 상자를 모두 잊어 속성 행만 수정하도록 제안했습니다. 상자 밖에서 나는 영리한 사람이 아니라 그의 목표를 이해하려고 노력했기 때문에 상자 밖을 보았습니다. 텍스트가 증가함에 따라 텍스트 입력 필드를 만듭니다. 그렇게하면 텍스트 상자로 시작한 다음 교체하는 것이 어리석은 것처럼 보입니다.

그냥 내 10 센트. ;)



0

우리는 여기에 다양한 양의 센트를 추가하기 때문에 일부를 추가 할 것입니다.
많은 고객과 동료들로부터 지속적으로 독창적 인 사고 자로 묘사 된 사람으로서 여기 몇 가지 팁이 있습니다.

알고리즘은 없지만 .. 여기에 도움이되는 활동이 있습니다.

1. 퍼즐
내가 항상 즐겼던 한 가지는 내 두뇌를 즐겁게하고 퍼즐을 만드는 것입니다. 수많은 퍼즐, 특히 MENSA 종류. 측면 사고가 필요한 MENSA 퍼즐 중 하나 또는 두 권을 구입하십시오. 답답해지면 답을 읽고 답을 읽고 해결하는 방법을 배우십시오. 비슷한 퍼즐은 비슷한 솔루션을 가지고 있으며, 해결 방법을 배우면 패턴을 배울 수 있습니다.

2. Pet Programming Projects
당신이 일하는 언어에 대해 가능한 많은 것을 배우십시오. 자신을위한 애완 동물 프로젝트를 만들고 여가 시간에 그들과 함께 일하십시오. 특정 언어로 제공되는 것을 더 많이 알수록 솔루션을 얻을 수있는 방법이 더 많아집니다. 다른 사람들의 코드를 가지고 다른 일을하도록하세요.

3. 모든 것을 부끄러워하지 말고
질문하십시오. 질문을하면 어리석은 것처럼 느끼고, 어리 석고 부끄러운 일이 아닙니다. 학습은 당신이 아무것도 모른다는 것을 인정하고 성장하기를 원합니다. 기본 사항을 숙지하십시오. 고급 기능은 항상 그 기초에서 벗어나기 때문에 기초가 확실하지 않은 경우 그 위에 쌓은 지식은 항상 어떤 방식 으로든 결함이 있습니다.

4. 예상치 못한
문제가 무엇인지 정확히 알 때까지는 떠오르는 생각을 무시하지 마십시오. 최상의 솔루션은 종종 예상치 못한 아이디어에서 비롯됩니다.

행운을 빕니다.

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