본문 바로가기

컴퓨터 | IT30

자바 프로그래밍을 배우는 이유 자바 프로그래밍을 배우는 이유 - 객체지향 : Java에서는 모든 것이 객체. Object 모델을 기반으로 하기 때문에 확장성이 좋다. - 학습 : Object-oriented programming (OOP)의 기본 개념을 이해하면 Java마스터하기 어렵지 않다. - 보안 : Java의 보안 기능을 사용하면 바이러스가 없고 변조가 없는 시스템을 개발할 수 있다. - 독립적 플랫폼 : C와 C++를 포함한 다른 많은 프로그래밍 언어와 달리 Java가 컴파일 될 때 플랫폼에 독립적인 바이트 코드로 컴파일 되는 것이 아니라 플랫폼 별 머신으로 컴파일된다. 이 바이트 코드는 가상머신에 의해 해서된다. - 이식성 : Java의 컴파일러는 POSIX 하위 집합인 명확한 이식성 경계를 사용하여 ANSI C로 작성되었.. 2021. 6. 1.
데이터 타입 데이터 타입 모든 변수에는 타입이 있고 타입에 따라 저장할 수 있는 값의 종류와 범위가 달라진다. 즉, 데이터 타입에는 규칙과 크기가 중요하다. 기본 타입 타입 종류 값의 종류 크기 byte 정수 1 byte char 2 byte short 2 byte int 4 byte long 8 byte float 실수 4 byte double 8 byte boolean 논리 1 byte 자바는 기본적으로 각각의 타입으로 연산을 수행한다. 저장하려는 값이 타입의 규칙과 크기에 맞는 값을 저장하는 것이 좋다. 2021. 5. 12.
변수 변수의 정의 하나의 값을 저장할 수 있는 메모리 공간. 변수에는 한 가지 데이터 타입의 값만 저장할 수 있다. 변수의 선언 데이터 타입 + 변수이름 int a //정수타입 int와 변수이름 a float b //실수타입 float와 변수이름 b 타입은 변수에 저장되는 값의 종류와 범위를 정하기때문에 어떤 값을 변수에 저장할지 신중히 결정해야 한다. 변수값 저장 변수에 값을 저장하기 위해서는 대입 연산자(=)을 사용한다. (=)은 자바언어에서 오른쪽의 값을 왼쪽에 저장한다는 의미이다. int a = 15; //오른쪽 15값을 왼쪽 변수 a에 저장 상수와 리터럴 상수는 변경할 수 없는 수를 의미한다. 리터럴은 소스 코드 내에서 직접 입력된 값을 의미한다. int a = 15; //왼쪽은 변수, 오른쪽은 리터.. 2021. 5. 11.
주석 주석 주석은 코드에 설명을 붙인 것이다. 컴파일 과정에서 주석은 무시된다. 주석을 사용하는 경우 - 요구사항에 대한 내용 - 요구변경에 대한 내용 - 설계상 중요한 점 주석은 자신이 쓰고 싶다고 해서 기입하는 것이 아니다. 주석 기호 주석 기호 설명 // //부터 라인이 끝나는 곳까지 주석으로 처리 /* 기입할 내용 */ /*와 */ 사이의 모든 내용을 주석으로 처리 /* 작성자 : 000 작성일 : 0000.00.00 설명 */ public class Hellojava { //설명 //설명 public static void main(String[] args) { } } 2021. 5. 10.
경로(절대 경로, 상대 경로) 경로 파일이나 디렉터리의 일반적인 형태로서 파일 시스템에서 고유한 위치를 지정한다. 구분 분자는 대체적으로 슬래시(/), 역슬래시(\),콜론(;)을 사용한다. 경로는 디렉터리/파일 관계를 표현하기 위해 널리 쓰이며 URL의 구성에 필수적이다. 경로에는 절대 경로와 상대 경로가 있다. 절대 경로 최초의 시작점으로부터 찾고자하는 파일의 경로를 전부 기입하는 방식 상대 경로 현재의 디렉터리를 시작점으로 찾고자하는 파일의 경로를 기입하는 방식 2021. 5. 9.
럼바우(Rumbaugh) 객체지향 분석 기법 럼바우(Rumbaugh) 객체지향 분석 기법 객체 지향 분석 기법 정의 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 객체지향 분석 기법 모델링의 목적 물리적 엔티티를 빌드하기 전에 테스트 고객과의 소통 시각화 복잡성 감소 종류 객체 모델링(Object modeling) - 객체 다이어그램으로 표시. 가장 중요하며 가장 선행되는 단계 동적 모델링(Dynamic modeling) - 상태 다이어그램(상태도)를 이용 기능 모델링(Functional) - 자료흐름도를 이용하여 프로세서들의 처리 과정을 기술 럼바우 객체 지향 분석 절차 객체 모형 → 동적 모형 → 기능 모형 2021. 2. 27.
인터페이스 구현 검증 도구, 감시도구 인터페이스 구현 검증 도구, 감시도구 인터페이스 구현 검증 도구 인터페이스가 정상적으로 작동하는 지 확인하기 위한 도구 인터페이스 구현을 검증하기 위해서는 인터페이스 단위 기능 및 시나리오에 기반한 통합 테스트가 필요하다. 인터페이스 구현 검증 도구의 종류 xUnit : Java, C++, Net 등 다양한 언어를 지원 STAF : 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원 FitNesse : 웹 기반 테스트 케이스 설계, 실행, 결과 확인 등을 지원 NTAF : STAF와 FitNesse를 통합 Selenium : 다양한 브라우저 지원 및 개발 언어를 지원 watir : Ruby 기반 인터페이스 구현 감시 도구 APM(Application Performance Management)을 사용하.. 2021. 2. 25.
EAI(Enterprise Application Integration) EAI(Enterprise Application Integration) EAI 개념 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해 주는 솔루션. EAI의 구축 유형 Point-to-point 중간에 미들웨어를 두지 않고 각 애플리케이션 간 Point to Point 형태로 연결. 변경 및 재사용이 어려움 Hub & Spoke 단일 접점이 허브 시스템을 통해 데이터를 전송하는 중앙 집중적 방식. 확장 및 유지 보수 용이. Hub 장애 시 전체가 영향. 모든 데이터 전송 보장. Message Bus 애플리케이션 사이 미들웨어를 두어 처리. 확정성이 뛰어나고 대용량 처리 가능 Hybrid Hub & Spoke와 Message Bus의 혼합방식. 데이터 병목현.. 2021. 2. 24.
제품 소프트웨어 패키징 도구 제품 소프트웨어 패키징 도구 제품 소프트웨어 패키징 도구 패키징 작업 진행 시에 암호화/조안 기능을 고려하여 패키징할 수 있도록 도와준다. 제품 소프트웨어 패키징 도구의 개념 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능 제공. 안전한 유통과 배포를 보장하는 도구이자 솔루션. 패키징 도구 활용 시 고려 사항 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려한다. 추가로 다양한 이기종 연동을 고려한다. 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다. 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다. 2021. 2. 23.
인터페이스 요구 사항 검증 방법 인터페이스 요구 사항 검증 방법 요구 사항 검증(Verification) 요구 사항 검증은 요구 사항 명세서에 사용자의 요구가 올바르게 기술되었는지에 대해 검토하고 베이스라인으로 설정하는 활동. 요구 사항 검증 방법 요구 사항 검증 방법에는 크게 요구 사항 검토, 프로토타이핑, 테스트 설계, CASE 도구 활용 4가지로 나뉜다. 요구 사항 검토(Requirements Review) 요구 사항 검토 담당자들이 요구 사항 명세서를 수작업으로 분석하는 방법 동료 검토(Peer Review) : 2~3명이 진행하는 리뷰의 형태. 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견 워크 스루(Walk Through) : 시스템 개발 단계마다 실시하는 비정형 검토 회의.. 2021. 2. 22.
디자인 패턴(Design Pattern) 디자인 패턴(Design Pattern) 디자인 패턴 정의 어떤 분야에서 반족적으로 나타나는 문제점들에 대해 전문가들의 경험을 정리하여 해결방안을 제시한 패턴. 디자인 패턴을 구성하는 요소 문제 및 배경 사례 샘플코드 디자인 패턴의 종류 디자인 패턴은 크게 생성 패턴(Creational Patterns), 구조 패턴(Structural Patterns), 행동 또는 행위 패턴(Behavioral Patterns)로 나뉘고, 그 안에 여러가지의 패턴이 존재한다. ¤ 생성 패턴(Creational Patterns) 추상 팩토리 패턴(Abstract Factory) : 동일한 주제의 다른 팩토리를 묶어 준다. 빌더 패턴(Builder) : 생성(construction)과 표기(representation)를 분.. 2021. 2. 21.
코드의 종류 코드의 종류 코드의 정의 데이터를 사용 목적에 따라 식별, 분류, 배열하기 위하여 사용되는 숫자, 문자 또는 기호로 컴퓨터 처리에 효율적인 것을 선정 코드의 종류 순차 코드(Sequence Code) 자료의 발생순, 크기순 등 코드화 대상 항목을 일정한 순서에 의해 일련 번호를 부여하는 코드 블럭 코드(Block Code) 코드화할 대상이 갖는 공통 특징을 중심으로 항목들을 별도의 집단으로 분류하고, 한 집단 안에서 순서대로 코드를 부여 그룹 분류 코드(Group Classification Code) 대상 항목에 대한 분류 기준에 따라 대분류, 중분류, 소분류 등 각 분류별로 번호를 순서적으로 부여하는 코드 표의 숫자 코드(Significant Digit Code) 코드화 대상 항목의 중량, 면적, 용량.. 2021. 2. 20.
소프트웨어 아키텍처 패턴 소프트웨어 아키텍처 패턴 아키텍처 패턴의 정의 문제를 해결하는 해법으로 SW시스템의 기본구조와 관련된 것을 다룰 경우 아키텍처 수준의 패턴이라고 한다. 아키텍처 패턴의 종류 레이어 패턴(Layers pattern) 가장 일반적으로 사용하는 아키텍처 패턴으로서 시스템을 계층으로 구분하여 구성되어 있다. 모듈의 재사용성을 높여 유지보수성이나 이식성에 좋은 패턴. 클라이언트 서버 패턴(Client-Server pattern) 하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성되는 패턴 파이프 필터 패턴(Pipe-Filter pattern) 서브시스템이 입력데이터를 받아 처리하고 다음 서브시스템으로 넘겨주는 과정에서 파이프를 통해 다음으로 전달되는 패턴 모델 뷰 컨트롤러 패턴(Model View Contr.. 2021. 2. 19.
객체 지향 설계 원칙(SOLID) 객체 지향 설계 원칙(SOLID) SOLID 컴퓨터 프로그래밍에서 SOLID란 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 의미한다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있다. 설계 원칙 5가지 단일 책임 원칙(Single responsibility principle : SRP) 한 클래스는 하나의 책임만 가져야 한다. 개방 - 폐쇄 원칙(Open / Closed principle : OCP) 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀 있어야 한다. 리스코프 치환 원칙(Liskov substitution principle : LSP) 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀.. 2021. 2. 17.
인터넷(Internet) 인터넷(Internet) 인터넷 개념 인터넷은 수천 개의 개별 네트워크를 연결하는 글로벌 통신 시스템이며, 컴퓨터로 연결하여 TCP/IP(Transmission Control Protocol / Internet Protocol)라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크이다. 이러한 연결을 통해 메시지를 교환하고, 실시간으로 통신하며 정보를 무제한으로 공유할 수 있다. 인터넷 프로토콜(TCP/IP) 컴퓨터나 원거리 통신 장비 사이에서 정보를 주고 받는 양식과 규칙을 의미한다. 인터넷에서 사용되는 프로토콜은 TCP/IP가 있다. 이 프로토콜은 하드웨어, 소프트웨어 및 설계에서 서로 다른 두 네트워크를 연결한다. TCP/IP는 가장 낮은 네트워크 연결 계층(Network Access Laye.. 2021. 2. 15.
네트워크(Network) 네트워크(Network) 네트워크 개념 네트워크는 둘 이상의 호스트 / 컴퓨터 간의 상호 연결을 의미한다. 케이블을 사용하여 물리적으로 연결하거나 무선 네트워크를 사용하여 가장으로 연결할 수 있다. 네트워크에서 컴퓨터 장치들은 데이터 링크를 통해 데이터를 교환한다. 네트워크 유형 네트워크의 주요 유형에는 LAN, WAN, MAN 등이 있다. LAN(Local Area Network) 근거리 통신망이라 불리는 LAN은 짧은 거리 내에서 데이터 통신을 제공하고 컴퓨터 및 프린터와 같은 여러 장치를 연결한다. 보통 단일 건물 또는 인접한 건물 내에 존재하는 네트워크의 경우 LAN이다. WAN(Wide Area Network) 광역 네트워크라 불리는 WAN은 넓은 지리적 영역에 데이터 통신을 제공하는 네트워크다.. 2021. 2. 14.
운영 체제(Operating System : OS) 운영체제(Operating System : OS) 운영 체제 시스템 하드웨어를 관리하고 응용 소프트웨어를 실행하기 위해 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어. 운영 체제는 실행되는 응용 프로그램들이 메모리와 CPU, 입출력 장치 등의 자원들을 사용할 수 있도록 만들어 준다. 가장 많이 사용되는 운영체제에는 Windows, Linux 등이 있다. 운영 체제의 기능 ¤ 사용자 인터페이스 제공 ¤ 시스템의 오류를 검사하고 복구 ¤ 자원 보호 기능을 제공 ¤ 프로그램을 컴퓨터의 메모리에 로드 ¤ 정보가 디스크에 저장되고 검색되는 방법을 관리 ¤ 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공 ¤ 프로그램이 하드웨어 및 기타 소프트웨어와 함께 작동하는 방식을 조정 ¤ 실.. 2021. 2. 13.
컴퓨터(Computer) 컴퓨터(Computer) 컴퓨터(Computer) 정의 컴퓨터는 사용자로부터 데이터를 받아 처리하고 결과를 만들어 사용자에게 표시하고 향후 사용을 위해 결과를 저장하는 전자 장치이다. 데이터는 체계화되지 않은 사실과 수치들의 집합 정보는 체계화된 데이터, 즉 처리된 데이터이다. 컴퓨터의 기능 컴퓨터의 기능에는 입력, 정보 처리, 정보 저장, 출력이 있다. 입력 : 키보드, 마우스, 스캐너 등과 같은 다양한 입력장치를 통해 컴퓨터에 입력 정보 처리 : 컴퓨터의 프로그램에 의해 수행 정보 저장 : 정보가 처리된 후에는 기본 또는 보조 공간에 저장 출력 : 모니터, 프린터 등의 출력장치를 통해 출력 이 파일은 Creative Commons Attribution-Share Alike 3.0 Unported 라이.. 2021. 2. 11.
UML 다이어그램의 종류 UML 다이어그램의 종류 UML 다이어그램 실제 시스템에서 많은 지식들을 구현하기 위해서는 다양한 다이어그램을 이해하는 것이 중요하다. 시스템의 종류에 따라 더 이해하기 쉽게 만들 수 있기 때문이다. 시스템의 다양한 측면을 다루기 위해 여러 개의 다이어그램이 정의되어 있다. 다이어그램에는 아래와 같이 크게 두 가지로 나눌 수 있고 그 안에 하위 범우의 다이어그램이 있다. ¤ 구조 다이어그램 : 시스템 정적 부분을 담당 클래스, 개체, 컴포넌트, 배포 다이어그램이 구조 다이어그램에 속한다. ¤ 행동 다이어그램 : 시스템 동적 부분을 담당 유즈 케이스, 시퀀스, 협업, 상태, 활동 다이어그램이 행동 다이어그램에 속한다. →UML(Unified Modeling Language)← UML 다이어그램의 종류 ¤ .. 2021. 2. 10.
UML이란? UML(Unified Modeling Language) UML(Unified Modeling Language) UML은 소프트웨어 시스템의 아티팩트를 지정, 시각화, 구성 및 문서화하기위한 표준 언어. UML은 C++, Java 등과 같은 일반적인 프로그래밍 언어와 다르다. UML은 소프트웨어 설계 / 시스템 설계를 하는데 있어 사용되는 시각적 모델링 언어다. UML은 객체 지향 분석 및 설계와 직접적인 관련이 있다. UML의 목표 UML의 가장 궁극적 목표는 모든 모델러가 사용할 수 있는 범용 모델링 언어를 정의하고 이해하기 쉽고 사용하기 쉽게 만드는 것이다. UML은 개발자뿐만 아니라 사용자, 일반인 모두가 이해하고 사용할 수 있도록 제작되었다. UML과 객체지향 UML은 객체지향 분석 및 디자인과 .. 2021. 2. 9.
스크럼(Scrum) 스크럼(Scrum) 스크럼(Scrum) 스크럼(Scrum)은 팀 기반 개발 환경 내에서 작업을 관리하는 방법에 특히 집중하는 애자일(Agile) 개발 방법이다. 기본적으로 스크럼은 럭비 경기 중에 발생하는 활동에서 파생되었다. 스크럼(Scrum)은 개발 팀의 역량을 강화하고 소규모 팀에서 선호된다. 세 가지 역할로 구성되며, 그 책임은 다음과 같다. ¤ Scrum Master 마스터는 팀 구성, 스프린트 미팅 및 진행에 방해되는 것을 제거할 책임이 있다. ¤ Product owner 프로덕트 오너는 제품 백로그를 생성하고 백로그의 우선 순위를 지정하며 각 반복에서 기능 제공을 담당한다. ※ 제품 백로그 - 출시하려는 제품에 필요하다고 알려진 모든 요구사항에 대한 수선 순위 목록 ¤ Scrum Team 팀.. 2021. 2. 8.