Computer195 [Scala] 함수에 대해 Scala는 함수형 프로그래밍 언어이다. 그래서 Scala에서는 함수가 매우 중요하다. Scala에서 함수는 이름이 있는 재활용한 가능한 "expression"들이다. 파라미터를 받을수도 있고 값을 반환할수도 있다. 함수형 프로그래밍 언어 방법론에 있어서 "pure" 함수는 다음의 특성을 가진다. 1) 하나이상의 입력 파라미터를 가진다. 2) 오직 입력 파라미터들만을 가지고 계산을 수행한다. 3) 값을 반환한다 4) 동일한 입력에 대해서 동일한 값을 반환한다. 5) 함수 밖의 데이터를 사용하거나 영향을 주지 않는다. 6) 함수 밖의 데이터에 의해서 영향받지 않는다. "pure" 함수는 stateless 하고 외부 데이터에 영향을 받지 않기 때문에 안정적이다. 물론 Pure함수만으로 응용 프로그램을 만들수.. 2016. 2. 18. [Scala] Expression에 대해 "expression"이란 실행되고 나서 어떤 값을 넘겨주는 코드이다. 하나 또는 그 이상의 코드라인이 expression이면 {}로 모아진다. 이를 "expression block"이라고 한다. immutable data는 새로운 데이터는 기존 변수에 저장하는 것이 아니라 새로운 값에 할당하는 개념이다. expression은 어떤 데이터에 대해서 새로운 데이터를 반환하며 계층적으로 하나의 expression을 다른 expression에 연계해서 값을 반환하게 할 수 있다. value와 variable을 정의하는 것도 expression으로 표현 가능하다. val [: ] = var [: ] = "statements" 는 값을 리턴하지 않는 expression이다. statements는 Unit를 리턴한.. 2016. 1. 19. [Scala] Literal, Value, Variable, Type에 대해 Scala의 데이터는 literal, value, variable로 구별되며, 각각은 해당하는 type이 있다. 각 용어에 대한 정의는 다음과 같다.literal : source code에서 직접적으로 나타나는 데이터를 의미한다.value : 변경 불가능한 타입이 정의된 데이터로 한번 할당되면 재할당이 불가능하다variable : 변경 가능한, 타입이 정외된 데이터로 데이터는 재할당 가능하다.type : 데이터의 유형을 의미한다. 데이터는 더이상 사용되지 않으면 JVM의 garbage collection에 의해서 해제된다. 1. ValueScala의 Value는 다음으로 정의 된다. val [: ] = 예) val x: Int = 5 type을 명시적으로 정의해주지 않으면 Scala Compiler가 추.. 2016. 1. 18. [JavaScript] 자바스크립트 함수에 대하여 2 함수가 호출될 때 호출 파라미터인 arguments 와 this 인자가 전달된다. arguments는 함수를 호출할 때 넘겨진 인자들과 호출할 떄 넘겨진 인자의 개수인 length프로퍼티, 현재 실행중인 함수의 참조값인 callee 프로퍼티로 구성된다. arguments 로 넘겨지는 인자들은 배열형태이기는 하지만 배열은 아니다. 배열의 함수를 이용하려면 apply 또는 call 을 이용해야 한다. this는 함수가 호출되는 방식에 따라 다른 객체를 참조한다. 1. 객체의 메서드로 호출(메서드 호출 패턴)객체의 프로퍼티가 함수일 경우 이 함수를 메서드라고 부른다. 메서드를 호출할 때 메서드 함수에서 사용되는 this는 해당 메서드를 호출한 객체로 바인딩 된다. 다음의 예제 코드를 보자123456789101.. 2015. 12. 7. [JavaScript] 자바스크립트 함수에 대하여 1 자바스크립트에서 함수는 일급 객체(first-class object)이다. 일급 객체는 다음의 특징을 가진다.리터럴에 의해 생성 가능하다.변수나 배열의 요소, 객체의 프로퍼티 등에 할당 가능하다.함수의 인자로 전달 가능하다.함수의 반환값으로 사용할수 있다.동적으로 프로퍼티를 생성하고 할당 가능하다.일급 객체에 대한 내용은 https://en.wikipedia.org/wiki/First-class_citizen 에서 자세히 살펴볼수 있다. 일급 객체의 특성을 가지기 떄문에 C나 Java와는 다른 특성들을 제공하고 있으며, 다른 언어에 비해서 모듈화 처리, 클로저, 객체 생성등 자바스크립트의 여러 기능으로 활용된다. 1. 함수 생성자바스크립트에서 함수를 생성하는 방법은 다음의 3가지가 있다. 이들 방법에 따.. 2015. 12. 6. [자바스크립트] Execution Context (실행 컨텍스트) 에 대하여 1. 실행 컨택스트 개념 자바스크립트가 실행될 떄에는 실행 단위인 실행 컨텍스트하에서 실행된다. 실행 가능한 자바스크립트 코드 블록이 실행되는 환경이라고 할 수 있다. 실행 컨텍스트(Execution Context)는 "실행 가능한 코드의 형상화하고 구별하는 추상적인 개념(the abstract concept by used by ECMA-262 specification for typification and differentiation of an executable code)" 라고 정의된다. ECMA 표준에서는 이에 대한 정확한 구조를 정의하지 않는다. 이는 ECMAScript-Engine의 구현에서의 문제인 것이다. 실행 가능한 코드(Executable code)는 1) Global Code, 2) F.. 2015. 12. 5. 이전 1 ··· 8 9 10 11 12 13 14 ··· 33 다음