안녕! 오늘 우리는 Java 개발자의 성장 경로와 수요가 있기 위해 알아야 할 사항에 대해 이야기할 것입니다. Java 개발자의 체크리스트.  개발자가 알아야 할 사항 - 1인터뷰에서 모든 개발자는 구직자를 그릴 수 있습니다. 예를 들어, 현재 프로젝트에서 만난 특정 주제에 대해 질문하기 시작할 수 있습니다. 그러나 모든 것을 알지 못하는 것은 정상입니다. 일부 질문에 답할 수 없다는 사실도 정상입니다. 일반적으로 모든 Java 프로그래머는 소프트웨어 개발에 대한 기본적인 이해가 있어야 합니다. 이제 "기본"으로 간주되는 것을 살펴 보겠습니다.

1. 기본 알고리즘

Java뿐만 아니라 프로그래밍을 배우기 시작할 때 가장 먼저 다루어야 할 것은 기본 사항을 이해하는 것입니다. 예를 들어, 알고리즘. 무한한 수의 알고리즘이 있으며 가능한 한 많은 알고리즘을 배우려고 노력하면서 평생을 낭비해서는 안됩니다. 대부분은 유용하지 않을 것입니다. "Grokking Algorithms"라는 책에서 필요한 최소한의 지식을 얻을 수 있습니다. 이것은 시작하기에 충분하지만 원하는 경우 Robert Sedgewick과 Kevin Wayne이 저술한 "Structures and Algorithms" 또는 "Algorithms in Java" 책에서 배울 수 있습니다. 또한 컴퓨터 과학 기초에 대한 지식을 향상시키는 것이 좋습니다. 이것은 Harvard CS50 코스로 할 수 있습니다.

2. 자바 구문

알고리즘의 기초를 배운 후에는 Java 구문을 배워야 합니다. 결국, 우리는 여기에서 모두 Java 프로그래머가 되기 위해 공부하고 있습니다. CodeGym 과정은 이에 완벽합니다. 수많은 작업을 수행하다 보면 Java 구문에 손을 대게 되고 큰 망설임 없이 Java 코드를 모국어처럼 쓰고 읽게 될 것입니다. CodeGym은 실습이지만 그 이상으로 무엇을 하고 있는지 이해하려면 이론도 살펴봐야 합니다. 이를 위해 책을 읽을 수 있습니다. 예를 들어 다음 중 하나입니다.
  • "헤드 퍼스트 자바",
  • Barry Bird의 "Java for Dummies";
  • Herbert Schildt의 "Java: A Beginner's Guide".
이 책을 읽은 후에 더 어려운 책으로 넘어갈 수 있습니다.
  • "Java로 생각하기", Bruce Eckel;
  • Joshua Bloch의 "Effective Java";
  • Herbert Schildt의 "Java: The Complete Reference".
마지막 세 권의 책은 초보자가 읽기 쉽지는 않지만 Java 이론의 견고한 기초를 제공합니다. 또한 CodeGym 기사를 잊지 마세요. 관심을 가질 수 있는 대부분의 주제에 대한 설명을 제공하기 때문입니다. 검색창에 관심 있는 주제를 입력하여 관련 기사를 찾을 수 있습니다. Java 개발자의 체크리스트.  개발자가 알아야 할 사항 - 2또한 Java 인터뷰에서 질문을 찾는 것이 좋습니다. 이렇게 하면 정확히 무엇을 배워야 하고 어떤 질문을 준비해야 하는지 이해하는 데 도움이 됩니다.

3. 디자인 패턴

디자인 패턴은 자주 발생하는 상황에서 문제를 해결하는 특정 반복 가능한 패턴입니다. 여기에는 자존심이 강한 모든 프로그래머가 알아야 할 기본적이고 간단한 패턴이 포함되어 있습니다. 이 주제를 이해하려면 "Head First Design Patterns"라는 책을 읽으십시오. 기본 디자인 패턴을 접근 가능한 방식으로 설명합니다. 하지만 이 책은 자바에 대해 많이 이야기하므로 이 책을 읽을 때 이 프로그래밍 언어에 대한 유창함도 필요합니다. 패턴에 대해 자세히 알아보려면 Gang of Four(편집자 주 : The Gang of Four는 Erich Gamma, Richard Helm, Ralph를 포함하는 저자 팀입니다. 존슨, 존 블리시데스.). 이 항목을 공부하고 나면 코드의 거의 모든 곳에서 패턴을 볼 수 있습니다. 이것은 인기 있는 인터뷰 질문이므로 특히 Spring에서 사용되는 패턴에 주의를 기울이십시오.

