코딩 14

[JAVA] replaceAll을 사용해서 특정 문자들을 지우기

어떠한 데이터에는 절대 변해서는 안 되는 경우가 있고, 한글이나 특수 문자들이 사용되서는 안 되는 경우가 있다. 가끔 엑셀(Excel)이나 CSV 파일로 읽어 들이는 과정에서 의도하지 않은 문자나 공백이 들어가는 경우가 생기는데, 이때 불필요한 문자는 지울 수 있도록 replaceAll 함수를 사용한다. replaceAll( String regex, String replacement ) 사용 예제 사용 예제에서는 회원번호는 영문 대소문자와 숫자만 들어가야하는 데이터라고 가정한다. 하지만 데이터를 읽어 들어오는 과정에서 다른 문자들이 포함되었을 때 이것을 제거하는 코드를 작성하였다. replaceAll에 들어가는 정규식은 a부터 z까지, A부터 Z까지, 0부터 9까지 아닌 문자가 있을 경우 "" 즉 아무것..

코딩/JAVA 2022.11.29

[JavaScript] 수정한 JS 파일이 브라우저에서 적용이 안 될 때 | 쿠키 삭제

프로젝트에서 JS 파일을 수정 후에 적용하였는데, 웹 브라우저(크롬)에서 적용이 안 되어서 실행이 안 되고 에러만 발생하는 경우가 있다. 기존의 JS 파일의 쿠키가 남아 있어 변경된 JS 파일을 읽어오지 않아서 발생한 원인일 수 있다. 당황하지 말고 브라우저의 쿠키를 삭제해 보도록 한다. 크롬의 기준으로 오른쪽 상단에 설정 표시 마크를 클릭한 후에 [설정] 버튼을 클릭해 준다. 왼쪽 사이드바에 설정에 대한 메뉴가 나타나는데, [개인정보 및 보안]을 클릭한다. 개인정보 및 보안에 들어가면 [인터넷 사용 기록 삭제] 메뉴 버튼을 클릭한다. 인터넷 사용 기록 삭제 메뉴에서 쿠키를 삭제 해줘야 하는데, [기본] - [전체 기간] - [체크] - [인터넷 사용 기록 삭제] 순으로 진행한다. 나의 경우, 이렇게 쿠..

코딩/JavaScript 2022.11.27

[JAVA] String index out of range 에러 발생하는 이유

자바(Java)에서 문자열을 다룰 때, String index out of range 숫자와 같은 에러를 종종 확인할 수 있다. 발생하는 이유는 substring과 같은 함수로 문자열을 자를 때 잘라야 할 문자열이 정해진 값보다 작아서 발생할 때 생기는 에러이다. 그러므로 당황하지 말고 문자열의 크기만큼 조절해 주면 해결할 수 있다. 다음 예시는 "12345"라는 5자리의 문자열을 선언한 후, substring 함수를 사용하여 처음부터 6자리까지 자르도록 코드를 작성해 보았다. 그 후에 콘솔에 그 값을 출력할 수 있도록 한다. // 5자리 문자열 String str = "12345"; // 자른 문자열 담을 객체 String newStr = ""; // 문자열 자르기 try { // 6자리까지 잘라내기 ..

코딩/JAVA 2022.11.27

[JavaScript] click 함수를 사용하여 파일 선택 창을 열어보자

파일 선택 버튼을 클릭하지 않아도 파일 선택 창을 열 수 있도록 해야 했는데, 이것을 자바스크립트(Javascript)에서 사용자가 클릭하지 않아도 강제적으로 이벤트를 실행시키는 click 함수를 사용하여 해결하였다. HTML 코드 input 태그의 type="file"과 button 태그를 하나씩 만들었다. button 태그에는 fnOpen이라는 함수가 클릭하면 실행할 수 있도록 한다. 열기 JavaScript 코드 getElementById 함수를 사용하여 file 노드를 가져온 후 click 함수를 사용하여 대신 파일 선택 창을 열 수 있도록 하였다. 이상, 오늘도 밤톨만큼 코딩했다.

코딩/JavaScript 2022.11.23

[JAVA] 라이브러리를 사용하여 JSON 데이터 만들기 (ft. gson)

Java에서 JSON 데이터를 읽거나 만들 수 있도록 지원하는 라이브러리가 몇 가지 있는 있는데 오늘은 gson을 사용해서 공부하려고 한다. Depdendency com.google.code.gson gson 2.8.5 JsonObject 사용하기 먼저, JsonObject 객체를 선언한 뒤 addProperty 함수를 사용하여, 그 안에 넣을 필드와 값을 입력해 준다. Gson 객체를 생성하는 방법은 new Gson()과 new GsonBuilder.create() 이렇게 2 가지가 있는데, setPrettyPrinting를 추가해 주면 함수명에서도 알 수 있듯 콘솔에 예쁘게(?) 출력할 수 있도록 해준다. import com.google.gson.Gson; import com.google.gson.G..

