JavaRush /Java Blog /Random-KO /시간을 절약해 주는 상위 10개 Java 라이브러리

시간을 절약해 주는 상위 10개 Java 라이브러리

Random-KO 그룹에 게시되었습니다
이 기사의 대상: Java 구문 퀘스트를 공부하는 초보자에게 흥미로운 내용이 있지만 기본적으로 제시된 자료는 이미 과정의 적도를 넘은 사람들에게 더 적합할 것입니다(Java 컬렉션 및 Java 멀티스레딩을 이해함). 퀘스트)이며 Java Core 프레임워크를 넘어서는 기술에 관심을 갖기 시작했습니다. Java는 존재하는 동안 상당한 양의 라이브러리를 확보했습니다. 하지만 어떤 것이 사용할 가치가 있고 어떤 것이 그렇지 않은지 어떻게 알 수 있습니까? 항상 바쁜 개발자에게는 밀과 왕겨를 분리하는 것이 매우 어렵습니다. 이 기사 에서 Dreamix의 풀 스택 개발자인 Martin Patsov는 오픈 소스 라이브러리에 대한 애정에 대해 이야기하고 특히 유용하다고 생각하는 라이브러리를 제안합니다. 시간을 절약해 주는 상위 10개 Java 라이브러리 - 1존재하거나 존재하지 않는 것이 문제입니다. 그것이 구원이 될 것인가 실패가 될 것인가. 동일한 Java 라이브러리... 용기를 내세요! “SigniOrs”는 이미 그곳에 있었고 그들의 경험을 여러분에게 전달하겠습니다. 내 시적 여담에 속지 마십시오. Java에는 실제로 많은 라이브러리가 있으며 이를 이해하는 것은 매우 어렵습니다. 그러나 나는 그들을 매우 사랑합니다. 나는 "도서관 전도사"라고 불릴 수도 있습니다( IT 분야에서 "전도사"는 정식 복음의 편집자가 아니라 전문적으로 특정 기술을 홍보하는 사람을 의미합니다. 일반 PR 담당자와 혼동하지 마십시오. 대부분의 경우 , IT 전도사는 자신이 홍보하는 기술에 대해 철저하게 이해하고 있습니다. - 편집자 주 ). 라이브러리는 오픈소스 생태계에서 매우 중요한 부분입니다. 대규모 커뮤니티가 주변에서 성장하여 이를 개발하고 지원합니다. 정말 훌륭해요. 라이브러리의 가장 큰 장점은 코드를 작성할 때마다 수레바퀴를 다시 만들지 않아도 된다는 것입니다. 특정 작업을 위해 이미 작성된 코드인 라이브러리를 최대한 자주 사용하세요! 시간을 절약할 수 있습니다. 진지하게, 가족이나 친구들과 어울리는 것이 더 좋습니다.

상위 10 개

이 노트에서는 제가 작업에 사용하기를 선호하는 Java 라이브러리에 대해 언급했습니다. 그들 모두는 오픈 소스 소프트웨어입니다. 저는 유용성, 좋은 문서, 지원, 정기적인 업데이트를 토대로 이 앱을 선택했습니다. 이는 저의 개인적인 선택이며, 귀하의 선택과 크게 다를 수 있음을 다시 한 번 강조하고 싶습니다.

1. 자바 표준 라이브러리

응, 응, 그렇게 생각하지 않았어! 게다가 많은 사람들은 Java 표준 라이브러리의 엄청난 기능을 모르고 프로그래밍에서 그 잠재력을 발휘하는 방법을 알지 못하며 심지어 전혀 사용하지도 않는다는 사실을 과소평가합니다. 다음은 그 중 일부에 대한 간략한 설명입니다.
  • java.lang . 이 라이브러리는 기본적으로 프로그래밍할 수 없는 모든 항목( String , Double , Enum , Math 등)을 포함하므로 항상 모든 Java 애플리케이션으로 가져옵니다.

  • java.util 에서는 Java에서 사용할 수 있는 모든 컬렉션과 데이터 구조를 찾을 수 있습니다.

  • 다음으로 파일 읽기, 스트림 실행, Pipe 클래스 객체 등을 위한 java.io가 있습니다 .

  • 아마도 처음 세 가지에 대해서는 이미 들어보셨을 것입니다. 하지만 모든 사람이 java.io 의 대안인 java.nio 에 대해 아는 것은 아닙니다. 이 라이브러리는 비차단 I/O를 담당하므로 짐작할 수 있듯이 I/O 집약적인 사용이 가능합니다.

  • java.net은 소켓 작업, 연결 생성 또는 짧은 네트워킹 애플리케이션에 사용됩니다.

  • Java에는 GUI 작업을 위한 라이브러리 인 javax.swing (오래된 java.awt 의 다소 오래된 확장 ) 도 있습니다 .

  • java.sound를 사용하여 음악을 재생하고 MIDI 파일을 생성할 수도 있습니다 .

