python3.9 -m jupyterlab --ip=0.0.0.0 --port=50005 --LabApp.token='' --NotebookApp.token='' --NotebookApp.password='' --no-browser --allow-root python3.9 -m jupyterlab: Python 3.9 버전을 사용하여 JupyterLab을 실행합니다. --ip=0.0.0.0: Jupyter 서버가 특정 IP 주소를 수신하도록 지정합니다. 0.0.0.0은 모든 IP 주소에서 수신하는 것을 의미합니다. --port=50005: Jupyter 서버의 포트 번호를 50005로 지정합니다. --LabApp.token='': JupyterLab의 보안 토큰을 비워두도록 지정합니다. 이렇게 하면 보안..
import torch print(torch.cuda.is_available()) print(torch.cuda.current_device()) print(torch.cuda.get_device_name(0)) torch를 이용해서 gpu 확인 되면 아래 console로 확인됨. True 0 NVIDIA A100 80GB PCIe
스프링에서는 특정 property가 없으면 제외할 수 bean lifecycle에서 제외할수 있는 어노테이션을 제공한다.다음과 같이 특정 이메일이 존재할때만 빈을 등록할 코드를 작성합니다.@ConditionalOnProperty(name = "specific.email.value", matchIfMissing = false)@Componentpublic class TokenSpecificEmailProvider {} 아래는 속성에 대한 설명은 아래와 같습니다.name필수 속성으로, 확인할 프로퍼티의 이름을 지정합니다. 여러 개의 이름을 배열로 지정할 수도 있습니다.havingValue프로퍼티의 값과 일치해야 하는 값을 지정합니다. 기본값은 빈 문자열("")입니다. 이 속성은 선택적으로 사용할 수 있으며,..
팩토리 메서드 패턴은 부모 클래스에서 인터페이스 등을 통해 추상화하여 지정하고 자식클래스에서 객체 생성코드를 클라인언트로 분리하여 처음 개발시 추가가 될 수 있는 모듈에대해 미리 대비하여 유연성과 확장성을 가지기 위한 패턴입니다. 즉, 팩토리 메서드는 객체 생성을 담당하는 팩토리 클래스를 정의하고, 이를 사용하여 객체를 생성합니다. 이를 통해 클라이언트 코드는 구체적인 객체 생성 로직을 알 필요 없이 팩토리 클래스에 의존하여 객체를 생성할 수 있습니다. public abstract class Animal { public abstract String getName(); } public class Cat extends Animal { @Override public String getName() { retur..
1. 배열은 List와 다르게 크기를 지정해야 한다.배열은 크기를 지정해야 하지만ArrayList는 해당의 유형 객체를 넣거나 제거한다면 저절로 커지거나 작아지므로 크기를 지정하지 않아도 됩니다. 2. 객체를 일반 배열에 넣을 때는 인덱스를 지정해야 한다.배열은 처음 객체를 생성시 크기를 지정하고크기 안에서 [0], [1], [2] 인덱스를 지정하여 값을 대입해야 한다.하지만 ArrayList는 객체의 인스턴스 메서드를 통해서(add)를 통해서자동으로 인덱스를 생성하여 값을 대입한다. 3. 배열의 내부의 값을 사용할 때는 [index] 문법을 통해 사용가능하다.Arraylist는 객체의 인스턴스 메서드를 통해 값을 대입하거나 가져오지만배열은 [index] 문법을 통해서만 값을 넣거나 가져올 수 있다. '..
Map을 다른 Map의 키값으로 사용한다면. 안녕하세요. 천상나타입니다. 이번 포스팅은 말 그대로 map을 다른 map의 키값으로 사용한다면 생기는 일에 대해 정리해보겠습니다. 말로만 설명한다면 이해가 가지 않으므로 밑의 자바 코딩을 적어놓았습니다. (밑의 링크는 웹에서 자바코딩할 수 있는 곳이 있어 공유합니다.) 자바 테스트 코딩하기. public class TEST { public static void main(String[] args) { HashMap idxHash = new HashMap (); HashMap tempMap = new HashMap(); ArrayList mid = new ArrayList(); ArrayL..
1. 실험을 위하여 java main 테스트를 만듭니다. public static void main(String[] args) { boolean test = call(50); if(test){ System.out.println("test Success"); }else{ System.out.println("test Fail"); } } 2. 자바 메소드 타임아웃(시간설정)을 실험할 call을 정의합니다. - 저는 비교적 간단하게 사용하기위하여 true/false로 기능 테스트를 해보겠습니다. public static boolean call(long time){ ExecutorService threadPool = Executors.newCachedThreadPool(); FutureTask task = ne..
자바 프로그램을 개발시 한번의 트랜잭션을 통해 데이터를 가져온 후 자바에서 데이터를 가공하여 여럿 유형의 데이터 구조를가지고 있는 리포트를 만들어 보려고 한적이 있습니다. 당시에는 얕은 복사와 깊은 복사에 대한 개념을 잘 알지 못하여 밑의 소스코드 처럼 특정 데이터를 가져 온 후 1. mongo1은 특정 데이터를 db에서 가져왔다고 한다면. mongo2에 복사를 하여 mongo1과는 다른 데이터셋을 만들고 싶었습니다. public static void main(String[] args) { Dbinfo mongo1 = new Dbinfo(); mongo1.setInfo("디비정보1"); mongo1.setCount(50); Dbinfo mongo2 = mongo1;//얕은복사 mongo2.setInfo(..
1. 싱글톤 인스턴스를 생성한다. public class DbInfo { // 싱글톤 패턴은 하나의 인스턴스 생성만 구현하는것을 말한다. static private DbInfo instance; private DbInfo(){ //생성자를 private를 만들어 // 외부에서 생성하지 못하도록 한다. } //외부에서 DbInfo 인스턴스를 사용할수 있도록 public으로 생성한다. public static DbInfo getInstance(){ //instance가 null이라면 new 생성한다. if(instance == null){ instance = new DbInfo(); } //이후 외부에서 getInstance()을 호출한다면 null이 아니므로 하나의 인스턴스만이 리턴된다. return in..
자바 개발시 특정 데이터를 파일로 만들 필요가 많은데. 요즘은 csv파일로 전달하게 되면 웹으로도 쉽게 전달 가능하고 용량도 적으며 ~ 해당 문서를 사용하시는 분들도 엑셀로 파일을 로드가 가능하니 쉽게 사용 할 수 있는 것 같습니다. csv파일은 결국 콤마(",")를 구분하여 데이터를 write 후 새로운 라인을 사용하고 싶을땐 Enter를 사용하면 됩니다. 마지막 파일명 실행파일명을 ".csv"로 지정한다면 쉽게 csv파일을 만들 수 있습니다. 자바코드에서 직접 보겠습니다. public int createCSV(List list, String title, String filepath){ int resultCount =0; try{ BufferedWriter fw = new BufferedWriter(n..