4. 프로그래밍 패러다임. 코드 청결

표준 디자인 패턴 외에도 알아야 할 다양한 원칙과 패러다임( SOLID , GRASP )이 있습니다. 또한 코드를 깨끗하고 읽기 쉽게 유지해야 합니다. 모든 것을 보려면 이 주제에 대해 알아야 합니다. Robert Martin의 Clean Code를 참조하거나 Steve McConnell의 "Code Complete"를 확인하십시오.

5. SQL

다음 단계는 관계형 데이터베이스용 언어인 SQL을 연구하는 것입니다 . 데이터베이스는 웹 애플리케이션에서 사용하는 정보(데이터)가 저장되는 곳입니다. 데이터베이스는 여러 개의 테이블로 구성됩니다(전화기의 주소록이 간단한 예임). Java 개발자는 Java 응용 프로그램뿐만 아니라 상호 작용하는 데이터베이스 및 해당 데이터를 저장하는 위치에 대해서도 책임이 있습니다. 관계형 데이터베이스(가장 일반적인 유형)에서 모든 상호 작용은 SQL(Structured Query Language)이라는 특수 언어를 통해 발생합니다. 이 주제를 이해하려면 다음 책 중 하나를 읽기만 하면 됩니다.
  • Alan Beaulieu의 "Learning SQL";
  • Chris Fehily의 "SQL";
  • Lynn Beighley의 "헤드 퍼스트 SQL".
하지만 이론 없는 연습은 성공하지 못합니다. 그렇죠? 그리고 인터뷰에서 SQL에 대한 지식 테스트를 기대할 수 있습니다. 면접관은 종종(거의 항상) SQL 쿼리 작성과 관련된 한두 가지 작업을 제공합니다. 따라서 실용적인 SQL 기술을 연마하여 자신을 좋은 시각으로 보여주는 것이 매우 중요합니다.

6. MySQL/포스트그레SQL

SQL 언어를 배운 후에는 특정 데이터베이스 구현에 익숙해져야 합니다. 데이터베이스에 따라 일부 명령은 크게 다를 수 있습니다. 그리고 데이터베이스 기능에는 상당한 차이가 있습니다. 가장 일반적인 관계형 데이터베이스는 MySQLPostgreSQL 입니다 . Java 개발자의 체크리스트.  개발자가 알아야 할 사항 - 3MySQL은 훨씬 간단하지만 PostgreSQL에는 훨씬 더 광범위한 기능이 있습니다. 적어도 그들 중 하나에 익숙해지면 시작하기에 충분합니다. 인터넷 검색 기술을 사용한다면 데이터베이스 구현을 공부할 수 있습니다. YouTube에서 관련 기사와 자습서를 찾아보세요. 답변이 필요한 질문에 대한 적절한 검색 쿼리를 작성하는 능력을 배양해야 합니다. 결국 프로그래머는 인터넷 검색에서 블랙 벨트를 가진 사람입니다.

7. 메이븐/그래들

Gradle 또는 Maven 프레임워크를 배워야 합니다. 그것들은 프로젝트를 구축하기 위한 것이며, 여러분에게 Java는 이제 몇 가지 클래스와 관련된 작업을 위한 것일 뿐만 아니라 본격적인 애플리케이션을 작성하기 위한 언어이기도 합니다. 프로젝트를 빌드하는 방법, 빌드 단계가 무엇인지, 타사 코드로 필요한 외부 라이브러리를 로드하는 방법 등을 이해해야 합니다. Gradle이 더 새롭고 간결하다는 사실에도 불구하고 대부분의 경우 Maven이 사용됩니다. 따라서 Maven 빌드 수명 주기에 특별한 주의를 기울여야 합니다.

8. 힘내

