728x90 반응형 분류 전체보기541 Typing: dynamic vs. static and strong vs. weak 타입 검사는 프로그램의 type safety를 보장하기 위한 장치이며, 언제(컴파일/실행 시점) 검사하느냐와 얼마나 엄격하게 검사하느냐에 따라 프로그래밍 언어가 분류됨:Static vs Dynamic: 언제 타입을 검사하느냐Strong vs Weak: 얼마나 엄격하게 타입을 검사하느냐 Static Typing (정적 타입 언어)변수의 타입이 컴파일 시점(compile time)에 결정한 번 선언된 타입은 변경 불가예: Java, C, C++, Scala장점:오류를 개발 초기에 발견 가능더 빠르고 최적화된 실행 코드 생성단점:개발 초기 속도가 느리고 코드가 길어지기(장황해지기) 쉬움.유연성이 부족.Dynamic Typing (동적 타입 언어)변수의 타입이 실행 시점(run time)에 객체에 따라 결정동일.. 2025. 12. 9. Python의 함수에서 return 의 이해 1. return 사용하기: function call 은 expression이므로 하나의 값으로 evaluate됨.def 함수이름(매개변수): 실행할 코드 return 반환값return은 다음 두 가지 일을 수행:함수 실행을 즉시 종료호출한 곳으로 결과를 전달: 해당 function call을 해당 결과로 reduction.예제:def add(a, b): return a + bresult = add(3, 4)print(result) # 7위의 동작은 흔히 다음과 같이 언급됨:“함수는 값을 return 한다” 하지만 엄밀히 애기하면 값에 해당하는 객체를 참조하고 있는 reference가 반환되는 것임2. return이 생략된 경우다음 코드를 보자.def f(): x = 10resu.. 2025. 12. 7. Recursive Function and Recurrence Relation Recursive Function(재귀 함수)와 Recurrence Relation(점화식) 이해하기.어떤 문제는 앞 단계의 결과가 다음 단계를 결정하는 구조를 가지는 경우가 있음.이러한 문제는 점화식(Recurrence Relation)으로 표현(update euqation이라고도 부름)하기 좋고,이를 그대로 코드로 옮길 때는 재귀 함수(Recursive Function)가 자연스럽게 사용됨.1. Recurrence Relation(점화식)이란?Recurrence Relation 은 어떤 값이 바로 이전 단계 또는 여러 이전 단계의 값으로 정의되는 수학적 관계식임.예를 들면 다음과 같음:$f(n) = f(n-1) + 1$$f(n) = f(n-1) + f(n-2)$Recurrence relation은 계.. 2025. 12. 5. [PyTorch] tensor의 vectorized operation PyTorch에서 제공하는 Tensor OperatorsPyTorch에서 제공하는 텐서 연산(operator)은homogeneous하고 contiguous한 텐서에 대해모든 element에 동일한 연산을 적용하도록 설계된vectorized operation의 형태를 취함.다른 이름으로 elementwise operation이라고도 불림.이는 파이썬의 반복문 기반 연산에 비해압도적으로 빠른 속도를 제공하며,단일 연산자 호출만으로 전체 텐서에 대한 연산을 수행할 수 있게 함.PyTorch의 elementwise 연산은NumPy의 ufunc과 기능적으로 유사한 역할(아래 3가지 참고)을 수행하지만,broadcasting 처리elementwise kernel 처리dtype promotion 처리보다 광범위한 b.. 2025. 12. 4. git init --bare : 편집가능한 소스 코드가 없는 (서버용) 저장소 만들기 --bare 옵션은 git init의 옵션으로,"사람이 직접 수정 가능한 코드"를 가지고 있는 repository를 만드는 게 아닌,working directory가 없는코드만 저장해두는 'Server' 역할 의 repository를 만드는 옵션.달리 표현하면"워킹 디렉토리(Working Directory)가 없는 저장소""협업을 위해 push만 받는 중앙 공유 저장소"1. Bare repository와 일반 repository의 차이점가장 큰 차이는 "눈에 보이는 소스코드 파일이 있느냐 없느냐"입니다.구분일반 저장소 (git init)Bare 저장소 (git init --bare)목적개발자용 (코드 작성, 수정, 실행)서버용 (중앙 저장, 공유, 백업)구조.git 폴더(숨김) + 실제 소스 파일들.gi.. 2025. 12. 1. Decision Tree - CART (Classification and Regression Trees) Classification And Regression Trees (CART) 는 Classification와 regression 문제 모두 처리 가능한 Binary Decision Tree를 훈련시키는 알고리즘.1. 역사적 배경1984년 Leo Breiman, Jerome H. Friedman, Richard A. Olshen, Charles J. Stone 저서 Classification and Regression Trees 에서 등장:AID(1963), THAID(1972) 등의 트리 기반 분할 연구를 계승.“binary split”과 “purity” 개념을 명확히 정립: gini 계수 사용하여 impurity를 측정.다른 Decision Tree Algorithms(ID3, C4.5 등)과 달리 r.. 2025. 11. 13. 이전 1 2 3 4 ··· 91 다음 728x90 반응형