목록전체 글 (97)
도도한 개발자
컴퓨터의 구성에 대해 알아보자 컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다. 하드웨어 : 컴퓨터를 구성하는 기계적 장치 소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합 1. 하드웨어 중앙처리장치(CPU) 기억장치 : RAM, HDD 입출력 장치 : 마우스, 프린터 2. 소프트웨어 시스템 소프트웨어 : 운영체제, 컴파일러 응용 프로그램 : 워드프로세서, 스프레드시트 먼저 하드웨어부터 살펴보자. 하드웨어는 중앙처리장치(CPU), 기억장치, 입출력장치로 구성되어 있다. 이들은 시스템 버스로 연결되어 있으며, 시스템 버스는 데이터와 명령 제어 신호를 각 장치로 실어나르는 역할을 한다. 1-1. 중앙처리장치(CPU) 인간으로 따지면 두뇌에 해당하는 부분이다. 주기억장치에서 프로그램 명령어..
프로세스(Process) 프로세스는 CPU에 의해 실행되고 있는 프로그램을 뜻합니다. 보조기억 장치에 저장되어 있는 프로그램(ex. 카카오톡, 엑셀, 브라우저 등)을 실행하면 메모리 위에 올라가고 이를 운영체제가 중재하는 역할을 합니다. 실제로 프로그램 자체는 코드(명령어)로 이루어져 있습니다. 그리고 코드를 바탕으로 해서 프로그램을 실행시킨다는 것은 프로세스가 생성되는 것을 의미합니다. 그 프로세스는 프로그램 실행 정보, 프로그래머가 짠 코드 그리고 실행되면서 쓰이는 데이터들로 구성되어 있죠. 하나의 프로세스는 다중 프로그래밍 시스템에서 전체 메모리 중 일부를 운영체제에 의해 할당받게 되어집니다. 그 할당 받은 메모리는 하나의 프로그램을 '프로세스화' 해서 효율적으로 실행하기 좋은 형태로 펼쳐놓는 작업..
@ 통합 테스트(단통시인) 단위 테스트 - 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트하는 단계 통합 테스트 - 단위 테스트를 통과한 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호작용을 검증하는 테스트 단계 시스템 테스트 - 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 검증하는 테스트 단계 인수 테스트 - 계약상의 요구사항을 만족했는지 확인하기 위한 테스트 단계 @ 블록체인 - 분산 데이터베이스의 한 형태로 분산 노드의 운영자에 의한 임의조작이 불가능하도록 고안되어 지속적으로 성장 하는 데이터 기록 리스트인 블록을 연결한 모음으로 비트 코인의 기반 기술이다. @ 블랙박스 테스트 - 소프트웨어가 수행할 특정 기능을 알기 위해, 각 기능이 완전히 작동되는 것을 입증..
@ 정보보안 3요소 (기무가) 1. 기밀성(Confidentiality) - 인가되지 않은 개인 혹은 시스템의 접근에 따른 정보 공개 및 노출을 차단하는 특성 2. 무결성(Integrity) - 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 3. 가용성(Availability) - 권한을 가진 사용자가 애플리케이션의 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성 @ 블루투스 공격 기법 1. 블루재킹 - 블루투스를 이용하여 스팸메일처럼 메시지를 익명으로 퍼뜨리는 공격 2. 블루프린팅(Blueprinting) - 블루투스 공격 장치의 검색 활동을 의미 3. 블루스나프(Bluesnarf) -..
% 다음에서 설명하는 라우팅 프로토콜은? - AS 내에서 사용하는 거리 벡터(Distance-Vector) 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜 - 경로 선택 매트릭은 홉 카운트(Hop Count)이고, 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용 - 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신 답 : RIP(Routing Information Protocol) @ 정보보안의 3요소 - 기밀성 : 인가된지 않은 접근에 정보 공개 차단. 방화벽, 암호, 패스워드 등이 대표적인 예시 -> TCP 레퍼 : 외부 컴퓨터 접속 시 인가 여부 확인하여 접속 허용 및 거부하는 접근제어 유틸리티 - 무결성 : 정당한 방법이 아니면 데이터는 변경될 수 없음 - 가용성 ..
@ IP/ARP/RARP - IP : 송수신 간 패킷 단위로 데이터 교환하는 네트워크에서 정보 주고받는데 사용되는 프로토콜 - ARP : IP주소를 MAC주소로 변환 - RARP : IP호스트가 MAC주소는 알지만 IP주소는 모를때 IP 주소 요청하기 위해 사용 @ DB 설계 절차 - 요구사항 분석 : 요구사항 명세서 작성 - 개념적 설계 : 개념적 데이터 모델을 표현하며 E-R 다이어그램으로 표현 - 논리적 설계 : 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스 설계하는 정규화 과정 - 물리적 설계 : DB 저장 구조로 변환하는 과정. 명세서는 테이블 정의서 - 구현 : SQL문 실행하여 DB 생성 @ 트랜잭션 - 원자성 : 트랜잭션을 구성하는 연산이 전부 실행되거나 전부 취소되어야 하는 성질..
@ UML(Unified Modeling Language) : 객체 지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해 만든 표준화된 범용 모델링 언 @ UML 구성요소 - 사물(Things) : 추상적인 개념으로, 주제를 나타내는 요소. '명사' 또는 '동사' - 관계(Relationships) : 사물의 의미를 확장하고 명확히 하는 요소. '형용사' 또는 '부사' - 다이어그램(Diagrams) : 사물과 관계를 모아 그림으로 표현한 형태. 9가지로 정의 @ UML 다이어그램 구분 다이어그램 설명 구조적(정적) 다이어그램 Structural(Static) 클래스(Class) 객체 지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계 ..
@ 디자인 패턴(Design Pattern) : 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법 정리한 패턴 @ 디자인 패턴 유형 구분 유형 설명 목적 생성 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화 수행 패턴 구조 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴 범위 행위 클래스나 객체들이 상호 작용하는 방법과 역할 분담을 다루는 패턴 클래스 클래스 간 관련성(컴파일 타임에 정적으로 결정) 객체 객체 간 관련성(런타임에 동적으로 결정) @ 디자인 패턴의 종류 [생성패턴] 패턴 설명 Builder 복잡한 인스턴스 조립하여 만드는 구조. 복합 객체 생성 시 객체를 생성하는 방법(과정)과 객체를 구현(표현)하는 방법을..