Git은 분산 버전 제어 시스템입니다. 이 기술을 통해 개발자는 서로 간섭하지 않고 단일 애플리케이션에서 공동 작업을 수행할 수 있습니다. 물론 다른 버전 관리 시스템도 있습니다. 예를 들어, Subversion . 그러나 Git은 가장 널리 사용되며 Git을 사용할 수 있어야 합니다.Java 개발자의 체크리스트.  개발자가 알아야 할 사항 - 4온라인에서 찾을 수 있는 Git에 대한 많은 기사 외에도 YouTube에는 이 기술을 단계별로 마스터하는 데 도움이 되는 충분한 동영상이 있습니다. 처음에는 일종의 GUI 구현보다 명령줄에서 Git을 사용하는 것이 좋습니다. 모든 작업을 명령으로 수행해야 하기 때문입니다. 인터뷰에서 사람들은 종종 몇 가지 Git 명령에 대해 묻는 것을 좋아하므로 작성하여 가까운 곳에 두는 것이 좋습니다. 또한 인터뷰 전에 훑어보고 기억을 되살리기 위해 가장 중요한 사항을 기록하면서 메모하는 것이 좋습니다.

9. 제이디비씨

이 기술은 Java 애플리케이션과 관계형 데이터베이스를 연결합니다. 기본 사항은 JDBC 자습서를 읽는 것이 좋습니다. 더 이상 Naked JDBC를 직접 사용하는 사람은 아무도 없지만 JDBC를 설명하고 기초적인 예제를 제공하는 많은 기사가 있습니다.

10. JPA. 최대 절전 모드

JPA는 JDBC와 마찬가지로 Java 애플리케이션과 데이터베이스 간의 연결을 설정하는 방법입니다. 그러나 동시에 JPA는 더 높은 수준의 기술이므로 사용하기가 더 쉽습니다. 그러나 JPA는 구현이 아니라 사양일 뿐입니다. 구체적인 실천이 필요합니다. 그들 중 많은 수가 존재하지만 JPA 이상에 가장 가깝고 가장 인기 있고 가장 발전된 것은 Hibernate입니다. 소프트웨어 개발 경력에서 이 기술을 두 번 이상 접하게 될 것입니다. 따라서 기사를 읽음으로써 이 기술에 익숙해지는 것 외에도 "Java Persistence API"와 같은 책을 읽는 것에 대해 생각해 볼 가치가 있습니다.

11. 봄

Java 개발자가 되면 Spring은 더 이상 당신을 위한 단어가 아닙니다. Java 개발자의 체크리스트.  개발자가 알아야 할 사항 - 5이제 이 프레임워크를 아는 것이 Java 구문을 아는 것만큼 중요합니다. Spring에는 Java EE와 같은 형제가 있다고 말할 수 있습니다. 그러나 Java EE는 구식이며 새 프로젝트에서 더 이상 사용되지 않습니다. 대다수의 Java 개발자는 이제 Java-Spring 개발자이므로 몇 가지 기본 Spring 기술을 알아야 합니다. Spring은 단순한 프레임워크가 아니라 프레임워크의 전체 프레임워크입니다. Java 개발자의 체크리스트.  개발자가 알아야 할 사항 - 6그리고 이것은 Spring이 제공하는 프레임워크의 하위 집합일 뿐입니다. 초보자의 경우 몇 가지만 알면 충분합니다.

  • 스프링 코어

스프링 컨테이너, 빈, DI, IoC 등에 관한 모든 것을 이해할 수 있도록 먼저 이것을 넣어야 합니다. 말하자면 Spring 사용의 철학을 이해하는 것입니다. Spring 프레임워크에 대한 추가 연구는 이 기반 위에 구축될 것입니다. 새로 배운 모든 기술을 점진적으로 통합할 수 있는 작은 응용 프로그램을 직접 만들어야 할 수도 있습니다.

  • 스프링 JDBC

앞서 우리는 JDBC를 데이터베이스 연결을 생성하는 기술로 언급했습니다. 일반적으로 이 기술의 "적나라한" 사용은 더 이상 프로젝트에서 찾을 수 없으므로 JDBC 학습이 필요하지 않다고 결론을 내릴 수 있습니다. 이것은 올바른 태도가 아닙니다. JDBC의 네이키드(직접) 사용을 탐색하면 낮은 수준에서 기술을 보고 문제와 단점을 이해할 수 있습니다. 그런 다음 Spring JDBC 학습을 시작하면 이 프레임워크가 정확히 무엇을 개선하고 최적화하고 숨기는지 알게 될 것입니다.

  • 봄 동면

기본 JDBC의 상황과 유사하게 이 프레임워크는 기존 기술(이 경우 Hibernate)을 활용합니다. Spring 없이 Hibernate를 사용하는 것을 고려한다면 Spring Hibernate가 제공하는 이점을 분명히 깨닫게 될 것입니다.

  • 스프링 JPA

