목록전체 글 (110)
Coding Note
테스트 기법 - 화이트 박스 테스트 - 블랙박스 테스트 화이트 박스 테스트 (White Box Test) - 코드의 논리적인 모든 경로 테스트 - 테스트 초기에 진행된다. - 모듈 작동 흐름을 직접 관찰한다. - 코드 한번 이상 실행 - 정적 블랙박스 테스트 (Black Box Test) - 기능 작동 입증 테스트 - 기능 테스트 - 소프트웨어 인터페이스에서 실시되는 테스트 - 테스트 후반부에 진행된다. - 동적 종류 - 화이트 박스 화이트 박스 (White Box) 기초 경로 검사(Base Path Testing) - 대표적인 화이트 박스 테스트 기법 - 테스트 케이스의 설계자가 코드의 복접성을 측정할 수 있게 해주는 테스트 기법 제어 구조 검사(Control Structure Testing) - 논리..
개인 작업과 협업 시에 깃 활용법에 있어서 혼란이 생겼다. 다시 정리해서 정확히 알고 가고자 한다. Git 소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템 장점 - 코드 변경 이력 확인 - 파일이 변경 이력 별로 저장됨 - 협업시 유용 - 포트폴리오로 사용 원격 저장소와 로컬 저장소 원격 저장소(Remote Repository) - 협업 저장소 - Github Repository 로컬 저장소(Local Repository) - 개인 저장소 - PC 저장소 생성 1. Github에서 저장소 생성 2. 원격 저장소 복사(Git Clone) 즉, 개인 작업 커밋시 원격 저장소를 클론 받아 오지 않고 바로 커밋한다. 올라져 있는 코드가 없기 때문에 클론 받을 필요 없음. 하지만 협업 시 타인..
Test Oracle Test Oracle - 테스트를 수행한 결과가 참인지 거짓인지 판단하기 위해서 미리 정의된 참 값을 대입하여 비교하는 소프트웨어 테스트 - 테스트 대상 소프트웨어의 실제 결과와 비교할 목적으로 예상 결과를 결정하는 시스템 테스트 오라클 특징 제한된 검증 - 모든 테스트 항목 적용 불가 수학적 기법 - 테스트 수행시 수학적 기법을 이용, 오라클 값을 구할 수 있음 자동화 가능 - 테스트 대상 프로그램의 실행, 결과 비교, 커버리지 측정 등 테스트 오라클 유형 유형 설명 참 오라클(True Oracle) - 모든 테스트 케이스 입력 값의 기대한 결과값에 대한 확인 - 모든 입력값에 적합한 결과를 생성하여, 발생한 오류를 모두 검출 - 전수 테스트 가능 샘플링 오라클(Sampling O..
디자인 패턴 디자인 패턴 - 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 문제들이 또 발생했을 때 재사용할 수 있는 해결책 - 디자인 패턴은 목적에 따라 생성 - 구조 - 행위 패턴으로 나뉜다. 디자인 패턴의 종류 생성 패턴 구조 패턴 행위 패턴 추상 메서드(Abstract Method) 빌더(Builder) 팩토리 메서드(Factory Method) = 가상 메서드 (Virtual Method) 프로토타입(Prototype) 싱글톤(Singleton) 어댑터(Adapter) 브리지(Bridge) 컴포지트(Composite) 데코레이터(Decorator) 퍼서드(Facade) 플라이웨이트(Flyweight) 프록시(Proxy) 책임연쇄(Chain of Resposibility) 커맨드(Comman..
결합도(Coupling) - 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성을 나타내는 정도 - 소프트웨어 구조에서 모듈 간의 관련성을 측정하는 척도 결합도 특징 - 모듈 연관성 없음 - 인터페이스 연관성 - 복잡성 감소 - 파급효과 최소화 결합도 유형 (약함 -> 강함) 유형 설명 자료 결합도(Data Coupling) = 데이터 결합도 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈간의 상호작용이 일어난 경우 (Call By Value) 스탬프 결합도(Stamp Coupling) 모듈간의 인터페이스로 배열이나 객체, 구조등이 전달되는 경우 제어 결합도(Control Coupling) 단순히 처리를 해야할 대상인 값만 전달되는게 아니라 어떻게 처리를 해야한다는 제어 요소가 ..
매번 헷갈리고 잊어버려서 기록 응집도(Cohesion) - 모듈 내부의 기능적 응집 정도 - 모듈의 독립성을 나타내는 개념, 모듈 내부 구성요소 간 연관 정도성 - 정보 은닉 개념의 확장된 개념, 하나의 모듈은 하나의 기능을 수행하는 것을 말한다. 응집도 특징 - 유사기능 영역 구성 - 단일 책임 할당 - 함수간 상호 협력 응집도 종류 (약함 -> 강함) 유형 설명 우연적 응집도 (Coincidental Cohesion) 모듈 내부의 구성 요소들이 연관이 없는 경우 논리적 응집도 (Logical Cohesion) 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우 시간적 응집도 (Temporal Cohesion) 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경..
개발 환경 springboot 2.6.9 java 11 빌드 : gradle DB :mysql DB Tool : DBeaver 사용할 API 지도 API - 카카오 지도 api 알림 API - FullCalender api(ajax, jquery) 채팅 API - (소켓 통신) 로그인 - 카카오 API Oauth2.0 -- API 추후 구현하면서 더 추가할 예정! 프로젝트 시작에 앞서 7월은 각자 공부 진행 백엔드 스터디는 깃을 활용해서 주 2~3회 커밋해서 공유하기!
1. Spring Framework 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공한다. 전자정부 표준 프레임워크 기반 기술 장점) 1. 경량 컨테이너 2. Ioc(Invertion of Control) : 제어 역전 3. DI(Dependency Injection) : 의존성 주입 4. AOP(Aspect-Oriented Programming) : 관점 지향 프로그래밍 2. SpringBoot 스프링 프레임워크에 복잡한 환경 설정을 해결하기 위해 나옴 설정시, 많은 부분을 자동화하여 사용자가 편리하게 사용할 수 있음 실행환경, 의존성 관리 등의 인프라 관련 등은 신경 쓸 필요없이 바로 코딩 가능하다. 3. 차이점 Spring SpringBo..