분류 전체보기(126)
-
테스트
테스트란 - 시험할 소프트웨어에 테스트 케이스를 주어 실행시킨 후 시스템의 동작이 예상한 대로 실행되는지 확인하는 것 - SW 개발은 인간 중심의 활동이며 지적 활동 - 오류가 발생하기 쉬움 - 개발 과정에서의 2번 실수 - 결함 발생, 테스트 오류 - 결함을 낮추는 방법 - 처음부터 결함 방지 : 인스펙션, 정적 분석 - 유입된 결함을 식별하고 제거 : 테스트, 디버깅 # 검증 : 제품을 올바르게 구축하고 있는가 # 확인 : 올바를 제품을 만들고 있는가 # 버그 : 문제, 결함 또는 난이도를 나타내는 데 일반적으로 사용되는 용어 # 오류 : 개발자가 잘못하여 설계나 코딩에 실수한 것 # 결함 : 시스템 고장을 일으키게 한 오류의 결과 코드 또는 문서에 오류가 있다고 선언된 것 # 고장 : 시스템이 원하..
2022.06.04 -
코딩
코딩 로드맵 소프트웨어 제품의 품질은 결국 원시 코드에 모두 귀결 - 설계가 완료되면 코딩 단계 시작 - 코딩 단계에 투입되는 시간이 다른 단계보다 상대적으로 적음 - 허나, 품질에 미치는 영향은 매우 큼 목표 - 설계 명세에 나타낸 대로 요구를 만족할 수 있는 프로그래밍 - 오류가 적은 품질 좋은 프로그램 - 작업과정 1. 원시 코드를 같은 스타일로 만들기 위해 코딩 표준 제작 2. 아키텍처 설계 결과 프레임워크 패키지와 응용 패키지를 결정 3. 클래스 구현이 끝나는 대로 인스펙션 4. 클래스 단위로 테스트 5. 클래스나 패키지를 릴리스 -> 응용 시스템으로 통합 코딩 표준 코딩 스타일 : - 문장 패턴이나 구성 등읠 일관된 유형 좋은 코딩 스타일 : - 간결함 : 복잡하지 않고 명확하여 이해가 쉬운 ..
2022.06.04 -
디자인 패턴
디자인 패턴이란 아키텍처 설계 수준보다 낮은 수준의 설계 문제에 재사용 가능한 솔루션 제공 디자인 패턴 혜택 - 쉽게 재사용 가능 - 개발 시간 단축 - SW구조 파악 용이 - 설계 관련 지식 정리됨 - 개발자 간 의사소통 원할 - 객체지향 설계 원리를 잘따르게 됨 디자인 패턴 종류 생성 패턴 : 객체를 생성하는데 관련된 패턴 - 객체의 생성과 조합을 캡슐화 - 특정 객체가 생성,변경 되어도 프로그램 구조에 영향을 크게 안줌 : 유연성 제공 예 ) factory method: 생성할 객체의 클래스를 서브 클래스로 분리하여 객체 생성 - 팩토리 메서드를 포함하는 추상 클래스를 정의 - 하위 클래스에서 인스턴스를 생성 singleton: 한 클래스에 한 객체만 존재하도록 제한 - 클래스 자체를 정적 변수 -..
2022.06.04 -
네트워크 프로그래밍과 소켓의 이해
통신 물리적으로 떨어진 서로 유무선으로 연결된 두 장비들 사이의 데이터 교환을 말함 네트워킹 서로 다른 두 장비 간에 데이터 교환을 말함 비교적 먼 거리의 데이터 전달이어서 출발지와 목적지 사이에 여러 장비를 거침 장비들이 최단 경로를 고려 (라우팅) 경로에 따라 데이터 전달은 IP가 담당 IP주소를 기반으로 동작 네트워크 프로그래밍 소켓을 이용한 프로그래밍이기 때문에 소켓 프로그래밍이라고도 함 네트워크로 연결된 둘 이상의 컴퓨터 사이에서의 데이터 송수신 프로그램 작성을 의미 소켓 네트워크(인터넷) 연결 도구 OS에 의해 제공되는 소프트웨어 장치 응용 프로그램과 운영체제 내 네이터 전송 프로토콜 사이를 연결하는 구조체 응용 프로그램에서 소켓 함수를 통해 데이터 전달 소켓의 주소정보는 IP와 PORT로..
2022.05.22 -
소켓의 타입과 프로토콜 설정
프로토콜 컴퓨터 상호간의 데이터 송수신에 필요한 통신규약 소켓을 생성할 때 기본적인 프로토콜 지정 프로토콜 체계 IPv4 : PF_INET IPv6 : PF_INET6 소켓 타입 데이터 전송 방식을 의미 소켓이 생성될 때 소켓의 타입도 결정 IPv4의 소켓 타입 연결 지향형 소켓 타입 비 연결 지향형 소켓 타입 연결지향형 소켓(SOCK_STREAM) : TCP 중간에 데이터 소멸 X 전송 순서대로 데이터 수신 데이터 경계 X 소켓 대 소켓 연결은 반드시 1대1 구조 비 연결지향형 소켓(SOCK_DGRAM) : UDP 전송순서 상관없이 빠른 속도 전송 지향 데이터 손실 및 파손 우려 데이터 경계 존재 한번에 전송 가능한 데이터 크기 제한 인터넷 주소(IP) 인터넷 상에서 컴퓨터를 구분하는 목적으로 사용되는..
2022.05.22 -
프로세스 기술과 제어
프로세스란 - 수행중인 프로그램 - 컴퓨터 상에서 수행중인 프로그램의 인스턴스 - 처리기에 할당되어 수행될 수 있는 개체 - 스레드, 상태, 시스템 자원 등에 의한 활동 단위 프로세스 구조 - 프로그램 코드 - 일련의 데이터, stack - 프로세스 정보 프로세스 구성요소 - 식별자 : 다른 프로세스와 구별 가능 - 상태 : 프로세스가 수행중이면 해당 프로세스는 수행 상태에 있음 - 우선순위 : 다른 프로세스들에 대해 상대적인 우선순위 수준 - 프로그램 카운터 : 프로그램에서 다음에 수행될 명령어의 주소 - 메모리 포인터 : 프로세스와 연계된 프로그램 코드 및 데이터 - 문맥 데이터 : 프로세스가 수행중일 때 CPU의 레지스터에 존재하는 데이터 - 입출력 상태 정보 - 어카운팅 정보(과금 정보) : 사용..
2022.05.22