[JS] 자바스크립트 소수점 연산 오류 해결 방법
·
STUDY/JavaScript
자바스크립트에서 소수점 연산 시 발생하는 오류는 부동소수점 표현 방식의 한계 때문에 종종 발생합니다.1. 컴퓨터로 숫자를 표현하는 데에는 한계가 있고2. 10진수로 표현되는 소수를 2진수로 표현하려면 몇몇의 경우 무한소수가 발생하는데,3. 무한수를 유한하게 표현하려다 보니 미세한 값들이 초과되거나 손실되어4. 계산 오류가 일어난다. 위와 같은 오류로 자바스크립트에서는 0.1 + 0.2가 정확히 0.3이 나오지 않는 등 예상치 못한 결과가 나올 수 있습니다.이러한 문제를 해결하기 위한 다양한 방법을 알아보겠습니다. 1. toFixed() 메서드소수점 이하 자릿수를 지정하여 반올림한 문자열 값을 반환합니다.주의할 점: 반환값이 문자열이므로 숫자 연산에 사용하려면 다시 숫자로 변환해야 합니다.let a = 0..
[STS] Spring MVC Project 템플릿 없음 해결방법
·
STUDY/SpringLegacy
STS3로 스프링 프레임워크 프로젝트를 만들기 위해 Spring Legacy Project를 이용한다.이때 Spring MVC Project 템플릿이 없는 경우가 있다.  Configure templates... 를 눌러보자.  spring-data-gemfire와 spring-integration을 삭제하고 적용시키자.적용 후 확인했을 때 나오는 사람이 있고 안 나오는 사람이 있을 것이다.만약, 안 나온다면 아래의 방법을 따라 하자. 1. STS3 종료 후 워크스페이스 아래 경로로 이동.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core경로로 이동하면 폴더가 비어있을 것이다.  2. https-content.xml 파일 복사하기 해당..
[JAVA] jdk 2개 이상 설정 방법 (java 버전 여러개 사용하기)
·
STUDY/JAVA
1. 원하는 jdk버전을 설치합니다https://jdk.java.net/java-se-ri/11-MR2 Java Platform, Standard Edition 11 Reference ImplementationsJava Platform, Standard Edition 11 Reference Implementations The official Reference Implementation for Java SE 11 (JSR 384) is based solely upon open-source code available from the JDK 11 Project in the OpenJDK Community. This Reference Implementation ajdk.java.net 2. .bat파일 생성메모..
[HTML] 폴더업로드 webkitdirectory 속성
·
STUDY/HTML5 CSS3
webkitdirectory 속성이란?HTML의 요소에 webkitdirectory 속성을 추가하면, 사용자가 파일 대신 **디렉토리(폴더)**를 선택할 수 있도록 설정할 수 있습니다. 즉, 하나의 폴더를 선택하면 그 폴더 안에 있는 모든 파일들이 함께 선택되는 효과를 얻을 수 있습니다.주요 특징:파일 대신 폴더 선택: 사용자는 파일 선택 대화창에서 폴더를 선택할 수 있습니다.하위 폴더 포함: 선택된 폴더의 하위 폴더에 있는 파일들도 함께 선택됩니다.File 객체: 선택된 각 파일은 File 객체로 나타나며, webkitRelativePath 속성을 통해 선택된 폴더 내에서의 상대 경로를 알 수 있습니다.브라우저 호환성: 주로 웹킷 기반 브라우저(Chrome, Safari)에서 지원되며, Firefox..
[MySQL] 테이블 스키마 백업하기
·
STUDY/DB SQL
데이터값(레코드값)을 제외한 데이터베이스 스키마(테이블구조)만 백업하는 방법mysqldump명령어로 백업할 때에 -d옵션을 사용하면 백업대상 데이터베이스의 스키마(테이블구조)만을 백업 결과파일에 저장해준다. 즉 데이터값(레코드값)을 생성하는 SQL문은 결과파일에 저장되지 않는다는 의미이다. mysqldump -u DB사용자명 -p -d DB명 > 파일명 [root@sulinux bin]# pwd/usr/local/mysql/bin[root@sulinux bin]# ./mysqldump -u root -p -d tempdb > tempdb.sqlEnter password: ********[root@sulinux bin]# ls -l tempdb.sql-rw-r--r-- 1 root root ..
[MySQL][JAVA] 연동 시 Public key retrieval is not allowed 오류
·
STUDY/DB SQL
Public key retrieval is not allowed 오류 해결법Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowedMySQL 8.x 버전 이상에서 발생하는 문제로 위와 같은 오류가 발생한다.이럴때 JDBC URL에 allowPublicKeyRetrieval=true&useSSL=false를 추가한다.String url = "jdbc:mysql://localhost:3306/DB명?&useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&serverTimezone=UTC"
async / await 병렬 처리 - Promise.all()
·
STUDY/JavaScript
보고 와야 할 이전글:   https://rebornbb.tistory.com/entry/JS-async%EC%99%80-await-%EB%9E%80 병렬처리란 ?병렬 처리는 여러 가지 일을 한꺼번에 하는 것과 같습니다. (예: 빨래를 돌리는 동안 설거지를 하고 청소기를 돌리는 것) Promise.all 로 비동기 작업 병렬처리하기JavaScript에서 비동기 작업을 병렬적으로 처리하기 위해 Promise.all 메서드를 사용합니다.Promise.all 함수는 여러개의 프로미스를 인자로 받아 하나의 프로미스를 반환하는 함수인데, 전달된 모든 프라미스가 완료될 때 까지 기다리며 그 결과로 프로미스들의 결과를 배열로 반환한다.이러한 동작들 때문에 Promise.all을 사용하면 비동기 작업을 병렬로 실행 할..
[MyBatis] <selectKey> 시퀀스 획득
·
STUDY/DB SQL
FK 컬럼이 있는 테이블과, 참조의 대상이 되는 테이블을 한꺼번에 Insert해야 하는 상황에 사용한다.예를 들어, 주문이 발생했을 때 주문 테이블과 결제 테이블의 Insert 작업은 동시에 진행되어야 한다. 이 때, selectKey를 사용한다. 태그 내부에 정의하는 태그INSERT 구문 실행 전, 실행 후 실행할 SQL문을 지정할 수 있다. 태그에서 실행하는 SQL 구문은 새로 발행되는 기본키값을 획득하는 쿼리 태그의 주요 속성keyProperty: 결과 값을 저장할 객체의 프로퍼티 이름을 지정합니다.resultType: 결과 값의 데이터 타입을 지정합니다.order: 쿼리 실행 순서를 지정합니다. (BEFORE, AFTER)statementType: 사용할 SQL 문의 종류를 지정합니다. (STAT..