반응형

1. 시험환경

    · 리눅스

 

2. 목적

    · lsof, nslookup, telnet, netstat 등 리눅스 네트워크 명령어 사용법을 알아보자.

 

3. 적용

    ① man : CLI 명령어에 대한 사용법(usage) 문서를 볼 수 있다.

        - $ man  grep

 

    ② lsof : 특정 포트 또는 포트 범위에 대한 정보 조회

        - $ lsof  -i:8080

        - $ lsof  -i:8080-8090

 

    ③ nslookup : 입력한 DNS에 대한 IP 조회

        - $ nslookup  naver.com

        - $ nslookup  google.com

 

    ④ telnet : 입력한 IP와 Port로 통신 가능한지 확인

        - $ telnet  10.20.10.1  8080

 

    ⑤ netstat : 네트워크 상태 확인 명령어

        - $ netstat  -nalt

        - LISTEN : 클라이언트의 요청 대기 상태

        - ESTABLISHED : 클라이언트와 통신중인 상태

반응형
반응형

1. 시험환경

    · 리눅스/윈도우

    · SCP

 

2. 목적

    · SCP  명령어를 이용하여 서버간 파일 전송 방법을 알아보자.

 

3. 적용

    ① scp  [옵션]  [전송할 파일]  [전송할 서버]

 

    ② example.txt 파일을 1.1.1.1 서버의 특정 폴더로 전송

        - $ scp  file.txt  tester@1.1.1.1:/directory

 

    ③ example.txt 파일의 1.1.1.1 서버의 특정 폴더 example2.txt 이름으로 저장

        - $ scp  file.txt  tester@1.1.1.1:/directory/example2.txt

 

    ④ 포트를 지정하여 전송

        - $ scp  -P 3000 file.txt  tester@1.1.1.1:/directory

 

    ⑤ example 디렉토리 복사

        - $ scp  -r  ./example  tester@1.1.1.1:/directory

반응형
반응형

1. 시험환경

    · AWS EC2 Ubuntu Linux

        - t2.large

        - AMI-ID: ami-09a7535106fbd42d5 (ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20240301)

 

2. 목적

    · Langchain 관련 라이브러리를 설치한다.

    · OpenAI의 API와 연동하여 Langchain 기초 사용법을 학습한다.

 

3. 적용

    ① 테스트를 위한 라이브러리를 설치한다.

        - $ sudo apt install python3-pip

        - $ pip install langchain
        - $ pip install langchain-openai
        - $ pip install bs4
        - $ pip install sentence-transformers
        - $ pip install faiss-cpu

 

     OpenAI의 API 키를 이용하여 질문하고 응답 결과를 확인한다.

        - 코드)

 

        - 결과)

 

     PromptTemplate 클래스를 사용하여 동적으로 프롬프트(질문)를 생성한다.

        - 코드)

 

        - 결과)

 

     동적으로 생성한 프롬프트(질문)를 OpenAI에게 질문하고 이에 대한 응답을 확인한다.

        - 코드)

 

        - 결과)

 

     ConversationChain을 사용하여 두 입력에 대한 대화 예측을 수행하고 그 결과를 출력한다.

        - 코드)

 

        - 결과)

 

     로드한 특정 문서를 1000자 단위로 나누고, 분할된 chunk의 갯수 및 첫 번째 chunk를 출력한다.

        - 코드)

 

        - 결과)

 

    과정에서 수행한 결과(chunk)를 요약하여 출력하는 코드가 추가되었다.

        - 코드)

 

        - 결과)

 

     HuggingFace 임베딩을 기반으로 데이터 벡터화 및 FAISS 인덱싱 시스템을 통해 이를 저장한다.

        - 코드)

 

        - 결과)

 

     벡터 스토어를 활용하여 최근 이슈에 대한 쿼리를 실행하고, 결과를 확인한다.
        - 코드)

 

        - 결과)  Chat GTP3는 2024년 4월 기준(러시아 대통령 선거) 정보를 갖고 있지 않다.

 

반응형
반응형

1. Eleven Labs

    ① 보이스 클론

    ② 다양한 목소리 음성 생성
    ③ URL : https://elevenlabs.io/

 

Text to Speech & AI Voice Generator

Create premium AI voices for free in any style and language with the most powerful online AI text to speech (TTS) software ever. Generate text-to-speech voiceovers in minutes with our character AI voice generator.

elevenlabs.io

 

반응형
반응형

1. HeyGen

    ①  아바타 기반 영상 생성 서비스
    ②  맞춤형 아바타 생성
    ③  교육, 프리젠테이션, 마케팅 등 다양한 용도로 활용될 수 있도록 여러 시나리오 지원
    ④  URL : https://www.heygen.com/

 

HeyGen - AI Video Generator

HeyGen is an innovative video platform that harnesses the power of generative AI to streamline your video creation process. Unleash your creativity with HeyGen - the future of video production.

www.heygen.com

 

 

