Computer Science 72

[Windows] Docker를 활용하여 로컬에서 JupyterLab 실행하기

Jupyter Docker Stacks는 Jupyter applications와 interactive computing tools를 포함한 Docker images 모음이다 [1]. 즉, Docker image가 Jupyter 프로그램 및 유용한 도구들을 모두 포함하고 있으므로, image를 다운받아서 로컬에서 실행하면 Jupyter 프로그램 및 유용한 도구들을 일일이 따로 설치할 필요 없이 한번에 사용할 수 있다. 또한 리눅스 시스템도 사용이 가능하다. 참고로 image를 실행한 상태를 container라고 한다. 이 포스팅에서는 Windows 10에서 Docker Desktop을 설치하고, Jupyter Docker Stacks에서 원하는 image를 골라 다운로드한 후 실행하는 과정을 소개하고자 한..

[Java] 추상 클래스 (Abstract class)와 인터페이스(Interface)의 차이점

자바는 객체 지향 언어이다. 그래서 클래스(Class)를 생성하고 이로부터 객체를 만들어 이용한다. 이때 클래스는 틀, 객체는 틀로부터 나오는 제품이라고 이해하면 된다. 이와 관련하여 헷갈리는 두 가지 개념이 있다: 추상 클래스(Abstract class)와 인터페이스(Interface). 이를 정리하면 다음과 같다. 추상 클래스는 틀을 만들어 두고, 이 틀을 기반으로 새로운 틀(자식 클래스)을 만드려는 목적 (상속). 인터페이스는 틀을 만들어 두고, 이 틀에 여러 가지 객체를 바꿔끼워가며 사용하는 목적 (다형성). "다형성(polymorphism)이란, 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미"한다 (1). 물론 추상 클래스 (상속)을 다형성 측면에서 이용할 수 있기는 하지만, 인터페이..

[Java] 자바 코드 관련 팁 (삼항 연산자, break Label, TreeSet, Stack, Queue)

삼항 연산자 자바에서 삼항 연산자를 사용하면 조건문을 더 간단히 표현할 수 있다. 삼항 연산자의 예시는 다음과 같다. public class Test public static void main(String[] args) { int num=8; String result = (num>10) ? "bigger than 10" : "smaller than 10"; System.out.println(result) // smaller than 10 } } break Label 중첩 for 문이 사용되었을 때 break Label을 사용하면 외부 for문 밖으로 나갈 수 있다. public class Test public static void main(String[] args) { Flag: for(int i=0; i

[Java] 이클립스에서 실행 가능한 JAR 파일 만들기

JAR (Java ARchiv) 파일은 여러 자바 클래스파일 및 라이브러리를 하나로 압축한 파일로서, 프로그램 배포에 유용하게 사용될 수 있다. 이클립스를 활용하면 간단히 JAR파일을 생성할 수 있다. 먼저 main 메소드가 있는 클래스 혹은 프로젝트에 대해 [오른쪽 클릭]>[Export]를 누른다. 다음에서 JAR file을 클릭하여 [Next]를 누른다. [Next]를 누른다. [Save the description of this JAR in the workspace]를 설정하면 설정이 저장되어 다음 번에 더 빠르게 JAR 파일을 생성할 수 있다. 마지막으로 main 메소드를 가진 클래스 파일을 찾아 Main class로 지정하면 완료된다. 생성된 jar 파일은 아래의 command로 동작한다. $ ..

[Linux] 유용한 쉘 명령어 (Shell commands) 모음

Shell commands의 중요성 Unix는 간단하고 굉장히 빠른 툴로 구성된다: 각각의 툴은 하나의 작업만 수행함. 이들의 조합으로 복잡한 작업을 해낼 수 있다. 파일에서 필요한 정보를 뽑거나 rough하게 확인할 때 유용하다: ex) GFF 파일 (General Feature Format)을 전반적으로 확인하는 등 Redirection (Shell operators: >, , (write to file) >를 사용하면 stdout의 내용을 파일에 적을 수 있다. Redirection: < (read from file) file1.sorted # 각 행의 개수 세기 $ sort file.txt | uniq –c # 각 행의 개수로 정렬 $ sort file.txt | uniq –c | sort –nr..

[Java] 이클립스 (Eclipse IDE) 설정 | 테마, Build path, Java version

Java 코드를 작성할 때 이클립스 (Eclipse IDE)를 사용할 수 있다. 이때 여러가지 설정을 추가로 해줄 수 있는데 아래와 같다. 테마 설정 눈 보호?를 위해 검은색 테마를 설정하고자 한다면 아래와 같이 할 수 있다. [Window] > [Preferences] > [Appearance] > [Theme] > [Dark] Build path 설정 이클립스에서 여러 프로젝트를 함께 다룰 수 있다. 이때 '프로젝트 A'의 내용을 '프로젝트 B'로 import 하고자 할 때는 Build path를 설정해줘야 한다. [프로젝트 B 우클릭] > [Properties] > [Java Build Path] > [Projects] > [Add...] > [프로젝트 A 추가] Java version 설정 특정 ..

[Java] Ant Build를 통한 local에서 server로의 자바 클래스 파일 이동

Ant Build를 이용하면 Local에서 작성한 자바 코드의 클래스 파일을 Server 내부로 이동시킬 수 있다. 먼저 다음의 build.xml을 만든다. build.xml을 project1 폴더에 위치시킨 후, 이클립스(Eclipse IDE)에서 [오른쪽 버튼 클릭] > [Run as] > [Ant Build]를 누르면 /javaClass/에 자바 클래스 파일이 ftp를 통해 자동으로 들어간다. Ant Build 이후에는 java [package 명].[파일명]으로 server에서 실행이 가능하다. 만약 이클립스에서 특정 jar 파일이 없어서 Ant Build가 실행이 안된다면, 해당 jar 파일을 웹에서 다운로드+적절한 위치로 옮겨준 후, [Window] > [Preferences] > [Ant] ..

[용어 설명] ROC curve와 AUC란?

ROC (Receiver Operating Characteristic) curve란 FPR (False positive rate)과 TPR (True Positive Rate)을 각각 x, y축으로 놓은 그래프이다. TPR과 FPR은 다음과 같이 정의된다. TPR (True Positive Rate): 1인 케이스에 대해 1로 바르게 예측하는 비율 (Sensitivity), 암 환자에 대해 암이라고 진단 FPR (False positive rate): 0인 케이스에 대해 1로 틀리게 예측하는 비율 (1-Specificity), 정상에 대해 암이라고 진단 이때 Sensitivity와 Specificity는 반비례한다 (Sensitivity와 1-Specificity는 비례). 모든 사람을 암이라고 진단: ..

728x90
반응형