[CS] TCP와 UDP란 ?
IT이론/네트워크2024. 3. 14. 19:37[CS] TCP와 UDP란 ?

TCP와 UDP란 ?네트워크 계층 중 전송 계층에서 사용하는 프로토콜입니다 !전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로 쉽게 말해 데이터의 전달을 담당합니다.데이터를 보내기 위해 사용하는 프로토콜이 있는데, 해당 프로토콜들이 바로 TCP와 UDP입니다 !OSI 7계층 관련하여 따로 포스팅할 예정이며, 해당 포스트에 참고할 수 있도록 OSI 7layer와 TCP/IP 4layer에대한 사진 첨부해 드리겠습니다 ! TCP(Transmission Control Protocol)TCP를 해석하면 전송을 제어하는 프로토콜(규약)이라는 의미를 가지고 있는데, 아래의 정의와 동일합니다.     인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜일반적으로 TCP와 ..

[Spring Boot] ChatGptAPI 사용하기
프로그래밍/Java2024. 3. 13. 00:26[Spring Boot] ChatGptAPI 사용하기

프로젝트를 진행하는 중 ChatGpt를 사용해 기능을 만들면 좋을 것 같아 ChatGptAPI를 사용하기로 했습니다 !API-key 발급ChatGptAPI를 사용하기 위해서는 api-key를 먼저 발급 받아야합니다. https://platform.openai.com/docs/overview해당 링크를 통해 api-key를 발급 받으실 수 있어요 !⭐️참고) API를 사용할 때 Token의 크기만큼 금액이 지불되서 카드를 등록해야하고, 최소 5달러 충전할 수 있습니다 ! 데이터 보내기(request api)상세한 내용은 위의 API reference를 통해서 확인하실 수 있습니다 !요약하자면 gpt-3.5-turbo모델의 데이터를 전달 받기 위해서는 아래의 형식에 맞춰 데이터를 전달해줘야합니다.저는 텍스트..

[Algorithm] 에라토스테네스의 체
알고리즘/알고리즘 정리2024. 3. 11. 12:48[Algorithm] 에라토스테네스의 체

