일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 3-way handshaking
- buildSrc
- null
- well-know port
- java
- Kotlin
- JPA
- 자료구조
- Dirty Checking
- Spring
- gatway
- 네트워크
- MSA
- 삭제 이상
- 자바
- 낙관적 락
- 갱신 이상
- 페이지네이션
- 캐시 오염
- 삽입 이상
- 스레드 풀
- Kafka
- AWS
- ocp
- 비관적 락
- Redis
- 데이터베이스
- DB
- 정규화
- HTTP
- Today
- Total
728x90
목록
728x90
분류 전체보기 (70)
어 나 갱수.
이번 글에서는 자료구조 트리(Tree)에 대해서 정리하겠습니다. 트리란?트리(Tree)는 컴퓨터 자료구조에서 계층적인 자료를 표현하는 데 있어 사용되는 자료구조입니다.실제 나무를 거꾸로 한 것과 같은 모양을 하고 있어 트리(Tree)라고 표현합니다. 트리는 노드로 이루어진 자료구조트리는 하나의 루트노드를 가진다.각각의 간선은 방향성을 가지며, 부모는 자식에게만 연결가능하다.루트 노드는 0개 이상의 자식 노드를 가지고 있다.그 자식 노드 또한 0개 이상의 자식 노드를 가지고 있고, 이게 반복적으로 정의된다.트리는 사이클(cycle)이 존재할 수 없다.트리 관련 용어간선(edge) : 노드와 노드를 연결하는 선루트 노드(root node) : 부모가 없는 최상단에 위치하는 노드 (A)단말 노드(leaf no..
오늘은 자바에서 많이 사용되는 오버로딩 & 오버라이딩에 대해 알아보겠습니다 ! 자바에서는 다형성을 지원하는 방법으로 메서드 오버로딩과 오버라이딩이 있습니다. 오버로딩 : 같은 이름의 메서드를 여러개 가지며 매개변수의 유형과 개수가 다르도록 하는 기술 오버라이딩 : 상위클래스에서 가지고 있는 메서드를 하위클래스에서 재정의 하는 기술 오버로딩(Over loading) 자바에서는 원래 한 클래스에서 같은 이름의 메서드를 가지면 안된다. 하지만 오버로딩을 사용하게 된다면 하나의 클래스에서 같은 이름의 메서드를 가질 수 있습니다. 오버로딩은 같은 이름의 메서드를 여러개 정의하고, 각 메서드마다 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 메서드를 구현할 수 있도록 합니다. public class Test ..
인터넷이란 인터넷은 컴퓨터끼리 서로 연결하여 TCP/IP라는 통신 프로토콜을 연결해서 정보를 주고받는 컴퓨터 네트워크입니다. 키워드인터넷 : 컴퓨터와 컴퓨터가 서로 연결된 거대한 컴퓨터 망, 수많은 컴퓨터를 연결하는 인프라라우터 : 컴퓨터와 컴퓨터 사이에서 둘을 연결하고 그 사이에서 데이터를 전달하는 장치모뎀 : 전화 시설과 컴퓨터 네트워크를 연결하기 위해 디지털 정보와 아날로그 정보를 상호 변환해 주는 장치ISP : 인터넷 서비스를 제공하는 회사, 인터넷을 제공해 주고 다른 회사의 ISP와도 연결시켜 주는 장치IP 주소 : 인터넷에서 컴퓨터를 식별하기 위해 사용되는 숫자로 된 주소 (예 : 220.93.142.215)도메인 네임 : IP 주소를 사람이 기억하기 쉽게 문자로 치환한 주소 (예 : tist..
오늘은 자료구조 큐(Queue)에 대해 알아보겠습니다. 큐는 어떤 자료구조이고 어떤 상황에서 사용되는 자료구조인지 알아보겠습니다. 큐(Queue)란? 큐에 대한 사전적 정의 먼저 알아보겠습니다. 큐는 '줄을 서서 기다리다'라는 사전적 의미를 가지고 있습니다. 사람이 줄을 서며 자신의 순서를 기다리는 모습을 상상할 수 있습니다. 자료구조 큐도 이와 똑같습니다. 컴퓨터 내에서 순서대로 줄을 서며 가장 앞에 있는 데이터가 순서가 가장 빠르고 제일 뒤에 있는 데이터의 순서가 가장 느립니다. 큐 자료구조는 입구와 출구가 따로 있는 원통 형태와 같습니다. 큐(Queue)는 먼저 넣은 데이터가 가장 먼저 나오는 선입선출(FIFO: First In First Out) 구조로 데이터를 저장하는 선형 자료구조입니다. 실제..
오늘은 자바에서 사용되는 추상클래스와 인터페이스에 대해 알아보겠습니다! 추상클래스란? 우리가 지금까지 사용하던 클래스는 구체적으로 데이터를 담아 인스턴스화하여 직접 다루는 클래스입니다. 그 반대로 구체적이지 않은 추상적인 데이터를 담고 있는 클래스를 '추상 클래스'라고 부릅니다. 그래서 추상 클래스는 일반 클래스와 다르게 자체적으로 인스턴스화를 시키지 못합니다. 자체적으로 객체를 생성할 수 없습니다. 상속을 통해 자식 클래스에서 인스턴스를 생성할 수 있습니다. 자바에서는 abstact 키워드를 사용해서 이 클래스가 추상 클래스라고 표현합니다. 추상 클래스에는 추상 메서드가 있는데 추상 메서드는 메서드의 선언부만 있고, 구현부는 아직 미완성인 채로 남겨둔 메서드입니다. 부모 클래스에서 추상 메서드를 작성해..
스택(Stack)은 말 그대로 '쌓아놓은 더미'를 뜻합니다. 식당에 쌓여있는 접시 더미, 책상에 쌓인 책, 겹겹이 쌓인 상자 모두 스택의 예에 해당합니다. 스택(Stack) 자료구조를 쉽게 예를 들어보자면, 박스 쌓기를 생각하면 됩니다. 박스를 아래에서 하나씩 쌓고, 그 박스를 뺄 때는 마지막에 쌓은 박스부터 빼야 한다는 점을 생각하면 쉽습니다. 후입선출(LIFO: Last-In First-Out) 스택의 가장 큰 특징은 후입선출(LIFO)입니다. 가장 최근에 들어온 데이터가 가장 먼저 나간다는 의미입니다. 스택의 입출력은 맨 위에서만 이루어지기 때문에 스택의 중간에 데이터를 삽입하거나 삭제하는것은 불가합니다. 프링글스를 생각하면 쉽습니다. 과자를 만들때 가장 나중에 넣은 과자를 제일 먼저 먹고, 가장 ..
싱글톤 패턴 (Singleton pattern) 소프트웨어 디자인 패턴에서 싱글톤 패턴을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 싱글톤 패턴을 사용하는 이유 만약 우리가 만들었던 DI 컨테이너인 요청을 할 때마다 새로운 객체를 생성한다. 요청이 엄청나게 많은 트래픽 사이트에서는 계속 생성하게 되면 메모리 낭비가 심하기 때문이다. 순수한 DI 컨테이너 객체를 생성하면 매번 새로운 객체가 생성된다. 많은 객체를 생성해야 하는 서비스에서는 메모리 낭비가 많아진다. 싱글톤 패턴 구현 클래스 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. 그래서 객체가 2개 생성되는 것을 막아야 한..
정규화란 ? 정규화는 테이블 간에 중복된 데이터를 허용하지 않기 위해 정해놓은 정의 같은 것입니다. 중복된 데이터를 허용하지 않음으로써 무결성을 유지할 수 있으며, DB의 저장 공간 또한 줄일 수 있습니다. 결과적으로, 정규화를 하는 목적은 데이터들을 조금 더 효율적으로 관리하기 위함입니다. 정규화의 목적 중복을 허용하지 않으며 삽입, 삭제, 갱신 이상의 발생을 감지한다. 데이터를 삽입하거나 수정할 때 릴레이션의 재구성을 최소화하는 것을 목표로 하고 있다. 각 릴레이션에 중복된 종속성을 여러 개의 릴레이션으로 분할한다. 정보의 중복 한 릴레이션에 여러 엔티티의 애트리뷰트들이 존재하면 정보가 중복 저장된다. 저장 공간 낭비 갱신 이상 발생 정규화 과정 정규화는 제1 정규화부터 제5 정규화까지 있지만, 실질..