CBT 사이트 사용 정처산기의 경우 개편 후 업로드가 없어 정처기 기출로 대신함 제목만 오답풀이함 그냥.. 그냥 정리라고 해도 무방 1과목 : 소프트웨어 설계, 2과목 : 소프트웨어 개발 기능적,비기능적 요구사항 기능적 요구사항 : 시스템이 실제로 어떻게 동작하는지에 관점을 둔 요구사항 비기능적 요구사항 : 시스템 구축에 대한 서능, 보안, 품질, 안정 등에 대한 성능, 보안, 품질, 안정성등으로 실제 수행에 보조적인 요구사항 요구사항 검증 (Requirements Validation) 요구사항 검증 (Requirements Validation) - 실제로 고객이 원하는 바를 원했는지 보이는것 - 검증이 중요한 이유, 시스템을 개발하거나 시스템이 운영 중일 경우 발견되는 방대한 재작업 비용이 발생되기떄문..
모듈 소개 개발하는 애플리케이션의 크기가 커지면 언젠간 파일을 여러개로 분리해야함 이때 분리된 파일 각각을 모듈이라고 부르는데 모듈은 대개 클래스 하나 혹은 특정한 목적을 가진 복수의 함수로 구성된 라이브러리 하나로 구성 모듈이란 모듈은 단지 파일 하나에 불과, 스크립트 하나는 모듈 하나 모듈에 특수한 지시자 export import를 적용하면 다른모듈을 불러와 불러온 모듈에 있는 함수를 호출하는것같은 기능공유 가능 export 지시자를 변수나 함수 앞에 붙이면 외부 모듈에서 해당 변수나 함수에 접근할 수 있음(모듈 내보내기). import 지시자를 사용하면 외부 모듈의 기능을 가져올 수 있음(모듈 가져오기). 모듈의 핵심기능 엄격모드로 실행됨 모듈 레벨 스코프 - 모듈은 자신만의 스코프가 있따 모듈내부..
'try..catch'와 에러 핸들링 'try..catch' 문법 왜 사용하는가? 스크립트가 죽는 걸 방지하고 에러를 잡아서 더 합당한 무언가를 할 수 있다 try { // 코드... } catch (err) { // 에러 핸들링 } 'try' 'catch'라는 두개의 주요블록으로 구성됨 먼저 try{..}안 코드실행 에러가 없다면 try안의 마지막줄까지 실행 catch블록은 건너뜀 에러가 있다면 try안 코드 실행중단되고 catch(err)블록으로 제어흐름 넘어감 변수err(아무이름이나 사용가능)는 무슨일 일어났는지에 대한 설명이 담긴 에러객체 포함 try..catch는 오진 런타임 에러에만 동작한다 ! try..catch는 동기적으로 동작한다 (setTimeout 처럼 스케줄 된 코드에서 발생한 예외..
나머지 매개변수화 스프레드문법 나머지 매개변수... 여분의 매개변수는 그 값들을 담을 배열 이름을 마치표 세개...뒤에 붙여주면 함수 선언부에 포함가능 마침표 세개 ... 는 남아있는 매개변수들을 한데 모아 배열에 집어넣어라 의미 나머지 매개변수는 항상 마지막에 있어야함 arguments 객체 유사배열객체인 arguements를 사요하면 인덱스를 사용해 인수에 접근 가능 화살표 함수는 agruments 객체를 지원하지않는다 변수의 유효범위와 클로저 코드 블록 코드 블록{...} 안에서 선언한 변수는 블록 안에서만 사용 가능 { // 지역 변수를 선언하고 몇 가지 조작을 했지만 그 결과를 밖에서 볼 수 없습니다. let message = "안녕하세요."; // 블록 내에서만 변숫값을 얻을 수 있습니다. a..
콜백 콜백 함수 나중에 호출할 함수 의미 js호스트 환경이 제공하는 여러 함수를 사용하면 비동기 동작 스케줄링 가능 원하는 때에 동작이 시작 할 수 있도록 setTimeout은 스케줄링에 사용되는 가장 대표함수 프라미스 문법 let promise = new Promise(function(resolve, reject) { }); new Promise에 전달되는 함수 실행자,실행함수(executor)라고 부름 new Promise가 만들어질때 자동으로 실행되는데 결과를 최종적으로 만들어내는 제작코드 포함 resolve(value) — 일이 성공적으로 끝난 경우 그 결과를 나타내는 value와 함께 호출 reject(error) — 에러 발생 시 에러 객체를 나타내는 error와 함께 호출 executor의 ..
원시값의 메서드 원시값 문자(string) 숫자(number) bigint 불린(boolean) 심볼(symbol) null undefined 객체 프로퍼티에 다양한 종류의 값 저장 원시값을 객체처럼 사용 원시값은 원시값 그대로 남겨 단일 값 형태 유지 문자열,숫자,불린,심볼의 메서드와 프로퍼티에 접근 할 수 있도록 언어 차원에서 허용 원시값이 메서드나 프로퍼티에 접근하려하면 추가기능을 제공해주는 특수한 객체 "원시 래퍼 객체"를 만들어줌 원시 래퍼 객체는 곧 삭제 string number boolean 생성자로 쓰지말자 ! null undefined 메서드 없음 ! 숫자형 모던js는 숫자를 나타내는 두가지 자료형을 지원함 일반적 숫자 배정밀도 부동소수점 숫자 64비트형식 임의 길이를 가진 정수 bigi..
객체 객체형 객체형은 원시형과 달리 다양한 데이터 담을 수 있음 키로 구분된 데이터 집합, 복잡한 개체(entity)저장가능 중괄호를 이용해 만든다 중괄호 안에는 키(key):값(value) 쌍으로 구성된 프로퍼티를 여러개 넣을 수있다 키엔 문자형 값엔 모든 자료형 허용 빈객체를 만드는방법 두가지 중괄호를 이요해 객체선언하는 것을 객체 리터럴이라고 부르고 주로 이방법 사용 let user = new Object(); // '객체 생성자' 문법 let user = {}; // '객체 리터럴' 문법 리터럴과 프로퍼티 let user = { // 객체 name: "John", // 키: "name", 값: "John" age: 30 // 키: "age", 값: 30 }; // 프로퍼티 값 얻기 alert( u..
if와 ?를 사용한 조건 처리 if문 if(...)문은 괄호 안에 들어가는 조건을 평가함 그 결과 true이면 코드블록 실행 let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', ''); if (year == 2015) alert( '정답입니다!' ); if (year == 2015) { alert( "정답입니다!" ); alert( "아주 똑똑하시네요!" ); } if문을 쓸 때는 중괄호 { }를 사용해 코드를 블록으로 감싸는것이 좋다 ! 불린형으로 변환 if문은 괄호안의 표현식을 평가하고 그 결과 불린값으로 변환함 숫자 0, 빈문자열"", null, undefined, NaN은 불린형으로 변환시 모두 flase 이외의 값은 불린형으로 변환시 true가 되..
태그 자바스크립트를 HTML문서 대부분의 위치에 삽입가능 코드구조 문 statement 어떤 작업을 수행하는 문법구조와 명령어를 의미 코드의 가독성을 높이기 위해 각 문은 서로 다른 줄에 작성하는 것이 일반적 세미클론 줄바꿈이 있다면 세미클론을 생략할 수 있다 대부분의 겨웅 줄바꿈은 세미클론을 의미, 하지만 항상은 아님 주석 // 한줄일때 사용 /* */ 문단으로 사용 엄격모드 "use strict" 반드시 최상단에 위치할 것 변수와 상수 변수 변수(variable)는 데이터를 저장할 떄 쓰이는 이름이 붙은 저장소 let 키워드를 사용하여 변수 생성 let message; //massage 라는 이름을 가진 변수 생성(선언 message = "hi"; //문자열 저장,=할당 연산자 사용..