코딩/JAVA 2022.11.23

[JAVA] renameTo와 move 함수를 사용하여 파일 이름 변경 및 이동하는 방법

Java에서 파일을 이동하는 방법과 이름을 변경하는 방법은 크게 다르지 않다는 것을 알았다. renameTo와 move 함수는 파일 이동과 파일 이름 변경이라는 결과는 같지만, 사용하는 과정에서 조금 다르다는 것을 알았다. renameTo(File file) 사용 파일은 따로 이동하지 않고, 같은 경로에서 파일 이름만 변경하는 코드를 작성해 보았다. 변경 전 파일명과 변경 후 파일 명, 파일 경로를 미리 선언해 두었다. // 파일 경로 String filePath = "C:\\test\\"; // 변경 전 파일명 String oldName = "old.txt"; // 변경 후 파일명 String newName = "new.txt"; // renameTo 사용 boolean result = useRenam..

코딩/JAVA 2022.11.21

[Eclipse] 힙 메모리 올리기 | window | mac

이클립스를 사용할 때 버벅거리면서 느려지거나 실행 도중에 안 되는 경우가 생겼는데, 이런 경우 Heap 메모리를 올려주면 해결된다고 하여 방법을 찾아보게 되었다. 또한 이클립스에서 힙(Heap) 메모리를 확인도 가능하다. window [Preferences] - [General] - [Show heap status]를 체크한 후 [Apply And Close] 버튼을 눌러 닫아준다. 이클립스 하단에 힙(hea) 메모리가 표시되는 것을 확인할 수 있다. 다음은 이클리스 폴더에서 eclipse.ini 파일 열어준다. 파일을 열어 아래로 내려가면 -Xms(최소) 와 -Xmx(최대)가 있는데 각각 1024m 과 2048m으로 작성하여 저장하고 닫은 후 이클립스를 재 실행한다. Mac 화면 상단에 [Eclipse..

코딩/Eclipse 2022.11.20

[SQL] MERGE INTO 사용해서 한번에 데이터를 옮겨보자

A라는 테이블에서 B라는 테이블에 데이터를 옮길 때 하나하나 데이터를 처리하지 않고 MERGE INTO를 사용하여 바로 넣을 수 있는 방법이다. MERGE INTO MERGE INTO 테이블1_이름 AS A USING 테이블2_이름 AS B ON (A와 B의 조건문) WHEN MATCHED [AND 추가 조건문1] THEN -- UPDATE문 작성 -- DELETE문 작성 WHEN MATCHED [AND 추가 조건문2] THEN -- UPDATE문 작성 -- DELETE문 작성 WHEN NOT MATCHED [AND 추가 조건문3] THEN -- INSERT문 작성 조건문도 추가해 줄 수 있어서, 상황에 맞춰서 INSERT, UPDATE, DELETE를 사용해주면 된다. 하지만, NOT MATCHED 에..

코딩/SQL 2022.11.20

[JAVA] 문자열을 split 함수를 사용해서 특정 구분자로 나눠보자

문자열에서 특정하게 구분하는 문자를 지정하여, 문자열을 나눠야 할 때 split 함수를 사용한다. 여러 방면으로 쓸모가 있는 거 같아 정리한다. split ( String regex ) 먼저, 마침표(.)로 구분되어 있는 문자열을 선언한다. 그 후에 split 함수를 사용하여 마침표(.)로 구분하고 temp라는 배열로 받는다. 💡 [ ] 넣어주지 않으면 제대로 실행이 되지 않았다. // 문자열 대상 선언 String target = "첫번째.두번째.세번째.네번째"; // Null 또는 빈칸이 아닐 때 실행 if (target != null && !target.equals("")) { // . 으로 구분 String[] temp = target.split("[.]"); // 출력 for (int i=0; ..

코딩/JAVA 2022.11.19

[JavaScript] 나만의 하이픈 포함 전화번호 정규식

전화번호나 휴대폰 번호의 정규식을 검색해 보았지만, '-' 이 꼭 포함되어야 하는 정규식은 찾을 수 없었다. 사용자가 꼭 '-' 을 입력할 수 있도록 필요한 정규식 패턴만 공부해서 작성해 본다. 사용되는 정규식 패턴 정규식 패턴 설명 ^ 문자열의 시작에서 일치 $ 문자열의 끝에서 일치 (?: ) ( ) 정규식 패턴에서 캡처 기능을 비활성화 [0-9] 0~9 사이 일치 {2, 3} 2개 이상, 3개 이하 연속으로 일치 HTML 코드 간단하게 테스트 할 수 있도록 전화번호 입력란과 결과를 확인 할 수 있는 버튼을 만들어 주었다. 클릭 할 때 fnCheck 함수를 실행할 수 있도록 하였다. 결과 확인 JavaScript 코드 0~9까지 2,3 개를 포함되게 시작하며 다음으로 ' - ' 포함되게 한다. 0~9까..

코딩/JavaScript 2022.11.19