전체 글
-
[Java] 새로 도입된 Record 무엇인가?Java 2024. 6. 12. 14:03
Java11를 사용하다가 최근 플젝으로 인해 Java17로 바꾸면서 Record란 클래스를 접하게 되어 공부한 내용이다 Record?자바 14 버전에 도입되고 16버전에서 정식 스펙으로 채택된 클래스이다데이터를 다루기 위한 데이터 클래스로 사용된다 자동으로 생성자를 만들어주고 getter, equals, hashCode, toString을 자동으로 생성필드를 final로 생성해줌으로써 불변 데이터로 관리 할 수 있음record 내 각 필드(헤더에 나열한 컴포넌트)는 private final로 정의된다다른 클래스를 상속 받을 수 없지만, 인터페이스로는 구현이 가능하다. (extends : X, implements : O)레코드 내부에 멤버 변수(인스턴스 필드)를 선언할 수 없다. 그러나 static 변수..
-
[자료구조] 그래프(Graph)자료구조 2024. 6. 10. 15:54
말하기에 앞서 우선 그래프는 비선형 자료구조이다 비선형자료구조 데이터를 일렬로 구성하지 않고 자료 순서나 관계가 복잡한 자료구조 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 형태트리와 그래프가 대표적이고 계층적 구조를 나타내기에 적절하다💡그래프란? 여러 개의 노드(node)와 이 노드들을 연결하는 간선(edge) 으로 관계를 표현한 자료구조이다.정확히는 정점(vertex) 간의 관계를 표현한 조직도 이다. 구성 요소노드(node) : 정점(Vertice) 라고도 하는 데이터가 저장되는 그래프의 기본 원소간선(edge) : 노드 간의 관계를 나타내는 선인접 정점(adjacent Vertex) : 간선에 의해 직접 연결되어 있는 정점 ex) 1 노드 기준으로 인접 정점은 0, 2, 3 이다단순 경..
-
[네트워크] 쿠키(Cookie), 세션(Session), 토큰(Token)네트워크 2024. 6. 9. 20:31
💡이걸 왜 쓸까?http 특징때문이다http는 웹에서 이루어지는 모든 데이터전송의 기본이 되는 프로토콜이다이 http는 비연결성(connectionless), 비상태성(stateless)라는 특징을 가지고 있다이런 특징으로 서버는 확장성이 높아진다는 장점을 가질 수 있다 Connectionless 프로토콜(비연결 지향)클라이언트가 서버에 요청을 했을 때, 요청에 맞는 응답을 보낸 후 연결을 끊는 처리방식이다.Stateless 프로토콜(상태정보 유지 안함)클라이언트의 상태 정보를 가지지않는 서버 처리 방식이다. 클라이언트와 첫번재 통신에 데이터를 주고 받았다 해도, 두버재 통신에 이전 데이터를 유지하지않는다. 문제점 한 사람이 웹사이트를 사용하기 위해 서버에 보내는 모든 요청은 연결성이 없어서 항상 다른..
-
[디자인 패턴] MVC 패턴? MVP 패턴? MVVM 패턴?디자인 패턴 2024. 6. 1. 13:40
MVC (Model - View - Controller) 패턴Model, View, Controller 세개의 컴포넌트로 구성되어 있는 패턴이다1. Model애플리케이션의 데이터인 데이터베이스, 상수, 변수 등을 뜻한다애플리케이션의 데이터 및 비즈니스 로직을 담당뎅이터베이스와의 상호작용, 데이터 검증 등을 수행한다 2. View사용자 인터페이스 요소를 나타낸다모델을 기반으로 사용자가 볼 수 있는 화면을 뜻한다사용자 입력을 컨트롤러에 전달한다모델이 가지고 있는 정보를 따로 저장하지 않아야 한다 3. Controller모델과 뷰를 잇는 다리 역할을 한다모델과 뷰의 생명주기를 관리한다사용자 입력을 처리하고 모델을 업데이트하며 모델에서 받은 데이터를 뷰에 전달한다 장점 재사용성과 확장성이 용이하다 단점애플리케..
-
[Spring] 스프링 빈(Bean) 등록 방법Spring Core 2024. 5. 30. 16:44
이글은 Spring Bean 등록 하는 방법을 설명하는 글 이다이거에 앞서 Spring Bean을 알고 싶으면 아래 글을 참고 하면 된다https://hyeonni.tistory.com/65 [Spring] 스프링 빈(Bean) 이란?이글은 Spring Bean을 설명하는 글이다 이거에 앞서 Java Bean을 알고 싶으면 아래 글을 참고 하면 된다https://hyeonni.tistory.com/61 [Spring] Java Bean? Spring Bean?이글은 Spring Bean을 설명하기에 앞서 Java Bean이hyeonni.tistory.comSpring Bean 등록xml에 등록자바 설정어노테이션ex) Player.javapackage com.example;import lombok.Ge..
-
[Spring] 스프링 빈(Bean) 이란?Spring Core 2024. 5. 30. 15:22
이글은 Spring Bean을 설명하는 글이다 이거에 앞서 Java Bean을 알고 싶으면 아래 글을 참고 하면 된다https://hyeonni.tistory.com/61 [Spring] Java Bean? Spring Bean?이글은 Spring Bean을 설명하기에 앞서 Java Bean이 무엇인지 설명하는 글입니다 Java BeanJava로 작성한 객체이고 데이터 표현을 목적으로 한다 생성 관례1. 직렬화가 가능해야 함 다른 데이터 포맷hyeonni.tistory.comSpring Bean?스프링 빈(Bean)은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다. 스프링 컨테이너가 관리하는 자바 객체이다 스프링 컨테이너는 한개 이상의 빈(Bean)을 관리한다즉, 빈은 인스턴스..
-
[Spring] Java Bean? Spring Bean?Spring Core 2024. 5. 28. 15:58
이글은 Spring Bean을 설명하기에 앞서 Java Bean이 무엇인지 설명하는 글입니다 Java BeanJava로 작성한 객체이고 데이터 표현을 목적으로 한다 생성 관례1. 직렬화가 가능해야 함 다른 데이터 포맷으로 변환이 가능해야 한다(직렬화)API에서 결과값들을 반환할때 JSON이나 XML 같은 다른 데이터 포맷으로 변환할 수 있다{ name : "이름", age : 26} 2. 기본 생성자를 가진다 Default 생성자를 가져야 한다 (직렬화 때문)자바에서는 클래스에 다른 생성자를 추가 하지 않으면 기본 생성자(Default constructor)가 default로 있다클래스에 다른 생성자가 존재하면 기본 생성자를 명시적으로 추가해야 합니다.@Getter@Setterpublic ..
-
[묘공단] 코딩 테스트 합격자 되기 6주차[묘공단] 코딩 테스트 합격자 되기 책 정리 2024. 5. 25. 16:21
이 글은 책 코딩테스트 합격자 되기 - 자바편 (골든래빗 - 김희성저)의 내용이 포함되어있습니다. 12. 백트래킹 백트래킹이란?어떤 가능성이 없는 곳을 알아보고 되돌아가는 것 백트래킹 알고리즘이란? 가능성이 없는 곳에서는 되돌아가고 가능성이 있는 곳을 탐색하는 알고리즘 이다답을 찾는 과정에서 가능성이 없는 곳에서 백트래킹백트래킹을 통해 해가 될 가능성이 없는 탐색 대상을 배제할 수 있으므로 탐색 효율이 단순히 완전 탐색하는 방법보다 백트래킹이 효율적이다 유망 함수란? 백트래킹 알고리즘의 핵심, 해가 될 가능성을 판단하는 것이다가능성은 유망 함수라는 것을 정의하여 판단한다 과정유효한 해의 집합 정의위 단계에서 정의한 집함을 그래프로 표현유망함수를 정의백트래킹 알고리즘을 활용해서 해를 찾음 관련 문제 모음..