JavaScript 숙달의 길은 무엇입니까? [닫은]


18

JavaScript로 시작하는 방법을 알고 있으며, 클라이언트 측 기능이나 유효성 검사를 위해 스 니핏을 잘라서 붙여 넣습니다.

그러나 풍부한 대화 형 동작을 구현할 때이 경로를 따르는 경우 Big Ball Of Mud를 만들고 있음을 깨닫는 데 오래 걸리지 않습니다.

그렇다면 인터랙션 레이어 프로그래밍에 대한 전문 지식을 향한 길은 무엇입니까? 강력하고 유지 관리가 가능한 JavaScript를 프로그래밍하는 데 도움이되는 서적, 자습서, 연습 및 프로세스는 무엇입니까?

우리는 모든 노력에서 연습이 중요하다는 것을 알고 있지만 /programming/2573135/


"상호 작용 계층?"
Robert Harvey

1
내 의견으로는 새로운 태그가되어야합니다 : P
Mike

1
다른 분야와 마찬가지로 해답이되는 또 다른 질문입니다. 연습하고 동료들 (보다 숙련 된 사람들)로부터 배우고 연습을 언급 한 적이 있습니다. 프로그래밍 언어 x를 마스터하는 프로세스는 프로그래밍 언어 y를위한 프로세스와 동일합니다.이 언어는 스컬 프팅이나 코바늘 또는 다른 무역 마스터 링과 동일합니다.
Chris

1
@johnny : 스택 추적에서 예외를 포착 할 수있는 경우 ...
TMN

1
@Chris-포함 된 링크를 따르면 그러한 질문에 유용하게 답변 할 수 있습니다. "답변은 실용적"이라고 말하는 것이 도움이되지 않습니다. 유용한 길을 따라 일부 랜드 마크를 가리키고 걷기 시작한다고 말하지 마십시오.
Eric Wilson

답변:


15

다른 사람들의 코드 ( A LOT )를 읽고 그들이하는 일과 그들이하는 일을 이해하려고 노력하십시오. 자신 만의 코드를 작성하십시오 ( A LOT ). 새로운 개념과 아이디어를 시도해보십시오. 무언가를 더 잘하는 가장 좋은 방법은 연습하고 연습 한 다음 더 연습하는 것입니다.

책, 튜토리얼, 기사, 블로그, RSS 피드 등을 읽으십시오.

여가 시간에 작업 할 프로젝트를 만드십시오. 무언가를 생각할 수 없다면, 관심이있는 오픈 소스 프로젝트를 찾으십시오.

또한 낙담하지 말고 "지배"는 목적지가 아니라 여정을 기억하십시오. 자신의 페이스에 맞춰 재미를 즐기고 경치를 즐기십시오. 당신이 그것을 가지고가는 경우에 너무 심각하게, 당신은 밖으로 화상을 입을 것이며, 그 어떤 좋은 아무도하지 않습니다.


7
누군가 "X를 배우거나 익히는 방법"을 물을 때 이것이 자동 응답되기를 바랍니다. 수학적 증거를 익히거나 소설을 다듬는 방법과 매우 흡사합니다. X의 다른 작품보기, 직접 X 연습, 헹구기, 반복-> Master in X.
Chris

@ 크리스 이것은 거의 내 표준 답변입니다.
Muad'Dib

좋은 참고 자료 / 책 / 자료를 어디서 구할 수 있는지에 대한 질문을 할 수는 있지만 내가 즐기는 질문입니다. 최근에 파이썬과 우리가 가진 프로그래머에 관한 질문을 받았습니다.
Chris

@Chris 예,이 답변은 일반적인 조언에 가깝고 제 생각에는 매우 객관적인 구체적인 단계가 없습니다 . 나도 링크를보고 싶다. 그러나 그것이 바로 구글의 목적입니다.
Muad'Dib

옳지 만 Google은 자료에 대한 반응 / 인상을 제공 할 수 없습니다. 구글은 잘하지만 전부는 아닙니다. 상관없이 동의했습니다. t
Chris


3

우선, JavaScript 학습과 관련된 목표가 무엇인지 알아야합니다. 입력 유효성 검사를 수행하고 UI를 사용자에게 조금 더 쉽게 만들려는 경우 jQuery 와 같은 프레임 워크를 사용하는 경우 언어에 대한 심층적 인 이해가 필요하지 않습니다 .

