티스토리

개발 일기
검색하기

블로그 홈

개발 일기

bigseok.tistory.com/m

개발 일기

구독자
0
방명록 방문하기

주요 글 목록

  • 널널한 개발자의 네트워크 기초 이론 https://www.notion.so/14514179deda80ebaf8ac8b7ef7bd47b 널널한 개발자 네트워크 기초 이론 | Notion널널한 개발자 TV 네트워크 기초 이론nifty-marten-089.notion.site 공감수 0 댓글수 0 2025. 1. 13.
  • [MacOS m3] Docker Desktop 오류. docker 사용자의 컴퓨터를 손상시킵니다. 1. 도커 제거응용프로그램에서 도커 휴지통으로 이동 아래 명령어를 통해 도커 제거sudo rm -rf ~/Library/Group\ Containers/group.com.dockersudo rm -rf ~/.dockerbrew uninstall --cask docker --forcebrew uninstall --formula docker --force 2. 도커 데스크탑 재설치 참고사이트https://forums.docker.com/t/malware-blocked-com-docker-vmnetd-was-not-opened-because-it-contains-malware/145930/67 공감수 0 댓글수 0 2025. 1. 10.
  • Kubernetes 서비스 어카운트 토큰 Kubernetes에서 서비스 어카운트란?Kubernetes에서 서비스 어카운트(Service Account)는 클러스터 내의 애플리케이션이 Kubernetes API 서버와 상호작용할 수 있도록 인증 정보를 제공하는 역할을 함보통 사용자가 직접 API 서버와 상호작용하기 위해 사용자 계정(User Account)을 사용하는 것과는 달리, 서비스 어카운트는 애플리케이션(즉, 파드)이 API 서버와 통신할 수 있도록 만들어진 특수한 계정임Kubernetes 클러스터 내에서 파드가 실행 중일 때, 이 파드가 클러스터의 상태를 모니터링하거나 다른 리소스에 접근하기 위해서는 Kubernetes API 서버에 인증된 요청을 보내야 함이를 가능하게 하는 것이 바로 서비스 어카운트 토큰(serviceAccountTo.. 공감수 3 댓글수 1 2024. 9. 14.
  • Kubernetes serviceAccount와 RBAC 이해하기 Kubernetes 클러스터에서 애플리케이션의 보안을 유지하고, 다양한 리소스에 대한 접근을 제어하는 것은 매우 중요함이를 위해 Kubernetes는 RBAC(Role-Based Access Control)와 ServiceAccount를 제공하여, 클러스터 내에서의 접근 권한을 체계적으로 관리할 수 있음Kubernetes RBAC(Role-Based Access Control)란?Kubernetes의 RBAC는 사용자나 서비스가 클러스터 내에서 어떤 리소스에 접근하고, 어떤 동작을 수행할 수 있는지를 제어하는 메커니즘임RBAC를 통해 특정 리소스에 대해 읽기, 쓰기 등의 권한을 세밀하게 설정할 수 있음RBAC는 Role, ClusterRole, RoleBinding, ClusterRoleBinding으로.. 공감수 0 댓글수 0 2024. 9. 13.
  • Go 구조체 메서드의 값 리시버와 포인터 리시버 Go 언어에서 메서드를 정의할 때, 구조체와 메서드의 관계를 결정하는 중요한 요소 중 하나는 리시버(Receiver)의 타입임리시버는 메서드가 호출될 때 어떤 방식으로 구조체 데이터를 다룰지 결정하며, 값 리시버와 포인터 리시버 두 가지 방식이 있음값 리시버란?값 리시버는 메서드 호출 시, 구조체의 복사본을 리시버로 받는 방식즉, 메서드가 호출될 때 원본 구조체가 아닌, 그 복사된 값이 메서드로 전달됨package mainimport "fmt"type Counter struct { count int}func (c Counter) Increment() { c.count++}func (c Counter) GetCount() int { return c.count}func main() { .. 공감수 0 댓글수 1 2024. 9. 13.
  • CPU 명령어 인출과 실행 과정 CPU가 명령어를 가져와 실행하는 과정명령어 인출명령어 실행다음 명령어 인출명령어를 가져오는 기준 : Program Counter (PC)PC는 CPU내부의 레지스터 중 하나로, 프로그램이 메모리에 저장된 여러 명령어들 중 어디부터 실행해야 할지를 알려주는 '위치 표시기'라고 할 수 있음PC는 현재 실행 중이거나 다음에 실행할 명령어가 메모리의 어느 위치에 있는지를 가리킴CPU가 명령어를 인출한 후, PC는 다음 명령어의 주소를 가리키도록 자동으로 증가함프로그램이 조건에 따라 다른 명령어로 이동해야 할 때(예: if 문, for 문에서의 점프), PC의 값을 변경하여 새로운 위치로 이동하게 함최초의 PC 레지스터 값은 어떻게 설정될까?컴파일 과정코드가 작성된 후, 컴파일러는 이 코드를 기계 명령어(바이너.. 공감수 1 댓글수 1 2024. 8. 21.
  • 중첩된 if-else 구문 리팩토링하는 방법 코드를 작성하다 보면 자연스럽게 if-else 구문을 많이 사용하게 됨조건문을 통해 로직을 처리하는 것은 필수적이지만, 조건이 복잡해지고 여러 조건이 중첩되면서 코드가 읽기 어렵고 유지보수가 힘들어지는 경우가 많음특히, 중첩된 if-else는 코드의 가독성을 떨어뜨리는 주요 원인 중 하나임이 글에서는 중첩된 if-else 구문을 리팩토링하는 여러 가지 기법을 소개하고, 실제로 적용할 수 있는 예시를 통해 코드의 품질을 향상시키는 방법을 정리함Early Return 패턴Early Return 패턴은 함수의 실행 중 특정 조건을 만족하지 않으면 일찍 반환(return)하는 방식Early Return 패턴을 활용하면 불필요한 중첩을 방지할 수 있음# beforedef process_data(data): .. 공감수 0 댓글수 0 2024. 8. 16.
  • 멀티태스킹과 프로세스 관리 멀티태스킹과 프로세스 관리는 현대 컴퓨터 시스템의 중요한 요소로, 여러 프로그램이 동시에 실행되면서도 각각의 프로그램이 원활하게 작동할 수 있도록 관리하는 역할을 수행함이 글에서는 멀티태스킹의 개념과 이를 가능하게 하는 프로세스 관리의 기초 원리를 정리함1. 멀티태스킹의 개념멀티태스킹은 컴퓨터 시스템이 여러 작업(프로그램)을 동시에 처리하는 것처럼 보이게 만드는 기술임실제로는 단일 CPU 코어에서 한 번에 하나의 작업만 처리할 수 있지만, 운영체제는 빠른 속도로 작업을 전환하여 사용자가 여러 프로그램이 동시에 실행되는 것처럼 느끼도록 함1.1 시분할 시스템과 멀티태스킹시분할 시스템은 CPU 시간을 여러 작업 간에 나누어 사용하게 하는 방식으로, 멀티태스킹의 기본 원리임운영체제는 각 작업에 일정한 시간 간.. 공감수 1 댓글수 0 2024. 8. 14.
  • 메모리 단편화 메모리 단편화는 메모리를 효율적으로 사용하지 못해 발생하는 현상으로, 내부 단편화와 외부 단편화로 나뉨내부 단편화 (Internal Fragmentation)내부 단편화는 메모리 할당 단위의 고정 크기로 인해 할당된 메모리 블록 내에서 남는 공간이 생기는 현상예를 들어, 운영체제가 8KB 크기의 고정된 메모리 블록을 할당한다고 가정할 때, 어떤 프로그램이 6KB의 메모리가 필요하면 2KB의 메모리가 남게 됨이 2KB의 공간은 다른 용도로 사용할 수 없으며, 결과적으로 메모리 공간이 낭비됨이처럼 할당된 메모리 블록 내에서 남는 공간을 내부 단편화라 함내부 단편화 해결 방법 가변 크기 블록 할당 (Variable-sized Partitioning)고정된 크기의 메모리 블록 대신 가변 크기의 블록을 사용하여 .. 공감수 1 댓글수 0 2024. 8. 14.
  • 운영체제의 역할과 필요성 운영체제는 컴퓨터 시스템에서 핵심적인 역할을 담당하는 소프트웨어로, 사용자가 하드웨어와 소프트웨어를 효율적으로 사용할 수 있도록 다양한 기능을 제공함1. 운영체제의 역할1.1 프로세스 관리운영체제는 여러 프로그램이 동시에 실행되는 멀티태스킹 환경을 지원함프로세스 관리의 핵심은 다음과 같음프로세스 생성 및 종료: 프로그램이 실행되면 운영체제가 새로운 프로세스를 생성하고, 프로그램 종료 시 이를 제거함프로세스 스케줄링: CPU 시간을 효율적으로 분배하여 여러 프로세스가 마치 동시에 실행되는 것처럼 보이게 함이는 CPU 스케줄링 알고리즘을 통해 이루어짐문맥 전환: 프로세스 간 전환 시 필요한 상황 정보를 저장하고 복원하여 프로그램의 상태를 유지함1.2 메모리 관리메모리는 모든 프로그램 실행에 필수적인 자원으로.. 공감수 0 댓글수 0 2024. 8. 8.
  • 정적 라이브러리와 동적 라이브러리 소프트웨어 개발에서 라이브러리는 코드의 재사용성을 높이고, 개발 시간을 단축하는 데 중요한 역할을 함라이브러리는 크게 정적 라이브러리와 동적 라이브러리로 구분됨이번 글에서는 정적 라이브러리와 동적 라이브러리의 개념과 차이점, 그리고 라이브러리 생성 및 링크 과정에 대해 정리함정적 라이브러리(Static Library)란?정적 라이브러리는 링크 타임에 프로그램에 결합되며, 코드가 실행 파일에 포함되는 라이브러리 특징확장자: .a (Unix 계열), .lib (Windows)링크 시점: 컴파일 후 링크 타임에 실행 파일에 결합됨파일 크기: 모든 필요한 라이브러리 코드가 포함되어 실행 파일 크기가 커질 수 있음독립성: 실행 파일에 라이브러리의 모든 코드가 포함되므로, 실행 시 별도의 라이브러리가 필요하지 않음.. 공감수 0 댓글수 3 2024. 7. 24.
  • 링커의 심벌해석 대상 링커의 심벌 해석 대상은 주로 전역 심벌과 외부 심벌임. 링커는 여러 개의 객체 파일을 결합하여 실행 가능한 프로그램을 생성하는 과정에서 심벌 해석을 수행함이 과정에서 링커는 각 객체 파일에 포함된 심벌을 분석하고 올바른 메모리 주소를 할당하여 참조를 해결함링커의 심벌 해석 대상전역 심벌(Global Symbols)정의된 전역 변수와 함수: 각 객체 파일에서 정의된 전역 변수와 함수는 링커에 의해 심벌 테이블에 추가되고, 프로그램 전체에서 참조될 수 있도록 메모리 주소가 할당됨예시: int g_a = 1; 와 같은 전역 변수나 int func_a(int x, int y); 와 같은 함수 정의외부 심벌(External Symbols)다른 객체 파일에서 정의된 변수와 함수: 한 객체 파일에서 선언되었지만 정.. 공감수 1 댓글수 3 2024. 7. 24.
  • 지역 심벌과 전역 심벌 프로그래밍에서 변수와 함수는 프로그램의 여러 부분에서 데이터를 저장하고 작업을 수행하는 중요한 역할을 함이들 변수와 함수는 심벌(symbol)로 표현되며, 그 범위(scope)에 따라 지역 심벌(Local Symbol)과 전역 심벌(Global Symbol)로 구분됨지역 심벌(Local Symbol)지역 심벌은 특정 블록이나 함수 내에서 정의되고 사용되는 식별자를 말함이러한 심벌은 정의된 블록이 종료되면 더 이상 유효하지 않으며, 해당 블록 내에서만 접근할 수 있음 특징정의 위치: 함수나 블록 내부유효 범위: 정의된 블록 내에서만 유효메모리 할당: 스택(stack)에 할당되며, 블록이 실행될 때 할당되고 블록이 종료되면 해제됨전역 심벌(Global Symbol)전역 심벌은 프로그램 전체에서 접근 가능한 .. 공감수 0 댓글수 0 2024. 7. 24.
  • 3년차 개발자 커리어 타임라인 공감수 2 댓글수 0 2024. 7. 24.
  • 링커란? 링커란?링커(linker)는 컴파일러가 만들어낸 하나 이상의 목적 파일을 가져와 이를 단일 실행 프로그램으로 병합하는 프로그램링커는 소프트웨어 개발 과정에서 필수적인 도구임컴파일러가 소스 코드를 번역하여 오브젝트 파일을 생성하는 것만으로는 프로그램이 실행될 수 없음링커는 심벌 해결, 재배치, 라이브러리 포함 등의 작업을 통해 여러 오브젝트 파일을 결합하여 실행 가능한 프로그램을 생성함따라서 링커의 역할과 동작 원리를 이해하는 것은 효율적인 소프트웨어 개발을 위해 매우 중요함컴파일 언어의 동작 과정소스 코드 작성: 개발자가 소스 코드를 작성컴파일 단계: 소스 코드를 오브젝트 파일로 변환함. 각 오브젝트 파일은 독립적으로 존재하며, 단독으로는 실행되지 않음링킹 단계: 여러 오브젝트 파일을 결합하여 하나의 실.. 공감수 0 댓글수 0 2024. 7. 17.
  • 컴파일 언어와 인터프리터 언어 비교 인터프리터와 컴파일러는 프로그램 소스를 인간이 이해할 수 있는 형태에서 컴퓨터가 실행할 수 있는 형태로 변환하기 위해 필요함이들은 코드의 정확성을 검증하고, 최적화된 실행을 가능하게 하여 소프트웨어 개발과 실행 효율성을 높임컴파일러와 인터프리터 언어의 등장 배경컴퓨터 언어는 컴퓨터 하드웨어가 이해하고 실행할 수 있는 명령어를 작성하기 위해 등장했음초기 컴퓨터는 기계어(machine language)로 프로그램을 작성했는데, 이는 매우 복잡하고 오류가 발생하기 쉬웠음이를 개선하기 위해 어셈블리어(assembly language)가 등장했으며, 이는 기계어에 대한 인간의 이해를 돕기 위해 기호(symbols)와 명령어(opcodes)를 사용했음 1950년대에 들어서면서 고급 언어(high-level lang.. 공감수 0 댓글수 0 2024. 7. 10.
  • Brute force(브루트 포스)란? Brute force(브루트 포스)란 컴퓨터 과학과 암호학에서 사용되는 용어로, 가능한 모든 경우의 수를 하나씩 대입해가며 해답을 찾는 방법을 의미이 방법은 주로 암호 해독이나 비밀번호 크래킹 등의 분야에서 사용되며, 무차별 대입 공격이라고도 함 브루트 포스 공격은 특정 알고리즘이나 시스템의 취약점을 이용하지 않고 단순히 모든 가능한 조합을 시도함으로써 목표를 달성하는 방식임쉽게 예를 들면 비밀번호를 찾기 위해 모든 가능한 문자 조합을 하나씩 시도하여 맞추는 경우가 있음 브루트 포스의 장점은 시스템이나 알고리즘의 구조에 대한 깊은 이해가 필요 없고, 모든 경우의 수를 시도하기 때문에 성공 확률이 높다는 것임반면, 단점으로는 매우 많은 시간과 자원이 소모된다는 점이 있음 현대의 많은 시스템에서는 이러한 브.. 공감수 0 댓글수 0 2024. 7. 9.
  • 쿠버네티스 네트워크 - 5. service ↔ external 네트워크 service ↔ external 네트워크외부 트래픽이 LoadBalancer, NodePort, Ingress 등을 통해 쿠버네티스 클러스터에 진입함각 노드(Node A, Node B)는 호스트 네트워크 네임스페이스를 가지며, 여기에는 호스트 네트워크 인터페이스 카드(NIC)인 eth0가 있음kube-proxy는 iptables/IPVS를 이용하여 네트워크 트래픽을 관리함cni0 브릿지를 통해 veth0, veth1 등의 가상 이더넷 인터페이스가 연결됨각 파드(Pod)는 자신만의 네트워크 네임스페이스를 가지며, pause 컨테이너를 통해 다른 컨테이너들과 연결됨쿠버네티스 애플리케이션을 외부 네트워크에 노출하는 방법Service쿠버네티스의 서비스(Service)는 NodePort를 설정하거나, 여러 파드.. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 5. pod ↔ service 네트워크 서비스의 필요성pod는 수요에 따라 확장 또는 축소해야 할 수 있고, 애플리케이션 충돌이나 노드 장애가 발생할 경우 다시 생성되기 때문에 매우 동적임이러한 이벤트로 인해 pod의 IP 주소가 변경되면 네트워킹이 어려워질 수 있음쿠버네티스는 Service를 사용하여 이 문제를 해결함서비스와 연관된 백엔드 Pod를 연결하기 위해 앞단에 정적 가상 IP 주소를 할당서비스는 pod의 ip주소를 추적서비스는 서비스IP로 전송된 모든 트래픽을 뒷단 pod 세트로 부하 분산Pod IP 주소가 변경되더라도 클라이언트는 서비스 자체의 정적인 가상 IP 주소로만 직접 연결하기 때문에 Pod에 연결하는 데 아무런 문제가 없음서비스의 구성 요소Service 객체Service는 Kubernetes 리소스로, API 서버에 정의.. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 4. 노드 내의 pod ↔ pod 네트워크 네트워크 네임스페이스Host Network Namespace:eth0 (Host NIC): 호스트 시스템의 물리적 네트워크 인터페이스로, 외부 네트워크와 통신함kube-proxy:Kubernetes 컴포넌트로, 클러스터 내의 네트워크 프록시 역할을 수행함iptables 또는 IPVS를 사용하여 클러스터 내의 서비스 트래픽을 적절한 Pod로 라우팅함cni0 (bridge): 호스트 네트워크 네임스페이스에서 사용하는 가상 브리지로, 쿠버네티스 CNI (Container Network Interface) 플러그인에 의해 생성됨. 여러 포드 네트워크 네임스페이스를 연결하는 역할을 함veth0 (veth): 호스트 네트워크 네임스페이스와 포드 네트워크 네임스페이스를 연결하는 가상 이더넷 인터페이스 페어의 한 쪽 .. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 3. 쿠버네티스 pod 내부 컨테이너 네트워킹 pod는 동일한 호스트에 배치된 하나 이상의 컨테이너로 구성되며, 네트워크 스택 및 볼륨과 같은 리소스를 공유하도록 구성된다“네트워크 스택 공유”는 pod의 모든 컨테이너가 localhost를 통해 서로 연결될 수 있음을 의미한다네트워크 네임스페이스Host Network Namespace:eth0 (Host NIC): 호스트 시스템의 물리적 네트워크 인터페이스로, 외부 네트워크와 통신함kube-proxy:Kubernetes 컴포넌트로, 클러스터 내의 네트워크 프록시 역할을 수행함iptables 또는 IPVS를 사용하여 클러스터 내의 서비스 트래픽을 적절한 Pod로 라우팅함cni0 (bridge): 호스트 네트워크 네임스페이스에서 사용하는 가상 브리지로, 쿠버네티스 CNI (Container Network.. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 2. 일반 도커 컨테이너 네트워킹 일반 도커 컨테이너 네트워킹이 구조는 Docker 컨테이너가 서로 독립적으로 실행되면서도 네트워크 통신이 가능하게 하여, 유연한 애플리케이션 배포와 스케일링을 지원함네트워크 네임스페이스호스트 네트워크 네임스페이스호스트 네트워크 네임스페이스는 기본적으로 호스트 운영체제에서 사용하는 네트워크 스택을 의미모든 호스트의 네트워크 설정 및 트래픽은 이 네임스페이스를 통해 관리됨이 네임스페이스는 물리적 네트워크 인터페이스(eth0)와 가상 브리지 네트워크(docker0)를 포함eth0 이란?호스트 머신이 외부 네트워크와 통신할 수 있게 해줌운영 체제는 여러 개의 NIC를 가질 수 있으며, 이를 구분하기 위해 각각의 인터페이스에 eth0, eth1 등의 이름을 부여함eth0는 물리적인 첫 번째 네트워크 인터페이스 카.. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 1. CNI CNI란?CNI(Container Network Interface)는 컨테이너 네트워킹을 위한 표준 인터페이스를 정의하는 프로젝트CNI는 컨테이너 네트워크 인터페이스를 쉽게 확장하고 맞춤화할 수 있게 해주며, 다양한 네트워킹 솔루션과 통합 가능함CNI는 표준일 뿐, 특정 서비스에 적용하기 위해서는 인터페이스를 구체화하여 서비스에 맞춰 적용해야 함이를 위해 컨테이너 관리 시스템에서 네트워킹 구성 및 관리를 위한 플러그인 기반의 다양한 프레임워크가 있음kubernetes Network Plugin (CNI plugin)네트워크 모델은 각 노드의 컨테이너 런타임에 의해 구현됨가장 일반적인 컨테이너 런타임은 컨테이너 네트워크 인터페이스(CNI) 플러그인을 사용하여 네트워크 및 보안 기능을 관리함Network P.. 공감수 0 댓글수 0 2024. 7. 7.
  • Go 함수와 메서드 차이 Go 언어에서 함수와 메서드는 코드 구조화와 재사용성에 중요한 역할을 함Go 언어에서 함수와 메서드는 각각의 용도와 목적이 다름독립 함수는 새로운 인스턴스를 생성하는 데 주로 사용되며, 인스턴스 메서드는 기존 인스턴스를 수정하거나 조작하는 데 사용됨독립 함수 (Standalone Function)정의: 특정 구조체에 속하지 않는 독립적인 함수용도: 주로 새로운 인스턴스를 생성하고 반환하는 역할을 함package mainimport "fmt"type Config struct { Port int}type Server struct { config Config}// 독립 함수: 새로운 Server 인스턴스를 생성하고 반환func NewServer(config Config) *Server { re.. 공감수 0 댓글수 0 2024. 6. 24.
  • ChatGPT-3와 ChatGPT-4, 무엇이 달라졌을까? 인공지능 기술은 매 순간 빠르게 발전하고 있으며, 그 중심에는 언어 모델의 혁신이 자리잡고 있음OpenAI의 최신 언어 모델인 ChatGPT-4는 기존의 ChatGPT-3 모델을 개선하여 여러 분야에서 더욱 향상된 성능을 보여주고 있음이번 포스트에서는 ChatGPT-3와 ChatGPT-4의 주요 차이점을 살펴보고, 각각의 모델이 어떻게 사용자 경험을 변화시키고 있는지 정리함모델 크기와 학습 데이터ChatGPT-4는 ChatGPT-3보다 훨씬 큰 모델 크기를 가지고 있음그리고 더 많은 데이터로 훈련되었기 때문에, 광범위한 지식을 바탕으로 다양한 주제에 대해 더 정확하고 상세한 정보를 제공함문맥 이해와 일관성ChatGPT-4는 문맥을 파악하고 유지하는 능력이 탁월함복잡한 대화 흐름 속에서도 일관된 답변을 제.. 공감수 0 댓글수 0 2024. 6. 20.
  • 프롬프트 엔지니어링이란? 프롬프트 엔지니어링(Prompt Engineering)은 인공지능(AI) 및 자연어 처리(NLP) 분야에서 사용자가 원하는 결과를 얻기 위해 모델에 제공하는 입력(prompt)을 설계하는 과정이 과정은 특히 대형 언어 모델(LLM)에서 중요한 역할을 함프롬프트란?프롬프트(prompt)는 인공지능(AI) 및 자연어 처리(NLP) 시스템에서 모델에게 제공되는 입력 데이터를 의미함모델이 수행할 작업의 맥락을 제공하고 원하는 결과를 얻기 위해 주어지는 명령어 / 질문 / 문장프롬프트는 대화형 AI, 언어 모델, 챗봇 등 다양한 애플리케이션에서 사용됨프롬프트 엔지니어링이란?프롬프트 엔지니어링은 특정한 목표를 달성하기 위해 AI 모델에 주어지는 텍스트 입력을 최적화하는 기술사용자가 원하는 답변을 얻기 위해 입력 문.. 공감수 1 댓글수 1 2024. 6. 19.
  • LLM이란? LLM(대형 언어 모델, Large Language Model)은 자연어 처리(NLP)와 인공지능(AI) 분야에서 사용되는 컴퓨터 모델이 모델은 대규모 텍스트 데이터를 기반으로 학습되어 인간의 언어를 이해하고 생성할 수 있는 능력을 가짐LLM의 대표적인 예로는 OpenAI의 GPT-4, Google's BERT, Facebook의 RoBERTa 등이 있음 LLM의 주요 특징대규모 학습 데이터: LLM은 수십억 개의 문서와 문장을 포함하는 대규모 텍스트 데이터를 사용해 학습함. 이를 통해 다양한 주제와 맥락에서 언어를 이해하고 생성할 수 있게 됨.언어 이해 및 생성 능력: LLM은 질문에 대한 답변, 텍스트 요약, 번역, 글쓰기 보조 등 다양한 자연어 처리 작업을 수행할 수 있음. 이는 LLM이 문맥을 이.. 공감수 0 댓글수 0 2024. 6. 19.
  • 개발 / AI 기술 사이트 superb-ai MLOps 뉴스레터 MLOps Insight 뉴스레터 구독하기슈퍼브에이아이 - MLOps 뉴스레터 구독하기 슈퍼브에이아이가 엄선한 글로벌 MLOps 소식과 인사이트, 슈퍼브에이아이 플랫폼 업데이트를 가장 빠르게 받아보세요!info.superb-ai.com https://news.hada.io/ GeekNews - 개발/기술/스타트업 뉴스 서비스개발 뉴스, 기술 관련 새소식, 스타트업 정보와 노하우, 세상의 재미난 것들을 좋아하는 사람들을 위한 뉴스 사이트. 이메일 뉴스레터/트위터/슬랙 봇으로 구독 가능news.hada.io https://www.aitimes.com/ AI타임스AI타임스(aitimes.com)는 인공지능 중심의 전문 미디어입니다.www.aitimes.com https:/.. 공감수 0 댓글수 0 2024. 6. 19.
  • Go 구조체, 메서드, 인터페이스 구조체여러 필드를 하나로 묶어 새로운 타입을 정의할 수 있는 방법 (ex: 개 > 이름, 나이, ...)메서드특정 타입에 속한 함수 (개 > 짖기, ...)메서드를 정의하면 해당 타입의 인스턴스에서 호출할 수 있음인터페이스메서드 시그니처의 집합으로, 어떤 타입이 특정 인터페이스를 구현하려면 그 인터페이스에 정의된 모든 메서드를 구현해야 함(인터페이스 : 동물 > 짖기 => 구조체 : 강아지 > 짖기, 고양이 > 짖기)예시package mainimport "fmt"// 인터페이스 정의type Animal interface { Speak() string}// Dog 구조체 정의type Dog struct { Name string Age int}// Dog에 Speak 메서드 구현func (d.. 공감수 0 댓글수 0 2024. 6. 19.
  • git 브랜치 삭제 # 로컬 브랜치 목록 확인git branch# 로컬 브랜치 삭제git branch -D 브랜치명# 원격 저장소에서 지워진 브랜치 삭제git fetch --all --prune 공감수 1 댓글수 1 2024. 6. 11.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.