Java 학습을 위한 출발점 – 당신이 알아야 할 것과 내가 알았더라면 좋았을 것들

게시 됨: 2020-04-14

프로그래밍을 시작하는 것이 대학 커리큘럼의 일부인 경우 더 쉽습니다. 그러면 배울 언어, 건너뛸 인수, 더 주의해야 할 개념을 선택할 필요가 없습니다.

내가 대학에 갔을 때 C는 배우는 최초의 프로그래밍 언어였고, 교수들은 우리에게 C++에 대한 과정을 제공했고 나중에 원하면 Java, Python 및 기타 언어를 선택할 수 있었습니다.

그러나 초급 수준의 소프트웨어 개발자와 이야기할 때 C로 프로그래밍 교육을 시작하지 않는 것이 좋습니다. 대신 일반적으로 Java를 배우는 것이 좋습니다. 그 이유는 잠시 후에 설명하겠습니다.

내 생각에 Java 커뮤니티는 학습 자료로 가득 차 있지만 초보 개발자는 종종 "그래서 어디서부터 시작해야합니까?"라고 묻습니다. 또는 "이론을 읽어야 합니까 아니면 바로 코드 작성을 시작해야 하나요?".

분명히, 스스로 코딩을 배우는 것은 쉽지 않습니다. 노련한 개발자로서 저는 초보 동료를 돕고 Java 학습 곡선의 함정을 안내하기로 결정했습니다. 이 게시물에서는 많은 Java 개발자가 실패하는 Java 학습의 판도를 바꾸는 사례, 그리고 직장 내에서 마스터한 개념을 적용하는 방법을 알아낼 것입니다.

그런데 왜 자바인가?

당신의 첫 번째 본능이 나와 토론을 시작하고 Python이 더 쉽다거나 C가 소프트웨어 개발을 배우는 더 전통적인 방법이라고 설명하는 것이라면, 당신이 어디에서 올 수 있는지 확신할 수 있습니다.

객관적으로 Java를 보고 단점(속도 및 메모리 효율성 등)을 인식합니다. 그럼에도 불구하고 초급 개발자로서 배우기에 이보다 좋은 언어는 없다고 생각합니다.

프로그래밍의 시작점으로 Java를 선호하는 이유는 다음과 같습니다.

  • Java의 개념은 여러 프로그래밍 언어에서 사용됩니다. 개체 지향 프로그래밍, 형식화된 변수 또는 제어 흐름은 모두 나중에 C 또는 C++에서 작업할 때 사용할 수 있는 개념입니다. Python 개발자가 Python으로 코딩하는 방법만 알고 있다면 Java와 다른 웹 및 모바일(예를 들어 Kotlin은 Java에 많은 기능을 제공함) 언어 사이에 다리를 놓게 될 것입니다. 다용성 측면에서 Java를 선택하는 것은 다른 어떤 언어보다 확실히 유리합니다.
  • Java 코딩은 다재다능합니다. 첫 번째 개발 언어의 경우 기술과 직업을 얻을 수 있는 수익성 있는 기술만 원하는 것은 아닙니다. 그보다는 즐거운 라이딩을 위한 최고의 관심사이며 Java가 바로 여러분이 찾고 있는 것입니다. 이제 막 시작하는 경우 입력을 적게 해야 하기 때문에 C가 더 간단하다는 느낌이 마음을 사로잡을 수 있습니다(나중에 이해하게 되겠지만 오해의 소지가 있습니다). 그러나 프로그래밍 언어를 배우던 시절을 회상하면 Java에 대한 간섭을 능가하는 다른 학습 경험은 없습니다. 텍스트 기반 RPG, 콘솔 관리 게임 등 창의성과 샘플 애플리케이션을 구축할 수 있는 여지가 너무 많습니다. 게다가 모든 난이도의 프로젝트를 찾을 수 있습니다. 실제 학습으로 넘어가기 전에 몇 달 동안 이론적 개념을 배울 필요가 없습니다.
  • 널리 사용되는 언어. 때때로 그것은 그렇게 간단합니다. 여러분은 무엇이든 할 수 있는 언어를 배우고 싶어하며 Java보다 나은 것은 거의 없습니다. 이 언어는 웹 앱, 소프트웨어, Android 프로젝트 및 내부 도구에 적합합니다. Java를 기본적으로 익히고 나면 무엇이든 할 수 있을 것 같은 느낌이 들 것입니다. 물론 JavaScript와 같은 스크립팅 언어에 개입하는 것은 여전히 ​​필요하지만, 일단 Java의 중급 수준에 도달하면 프로그래밍 언어를 처음부터 배우는 것만큼 무서운 것은 아닙니다.