알고리즘에 대한 이해 !에라토스테네스의 체란 소수를 판별하는 알고리즘입니다 !소수를 대량으로 빠르고 정확하게 구하는 방법입니다.소수란 무엇인가 ?소수는 양의 약수를 두 개만 가지는 자연수, 즉 1과 자기자신으로만 나누어지는 수를 의미합니다.2, 3, 5, 7, 11 ...등이 있죠 !반복문을 통해 소수를 구하는 법을 먼저 확인하겠습니다 !private boolean isPrimeNumber(int targetNumber) { for(int i = 2 ; i 위와 같이 알고리즘을 작성하는 경우 소수 판별 알고리즘의 시간 복잡도는 O(N)입니다.즉 ! 모든 경우의 수를 다 확인하여 약수 여부를 확인한다는 점에서 몹시 비효율적이라고 볼 수 있죠 !에라토스테네스의 체 구현방법 !O(N)의 시간 복잡도를..

[Java, 자바] 프로그래머스 귤 고르기
알고리즘/프로그래머스2024. 3. 6. 19:05[Java, 자바] 프로그래머스 귤 고르기

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/138476 # 난이도 : LV.2 문제내용 제한사항 입출력 예 풀이방법 이번 문제는 우선순위 큐와 Map을 통해서 해결하였습니다 :) Map을 통해 형식으로 데이터를 넣어줍니다. (다른 문제에서 언급했던 getOrDefault 메서드 사용하기 ! ⭐️잊지마세요) 종류의 수만 구하면 되는 문제이기 때문에 내림차순으로 생성해 놓았던 우선순위 큐에 Map에 누적해 놓은 누적 개수를 모두 저장해줍니다 ! 마지막으로 반복문은 k가 0보다 클 때만 실행되고 반복문 안에서 Q에 들어있는 값을 확인한 뒤 k보다 큰 수일 경우 answer을 증가하여 반복문을 탈출해주고 Q의 값이 k보다 작을 경우 ..

[Java, 자바] 프로그래머스 게임 맵 최단거리(BFS)
알고리즘/프로그래머스2024. 3. 6. 14:06[Java, 자바] 프로그래머스 게임 맵 최단거리(BFS)

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/1844 # 난이도 : LV.2 문제내용 제한사항 입출력 예 풀이방법 좌표를 저장할 Point 클래스를 생성한 뒤 BFS메서드와 Queue를 통해 문제를 해결하였습니다 ! 상하좌우 탐색이 이루어져야 하기 때문에 dx, dy 변수를 생성하여 현재의 위치에서 상하좌우 탐색을 진행하였습니다. 중요한 포인트는 기존에 탐색이 이루어진 부분은 1로 초기화를 해줘야 된다는 점 ! (무한루프가 돌 수 있습니당) 탐색은 최단거리로 진행되어야 하며, 도착지점에 값이 제일 빨리 도착하는 수로 초기화되고 최단거리가 아닌 경우의 수가 도착지점에 도착할 경우 탐색이 이루어진 부분은 1로 초기화를 하였기 때문에..

[Algorithm] 깊이 우선 탐색(DFS, 그래프 탐색) 알고리즘
알고리즘/알고리즘 정리2024. 3. 6. 01:10[Algorithm] 깊이 우선 탐색(DFS, 그래프 탐색) 알고리즘

알고리즘에 대한 이해 ! 알고리즘 문제 풀이에서 DFS, BFS를 많이 사용했었는데 이제야 알고리즘 정리를 하게됬네요 ! 깊이 우선 탐색(DFS)란 DFS(Depth-First Search)는 그래프의 시작 노드에서 자식의 노드들을 순서대로 탐색하면서 깊이를 우선으로 탐색하는 알고리즘 입니다 ! DFS는 주로 반복문을 활용하거나 재귀문을 통하여 구현합니다. DFS의 탐색 과정 DFS의 기본 탐색 과정은 특정 정점에서 시작하여 역추적(backtracking) 하기 전에 각 분기를 따라 가능한 한 멀리 탐색하는 것입니다. 탐색하는 과정은 다음과 같습니다 ! 현재 노드를 방문한 것으로 표시한다. 방문한 표시가 되어 있지 않은 각각의 인접한 정점을 탐색한다. 더 이상 방문하지 않은 정점이 없으면 이전 정점으로 ..

[Java, 자바] 백준 14425번, 문자열 집합
알고리즘/백준2024. 3. 4. 13:53[Java, 자바] 백준 14425번, 문자열 집합

백준 14425번 👉🏻 https://www.acmicpc.net/problem/14425 # 난이도 : 실버4 문제내용 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다. 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다. 출력 첫째 줄에 M개의 문자열 중에 총 몇 ..

[CS] 데이터 모델링이란 ?
IT이론/데이터베이스2024. 3. 1. 18:02[CS] 데이터 모델링이란 ?

요약 비즈니스 프로세스와 데이터 요구사항을 추상적이고 구조화된 형태로 표현하는 과정 ! 데이터 모델링이란 ? 데이터 모델링이란 주어진 개념으로부터 논리적인데이터 모델을 구성하는 작업을 말합니다. 즉, 현실의 개념들을 체계적으로 수집하여 정보모델링을 통해 사용자의 정보요구사항을 조사하고 이를 개체, 관계, 속성을 중심으로 명확하게 체계적으로 표현하고 문서화하는 기법을 데이터 모델링이라고 합니다. 데이터 모델링의 3단계 1. 개념적 모델링 개념적 모델링은 내가 하고자 하는 일의 데이터 간의 관계를 구상하는 단계입니다. 각 개체들과 그들간의 관계를 발견하고 표현하기 위해 ERD 다이어그램을 생성합니다. 3가지의 단계중 추상화의 수준이 가장 높고 핵심 엔티티(Entity)를 추출하는 단계입니다. 2. 논리적 모..

image