일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터베이스 락(lock)의 종류와 동작 방식
- 정규화와 비정규화의 개념 및 장단점
- 파티셔닝의 종류
- 샤딩(sharding)과 파티셔닝(partitioning)의 개념
- 트리 그래프 차이점
- Spring REST API
- nat의 유형
- Spring Boot
- REST API
- nat의 작동 방식
- 데이터 바인딩
- acid 특성
- 함수형 객체지향형 차이점
- rdbms와 nosql의 차이점
- spring rest api 설정
- 인덱스의 장단점
- Spring
- 린크드 리스트
- 인덱스의 역할과 사용 이유
- 트랜잭션의 acid 특성
- nat(network address translation)의 역할과 사용 이유
- rest와 soap의 차이점
- orm(object-relational mapping)의 장단점
- nat의 장단점
- 로드 밸런서의 종류
- 인덱스의 역할
- join의 종류
- 트리 그래프 차이
- 객체지향 프로그래밍
- 트리와 그래프
- Today
- Total
목록전체 글 (61)
♠개발자의 작은 서재♠
1. 해시 테이블(Hash Table)이란?해시 테이블은 키(key)와 값(value)을 쌍(pair)으로 저장하는 자료 구조입니다. 빠른 데이터 저장과 검색을 위해 고안된 구조로, 해시 함수(hash function)를 사용하여 키를 배열의 인덱스로 변환합니다.쉽게 말해, 어떤 키를 입력하면 그 키를 특정 위치(인덱스)로 바꿔주는 함수가 있어서, 그 위치에 값을 저장하거나 찾아올 수 있는 구조입니다.2. 해시 함수(Hash Function)해시 함수는 임의의 크기를 가진 데이터를 고정된 크기의 해시 값으로 변환하는 함수입니다.해시 함수의 역할키를 인덱스로 변환: 해시 함수는 키를 배열의 인덱스로 사용할 수 있는 숫자로 변환합니다.균등한 분포: 좋은 해시 함수는 키들을 배열 전반에 걸쳐 고르게 분포시켜 ..
1. 트리(Tree)트리는 계층적인 구조를 표현하는 자료 구조입니다. 트리에서 각 요소는 노드(Node)라고 부르고, 노드 간의 연결선을 엣지(Edge)라고 합니다. 트리는 부모와 자식 관계로 이루어져 있으며, 루트(Root)라 불리는 최상위 노드에서 시작합니다.트리의 특징루트 노드: 트리에는 시작점이 되는 하나의 루트 노드가 있습니다.부모와 자식 관계: 각 노드는 다른 노드와 부모와 자식 관계로 연결됩니다.사이클 없음: 트리는 순환(사이클)이 없어서, 한 노드에서 출발해 다시 그 노드로 돌아올 수 없습니다.유향(방향 있음): 부모에서 자식으로 가는 방향이 정해져 있습니다.사용 사례파일 시스템: 컴퓨터 파일 시스템에서 폴더와 파일을 계층적으로 구조화할 때 트리를 사용합니다.계층 구조 표현: 조직도나 계층..
1. 스택(Stack)스택은 데이터를 쌓아 올리는 자료 구조로, 나중에 넣은 데이터가 먼저 나오는 특징이 있습니다. 이를 LIFO(Last In, First Out) 구조라고 부릅니다. 쉽게 말해서, 접시를 쌓듯이 데이터가 쌓이고, 나중에 올려놓은 접시가 가장 먼저 꺼내지는 방식입니다.특징LIFO 구조: 가장 최근에 추가된 데이터가 가장 먼저 삭제됩니다.삽입과 삭제: 데이터의 삽입과 삭제는 맨 위(top)에서만 이루어집니다.사용 사례재귀 함수 호출 저장: 함수가 호출될 때마다 스택에 쌓였다가 종료되면 스택에서 제거되기 때문에 재귀적 함수 호출을 관리하기에 좋습니다.되돌리기 기능: 웹 브라우저의 뒤로 가기 기능처럼, 최근 기록을 스택에 쌓아둬서 뒤로 가기를 누를 때마다 하나씩 꺼낼 수 있습니다.예제 코드i..
1. 배열 (Array)배열은 같은 타입의 데이터를 연속된 메모리 공간에 저장하는 자료 구조입니다. 간단히 말해, 일정한 순서로 데이터가 차례대로 놓여있는 형태입니다.특징고정된 크기: 배열의 크기는 선언할 때 미리 지정되며, 이후에는 크기를 변경할 수 없습니다.인덱스를 통한 접근: 배열은 각 요소에 접근할 때 인덱스를 사용합니다. 예를 들어, array[0]은 첫 번째 요소, array[1]은 두 번째 요소에 접근하는 방법입니다.빠른 검색 속도: 배열은 인덱스를 통해 바로 원하는 위치의 요소를 찾을 수 있어서, 검색 속도가 빠릅니다.예제 코드int[] array = new int[5]; // 크기가 5인 정수형 배열을 생성array[0] = 1; // 첫 번째 요소에 1 저장array[1] = 2; //..
1. 객체지향 프로그래밍 (OOP)정의: 객체지향 프로그래밍은 코드가 객체로 구성되어 있고, 이 객체들은 클래스를 통해 정의됩니다. 객체는 데이터(속성)와 메서드(기능)를 함께 가지며, 이들을 서로 결합한 구조입니다.쉽게 말해, 현실 세계를 모델링하여 프로그램을 구조화하는 방식입니다.OOP의 주요 특징:캡슐화(Encapsulation): 객체 내부의 데이터와 메서드를 숨기고, 외부에서 필요한 부분만 공개하는 방식입니다.상속(Inheritance): 기존 클래스의 속성과 메서드를 새로운 클래스에 물려줍니다.다형성(Polymorphism): 동일한 메서드가 객체에 따라 다르게 동작할 수 있습니다.추상화(Abstraction): 불필요한 세부 사항을 감추고 중요한 기능만 노출합니다.예시 코드 (Java):cl..
의존성 주입(Dependency Injection)은 객체가 스스로 필요한 의존성을 생성하지 않고, 외부에서 주입받는 방식을 말합니다. 의존성은 한 클래스가 다른 클래스를 필요로 할 때 그 클래스가 의존하는 것을 의미합니다. 의존성 주입을 사용하면 코드의 결합도를 낮추고, 유연성과 테스트 용이성을 높일 수 있습니다.왜 의존성 주입이 필요한가요?어떤 클래스가 다른 클래스의 기능을 사용해야 할 때, 직접 객체를 생성하는 방식으로 접근하면 코드가 특정 구현에 종속됩니다. 이 경우, 코드의 변경이 어렵고 테스트하기도 불편해집니다. 의존성 주입은 필요한 객체를 외부에서 주입받음으로써 이러한 문제를 해결합니다.예를 들어, 웹 애플리케이션에서 UserService가 UserRepository를 필요로 할 때, Use..