728x90

분류 전체보기 85

[Linear] Javascript로 Stack과 Queue 구현하기

이번 포스팅의 주제는 Javascript로 Stack ( LIFO : 후입선출) Queue ( FIFO : 선입선출 ) 자료구조 배열 구현하기 입니다. 소스코드 예제와 함께 구현해 보겠습니다. 각각 메소드는 4개로 구성하였습니다. push : Stack( Queue )의 가장 위의 인덱스에 요소 추가 isEmpty : Stack( Queue )이 빈 배열인지 진리 여부 반환 pop : Stack의 가장 윗 부분( 마지막 인덱스 ) 반환, Queue의 경우 가장 첫 부분 ( 시작 인덱스 ) 반환 size : Stack( Queue ) 배열의 크기 반환 Stack의 예시코드 입니다. class Stack{ constructor(){ // stack을 구현할 배열 초기화 this._arr = []; } pus..

Algorithm/Linear 2022.02.19

[정처기] 객체지향 ( Object Oriented )란??

객체지향이란?? 개체( Entity )를 기계의 부품처럼 하나의 객체( Object )로 만들어, 기계적인 부품들을 조립하여 제품을 만들듯이 소프트웨어를 개발할 때에도 객체를 조립하여 작성하는 기법을 말한다. 객체지향 기법은 구조적 기법의 문제점으로 인한 소프트웨어의 위기의 해결책으로 채택되어 사용되고 있다. 소프트웨어의 재사용 및 확장이 용이하여 고품질의 소프트웨어를 빠르게 개발할 수 있고 유지보수가 쉽다. 객체지향은 복잡한 구조를 단계적, 계층적으로 표현하고 멀티미디어 데이터 및 병렬 처리를 지원한다. 사용자와 개발자가 쉽게 이해할 수 있다. 주요 구성요소와 개념 객체 ( Object ) 클래스 ( Class ) 캡슐화 ( Encapsulation ) 상속 ( Inheritance ) 다형성 ( Po..

[정처기] UML에 대해 알아보자!

UML ( Unified Modeling Language )의 개요 UML은 시스템 분석, 설계, 구현등 시스템 개발 과정에서 개발자와 고객간에 의사소통을 원할하게 하기위한 목적의 표준화한 대표적인 객체지향 *모델링언어이다. ( 모델링 언어 : 만들고자 하는 것을 시각적으로 표현할 수 있는 표기법, 도구 ) UML은 Rumbaugh (럼바우, OMI ), Booch, Jacobson등의 객체지향 방법론의 장점을 통합하여 객체 기술의 국제표준화기구인 OMG ( Object Management Group )에서 표준을 지정했다. UML을 이용해 시스템 표준 구조를 표현하는 6개의 구조 다이어그램과 시스템의 동작을 표현하는 7개의 행위 다이어그램을 작성할 수 있다. 각각의 다이어그램은 사물과 사물간의 관계를 ..

[정처기] 요구사항 정의를 알아보자!

요구사항의 개념 및 특징 소프트웨어의 문제 해결을 위한 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건을 나타낸다. 소프트웨어의 개발과 유지보수 과정에서 필요한 기준과 근거를 제공한다 전반적인 소프웨어의 내용을 확인할 수 있게하므로 개발에 참여하는 관계자들 간의 의사소통을 원할하게 하는데 도움을 제공한다. 제대로 정의 되어야만 과정의 목표와 계획을 수립할 수 있다. 요구사항의 유형( 종류 ) 요구사항은 기술하는 내용에 따라 기능 요구사항, 비기능 요구사항으로 구분하며 기술 관점과 대상의 범위에 따라 시스템 요구사항, 사용자 요구사항 으로 나눈다. 기능 요구사항 ( Functional Requirements ) 시스템의 역활, 기능에 대한 사항 입력과 출력의 목적과 포함, 저장할 데이터와 연산할..

[정처기] Software 개발 방법론의 개요

Software 개발 방법론이란?? Software 개발, 유지보수등에 필요한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구들을 체계적으로 정리하여 표준화한 것이다. 소프트웨어 방법론의 목적 생산성 향상 품질 향상 소프트웨어 방법론의 종류 구조적 방법론 ( Structured Development Engineering ) 정보공학 방법론 ( Information Engineering ) 객체지향 방법론( Object Oriented Engineering ) 컴포넌트 기반( CBD : Component Based Design ) 방법론 애자일 방법론( Agile ) 제품계열 방법론( Product Line Engineering ) 구조적 방법론 ( 1960년 까지 많이 쓰던 방법론 ) 정..

[정처기] Software Life Cycle ( 수명주기 )를 알아보자!

소프트웨어의 생명주기 ( 수명 주기 ) 소프트웨어의 생명 주기는 소프트웨어 개발 방법론의 근간이 된다. 소프트웨어를 개발하기 위해 운용, 유지보수등의 과정을 단계별로 나누어 구성함 생명 주기는 개발 단계, 각 단계별 주요 활동, 활동의 결과로 단계를 나눌 수 있다. 이런 단계의 표현 형태를 생명 주기 모형으로 나타낼 수 있다. ( Process 모형또는 소프트웨어 공학의 패러다임이라고 한다.) 개발자는 문제 유형이나 개발 방법에 따라 특정 모형을 선택해 사용할 수 있다. 일반적인 모형의 종류 폭포수 모형 ( waterfall ) 프로토타입 모형( ProtoType ) 나선형( Spiral Model : 점진적 모형 ) 애자일 모형( Agile : 민첩함 ) 소프트웨어 공학 ( Software Engine..

[정처기] TCP/IP를 알아보자!

TCP/IP ( Transmission Control Protocol / Internet Protocol ) 인터넷에 연결된 서로 다른 컴퓨터들이 데이터를 주고 받게하는 프로토콜입니다. TCP OSI 7 계층의 전송 계층 ( Transfer Layer ) 신뢰성있는 연결형( 가상회선방식 ) 서비스 제공 패킷의 다중화, 순서제어, 오류제어, 흐름제어 기능 제공 Stream 기능 제공 IP OSI 7계층의 네트워크 계층( Network Layer ) Datagram을 기반으로한 비연결형 서비스 제공 Header의 Length는 20Byte ~ 80Byte TCP/IP의 구조 응용 계층, 전송 계층, 인터넷 계층, 네트워크 액세스 계층( 물리 계층 + 데이터 링크 계층 ) OSI TCP/IP 기능 응용 계층,..

[정처기] OSI 7계층을 알아보자!

OSI 참조모델이란?? ( Open System InterConnection : 개방형 시스템 상호 연결 ) 서로 다른 System간의 원활한 통신을 위해 ISO에서 제안한 Protocol( 통신 규약 )이다. 개방형 시스템( Open System )간의 데이터 통신 시 필요한 장비 및 처리 방법을 7단계로 표준화함 1 ~ 3 계층을 하위 계층, 4 ~ 7 계층을 상위 계층으로 나눈다. OSI 참조 모델의 목적 서로 다른 System간의 상호 접속하기 위한 개념을 규정함 OSI 규격을 개발하기 위한 범위를 구함 규정의 적합성을 조절하기 위한 공통적 기반 제공 OSI 참조 모델에서의 데이터 단위 ( PDU : Protocol Data Unit ) 동일 계층간에 교환되는 정보의 단위를 말한다. 물( Bit ..

[정처기] 인터넷에 대해 알아보자!

인터넷의 개요 TCP/IP Protocol 기반 Unix OS 기반 시간과 장소에 구애받지 않는다. 모든 컴퓨터는 고유한 IP주소를 갖는다 컴퓨터와 네트워크를 연결하는데 필요한 장비 Bridge Router Gateway 네트워크와 네트워크를 연결하여 중추적 역할을 하는 네트워크 Backbone IP 주소란? ( Internet Protocol Address ) 컴퓨터의 자원을 구분하기위한 요소 8Bit씩 4등분, 총 32비트로 구성 IP주소는 길이( 범위 )에 따라 A~E Class로 존재함 A Class => 0~127 B Class => 128 ~ 191 C Class => 192 ~ 223 E Class => 224 ~ 239 Subnetting ( 서브네팅 ) 할당된 네트워크 주소를 다시 여러개..

[Java] Java Reflection 이란?? (동적 로딩과 개념, 사용법)

오늘 포스팅에서 알아볼 내용은 Java Reflection입니다. 우선 Java는 Compile 언어입니다. Java에서는 동적으로 객체를 생성하는 방식이 없었기에 Reflection 방식으로 객체를 동적으로 생성할 수 있게 되었습니다. Java Reflection??( Reflection : 반사, 굴절, 투명) Java Reflection은 다음과 같은 정보를 분석하거나 가져올 수 있습니다. Class Constructor Method Field 이러한 정보들을 가져와 객체를 생성하거나 메서드를 호출할 때 변수의 값을 변경할 수 있습니다. Java Reflection API의 기능으로는 객체의 타입을 모르고 객체의 메모리 주소 값만 알고 있는 상태에서 객체의 메서드, 타입, 변수에 접근 가능하게 해주..

Backend/Java 2022.02.14
728x90