즉, JavaScript를 제대로 이해 하려면 유용한 도구를 구현 하는 기존 프레임 워크에 대한 확장을 시도하십시오 .

책과 다른 자료에 관해서는 유용한 책에 대해 많이 들어 본 적이 없으며 일반적으로 문제를 해결하려고 노력하고 JSLint 에 따라 코드가 깨끗한 지 확인하면서 언어를 배웠습니다 . 흥미로운 문제 (예 : 프레임 워크 확장), JSLint 및 충분한 연습을하기에 충분한 시간의 조합은 언어 학습 측면에서 가장 좋은 방법 일 것입니다.


2

웹 개발 세부 사항 (DOM 등)을 배우기 전에 핵심 언어를 배우십시오. 책, 비디오 등 다양한 방법으로 배울 수 있습니다 . 물론 코드를 읽고 쓸 필요가 있습니다.

ECMAScript (언어 표준의 이름 인 javascript는 여러 구현을 나타냄)는 매우 흥미로운 언어입니다. 역동적이고 기능적이며 프로토 타입 기반의 객체 지향 언어이므로 이러한 패러다임의 원리를 이해하는 데 시간이 걸립니다.

IRB 및 대화 형 Python 인터프리터와 같은 도구와 유사한 브라우저에서 대화 형 콘솔 (Chromium에서는 Ctrl+ Shift+ 를 눌러 액세스 할 수 있음)을 사용하여 학습합니다 J. 언어 기능을 테스트하고 디버깅하는 데 유용합니다.

JSLint 를 사용 하여 코드의 품질을 확인하십시오.

DHTML을 사용하여 '실제'개발을 시작하면 JQuery 와 같은 프레임 워크 를 사용하여 불편한 크로스 브라우저 문제를 처리 하여보다 쉽게 ​​생활 할 수 있습니다.


1

자바 스크립트에는 프로그래머가 특정 언어의 전문가가되도록하는 많은 기술이 여기에 적용될 수 있지만, 자바 스크립트에는 특별한 효과를내는 데 사용할 수있는 몇 개의 진주가 있습니다. 아마도 자바 스크립트를 사용하여 능가해야했던 가장 큰 장애물 중 하나는 "C"프로그래밍 사고 방식을 취소하는 것이 었습니다. 즉, 수천 개의 작은 함수가 단일 js 파일로 좁아졌습니다.

일반적인 조언은 가능할 때마다 추상화하고 일반적인 행동을 정리할 수있을 때마다 수업 을 구성하는 것입니다. 다른 js 파일에 효과를 발휘하는 데 사용할 수있는 기능에 대해 새 js 파일을 작성하고 (가능한 이유가 있으면) 전역 변수를 피하십시오. 아직 jQuery 를 배우지 않는 것이 좋습니다 . 그것은 내가 사랑하기 위해 자랐고 이제는 없이는하지 않을 도구입니다. 자바 스크립트를 매우 유연하게 확장하여 코드를 엄청나게 단순화 할 수있어 단순성과 빠르고 효율적으로 코딩 할 수 있습니다. jQuery에는 대형 플러그인 라이브러리가 포함되어있어 플래시에서 할 수 없었던 많은 일을 할 수 있습니다. jQuery UI 확인사이트의 전체 테마 시스템을 사용하면 사이트의 전체 레이아웃을 전혀 수정하지 않고도 효과적으로 수정할 수 있습니다. 웹 사이트에서 일반적으로 사용되는 많은 애니메이션 효과와 편리한 컨트롤 (날짜 선택기, 단추, 진행률 표시 줄 등)이 포함되어 있으며 대부분은 한 줄의 자바 스크립트를 사용하여 활성화 할 수 있습니다.

희망이 도움이됩니다!


1

JavaScript에서하는 대부분의 작업은 본질적으로 DOM, CSS 및 브라우저 호환성과 얽혀 있으므로 DOM 이해는 JavaScript 마스터 링의 기본 요구 사항 중 하나입니다.

