WEB
-
2022-02-18 작업 중 java.lang.OutOfMemoryError: Java heap space 오류가 뜨는 경우가 있다. 이는 힙 영역에서의 더 이상의 공간이 없어 발생하는 문제점으로써 현재의 힙 메모리 영역을 증가시켜야 한다. 오늘은 SpringBoot에서의 힙 메모리 공간을 늘리는 방법을 알아보자. -방법 SpringBoot는 내장 톰캣을 다루기 때문에 Server에서의 tomcat의 heap 메모리가 아닌 각 프로젝트별 heap 메모리를 수정하는 것이 권장된다. 아래를 보자. 이클립스 상단에 메뉴중 Run > Debug Configurations라는 메뉴가 보일 것이다. 해당 항목을 클릭하면 아래와 같은 팝업창이 나타난다. 팝업창 좌측 목차에 Spring Boot App이라는 항목이 존..
[Spring] SpringBoot 힙 메모리 증가시키는 방법/ (OutOfMemoryError)2022-02-18 작업 중 java.lang.OutOfMemoryError: Java heap space 오류가 뜨는 경우가 있다. 이는 힙 영역에서의 더 이상의 공간이 없어 발생하는 문제점으로써 현재의 힙 메모리 영역을 증가시켜야 한다. 오늘은 SpringBoot에서의 힙 메모리 공간을 늘리는 방법을 알아보자. -방법 SpringBoot는 내장 톰캣을 다루기 때문에 Server에서의 tomcat의 heap 메모리가 아닌 각 프로젝트별 heap 메모리를 수정하는 것이 권장된다. 아래를 보자. 이클립스 상단에 메뉴중 Run > Debug Configurations라는 메뉴가 보일 것이다. 해당 항목을 클릭하면 아래와 같은 팝업창이 나타난다. 팝업창 좌측 목차에 Spring Boot App이라는 항목이 존..
2022.02.18 -
2021-12-11 마이바티스 또는 아이바티스에 부등호가 존재하는 쿼리를 옮겨 사용 시 오류가 발생하는 경우가 있다. 이는 부등호를 mapper에서 인식하는 과정에서 문제가 발생하는 것인데 이를 해결하는 방법을 알아보자. - 비교 표현식 비교표현식이란, 부등호를 문자열로 표현한 것을 말하는데, 형식은 아래와 같다. 부등호 문자열 예제 > 25 SELECT * FROM WHERE AGE =]]> 25 SELECT * FROM WHERE AGE 25 메인 이미지 출처 : Photo by Y S on Unsplash
[Mybatis] 마이바티스/아이바티스 부등호 사용하기2021-12-11 마이바티스 또는 아이바티스에 부등호가 존재하는 쿼리를 옮겨 사용 시 오류가 발생하는 경우가 있다. 이는 부등호를 mapper에서 인식하는 과정에서 문제가 발생하는 것인데 이를 해결하는 방법을 알아보자. - 비교 표현식 비교표현식이란, 부등호를 문자열로 표현한 것을 말하는데, 형식은 아래와 같다. 부등호 문자열 예제 > 25 SELECT * FROM WHERE AGE =]]> 25 SELECT * FROM WHERE AGE 25 메인 이미지 출처 : Photo by Y S on Unsplash
2021.12.11 -
2021-12-07 View에 존재하는 기존의 데이터를 복사해서 사용자에게 전달해야 하는 경우가 있다. 이러한 기능을 손쉽게 처리하는 방법을 알아보자. - 예제 사용할 자바스크립트 코드는 document.execCommand("copy");라는 명령어이다. 이는 view에서 현재 select()된 text를 클립보드에 복사해주는 기능을 수행한다. 아래의 예제 자바스크립트 함수 코드를 보자. //클릭했을 경우 클립보드에 복사된다. function clickCopy(value){ var tempInput = document.createElement("input"); tempInput.style = "position: absolute; left: -1000px; top: -1000px"; //input 창 생..
[JavaScript] 자바스크립트 클릭시 복사 및 input value 값 복사하는법2021-12-07 View에 존재하는 기존의 데이터를 복사해서 사용자에게 전달해야 하는 경우가 있다. 이러한 기능을 손쉽게 처리하는 방법을 알아보자. - 예제 사용할 자바스크립트 코드는 document.execCommand("copy");라는 명령어이다. 이는 view에서 현재 select()된 text를 클립보드에 복사해주는 기능을 수행한다. 아래의 예제 자바스크립트 함수 코드를 보자. //클릭했을 경우 클립보드에 복사된다. function clickCopy(value){ var tempInput = document.createElement("input"); tempInput.style = "position: absolute; left: -1000px; top: -1000px"; //input 창 생..
2021.12.07 -
2021-11-28 실시간으로 처리해야 하는 요청이 있는 반면에 정해진 시간에 처리해야 하는 작업이 있을 수 있다. 예를 들자면 백업 작업, 사용자에게 특정 시간에 메일을 보내야 할 경우가 그 예가 될 수 있다. 오늘은 특정 시간에 동작하도록 설정할 수 있도록 해주는 @Scheduled에 대하여 알아보자. - 예제 @Scheduled(cron="10 30 12 * * *") public void sendMail() { //특정 시간에 매일을 보내는 메소드 System.out.println("메일을 발송합니다.") } 위의 코드를 보자. 스케줄러를 설정하고 싶은 메소드에 @Scheduled 어노테이션을 붙여주면 해당 메서드는 @Scheduled에 지정해준 시간에 따라 동작하게 된다. cron은 유닉스 계열..
[Spring] @Scheduled 어노테이션을 통한 스케줄러 구현 cron2021-11-28 실시간으로 처리해야 하는 요청이 있는 반면에 정해진 시간에 처리해야 하는 작업이 있을 수 있다. 예를 들자면 백업 작업, 사용자에게 특정 시간에 메일을 보내야 할 경우가 그 예가 될 수 있다. 오늘은 특정 시간에 동작하도록 설정할 수 있도록 해주는 @Scheduled에 대하여 알아보자. - 예제 @Scheduled(cron="10 30 12 * * *") public void sendMail() { //특정 시간에 매일을 보내는 메소드 System.out.println("메일을 발송합니다.") } 위의 코드를 보자. 스케줄러를 설정하고 싶은 메소드에 @Scheduled 어노테이션을 붙여주면 해당 메서드는 @Scheduled에 지정해준 시간에 따라 동작하게 된다. cron은 유닉스 계열..
2021.11.28 -
2021-11-20 팝업을 띄운 부모 창을 새로고침해야 하는 경우가 종종 있는데, 이럴 때 코드 한 줄로 부모 창을 새로고침 하는 방법이 있다. - 예제 function parentRefresh(){ opener.location.reload(); } 바로 위의 코드이다. 메소드명도 굉장히 명시적으로 표현되고 있으며 말 그대로 팝업을 띄운 부모 창(opener)의 경로(location) 정보를 새로고침(reload)한다. 위의 코드를 사용하면 기존의 부모창이 새로고침 되는 것을 확인할 수 있다. 메인 이미지 출처: Photo by XPS on Unsplash
[JavaScript] 부모창 새로고침 / 팝업 띄운창 refresh 방법2021-11-20 팝업을 띄운 부모 창을 새로고침해야 하는 경우가 종종 있는데, 이럴 때 코드 한 줄로 부모 창을 새로고침 하는 방법이 있다. - 예제 function parentRefresh(){ opener.location.reload(); } 바로 위의 코드이다. 메소드명도 굉장히 명시적으로 표현되고 있으며 말 그대로 팝업을 띄운 부모 창(opener)의 경로(location) 정보를 새로고침(reload)한다. 위의 코드를 사용하면 기존의 부모창이 새로고침 되는 것을 확인할 수 있다. 메인 이미지 출처: Photo by XPS on Unsplash
2021.11.20 -
2021-11-13 JWT 형식의 데이터를 주고받으면 따로 DB의 저장하지 않아도 해당 토큰의 값만 가지고 데이터 처리를 할 수 있다는 장점이 있다. 다만 base64로 인코딩 되어 있어 누구나 해당 토큰 정보를 확인할 수 있는데, 이러한 단점을 보안하기 위해서는 내부의 데이터는 따로 암호화 작업을 거쳐서 전달하는 것이 바람직하다. 바로 사용한 라이브러리와 예제 코드를 보자. - 라이브러리(build.gradle) // https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt implementation group: 'io.jsonwebtoken', name: 'jjwt', version: '0.9.1' - 예제 import java.io.UnsupportedEn..
[Spring] JWT 토큰 생성과 검증하는 코드 빠르게 알아보기2021-11-13 JWT 형식의 데이터를 주고받으면 따로 DB의 저장하지 않아도 해당 토큰의 값만 가지고 데이터 처리를 할 수 있다는 장점이 있다. 다만 base64로 인코딩 되어 있어 누구나 해당 토큰 정보를 확인할 수 있는데, 이러한 단점을 보안하기 위해서는 내부의 데이터는 따로 암호화 작업을 거쳐서 전달하는 것이 바람직하다. 바로 사용한 라이브러리와 예제 코드를 보자. - 라이브러리(build.gradle) // https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt implementation group: 'io.jsonwebtoken', name: 'jjwt', version: '0.9.1' - 예제 import java.io.UnsupportedEn..
2021.11.13 -
2021-10-26 기존에 @Controller라는 어노테이션은 이미 MVC 구조의 프로젝트를 다루면서 많이 익숙해졌을 것이라고 생각한다. @Controller 경우 자신에게 맵핑된 view를 찾아가는 것이 주요 목표이다. 하지만 view이외의 JSON과 같은 데이터 형식을 전달하기 위해서 @ResponseBody와 같은 어노테이션과 같이 사용되는 경우도 많은데, 이러한 두 가지 기능을 하나의 어노테이션으로 사용하고 조금 더 RestFul API 적합한 개발을 위해 나온 어노테이션이 바로 @Restcontroller이다. 사용방법은 간단하며, 아래의 스프링 문서에서 제공하는 예제 코드를 보자. - 예제1 @RestController public class MyController { @RequestMapp..
[Spring] @RestController 빠르게 알아보기.2021-10-26 기존에 @Controller라는 어노테이션은 이미 MVC 구조의 프로젝트를 다루면서 많이 익숙해졌을 것이라고 생각한다. @Controller 경우 자신에게 맵핑된 view를 찾아가는 것이 주요 목표이다. 하지만 view이외의 JSON과 같은 데이터 형식을 전달하기 위해서 @ResponseBody와 같은 어노테이션과 같이 사용되는 경우도 많은데, 이러한 두 가지 기능을 하나의 어노테이션으로 사용하고 조금 더 RestFul API 적합한 개발을 위해 나온 어노테이션이 바로 @Restcontroller이다. 사용방법은 간단하며, 아래의 스프링 문서에서 제공하는 예제 코드를 보자. - 예제1 @RestController public class MyController { @RequestMapp..
2021.10.26 -
2021-09-26 오늘은 오픈 API를 연동하는 과정을 알아보도록 하자. 예제는 https://open.assembly.go.kr/portal/openapi/main.do를 활용해서 진행할 예정이며, 가이드라인도 열린 국회 정보 API를 따른다. - 예제 먼저 아래는 View를 구성하는 jsp 화면이다. api 연동으로 얻어진 정보를 openInfo라는 하나의 객체로 담아 간단히 나타낼 것이기 때문에 매우 간단하다. 얻어온 Open API 정보 ${openInfo } API화면 아래는 api 정보를 받아올 dto 객체이다. package com.test.test.dto; public class ApiDto { private String billId; private String billNo; privat..
[Spring] HttpURLConnection을 이용한 API 연동 방법2021-09-26 오늘은 오픈 API를 연동하는 과정을 알아보도록 하자. 예제는 https://open.assembly.go.kr/portal/openapi/main.do를 활용해서 진행할 예정이며, 가이드라인도 열린 국회 정보 API를 따른다. - 예제 먼저 아래는 View를 구성하는 jsp 화면이다. api 연동으로 얻어진 정보를 openInfo라는 하나의 객체로 담아 간단히 나타낼 것이기 때문에 매우 간단하다. 얻어온 Open API 정보 ${openInfo } API화면 아래는 api 정보를 받아올 dto 객체이다. package com.test.test.dto; public class ApiDto { private String billId; private String billNo; privat..
2021.09.26 -
2021-09-05 자바스크립트 함수를 호출할 때 a태그를 사용하여 호출하는 경우가 많은데 오늘은 이와 같은 방법을 빠르게 알아보자. -코드 사실 방법은 크게 두가지로 하는 href 링크를 이용해 자바스크립트 함수를 호출하는 방법이고 나머지 하나는 onclick 이벤트를 이용해 함수를 호출하는 방법이다.
[JavaScript] a 태그 자바스크립트 호출 방법 알아보기2021-09-05 자바스크립트 함수를 호출할 때 a태그를 사용하여 호출하는 경우가 많은데 오늘은 이와 같은 방법을 빠르게 알아보자. -코드 사실 방법은 크게 두가지로 하는 href 링크를 이용해 자바스크립트 함수를 호출하는 방법이고 나머지 하나는 onclick 이벤트를 이용해 함수를 호출하는 방법이다.
2021.09.05 -
2021-09-04 화면 이동이 아닌 현재 화면에서의 팝업창을 띄워야 하는 경우가 생길 수 있다. 간단한 공지사항이나 이벤트 정보의 경우 팝업창으로 보여주면 아무래도 사용자의 집중과 관심을 유도할 수 있다. 오늘은 이러한 방법을 자바스크립트를 통해서 구현하는 방법을 알아보자. - 예제 우선 방법은 a 태그를 클릭하면 팝업창이 뜨는 방식으로 구현할 것이다. 단순 팝업창만 띄울거기 때문에 컨트롤러 로직 및 차후 파라미터를 서로 forward 하는 방법까지는 다루지 않는다. 우선 아래는 구체적인 함수구현 부분이다. 크게 어려운 것은 없으며, 창 크기 및 창을 띄울 위치 이외의 window 속성을 지정하고 마지막으로 window.open을 통해 자신이 팝업으로 띄우고 싶은 url 맵핑 정보 이름 window 속..
[JavaScript] 자바스크립트를 이용한 팝업창 띄우기2021-09-04 화면 이동이 아닌 현재 화면에서의 팝업창을 띄워야 하는 경우가 생길 수 있다. 간단한 공지사항이나 이벤트 정보의 경우 팝업창으로 보여주면 아무래도 사용자의 집중과 관심을 유도할 수 있다. 오늘은 이러한 방법을 자바스크립트를 통해서 구현하는 방법을 알아보자. - 예제 우선 방법은 a 태그를 클릭하면 팝업창이 뜨는 방식으로 구현할 것이다. 단순 팝업창만 띄울거기 때문에 컨트롤러 로직 및 차후 파라미터를 서로 forward 하는 방법까지는 다루지 않는다. 우선 아래는 구체적인 함수구현 부분이다. 크게 어려운 것은 없으며, 창 크기 및 창을 띄울 위치 이외의 window 속성을 지정하고 마지막으로 window.open을 통해 자신이 팝업으로 띄우고 싶은 url 맵핑 정보 이름 window 속..
2021.09.04 -
2021-08-28 switch 구문은 th내부에서도 바로 사용할 수 있다. th:switch를 선언한 상위 태그 안에 하위 태그마다 th:case의 조건을 넣어두어 각 조건에 맞는 개발자가 원하는 내용을 넣을 수 있다. 바로 예제를 살펴보도록 하자. -소스코드 유저라는 하나의 DTO or VO(객체)가 있다고 예를 들어보자 해당 객체에는 gender라는 필드 값이 있고 이 안에는 M(남자) 또는 W(여자)라는 하나의 문자만을 가지도록 제한되어 있다고 가정하자. 사용자 입장에서는 단순 문자를 바로 보여주는 것보다. 한글로 표현해주는게 조금 더 가독성이 높기 때문에 치환을 시켜주는 게 좋을 것이다. 이럴 때 타임리프의 switch를 사용하는 것이 좋다. 아래를 보자. 남자 여자 상위 태그 div 안에 th..
[Thymeleaf] 타임리프 switch 사용법 빠르게 알아보기2021-08-28 switch 구문은 th내부에서도 바로 사용할 수 있다. th:switch를 선언한 상위 태그 안에 하위 태그마다 th:case의 조건을 넣어두어 각 조건에 맞는 개발자가 원하는 내용을 넣을 수 있다. 바로 예제를 살펴보도록 하자. -소스코드 유저라는 하나의 DTO or VO(객체)가 있다고 예를 들어보자 해당 객체에는 gender라는 필드 값이 있고 이 안에는 M(남자) 또는 W(여자)라는 하나의 문자만을 가지도록 제한되어 있다고 가정하자. 사용자 입장에서는 단순 문자를 바로 보여주는 것보다. 한글로 표현해주는게 조금 더 가독성이 높기 때문에 치환을 시켜주는 게 좋을 것이다. 이럴 때 타임리프의 switch를 사용하는 것이 좋다. 아래를 보자. 남자 여자 상위 태그 div 안에 th..
2021.08.28 -
2021-08-14 thymeleaf에서 전달받은 파라미터 정보가 null일 때와 "" (빈 문자열) 여부를 체크해 주어 클라이언트에게 보이는 정보를 다르게 표현해야 하는 경우가 있다 이러한 경우 어떻게 처리해야 하는지 알아보자. - 소스코드 위의 코드를 보자 여기서 null과 ""를 체크하는 코드는 바로 ${not #strings. isEmpty(user.id)} 이 부분이다. #strings. isEmpty는 유저라는 객체의 아이디가 null이거나 빈문열일 경우 true 반환하게 된다. 앞에 not을 붙여주면 반대로 파라미터의 정보가 있을 때 true를 반환한다. 반면에 null과 "" 일 경우의 특정값을 출력하고 싶으면 위와 같은 형식으로 나타내 주면 된다. 메인 이미지 출처 : Photo by T..
[Thymeleaf] 타임리프 null 과 빈 문자열"" 체크하는 방법2021-08-14 thymeleaf에서 전달받은 파라미터 정보가 null일 때와 "" (빈 문자열) 여부를 체크해 주어 클라이언트에게 보이는 정보를 다르게 표현해야 하는 경우가 있다 이러한 경우 어떻게 처리해야 하는지 알아보자. - 소스코드 위의 코드를 보자 여기서 null과 ""를 체크하는 코드는 바로 ${not #strings. isEmpty(user.id)} 이 부분이다. #strings. isEmpty는 유저라는 객체의 아이디가 null이거나 빈문열일 경우 true 반환하게 된다. 앞에 not을 붙여주면 반대로 파라미터의 정보가 있을 때 true를 반환한다. 반면에 null과 "" 일 경우의 특정값을 출력하고 싶으면 위와 같은 형식으로 나타내 주면 된다. 메인 이미지 출처 : Photo by T..
2021.08.14 -
2021-07-24 뒤로 가기 버튼을 구현하기 위해서는 크게 준비할 거 없이 a 태그 하나만 사용하면 손쉽게 구현할 수 있다. 오늘은 이와 같은 방법을 빠르게 알아보도록 하자. - 소스코드 // 히스토리의 back을 사용한 뒤로가기 링크 구현 뒤로가기 // 히스토리의 go를 사용한 뒤로가기 링크 구현 뒤로가기 위의 두 코드는 뒤로가기 버튼 구현 시 상당히 많이 사용하는 코드로 자신의 기호와 상황에 맞게 사용해주면 된다. (작성자는 가독성 면에서 back() 메서드가 조금 더 눈에 들어오기 때문에 자주 사용하곤 한다.) (버튼 형식으로 구현하고 싶으면 a 태그안에 button 태그를 넣어서 구현하면 된다.) 메인 이미지 출처: Photo by Toa Heftiba on Unsplash
[JavaScript] a 태그 뒤로 가기 링크 부여하기 history.back() / go(-1)2021-07-24 뒤로 가기 버튼을 구현하기 위해서는 크게 준비할 거 없이 a 태그 하나만 사용하면 손쉽게 구현할 수 있다. 오늘은 이와 같은 방법을 빠르게 알아보도록 하자. - 소스코드 // 히스토리의 back을 사용한 뒤로가기 링크 구현 뒤로가기 // 히스토리의 go를 사용한 뒤로가기 링크 구현 뒤로가기 위의 두 코드는 뒤로가기 버튼 구현 시 상당히 많이 사용하는 코드로 자신의 기호와 상황에 맞게 사용해주면 된다. (작성자는 가독성 면에서 back() 메서드가 조금 더 눈에 들어오기 때문에 자주 사용하곤 한다.) (버튼 형식으로 구현하고 싶으면 a 태그안에 button 태그를 넣어서 구현하면 된다.) 메인 이미지 출처: Photo by Toa Heftiba on Unsplash
2021.07.24 -
2021-07-19 EL문에서 JSONObject를 호출하는 방법을 알아보자. (물론 DTO를 사용해서 객체화시킨 후 전달하는 방법도 하나의 방법이다.) - 예제 //model 값으로 전달해준 JSONObject 객체 //의 get 메소드를 사용하고 key 값을 // " " 감싸서 매개값으로 주면 // 해당 키에 해당 하는 값(value)를 // 추출할 수 있다 ${jsonObj.get("result_code") } 매우 간단한다. 컨트롤러나 서비스 단에서 사용했던 JSONObject의 get 메소드를 동일한 방식으로 EL문에서 사용하면, 마찬가지로 view 단에서도 해당 제이슨 객체의 정보를 불러올 수 있다. 물론 forward로 JSONObject객체를 view에 전달해야지 가능하다. 메인 이미지 출..
[JSP] EL문에서 JSONObject 호출하는 방법알아보기.2021-07-19 EL문에서 JSONObject를 호출하는 방법을 알아보자. (물론 DTO를 사용해서 객체화시킨 후 전달하는 방법도 하나의 방법이다.) - 예제 //model 값으로 전달해준 JSONObject 객체 //의 get 메소드를 사용하고 key 값을 // " " 감싸서 매개값으로 주면 // 해당 키에 해당 하는 값(value)를 // 추출할 수 있다 ${jsonObj.get("result_code") } 매우 간단한다. 컨트롤러나 서비스 단에서 사용했던 JSONObject의 get 메소드를 동일한 방식으로 EL문에서 사용하면, 마찬가지로 view 단에서도 해당 제이슨 객체의 정보를 불러올 수 있다. 물론 forward로 JSONObject객체를 view에 전달해야지 가능하다. 메인 이미지 출..
2021.07.19 -
2021-07-18 자바스크립트에서는 객체를 바인딩하는 몇 가지 메서드가 존재하는데, 그중에서 오늘은 apply를 알아보도록 하자. - 예제1 //사람의 정보 함수 function person(name, age){ this.hisName = name; this.hisAge = age; } const person1 =new person('king', 25); // 학년이 추가된 학생 함수 function student(name, age, grade){ person.apply(this, [name,age]) this.hisGrade = grade; } const student1 = new student('kking', 30, 5); console.log(person1.hisName); //king conso..
[JavaScript] 자바스크립트 apply() 통한 바인딩 알아보기.2021-07-18 자바스크립트에서는 객체를 바인딩하는 몇 가지 메서드가 존재하는데, 그중에서 오늘은 apply를 알아보도록 하자. - 예제1 //사람의 정보 함수 function person(name, age){ this.hisName = name; this.hisAge = age; } const person1 =new person('king', 25); // 학년이 추가된 학생 함수 function student(name, age, grade){ person.apply(this, [name,age]) this.hisGrade = grade; } const student1 = new student('kking', 30, 5); console.log(person1.hisName); //king conso..
2021.07.18 -
2021-07-17 웹 프로젝트를 진행하다 보면 데이터를 주고받는 과정에서 JSON 형태로 주고받는 경우가 많이 있다. 이경우 라이브러리 추가 및 메이븐에서 의존관계를 주입해야 한다. 자주쓰는 JSON 라이브러리 두 가지가 있는데, 상황에 따라 필요한 라이브러리를 사용하면 된다. - pom.xml dependencies에 아래의 라이브러리를 추가해주면 된다. 둘다 넣어도 되고 자신이 사용하고 싶은 라이브러리를 선택해서 해당 의존관계만 주입해주어도 된다. org.json json 20180813 com.googlecode.json-simple json-simple 1.1 - 관련 링크 직접적인 라이브러리 링크도 같이 확인해보면 된다. org json 링크 https://mvnrepository.com/ar..
[Maven] 메이븐 JsonObject 라이브러리 JsonParser/Json-simple2021-07-17 웹 프로젝트를 진행하다 보면 데이터를 주고받는 과정에서 JSON 형태로 주고받는 경우가 많이 있다. 이경우 라이브러리 추가 및 메이븐에서 의존관계를 주입해야 한다. 자주쓰는 JSON 라이브러리 두 가지가 있는데, 상황에 따라 필요한 라이브러리를 사용하면 된다. - pom.xml dependencies에 아래의 라이브러리를 추가해주면 된다. 둘다 넣어도 되고 자신이 사용하고 싶은 라이브러리를 선택해서 해당 의존관계만 주입해주어도 된다. org.json json 20180813 com.googlecode.json-simple json-simple 1.1 - 관련 링크 직접적인 라이브러리 링크도 같이 확인해보면 된다. org json 링크 https://mvnrepository.com/ar..
2021.07.17 -
2021-07-11 자바스크립트 내에서 중복된 값을 가지는 여러 인덱스들이 존재하며, 이를 제거하고 싶어질 수가 있는데, 이럴 경우 일일이 for문과 같은 루프를 돌리는 것보다 간단히 제거하는 방법이 있다. 이 방법을 알아보자. - 예제 아래의 예제는 간단한 문자들을 가지고 있는 배열이며, 불필요하게 중복되는 문자열이 다수 존재하는 것을 확인할 수 있다. const arr = ['W', 'W', 'o', 'o', 'r', 'l', 'd'] console.log(arr) // [ 'W', 'W', 'o', 'o', 'r', 'l', 'd' ] - Set set이라는 자료구조는 중복된 값을 포함할 수 없다. 오로지 유니크한 값들만 가지게 되는데, 이를 활용해보자. const arr = ['W', 'W', '..
[JavaScript] 자바스크립트 배열 중복 제거하는 방법.2021-07-11 자바스크립트 내에서 중복된 값을 가지는 여러 인덱스들이 존재하며, 이를 제거하고 싶어질 수가 있는데, 이럴 경우 일일이 for문과 같은 루프를 돌리는 것보다 간단히 제거하는 방법이 있다. 이 방법을 알아보자. - 예제 아래의 예제는 간단한 문자들을 가지고 있는 배열이며, 불필요하게 중복되는 문자열이 다수 존재하는 것을 확인할 수 있다. const arr = ['W', 'W', 'o', 'o', 'r', 'l', 'd'] console.log(arr) // [ 'W', 'W', 'o', 'o', 'r', 'l', 'd' ] - Set set이라는 자료구조는 중복된 값을 포함할 수 없다. 오로지 유니크한 값들만 가지게 되는데, 이를 활용해보자. const arr = ['W', 'W', '..
2021.07.11 -
2021-07-11 자바스크립트 내에서는 개발자가 직접 바인딩할 대상을 지정할 수 있는 몇 가지 메서드가 있는데, 그중에서 오늘은 bind에 대해서 알아보도록 하자. - 예제 아래는 간단한 사람이라는 객체이며, 객체 필드로 자신의 이름과 나이 이를 출력하는 간단한 함수가 정의 되어 있다. const person = { name : "king" ,age : 25 ,myInfo : function(){ console.log("나의 이름은 " + this.name + "이며, 나이는 " + this.age + "입니다." ) } } - bind와 unbind 된 객체 const person = { name : "king" ,age : 25 ,myInfo : function(){ console.log("나의 이..
[JavaScript] 자바스크립트 bind() 메소드 알아보기.2021-07-11 자바스크립트 내에서는 개발자가 직접 바인딩할 대상을 지정할 수 있는 몇 가지 메서드가 있는데, 그중에서 오늘은 bind에 대해서 알아보도록 하자. - 예제 아래는 간단한 사람이라는 객체이며, 객체 필드로 자신의 이름과 나이 이를 출력하는 간단한 함수가 정의 되어 있다. const person = { name : "king" ,age : 25 ,myInfo : function(){ console.log("나의 이름은 " + this.name + "이며, 나이는 " + this.age + "입니다." ) } } - bind와 unbind 된 객체 const person = { name : "king" ,age : 25 ,myInfo : function(){ console.log("나의 이..
2021.07.10 -
2021-07-08 자바스크립트를 공부하던 도중 흥미로운 기능을 발견했다. 바로 디스트럭처링(Destructuring) 풀어서 구조 분해라고도 하는 자바스크립트 만의 고유 문법이다. 아래의 예제를 보자. - 예제 1 const arr = ['king', 'world'] const name1 = arr[0] const name2 = arr[1] console.log(name1) // king console.log(name2) // world 위와 같은 배열 형식의 값을 변수에 다시 담을 경우 보통은 해당 배열의 인덱스 번호를 기준으로 하여 값을 지정할 것이다. 하지만 디스트럭처링을 사용하면 조금 더 간단하게 이를 해결할 수 있다. 바로 다음 예제를 살펴보자. const arr = ['king', 'worl..
[JavaScript] 자바스크립트 Destructuring 디스트럭처링 알아보기.2021-07-08 자바스크립트를 공부하던 도중 흥미로운 기능을 발견했다. 바로 디스트럭처링(Destructuring) 풀어서 구조 분해라고도 하는 자바스크립트 만의 고유 문법이다. 아래의 예제를 보자. - 예제 1 const arr = ['king', 'world'] const name1 = arr[0] const name2 = arr[1] console.log(name1) // king console.log(name2) // world 위와 같은 배열 형식의 값을 변수에 다시 담을 경우 보통은 해당 배열의 인덱스 번호를 기준으로 하여 값을 지정할 것이다. 하지만 디스트럭처링을 사용하면 조금 더 간단하게 이를 해결할 수 있다. 바로 다음 예제를 살펴보자. const arr = ['king', 'worl..
2021.07.08 -
2021-06-28 일부 기능 구현중 인터셉터 및 아니면 단순 alert를 사용해야 하는 경우가 있다. 단순 텍스트가 짧을 경우에는 상관없지만, 텍스트가 20자 이상 될 경우 상당히 alert 창이 지저분 해보일 수 가 있는데, 이럴 경우 줄 바꿈을 해주면, 사용자 입장에서 조금 더 깔끔하다고 느낄 수 있다. 방법은 아래와 같다. alert("텍스트\\n줄바꿈후텍스트") 역슬래시 두번에 영문자 n을 사용하면 깔끔하게 줄바꿈 처리가 된다. jsp 에서 구현할 때는 단순 스크립트 태그 안에 아래와 같이 구현하면 되며, alert('로그인이 필요한 페이지 입니다. \\n로그인 화면으로 이동합니다!'); 자바 class 내부에서 사용할 때는 아래와 같이 구현하면 된다. PrintWriter out =respon..
[JavaScript] 자바스크립트 alert() 줄바꿈 br / Enter 키 적용법2021-06-28 일부 기능 구현중 인터셉터 및 아니면 단순 alert를 사용해야 하는 경우가 있다. 단순 텍스트가 짧을 경우에는 상관없지만, 텍스트가 20자 이상 될 경우 상당히 alert 창이 지저분 해보일 수 가 있는데, 이럴 경우 줄 바꿈을 해주면, 사용자 입장에서 조금 더 깔끔하다고 느낄 수 있다. 방법은 아래와 같다. alert("텍스트\\n줄바꿈후텍스트") 역슬래시 두번에 영문자 n을 사용하면 깔끔하게 줄바꿈 처리가 된다. jsp 에서 구현할 때는 단순 스크립트 태그 안에 아래와 같이 구현하면 되며, alert('로그인이 필요한 페이지 입니다. \\n로그인 화면으로 이동합니다!'); 자바 class 내부에서 사용할 때는 아래와 같이 구현하면 된다. PrintWriter out =respon..
2021.06.28