목록개발 공부 (109)
Just Do IT!

spring을 배우는 과정에서 db를 연동하는데 콘솔에이런식으로 연동되는 걸 볼 수 있었다.그래서 Hikari란 무엇인지, 그리고 정확하게 DB Connection이 무엇인지 정리해보려고 한다. DataSource란?데이터소스(DataSource)는 물리적인 데이터 베이스에 연결하기 위한 팩토리이다.데이터베이스에 연동하기 위해 username, password, url을 사용한다.mySQL을 사용을 예시로 들면, driver class name, url, username, password를 알아야 DB에 연동할 수 있다. DB Connection Pool 일반적인 데이터 연동과정은 웹 어플리케이션이 필요할 때마다 데이터베이스에 연결하여 작업하는 방식인데, 필요할 때마다 연동해서 작업하면 데이..

이클립스로 xml 파일을 작성하는데, 자꾸 이런식으로 빨간줄이 뜨고 에러가 났다.에러 내용을 보면Downloading external resources is disabled.이렇게 써 있는데 구글링하고 간단히 해결할 수 있었다. 이클립스 상단의 Window > Preferences를 클릭한 다음, 저 첫번째 체크박스를 클릭해 적용하면 에러는 사라진다.

강의에서 과제가 주어져서 과제를 구현하다가, TreeSet 관련해서 오류가 생겨서 해결한 기록을 작성하려 한다.비록 chatGPT와 여러 블로그들을 참고했지만, 그래도 무엇이 원인이고 해결 방법이 무엇인지 알게 되었으니까. 우선, 간단하게 과제는Book 클래스 / BookManager 클래스 / BookCompartor / BookExample로 구성되어 있다. BookManager 안에는 다양한 메소드들이 있는데, 그 중 TreeMap을 생성하여 Books의 book들을 모두 트리맵 형식으로 반환해야 하는 과제가 있었다. 전체 코드를 작성하자면,package com.assignment;import java.util.ArrayList;import java.util.Comparator;import jav..
StringBuilder란?String은 불변(immutable) 객체라고 한다. 즉, 한 번 생성되면 변경할 수 없는 것이다.+ 연산자를 사용하여 연결할 수는 있지만, 이는 새로운 문자열 객체가 생성된다는 것을 의미한다.따라서 만약 String 객체를 더하거나 뒤집는 경우, 메모리 할당과 메모리 해제를 발생시키며 연산이 많아지만 성능이 좋지 않다. 그럴 때 사용하는 것이 바로 StringBuilder이다.StringBuilder는 String과 다르게 mutable 하다. 즉, 값이 변할 수 있다.새로운 객체를 생성하고 메모리를 할당하는 것이 아니라 기존의 데이터에서 변경되기 때문에 상대적으로 속도가 빠르고 부하가 적다. 따라서 긴 문자열을 사용하는 상황인 경우, StringBuilder 또는 Stri..
백준 1152번 문제를 풀다가 잘 모르겠어서 검색을 해보니,java에 StringTokenizer 라는 것이 있었다.StringTokenizer는 공백을 기준으로 나뉘어 토큰에 저장하기 때문에 이를 이용하는 것이었다.그러다가 이것과 split()이 뭐가 다른지 궁금해져서 내가 알아보려고 블로그글을 작성한다. java.util.StringTokenizer 클래스긴 문자열을 지정된 구분자를 기준으로 토큰이라는 여러 개의 문자열로 잘라내는 데 사용한다.StringTokenizer의 구분자로 단 하나의 문자 밖에 사용하지 못하기 때문에, 보다 복잡한 형태의 구분자로 문자열을 나누어야 할 때는 어쩔 수 없이 정규식을 사용하는 메서드를 사용해야 한다StringTokenizer의 생성자와 메서드생성자Stri..
Java에서 값을 입력받을 수 있는 방법이 두 가지가 있다.Scanner와 BufferedReader인데, 백준에서 문제를 풀다가 빠른 A+B라는 문제에서 BufferedReader를 쓰라고 해서겸사겸사 정리도 할 겸 블로그에 적어본다. Scannerjava.util 패키지 내에 포함된 클래스Scanner의 특징토큰 단위로 입력값의 경계로 인식하여 데이터를 좀 더 쉽게 입력받을 수 있다.토큰(token) : 공백 문자로 구분되는 요소String 값을 입력할 때는 next()와 nextLine()에 따라 입력값의 경계가 달라질 수 있다.각 토큰들은 Scanner 메서드에 하나씩 순서대로 입력된다.데이터 타입이 입력 받는 시점에서 결정되므로 별도의 형변환이 필요하지 않다.원하는 타입으로 읽을 수 ..

