Spring 69

WebSocket 라이브러리 (dependenc)

WebSocket을 활용한 실시간 화면 공유 프로그램 구현 시 사용하는 라이브러리웹소켓을 활용한 실시간 화면 공유 프로그램을 작성하면서 WebRTC를 알게 되었고, 관련하여 자주 사용되는 라이브러리 두 가지 였습니다:spring-boot-starter-websocketimplementation 'org.springframework.boot:spring-boot-starter-websocket'spring-websocketimplementation 'org.springframework:spring-websocket:6.1.13'spring-boot-starter-websocketspring-boot-starter-websocket은 Spring Boot 프로젝트에서 WebSocket을 쉽게 사용할 수 있도..

Spring 2025.02.27

객체지향 (복습)

절차 지향 VS 객체 지향 절차 지향 모델링은 프로그램을 기능중심으로 바라보는 방식으로 "무엇을 어떤 절차로 할 것인가?"가 핵심이 된다. 즉, 어떤 기능을 어떤 순서로 처리하는가에 초점을 맞춘다.객체 지향 모델링은 기능이 아닌 객체가 중심이 되며 "누가 어떤 일을 할 것인가?"가 핵심이 된다. 즉, 객체를 도출하고 각각의 역할을 정의해 나가는 것에 초점을 맞춘다. 객체 지향 특징 :추상화(abstraction)객체들의 공통적인 특징(기능, 속성)을 도출하는 것객체지향적 관점에서는 클래스를 정의하는 것을 추상화라고 할 수 있다.(클래스가 없는 객체지향 언어도 존재 ex.JavaScript)캡슐화(encapsulation)실제로 구현되는 부분을 외부에 드러나지 않도록 하여 정보를 은닉할 수 있다.객체가 독..

Spring/면카 2024.04.26

Spring POJO (Portable Service Abstraction)

POJO (Plain Old Java Object)POJO란 Plain Old Java Object의 약자로, 이를 직역하면 순수한 오래된 자바 객체이다.즉, Java로 생성하는 순수한 객체를 뜻한다.https://siyoon210.tistory.com/120 POJO - (Plain Old Java Object)란 뭘까?POJO 자바나 스프링 프레임워크를 조금이라도 공부 해본 개발자 (혹은 학생)이라면 POJO 라는 단어를 한번쯤 듣게됩니다. POJO의 정의는 사실 그렇게 어렵지 않습니다. 아래 내용은 위키 백과에 나siyoon210.tistory.com  PSA(Portable Service Abstraction) 서비스를 압축하다Java Spring의 PSA(Portable Service Abstr..

Spring 2024.04.26

캐시 매니징

https://sehuncodingjournal.tistory.com/96 제가 쓴거지만 한번 보고 오면, 이해가 더 쉬워 집니다. Redis (Cashing 캐싱/성능 높히기) Redis란? Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템 (DBMS)이다. 데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데 sehuncodingjournal.tistory.com 출처 https://velog.io/@songs4805/Spring-Cache%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90 Spring Cache에 대해 알아보자 애플리케이션을 개발하며 쓰기 동작..

Spring 2024.04.04

Redis 동시성 제어 (수정중)

구현 @Transactional public Long updateBoard(Long boardId, BoardRequest boardRequest, User user) { Board board = getBoardById(boardId); RLock lock = redissonClient.getFairLock("board:" + boardId); try { // tryLock 메소드를 사용하여 10초 동안 락을 획득 시도, 최대 60초 동안 락 유지 if (lock.tryLock(10, 60, TimeUnit.SECONDS)) { try { // 락을 성공적으로 획득한 경우의 처리 checkBoardStateIsTrue(board); validateBoardOwner(user, board); updateB..

Spring 2024.03.22

Redis (Cashing 캐싱/성능 높히기)

Redis란? Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템 (DBMS)이다. 데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데이터 구조를 가진 저장소이다. RedisTemplate Redis config package com.sparta.scv.global.config; import java.time.Duration; import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.EnableCaching; import ..

Spring 2024.03.21

Redis 장점과 설치

Redis 캐시 Spring에 적용해보기 01. Redis 정의 Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템 (DBMS)입니다. 데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데이터 구조를 가진 저장소입니다. 02. Redis 장점 높은 성능 Redis는 인메모리 데이터 저장소로 작동하므로 빠른 속도로 데이터를 처리할 수 있다. 비동기 방식으로 데이터를 처리하므로 성능이 향상된다. 데이터 구조 다양성 Redis는 다양한 데이터 구조를 지원하므로, String, List, Hash, Set 등을 통해 데이터를 쉽게 처리할 수 있다. 데이터 복제 및 분산 Redis는 데이터 복제를 지원한다. 클러스터링을 통해 데이터를 분산 ..

Spring 2024.03.21

TDD , 테스트 팁

Intro 헷갈리는 여러 테스트 이론 정리 “구글 엔지니어는 이렇게 일한다” 를 읽고 개발자의 생산성을 높여주는 테스트에 관한 인사이트를 공유 1. 테스트 이론 단위 테스트와 통합 테스트 단위 테스트 : 가장 작은 단위의 테스트 방식. 메서드 단위로 테스트를 수행하고, 의도한 결과값이 나오는지 확인하는 수준 (ex: controller, service, repository… 격리해서 따로따로) 통합 테스트 : 어플리케이션이 정상적으로 동작하는지 확인. 여러모듈을 함께 테스트 (ex: controller 메소드를 호출하면 controller → service→ repository 모두 수행) TDD (Test Driven Development) 코드 유지보수 및 운영 환경에서의 에러를 방지하기 위해 단위별..

Spring 2024.03.20