728x90
반응형

Back-end/Java 8

Optional을 톺아보자!

자로 잰듯 정확한 자바이기에 빈 값은 그냥 넘어갈 수가 없다.이때 쓰는 것이 Optional이다.Optional은 Java 8에서 도입된 클래스다.값이 존재할 수도 있고 없을 수도 있는 컨테이너다.주로 null을 처리하는 데 사용되고 있고, null을 직접 다루는 것과 관련된 오류를 줄이는 데에 많이 쓰는 것으로 보인다.Optional을 사용하면 메서드가 null을 반환할 가능성을 명확하게 표현할 수 있다보니 JPA에선 자주볼 수 있었다.주요 메서드Optional 클래스에는 값을 다루기 위한 다양한 메서드가 제공된다."값을 반환하거나? 아니면 ~" 라는 틀은 동일한데 null 값을 처리하는 반응이 각각 다르다.of() 값이 존재하는 Optional 객체를 반환! null 값을 넣으면 NullPointer..

Back-end/Java 2024.07.29

Logback이란 무엇일까?

Logback이란?Java 기반 애플리케이션에서 로깅을 관리하기 위한 강력하고 유연한 로깅 프레임워크다.Logback은 SLF4J(Simple Logging Facade for Java)의 기본 구현체로, 성능, 구성 가능성, 확장성 면에서 높은 평가를 받고 있다.1. Logback의 주요 구성 요소logback-core다른 두 모듈의 기반을 이루는 모듈이다.logback-classicSLF4J API를 구현하며, Log4j와 유사한 기능을 제공한다.logback-access서블릿 환경에서 HTTP 액세스 로깅을 제공한다.2. Logback의 주요 기능2.1. 로거(Logger)로거는 로깅 요청을 수신하는 주요 구성 요소다. 각 클래스나 모듈에서 개별 로거를 생성하여 사용한다.Logger 생성Logger..

Back-end/Java 2024.06.24

SLF4J란 무엇일까?

SLF4J란?Simple Logging Facade for Java의 줄임말로 Java 로깅 시스템에 대한 추상화 계층을 제공하는 라이브러리다.SLF4J는 개발자가 특정 로깅 프레임워크에 종속되지 않도록 해주며, 런타임 시 로깅 프레임워크를 선택할 수 있는 유연성을 제공한다.로깅 구현체를 쉽게 교체하거나 여러 로깅 프레임워크를 사용하는 프로젝트에서 일관된 로깅 API를 사용할 수 있게 된다.1. SLF4J의 주요 개념1.1. 추상화 계층SLF4J는 여러 로깅 프레임워크에 대한 일관된 인터페이스를 제공한다.개발자가 SLF4J API를 사용하여 코드를 작성하면, 런타임 시에 원하는 로깅 프레임워크로 연결할 수 있다.1.2. 바인딩(binding)SLF4J는 바인딩을 통해 특정 로깅 프레임워크와 통합된다.SL..

Back-end/Java 2024.06.24

Tomcat이란 무엇일까?

