[Spring] Caused by: java.sql.SQLException: IO 예외 상황: Invalid connection string format, a valid format is: "host:port:sid"
·
Spring
이 에러는 Java 애플리케이션이 데이터베이스에 연결하려고 시도할 때 발생하며, 사용된 연결 문자열이 잘못된 형식을 가지고 있기 때문입니다. 특히, Oracle 데이터베이스에 연결할 때 이 오류가 자주 발생합니다. 원인오류 메시지에서 Invalid connection string format, a valid format is: "host:port:sid" 라고 명시하고 있습니다. 이는 연결 문자열이 잘못된 형식을 가지고 있음을 의미합니다. 유효한 형식은 host:port:sid입니다. 해결방법올바른 형식의 연결 문자열을 사용해야 합니다. 아래는 몇 가지 예제입니다. 1. JDBC Thin Driver 사용 시String url = "jdbc:oracle:thin:@hostname:port:sid"; //..
[Javascript] img 태그 파일 확장자 변경하기
·
Javascript
Javascript로 img 태그의 파일 확장자를 변경하는 방법에 대해 간략히 알아보겠습니다. 예제는 BMP -> PNG로 변환하는 과정입니다.함수작성async function handleImageModalClick(bmpUrl) { try { var modalImg = document.getElementById("modalImage"); var bmpUrl = modalImg.src; // Fetch the BMP image as an ArrayBuffer const response = await fetch(bmpUrl); const arrayBuffer = await response.arrayBuffer(); // Create a Blob from the ArrayB..
[Thymeleaf] 속성을 이용해 Element 넘기기
·
Thymeleaf
Thymeleaf에서 태그에 속성값을 입력하고 함수로 Element 넘기는 방법에 대해 간략히 알아보겠습니다. 1. 속성 선언th:data-url 이라는 속성에 변수 imgUrl 값을 맵핑하고 zoomIn 함수에 this을 파라미터로 넘깁니다.2. 함수 구현function zoomIn(element){ var imgUrl = element.getAttribute('data-url'); // 모달창을 여는 로직 var modal = document.getElementById("imageModal"); var modalImg = document.getElementById("modalImage"); modal.style.display = "flex"; modalImg.src = imgUrl;}g..
[티스토리] 이미지 테두리 간단하게 설정하기
·
티스토리
티스토리에 이미지를 첨부하면 기본적으로 테두리가 없어 글과 섞여 보기 불편할 때가 있습니다. 아주 간단하게 모든 이미지에 테두리를 설정하는 방법에 대해 알아보겠습니다. 1. /manage 페이지 접속 > "스킨편집" 클릭2. 오른쪽 상단에 "html 편집" 버튼을 클릭합니다.3. 내 글에서 이미지 선택자 찾기CSS 는 스킨마다 다르기 때문에 본인이 작성했던 포스팅으로 접근하여 F12를 통해 선택자를 찾습니다.저의 경우엔 "figure" 태그의 "imageblock" 클래스 하위 img 태그임을 알 수 있습니다.4. css 탭 > img 태그 찾기html 편집의 css 탭으로 이동하여 img 태그를 찾습니다.5. 테두리 수정#article-view figure.imageblock img { display..
[Next.js] Next.js 매우 간단한 게시판 만들기
·
Next.js
Next.js 를 이용하여 매~~우 간단한 게시판을 만들어 보겠습니다. 혹시 Next.js 가 설치가 안되셨다면 [Next.js] Next.js 설치하는 방법 을 참고해주세요.1. 프로젝트 구조my-board/├── node_modules/├── public/│ └── favicon.ico├── src/│ ├── components/│ │ ├── Post.js│ │ └── PostList.js│ ├── pages/│ │ └── index.js│ ├── styles/│ │ └── globals.css│ └── utils/│ └── api.js├── .gitignore├── next.config.js├── package.json└── README.md..
[Next.js] Next.js 설치하는 방법
·
Next.js
Next.js를 이용하여 게시판을 만드는 방법에 대해 간략히 알아보겠습니다. Next.js 설치하기 위해선 nodejs를 먼저 설치하셔야 합니다. 1. nextjs 설치npx create-next-app@latest --typescriptworkspace 경로에 npx 명령어를 입력하여 nextjs를 설치합니다.2. 프로젝트생성3. vscode 실행npm run dev 명령어를 통해 앱을 실행시킵니다.4. 실행화면localhost:3000 접속위 페이지가 뜬다면 정상적으로 설치된 것 입니다.감사합니다.
[SpringBoot] GraphQL 간단한 예제
·
Spring
GraphQL 이란 Graph Query Language의 줄임말로서, 서버 API를 구성하기 위해 만든 DB 쿼리 언어입니다. GraphQL 은 단일 endpoint를 사용하므로 단 한 번의 호출로 원하는 응답을 받을 수 있어, REST API에 비해 HTTP 요청 횟수를 줄일 수 있습니다. 그럼 SpringBoot와 Postman을 이용하여 간단하게 예제로 알아보겠습니다.1. 라이브러리 추가dependencies { // basic implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-graphql' // l..
[SpringBoot] jpg파일을 webp 파일로 변경하기(twelvemonkeys)
·
Spring
twelvemonkeys 라이브러리를 이용하여 jpg 파일을 webp 파일로 변경하는 방법에 대해 간단하게 알아보겠습니다.1. 라이브러리 추가// webp 파일로 변환implementation 'com.twelvemonkeys.imageio:imageio-webp:3.10.1'2. 소스작성public void downImage(String imageUrl, String destinationFile) { String destJpg = null; String destWebp = null; try { // URL 에서 jpg 파일 다운로드 URL url = new URL(imageUrl); URLConnection conn = url.openConnection(); ..
[Javascript] 자식창에서 Modal 창닫기
·
Javascript
부모창에서 iframe을 이용해 자식 Modal 창을 띄우고, 자식 Modal 창에서 닫기 요청을 하는 방법에 대해 간략하게 알아보겠습니다.1. 부모창부모창 소스 작성(parent.html) Parent Window Open Modal openModal() 함수를 통해 iframe의 경로를 지정하고 modal 창을 활성화합니다.closeModal() 함수를 통해 modal 창을 비활성화합니다.message 이벤트 리스너를 통해 자식창으로 "closeModal"이라는 메시지를 받게 되면 closeModal() 함수를 호출합니다. 2. 자식창자식창 소스 작성(child.html) Child Window Close Mo..
[SpringBoot] 리눅스 SVN 으로 war 파일 배포하기
·
Spring
리눅스 서버에 SVN을 이용해서 SpringBoot(gradle) war 파일 배포하는 방법에 대해 간략하게 알아보겠습니다.1. Repository 생성SVN에 deploy라는 폴더를 생성 후, checkout 을 진행합니다. 2. build.gradlebuild.gradle 파일 수정plugins { id 'java' id 'org.springframework.boot' version '2.6.15' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'war'}apply plugin: 'war'bootWar { archiveBaseName = '-' archiveFileName = 'myApp.war' ..
제로빈
ZeroBin`s 개발일지