자바스크립트의 this는 '호출자', 실행 문맥' 을 가리킵니다. 7개의 예제를 통해서 this를 뽀개보도록 하겠습니다. 예제 1. console.log(this === window); 그냥 this를 호출하면 이는 window 객체가 됩니다. 예제 2. function test1() { console.log(this === window); } test1(); 함수에서도 this를 호출하면 window 객체입니다. 예제 3. function test1() { 'use strict' console.log(this === undefined); } test1(); strict 모드의 함수에서는 this가 undefined 입니다. 예제 4. function test1() { 'use strict' functi..
배열은 타입이 같은 여러 개의 변수를 관리하기 위해서 사용합니다. 배열의 요소들은 연속된 메모리 값을 가집니다. 배열의 요소는 인덱스를 통해서 접근이 가능합니다. 1. 자바 배열 선언 Person persons[] = new Person[10]; 위와 같이 선언하면 Person 형 변수 10개를 저장할 수 있는 배열 persons가 생성됩니다. 주의! 아직 Person 형 변수는 생성되지 않았습니다. 배열의 각 요소엔 null 값이 들어있습니다. persons 배열을 사용하기 전 각 요소에 Person 형 객체를 생성하여 할당해주어야 합니다. 그냥 사용하시면 NullPointerException을 만나게 됩니다. ( 원시 타입(int, boolean, ..)의 경우 각 요소를 초기화하지 않은 경우 int..
1. 파이썬 작업 실행 시간 측정하기 import time # 1556092098.1627643 과 같이 1970년 1월 1일부터 경과된 시간을 초 단위로 출력합니다. start_time = time.time() ##################### [작업 수행] ##################### time.sleep(3) ##################### [작업 수행] ##################### # 작업 수행된 시간 : 3.003057 초 print('작업 수행된 시간 : %f 초' % (time.time() - start_time)) 2. 데코레이터를 사용하여 함수 실행 시간 측정하기 2.1 리턴값이 없는 데코레이터 import time def time_decorator(nam..
자바 랜덤 함수를 사용하는 방법에 대해서 알아보겠습니다. 자바에서 랜덤한 값을 추출해내는 방법으로는 두 가지가 있습니다. Math.random() 함수 사용 java.util.Random 클래스 사용 1. Math.random() 함수 사용 먼저 자바 Docs의 내용을 보겠습니다. public static double random() 0.0보다 크거나 같고 1.0보다 작은 double 형 값을 반환한다. 반환된 값은 해당 범위에서 (거의) 균일한 분포의 의사랜덤으로 선택된다. 이 메서드가 처음 호출되면, 하나의 새로운 의사난수 생성기를 생성한다. 이는 다음 표현식에 의해서 생성된다. new java.util.Random() 이 새로운 의사난수 생성기는 이후 이 메서드에 대한 모든 호출에 사용되며 다른 곳..
파이썬 함수 안에서 yield 키워드를 사용하는 함수를 호출하면, 그 함수는 생성기(Generator) 객체를 반환합니다. yield문을 이해하기 위해 먼저 생성기 객체에 대해서 알아보겠습니다. 생성기(Generator)는 무엇일까요? for문과 같은 반복문에서 사용할 값들을 생성하는 객체입니다. 생성기 객체의 next()를 ( Python3 에서는 _next_() ) 호출하면 yield 문까지 함수가 실행되고 실행이 중단됩니다. 다음에 next()를 다시 호출하면 중단된 지점 다음부터 다시 함수가 실행됩니다. 예제를 통해서 생성기를 이해해 보도록 하겠습니다: def yield_func(): n = 0 while n < 3: print('[yield_func] Start of loop. (n = {})'..
파이썬에서는 For 문과 If 문을 한 라인에 작성하여 코드를 직관적으로 만들고, 실행 속도도 높여주는 방법이 있습니다. 리스트 내포(List comprehension)이라는 기법인데요, 그 문법은 다음과 같습니다. iterable_object = [item_expression for item in iterable_list if item_condition] 위 리스트 내포식의 의미는 iterable_list에 있는 요소 하나하나(item)에 대해 item_condition을 만족하는 요소들을 item_expression식을 적용하여 iterable 한 Object (iterable_object)로 만들어서 반환한다는 의미입니다. 구구단 3단을 출력하되 짝수가 아닌 것만 출력해봅시다. gugu_three ..
파이썬 프로그램을 이용해서 인자값을 받으려면 어떻게 해야 할까요?프로그램은 다음과 같은 형태로 실행됩니다. $ python example.py arg1 arg2 arg3 실행하는 파이썬 프로그램 (example.py) 은 다음과 같습니다. import sys print(sys.argv[0]) print(sys.argv[1]) print(sys.argv[2]) print(sys.argv[3]) 출력은 다음과 같습니다. example.py arg1 arg2 arg3 sys 모듈의 argv[0] 은 실행하는 파이썬 프로그램을 (example.py) 담고있고, 이후의 뒤따라오는 인자는 argv[1], argv[2], ... 이렇게 순서대로 할당되는 것을 보실 수 있습니다. 레퍼런스: https://stackov..
$ python example.py arg1 arg2 arg3 import sys print(sys.argv[0]) print(sys.argv[1]) print(sys.argv[2]) print(sys.argv[3]) example.py arg1 arg2 arg3