Apache Tomcat이란?Java 서블릿과 JSP(JavaServer Pages) 기술을 실행하는 오픈 소스 웹 서버이자 서블릿 컨테이너다.Apache Software Foundation에서 관리하는 프로젝트로, 웹 애플리케이션을 실행하고 개발하는 데 중요한 역할을 한다.Java EE(Java Platform, Enterprise Edition)의 서블릿과 JSP 사양을 구현하여 웹 애플리케이션 개발 및 배포를 지원한다.1. 주요 기능1.1. 서블릿 컨테이너서블릿Java 클래스로 작성된 서버 측 애플리케이션 컴포넌트로, HTTP 요청과 응답을 처리한다.서블릿 컨테이너서블릿 생명 주기를 관리하고, 요청을 서블릿에 매핑하며, 서블릿과 관련된 리소스를 제공하는 역할을 한다.1.2. JSP(JavaServe..

Back-end/Java 2024.06.24

Gradle이란 무엇일까?

Gradle이란?간단히 말하면 오픈 소스 빌드 자동화 시스템이다.자바, 그루비, 코틀린 같은 JVM 언어뿐만 아니라 C/C++ 등 다양한 언어들의 프로젝트의 빌드, 테스트, 배포 등을 자동화해주는 도구다.Gradle은 유연성과 확장성을 갖추고 있어, 대규모 프로젝트에서도 효율적인 빌드 관리를 할 수 있다.개발하는 동안 사용하는 라이브러리들이 가지고 있는 복잡한 의존관계를 확인하고 함께 다운로드 해주는 역할을 한다.Gradle의 주요 특징빌드 스크립트 언어Gradle 빌드 스크립트는 그루비(Groovy) 또는 코틀린(Kotlin) 언어로 작성된다.이를 통해 유연한 빌드 스크립트 작성이 가능하고, 기존의 안트(Ant)나 메이븐(Maven)보다 더 간결한 빌드 로직 표현이 가능하다다.의존성 관리프로젝트에서 사..

Back-end/Java 2024.06.23

JDK와 JRE란 무엇일까?

JDK(Java Development Kit) 란?자바 개발 키트로, 자바 애플리케이션을 개발하고 실행하기 위한 도구 모음이다.주로 개발자들이 자바 프로그램을 작성하고 컴파일하며, 실행할 수 있는 환경을 제공한다.JDK의 주요 구성 요소:자바 컴파일러(Java Compiler, javac)자바 소스 코드(.java 파일)를 바이트 코드(.class 파일)로 변환하는 역할을 한다.자바 런타임 환경(Java Runtime Environment, JRE)JRE는 JDK에 포함되어 있으며, JVM(Java Virtual Machine)과 자바 클래스 라이브러리들을 비롯해 자바 프로그램을 실행하는 데 필요한 모든 기능을 제공한다.디버깅 도구 및 기타 개발 도구들:JDK는 디버깅을 지원하는 도구들과 코드 분석 도구..

Back-end/Java 2024.06.23

JVM이란 무엇일까? 자바가 느린 이유는 뭘까?

JVM (Java Virtual Machine)이란?JVM은 자바 가상 머신(Java Virtual Machine)의 약자로, 자바 프로그램이 실행되는 환경을 제공하는 가상 컴퓨터다.자바는 바이트코드(Bytecode)로 컴파일된 후 JVM에서 해석되어 실행된다.바이트 코드(Bytecode) 란?자바 컴파일러에 의해 생성되는 중간 언어로 JVM에서 실행될 수 있는 명령어들의 집합이다.자바 소스 코드(.java 파일)는 자바 컴파일러(javac)에 의해 바이트 코드(.class 파일)로 변환이 된 후 JVM에서 실행된다.이 과정을 통해 자바의 플랫폼 독립성과 다양한 환경에서의 실행 가능성을 보장할 수 있게된다.JVM의 주요 기능바이트코드 실행: 자바 컴파일러에 의해 생성된 바이트코드를 해석하고 실행한다.메모..

Back-end/Java 2024.06.23

자바! 알고 사용하자~

자바(Java)란?1995년에 Sun Microsystems(현재는 Oracle)에 의해 처음 발표된 객체지향 프로그래밍 언어다.자바는 운영체제로 부터 독립성을 갖추고 있어 "Write once, run anywhere(한 번 작성하면 어디서나 실행할 수 있다)"는 특성을 지닌다.또한 다양한 플랫폼에서의 개발과 유지보수를 용이하게 하며, 대규모 소프트웨어 시스템의 개발에 적합하도록 한다.이러한 특성 때문에 웹 애플리케이션, 모바일 애플리케이션, 엔터프라이즈 소프트웨어 등 다양한 분야에서 널리 사용되고 있다.자바의 주요 특징운영체제에 독립적이다자바 프로그램은 타 어플리케이션과 다르게 JVM(Java Virtual Machine) 위에서 작동한다.JVM에 의탁한 작동원리 때문에 동작 속도가 느리다는 단점이 ..

Back-end/Java 2024.06.23
728x90
반응형