목록전체 글 (69)
뮁이의 개발새발
Chapter 5. 클로저클로저란?어떤 컨텍스트 A에서 선언한 내부함수 B의 실행 컨텍스트가 활성화된 시점에 B의 outerEnvironmentReference가 참조하는 대상인 A의 LexicalEnvironment에 접근이 가능하게 됨.이때 A에서는 B에서 선언한 변수에 접근할 수 없지만 B에서는 A에서 선언한 변수에 접근이 가능함내부함수 B가 A의 LexicalEnvironment를 언제나 사용하는것은 아님.내부함수에서 외부 변수를 참조하는 경우에 한해서만 combination이 됨.⇒ 어떤 함수에서 선언한 변수를 참조하는 내부함수에서만 발생하는 현상// 외부 함수의 변수를 참조하는 내부 함수(1)var outer = function() { var a = 1; var inner = functio..
Chapter 4. 콜백함수콜백함수란?다른 코드의 인자로 넘겨주는 함수ex) 알람을 설정하는 함수(시계의 제어권 X) / 수시로 시간을 확인하는 함수 (시계의 제어권 O)즉 다른 코드(함수 또는 메서드)에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수제어권var count = 0;var cbFunc = function() { console.log(count); if (++count > 4) clearInterval(timer);};var timer = setInterval(cbFunc, 300);// -- 실행 결과 --// 0 (0.3초)// 1 (0.6초)// 2 (0.9초)// 3 (1.2초)// 4 (1.5초)여기서 setInterval의 구조는 var intervalID = ..
Chapter 3. this this란? 자기 자신이 속한 객체를 가리키는 식별자를 참조할 수 있는 키워드 메서드의 주인이라고 생각하면 편함 JS에서는 함수와 객체의 구분이 느슨하기 때문에, 이 둘을 구분하는 거의 유일한 기능임. 상황에 따라 달라지는 this this는 기본적으로 실행 컨텍스트가 생성될 때 함께 결정됨 실행 컨텍스트는 함수를 호출할 때 생성됨 this는 함수가 호출될 때 결정됨 전역 공간에서의 this 전역 객체를 가르킴 브라우저 - window / Node.js - global 전역변수를 선언하면 자바스크립트 엔진은 이를 전역객체의 프로퍼티로도 할당함 var a = 1; console.log(a); // 1 console.log(window.a) // 1 console.log(this..
Chapter 2. 실행 컨텍스트 1. 실행 컨텍스트란? 실행할 코드에 제공할 환경 정보를 모아놓은 객체 동일한 환경에 있는 코드들을 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고, 이를 콜 스택에 쌓아올렸다가, 위부터 차례대로 실행하게 됨. 실행 컨텍스트를 구성할 수 있는 방법 : 전역공간, eval()함수, 함수 전역 컨텍스트가 콜스택에 담김 자바 스크립트 파일이 열리는 순간 전역 컨텍스트가 활성화됨 순차적으로 수행 outer를 호출하면, outer에 대한 환경 정보를 수집. 실행 컨텍스트 생성하여 콜스택에 넣음 outer과 관련된 내부의 코드를 순차적으로 수행 이후 스택에 쌓인 차례대로 수행 ⇒ 한 실행 컨텍스트가 콜 스택의 맨 위에 쌓이는 순간이 곧 현재 실행할 코드에 관여하게 되는 시..
Chapter 1. 데이터 타입 데이터 타입의 종류 기본형 vs 참조형 기본형 값이 담긴 주솟값을 바로 복제 불변성을 가짐 참조형 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제함. 데이터 타입에 관한 배경지식 메모리의 낭비를 최소화하기 위해, bit와 byte라는 데이터의 단위를 생성함. 그러나, 메모리 용량이 커진 현상황에서 자바스크립트가 등장. 이에 대한 결과로, 숫자는 정수/부동소수형의 구분 없이 8바이트를 확보하게 됨. 형변환 불필요 식별자란? 어떤 데이터를 식별하는 데 사용하는 이름, 즉 변수명 변수 선언 변할 수 있는 데이터를 만든다. 이 데이터의 식별자는 a로 한다. 결국, 변수는 변경 가능한 데이터가 담길 수 있는 공간 또는 그릇 변수를 선언하는 순간, 해당 변수의 집주소(식..
6.1.2. 테스트 관리 지원 도구 - 테스트 관리 도구 - 인시던트 관리 도구 - 요구사항 관리 도구 6.1.3. 정적 테스팅 지원 도구 - 리뷰 도구 - 정적 분석 도구 : 개발자, 테스터, 품질보증 담당자가 동적테스팅을 하기 전에 수행. 1) 코딩 표준을 지킬 것을 강제 2) 구조와 의존관계를 분석 3) 코드를 쉽게 이해할 수 있도록 지원 - 모델링 도구 : 소프트웨어 모델의 유효성을 검사 6.1.4. 테스트 설계 지원 도구 - 테스트 설계 도구 - 테ㅡ트 데이터 준비 도구 6.1.5. 테스트 실행 및 로깅 지원 도구 - 테스트 실행 도구 - 테스트 하네스 도구 (D- 개발자 지원): 테스트 대상이 실행되는 환경을 시뮬레이션 함으로써 컴포넌트나 시스템 일부에 대한 테스팅을 가능하게 한다. - 단위 ..
1. 소프트웨어 테스팅의 기초 1.1.1 소프트웨어 시스템 관점에서 테스팅의 필요성 - 테스팅은 소프트웨어 시스템의 문제를 최소화하기 위해 필요 1.1.2 소프트웨어 결함(Defects, Bug)의 원인 1) 인간의 오류 (시간적 압박, 복잡한 코드, 기반환경의 복잡성, 기술이나 시스템의 변경, 시스템 상호간의 연동 등) 2) 환경적인 조건 : 방사, 자기, 전자기장, 물리적 오염 결함 => 장애의 원인 1.1.3. 소프트웨어의 개발, 유지보수, 운영 시 테스티의 역할 - 개발 초기 단계 : 정적분석 - 각각 개바 단계 : 테스트 레벨에 따른 테스팅 - 컴포넌트(단위) 테스팅, 통합테스팅 => 개발조직이 중심이 되어 수행 1.1.4. 테스팅과 품질 - 테스팅으로 발견된 결함이 극소수이거나 없다면 테스트 ..
오랜만에 알고리즘 하니까 머리가 안굴러가네욤.... 소수판별을 맨 처음부터 세팅해놓고 진행하기 ㄴ 비슷한 문제로 에라토스테네스의 체 ? 가 있음 시간초과 자꾸나서 소수판별 로직을 바꾸었음 자세한 내용은 주석 참고 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class bj6588 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); boolean..