분류 전체보기 124

[Java] 기초

1. JDK / JRE / JVMJDK (Java Development Kit)자바 개발java, javac, jar…JRE (Java Runtime Environment)자바 어플리케이션 실행 라이브러리 모듈JVM (Java Virtual Machine)자바 가상머신모든 OS에서 실행될 수 있게 한다.2. Java 실행과정java 파일을 class 파일로 컴파일을 하고, 그 이후에 JVM이 컴퓨터 운영체제가 이해할 수 있는 바이너리 코드(0100100....)로 변환하는 과정을 통해서 실행하게 된다.3. Garbage Collection메모리 관리자동적으로 관리메모리 누수 방지메모리 해제 시점을 알 수 없다.힙영역에 필요없는 것을 제거

Language/Java 2024.05.28

[DB] DDL & DCL & DML & TCL

rootDB 생성 / 수정 / 삭제계정 생성 / 수정 / 삭제admin → DBAuser → 모든 사람계정 관리 권한 XDB 권한 XTable CRUD → 선택적 권한1. SQL (Structured Query Language)DDL (Data Definition Language)데이터베이스 & 테이블 정의, 수정, 삭제Create, Alter, Drop, Rename, TruncateDML (Data Manipulation Language)데이터 삽입, 조회, 수정, 삭제Insert, Select, Update, DeleteDCL (Data Control Language)데이터 보안, 권한, 무결성, 회복 등 데이터 제어Grant, RevokeTCL (Transaction Control Language..

Language/SQL(MySQL) 2024.05.28

[DB] SQL 개요

정형 데이터 (Structured Data)고정된 필드에 저장된 데이터RDBMS, 엑셀반정형 데이터 (Semi-Structured Data)고정된 필드에 저장되어 있지는 않지만, 메타데이터나 스키마 등을 포함하는 데이터XML, HTML, JSON, 이메일비정형 데이터 (Unstructured Data)고정된 필드에 저장되어 있지 않은 데이터텍스트, 이미지, 동영상, 음성 데이터1. Database정형 데이터 (Structured Data)를 다룸데이터의 집합서로 성향이 비슷한 것들끼리의 모음1-1. Database 특징다양한 어플리케이션에서의 독립성실시간 접근성동시공유지속적인 업데이트참조2. DBMS(Database Management System)Oracle, MySQL 등2-1. DBMS 기능DB 구..

Language/SQL(MySQL) 2024.05.28

[1과목 소프트웨어 설계] 애플리케이션 설계 - 024. ⭐ 객체지향 분석 및 설계

1. 객체지향 분석 (OOA; Object Oriented Analysis)사용자 요구사항 분석해 요구된 문제와 관련된 모든 클래스(객체), 이와 연관된 속성과 연산, 그들 간ㄴ의 관계 등을 정의하여 모델링하는 작업객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어서 분석객체는 클래스로부터 인스턴스화되고, 클래스를 식별하는 것이 객체지향 분석의 주요한 목적 2. 객체지향 분석 방법론1) Rumbaugh(럼바우) 방법가장 일반적인 방법객체모델, 동적모델, 기능모델로 나누어 수행2) Booch(부치) 방법미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의3) Jacobson 방법Use Case를 강조4) Coa..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 023. ⭐ 객체지향 (Object-Oriented)

개체(Entity)를 하나의 객체(Object)로 만들어 작성구조적 기법의 문제점의 해결책으로 채택유지보수 고려하지 않고 개발공정에만 집중개발 이후, 추가 요구사항 대응 어려움재사용 불가해 유사 소프트웨어 개발 시 시간과 인력 소모복잡한 구조를 단계적 · 계층적으로 표멀티미디어 데이터 및 병렬처리 지원사용자와 개발자가 쉽게 이해객체, 클래스, 캡슐화, 상속, 다형성, 연관성1. 객체 (Object)데이터와 데이터를 처리하는 함수를 묶어 놓은 하나의 모듈데이터 : 속성(Attribute), 상태, 변수, 상수, 자료 구조함수 : 메소드(Method), 서비스(Service), 동작(Operation), 연산객체의 메소드는 다른 객체로부터 메시지를 받았을 때 정해진 기능을 수행객체 특성독립적으로 식별 가능한..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 022. ⭐ 아키텍처 패턴