2. synthesia

    ①  아바타 기반 영상 생성 서비스
    ②  AI 음성 합성 기술을 통해 50개 이상의 언어로 자연스러운 음성 생성
    ③  사용자 친화적으로 설계된 비디오 편집 기
    ④  URL : https://www.synthesia.io/

 

Synthesia - Create studio-quality AI videos from text

Create studio-quality videos with AI avatars and voiceovers in 130+ languages. It is as easy as making a slide deck.

www.synthesia.io

 

3. Hour One

    ①  아바타 기반 영상 생성 서비스
    ②  실제 인물과 흡사하게 보이는 아바타 제작
    ③  간단한 입력만으로 비디오 생성 및 즉시 배포
    ④  URL : https://hourone.ai/

 

Gen AI Video: Creating Content Workflows for Enterprise Growth - Hour One

Gen AI videos and content workflows tailored for your enterprise growth

hourone.ai

 

4. runway

    ①  텍스트 기반 영상 생성 서비스
    ②  객체 제거, 스타일 전환, 영상 색상 조정 등의 작업을 AI 가 자동으로 수행
    ③  클라우드 기반 작업 환경을 제공하여 사용자들이 어디에서나 접속하여 협업 가능
    ④  URL : https://runwayml.com/

 

Runway - Advancing creativity with artificial intelligence.

Runway is an applied AI research company shaping the next era of art, entertainment and human creativity.

runwayml.com

 

5. Sora

    ①  텍스트 기반 영상 생성 서비스
    ②  실시간 투표, 채팅, 반응 등을 아바타가 실시간으로 반영하여 보다 동적인 커뮤니케이션 제공
    ③  YouTube, Fackebook 등 다양한 스트리밍 플랫폼과 호
    ④ URL : https://openai.com/index/sora/

 

6. Pika

    ①  텍스트 기반 영상 생성 서비스
       URL : https://pika.art/home

 

Pika

The idea-to-video platform that sets your creativity in motion.

pika.art

 

7. invideo AI

    ①  텍스트 기반 영상 생성 서비스
    URL: https://invideo.io/

 

Invideo AI - Turn ideas into videos - AI video creator

Make videos easily by giving a prompt to invideo AI. Ideal for content creators, YouTubers, and marketers, invideo AI offers a seamless way to turn your ideas into publish-ready videos with AI.

invideo.io

 

반응형
반응형

1. 시험환경

    · 윈도우

    · C++

    · boost

 

2. 목적

    · C++ Boost 라이브러리를 이용하여 json 파일을 읽어서 파싱(parsing)하는 예제 코드를 작성한다.

 

3. 적용

    ① json 샘플 데이터

        - 파일명 : Config.json

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
31
32
33
{
  "encoding":"UTF-8",  
  "config_type":"dev",
 
  "port":8899,
 
  "log":
  { 
    "max_size":1024,
    "write_file":true,
    "print_screen":true    
  },
 
  "database":
  [
    { 
      "desc":"no.1",
      "address":"127.0.0.1",
      "port":4443,
      "instance":"test_instance1",
      "id":"sa",
      "password":"asdf1234$"
    },
    { 
      "desc":"no.2",
      "address":"127.0.0.1",
      "port":5443,
      "instance":"test_instance2",
      "id":"sa",
      "password":"asdf1234$"
    }
  ]
}
cs

 

 

    ② json 형식의 데이터를 파싱하는 코드이다.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
 
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
 
#include <boost/foreach.hpp>
 
 
int main()
{
    try
    {
        using boost::property_tree::ptree;
        using std::string;
 
        ptree props;
        boost::property_tree::read_json("Config.json", props);
 
 
        string encoding = props.get<string>("encoding");
        std::cout << "Encoding=" << encoding << std::endl;
 
        string config_type = props.get<string>("config_type");
        std::cout << "config_type=" << config_type << std::endl;
 
 
        unsigned short port = props.get<unsigned short>("port");
        std::cout << "port=" << port << std::endl;
 
 
        std::cout << "[Log]" << std::endl;
        ptree &log_child = props.get_child("log");
        int size = log_child.get<int>("max_size"); 
        std::cout << "size=" << size << std::endl;
 
 
        bool write_file = log_child.get<bool>("write_file"); 
        std::cout << "write_file=" << std::boolalpha << write_file << std::endl;
 
        std::cout.setf(std::ios::boolalpha);
        bool print_screen = log_child.get<bool>("print_screen"); 
        std::cout << "print_screen=" << print_screen << std::endl;
 
 
 
        std::cout << "[Database]" << std::endl;
        ptree &db_child = props.get_child("database");
 
        // array!
        int idx = 0;
        BOOST_FOREACH(ptree::value_type &vt, db_child)
        {
            string desc = vt.second.get<string>("desc");
            string address = vt.second.get<string>("address");
            unsigned short port = vt.second.get<unsigned short>("port");
            string instance = vt.second.get<string>("instance");
            string id = vt.second.get<string>("id");
            string password = vt.second.get<string>("password");
 
            std::cout << idx++ << " " << desc << " " << address << " " << port << " " << instance << " " << id << " " << password << std::endl;
        }
 
    }
    catch (std::exception& e)
    {
        std::cout << e.what(); 
    }
 
    return 0;
}
 