2. J힙스터

JHipster는 Spring, Spring-MicroServices, Netflix, Docker, Kubernetes, AngularJs, Liquibase, MongoDB, Cassandra, ElasticSearch와 같은 가장 현대적이고 세련된 기술을 사용하여 부하가 높은 확장 가능한 웹 서버를 신속하게 배포, 개발 및 생성하기 위한 플랫폼입니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 2
솔직히 말해서, 이 "Java 힙스터"는 내 인생의 몇 달을 확실히 구해주었습니다. 나는 JHipster가 목록에서 개인적으로 가장 좋아하는 것이며 내 마음 속에 특별한 자리를 차지하고 있다고 확실히 말할 수 있습니다. 이 도구는 분산 웹 서버 프로젝트의 스케치를 생성하는 데 거의 필수적입니다. 종속성이 있는 pom 파일을 생성하고 탄력적 검색 및 연결을 구성할 수 있으며, 아키텍처의 비즈니스 로직을 추가하기만 하면 됩니다. 생성된 프로젝트에 포함된 기본 및 가장 중요한 라이브러리는 다음과 같습니다.
  • Spring Boot는 애플리케이션 개발 속도를 높이고 단순화하는 데 도움이 됩니다.
  • Angular /AngularJS - JavaScript 프레임워크
JHipster 에 대한 자세한 정보는 여기에서 확인할 수 있습니다 .

3. 메이븐

Maven은 Java 프로젝트를 빌드하는 데 가장 널리 사용되는 세 가지 도구 중 하나입니다. 그는 컴파일, jar 파일(Java 아카이브) 생성, 프로그램 배포 생성 및 문서 생성을 담당합니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 3
각 최신 프로젝트는 다양한 파일, 모듈, 기술로 구성됩니다. 매우 간단하게 말하면, 프로젝트를 구축한다는 것은 "작동하는" 버전, 즉 실행을 위해 시작할 수 있는 프로그램을 준비하는 것입니다. 이 작업은 명령줄에서 수동으로 수행하거나 특수 스크립트를 작성할 수 있습니다. 그러나 특별한 응용 프로그램을 사용하면 이 작업을 수행하는 것이 훨씬 쉽습니다. 이를 "자동 조립 시스템"이라고 합니다. Maven은 이러한 세 가지 프로그램 중 하나이며 나머지 두 개는 Gradle과 Ant입니다. 이러한 시스템은 프로젝트의 소스 코드를 입력으로 받고, 출력은 실행할 수 있는 프로그램입니다.
프로젝트 구조(종속성, 구성, 문서)는 프로젝트의 루트 폴더에 있는 pom.xml 파일(POM - 프로젝트 개체 모델)에 설명되어 있습니다. 솔직히 Maven은 처음에는 그다지 명확하지 않더라도 훌륭한 것입니다. 이전에 Maven을 사용해 본 적이 없다면 놓치고 있는 것입니다. 솔직히 저는 Maven 이전에 Enterprise 애플리케이션이 어떻게 만들어졌는지조차 이해하지 못합니다. 여기에서 러시아어로 된 Maven에 대해 읽을 수 있습니다 .

4. 아파치 커먼즈

Apache Commons는 실제로 Java 라이브러리 생성에 초점을 맞춘 전체 프로젝트입니다. 또는 다양한 목적을 위한 "대규모 소규모 Java 유틸리티 세트"입니다. 그건 그렇고, Apache Commons 유틸리티는 Tomcat, Hibernate 등과 같은 매우 잘 알려진 여러 프로젝트의 기초입니다. 다음은 가장 일반적으로 사용되는 Apache Commons 라이브러리의 간단한 목록입니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 4
  • 커먼즈 수학 . Apache Commons Math Library는 이름에서 모든 것을 말해줍니다. 복잡한 수학적, 통계적 연산과 계산을 위한 구성 요소가 포함되어 있습니다.

  • 커먼즈 CLI . 명령줄 인수를 구문 분석하기 위한 API를 제공합니다. 매개변수를 전달하고 동작을 제어하는 ​​기능 없이 애플리케이션을 만드는 것은 생각조차 할 가치가 없습니다!

  • 커먼즈 CSV . 무엇을 개발하든, 어느 시점에서는 csv 파일을 사용해야 하는 필요성을 처리해야 합니다. 즉, 파일을 열고, 읽고, 편집하고, 저장하고, 생성해야 합니다. 파일을 저장/생성할 때 CSVFormat 클래스의 RFC 4180 형식과 UTF-8 인코딩을 사용하는 것이 좋습니다.

  • 커먼즈 I.O. I/O 작업을 단순화하는 데 사용됩니다. 최소한 ReversedLinesFileReader를 살펴보세요. 그만한 가치가 있습니다!
