[Java] 스택(Stack)이랑 큐(Queue)가 뭔데? + 코딩테스트 문제
·
알고리즘 & 코딩 테스트/알고리즘
1. 스택(Stack) 1 - 1. 스택이란? "쌓다", 데이터를 차곡차곡 쌓아 올린 형태의 자료구조를 말합니다 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을 수 있습니다. 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 LIFO(Last In First Out) 구조 가장 최근에 스택에 삽입된 자료의 위치를 top이라고 합니다. 활용 예시 웹 브라우저 뒤로가기 실행 취소(Ctrl + z) 역순 문자열 만들기 후위 표기법 계산 수식의 괄호 검사(연산자 우선순위 표현을 위한 괄호 검사) 1 - 2. 자바에서의 스택 자바에서의 스택은 Stack 클래스를 구현하여 제공하고 있습니다. Stack st = new Stack(); Stack의 메서드 boolean empty() : Stack이 비어있는지 확인 ..
[Java] 오버로딩(OverLoading)??
·
Java
1. 오버로딩(OverLoading)이란? 메서드는 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 합니다. 그러나 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있습니다. 이것을 오버로딩(OverLoading)이라고 합니다. 2. 오버로딩(OverLoading)의 조건 메서드 이름이 같아야 합니다. 매개변수의 개수 또는 타입이 달라야 합니다. 변환타입은 영향이 없습니다. 3. 예시 3 - 1. 대표적인 예시 "println" 가장 대표적인 예시로 println 메서드가 있습니다. println메서드를 호출할 때 매개변수로 지정하는 값의 타입에 따라서 호출..
[Spring / JPA] Server-Sent-Events(SSE)와 OSIV
·
Spring
1. 서론 요즘 대부분 Spring Boot JPA를 많이 사용하고 추가로 SseEmiters로 실시간 알림기능 구현을 하려고 하면 대다수 IOException : Broken Pipe, Connection is not available, request timed out after 30004ms 이런 에러가 발생할 것입니다. 원인은 JPA의 영속성 컨텍스트, OSIV가 true로 설정되서 생기는 문제입니다. 이 글에서는 OSIV가 뭔지 정확히 왜 이런 에러가 생기는 건지 알아보고자 합니다. 2. 프록시 객체와 지연로딩 2 - 1. 프록시란? 프록시는 실제 클래스를 상속 받아서 만들어진 가짜 객체라고 할 수 있습니다. 이러한 프록시 객체는 실제 객채의 참조를 보관하는 특징을 가지고 있어 프록시 객체를 통해..
[CS / Server] 서버와의 데이터 통신 HTTP, AJAX 통신, WebSocket, SSE 각각 알아보자
·
Computer Science
현대 소프트웨어 개발에서 서버와의 효율적인 데이터 통신은 핵심적인 주제 중 하나입니다. 이에 따라 HTTP, AJAX, WebSocket, SSE와 같은 다양한 통신 프로토콜과 기술들이 등장했습니다. 이번 글에서는 각각의 특징과 활용 방법을 자세히 살펴보겠습니다. 웹과 애플리케이션 개발에 필수적인 이 기술들을 이해하고 활용함으로써 보다 효과적이고 동적인 데이터 통신을 구현할 수 있습니다. 1. HTTP HyperText Transfer Protocol HTTP에서는 클라이언트가 서버에 요청 메시지를 보내면 이에 대해 서버가 응답 메시지를 반환합니다. 서버는 응답 메시지를 반환한 후에 초기 상태로 돌아갑니다. 이 때 서버는 클라이언트의 상태를 저장하지 않습니다. 즉, HTTP 프로토콜은 상태가 없는 프로토..
[LoaTodo] 이메일 인증 추가후 구글 로그인 error
·
Project/LoaTodo
1. 서론 현재 LoaTodo는 구글 로그인으로만 가입이 가능한 상태인데 추가로 일반적인 회원가입과 로그인도 추가하려고 한다. (사실 원래 있었다가 굳이 있어야하나 싶어서 뺐었다...) 간단한 로그인 / 회원가입 코드와 JWT 관련 로직은 있어서 추가로 이메일 인증 정도만 넣으면 되는데 여기에 Redis를 추가해보려고 한다. 당장으로는 이메일 인증 유효시간에 쓰고 추후 코드 리팩토링할 때 서버 최적화를 위해 사용할 예정이다. [Spring] Spring Boot Redis 사용하기 / 이메일 인증 유효시간 Redis는 key-value 구조로 데이터를 저장하는 In-memory 기반의 데이터베이스 시스템입니다. Spring boot 에선 어떻게 구현하는지 알아봅시다. 1. 먼저 Redis란? 먼저 Red..
[Spring] Spring Boot Redis 사용하기 / 이메일 인증 유효시간
·
Spring
Redis는 key-value 구조로 데이터를 저장하는 In-memory 기반의 데이터베이스 시스템입니다. Spring boot 에선 어떻게 구현하는지 알아봅시다. 1. 먼저 Redis란? 먼저 Redis가 어떤건지는 블로그 다른 게시글에 작성해놨습니다. [CS / DataBase] 인메모리 데이터 저장소 Redis, 왜 사용할까? 개발을 하면서 트랜잭션의 속도를 어떻게 하면 줄일 수 있을까? 고민하면서 찾아보면 Redis라는 시스템을 접하게 된다. 그럼 이 Redis는 무엇일까? 1. 레디스(Redis) 란? Redis의 풀네임에서 할 수 있듯 repeater2487.tistory.com 2. Spring Boot에서 Redis 사용하기 2 - 1. 기본 설정 [ 의존성추가 ] 저는 대게 gradle를..
마볼링
게임을 좋아하는 개발자의 블로그