에러 화면 D:\Project\stable-diffusion-webui\venv\Scripts>pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117 Looking in indexes: https://download.pytorch.org/whl/cu117 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certif..
파이썬에서는 일반적으로 urllib, requests, httpslib 등의 모듈을 사용하여 웹 서버와 통신하게 됩니다. 이러한 모듈을 사용하여 SSL/TLS 보안 연결을 설정할 때 신뢰할 수 있는 인증서를 사용해야 합니다. 일반적으로 집이나 보안이 강한 곳이 아닌 경우 문제가 되지 않지만, 회사와 같은 강력한 보안이 되어 있는 네트워크에서 접근 할 경우 SSL 에러가 발생할 수 있습니다. 이를 해결하기 위해서는 5가지 방법이 존재하는데 알아보도록 하겠습니다. 인증서 업데이트 우선 가장 기본적인 해결책으로 SSL 인증서를 업데이트 하는 것입니다. 이미 인증서를 가지고 있지만 만료되었거나 유효하지 않을 경우 SSL 에러가 발생할 수 있는데 이럴 경우 인증서를 업데이트 하는 것으로 문제를 해결할 수 있습니다..
회원가입 페이지는 일반적으로 회원값을 전송하기 전에 자바스크립트(Javascript)에서 폼에 있는 값을 검증한 후, 이상이 없을 경우 페이지에 전송하게 됩니다. Javascript로 패스워드와 패스워드 확인 컬럼을 체크한 후 이상이 없을 경우 폼의 값을 넘기는 자바스크립트와 해당 기능을 어떻게 submit에 넣는지 알아보도록 하겠습니다. Javascript Code function validatePassword() { var passwd = document.getElementById("password").value; var repeatPasswd = document.getElementById("repeat-password").value; if (password != confirmPassword) { a..
MySQL에서는 sha256_password으로 비밀번호 컬럼을 저장하는 기능이 최근 버전에서 탑재되어 있지만, 여기서는 직접 SHA256 모듈을 호출해서 비밀번호를 저장해보도록 하겠습니다. Maven, pom.xml mysql mysql-connector-java 8.0.27 우선 MySQL에 연결하기 위해서 MySQL Connector/J 라이브러리를 Maven Pom.xml 파일에 Dependency로 추가합니다. Sha256, Java Code import java.security.MessageDigest; public class TestMain { public static void main(String[] args) { String password = "패스워드"; String hashedPas..
Java에서 JSON을 파싱하는 방법을 보통 많이 하겠지만, Map을 JSON으로 변환해야 되는 때도 있습니다. 예를 들어, POST로 데이터를 전송해야 할 때 JSON으로 String 값을 변환해서 전송하게 되면, 쉽게 처리가 가능한 장점등이 있기 때문이죠. 그리고 Java에서 Map을 JSON으로 변환하는 방법 또한 많이 있습니다만, 대부분 라이브러리를 사용해서 변환을 하는 것이기 때문에 여기서는 대표적인 라이브러리를 하나 소개하고 변환을 시켜보도록 하겠습니다. Jackson 라이브러리 만약 이 방식을 스프링부트(Spring boot)로 만든다면, Jackson 라이브러리는 별도로 설치하지 않아도 되는 경우가 많습니다. 하지만 라이브러리가 존재하지 않을 경우 아래와 같이 라이브러리를 추가하시면 됩니다..
ChatGPT를 관리하는 프로그램을 만드는 도중, 오랜만에 웹을 건드리니 익숙하지 않아서 그런지 아래와 같은 에러가 발생하였다. 에러 메세지 [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'prompt': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'prompt': was expecting (JSON ..
엑셀은 파일로 된 데이터베이스이기 때문에 데이터베이스의 기본적인 찾기와 같은 기능 역시 사용할 수 있습니다. 이와 같이 값을 찾아서 해당 하는 값을 넣고 싶을 경우 LOOKUP이라는 함수를 사용하게 되는데요. 구글 시트와 엑셀을 기반으로 설명을 해보도록 하겠습니다. 대상 데이터 우선 설명을 하기 위해서 아래와 같은 모습의 시트를 만들어보겠습니다. 나라 코드별, 나라명이 대입된 시트인데요. 간단하게 5개의 나라만 입력하였습니다. 국가코드 국가명(한글) KO 대한민국 JP 일본 CN 중국 US 미국 TW 대만 회사 데이터 예시로 데이터는 회사별 국가코드가 있다고 가정하고, 해당 코드를 기반으로 국가명을 가져오는 실습을 해보겠습니다. 나라 나라명 회사 US 테슬라 KO 삼성전자 TW TSMC CN 텐센트 KO..
DB에서 데이터 값이 존재하지 않을 경우 Null이라고 하고, 빈값일 경우 Empty라고 합니다. Null 체크 방법 MySQL에서 Null을 체크하기 위해서는 아래와 같이 IS NULL 아니면 IS NOT NULL을 사용 하면 됩니다. 컬럼 IS NULL 컬럼 IS NOT NULL 예를 들어, title이라는 컬럼에 Null 값이 들어올 수 있을 경우, title IS NULL 이라고 할 경우 title에 값이 없 경우를 지칭하며, title IS NOT NULL이라고 할 경우 title에 NULL값이 있는 경우를 지칭합니다. SELECT * FROM BOARD WHERE TITLE IS NOT NULL; 예를 들어 위와 같이 쿼리를 날릴 경우, BOARD라는 테이블(혹은 VIEW)에서 TITLE에 값..
에러 내용 Git으로 레파지토리(Repository)를 clone하기 위해 명령어를 날린 순간 아래와 같은 에러가 떨어지고 말았다. $ git clone https://huggingface.co/kakaobrain/kogpt Cloning into 'kogpt'... fatal: unable to access 'https://huggingface.co/kakaobrain/kogpt/': SSL certificate problem: unable to get local issuer certificate SSL 인증서 문제로 로컬 발급자 인증서를 가져올 수 없다는 에러였다. 이 문제를 해결하는 방법은 git의 설정을 바꾸면 되는데 아래와 같이 설정을 변경하도록 한다. 해결 내용 $ git config --gl..
에러 메세지 Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 59.0 at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(C..
케라스(Keras)는 텐서플로우(Tensorflow)와 같은 머신러닝 & 딥러닝 엔진 위에 구축된 파이썬용 라이브러리입니다. 현재는 케라스가 텐서플로 프로젝트에 속해 있기 때문에 기본적인 엔진은 텐서플로로 인지하지만 예전에는 씨아노(Theano)를 위한 라이브러리 였습니다. 케라스의 구조 위 구조를 보면 텐서플로 밑에 CPU, GPU, TPU가 있고 위에 케라스가 있는데요. 이와 같이 텐서플로우가 실질적으로 하드웨어(Hardware)를 제어한다면, 케라스는 하드웨어를 제어하는 텐서플로를 제어한다 이해를 하면 될 것 같습니다. 텐서플로가 하드웨어를 얼마나 잘 컨트롤하고, 어떻게 하면 더 효율적이고 효과적인 딥러닝 엔진을 만들 것인지 고민을 하고 있다면, 케라스는 텐서플로우를 제어해서 개발자들이 보다 쉽게 ..
Java에서 뭔가를 계산할 경우 NaN이 발생할 수 있습니다. 특히 공식이 복잡해지고 데이터의 예측이 힘들 경우 발생할 가능성이 높아지는데요. NaN은 왜 발생하고 어떻게 대처를 해야 하는지 알아보도록 하겠습니다. NaN의 뜻 우선 NaN이 무슨 뜻인지를 알아야 되겠죠. NaN은 영어로 Not a Number를 뜻합니다. 한마디로 숫자가 아니라서 숫자로 표현을 할 수 없는 상태를 말합니다. NaN 발생원인 NaN이 발생하는 경우는 값이 아닌 것을 계산할 때 발생하는데요. 0의 값을 0으로 나눴을 때 자주 발생되곤 합니다. NaN 발생 케이스 System.out.println(0.0f / 0.0f); System.out.println(Math.sqrt(-1.0f)); System.out.println(Ma..