이전에 우리는 JPA에 대해 이야기했고 다양한 구현이 있지만 사양일 뿐이라고 언급했습니다. 이러한 구현 중에서 Hibernate는 이상에 가장 가깝습니다. Spring은 내부적으로 Hibernate를 사용하는 이상적인 JPA 구현을 가지고 있습니다. JPA 사양의 이상에 가능한 한 가깝습니다. 스프링 JPA라고 합니다. 한마디로 데이터베이스 액세스를 크게 단순화합니다. JDBC, Hibernate, Spring JDBC 또는 Spring Hibernate를 배우지 않고 JPA만 배울 수 있습니다. 그러나 이 방법을 사용하면 데이터베이스에 연결하는 방법에 대한 지식이 매우 피상적일 것입니다.

  • 스프링 MVC

이 기술을 사용하면 애플리케이션의 웹 인터페이스를 사용자에게 표시하고 인터페이스와 나머지 애플리케이션 간의 통신을 용이하게 할 수 있습니다. 이 기술은 디스플레이 처리를 담당하는 애플리케이션이 있고 RESTful 기술을 사용하여 애플리케이션과 상호 작용하는 경우 디스플레이 없이 사용할 수도 있습니다. Spring에 대한 정보를 더 잘 흡수하기 위해 기사 및 YouTube 강의 외에도 여러 책을 읽을 수 있습니다. 저는 Craig Walls의 "Spring in Action"이라는 책을 정말 좋아했습니다. 영어를 잘 아시는 분은 6판을 읽어보시길 권합니다. Spring에 관한 또 다른 훌륭한 책은 "전문가를 위한 Spring 5"입니다. 더 조밀합니다. 처음부터 끝까지 읽는 것보다 가까이에 두는 것이 더 가치 있는 참고 자료에 가깝습니다.Java 개발자의 체크리스트.  개발자가 알아야 할 사항 - 7

  • 스프링 부트

이 기술은 Spring 사용을 크게 단순화합니다. 나는 그것을 변덕스럽게 목록의 끝에 넣지 않았습니다. 사실, 그것은 후드 아래에 많은 것을 숨기고 있으며 바닐라 스프링에 익숙하지 않은 사람에게는 많은 점이 불분명하거나 이해하기 어려울 수 있습니다. 먼저 Spring 프레임워크의 작동 방식을 더 잘 이해하려면 일반 Spring을 사용한 다음 Spring Boot 사용의 더 높은 이점을 모두 선택해야 합니다. 또한 Spring Security 및 Spring AOP에 익숙해지는 것이 좋습니다. 그러나 위의 기술과 달리 이 두 가지에 대한 깊은 지식은 아직 필요하지 않습니다. 이 기술은 초보자를 위한 것이 아닙니다. 면접에서 신입 개발자들은 그들에 대해 묻지 않을 것입니다(아마도 하나의 피상적인 질문을 제외하고). 이러한 기술이 무엇인지, 그리고 그 작업의 원리에 대한 개요를 읽으십시오. 이 기사에서는 나는 책 읽기에 대해 여러 번 언급했습니다. 한편으로 이것은 의무 사항이 아닙니다. 책 한 권도 읽지 않고도 온라인 기사와 교육 비디오에서 필요한 모든 지식을 습득하여 프로그래머가 될 수 있습니다. 한편, 취업 시장에서는 현재 초보 개발자 간의 경쟁이 치열하여 초보 개발자가 알아야 할 사항에 대한 기준이 높아지고 있습니다. 따라서 더 많이 알수록 면접관에게 당신의 지식 수준을 보여줌으로써 첫 직장을 더 빨리 찾을 수 있습니다. 모두 감사합니다. Java가 함께하길 바랍니다. 초보자가 알아야 할 기준을 높입니다. 따라서 더 많이 알수록 면접관에게 당신의 지식 수준을 보여줌으로써 첫 직장을 더 빨리 찾을 수 있습니다. 모두 감사합니다. Java가 함께하길 바랍니다. 초보자가 알아야 할 기준을 높입니다. 따라서 더 많이 알수록 면접관에게 당신의 지식 수준을 보여줌으로써 첫 직장을 더 빨리 찾을 수 있습니다. 모두 감사합니다. Java가 함께하길 바랍니다.