분류 전체보기 1097

동기(Sync)와 비동기(Async) { 일반함수와 콜스택메모리, 비동기함수(setTimeout) 처리과정 }

동기적 처리란 예를 들면 이런 것이다. 카운터에 직원이 있다면 카운터는 손님 한명 한명 씩 기다린 순서대로 처리한다. 즉, 하나의 작업이 시작되고 난 이후에 완료되면 그 다음 작업이 진행되는 것을 동기적 처리라고 얘기한다. 실제 웹에서 예를 들어보자면 아이디 중복체크가 있다. 아이디 중복 체크 버튼을 클릭하는 순간 사용자는 다른 활동을 할 수가 없다. 이는 개발자들이 의도한 바인데, 아이디 중복은 중요한 문제이기 때문에 사용자가 다른 작업을 하지 못하도록 만든 것이다. 동기식으로 처리하면 이처럼 사용자가 다른 작업을 할 수 없게 됩니다. 비동기적 처리란 예를 들면 이런 것이다. 카운터에 직원이 있다면 카운터 직원은 손님이 올 때마다 바로 작업을 시작한다. 즉 여러 명이 오면 오자 마자 각자의 작업을 처리..

DOM API { DOM API 기본, defer 속성, addEventListener, forEach, textContent }

DOM 이란 브라우저가 HTML 문서를 읽는 과정에서 생성되는 객체이다. DOM 은 HTML 의 모든 요소를 트리 구조로 가지고 있다. JS 는 DOM에 접근하여 HTML 요소를 변경할 수 있는 API 를 제공합니다. 위의 예시보다 훨씬 많은 것들이 있는데, 차차 사용하면서 알아보는 것이 좋습니다. console.dir(document); // dir 메소드는 객체의 속성을 출력한다. // log 메소드는 객체의 정보를 출력하는 것과 대비된다. console.log(document); // log 로 출력된 화면을 보면 태그들이 있는 것을 알 수 있다. console.dir(document.childNodes); // 현재 노드의 자식 노드 리스트를 반환한다. // 노드란 자료구조에서 많이 사용하는 용어..

프로토타입과 상속 { prototype, __proto__ }

자바에서는 extend 를 사용하여 상속(확장)을 만들었다. js 에서는 프로토타입을 통해 부모와 자식 관계를 만들어 줄 수 있다. __proto__ 는 모든 객체가 가지고 있는 속성이다. prototype 은 함수 객체만 가지고 있다. 둘 다 부모를 가리키는 속성이다. function person() { this.eyes = 2; } let kim1 = new person(); let park1 = new person(); console.log(kim1.eyes); // js 에서 function 은 객체처럼 취급이 된다. // persno 이라는 funciton 이 eyes 라는 property 를 갖고 있는 형태가 된다. // kim 과 park 이 각각 생성되면서 메모리 2개가 사용된다. func..

01. 요구사항 확인_09 UML 개요 & UML 사물

UML (Unified Modeling Language) UML ? UML 은 시스템 개발 과정에서 의사소통이 원활하게 이루어지도록 표준화한 객체지향 모델링 언어이다. 무슨 말이냐면 많은 사람들이 작업을 하다 보면 같은 대상을 다르게 표현하는 문제가 발생하는데 그런 문제를 해결하기 위해 개발한 것이 UML 이다. UML 로 표현된 다이아그램을 통해 의견 교환이 가능해졌다. 특징 - 럼바우, Booch, Jacobson 등의 객체지향 방법론의 장점을 통합하였다. - OMG (Object Management Group 에서 표준으로 지정하였다.) 구성요소 - 사물 Things - 관계 Relationship - 다이어그램 Diagram 사물 Things 사물 ? 사물은 UML 안에서 관계가 형성될 수 있는 ..

01. 요구사항 확인_07 요구사항 분석 (구조적 분석 기법)

요구사항 분석 Requirement Analysis 요구사항 분석 ? 요구사항 분석은 소프트웨어 개발의 실제적인 첫 단계입니다. 사용자 요구사항을 이해하고 문서화(명세화)하는 활동을 의미한다. 요구사항 분석 특징 - 사용자 요구 타당성 조사 및 비용과 일정에 대한 제약을 설정함 하향식 방법 소프트웨어 모든 기능을 한번에 모델링할 수 없으므로 소프트웨어의 기능을 전체적인 수준에서 상세 수준까지 단계별로 분리하여 모델링 하는 것을 의미한다. 구조적 분석 기법 구조적 분석 기법? 자료의 흐름과 처리를 중심으로 요구사항 분석을 하는 방법을 의미한다. 구조적 분석 기법 특징 - 도형 중심 분석용 도구와 절차를 이용하여 요구사항을 파악하고 문서화함. - 하향식 방법을 사용함. - 분석의 중복을 배제할 수 있음. 주..

