5/23

justyoon·2023년 5월 23일
0

벡터화(Vectorization)

우리에게 루프는 친숙하고 거의 모든 프로그래밍 언어로 루프에 대해 배운다.
따라서 기본적으로 반복 작업이 있을 때마다 루프 구현을 시작한다.
그러나 많은 수의 반복(수백만/수십억 행)으로 작업할 때 루프를 사용하는 것은 효율성 측면에서 최악이다.
특히 나중에 작동하지 않는다는 결과를 깨닫기 위해 몇 시간 동안 루프의 덫에 갇혀있을 수도 있다.
이것은 파이썬에서 벡터화를 구현하는 것이 얼마나 중대한 의미인지를 시사한다.

벡터화는 데이터 세트에서 (NumPy) 배열 작업을 구현하는 기술이다.
백그라운드에서 한 번에 하나의 행을 조작하는 'for' 루프와 달리
한 번에 배열(array) 또는 계열(series)의 모든 요소에 작업을 적용한다.

이 글에서는 파이썬 루프를 벡터화로 쉽게 대체할 수 있는 몇 가지 사용 사례를 설명해준다. 벡터화를 활용해 시간을 절약하고 효율적으로 작업할 수 있다면 얼마나 좋을까. 사용 케이스를 다뤄보면서 공부해 볼 필요가 있을 것 같다.

참고자료

medium : Say Goodbye to Loops in Python, and Welcome Vectorization!


공개인증(Open Authorization)

http://wiki.oauth.net/Logo

블로거 Chris Messina의 OAuth 디자인 로고

로그인 정보가 타사 애플리케이션과 공유되는 가상의 승인 흐름입니다.
이는 OAuth 권한 부여 흐름을 사용하여 방지할 수 있는 많은 보안 위험을 초래합니다.

Oauth 2.0 흐름에 대한 높은 수준의 개요입니다.
리소스 소유자 자격 증명은 인증 서버에서만 사용되며 클라이언트(예: 타사 앱)에서는 사용되지 않습니다.

Open Authorization 줄여서 OAuth라 부르는 로그인 외부인증 방식을 구현하려면
각 open api 문서를 확인하고 절차를 따라야 한다.

참고자료


스코프(Scope)

스코프는 참조 대상 식별자(identifier, 변수, 함수의 이름과 같이 어떤 대상을 다른 대상과 구분하여 식별할 수 있는 유일한 이름)를 찾아내기 위한 규칙이라 할 수 있다. 자바스크립트를 비롯해 많은 프로그램언어가 이 규칙대로 식별자를 찾는다.

스코프란?
스코프, 즉 유효범위는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본 개념으로 확실한 이해가 필요하다.
특히 자바스크립트의 스코프는 다른 언어의 스코프와 구별되는 특징이 있으므로 주의가 필요한데,
예를 들면 var 키워드로 선언한 변수와 let 또는 const 키워드로 선언한 변수의 스코프는 저마다 다르게 동작한다.
간단히 말해 스코프는 변수 & 함수의 참조와 깊은 관련이 있다.

참고자료


profile
with gratitude, optimism is sustainable

0개의 댓글