프로토 타입 기반 객체 지향, 익명 함수, 루프, 조건 등과 같은보다 일반적인 언어 기능과 같은 언어의 핵심 기능을 학습하는 것은 DOM / CSS와 특별히 상호 작용하지 않는 코드를 이해하는 열쇠입니다. .

또한 언어 표준 라이브러리 (예 : 문자열 및 수학 및 기타 핵심 객체 함수)를 배워야합니다.

또한 알고리즘을 연구해야합니다. 작업 수행 방식과 고급 솔루션을 구현하는 방법에 대한 진실하고 완전한 이해를 얻으려면이 지식은 고급 프로그래밍을 이해하는 데 필수적이며 언어 별 구문을 넘어서는 것입니다.


1

사용중인 라이브러리의 코드를 읽으십시오. jQuery 또는 프로토 타입 소스를 읽으면 자바 스크립트와 dom에서 실제로 발생하는 일에 대해 배울 수 있습니다. 라이브러리가 사용하는 연구 기법을 통해 이해할 수 있습니다. http://microjs.com/ 에서 마이크로 프레임 워크를 읽으면서 시작 하십시오 . 분산 파일뿐만 아니라 실제 소스를 확인하십시오. (jQuery에는 수십 개의 소스 파일이 있지만 빌드 프로세스에 의해 조합됩니다.)


0

Javascript는 현재 많은 개발 영역에 적용됩니다.

  • 최신 브라우저에 존재하는 유일한 언어입니다.
  • node.js 및 V8 엔진 덕분에 서버에서 실행할 수 있습니다.
  • PhoneGap 또는 다른 대안을 통해 모바일 장치에 내장되어 실행될 수 있습니다.
  • Windows 8 응용 프로그램을 만드는 데 사용할 수 있습니다.

따라서 자바 스크립트 숙달이 더 있다고 생각합니다. 그것은 당신이 시작하고 싶은 것에 달려 있지만, 위에서 언급 한 4 가지 항목 각각은 당신에게 다른 도전을 줄 것입니다-좋아, 아마도 창 8과 phonegap 필드는 비슷하지만 나머지는 다릅니다-.

브라우저 환경에 대해 이야기한다면 거의 모든 웹 응용 프로그램을 구성하는 방법을 배우는 것이 계속 진행할 수있는 경로 중 하나 일 수 있습니다. 나는 그 길을 가고, dojo, backbone, ember 등과 같은 인기있는 코드 구성 라이브러리의 git repos를 확인하면서 내 자신의 아이디어를 실험하고 있습니다.

우리가 노드 js 환경에 대해 이야기하고 있다면 그것은 다른 이야기입니다. 축소 및 파일 크기는 중요하지 않습니다. 노드에서 전체 애플리케이션을 작성하고 시스템, 사이트, REST API를 빌드하면 많은 것을 발견 할 수 있습니다.

우리가 모바일 세계에 대해 이야기하고 있다면 과잉 최적화가 떠 오릅니다. CSS3 가속 속성, 애니메이션, 터치 이벤트 및보다 전문적인 UI 구성 요소가있는 웹과 동일한 아키텍처를 사용하려고 시도하는 것은 좋은 출발점입니다.

다른 사람들이 응답하고 자신의 코드를 실험하고 다른 사람들의 코드를 사용하는 것이 대체로 참여하고 새로운 것을 알고 누가 알 수 있는지, 다음 큰 일을 생각해내는 가장 좋은 방법입니다.

도움이되는 또 다른 것은 팀에서 일하고 자신의 방식과 팀의 코드 작성 방식의 차이점을 이해하는 것입니다. 자바 스크립트 개발자 팀에서 일하면 더 나은 코드를 작성하고 문서화해야합니다. 구현하려는 또는 이미 구현 한 것에 대해 위키를 작성하는 것보다 응용 프로그램 아키텍처에 대해 배우는 더 좋은 방법은 없다고 생각합니다.


-1

jQuery를 발견 할 때까지 JavaScript를 싫어했습니다. 이제 나는 그것을 좋아하고 항상 사용합니다. 아마 너무 많아


EcmaScript가 아닌 DOM 및 브라우저 간 준수를 싫어했습니다.
Raynos

jQuery는 자바 스크립트를 재미있게 만듭니다! +1
다이내믹
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.