전체 글
-
Python metaclasses, singleton patternSoftware Development/Python 2020. 4. 10. 16:36
메타클래스는 인스턴스가 클래스인 클래스입니다. "일반적인"클래스가 클래스의 인스턴스의 동작을 정의하는 것처럼 메타 클래스는 클래스의 동작과 인스턴스의 동작을 정의합니다. 메타클래스는 모든 객체 지향 프로그래밍 언어에서 지원되진 않습니다. 메타클래스를 지원하는 프로그래밍 언어는 구현 방식에 따라 상당히 다릅니다. 메타클래스를 사용하는 수 많은 용도가 있습니다. 몇가지만 말하자면 아래의 예를 들 수 있습니다. 로깅 및 프로파일링 인터페이스 검사 생성시 클래스 등록 자동으로 새로운 메소드 추가 자동 속성 생성 프록시 리소스 자동 잠금/동기화 원칙적으로 메타 클래스는 다른 파이썬 클래스와 마찬가지로 정의되지만 "type" 에서 상속되는 클래스입니다. 또 다른 차이점은 메타 클래스를 사용하는 클래스 문장이 끝날 ..
-
Oracle - 반드시 알아야 하는 오라클 힌트절 7가지Software Development/Database 2020. 4. 8. 12:57
출처: http://www.dbguide.net/knowledge.db?cmd=view&boardConfigUid=19&boardUid=183970 데이터 전문가 지식포털 DBGuide.net 이병국 andongcn@dreamwiz.com 프리랜서 DB 엔지니어. 동아제약 전산실에서 SW 개발 업무를 시작으로 프리랜서 개발자로 독립해 활동하던 중 우연한 기회에 DB와 인연을 맺게 됐다. 현재 삼성생명 전산 운영팀에서 쿼리 성능을 개선하는 DB 튜닝과 IOA 업무를 맡고 있다. 개발자 출신의 DB 엔지니어로 활동하면서 개발자에게 DB 관련 지식이 꼭 필요함을 절감했다. ‘정보의 불균형이 시장 왜곡을 가져온다’는 ‘레몬시장이론’은 중고차 거래에서 www.dbguide.net CBO[1] 방식에서 옵티마이저는..
-
NumPy 알아보기Software Development/Python 2020. 4. 6. 17:09
NumPy란? NumPy는 파이썬과 함께 과학적인 계산을 위한 패키지입니다. 1. 강력한 다차원 배열 객체 2. 크기가 다른 배열 간의 연산인 broadcasting 함수 3. C/C++ 그리고 Fortran 코드와의 통합 툴 4. Linear algebra, Fourier transform, random number capabilities에서의 유용함 이외에도 일반 데이터의 효율적인 다차원 컨테이너로 사용될 수 있습니다. 임의의 데이터 유형을 정의 할 수 있습니다. 이를 통해 NumPy는 다양한 데이터베이스와 원활하고 신속하게 통합할 수 있습니다. Quickstart tutorial 출처: https://numpy.org/devdocs/user/quickstart.html 3브로드캐스팅
-
CuPy란?Software Development/GPU Programming 2020. 4. 6. 12:39
CuPy는 오픈소스 라이브러리로 NumPy 문법을 사용하며 NVIDIA GPU를 사용하여 행렬 연산으로 속도를 향상시킵니다. 1. 소개 NumPy는 머신러닝이나 알고리즘을 개발하는 사람들에게 표준화된 툴입니다. NumPy는 다차원 배열을 제공하며 과학적 계산을 위한 근본적인 자료구조 그리고 다양한 기능과 함수를 제공합니다. NumPy를 기반으로 scikit-learn과 같은 라이브러리들이 개발되었습니다. 딥러닝의 인기로 최근 5년 동안 GPU를 이용한 병렬 컴퓨팅이 머신러닝 연구자들에 의해 증가되고 있습니다. 신경망의 수가 증가할 수록 학습과 적용을 위한 더 많은 계산량이 필요합니다. 딥러닝 계산은 주로 선형대수 계산을 필요하고 이 계산은 NumPy의 강점입니다. 그러나 NumPy는 GPU위에서의 계산을..