1. 아키텍처 패턴 장점시행착오 줄여 개발 시간 단축, 고품질의 소프트웨어 생산안정적인 개발 가능의사소통 간편개발에 참여하지 않은 사람도 손쉽게 유지보수 수행 가능개발 전 예측 가능 2. 레이어 패턴 (Layers pattern)계층으로 구분하여 구성, 고정적인 방법각 서브 시스템들이 계층 구조를 이룸하위 계층은 상위 계층에 대한 서비스 제공자상위 계층은 하위 계측의 클라이언트서로 마주보는 두 개 계층 사이에서만 상호작용변경 작업 용이특정 계층만 교체해 시스템 개성 가능OSI 참조 모델 3. 클라이언트-서버 패턴 (Client-Server pattern)하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성사용자는 클라이언트와만 의사소통서버는 클라이언트 요청에 대비해 항상 대기 상태 유지요청과 응답을 ..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 021. ⭐ 소프트웨어 아키텍처

소프트웨어의 골격이 되는 기본 구조구성하는 요소들 간의 관계를 표현하는 시스템의 구조이해관계자들의 의사소통 도구좋은 품질 유지비기능적 요구사항 : 나타난 제약 반영기능적 요구사항 : 구현하는 방법을 찾는 해결과정애플리케이션 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 결정모듈화, 추상화, 단계적 분해, 정보은닉💡 상위설계 & 하위설계 상위설계하위설계별칭아키텍처 설계, 예비 설계모듈 설계, 상세 설계설계 대상시스템의 전체적인 구조시스템의 내부 구조 및 행위세부 목록구조, DB, 인터페이스컴포넌트, 자료구조, 알고리즘1. 모듈화 (Modularity)프로젝트 재사용성 향상너무 작게 나누면 개수가 많아져 모듈 간 통합 비용 多너무 크게 나누면 개수가 적어 통합 비용은 적게 들지만 노듈 하나..

[1과목 소프트웨어 설계] 화면설계 - 020. HCI / UX / 감성공학

1. HCI (Human Computer Interaction of Interface)사람이 시스템을 편리하고 안전하게 사용할 수 있도록 연구하고 개발최적의 사용자 경험(UX)을 만드는 것사람과 컴퓨터의 상호작용 2. UX (User Experience)사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험단순히 기능이나 절차상의 만족뿐 아니라 사용자가 참여, 사용, 관찰하고, 상호 교감을 통해서 알 수 있는 가치있는 경험UI : 사용성, 접근성, 편의성 중시UX : UI를 통해 사용자가 느끼는 만족이나 감정UX 특징주관성 (Subjectivity)정황성 (Contextuality)총체성 (Holictic)3. 감성공학사용자가 제품을 사용한 경험을 통해 얻은 복합적인 감각인간의 삶을 ..

[1과목 소프트웨어 설계] 화면설계 - 019. UI 상세 설계

1. UI 시나리오 문서사용자 인터페이스 기능 구조, 대표 화면, 화면 간 인터랙션의 흐름, 예외처리 등 문서로 정리한 것순차적으로 묘사UI 설계자 or 인터랙션 디자이너가 UI 시나리오 문서 작성 2. UI 시나리오 문서 작성 원칙UI의 기능과 작동 방식을 한 눈에 이해할 수 있도록 구체적계층(Tree)구조 또는 플로우차트(Flowchart) 표기법으로 작성인터랙션 흐름을 정의, 화면산의 인터랙션 순서(Sequence), 분기(Branch), 조건(Condition), 루프(Loop) 등 명시예외 상황의 다양한 케이스 정의UI 일반 규칙을 지키면서 기능별 상세 기능 시나리오 정의 3. UI 시나리오 문서 작성을 위한 일반 규칙주요 키의 위치와 기능공통 UI 요소기본 스크린 레이아웃기본 인터랙션 규칙공통..

[1과목 소프트웨어 설계] 화면설계 - 018. 유용성 평가

사용자가 시스템을 통해 원하는 목표를 얼마나 효과적으로 달성할 수 있는가에 대한 척도시스템 문제점을 찾고 개선방향 제시사용자 모형과 개발자 모형 간 차이를 최소화 해야 함 1. 실행 차를 줄이기 위한 UI 설계 원리 검토1) 사용 의도 파악불필요한 기능, 중복되는 기능 파악2) 행위 순서 규정순서 세분화, 임의로 행위 순서 변경가능한 친숙하도록 설계3) 행위의 순서대로 실행행위 순서대로 실행할 때 어려움이 없어야 함과도한 상호작용 피함의도한 행위를 효율적으로 실행할 수 있도록 피드백, 취소기능, 디폴트 값을 적절하게 설정 2. 평가 차를 줄이기 위한 UI 설계 원리 검토수행한 키 조작의 결과를 사용자가 빠르게 지각하도록 유도키 조작으로 변화된 시스템의 상태를 사용자가 쉽게 인지하도록 유도사용자가 가진 원..