여기에서 Apache Commons(영문)에 대해 읽을 수 있습니다 .

5. 구아바

Guava는 Java용 Google 핵심 라이브러리 세트입니다. 새로운 컬렉션 유형(예: 멀티맵 및 멀티셋), 불변 컬렉션, 그래프 라이브러리, 기능 유형이 포함되어 있습니까? 동시성, I/O, 해싱, 문자열 처리 등을 위한 유틸리티입니다. 이러한 모든 도구는 Google 전문가가 업무에 사용하며 이는 이미 좋은 권장 사항입니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 5
어느 정도 Guava는 Apache Commons의 대안입니다. 사실 우리는 Guava에 대해 오랫동안 이야기할 수 있지만(꼭 주의하세요!) 여기서는 이 라이브러리의 유용한 점 하나만 언급하겠습니다. 컬렉션을 정리하거나 그 안에 있는 콘텐츠를 비교하는 데 이미 어려움을 겪어보셨나요? 여러 조건이 있는 여러 열에 대한 고급 정렬 및 비교는 어떻습니까? ComparisonChain 구성 요소는 컬렉션에 대한 고급 및 복잡한 정렬을 구현하는 데 사용됩니다. 여기에서 Guava(영문)에 대해 읽어보실 수 있습니다 .

6. 구글-그슨

google-gson 라이브러리는 Java 객체를 JSON으로 또는 그 반대로 변환하는 데 유용합니다. 이는 모바일 애플리케이션을 개발하고 REST API를 생성/사용할 때 또는 Java 객체를 JSON 표현으로 또는 그 반대로 변환해야 할 때마다 특히 유용합니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 6
Java Collections 퀘스트 를 통해 JSON(JavaScript Object Notation), Guava, Apache Commons 및 기타 흥미로운 사항에 대해 배우게 됩니다 .
여기에서 google-gson(영문)에 대해 읽을 수 있습니다 .

7. 최대 절전 모드-ORM

Hibernate는 ORM(객체 관계형 매핑) 문제를 해결하도록 설계된 라이브러리입니다. Hibernate ORM은 관계형 데이터베이스에 데이터를 저장하는 데 사용됩니다. 이는 개발자가 이 작업을 수행할 수 있는 더 간단하고 추상적인 방법을 제공합니다. 구현에는 JDBC를 사용합니다. Hibernate는 JPA 사양의 구현이기도 합니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 7
여기에서 Hibernate ORM(영문)에 대해 읽을 수 있습니다 .

8. 모키토

Mockito라는 이름에 속지 마십시오. 이것은 칵테일에 관한 것이 아니라 모의 개체를 위한 라이브러리에 관한 것입니다. 모의 객체는 주어진 체계에 따라 실제 객체의 동작을 모방하는 객체입니다. 예를 들어 단위 테스트의 경우 이러한 "가짜" 개체는 비즈니스 개체의 동작을 시뮬레이션할 수 있습니다. Mockito 모의 라이브러리는 모의 객체 생성 및 사용의 편의성을 높여줍니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 8
여기에서 Mockito에 대한 정보를 찾을 수 있습니다 .

9. J유닛

JUnit은 단위 테스트(일명 단위 테스트)를 생성하기 위한 무료 Java 프레임워크입니다. 이 라이브러리는 가장 인기 있는 라이브러리 중 하나이며 거의 모든 사람이 사용합니다. 새로운 Java 개발자와 Java 교육생은 "코드를 테스트로 다루어야" 하는 경우가 매우 많기 때문에 가능한 한 빨리 파악하는 것이 좋습니다. 그리고 이것은 경력에 있어서 최악의 시작과는 거리가 멀다고 말해야 합니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 9
Junit에 대한 자세한 내용은 여기를 참조하세요 .

10.Log4j와 Slf4j

이 두 프레임워크는 Java 애플리케이션이 실행되는 동안 발생하는 특정 이벤트를 기록하기 위한 루틴 작업의 구현을 숨기도록 설계되었습니다. Slf4j는 다른 로깅 프레임워크(동일한 Log4j)에 대한 추상화입니다.
시간을 절약해 주는 상위 10개 Java 라이브러리 - 10
Log4jSlf4j 에 대한 추가 정보 .
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION