2025-07-31
오늘 배운 것
- Java 문법
- File I/O
- BufferedReader > InputStreamReader > FileInputStream
- PrintWriter(가동 가능한 스레드?가 많아서 사용) > BufferedWriter > OutputStreamWriter > FileOutputStream
import java.io.*; public class FileIO { public static void main(String[] args) { try ( BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream( "src/main/FileIO.java" ) ) ); PrintWriter pw = new PrintWriter( new BufferedWriter( new OutputStreamWriter( new FileOutputStream("src/main/output.txt") ) ) ); ) { String line = null; while ((line = br.readLine()) != null) { pw.println(line); pw.flush(); } System.out.println("File Write Success"); } catch (IOException e) { e.printStackTrace(); } } }
- File I/O
- Front-end
- XML
- 마크업 언어
- 태그 형식으로 작성
- HTML, SGML, etc.
Well formed : 규칙을 잘 준수한 문서
- SAX (Simple API for XML parser)
- XML 문서를 읽고, 이벤트 발생 시 특정 메서드 호출
- DOM
- 문서를 메모리에 로딩 후 필요한 내용 탐색
- DOM Tree : 문서 구성 요소를 트리 형태로 구성
- JSON
- 객체를 key-value 형태로 관리
- XML
-
정처기 필기 오답노트
Walkthrough
- 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시 코드, TC 등에 적용 가능
- 복잡한 알고리즘 / 반복 / 실시간 동작 / 병행 처리 등의 기능이나 동작 이해에 유용
- Inspection과 다른 의미 (정형, 체계적 방법으로 엄격하게 코드나 문서를 검토)
- 단순한 TC를 이용해 프로덕트를 수작업으로 수행하는 것을 의미
XP의 5가치
의사소통, 단순성, 용기, 존중, 피드백 (정형 분석 X)MOM(메시지 지향 미들웨어)
- 느리고 안정적인 응답이 필요한 업무에 적합 (빠른 응답은 RPC 방식)
- 독립적인 애플리케이션을 하나의 통합 시스템으로 묶는 역할
- 송신측과 수신측 연결 시 메시지 큐 활용
- 상이한 애플리케이션 간 비동기 통신 지원
하향식 설계
- 통합 검사 시 인터페이스가 이미 정의되어 있어 통합 간단
- 레벨 낮은 데이터 구조의 세부 사항은 설계 초기 단계에서 필요
상향식 설계
- 인터페이스가 이미 성립되어 있지 않아도 기능 추가 용이
모델링
- 개발팀의 응용 문제 이해에 도움
- 유지보수 단계에서만 활용 (X)
- 개발될 시스템에 대해 여러 분야 엔지니어들의 공통 개념 공유에 도움
- 절차적인 프로그램의 자료 흐름도 = 프로세스 위주의 모델링 방법
UML 관계
- Association : 연관, 단순 인지
- Dependency : 의존, 변화가 타클래스에 영향
- Generalization : 일반화, 상속
- Realization : 실체화, 부모의 불완전을 자식에서 구현(인터페이스, 구현클래스)
마스터-슬레이브 아키텍처
- 실시간 시스템에서 사용
- 마스터는 연산, 통신, 조정 책임
- 마스터는 슬레이브 제어 가능
- 슬레이브는 데이터 수집 기능 수행
Coad-Yourdon 방법
- E-R 다이어그램 사용, 객체 행위를 데이터 모델링하는데 초점
- 객체 식별, 구조 식별, 주체 정의, 속성 및 관계 정의 단계 포함
Booch 방법
- 미시적, 거시적 개발 프로세스 모두 사용
- 클래스와 객체들을 분석/식별하고 클래스 속성/연산 정의
Jacobson 방법
- Use Case를 사용한 분석
Wirfs-Brock 방법
- 분석과 설계 간 구분 X
- 고객 명세서 평가부터 설계 작업까지 연속적 수행
DFD 구성 요소
Process, Data Flow, Data StoreUML 구성 요소
Things, Relationship, DiagramCohesion
한 모듈 내 각 구성 요소들이 공통의 목적을 달성하기 위해 서로 얼마나 관련이 있는지 기능적 연관의 정도를 나타내는 것클래스
하나 이상의 유사한 객체들을 묶어 하나의 공통 특성으로 표현한 것직관성
UI 설계 원칙 중, 누구나 쉽게 이해하고 사용할 수 있어야 하는 특성CLI
DOS, UNIX 등에서 정해진 명령 문자열을 입력해 시스템 조작하는 유저 인터페이스Agile 개발
- 개인 상호작용 중시
- 동작하는 소프트웨어 중시
- 고객과의 협력 중시
- 변화 대응 중시
GoF 디자인 패턴(생성, 구조, 행동) 중 구조 패턴
- Adapter
- Bridge
- Proxy
코드 설계
- 연상 : 명칭이나 약호와 관계있는 숫자/문자/기호로 코드 부여
- 블록 : 공통 분모끼리 블록으로 구분
- 순차 : 일정한 일련번호 부여
- 표의 숫자 : 항목의 물리적 수치를 그대로 코드 적용
- 10진 : 10진 분할 반복
- 그룹 분류 : 특정 기준에 따라 대/중/소분류로 구분
- 합성 : 2개 이상의 코드 조합
EAI
서로 다른 애플리케이션 통합(데이터 - 프로세스 연결), 시스템 간 데이터 흐름 원활
FEP
프로세서가 데이터 처리 전에 미리 처리(Front-End Processor)
GPL
소프트웨어의 사용/수정/배포 허용하는 라이센스
Duplexing
데이터 전송 방식 중, 양방향 전송소프트웨어 아키텍처
- 외부에서 인식할 수 있는 특성이 담긴 소프트웨어의 골격이 되는 기본 구조
- 이해 관계자들의 품질 요구사항을 반영해 품질 속성 결정
- 데이터 중심 아키텍처 : 공유 데이터 저장소를 통해 통신, 각 접근자의 수정 및 확장 용이
- 파이프 필터 아키텍처 : 데이터는 파이프를 통해 ‘단’방향 통신, 이동 시 오버헤드 발생
내일 할 일
- Java 문법
- 정처기 필기 모의고사 CBT 풀어보고 오답노트
잡소리 : md에서 띄어쓰기 두번하면 줄바꿈 된다!