목록2021/03 (22)
우노
상속(Inheritance)이란? 상속에 대해서 다루기 전에 우선, OOP(Object-Oriented Programming, 객체지향프로그래밍)가 무엇인지에 대해 알고 있어야한다. OOP는 다음과 같은 특징을 가지고 있다. 상속과 인터페이스 (계층성) 다형성, 사용편의성 (모듈화) 캡슐화, 정보은닉 자료 추상화 (모델링) 동적 바인딩 아래 그림을 통해, 상속에 대해 이해해보자. 상자 하나하나는 모두 객체(Object)이고, 자바 용어로는 Class이다. 이러한 계층을 표현하기 위해 만들어진 것이 바로 상속이다. 상속 시, 하위 객체(자식)는 상위 객체(부모)의 특징(메소드, 변수 등)을 물려받게 된다. 이 때, 상위 객체(부모)의 특징(메소드, 변수 등)을 '새롭게 구현'하는가, '..
Superinterface란? 예제 코드 public interface A { void doSomething(); } public interface B extends A { void doSomethingElse(); } 위 예제코드에서, interface A는 interface B의 Superinterface이다. 즉, interface B는 interface A로부터 상속된다. 따라서, 자식(B)는 부모(A)의 메소드를 그대로 사용할 수 있으며, 오버라이딩 할 필요 없이 부모(A)에 구현되어 있는 것을 직접 사용가능하다.
여러줄 주석처리 하는 방법 esc로 명령모드 들어가기 v를 눌러 visual 모드로 들어가, 주석처리를 원하는 부분 선택 : 키 누르기 norm i 타이핑 norm i# norm i// 여러줄 주석 해제하는 방법 esc로 명령모드 들어가기 v를 눌러 visual 모드로 들어가, 주석 해제를 원하는 부분 선택 : 누르기 norm 1x 타이핑 norm 1x : 가장 앞 문자 1개 없애기 norm 2x : 가장 앞 문자 2개 없애기
인자 (Argument) 함수 호출 시, 함수에게 전달하는 값 매개 변수 (Parameter) 함수 호출 시, 전달되는 인자를 받아들이는 변수 예제 void test( int A ) { printf("%d\n",A); } int main( int argc, char* argv[] ) { test( 10 ); } 인자 test() 함수 호출 시, 함수에게 전달하는 값 = 10 매개변수 함수 호출 시, 전달되는 인자를 받아들이는 변수 = int A
에러 및 원인 MacOS는 매번 업데이트마다 여러 문제가 발생합니다. 따라서, 다수의 개발 툴(git, make, gcc)들이 아래와 같은 xcrun 에러를 뱉게 되는 경우가 있습니다. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 해결방법 xcode-select 명령어로 xcode cli만 따로 설치해서 이 문제를 해결할 수 있습니다. 명령어 입력 xcode-select --install 설치 완료
Anomaly Detection(이상 탐지)이란? Anomaly Detection(이상 탐지)이란 전체 데이터에서 다른 패턴을 보이는 데이터를 찾는 것을 말한다. 다른 패턴을 보이는 데이터를 이상값(anomaly)라고 부르며, 이상 탐지는 사기 탐지, 침입 탐지, 안전 관리를 포함한 다양한 분야에 널리 활용된다. Anomaly Detection 은 정답 label 이 주어졌냐, 안 주어졌냐에 따라 지도학습이나 비지도학습으로 진행된다. 비지도 학습을 통해 진행하는 Anomaly Detection 의 종류는 아래와 같다. Isolation Forest One Class SVM Etc 따라서, 해당 포스트는 Anomaly Detection 의 비지도 학습 알고리즘 중 하나인, Isolation Forest에 ..
vi에서 블럭 지정 후, 한 번에 tab 넣는 방법 esc로 명령모드 들어가기 'v' 누르고 방향키로 블럭지정하기 '>' 누르기 (tab을 여러 번 넣기 위해선 '(숫자)>')
Spark SparseMatrix를 CSC format으로 생성 시, 매개변수 순서 행크기(rows) 열크기(cols) 열 압축 정보 배열(colPtrs) 열 순서대로 데이터의 행 인덱스 배열(rowIndices) 열 순서대로 데이터 배열(values) Breeze CSCMatrix를 CSC format으로 생성 시, 매개변수 순서 열 순서대로 데이터 배열(values) 행크기(numRows) 열크기(numCols) 열 압축 정보 배열(colPtrs) 열 순서대로 데이터의 행 인덱스 배열(rowIndices) Spark SparseMatrix를 Breeze CSCMatrix로 변환하는 코드 import org.apache.spark.mllib.linalg.SparseMatrix import breeze...
오토인코더란? 오토인코더(Autoencoder)는 위 그림과 같이, 단순히 입력을 출력으로 복사하는 신경망이다. 어떻게 보면 간단한 신경망처럼 보이지만, 네트워크에 여러가지 방법으로 제약을 줌으로써, 어려운 신경망으로 만든다. 예를들어, 위 그림처럼 hidden layer의 뉴런 수를 input layer(입력층) 보다 작게해서 데이터를 압축(차원을 축소)한다거나, 입력 데이터에 노이즈(noise)를 추가한 후 원본 입력을 복원할 수 있도록 네트워크를 학습시키는 등 다양한 오토인코더가 있다. 이러한 제약들은 오토인코더가 단순히 입력을 바로 출력으로 복사하지 못하도록 방지하며, 데이터를 효율적으로 표현(representation)하는 방법을 학습하도록 제어한다. Undercomplete Autoencode..
.ipynb_checkpoints 란? 주피터 노트북에서 자동저장을 위해 사용되는 폴더입니다. .ipynb_checkpoints 삭제 방법 저장소 상위 디렉토리에서 현재 디렉토리 아래의 모든 .ipynb_checkpoints 파일을 제거 find . -name .ipynb_checkpoints -print0 | xargs -0 git rm -rf --ignore-unmatch 만약, 앞으로도 .ipynb_checkpoints 파일을 업로드하지 않을거라면, 저장소 상위 디렉토리에 .gitignore 파일 생성 및 .ipynb_checkpoints 추가 echo .ipynb_checkpoints >> .gitignore 변경 사항을 원격 저장소에 push git add --all git commit -m &..