일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- react
- 이분탐색
- BFS
- 이진트리
- c언어
- malloc
- javascript
- 이진탐색트리
- 클린코드
- BOJ
- 파이썬
- 분할정복
- AWS
- Git
- 포인터
- 개발일지
- DFS
- beautifulsoup
- typescript
- 구조체포인터
- pintos
- 행렬제곱
- 우선순위큐
- SW사관학교정글
- 힙
- 웹스크래핑
- 정글
- branch
- 백준
- sw사관학교 정글
- Today
- Total
목록알아두면쓸데있는신기한잡학사전/정보처리기사 (13)
대범하게
Chapter 08 전자 상거래 보안 01 전자 상거래의 이해 1. 전자 상거래의 보안 공격 유형 - 인증 공격: 네트워크를 통해 접근한 사용자가 적절하지 않은 인증을 통해 다른 사용자로 위장하는 것이다. ex) 가짜 은행 사이트를 만들어 은행 이용자의 공인 인증서 정보를 획득한 후 악용하는 사례 - 송수신 부인 공격: 네트워크를 통해 수행한 인증 및 거래 내역을 부인하는 것이다. ex) 전자결제를 할 때 신용카드 번호 정보가 유출되는 경우 - 기밀성 공격: 네트워크로 전달되는 인증 정보 및 주요 거래 정보가 유출되는 것이다. ex) 전자결제를 할 때 신용카드 번호 정보가 유출되는 경우 - 무결성에 대한 공격: 네트워크 도중에 거래 정보 등이 변조되는 것이다. ex) 온라인 계좌이체 등을 이용한 전자결제..
Chapter 07 암호의 이해 01 암호의 개념과 원리 1. 암호화 - 암호문(cipher text): 비밀을 유지하기 위해 당사자만 알 수 있도록 꾸민 약속 기호 - 평문(plain text): 누구나 알 수 있게 쓴 일반적인 글이다. - 암호화(encryption): 평문을 암호문으로 바꾸는 것 - 복화화(decryption): 암호문을 평문으로 바꾸는 것 - 암호화 알고리즘(encyption algorithm): 암호화나 복호화를 수행할 때 양쪽이 알고 있어야 할 수단 - 암호화 키(encyption key): 약속한 규칙 2. 기본 암호화 방식 - 전치법: 단순히 메시지에 들어 있는 문자의 위치를 바꾸는 방법이다. ex) 'apple'을 두 글자씩 앞뒤로 섞어 'palpe' - 대체법: 메시지의..
01 제품 소프트웨어 패키징 수행 ▶ 모듈화(Modulation) (모듈화의 개념에 대한 단답형, 약술형 모두 출제 가능) - 모듈화는 모듈을 이용하여 소프트웨어 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 모듈 중심의 소프트웨어 설계기법이다. - 모듈 간의 결합도의 최소화(Loose Coupling)하고 모듈 내 요소들 간의 응집도 최대화(Strong Cohesion)하는 것이 중요하다. 모듈화 장점 (단단형 가능) 개발 편의성 프로그램의 효율적인 관리 전체적인 소프트웨어 이해의 용이성 증대 소프트웨어 시험, 통합, 수정 시 용이성 제공 모듈의 재사용 가능으로 개발과 유지보수가 용이 오류의 파급효과 최소화 복잡성 감소 기능의 분리가 가능하고 인터페이스가 단순 복잡도 감소..
▶ 운영체제 사용자가 컴퓨터 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어 => 컴퓨터 사용자와 하드웨어 간의 인터페이스 제공 역할 ▶ 운영체제의 종류 윈도우(마이크로소프트) => 지선자 오 GUI(그래픽 사용자 인터페이스) 제공 선점형 멀티태스킹 방식 제공 자동감지 기능(Plug and Play) 제공 OLE(Object Linking and Embedding) 사용 유닉스: 90% 이상 C언어로 구현 => 대다 사이계 대화식 운영체제 기능 다중 작업 기능 다중 사용자 기능 이식성 제공 계층적 트리 구조 파일 시스템 리눅스: 유닉스를 기반으로 개발, 소스코드가 공개된 오픈 소스 기반의 운영체제 맥 안드로이드: 리눅스 기반, 자바 ▶ 리눅스/유닉스 계열의 기본 명령어 리눅스와 유닉스..
01 애플리케이션 테스트 케이스 설계 ▶ 소프트웨어 테스트 필요성 => 발예향 오류 발견 관점/오류 예방 관점/품질 향상 관점 ▶ 소프트웨어 테스트 원리 => 결완초집 살정오 결함 존재 증명 완벽 테스팅은 불가능 초기 집중 > 요르돈의 법칙(Snowball Effect, 눈동이 법칙): 개발 초기에 테스팅 하지 않으면 비용이 커진다. 결함 집중 > 파레토 법칙: 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다. 살충제 페러독스: 동일한 테스트 케이스에 의한 반복적 실행은 새로운 버그를 잡아내지 못 한다./테스트 케이스의 정기적 리뷰와 개선 및 다른 시각에서의 접근 필요 정황 의존성: 소프트웨어의 성격에 맞게 테스트 실시 오류-부재의 궤변: 요구사항을 충족시키지 못 한다면, 결함이..
01 소프트웨어 개발 보안 설계 ▶ SW 개발 보안의 3대 요소 => 기무가 기밀성(Confidentiality): 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 혹은 노출을 차단하는 특성 무결성(Integrity): 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 가용성(Availability): 권한을 가진 사용자가 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성 ▶ SW 개발 보안 용어 => 자위취위(SW 개발 보안 기본용어 단답형 출제 가능성!!) 자산(Assets): 조직의 데이터 또는 가치를 부여한 대상 위협(Threat): 조직이나 기업의 자산에 악영향을 끼..
01 개발환경 구축 ▶ 개발 도구의 분류 => 빌구테형 (개발환경 구축은 개발 도구의 분류가 중요!!) 빌드 도구: 작성한 코드의 빌드 및 배포를 수행하는 도구/각각의 구성요소와 모듈에 대한 의존성 관리를 지원 EX) Ant, Maven, Gradle 구현 도구: 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구 EX) Eclipse, IntelliJ, Spring Tool Suite, NetBeans, Visual Stdio 테스트 도구: 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구 EX) xUnit, PMD, Cppchek, Sonar, Findbugs 형상관리 도구(산출물에 대한 버전 관리 도구) EX) CVS, Git ▶ 서버 하드웨어 개발 환경 웹 서버: HTT..
01 인터페이스 설계 확인 ▶ 상세 기능별 인터페이스 명세서 주요 항목 => 아명오개 전후파반 인터페이스 ID 인터페이스 명 오퍼레이션 명 오퍼레이션 개요 사전조건 사후 조건 파라미터 반환 값 ▶ EAI 구축 유형 => 포허 메하 포인트 투 포인트(Point-to-Point): 가장 기초적인 애플리케이션 통합 방법으로 1:1 단순 통합방법/장점=> 솔루션 구매X, 개발자 간의 커뮤니케이션을 통해서 통합 가능 허브 앤 스포크(Hub & Spoke): 단일한 접점을 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식/허브 장애시 전체 시스템 장애 발생 메시지 버스(Message Bus): 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식/뛰어난 확장성과 대용량 데이터 처리 가능 하이..