이해가 되지 않는 Rails 주제를 발견한 적이 있습니까?
안다고 생각해서 코드를 작성했는데 완전히 다른 일이 발생했나요?
또는 알고 당신은 이해하지 못하지만, 당신이 끝낼 때까지 당신이 전문가가 될 수 있었던 극단적 인 사건과 싸우는 데 너무 많은 시간을 보낸다는 점을 제외하고는 충분히 알고 있습니까?
글쎄, 그렇게 될 필요가 없다면 어떨까요? 알고만 하는 것이 낫지 않을까요? 일이 어떻게 되었나요? 문제에 대한 확고한 정신적 모델을 갖고 계십니까? 올바른 결정을 내리고 올바른 코드를 작성할 수 있습니까?
내가 처음 웹 개발을 배울 때 세션은 That Thing이었습니다. 나는 그것들을 어느 정도 알고 있다고 생각했지만, 그렇지 않았습니다. 그리고 세션에 대한 나의 오해로 인해 너무 많은 버그가 발생하여 내가 만든 문제에 대해 많은 비판을 받았습니다.
곧 실제로 세션이 어떻게 작동했는지 이해하십시오. 그것들의 신비를 풀기 위해, 그들을 무섭거나 이상하게 만들지 않기 위해. 그리고 결국에는 그들이 어떻게 행동할지 추측할 수 있게 되고 옳게 될 것입니다.
"세션"은 내가 깊이 파고든 유일한 주제가 아닙니다. 데이터 모델링, 캐싱, 메타프로그래밍, 모두 종류 일하다. 하지만 이해하지 못한다면 영원히 어려운 디버깅 문제에 봉착하게 될 것입니다.
Rails 연습에서 , T자형 학습에 대해 썼습니다. :기본 지식이 충분하지만 필요에 따라 특정 주제에 대해 더 자세히 설명할 때. 이러한 푸시는 심층 분석이며 프로그래밍 경력 과정에서 큰 문제를 해결하는 데 도움이 됩니다.
딥 다이빙은 언제 해야 하나요?
그렇다면 언제 심층 다이빙을 해야 하는지 어떻게 알 수 있나요?
먼저 심층 분석을 하려면 무엇에 빠져 있는지 알아야 합니다.
심층 분석은 단일 주제를 다룰 때 가장 유용합니다. 단어나 짧은 문구로 설명할 수 있는 특정 항목. SQL 쿼리 성능 . 세션 . HTTP 캐싱 . 너무 구체적이어서 주제를 너무 복잡하게 만드는 상호 작용을 놓치게 됩니다. 너무 일반적이고 "프로그래밍"에 대해 자세히 살펴보고 있습니다. 당신이 그런 사람인 것 같지만, 그것은 당신이 당신의 전체 경력을 할애할 심층 분석입니다.
다음으로 두 가지 상황 중 하나를 자세히 살펴보아야 합니다.
-
당신은 생각 자신이 무엇을 하고 있는지 알고 있지만 전혀 예상치 못한 일이 발생합니다. 당신은 마음속으로 알고 있습니다 그 녹색 버튼을 누르면 복도 조명이 켜지지만, 버튼을 누르면 대신 방이 무너집니다.
-
당신은 알고 있습니다 당신은 뭔가를 정말로 이해하지 못하고 있고 그것은 괜찮습니다... 하지만 지금은 버그를 수정하고 있으며, 시도하는 모든 것은 해결하는 것보다 더 많은 문제를 야기하므로 기존 버그를 수정하는 것만큼 빠르게 새로운 버그를 생성합니다.
이러한 상황에는 공통점이 있습니다. 이제 막 잘못된 방향으로 가고 있다는 것을 알아차리기 시작했습니다. 그리고 희망하더라도 당신은 상황을 바꿀 것이고, 당신이 고군분투하는 데 많은 시간을 낭비할 것이라는 것을 깨닫기 시작합니다.
두 가지 방법 모두 하고 있는 방식이 효과가 없다는 것을 초기에 감지하는 데 도움이 됩니다.
따라서 다음에 서클을 돌거나 버그를 수정하기 위해 극단적인 경우와 싸우거나 다음 번에 작성한 코드로 인해 예상과 완전히 다른 작업을 수행할 때 그 느낌을 기억하십시오. 그것에 민감하십시오. 멈춰야 할 때라는 느낌입니다. 자신을 수집합니다. 그리고 당신이 지금 알고 있는 것을 당신이 이해하지 못하는 것을 깊이 배우기 위해.
하지만 이제 심층 분석이 필요하다고 결정했다면 어떻게 하시겠습니까?