자바 프로그래밍 구인 시장 – 좋은 점?

코드 개발을 배우다
이미지: KnowTechie 스토어

Java를 배우는 것은 재미있을 수 있지만 이것이 내가 아는 유일한 언어라면 실직하고 굶주리지 않을까요?

Java는 초급 개발자들 사이에서 인기가 높기 때문에 모든 사람이 Java를 사용하는 방법을 알고 있고 더 이상 프로그래머를 고용하지 않을 것이라고 생각할 수 있습니다. 아마도 당신은 프라이밍의 고전적인 효과를 경험하고 있을 것입니다. 무언가를 많이 보고 있기 때문에 고통스럽게 일반적일 수 있다고 생각합니다.

나는 합리적으로 숙련된 개발자가 할 일이 많다는 것을 증명하기 위해 Java 직업 시장에 대한 몇 가지 통계를 수집했습니다.

  • Java는 Stack Overflow의 최신 설문 조사에 따르면 가장 높은 순위의 프로그래밍 언어입니다.
  • Glassdoor에 따르면 미국 자바 개발자의 평균 급여는 79,137달러입니다.
  • 현재 인디드에서 제공되는 자바 개발 오픈 수 – 27,049

기술 인재에 대한 수요 증가와 Android 기기의 확산 증가(자바는 널리 사용되는 Android 개발 언어)와 같은 기술 세계의 전반적인 추세를 고려하면 일자리가 부족하지 않다는 것이 분명해집니다. 조만간.

따라서 Java를 시도해야 하는지 여부를 망설이지 말고 지금 함께 가져와 언어 학습을 시작하십시오.

Java 학습 여정에서 알았으면 하는 것들

Java를 배우던 당시에는 수십 개의 자습서, 책 및 공식 문서 외에 도구와 리소스가 절반도 없었습니다. 많은 리소스가 있고 많은 초급 코더가 다양한 도구에 혼란스러워하고 압도되어 개발자가 더 쉬워졌다고 생각하는 이유는 무엇입니까?

소프트웨어 개발 능력을 획득하기 위한 정해진 전략은 없지만 누군가가 더 일찍 나에게 말했으면 하는 몇 가지 사항이 있습니다.

1. 프로그래밍이 아닌 문제 해결을 배우십시오.

웹 개발자
이미지: 픽셀

나는 많은 초보자들이 튜토리얼 후에 튜토리얼을 훑어보고 패턴과 개념을 배우는 것을 봅니다. 그러나 이것이 Java 구문을 배우는 데 도움이 되지만 여전히 프로그래머의 사고 방식과는 거리가 멉니다.

Java 튜토리얼을 완료하고 내 기술을 잘 사용해야 하는 직후 혼란스럽고 도전을 받았습니다. 애플리케이션을 움직이는 부분으로 분해하고 처음부터 직접 구축하는 방법을 보는 대신 각 프로젝트를 내가 올라갈 수 없는 높은 산처럼 계속 보았습니다.

운 좋게도 그 과정에서 실제 Java 개발에 대한 자신감을 높이는 데 도움이 되는 많은 리소스를 찾았습니다.

  • Think Like Like Programmer – 어떤 언어를 배우든 개발자의 사고방식을 익히는 데 도움이 되는 책
  • Codegym – 이론적 개념의 실제 적용에 중점을 둔 Java 학습 전용 플랫폼입니다. 덕분에 프로젝트 개발을 쉽게 하는 데 도움이 되는 여러 유용한 해킹에 대해 알게 되었습니다.
  • 스택 오버플로 – 여기에 숨어 ​​있다는 말을 많이 들어보셨을 거라 생각합니다. 저는 SO의 코드를 붙여넣는 것을 권장하지 않지만 포럼을 훑어보면 확실히 개발자의 사고 방식에 한 걸음 더 다가갈 수 있습니다.

