정보시스템감리사 시험공부 정리노트 with Gemini
1. 파인튜닝 (Fine-Tuning)거대 언어 모델(LLM)이 이미 배운 기본 지식을 바탕으로, 특정 목적(예: 법률 상담, 의료 진단, 코딩 등)에 맞는 데이터를 추가 학습하여 전문가로 만드는 과정입니다. 대학까지 졸업한 일반인(Pre-trained)이 로스쿨에 가서 법률 지식을 쌓아 변호사(Fine-tuned)가 되는 것과 같습니다. 상대적으로 적은 데이터와 시간으로 특정 분야의 정확도를 비약적으로 높일 수 있습니다.2. 어텐션 (Attention)문장 내에서 단어 간의 관계를 파악할 때, 어떤 단어에 더 집중(Attention)해야 하는지 결정하는 메커니즘입니다. "그는 사과를 먹었다. 그것은 빨갛다."라는 문장에서 '그것'이 '사과'를 가리킨다는 것을 알아내는 힘입니다. 트랜스포머(Transf..
데이터베이스 암호화는 크게 위치(어디서 암호화 하는가)에 따라 3가지 주요 방식으로 나뉩니다. 1. API (Application Programming Interface) 방식애플리케이션 서버 내에 암/복호화 모듈을 라이브러리 형태로 설치하고, 소스 코드에서 이를 호출하여 데이터를 암호화한 뒤 DB에 전송합니다.DB 서버 부하가 거의 없음.소스 코드 수정이 필수적이므로 구축 비용과 시간이 많이 소요됨.데이터가 네트워크로 전송될 때 이미 암호화되어 있어 보안성이 높음.2. Plug-In 방식DB 서버에 암/복호화 모듈을 설치하고, DB의 프로시저나 트리거 기능을 활용하여 암호화를 수행합니다.애플리케이션 소스 코드 수정이 거의 없음.DB 서버가 암/복호화 연산을 수행하므로 DB 서버 부하(CPU 점유율)가 ..
인공신경망(ANN)은 내부 구조가 복잡한 고차원 행렬 연산으로 이루어져 있어, 전통적인 소프트웨어의 코드 커버리지(구문, 결정 등)를 그대로 적용하기 어렵습니다. 따라서 AI 모델의 특성에 맞춘 새로운 커버리지 개념이 등장했습니다.1. 인공신경망의 화이트박스 커버리지 (White-box Coverage)전통적인 화이트박스 테스트가 '코드 라인'을 얼마나 실행했는지 본다면, 인공신경망에서는 '뉴런(Neuron)이 얼마나 활성화되었는지'를 측정합니다. 이를 통해 학습 데이터가 모델의 내부 로직을 충분히 자극했는지 평가합니다.뉴런 커버리지 (Neuron Coverage)가장 기본적인 지표. 전체 뉴런 중 활성화 임계값(Threshold)을 넘는 입력이 한 번이라도 있었던 뉴런의 비율을 측정.$뉴런 커버리지 =..
UML(Unified Modeling Language)에서 스테레오 타입(Stereotype)은 기존의 UML 요소(클래스, 연관 관계 등)의 의미를 구체화하거나 확장할 때 사용하는 메커니즘으로, 주로 길러멧기호(« ») 안에 표기합니다. 클래스 다이어그램의 관계(Relationship), 특히 의존(Dependency)이나 추상화(Abstraction) 관계에서 자주 사용되는 표준 스테레오 타입들을 기능별로 분류하여 빠짐없이 정리해보도록 하겠습니다. 1. 인스턴스 생성 및 소멸 (Creation & Destruction)한 클래스가 다른 클래스의 인스턴스를 생성하거나 없앨 때 사용합니다.스테레오 타입적용 관계설명«create»의존 (Dependency)클라이언트 클래스가 공급자(Target) 클래스의 ..
1. 클래스 형태 표기 (Stereo)가장 표준적인 방식으로, 일반 클래스 상자에 스테레오타입인 «interface»를 표기합니다. 구성 : 상단에 «interface» 키워드와 인터페이스 이름을 작성하고, 아래 칸에 추상 메서드(오퍼레이션) 목록을 나열합니다.구현 연결 : 클래스가 이 인터페이스를 구현할 때는 점선 화살표(빈 삼각형 머리)인 '인터페이스 실현(Realization)' 선으로 연결합니다. 2. 롤리팝 표기법 (Lollipop/Socket)인터페이스를 간결하게 표현할 때 사용하는 아이콘 방식입니다.제공 인터페이스(Provided Interface) : 클래스 끝에 붙은 작은 원(공) 모양으로 표현하며, 해당 클래스가 인터페이스를 구현하고 서비스를 제공함을 의미합니다. (공을 줄께..)요구 ..
ISO/IEC 25023은 소프트웨어 품질 평가 표준인 SQuaRE(System and Software Quality Requirements and Evaluation) 시리즈 중 하나로, 소프트웨어 제품의 품질 측정(Measurement)을 위한 구체적인 지표를 정의한 표준입니다.구분표준 번호부문명 (Division)주요 내용 및 역할2500nISO 2500x품질 관리 (Quality Management)SQuaRE 시리즈 전반에 대한 지침, 용어 정의 및 관리 모델을 제시합니다.2501nISO 2501x품질 모델 (Quality Model)소프트웨어의 8대 품질 특성과 사용성 품질 모델 등 평가의 기준이 되는 모델을 정의합니다. (예: ISO 25010)2502nISO 2502x품질 측정 (Quali..
필립 크루첸(Philippe Kruchten)이 1995년에 제안한 이 모델은, 복잡한 소프트웨어 아키텍처를 단 하나의 관점이 아닌 '서로 다른 4개의 관점'과 이들을 검증하고 연결하는'1개의 핵심 관점(유스케이스)'으로 설명하는 프레임워크입니다.1. 4+1 뷰 모델의 상세 구조아키텍처 문서는 이해관계자(Stakeholder)마다 보고 싶어 하는 정보가 다르므로 이를 만족시키기 위해 뷰를 분리한 것 논리 뷰 (Logical View)핵심 : 시스템이 사용자에게 어떤 기능(Functional Requirements)을 제공하는가?관점 : 최종 사용자(End-User)의 관점내용 : 시스템의 기능적 요구사항을 클래스, 객체, 관계 등으로 추상화하여 표현설계 : 클래스 다이어그램, 시퀀스 다이어그램 등을 주..
관점지향 프로그래밍(Aspect-Oriented Programming, AOP)은 객체지향 프로그래밍(OOP)을 보완하여 소프트웨어의 복잡도를 낮추기 위해 등장한 패러다임.1. 등장 배경: OOP의 한계객체지향 프로그래밍(OOP)은 모듈화를 통해 재사용성을 높였지만, 특정 기능들이 여러 클래스에 걸쳐 중복되는 문제를 완전히 해결하지 못함.코드 중복 (Code Duplication) : 로깅(Logging), 보안(Security), 트랜잭션(Transaction) 처리와 같은 기능은 거의 모든 비즈니스 로직에 공통적으로 필요합니다. 이를 각 객체마다 작성하면 코드가 중복됩니다.흩어진 관심사 (Scattered Concerns) : 공통 기능이 여러 모듈에 흩어져 있어, 코드를 수정할 때 해당 기능이 포함..
1. 인터페이스와 클래스 간의 상속 규칙자바에서 키워드를 구분하는 기준은 '구현(Implementation)의 의무가 있는가'입니다.구분키워드설명클래스 → 클래스extends부모의 기능을 물려받아 확장함.인터페이스 → 인터페이스extends규격과 규격을 합쳐 더 큰 규격을 만듦.클래스 → 인터페이스implements인터페이스에 정의된 추상 메서드를 직접 구현함.인터페이스 → 클래스불가능인터페이스는 클래스를 상속(extends)할 수 없음왜 인터페이스가 인터페이스를 상속할 땐 extends인가요?인터페이스 간의 상속은 부모 인터페이스의 기능을 자식 인터페이스가 그대로 '확장'하는 개념이기 때문입니다. 자식 인터페이스 역시 추상적인 상태이므로, 메서드 몸통(Body)을 구현할 의무가 없습니다. 그래서 ext..