분류 전체보기 158

C++ enum에 대해 정의되지 않은 값을 저장하려 할 때

enum Color{ RED = 0, GREEN = 1, BLUE = 2};이때 static_cast(3)처럼 열거형에 정의되지 않은 값을 캐스팅하면 컴파일 에러는 발생하지 않는다고 합니다.C나 C++에서는 enum은 내부적으로 정수형으로 처리되기 때문에, static_cast를 통해 어떤 정수든 enum타입으로 변환할 수 있다고합니다.Color c = static_cast(3);이러면 c에는 3이라는 값이 들어감즉enum Permission { READ = 1 (READ | WRITE); //0011}이렇게 사용하는게 가능함.

CS 2025.08.20

RAG란 무엇인가?

0. TMI회사에서 자사 제품 개발 중 거진 모든 회사들이 자사만의 RAG구축을 하는 것이 유행이라고, 우리도 구축한번 해보자! 해서 제가 담당하게 됐습니다. 관련된 프로젝트 일부분을 간략하게 말씀드리면, CWE나 CERT, MISRA 혹은 과거 구축되어 있던 자사만의 판례를 RAG로 구축하여 코드 결함을 정확하게, 구축된 데이터를 통하여 좀 더 명확하고 최신화된 결함 수정 예시를 llm을 통해 제시하는 기능 구현이었습니다. 개발과정에서 RAG에 명확한 한계점과, 현재(2025/06/30) 기준 RAG는 어떤 녀석인지 면밀히 알게 되었습니다.... 이 글을 보시는 여러분은 그러한 문제를 겪지 않기를 바라면서 이 글을 시작합니다.1. RAG란 RAG (Retrieval-Augmented Generation..

인공지능/RAG 2025.06.30

기본 LLM 체인

프롬프트(Prompt): 사용자 또는 시스템에서 제공하는 입력으로, LLM에게 특정 작업을 수행하도록 요청하는 지시문. 프롬프트는 질문, 명령, 문장 시작 부분 등 적합한 형태로 줄 수 있고, 이것을 바탕으로 LLM의 응답을 유도.- 프롬프트 생성: 사용자의 요구 사항이나 특정 작업을 정의하는 프롬프트를 생성. 이 프롬프트는 LLM에게 전달되기 전에, 작업의 목적과 맥락을 명확히해야함.- LLM 처리: LLM은 제공된 프롬프트로 학습된 지식을 통해 적절한 응답을 생성. LLM은 이때 내부적으로 다양한 언어 패턴과 내외부 지식을 활용하여, 요청 작업 수행 혹은 정보 제공실습 예제- OpenAI의 ChatOpenAI 함수를 사용하면 GPT-3.5, GPT-4 모델을 API로 접속가능. GPT 모델이 자연어 ..

LangChain 정의 및 현황

1. LangChain: 대규모 언어 모델을 활용한 프레임워크 다양한 언어 모델(LLM), 도구, API, 데이터 소스를 연결하고복잡한 LLM 기반 워크플로우(RAG, 에이전트, 체이닝)를 쉽게 구현할 수 있도록 만든 Python/JS 라이브러리 2. 2025년 기준 LangChain 주요 현황항목내용핵심 기능LLM 체인, 메모리, 도구 호출, 에이전트, RAG 구성, LLM + DB 연동 등지원 모델OpenAI, Anthropic, HuggingFace, Ollama, Together, Gemini, Cohere 등 대부분지원 DB/벡터 저장소Chroma, Weaviate, Pinecone, FAISS, Qdrant 등RAG 전용 모듈langchain.chains.RetrievalQA, langchai..

CWE, CVE 의미 및 CWE top 25 2024 설명

CWE(Common Weakness Enumeration)→ 전 세계적인 소프트웨어 공통 취약점 목록. MITRE(미국 비영리 단체. 사이버 보안 분야에서는 다양한 표준 제공)에서 관리소프트웨어의 보안 결함을 일관되게 설명하고 공유하기 위한 표준개발자, 보안 전문가, 도구(정적 분석기 등)가 같은 기준으로 취약점을 인식하게 함관리 기관MITRE Corporation형식CWE-번호 (예: CWE-79, CWE-89)용도정적 분석 도구, 보안 감사, 교육 자료, 규정 준수 등에 활용관련 표준CVE, OWASP Top 10, NIST 등과 연계 가능용어설명예시CWE보안 취약점 유형에 대한 표준 분류CWE-89: SQL InjectionCVE실제 발생한 보안 사건 결과에 대한 고유 식별자CVE-2023-XXXX..

CS 2025.05.27

정적 분석 도구 비교 분석(SonarQube, Coverity, PVS-Studio)

정적 분석(Static Analysis)프로그램을 실행하지 않고 코드 자체를 분석하는 방법. 소스코드(혹은 바이너리 코드)를 대상으로 함코드 검사: 코드의 문법, 스타일, 잠재적 버그, 보안 취약점 등을 찾기 위해 사용자동화: 지속적 통합(CI) 시스템에 통합되어 자동으로 코드 품질을 검사초기 발견과 예: 코드 작성 초기에 버그와 보안 취약점을 발견 -> 개발 비용 절감과 코드 품질 향상. 잠재적 문제를 미리 예방할 수 있어, 실제 소프트웨어 릴리스 전에 심각한 문제를 줄임정적 분석 도구(2025-05-02 기준. 특이점 및 오류 발견 시 댓글요망) SonarQubeCoverityPVS-Studio지원 언어Java, C#, JavaScript, Python 등 30여 개 https://www.sonar..

CS 2025.05.02