1. 요구사항 확인_06 요구사항 개발 프로세스

요구사항 개발 프로세스 요구사항 개발 프로세스 ? 요구사항 개발은 개발 대상에 대한 요구사항을 체계적으로 도출한 후 분석하고 명세서에 정리한 다음 확인 및 검증하는 과정을 의미함. 요구사항 개발은 '도출' Elicitation '분석' Analysis '명세' Specification '확인' Validation 과정을 거침. 외울 때는 '출 - 석 - 명 - 확' 으로 외우자. 요구사항 개발 프로세스 특징 - 요구사항 개발 프로세스 전에 타당성 조사 Feasibility Study 가 선행되어야 함. - 요구공학 Requirement Engineering 의 한 요소임. 요구사항 도출 (Requirement Elicitation) 요구사항 도출 ? 요구사항 도출은 이해관계자들이 의견을 교환하여 요구사항..

1. 요구사항 확인_05 요구사항 정의

요구사항 요구사항 ? 요구사항이란 사용자의 요구하는 조건이나 제약사항을 의미합니다. 사용자의 요구사항을 충족시키는 것이 소프트웨어 개발 과정 전반에 걸쳐 요구되므로 중요합니다. 요구사항은 크게 기능 요구사항과 비기능 요구사항으로 구분됩니다. 요구사항의 특징 - 소프트웨어 개발 & 유지보수의 기준과 근거가 된다 - 이해관계자들의 의사소통에 필요하다 요구사항의 유형 - 기능 요구사항 Functional requirements - 비기능 요구사항 Non-functional requirements - 사용자 요구사항 User requirements - 시스템 요구사항 System requirements 기능 요구사항 Functional requirements 기능 요구사항 ? 기능 요구사항은 명확하게 어떤 기능..

1. 요구사항 확인_04 개발 기술 환경 파악

미들웨어 Middle Ware 미들웨어 Middle Ware ? 미들웨어는 운영체제와 응용 프로그램 사이에서 운영체제가 제공하는 서비스 외에 추가적인 서비스를 제공하는 소프트웨어이다. 개발 기술 환경 파악 개요 개발하는 소프트웨어와 관련된 운영체제, DBMS, 미들웨어 등을 선정할 때 고려해야 할 사항을 기술한다. 운영체제 OS; Operating System 운영체제 OS ? 운영체제는 컴퓨터 시스템의 자원을 효율적 관리하는 것을 목표로 하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있는 환경을 제공하는 소프트웨어이다. 즉, 컴퓨터 하드웨어와 사용자 사이에서 동작하는 인터페이스 일종이다. 운영체제 관련 요구사항 식별 시 고려사항 - 가용성 - 성능 - 기술 지원 - 주변 기기 - 구축 비용 데..

01. 요구사항 확인_03 XP 기법

XP eXtreme Programming XP eXtreme Programming 이란? Agile 모형에 속하는 개발방법론으로 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 통해 개발 생산성 향상을 목표로 한다. XP 특징 - 짧고 반복적인 개발 주기 - 단순한 설계 - 고객의 참여 - 빠른 소프트웨어 개발 - 짧은 릴리즈 기간 반복 -> 고객 요구사항 반영 -> 가시성 확보 XP 의 5가지 핵심 가치 - 의사소통 Communication - 단순성 Simplicity - 용기 Courage - 존중 Respect - 피드백 Feedback 릴리즈 Release 릴리즈 Release ? 릴리즈는 고객 요구사항이 적용되어 부분적으로 완성된 제품을 제공하는 것을 말한다. 가시성..

1. 요구사항 확인_02 스크럼 기법

스크럼 Scrum 스크럼 Scrum? 스크럼 Scrum 이라는 말은 미식축구에서 나온 말로, 양 팀이 럭비 공을 가운데에 두고 대치한 대형을 말합니다. 스크럼이라는 용어는 팀의 중요성을 강조하는 뜻을 가지고 있습니다. 소프트웨어 개발에서 스크럼 Scrum 은 애자일 Agile 모형에 속하는 개발 방법론 중 하나로 스크럼 팀이 중심이 되어 개발의 효율성을 높이는 개발 기법입니다. 백로그 Backlog ? Backlog 란 제품 개발에 필요한 요구사항을 모두 모은 후 우선순위를 부여한 목록으로 소프트웨어 개발을 위한 필요사항을 나열한 다음 우선순위를 부여한 목록이라고 이해할 수 있습니다. 소프트웨어 이해관계자 Shakeholder 소프트웨어 개발과 관련한 이해관계자들을 의미한다. 고객 개발자 사용자 등이 속..