728x90
반응형

Back-end 16

Redis: 프론트엔드 개발자가 알아야 할 핵심 개념 🧠

Redis에 대해 톺아보자! 🧠Redis는 “REmote DIctionary Server”의 약자로, 빠른 데이터 접근과 효율적인 자원 관리를 가능하게 하는 인메모리 데이터 구조 저장소입니다. 데이터베이스, 캐시, 메시지 브로커 등 다양한 역할을 수행하며 현대 웹 애플리케이션에서 없어서는 안 될 도구로 자리 잡았죠. 이 글에서는 Redis의 개념, 작동 원리, 프론트엔드 개발자가 알아야 할 내용, 그리고 Kafka와의 차이점에 대해 풀어보겠습니다!🚀 Redis란 무엇인가요? Redis는 단순한 키-값 저장소가 아니라 다양한 데이터 구조를 지원하며, 빠른 데이터 처리 속도로 유명합니다.이제 Redis의 핵심 특징을 하나씩 뜯어볼까요?1️⃣  키-값 저장소구조: Redis는 데이터를 키(Key)와 값(V..

Back-end 2024.09.23

Optional을 톺아보자!

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

Back-end/Java 2024.07.29

AWS S3 사용하는법!

AWS S3란?Amazon Simple Storage Service(S3)는 확장 가능하고 고가용성 및 보안성을 갖춘 객체 스토리지 서비스다.@Configuration을 통해 S3 클라이언트 설정서비스 계층에서 파일 업로드 및 다운로드 기능을 구현컨트롤러를 통해 RESTful API를 제공위 과정을 거치면 간편하게 파일 관리 기능을 제공할 수 있고 클라이언트는 웹의 어디에서나 데이터를 저장하고 검색할 수 있다.주요 특징무한대에 가까운 확장성을 가진다. S3는 엄청난 양의 데이터를 저장할 수 있다. 여러 시설에 데이터를 자동으로 복제해, 99.999999999% (11 9's)의 고가용성 및 내구성을 제공하고 데이터 손실을 방지한다.데이터를 암호화할 수 있어, 다양한 규정 준수 요구사항을 충족하는 보안 및..

Back-end/SpringBoot 2024.07.15

스프링에서 DB 트랜잭션을 어떻게 사용할까?

스프링 부트에서의 DB 트랜잭션은?트랜잭션이란?DBMS에서 일련의 연산들을 하나의 단위로 묶어 처리하는 작업이다.한 작업 단위는 모두 성공하거나 모두 실패해야 하고, 부분적으로만 성공하는 상태는 허용되지 않는다.트랜잭션은 데이터베이스의 일관성을 유지하고 데이터 무결성을 보장하기 위해 중요한 역할을 하고있다.스프링 부트는 트랜잭션 관리를를 위해 다양한 기능을 제공하고 있고, 덕분에 디비 작업은 일관성과 무결성이 보장되고 있다.@Transactional 애너테이션을 사용하면 코드의 간결성과 가독성을 높이면서도 트랜잭션의 일관성과 무결성을 보장할 수 있다!트랜잭션 전파 속성, 격리 수준, 롤백 조건 등을 적절히 활용하여 안정적이고 신뢰할 수 있는 데이터베이스 작업을 구현하는 것이 상당히 중요하당트랜잭션의 기본..

Back-end/SpringBoot 2024.07.15

Persistence Context란 무엇일까?

영속성 컨텍스트(Persistence Context)란?JPA(Java Persistence API)의 핵심 개념 중 하나로, 엔티티 객체를 관리와 데이터베이스와의 동기화를 담당하고 한다.Entity의 생명 주기를 관리데이터베이스와의 상호 작용을 효율적으로 처리하는 역할객체 지향적인 방법으로 데이터베이스 작업 가능성능 최적화 및 데이터 일관성을 보장특정 엔티티 매니저(EntityManager)와 관련된 저장소 -> 엔티티 매니저를 통해 관리되는 엔티티 객체들을 보관결론영속성 컨텍스트는 JPA의 강력한 기능으로, 이를 통해 개발자는 객체 지향적인 방식으로 데이터베이스 작업을 수행할 수 있으며, 니다. 하지만 메모리 관리와 준영속 상태의 엔티티 처리에 주의를 기울여야 합니다.주로 하는 일엔티티의 생명 주기..

Back-end/SpringBoot 2024.07.15

JWT 토큰 기반 로그인 구현하기(1)

의존성 추가유저 모델 및 리포지토리JWT 유틸리티 클래스유저 서비스JWT 필터컨트롤러스프링 시큐리티 설정이 포스팅에는 1~4단계 까지만 담았다.1. 프로젝트 설정 및 의존성 추가build.gradle 파일에 필요한 종속성을 추가한다.// build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'io.jsonwebtoken:jjwt:0.9.1' implementation 'org.springframework.boot:spri..

Back-end/SpringBoot 2024.07.08

Bean이란 무엇일까?

빈(Bean) 이란?스프링의 핵심 구성 요소로, 스프링 IoC(Inversion of Control) 컨테이너가 관리하는 자바 객체를 의미한다.의존성 주입(Dependency Injection)을 통해 애플리케이션 컴포넌트 간의 결합도를 낮추고 유연성과 유지 보수성을 높여준다.애플리케이션의 비즈니스 로직을 구현에 사용되며, DI와 AOP에서 중요한 역할을 한다.빈의 특징 및 장점재사용성스프링 컨테이너가 관리하는 빈은 여러 컴포넌트에서 재사용될 수 있다.유지보수성의존성 주입을 통해 코드의 결합도를 낮추고, 유지보수성을 높일 수 있다.테스트 용이성빈을 모의 객체(mock object)로 대체하여 단위 테스트를 쉽게 할 수 있다.모듈화빈을 모듈화하여 코드의 구조를 명확하게 하고, 기능을 분리할 수 있다.1. ..

Back-end/SpringBoot 2024.06.24

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
728x90
반응형