Self-Development/Study13 실용적이고 안정감있는 테스트 코드 작성하기 서론 개발을 할 때면, 좋은 테스트를 작성하기 위해 매번 많은 고민을 통해 꽤 긴 시간을 허비하게된다. 현 세계에는 E2E Test, Integration Test, Unit Test 등 많은 테스트 기법들이 있지만, 현재 속해있는 조직에선 Unit Test를 위주로 작성 하고있다. 유닛 테스트만 작성하는 이유는 몇 가지가 있겠지만, 그 중 개인적으로 가장 타당하다고 생각드는 부분은 다음과 같다. 우리의 시스템은 주어진 요구사항이 Domain Model Layer에 응집되도록 하고있다. 이 응집된 Domain Model이 보통 단위의 대상이 되도록 하고있다. 따라서, Domain-Model의 테스팅이 성공된다면, 우리의 복잡한 요구사항은 얼추 만족시키게 되는것이다. 이 도메인 논리에 대해 촘촘하게 작성만.. Self-Development/Study 2023. 9. 27. [Real Mysql 8.0] 4.1장 - MySQL Engine Architecture MySQL Engine Architecture mysql 서버는 사람의 머리 역할을 담당하는 MySQL 엔진과 손발 역할을 하는 스토리지 엔진으로 구분할 수 있다. 그리고 손과 발의 역할을 담당하는 스토리지 엔진은 핸들러API를 만족하면 누구든지 스토리지 엔진을 구현하여 MySQL 서버에 추가해서 사용할 수 있다는 특징이 있다. 아래의 이미지는 MySQL Server의 전체 아키텍처를 나타낸다. MySQL은 크게 MySQL 엔진과 스토리지 엔진으로 구분할 수 있다. 하나씩 알아보자. MySQL 엔진 MySQL 엔진은 클라이언트로부터 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL파서 및 전처리기, 쿼리의 최적화된 실행을 위한 옵티마이저가 중심을 이룬다. 또한 MySQL은 표준 SQL(Ansi) 문법.. Self-Development/Study 2022. 8. 7. 2022년 정보 처리 기사 실기 - 모의고사 문제 및 오답 노트 정리 3 #043 - 메타데이터 더보기 자료의 속성 등을 설명하는 데이터를 말한다. (데이터의 데이터라고 부른다.) #044 - 블랙박스 테스트 더보기 프로그램 내부 논리 구조를 참조하지 않고 요구사항 등을 이용하여 테스트 케이스를 개발하여 테스트 하는 방법을 말한다. #045 - LOC (Lines Of Code) 더보기 코드 라인수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고, 이를 이용하여 비용을 산정하는 방법을말한다, #046 - CBD 더보기 기존의 SW를 구성하고 있는 컴포넌트를 조립해서 하나의 새로운 애플리케이션을 만드는 SW 개발 방법론을 말한다. #047.1 - 피그(Pig) [빅데이터 가공 기술] 더보기 하둡을 이용하여 맵리듀스를 사용하기 위한 높은 수준의 스크립트 언어인 피그 라틴이라.. Self-Development/Study 2022. 5. 2. 2022년 정보 처리 기사 실기 - 모의고사 문제 및 오답 노트 정리 2 이전 1번글을 이어서 작성하는 포스트입니다. 참고바랍니다. #024.1 - 거리 벡터 알고리즘 (라우팅 알고리즘) 더보기 목적지까지의 최적 경로를 산출하기 위한 법칙이다. 1. 인접 라우터와 정보를 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘 2. 벨만-포드 알고리즘 사용 3. 라우팅 프로토콜 RIP, IGRP 4. 최대 15개의 홉 카운트 제한 #024.2 - 링크 상태 알고리즘 (라우팅 알고리즘) 더보기 링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성하는 라우팅 프로토콜 알고리즘 1. 다익스트라 알고리즘 사용 2. 라우팅 프로토콜 OSPF (Open Shortest Path First), IS-IS 3. 홉 카운트 무제한 #025.1 - 콘텐츠 제공자 (디지털.. Self-Development/Study 2022. 4. 29. 2022년 정보 처리 기사 실기 - 모의고사 문제 및 오답 노트 정리 1 #001 - 서비스 지향 아키텍처 더보기 가장 선진화된 서비스의 분할된 애플리케이션 조각들을 Loosely-coupled하게 연결하여 하나의 완성된 Application을 구현하기 위한 아키텍처 #002.1 - 피코넷 더보기 피코넷 : 여러 개의 독립된 통신 장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술 #002.2 - 지그비 더보기 지그비 : 저속 전송 속도를 갖는 홈오토메이션 및 데이터 네트워크를 위한 표준 기술 #003 - (TCP) 세션 하이재킹 더보기 케빈 미트닉이 사용했던 공격 방법의 하나로, TCP의 세션 관리 취약점을 이용한 공격 기법이다. 세션 하이재킹에 대응을 위해서는 비동기화 상태 탐지, ACK 패킷 비율 모니터링, 특정 세션에서 패킷 유실.. Self-Development/Study 2022. 4. 29. 2021년 정보처리기사 실기 - 1~3회 기출 문제 및 답안 내용 정리 (추가 개념 정리) 들어가기 전 간단한 개념문제, 프로그래밍 및 SQL 관련 문제는 제외합니다. ▶정보처리기사 실기 2021년 1회 기출 문제 1. 물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 프로토콜로 역순 주소 결정 프로토콜을 무엇이라고 하는지 쓰시오. 더보기 : RARP + 추가 개념 정리 IP : 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신 프로토콜 ARP : IP 네트워크 상에서 IP주소를 MAC주소(물리 주소)로 변환하는 프로토콜 ICMP : IP 패킷을 처리할 때 발생하는 문제를 알려주는 프로토콜, 메시지 형식은 8bit의 헤더와 가변 길이의 데이터 영역으로 분리 IGMP : 화상회의, IPTC에서 활용되는 프로토콜 라우팅 프로토콜 : 데이터 전송을 .. Self-Development/Study 2022. 4. 23. 2020년 정보처리기사 실기 - 1~4회 기출 문제 및 답안 내용 정리 (추가 개념 정리) 들어가기 전 간단한 개념문제, 프로그래밍 및 SQL 관련 문제는 제외합니다. ▶정보처리기사 실기 2020년 1회 기출 문제 1. 살충제 패러독스의 개념에 대해 서술 더보기 : 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못한다는 테스트의 원리를 말한다. + 결함집중 : 적은 수의 모듈에서 대다수의 결함이 발견되는 것을 말한다. + 오류-부재의 궤변 : 요구사항을 충족시켜주지 못한다면, 결함이 없다고 해도 품질이 높다고 볼 수 없다. 2. 데이터 마이닝의 개념에 대해 서술 더보기 : 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술을 말한다. 3. 프로토콜의 기본 요소 3가지를 작성 더보기 : 구문, 의미, 타이밍 [구의타] 4. W3C에서 개발되.. Self-Development/Study 2022. 4. 22. 2022년 정보처리기사 실기 - 데이터 입 출력 구현 1. 데이터 모델에 표시할 요소 3가지 구조 (Structure) -> 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현한다. 연산 (Operation) -> DB에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 DB를 조작하는 기본 도구이다. 제약 조건 (Contraint) -> DB에 저장될 수 있는 실제 데이터의 논리적인 제약 조건 2. 개념적 데이터 모델 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 대표적인 개념적 모델로는 E-R 모델이 있다. 3. 논리적 데이터 모델 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정이다. 4. 데이터 .. Self-Development/Study 2022. 4. 19. 2022년 정보처리기사 실기 - 요구사항 확인 서론 내용은 시나공 책 기준으로 정리합니다. 참고 바랍니다. [요구사항 확인] 예상 문제 은행 >> 내용 - 정답 내용 정답 sw 개발 방법론 중 프로토타입 모형에 대해 서술하시오. 개발될 sw의 견본품을 만들어 최종 개발물을 예측하는 모형이다. 1)sw를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것. 2) 폭포수, 프로토 타입, 나선형, 애자일 모형 등이 있다. 소프트웨어 생명주기 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발과정을 진행한다. 애자일 XP(eXtreme Programming의 5가지 핵심 가치 의사소통, 단순성, 용기, 존중, 피드백 [XP 방법론] 1) 다른사람과 함께 프로그래밍을 수행함으로 개발에 대한 책임을 공동으로 나눠.. Self-Development/Study 2022. 4. 18. VAN, PG사란 무엇일까? (개념 / 차이점 / 프로세스 정리) 서론 요금정산 모니터링 프로그램을 담당하게 되어 결제관련 PG사와 VAN사의 개념들을 가볍게 정리해놓을려고한다. VAN(Value Added Network)이란 ? 카드사와 상점의 통신을 연결하는 부가가치통신망이다. 오프라인 상점에서 입력한 고객의 결제 데이터를 카드사가 안전하게 보내주는 역할을 한다. 다시 말해, 결제 정보를 주고받는 대행(파이프) 역할을 한다고 보면 된다. 쉽게말해, 매장(OFFLINE)에서 상품을 직접 구매할 때 카드로 계산할 때면 카드 단말기에 긁거나 꽂아서 정보를 읽고 결제하는 방식이다. 특징 1. 수수료가 없어 고정비를 줄일 수 있다. 2. 데이터를 안전하고 정확하게 연결해주는 역할만 하며, 매출 정산 등의 추가 서비스는 제공해주지 않는다. 그렇기 때문에 만약 매출 장부 서비스.. Self-Development/Study 2022. 3. 16. 2022년 정보처리기사 필기 - 필수 내용 보충 정리 -- 높은 빈도로 출제되는 개념들은 많지만 그 중 내가 헷갈리고 뭔가 부족하다 싶은 개념들만 정리 -- 1. UML -> 분석, 설계, 구현 등 시스템 개발 과정에서 고객과 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 모델링 언어이다. 구성요소 사물(Things), 관계(Relationships), 다이어그램(Diagram) 다이어그램 1) 구조적 다이어그램 - 클래스 다이어그램 - 객체 다이어그램 - 컴포넌트 다이어그램 - 배치 다이어그램 (Deployment - ) - 복합체 다이어그램 (Composite Structure - ) - 패키지 다이어그램 2) 행위 다이어그램 - 유스케이스 다이어그램 - 시퀀스 다이어그램 - 커뮤니케이션 다이어그램 - 상태 다이어그램 - 활동 다이어.. Self-Development/Study 2022. 3. 4. 2022년 정보처리기사 필기 오답 및 내용 요약 정리 (20.8월, 20.6월) 20년 6월 기출 내용 정리 1. ISO/IEC 9126 특징 1) 기능성 -> 적합성, 정확성, 보안성 2) 신뢰성 -> 성숙성, 결합허용성, 복구성 3) 사용성 -> 이해성, 학습성, 운용성 4) 효율성 -> 시간반응성, 자원효율성 5) 유지보수성 -> 분석성, 변경성, 안정성, 시험성 6) 이식성 -> 적응성, 설치성, 공존성 ,대체성 오답 : 기능성에서 학습성이 보기에 있었음. 2. C언어 비트 논리연산자 1) ^ 2) & 3) ~ 4) | 오답 : ? --> 조건연산자 3. 폭포수 모형 특징 1) 선형 순차적이다. 2) 매뉴얼 작성 3) 가장 오래됨 4) 타당성 검토 -> 계획 -> 요구분석 -> 설계 -> 구현 -> 시험 -> 유지보수 5) 산출물 명확 6) 성공사례 많다. 4. [보안요소 3.. Self-Development/Study 2022. 3. 4. 이전 1 2 다음 💲 많이 본 글