목록2024/03 (37)
soowanlog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bSvcOS/btsGcITopee/d6mNyP5ZcYaFg3TLbL9Wh1/img.png)
GPT란? GPT가 학습하는 방법 ※ 임베딩 Chat GPT Chat GPT의 한계 Prompt. - Task(작업) - Context(맥락) - Example(예시) - Persona(페르소나) - Format(형식) - Tone(어조) GPT란? Generative Pre-trained Transformer의 약자로 Chat GPT의 본체라고 생각할 수 있습니다. Pre-trained(미리 학습됨)는 사용자의 질문에 답변하거나 번역해 주는 등의 행동을 학습하기 전에 미리 지식만 학습시키는 과정을 거쳤다는 뜻입니다. GPT가 학습하는 방법 GPT는 인간처럼 단어의 의미를 알고 있는 것이 아니라 수많은 단어들을 기반으로 단어 사이의 관련성을 학습합니다. 예를 들어 인간 은 "코드를 작성했다."라는 문장에..
Linked List Node class Singly Linked List class add Method get Method remove Method insert Method 전체 소스 코드 Linked List Linked List에 대해 잘 모르시는 분들은 다음 글을 읽고 오시면 이해가 편하실 겁니다. https://sw-log.tistory.com/41 Linked List Linked List(연결 리스트)란? Linked List(연결 리스트)의 종류 - Singly Linked List - Doubly Linked List Linked List(연결 리스트)의 장점 - 빠른 삽입과 삭제 - 동적인 크기 조정 Linked List(연결 리스트)의 단점 - 접근 sw-log.tistory.com ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cbXxtK/btsF6hmWUNu/YlYK8ZS9G9mCKSwyCyxoVk/img.png)
Linked List(연결 리스트)란? Linked List(연결 리스트)의 종류 - Singly Linked List - Doubly Linked List Linked List(연결 리스트)의 장점 - 빠른 삽입과 삭제 - 동적인 크기 조정 Linked List(연결 리스트)의 단점 - 접근의 어려움 - 메모리 오버헤드 - 높은 캐시 미스 확률 Linked List(연결 리스트)란? 연결 리스트란 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 저장하는 자료구조입니다. 데이터를 가지고 있는 노드들은 서로 연결되어 있는데 포인터가 다음이나 이전 노드와 연결하는 역할을 합니다. Linked List(연결 리스트)의 종류 - Singly Linked List(단일 연결 리스트) : 각 노..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XHt6s/btsF2EiZFlG/N6ETdbLFrkmEkoBuwkvZcK/img.png)
Array(배열)란? Array(배열)의 장점 - 빠른 접근 - 메모리 공간의 효율성 - 낮은 캐시 미스 확률 - 다차원 배열 Array(배열)의 단점 - 크기 제한 - 삽입과 삭제의 어려움 Array(배열)란? 배열은 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 자료구조입니다. 배열을 구성하는 각각의 값을 element(요소)라고 하며, 배열에서의 위치를 가리키는 숫자를 index(인덱스)라고 합니다. Array(배열)의 장점 - 빠른 접근 : 배열은 데이터를 연속된 메모리 공간에 저장하기 때문에 데이터의 크기와 index를 알고 있다면 원하는 위치의 element에 O(1)에 접근할 수 있습니다. 예를 들어 Java에서 short 타입의 배열이 크기가 3으로 선언 되었고 다음과 같이 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b66xQa/btsF6ebL00i/Jbhc67ZgU0eGSPYODzODF0/img.png)
URI란? URI의 구조 - scheme - host - port - path - query - fragment URI의 한계 URL이란? URN이란? URI란? Uniform Resource Identifier의 약자로 인터넷 자원을 나타내는 고유 식별자를 의미합니다. 고유한 식별자이기 때문에 하나의 URI는 하나의 페이지만을 출력해야 합니다. URI의 구조 scheme:[//host[:port]][/path][?query][#fragment] - scheme : 요청 프로토콜을 결정하는 부분입니다. 웹 통신은 HTTP를 통해서 하기 때문에 저희에게 익숙한 URI는 보통 HTTP 또는 HTTPS로 시작합니다. - host : 리소스가 위치한 웹 서버의 호스트명으로 도메인명 또는 IP 주소로 표현됩니다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GLDxB/btsFUHGmbn3/yCmrkkKsT1guij3mOPHKHK/img.png)
B-tree란? B-tree의 특징 - 하향식 탐색 - 오름차순 정렬 - 최대 M개의 자식 노드 - 최소 [M/2]개의 자식 노드 - 최대 M-1개의 key - 최소 [M/2]-1개의 key ※ 루트 노드 ※ 리프 노드 ※ 가우스 기호 B-tree의 데이터 삽입 - 분할이 일어나지 않는 경우 - 분할이 일어나는 경우 B-tree의 데이터 삭제 - 형제 노드의 지원 과정 1. 동생이 여유가 있는 경우 2. 형이 여유가 있는 경우 - 부모 노드의 지원 과정 1. 동생이 있는 경우 2. 형이 있는 경우 B-tree란? B-tree란 Balanced-tree를 의미하며 데이터베이스와 파일 시스템에서 널리 사용되는 트리 자료구조의 일종입니다. 이진트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/X5coD/btsFV5GrH4m/0XPBionN0gGwRYlNnk71F0/img.png)
Proxy란? Proxy의 종류 - Forward Proxy - Reverse Proxy Proxy의 장점 - 캐싱 기능 - 액세스 제어 - 로드 밸런싱 - 보안 강화 - 트래픽 모니터링 및 로깅 Proxy란? Proxy(프록시)란 대리의 의미로 Client와 Server 사이의 중개자 역할을 하는 Server나 SW를 가리키는 용어입니다. 특히, 프로토콜에 있어서는 대리 응답 등에서 사용하는 개념입니다. Proxy의 종류 - Forward Proxy : Client 측에 위치하여 Client 대신 Proxy Server가 외부 Server에 통신해주는 구성을 의미합니다. Proxy를 사용하지 않은 경우에는 외부 Server에 Client의 액세스 로그가 남습니다. Forward Proxy의 경우 Pro..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXqIgj/btsFWi6BOXk/QsH7uhYd7DkpiBQ21v3FP0/img.png)
HTTP란? ※ HyperText ※ HyperLink HTTP의 동작 방식 HTTP 메시지 - 요청 1. Start line ※ HTTP 요청 메서드 ▶ GET ▶ POST ▶ PUT ▶ DELETE ▶ PATCH ▶ HEAD ▶ OPTIONS ▶ TRACE ▶ CONNECT 2. Headers ※ 주요 HTTP 요청 헤더 ▶ Host ▶ User-Agent ▶ Accept ▶ Accept-Language ▶ Accept-Encoding ▶ Referer ▶ Cookie ▶ Autorization 3. Body ※ HTTP 요청 본문의 형태 ▶ 텍스트 ▶ 이진 데이터 - 응답 1. Status line 2. Headers ※ 주요 HTTP 응답 헤더 ▶ Content-Type ▶ Content-Leng..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bB6GtI/btsFQvlztvX/PfK5S8WGZKKiSKm0WA4d7K/img.webp)
Server란? - Web Server - Application Server - Database Server - File Server - Email Server Web Server란? - 정적 Web Server - 동적 Web Server - 하드웨어 측면 - 소프트웨어 측면 Web Server의 주요 기능 - HTTP 요청 처리 - 정적 파일 서빙 - 동적 컨텐츠 처리 - 가상 호스팅 - 보안 기능 Server란? Server란 네트워크를 통해 Client로부터 요청을 받아들이고, 해당 요청에 대한 응답을 제공하는 컴퓨터 시스텝 또는 소프트웨어입니다. Server는 주로 Client-Server 모델에서 서비스를 제공하며, 네트워크를 통해 데이터 및 서비스를 공유하고 분배하는 중요한 역할을 합니다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qyfE0/btsFMDklSU9/uaUDtGxqmJ1ZatQGg4R9O0/img.png)
OAuth란? ※ OAuth 2.0 OAuth 2.0의 용어 - Resource Server - Local Server - Resource Owner - Client - AccesToken - RefreshToken - Authorization Server - Authorization Code - Scope Authorization Code Grant 다양한 OAuth 2.0 인증 플로우 OAuth란? Open Authorization의 약자로 애플리케이션을 이용할 때 사용자가 해당 애플리케이션의 ID, PW 등의 정보를 제공하지 않고, 신뢰할 수 있는 외부 애플리케이션의 Open API에 정보를 입력하여 해당 애플리케이션의 인증 과정을 처리해 주는 방식입니다. OAuth를 사용한다면 해당 애플리케이션의..