본문 바로가기

분류 전체보기221

[Template Engine] 개념 Template Engine : 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어로, 크게 서버 템플릿 엔진 과 클라이언트 템플릿 엔진으로 나뉜다. Template Engine의 장점 1. 코드 양 ↓ 2. 재사용성 ↑ 3. 유지보수에 용이 여러 서버 템플릿 엔진의 특징 JSP : Spring Boot에서 권장하지 않음 Velocity : Spring Boot에서 권장하지 않음 Freemarker : 템플릿 엔진으로서 기능이 너무 다양(숙련도 낮은 경우 비즈니스 로직이 추가됨) Thymeleaf : Spring에서 권장, 문법이 어려움 Mustache : 심플하고 서버, 클라이언트 모두 사용 가능 2023. 8. 16.
[Java] Annotation Annotation이란? 사전적 의미로는 주석이라는 뜻이다. 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해 주는 메타데이터(meta data)라고 볼 수 있다.(meta data : 데이터를 위한 데이터) 다음은 어노테이션의 용도를 나타낸 것이다. 1. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다. 2. 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공한다. 3. 실행 시(런타임 시)특정 기능을 실행하도록 정보를 제공한다. 기본적으로 어노테이션을 사용하는 순서는 다음과 같다. 1. 어노테이션을 정의 2. 클래스에 어노테이션을 배치 3. 코드가 실행되는 .. 2023. 8. 15.
[SQL] 프로시저(PROCEDURE) & 함수(FUNCTION) 프로시저(PROCEDURE) 조회 쿼리 SELECT * FROM USER_SOURCE WHERE TYPE = 'PROCEDURE' AND NAME = '프로시저명' 함수(FUNCTION) 조회 쿼리 SELECT * FROM USER_SOURCE WHERE TYPE = 'FUNCTION' AND NAME = '함수명' 프로시저와 함수의 차이 프로시저(PROCEDURE) : 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다. 함수(FUNCTION) : 위의 프로시저의 각 프로세스를 수행하기 위해 필요한 기능들을 함수라 한다. 프로시저(PROCEDURE) 함수(FUNCTION) 특정 작업을 수행 특정 계산을 수행 리턴 값을 가질 수도 안 가질 수도 있음 리턴 값을 반드시 가져야 함 리턴 값을 여러 개 가.. 2023. 7. 28.
[IT] 쿠키 & 세션 & 토큰 & 캐시 쿠키(Cookie) : 브라우저에 저장되는 정보 웹 서핑을 하면서 어떤 사이트에 들어가면 쿠키를 설정하라는 문구를 본 적 있을 것이다. 이 쿠키 덕분에 쇼핑 사이트에 로그인하지 않아도 장바구니에 물건을 담아두거나 검색 기록에서 이전에 입력했던 검색어들을 찾아볼 수 있다. 나의 웹 서핑 내역이 마케팅과 광고에 활용되는 것도 쿠키를 통해 이뤄지는 일이다. 쿠키는 크롬이나 엣지같은 브라우저에 저장되는 작은 텍스트 파일이다. 브라우저는 사용자의 컴퓨터에 설치된 소프트웨어이므로 쿠키는 사용자가 갖고 있는 정보라고 할 수 있다. 사용자는 브라우저의 설정 화면이나 개발자 도구에서 쿠키를 확인하고 수정, 삭제할 수 있다. 다만, 쿠키는 당사자 뿐만 아니라 제 3자가 조회하는 것도 가능하기 때문에 개인 정보를 담은 내용.. 2023. 7. 15.
[AI] 응용 개발 ChatGPT API 기초 [파인튜닝] 파인튜닝을 하여 챗봇 만들어보기 1. 챗봇 모양 만들기import gradio as grimport randomimport timewith gr.Blocks() as demo: chatbot = gr.Chatbot() msg = gr.Textbox() clear = gr.Button("Clear") def respond(message, chat_history): bot_message = random.choice(["How are you?", "I love you", "I'm very hungry"]) # 3가지 답변만 랜덤하게 대답하는 챗봇 chat_history.append((message, bot_message)) time.sleep(1) .. 2023. 5. 30.
[IT] 서버 이중화 서버 이중화(Active-Active, Active-Standby) 서버 인프라를 구성할 때 서비스의 안정적인 운영을 위해 이중화를 진행하게 된다. 이중화는 물리적/논리적 서버를 구성해 하나의 서비스에 장애가 발생하면 다른 서버의 서비스를 제공할 수 있게 한다. Active-Active 구조는 L4 스위치 등 부하분산(SLB) 로드밸런싱을 통해 기능/성격에 따라 1번 또는 2번 서버로 나누어 처리하도록 구성하는 것이다. 대부분의 웹서버는 L4 스위치 SLB(Server Load Balancing)으로 구성하고 DB는 Oracle RAC(Real Application Cluster)를 활용, 디스크는 Veritas CFS(Cluster File System)을 통해 구성한다. 이런 구성은 1번 장비 장애 .. 2023. 5. 30.