7월, 2023의 게시물 표시

MYSQL에서 제공하는 Vector Data 처리기능

이미지
  MYSQL에서 제공하는 Vector Data 처리기능 MySQL은 벡터 데이터 처리 기능을 내장하여 AI 기반 애플리케이션 개발을 지원합니다. 아래는 주요 기능과 사용 예시, 기존 벡터 DB 대비 장점을 정리한 내용입니다.     MySQL의 Vector DB 기능 1. 벡터 데이터 타입 지원 VECTOR(n) : n차원 벡터 저장 가능 (예: VECTOR(768) )[2][5]. 저장 방식 : VARBINARY 또는 리스트 형식 문자열로 4바이트 부동소수점 저장[2]. 크기 제한 : 2048~16383 차원 지원 (기본값 2048)[2].   2. 벡터 변환 함수 STRING_TO_VECTOR() : 문자열을 벡터로 변환 (예: '[1][2][3]' → 이진값)[2][5]. VECTOR_TO_STRING() : 이진 벡터를 문자열로 출력[2]. VECTOR_DIM() : 벡터의 차원 수 계산[2].   3. 유사도 계산 DISTANCE() : 코사인/유클리드/내적 유사도 계산 지원[2]. SELECT DISTANCE(embedding, '[1,2,3]' , 'COSINE' ) FROM books;     4. 벡터 연산 통합 표준 SQL 구문 : INSERT , UPDATE , JOIN 등 기존 SQL 문법과 호환[2][5]. 예시 테이블 생성 : CREATE TABLE books ( id INT PRIMARY KEY, title VARCHAR ( 60 ), embedding VECTOR( 768 ) USING VARBINARY );     사용 예시 1. 벡터 데이터 삽입 INSERT INTO books (title, embedding) VALUES ( 'AI 입문서' , STRING_TO_VECTOR( '[0.1,0.4,0.7]' ));   2. 유사도 검색 ...

자기주권 신원 (SSI Self-Sovereign Identity) 인증의 발전 그리고 정보 민주화 (Information Democratization)

이미지
자기주권 신원 (SSI Self-Sovereign Identity) 인증의 발전 그리고 정보 민주화 (Information Democratization) 최근의 마이데이터(My-Data), STO (Security Token), Password-less Authentication , FIDO, 긱 경제 , 프로토콜 경제 등의 정보 민주화에 대한 생각이 나서 정리해 보았습니다. 앞으로 인공지능과 같은 서비스들이 활성화 되기 위해서는 개인정보 없이도 정보 분석이 가능하고,  정보의 소유 주체에서 개인화가 필요하다고 생각합니다.  이유는 많겠지만 예를 들어 독자 여러분의 사진을 딥페이킹을 해서 해외 금융 계좌를 개설하거나,  음성 정보를 이용해서 가상 인간을 만든다면 세상을 어떻게 될까요 ? 넷플릭스의 블랙미러라는 시리즈를 보시는 분들도 계실텐테 정보 기술로 인한 인간의 생활이 어떻게 변할수 있는지 아주 극한의 상황들을 보여 주는 드라마 시리즈 입니다.   2023년 최근  "블랙미러 시리즈 중에  : 존은 끔찍해" 를 보셨다면 인공 지능과 결합된 개인 정보의 위험이 어떻게 되는지 상상 이상의 충격을 엿볼 수 있습니다. 주인공이 다니는 인공지능 회사에서 양자 컴퓨팅으로 직원 중에 특정 인물의 일상을 실시간으로 드라마 영상을 제작해서 유튜브에 생중계를 하는데,  실제 인물의 생활을 자극적인 내용으로 왜곡해서 방송하여 그 사람의 인생을 완전히 망가 뜨리는 내용 입니다.  주인공은 항의를 하지만 그것에 대한 통제가 불가능 하다는 것이고 ... 등등 ... 드라마는  앞으로 컴퓨팅의 기술이 발전 할 수록 우리가 상상하는 그 이상의 정보 변조가 가능 하다는 것이고 정보에 대한 자기 주체로서 역할을 할 수 없는 것에 대한 경고를 보여주는 영화 였습니다. 이런 드라마의 사례가 아니더라도  현재 개인의 정보를 관리...

NVM(node version manager) 설치하고 여러 버전 Nodejs 사용하기(linux,windows)

이미지
  NVM(node version manager) 설치하고  여러 버전 Nodejs  사용하기(linux,windows) #Linux, macOs,  Windows 에서 여러 버전을 node 설치하고 관리할 수있는 node version manger 을  정리 합니다. Node.js(노드) 언어는 어플리케이션의 개발에 다양한 외부 오픈소스 라이브러리를 이용합니다. 오픈소스로 개발된 언어들은 대부분 외부 개발된 라이브러리간의 의존 관계를 관리해야 컴파일이 되거나 작동이 됩니다.   Node.js와 외부 라이브러리는  지속적인 개발과 업데이트로 발전 되고 있으며,  새로운 기능을 추가하고 버그를 수정한 새로운 버전과 업데이트 버전이 자주 이루어집니다. 오픈 소스가 안정적이라는 표현은 현재의 프로그램이 안정적이라고 표현하기 보다 개발자들의 커뮤니티 활동들이 활성화되고 지속적이고 안정적인 업데이트가 가능해야 합니다. 커뮤니티가 사라지면 더 이상의 업데이트나 개선된 버전이 나오지 못하기 때문입니다. 목차 : NVM nodejs 버전 관리 1. nvm(Node Version Manager)이란 무엇인가요? 2. nvm의 기능 3. nvm 설치 방법 (linix & mac OS) 4. nvm  사용하는 명령 5. nvm 설치 방법 ( Windows) 6. Node.js LTS(Long-Term Support)란 무엇인가요? 1. nvm(Node Version Manager)이란 무엇인가요? nvm(Node Version Manager)은 Node.js언어의 패키지 버전을 관리하기 위한 도구입니다. Node.js의 여러 버전을 손쉽게 설치하여 사용할 수 있습니다. 이를 통해 한 컴퓨터에서 여러 Node.js 프로젝트를 개발하고 실행하는 동안 필요에 따라 다른 Node.js 버전을 선택하여 사용할 수 있습니다. 2. nv...

(블록체인) Truffle 설치 - 스마트 계약 개발 환경 구성 (truffle, ganache-cli, solc )

이미지
  Truffle 설치 와 스마트 계약(Smart Contract) 개발 1. Truffle 설치 - 스마트 계약 개발 환경 구성 (truffle, ganache-cli, solc )     - npm install -g truffle     - npm install -g ganache-cli     - npm install -g solc 2.  Truffle 사용 - 스마트 계약(Smart Contract)개발    - truffle create contract YourContractName    - truffle create test YourTestName  3. [Truffle 환경 설정] 컴파일 오류 대처 - Error: Failed to fetch the Solidity compiler from the following locations:      - Are you connected to the internet? 4.  [Truffle 환경 설정] Deploy 오류 대처 - Error: Could not find artifacts for SimpleStorage from any sources   - throw new Error("Could not find artifacts for " + import_path + " from any sources");     1. Truffle 설치 - 스마트 계약 개발 환경 구성 (truffle, ganache-cli, solc )   Truffle은 Ethereum 스마트 계약(Smart Contract)을 개발하고 배포하기 위한 강력한 개발 도구이며, Ethereum...

SSL/TLS 인증서 오류를 해결- 리눅스명령모음 - SSL certificate problem

이미지
  SSL/TLS 인증서 오류를 무시하는 linux 명령모음  -  SSL certificate problem   외부 파일을 받거나 HTTPS로 통신을 점검하는 동안  SSL certificate problem 이 발생 하는 경우 대처하는 법입니다. # 개발 하면서 많이 사용하는 어플리케이션 패키지를 다운 받을때 SSL 인증서 오류 해결 방법을 정리 합니다. 1. curl   2. wget  3. git    4. pip 4. npm     1. curl   -  curl은 커멘드라인으로 HTTP, HTTPS, FTP, FTPS, SCP, SFTP 등으로 웹서비스를 호출하고 응답을 받을수 있습니다.  방법 1 # curl 명령에 대한 인증서 확인을 비활성화합니다. curl --insecure -I https: //www.some.com/ curl -k -O https: //www.some.com/file.tar.gz 방법 2 # vi $HOME/.curlrc # .curlrc 파일에 다음 내용을 추가 합니다. insecure   2. wget   - wget은 인터넷 웹서비스 호출의 결과나 파일을 다운 받는데 사용합니다.  --no-check-certificate  를 이용하여 SSL 인증서 문제를 해결 할 수 있습니다. wget --no-check-certificate https: //bootstrap.pypa.io/get-pip.py     3. git - git은 소스 코드를 관리하고 변경 사항을 추적하는 분산 버전 관리 시스템(VCS)입니다. 방법 1. 환경 변수 설정 env GIT_SSL_NO_VERIFY= true git clone https: //some.git.com/file.git * ...

이 블로그의 인기 게시물

[좋은글] 나침반의 바늘이 흔들리는 한 그 나침반은 틀리는 일이 없다 - 신영복

( 경영전략,사업전략 ) 마이클 포터의 가치사슬 분석(Value Chain Analysis) 이론

[Ubuntu]Linux Tunning -네트워크 커널 매개 변수 최적화