전체 글

개발자가 되기위해 매일매일 체득하며 배우는 학생입니다.
1. RAG의 필요성1.1. LLM의 한계 딥러닝모델은긴길이의문장을입력받거나출력하는데에어려움이있다.또한 학습된 데이터이외의것을만들어내는것에취약하다는한계점이 있다.1.1.1 환각 현상딥러닝모델은학습된데이터이외의정보에취약하다. 오픈 AI의최신모델인GPT-4o는2023년9월까지, Claude Sonnet 3.5는2024년4월까지의데이터 로학습되어, 이 이후의정보는 알지 못한다.예를 들어, 스프링 시큐리티 6.1 버전이 23년 5월에 출시 되었는데 이에 대해 gpt는 제대로 알지 못한다.1.1.2 기억 불가LLM은 사전 학습시에 받아들인 정보 외의 것은배우지 못한다. 따라서 오늘 나와 대화하고 있는 LLM은 어제 나와 대화했던 내용을 기억하지 못한다.1.1.3 토큰 제한LLM은 입력값의 길이가 길어지면 계산량이..
1. 운영체제1-1. 운영체제란?💡 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이다.운영체제는 컴퓨터 하드웨어와 사용자 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램에 유용한 작업을 할 수 있도록 환경을 제공해 준다.1-1-1. 프로그램: 하드 디스크와 같은 보조기억장치에서 아무런 동작을 하지 않는 상태1-1-2. 프로세스: RAM과 같은 메인 메모리(주기억장치)에서 실해중인 프로그램1-2. 운영체제의 구조 인터페이스 : GUI, CLI시스템호출: 시스템 관련 서비스를 모아 함수 형태로 제공하며 사용자나 응용프로그램으로부터 컴퓨터의 자원을 보호하기 위해 자원에 직접 접근을 차단..
1. TRIGGER💡 SQL에서 트리거는 특정 이벤트가 발생할 때 자동으로 실행되는 특별한 저장 프로시저이다. 이 포스팅에서는 트리거를 활용하여 주문 테이블과 상품 입출고를 관리하는 예제를 정리한다. 1-1. 트리거 정의하기1-1-1. DELIMITER트리거를 정의할 때는 문장의 끝을 지정하는 DELIMITER를 변경한다.DELIMITER // -- 문장의 끝을 지정하는 "//" 문자로 지정.트리거는 프로시저를 활용하여 이벤트를 처리한다.예를 들어, 주문 메뉴 테이블(tbl_order_menu)에 주문이 들어올 때마다 주문 테이블(tbl_order)의 총 금액을 업데이트하는 트리거를 작성할 수 있다.1-1-2. CREATE TRIGGER사진과 같은 경우에 triiger를 사용한다.CREATE OR R..
1. VIEW1-1. view란? 💡 SELECT 쿼리문을 저장한 객체로 가상테이블이라고 불린다. 실질적인 데이터를 물리적으로 저장하고 있지 않고 쿼리만 저장했지만 테이블을 사용하는 것과 동일하게 사용할 수 있다.즉, VIEW는 원본 테이블을 참조해서 보여주는 용도이고, 보여지는건 실제 테이블(베이스 테이블)의 값이다. VIEW는 데이터를 쉽게 읽고 이해할 수 있도록 돕는 동시에, 원본 데이터의 보안을 유지하는데 도움이 된다.SELECT menu_name , menu_price FROM tbl_menu;위의 코드를 를 실행하면 아래와 같이 원하는 컬럼에대해서 새로운 테이블의 형태를 만들 수 있다.이러한 새로운 테이블을 view로 사용한다. 1-1. 기본문법(VIEW 생성)-- 기본 문법CREAT..
1. Constarint(제약 조건)이란?💡 SQL에서 제약조건(constraint)은 데이터베이스의 무결성을 유지하기 위해 사용되는 규칙이다.  제약조건을 사용하면 데이터베이스에 잘못된 데이터가 들어가지 않도록 방지할 수 있다. 여기서는 대표적인 제약조건인 NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT에 대해 설명하겠다. 1-1. NOT NULL 제약조건💡 NOT NULL 제약조건은 특정 컬럼에 NULL 값을 허용하지 않는다. 컬럼 레벨에서만 제약조건을 추가할 수 있다.DROP TABLE IF EXISTS user_notnull;CREATE TABLE IF NOT EXISTS user_notnull ( user_no INT NOT NULL..
1. DDL(Data Definition Language)💡 DDL(Data Definition Language)는 데이터베이스의 스키마를 정의하거나 수정하는 데 사용되는 SQL의 한 부분이다.스키마(schema): 테이블의 구조(컬럼명, 자료형, 자료형 크기, 테이블명 등) 및 제약조건(unique, primary key, not null, check, foreign key 등)을 아우르는 말이다. 1-1. CREATE테이블 생성을 위한 구문IF NOT EXISTS를 적용하면 기존에 존재하는 테이블이라도 에러가 발생하지 않는다.  테이블의 컬럼 설정 방법column_name data_type(length) [NOT NULL] [DEFAULT value] [AUTO_INCREMENT] column_co..
1. mariaDB에서 autocommit 활성화 및 비활성화-- autocommit 비활성화set autocommit =0;SET autocommit =OFF;-- autocommit 활성화SET autocommit =1;SET autocommit =ON; 2. TRANSACTION이란? 💡 TRANSACTION은 데이터베이스에서 하나의 작업을 수행하기 위한 연산을 모아 놓은것이다. 시작, 진행, 종료 단계를 가지며 만약 중간에 오류가 발생하면 롤백(시작 이전 단계로 되돌리는 작업)을 수행하고, 데이터베이스에 제대로 반영하기 위해서는 커밋(이후 롤백이 되지 않음)을 진행한다. MySQL은 기본적으로 자동 커밋 설정이 되어 있어 롤백이 안 된다. 롤백을 하기 위해서는 자동 커밋 설정을 해제해 주어야 한..
1. DML(Data Manipulate Language) 💡 데이터를 조작할때 사용하는 언어이다.테이블에 값을 삽입(insert)하거나 수정(update) 하거나 삭제(delete) 하거나 대치(replace)하여 데이터베이스 내의 데이터를 조작하는데 사용한다. 1-1. INSERT💡 테이블에 새로운 행을 추가하는 구문이다.1-1-1. 기본문법INSERT INTO tbl_menu-- 테이블에서 집어넣고자 하는 컬럼 순서 지정( menu_name , menu_price , category_code , orderable_status)-- 위에서 지정한 순서대로 값 삽입VALUES( '초콜릿 죽' , 6500 , 7 , 'Y');1-1-2. multi insert /* multi insert */..