Category

    [ChatGPT] My GPTs 만들기

    [ChatGPT] My GPTs 만들기

    My GPTs란? ChatGPT는 OpenAI가 개발한 프로토타입 대화형 인공지능 챗봇이며, GPT-3.5는 2022년 1월, GPT-4는 2023년 4월까지의 데이터를 기반으로 답변을 해준다. ChatGPT Plus를 이용하는 경우 My GPTs 기능을 사용할 수 있는데 My GPTs는 앞서 설명한 기간의 데이터와 내가 제공해준 정보를 바탕으로 답변을 해주기 때문에 나만의 GPT를 만들 수 있다라고 보면 된다. My GPTs 만들기 간단하게 Configure를 수정한 후 "Create" 탭의 좌측 영역(Builder)에서 프롬프트를 통해 Builder를 정의할 수 있다. "Configure" 탭에서 Knowledge를 업로드하지 않아도 Builder에서 파일 업로드가 가능하며, 업로드한 파일은 "Con..

    [Node.js] 동기와 비동기, 블로킹과 논 블로킹

    [Node.js] 동기와 비동기, 블로킹과 논 블로킹

    동기와 비동기 : 백그라운드 작업 완료 확인 여부 블로킹과 논 블로킹 : 함수가 바로 return 되는지 여부 * Node에서는 동기-블로킹 방식과 비동기-논 블로킹 방식이 대부분이다. 동기-논 블로킹이나 비동기-블로킹은 없다고 봐도 된다. 동기-블로킹 방식에서는 백그라운드 작업 완료 여부를 계속 확인하며, 호출한 함수가 바로 return 되지 않고 백그라운드 작업이 끝나야 return 된다. 비동기-논 블로킹 방식에서는 호출한 함수가 바로 return 되어 다음 작업으로 넘어가며, 백그라운드 작업 완료 여부는 신경 쓰지 않고 나중에 백그라운드가 알림을 줄 때 비로소 처리한다.

    [Node.js] 싱글 스레드

    1. 싱글 스레드 싱글 스레드란 스레드가 하나뿐이라는 것을 의미하며, 기본적으로 작성한 Javascript Code가 동시에 실행될 수 없는 이유이기도 하다. 스레드를 이해하기 위해 프로세스의 개념을 알아야 하며, 프로세스와 스레드의 차이는 다음과 같다. 프로세스 : 운영체제에서 할당하는 작업의 단위, Node나 Web Browser 같은 프로그램은 개별적인 프로세스이며, 프로세스 간에는 메모리 등의 자원을 공유하지 않는다. 스레드 : 프로세스 내에서 실행되는 흐름의 단위, 프로세스는 스레드를 여러 개 생성해 여러 작업을 동시에 처리할 수 있다. 스레드들은 같은 주소의 메모리에 접근이 가능하므로 데이터를 공유할 수 있으며, 부모 프로세스의 자원을 공유한다. * Node가 싱글 스레드라는 말을 들어봤을 것..

    [Node.js] 논 블로킹 I/O

    [Node.js] 논 블로킹 I/O

    1. 논 블로킹 I/O 기본적으로 작성한 Javascript Code는 동시에 실행될 수 없다. 하지만 Javascript 상에서 돌아가는 것이 아닌 I/O 작업 같은 것은 동시에 처리될 수 있다. I/O는 입력(Input) / 출력(Output)을 의미하며, 파일 시스템 접근(파일 읽기, 파일 쓰기 등)이나 네트워크를 통한 요청 같은 작업이 I/O의 일종이다. 이러한 작업을 할 때 Node는 논 블로킹 방식으로 처리하는 방법을 제공한다. 논 블로킹 : 이전 작업이 완료될 때까지 대기하지 않고 다음 작업을 수행한다. 블로킹 : 이전 작업이 끝나야만 다음 작업을 수행한다. * 그림을 보면 블로킹 방식보다 논 블로킹 방식이 같은 작업을 더 짧은 시간에 처리할 수 있음을 알 수 있다. 다만 작업들이 모두 동시..