2. 나는 보조 기술을 과소평가했다

어쨌든 나는 자바 라이브러리와 프레임워크가 얼마나 도움이 될 수 있는지에 대해 무지했습니다. 당연히 초보 개발자는 모든 것을 스스로 하고 싶지만 하루에 할 수 있는 일은 그 만큼 밖에 없고 바로 가기를 찾는 것이 중요한 경우가 많습니다.

Java 학습 여정을 다시 시작한다면 언어와 함께 사용할 도구 집합을 선택할 때 훨씬 더 철저할 것입니다.

다음은 개발자가 확인하도록 권장하는 도구입니다.

  • JUnit – Java 프로그래머를 위한 편리한 테스트 도구
  • JRat – 개발자가 제품 실행을 모니터링할 수 있게 해주는 Java 성능 프로파일러.
  • Mockito – Java 조롱을 용이하게 하는 오픈 소스 프레임워크.
  • Ehcache – Java 프로그래밍을 위해 특별히 설계된 캐싱 도구입니다.

아래에서 Java 학습을 위한 가장 필수적인 라이브러리, 프레임워크 및 API를 나열하겠습니다.

3. 학습 계획이 없었습니다

튜토리얼과 온라인 리소스에 대한 많은 신뢰를 바탕으로 나는 완전히 공허한 마음으로 Java를 배우기 시작했습니다. 여행 일정이 없었고, 내 기술을 어떻게 사용할지, 구체적인 일일 학습 일정이 없었습니다. 내 동기는 단순하고 바보 같았습니다. Java는 놓친 것처럼 느껴지는지 알지 못하고 유행하는 것처럼 보였습니다. 그래서 내가 그것을 배우지 않겠습니까?

소프트웨어 개발을 시작하는 경우 하루가 끝날 때 도달하려는 위치에 대해 더 철저합니다. 당신이 염두에 두고 있는 목표가 당신을 눈멀게 하지 않도록 하십시오. 프로그래밍 언어를 배우는 것은 비록 당신이 만능의 개발자가 되기를 원하더라도 항상 기본부터 시작해야 합니다.

지금 당장 Java를 처음부터 배워야 한다면 대략 다음과 같은 로드맵이 될 것입니다.

JDK API:

  • 자바 IO
  • 자바 컬렉션
  • 자바 동시성
  • 자바 8

자바 프레임워크:

  • 스프링 부트
  • 최대 절전 모드
  • 마이크로넛
  • 이클립스 마이크로프로파일

테스트 라이브러리:

  • 오이 – 비즈니스 기반 테스트 용이
  • 로봇 프레임워크 – 통합 테스트 최적화 지원
  • 단위 테스트를 위한 JUnity
  • 목업 테스트용 Mockito.

보다 자세한 자바 개발 학습 목업은 아래 그래프를 참조하세요.

나는 내가 게으르지 않고 진전을 이루지 않도록 각 블록에 기한을 지정할 것입니다.

결론

내가 Java를 배우는 것이 재미있는 놀이기구라고 말할 때 나는 주로 당신이 숙달된 후에 느낄 향수와 행복한 추억을 언급합니다. 그 과정에서, 당신은 문제에 대한 올바른 답을 얻는 것의 높은 점과 당신의 학습 자원이 당신에게 원하는 것이 도대체 무엇인지 이해하지 못하는 것의 낮은 점을 모두 경험하게 될 것입니다.

모든 학습과 마찬가지로 프로그래밍 언어를 마스터하는 것은 피땀과 눈물입니다. 그러나 Java의 초기 번거로움을 인내하고 극복하면 학습 과정이 점차 더 즐겁고 덜 피곤해질 것입니다.

이에 대한 생각이 있습니까? 의견에 아래로 알려주거나 Twitter 또는 Facebook으로 토론을 진행하십시오.

편집자 추천:

  • 13달러의 이 초급 과정으로 JavaScript 기술을 시작하세요.
  • Java 최신 상태를 유지하려면 데크를 배워야 하는 9가지
  • 자바 호스팅에 대해 알아야 할 3가지
  • Java 프로그래밍이 기업에서 인기 있는 이유는 무엇입니까?