자바 실습을 하던 중에, warning이 떴다. 이런 warning이었는데 해결하지 안하도 잘 돌아가긴 하지만,뭔가 찝찝해서 구글링해서 찾아보고 해결했다. new Scanner 를 System.in을 해주었기 때문에 반드시close 를 해주어야한다는 뜻이다. int sum = 0; double avg = 0; // 세 명의 수학 점수 입력 Scanner sc = new Scanner(System.in); 이렇게 Scanner를 사용했지만 close를 하지 않아서 생긴 문제였다. scanner를 다 사용한 뒤에 추가하면 warning이 일어나지 않는다. package com.practice09;import java.util.Scanner;public class InputExample { pub..

동기와 하는 프로젝트에서 텍스트 에디터를 쓸 일이 생겼다.아직 UI 구현 단계지만, 텍스트 에디터는 처음 써보는 거라 여러 라이브러리를 두고 고민을 했다.개발 기간을 그렇게 길게 잡지 않아서 라이브러리를 쓰는 게 적합하다고 생각했고,그 중 가장 많이 다운받은 (npm trend 기준) react-quill 라이브러리를 적용했다. react-quill을 선택한 이유는 아래와 같다.깔끔한 UI (custom 가능)사용법이 잘 나와있다 (공식 문서, 여러 블로그 글)이미지 업로드 따로 핸들링 가능 (프로젝트에서 이미지 다중 업로드가 필요하기 때문) 이러한 이유들로 react-draft-wysiwyg와 고민했지만 quill로 결정, 프로젝트에 도입했다. WYSIWYG란? What You See Is W..

사이드 프로젝트 중, 주소 찾기를 구현해야 해서 찾아보니까 카카오 우편번호 서비스 API가 있었다. https://postcode.map.daum.net/guide Daum 우편번호 서비스우편번호 검색과 도로명 주소 입력 기능을 너무 간단하게 적용할 수 있는 방법. Daum 우편번호 서비스를 이용해보세요. 어느 사이트에서나 무료로 제약없이 사용 가능하답니다.postcode.map.daum.net 위의 사이트로 들어가보면 자세하게 guide가 나와있다.직접 API를 연동하는 대신, react-daum-postcode라는 라이브러리를 이용해서 편하게 구현했다.https://www.npmjs.com/package/react-daum-postcode react-daum-postcodeDaum Postcode s..

카카오 주소 찾기 api를 사용해서 주소찾기 form을 만드는데, 이런 오류가 났다. 콘솔에 제대로 data가 들어오는게 찍히는데, 문제는 removechild가 되지 않는다는 것이었다.해결방법은 의외로 쉬웠다. 오류난 코드 {isOpen && ( )} 이렇게 버튼을 클릭한 경우에만 DaumPostcode가 실행되도록 해주었는데 계속 오류가 났다. 해결한 코드 {isOpen && ( )} 이렇게 div로 DaumPostcode를 감싸주니 간단하게 해결되었다. 참고한 글들https://velog.io/@hamham/%EC%B9%B4%EC%B9%B4%EC%98%A4-API-%EC%A3%BC%EC%86%8C-%EC..