Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

Rails 심층 분석을 해야 할 때

이해가 되지 않는 Rails 주제를 발견한 적이 있습니까?

안다고 생각해서 코드를 작성했는데 완전히 다른 일이 발생했나요?

또는 알고 당신은 이해하지 못하지만, 당신이 끝낼 때까지 당신이 전문가가 될 수 있었던 극단적 인 사건과 싸우는 데 너무 많은 시간을 보낸다는 점을 제외하고는 충분히 알고 있습니까?

글쎄, 그렇게 될 필요가 없다면 어떨까요? 알고만 하는 것이 낫지 않을까요? 일이 어떻게 되었나요? 문제에 대한 확고한 정신적 모델을 갖고 계십니까? 올바른 결정을 내리고 올바른 코드를 작성할 수 있습니까?

내가 처음 웹 개발을 배울 때 세션은 That Thing이었습니다. 나는 그것들을 어느 정도 알고 있다고 생각했지만, 그렇지 않았습니다. 그리고 세션에 대한 나의 오해로 인해 너무 많은 버그가 발생하여 내가 만든 문제에 대해 많은 비판을 받았습니다.

실제로 세션이 어떻게 작동했는지 이해하십시오. 그것들의 신비를 풀기 위해, 그들을 무섭거나 이상하게 만들지 않기 위해. 그리고 결국에는 그들이 어떻게 행동할지 추측할 수 있게 되고 옳게 될 것입니다.

"세션"은 내가 깊이 파고든 유일한 주제가 아닙니다. 데이터 모델링, 캐싱, 메타프로그래밍, 모두 종류 일하다. 하지만 이해하지 못한다면 영원히 어려운 디버깅 문제에 봉착하게 될 것입니다.

Rails 연습에서 , T자형 학습에 대해 썼습니다. :기본 지식이 충분하지만 필요에 따라 특정 주제에 대해 더 자세히 설명할 때. 이러한 푸시는 심층 분석이며 프로그래밍 경력 과정에서 큰 문제를 해결하는 데 도움이 됩니다.

딥 다이빙은 언제 해야 하나요?

그렇다면 언제 심층 다이빙을 해야 하는지 어떻게 알 수 있나요?

먼저 심층 분석을 하려면 무엇에 빠져 있는지 알아야 합니다.

심층 분석은 단일 주제를 다룰 때 가장 유용합니다. 단어나 짧은 문구로 설명할 수 있는 특정 항목. SQL 쿼리 성능 . 세션 . HTTP 캐싱 . 너무 구체적이어서 주제를 너무 복잡하게 만드는 상호 작용을 놓치게 됩니다. 너무 일반적이고 "프로그래밍"에 대해 자세히 살펴보고 있습니다. 당신이 그런 사람인 것 같지만, 그것은 당신이 당신의 전체 경력을 할애할 심층 분석입니다.

다음으로 두 가지 상황 중 하나를 자세히 살펴보아야 합니다.

  1. 당신은 생각 자신이 무엇을 하고 있는지 알고 있지만 전혀 예상치 못한 일이 발생합니다. 당신은 마음속으로 알고 있습니다 그 녹색 버튼을 누르면 복도 조명이 켜지지만, 버튼을 누르면 대신 방이 무너집니다.

  2. 당신은 알고 있습니다 당신은 뭔가를 정말로 이해하지 못하고 있고 그것은 괜찮습니다... 하지만 지금은 버그를 수정하고 있으며, 시도하는 모든 것은 해결하는 것보다 더 많은 문제를 야기하므로 기존 버그를 수정하는 것만큼 빠르게 새로운 버그를 생성합니다.

이러한 상황에는 공통점이 있습니다. 이제 막 잘못된 방향으로 가고 있다는 것을 알아차리기 시작했습니다. 그리고 희망하더라도 당신은 상황을 바꿀 것이고, 당신이 고군분투하는 데 많은 시간을 낭비할 것이라는 것을 깨닫기 시작합니다.

두 가지 방법 모두 하고 있는 방식이 효과가 없다는 것을 초기에 감지하는 데 도움이 됩니다.

따라서 다음에 서클을 돌거나 버그를 수정하기 위해 극단적인 경우와 싸우거나 다음 번에 작성한 코드로 인해 예상과 완전히 다른 작업을 수행할 때 그 느낌을 기억하십시오. 그것에 민감하십시오. 멈춰야 할 때라는 느낌입니다. 자신을 수집합니다. 그리고 당신이 지금 알고 있는 것을 당신이 이해하지 못하는 것을 깊이 배우기 위해.

하지만 이제 심층 분석이 필요하다고 결정했다면 어떻게 하시겠습니까?