Oracle Export(exp)와 Datapump(expdp) 파일 구분

Oracle Export(exp)와 Datapump(expdp) 파일 구분

Oracle Database에서 백업/복구의 대표적인 툴은 Data Pump와 Oracle exp/imp입니다. 두 툴은 완전히 다른 성격의 백업/복구 툴입니다. 그러나 데이터를 백업하는 결과 파일의 확장자는 dmp로 동일합니다. 이러한 이유로 Oracle Database의 데이터를 dmp 파일로 전달받을 때, 부가적인 정보가 없으면, 이 파일이 Data Pump로 만든 파일인지 exp 툴로 만든 파일인지 구분하기 어렵습니다. 현재 사용하는 운 ......
함수 표기법: 세미콜론으로 변수와 파라미터 구분

함수 표기법: 세미콜론으로 변수와 파라미터 구분

수학에서 함수를 표현하는 여러 방법이 있습니다. $f(x)$, $f\colon X\to Y$와 ${\displaystyle x\mapsto f(x).}$와 같은 방식으로 함수를 표현합니다. 복잡한 수식에서 함수를 단순하게 표기함으로써 수식을 단순하게 유지할 수 있습니다. 최근에 “딥 러닝 제대로 시작하기[↗NW] ” 책에서 약간 다른 표기법을 발견하고 그 의미를 획인해 보았습니다. “딥 러닝 제대로 시작하기[↗N ......
오라클 자바 라이센스 정리: Oracle Java SE Subscription

오라클 자바 라이센스 정리: Oracle Java SE Subscription

오라클 자바 서브스크립션(Oracle Java SE Subscription) 2019년 1월부터 Oracle Java SE Subscription(이하 Java Subscription)이 시행됩니다. 현재 운영중인 자바 시스템에 Java Subscription을 구독할지를 결정을 하기 위해서는 여러가지 판단 근거가 필요합니다. 내 시스템에 Java Subscription이 정말 필요한지, 2019년 1월까지 바로 결정을 해야 하는 것인지, Su ......
자바의 새로운 도약: OpenJDK(Feat. Oracle JDK Subscription)

자바의 새로운 도약: OpenJDK(Feat. Oracle JDK Subscription)

최근에 자바는 OpenJDK를 중심으로 빠르게 변화하고 있습니다. 올해부터 OpenJDK는 일 년에 두 번 3월과 9월에 새 버전을 공개합니다. 점차 OpenJDK 개발에 참여하는 기관도 늘어나고 있습니다. 이제 OpenJDK 개발에 참여하는 인증 기관(기업)은 15개에 달합니다.1 또한 OpenJDK 소스를 기반으로 GraalVM과 같은 독특한 기능을 갖춘 새로운 자바가 만들어지고 있습니다. 예전에 자기 환경에 맞는 WAS를 선택했던 것처럼, ......
Docker Image: 파이썬 기반 머신러닝 학습용 이미지

Docker Image: 파이썬 기반 머신러닝 학습용 이미지

파이썬으로 데이터를 분석하고 머신러닝을 수행하기 위해서 필요한 환경을 Docker 이미지 ‘pyml‘을 만들어 운영하고 있습니다. 컴퓨터에 Docker가 설치되어 있다면 바로 Docker 이미지를 다운받아 사용할 수 있습니다. ‘pyml’ 더커 이미지는 주기적으로 업데이트되며 docker hub 레파지토리에서 운영됩니다. https://hub.docker.com/r/taewanme/pyml/ 이 문 ......
VirtualBox에 Hotonworks 가상머신 설치

VirtualBox에 Hotonworks 가상머신 설치

호튼웍스(Hotonworks)는 빅데이터 플랫폼의 테스트와 학습을 효과적으로 지원하는 것을 목표로 HDP Sandbox를 제공합니다. HDP Sandbox는 HDP 최신 패키지를 모두 포함하며, VirtualBox, VMWare 및 Docker 이미지로 배포됩니다. 하둡이 익숙하지 않거나 최신 HDP 구성을 확인하고자 한다면 HDP Sandbox는 가장 이상적인 시작점입니다. 본 문서는 HDP Sandbox를 VirtualBox에 설치하는 과정 ......
김은숙 유니버스: 다시 태어난 캐릭터

김은숙 유니버스: 다시 태어난 캐릭터

개인적으로 김은숙 작가의 드라마를 특히 좋아합니다. “시크릿 가든”, “신사의 품격”, “태양의 후예”, “찬란하신 도깨비” 그리고 “미스터 션샤인” 모두 정말 재미있게 봤던 드라마인 것 같내요. 요즘에는 “미스터 션샤인“에 푹 빠져 살고 있습니다. 다음 주 일요일이 마지막 회라는 것이 못내 아쉽지만, 결과가 어떻게 ......
다차원 텐서 Transpose와 Reshape

다차원 텐서 Transpose와 Reshape

CNN과 같은 이미지 데이터를 다룰 때 입력 데이터로 4차원 텐서를 다룹니다. 이 4차원 데이터는 (image 수, channel 수, Height , Width)와 같은 구조를 갖습니다. 데이터를 전처리하는 과정에서 Channel First인 텐서를 Channel Last 텐서로 변형해야 하는 상황이 발생했습니다. 처음에 4차원 구조는 상상하기도 어려운데 4차원 텐서를 전치하라는 것은 어떤 의미인지 난감했습니다. 문제의 시작: Channel ......
Mathjax의 시그마 중첩 렌더링 오류

Mathjax의 시그마 중첩 렌더링 오류

Mathjax는 웹 상에서 LaTex를 표현하는 지원하는 자바스크립트 라이브러리 입니다. 일반적으로 웹 페이지에서 LaTex를 표현하는 용도로 많이 사용되는 자바스크립트 라이브러리를 입니다. Mathjax 문제점 Mathjax은 거의 모든 LaTex 테그를 잘 표현하지만, \sum 테그를 중첩해서 사용하면 출력을 하지 못하는 문제가 있습니다. 한 개의 \sum 테그는 문제 없이 렌더링을 잘 수행합니다. 다음 코드는 아래와 같이 렌더링 됩니다. ......
Matplotlib 한글 폰트 설정

Matplotlib 한글 폰트 설정

파이썬으로 데이터 시각화를 할 때 “Matplotlib”을 주로 사용합니다. 최근에 Bokeh나 seaborn와 같은 라이브러리를 사용하기도 하지만, IPython에서 작업할 때 주로 Matplotlib를 선호합니다. 최신의 사용이 편리하고 우수한 다른 라이브러리가 있음에도 Matplotlib를 선호하는 이유는 마지막 실행 결과를 보관하는 기능 때문입니다. Jupyter 파일을 github과 같은 레파지터리에 올려 놓아도 ......
scikit-learn의 fetch_mldata('MNIST original') 에러

scikit-learn의 fetch_mldata('MNIST original') 에러

scikit-learn은 테스트 데이터로 사용할 수 있는 여러 데이터셋를 간편하게 로딩하는 기능을 제공합니다. 특히 머신러닝 테스트에 사용할 수 있는 대표적인 데이터셋을 로딩하는 기능을 제공하기 때문에, 이 기능을 이용하여 많은 문서가 이용하여 입문자 문서를 작성하는 것이 일반적입니다. scikit-learn이 제공하는 데이터셋 로딩 기능 중에서 fetch_mldata 함수는 mldata.org의 데이터셋을 이용합니다. 최근에 mldata.or ......
머신러닝 용어: Example, Sample & Data Point

머신러닝 용어: Example, Sample & Data Point

머신러닝을 공부하면서 굉장히 생소하게 느껴졌던 용어가 몇 개 있습니다. 그 중에서 가장 어색했던 용어는 데이터셋의 개별 데이터를 표현하는 용어였습니다. 일반적으로 머신러닝 데이터셋의 개별 데이터를 다음과 같은 용어로 표현합니다. Example Sample Instance Data Point 문서를 번역하거나 정리하는 과정에서 위 용어를 어떻게 처리해야 할지가 항상 고민이었습니다. 개별 데이터를 왜 이렇게 표현하는지 제 개인적인 느낌을 정리해 ......
Docker Image: 파이썬 기반 머신러닝 학습용 이미지

Docker Image: 파이썬 기반 머신러닝 학습용 이미지

파이썬을 기반으로 머신러닝이나 딥러닝 작업을 진행할 때 가장 귀찮고 꺼려지는 작업은 기본 환경을 준비하는 과정입니다. 파이썬 기본 환경을 효과적으로 관리하기 위해서 Docker Image 형태로 PYML을 만들었습니다. PYML은 텐서플로우, 파이토치, 케라스 및 Scikit-Learn을 활용하여 데이터를 분석할 수 있는 환경이며 UI로 IPython을 사용합니다. taewanme/pyml 컨테이너 이미지 pyml 더커 이미지는 docker h ......
GraalVM의 포지션과 역할에 대하여..

GraalVM의 포지션과 역할에 대하여..

2019년 5월에 GraalVM이 GA되었고, 여러 프레임워크(Spring, SpringFoo, Micornut, Picocli, Quarkus)가 GraalVM 지원을 발표하거나 다양한 가능성을 제시하면서 최근에 GraalVM에 대한 관심이 점차 높아지고 있습니다. 또한 GraalVM 자체가 어떤 의미를 갖는지 궁금해하시는 분들이 많아지고 있습니다. 최근에 GraalVM을 주제로 세미나를 진행하면 다음과 같은 질문을 자주 받습니다. 오라클에 ......
Kotlin 지원 Jupyter: BeakerX 도커 이미지

Kotlin 지원 Jupyter: BeakerX 도커 이미지

최근에 Kotlin을 익히고 있습니다. 안드로이드 개발을 목적으로 하기 보다는 서버사이드 개발언어, Micoroservice 구현언어로 Kotlin을 살펴보고 있습니다. Kotlin을 잘 지원하는 IntelliJ라는 개발툴이 있기는 하지만, 새로운 언어를 익힐때 빠른 실험과 결과 확인이 편리한 REPL 환경을 더 선호합니다. Kotlin은 자체적으로 REPL을 지원하기는 하지만 터미널에서 CLI 형태로 사용하기 때문에, 편집이 불편합니다. 또한 ......