cs

 

반응형
반응형

1. 시험환경

    · React Native

    · expo cli

    · vsCode

    · Android Studio / AVD(Android Virtual Device)

 

2. 목적

    · expo cli를 이용하여 프로젝트를 생성하고 실행한다.

    · 핸드폰 단말기에 Expo Go 앱을 설치하여 배포 앱을 확인한다.

 

3. 적용

    ① [휴대폰] Android 및 iPhone 단말기에 "Expo Go" 앱을 설치한다.

        - 윈도우 개발환경에서는 iPhone 에뮬레티어를 실행할 수 없기 때문에 iPhone 단말기를 준비해야 한다.


    ② 안드로이드 에뮬레이터를 사용하기 위해 Android Studio 및 AVD를 설치한다.

        - 참고 : https://languagestory.tistory.com/174

 

Android Studio 설치

1. 시험환경 ˙ 윈도우 ˙ 안드로이드 스튜디오 2. 목적 ˙ 윈도우 운영체제에서 안드로이드 스튜디오를 설치한다. 3. 적용 ① 안드로이드 개발자 사이트에 접속해서 "Andriod 스튜디오" 메뉴를 클릭

languagestory.tistory.com

 

 

        - 참고 : https://languagestory.tistory.com/175

 

AVD(Android Virtual Device) 사용

1. 시험환경 ˙ Android Studio ˙ AVD(Android Virtual Device, 안드로이드 가상 디바이스) 2. 목적 ˙ Android Studio에서 제공하는 AVD를 최초 실행 및 동작하는 방법을 학습한다. 3. 적용 ① Android Studio → More Actions

languagestory.tistory.com

 

    node.js를 설치한다.

        - 참고 : https://languagestory.tistory.com/24

 

node.js 최신버전 설치 (windows)

1. 시험환경 ˙ Node.js 20.11.1 LTS ˙ 윈도우 2. 목적 ˙ node.js를 윈도우 환경에서 설치한다. ˙ node.js를 설치 시, 자동설치 되는 npm을 확인한다. 3. 적용 ① node JS 공식 웹사이트에서 설치 파일을 다운 받

languagestory.tistory.com


    expo 최신 패키지를 설치한다.

        - npm install expo@latest

 

    expo cli를 이용하여 프로젝트를 생성한다.

        - npx create-expo-app [프로젝트명]

 

    생성된 프로젝트 폴더로 이동하여 프로젝트를 실행한다.

        - cd [프로젝트명]

        - npx expo start

 

    ⑦ 안드로이드) AVD 실행 후 ⑥에서 실행한 콘솔은 유지하고 별도의 콘솔에서 아래 명령어를 실행한다.

        - npm run android

 

    ⑧ 아이폰) 실행시 나타나는 QR 코드를 핸드폰 "Expo Go" 앱을 열어서 코드스캔한다.

        - QR 스캔 핸드폰은 개발 PC와 동일 네트워크에 있어야 함에 주의한다.

 

4. 결과

    · 핸드폰에서 실행된 앱을 확인한다.

 

반응형
반응형

1. 시험환경

    ˙ Gemini (Google AI Studio) 서비스

 

2. 목적

    ˙ AI 앱 개발을 위해 Gemini를 연동할 경우 사전 준비사항으로 API 키 발급 받는 절차를 알아보자.

 

3. 적용

    ① Gemini 사이트에 접속하여 계정생성 및 로그인한다.

        - URL : https://ai.google.dev/

 

Build with the Gemini API  |  Google AI for Developers

Integrate the Gemini API, quickly develop prompts, and transform ideas into code to build AI apps.

ai.google.dev

 

    ② 로그인 후 나타나는 첫 화면에서 "Get API key in Google AI Studio" 메뉴를 클릭한다.

 

    ③ 최초 로그인시 나타나는 팝업창에서 필수조항 체크 후 "Continue" 버튼을 클릭한다.

 

    ④ "Get API Key" 메뉴에서 "Create API Key" 버튼을 클릭하 서비스별 API 키를 발급한다.


 

    ⑤ Gemini 1.0 Pro의 API는 현재기준(2024년 3월) 과금없이 사용가능하다.

 

4. 결과

    ˙ API 연동 예제 프로그램(python)을 작성하여 테스트하면 응답 결과를 확인할 수 있다.

        - 샘프코드 작성

1
2
3
4
5
6
7
8
9
10
11
import google.generativeai as genai
 
GOOGLE_API_KEY="발급받은 Gemini API Key 입력"
 
genai.configure(api_key=GOOGLE_API_KEY)
 
model = genai.GenerativeModel('gemini-pro')
 
response = model.generate_content("태양계 행성의 종류에 대하여 알려줘")
 
print(response.text)
cs

 

        - 결과확인

 

반응형

+ Recent posts