yjh5369의 등록된 링크

키자드에 등록된 총 653개의 포스트를 확인하실 수 있습니다.

Tistory

Get Spring Security Principal in JSP EL expression

JSP에서는 java를 사용할 수 있기 때문에 다음과 같이 java 코드를 사용하여 Spring Security Principal을 가져올 수 있습니다. <%=org.springframework.security.core.context.SecurityContextHolder.getContext(..

Tistory

[JPA] Entity to DTO, ModelMapper

API 통신에서 JPA를 사용할 때 entity를 그대로 return 하면 좋지 않습니다. 그 이유는 다음과 같습니다. entity 변화 시, API도 변경 Database를 관리하다 보면 의외로 생각보다 Database가 변경되는 경우가 많습..

Tistory

getRemoteAddr IPv6 to IPv4

우리가 일반적으로 알고 있는 IP는 192.168.0.1, 127.0.0.1과 같은 형태인데, java에서 request.getRemoteAddr()의 IP가 0:0:0:0:0:0:0:1인 경우가 있습니다. 여기서 0:0:0:0:0:0:0:1이라는 건 IPv6의 주소입니다...

Tistory

삼성페이 결제하고 포인트 받기 [삼성페이 X 페이코 연동]

안녕하세요 노루 아부지 입니다. 요즘 삼성 페이 많이 사용하시죠? 저도 삼성 페이를 사용하는데요 주변에 보면 삼성페이 때문에 갤럭시를 벗어날 수 없다는 분들이 정말 많은데요 오늘은 삼성페이를 사용하면서..

Tistory

Oracle 12c Download 방법

얼마 전에 테스트 서버의 DB를 Oracle 12c를 사용하다가 서버를 포맷하게 되어 포맷을 한 김에 19c로 업그레이드했는데 상상하지 못했던 문제가 발생했습니다. Spring JPA + Hicaricp 환경에서 DB 접속 시간이 너..

Tistory

SpringBoot 에서 hibernate.dialect 에러 발생. (로컬서버 실행 안되는 현상)

Spring Boot에서 프로젝트 실행 시 아래와 같은 에러 메시지 발생하며 실행되지 않는 경우가 있습니다. Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hib..

Tistory

[Eclipse] Spring boot 프로젝트에서 war 파일 만들기

SpringBoot에서 war 파일을 만들기 위해서는 @SpringBootApplication에서 SpringBootServletInitializer를 확장해야 합니다. 그 방법은 다음과 같습니다. pom.xml의 packaging을 war로 변경합니다. war pom.xml..

Tistory

java - write to file

java에서는 다음 클래스들을 이용하여 파일을 쓸 수 있습니다. java - write to file BufferedWriter PrintWriter FileOutputStream java.nio.file 1. BufferedWriter import java.io.BufferedWriter; import java..

Tistory

2021 IT 트렌드 - Anywhere Operation(어디서나 운영

1. 개요 코로나 19로 인한 위기는 세상에 상당한 충격을 주었다. 이 충격은 기업의 인프라와 운영에 관해 거의 모든 향후 기술에 영향을 미친다. 미국의 정보 기술 연구 및 자문 회사인 가트너의 리서치 부사장인..

Tistory

[MSSQL] MSSQL 날짜 변환표(GETDATE, CONVERT)

DATE ONLY FORMATS 1 convert(varchar, getdate(), 1) mm/dd/yy 12/30/06 2 convert(varchar, getdate(), 2) yy.mm.dd 06.12.30 3 convert(varchar, getdate(), 3) dd/mm/yy 30/12/06 4 convert(varchar, getdate(..

Tistory

javax.management.InstanceNotFoundException: org.springframework.boot:type=Admin,name=SpringApplication

1. IntelliJ Run > Edit Configurations choose your project remove the 'Enable launch optimization' and 'Enable JMX agent' checkboxes 2. Eclipse Run > Run Configurations choose "Spring Boot" tab re..

Tistory

windows 10 최근에 사용한 파일 안 나오게 설정하는 방법

컴퓨터를 사용하다 보면 탐색기를 자주 호출하게 됩니다. Windows 10이 되면서 아래와 같이 탐색기에 '자주 사용하는 폴더'와 '최근에 사용한 파일' 목록이 표시됩니다. 이 기능이 편리한 점도 있지만 여러 사람..

Tistory

spring에서 autowired 대신 생성자 주입을 사용해야 하는 이유

Spring에서 의존관계 주입을 받을 때는 당연하게 아래와 같이 인스턴스 변수에 @Autowired나 @Inject를 사용해 왔습니다. public class ExampleController { @Autowired private UserService userService; } 그러..

Tistory

Spring Boot java.lang.NoClassDefFoundError: javax/servlet/Filter

Spring boot에서 프로그램을 run 할 때 다음과 같은 메시지가 발생하는 경우가 있습니다. java.lang.NoClassDefFoundError: javax/servlet/Filter 해결방법은 gradle 또는 maven에서 spring-boot-starter-tomcat의..

Tistory

[MySQL] 문자열 길이 가져오기(length, char_length 함수)

일반적으로 query를 하거나, 프로그램 개발을 하다보면 문자열의 길이를 구해야 하는 경우가 생각보다 많습니다. MySQL의 경우 문자열의 길이를 가져올 때 사용하는 함수는 LENGTH함수입니다. 하지만 테스트로 LEN..

Tistory

class 파일의 java(jdk) 버전 확인하는 방법

java로 개발을 하다 보면 미처 신경을 못써서 개발환경의 jdk와 운영환경의 jdk가 다른 경우가 있는데, 기본적으로 java에서 하위 호환은 되지만, 상위 호환은 되지 않습니다. 예를 들어 java8로 컴파일된 class는..

Tistory

DBMS별 함수 비교

DBMS별 함수 비교 NULL TO STRING ORACLE: NVL MSSQL: ISNULL MYSQL: IFNULL substring ORACLE: SUBSTR MSSQL: SUBSTRING MYSQL: SUBSTRING 문자열 합치기(concat) ORACLE: || MSSQL: + MYSQL: CONCAT 공백 제거 O..

Tistory

Eclipse] Run on server가 없을 경우 해결 방법

Eclipse에서 웹 프로젝트를 실행할 때, Run > Run on server를 이용하여 실행해야 하는데, Run에 Run on server가 없는 경우가 있습니다. 해결방법을 아래에 나열합니다. 1. Dynamic Web Module 옵션 체크 확인 검..

Tistory

Adobe Flash Player 지원 종료

안녕하세요 노루 아부지입니다. 오늘은 Adobe Flash Player 지원 종료에 대해 포스팅을 하려고 합니다. 1. Adobe Flash Player 개요 1996년 11월 처음으로 등장한 Flash는 2020년 12월까지 서비스가 제공되었습니..

Tistory

java] file path에서 파일명만 가져오는 방법

프로그래밍을 하다 보면 아래와 같이 파일 경로에서 파일명만 추출해야 하는 경우가 생각보다 많습니다. 예를 들어 C:/Document/Temp/FileName.txt 에서 FileName.txt만 추출해야 할 경우 입니다. 방법 1. File.ge..

Tistory

MariaDB 10.4 대소문자 구분 설정하는 방법

Linux에서 MariaDB 설치한 후 query 시, 대소문자를 구분하는 문제가 있습니다. (Windows에 설치 할 경우 이런 문제가 없습니다.) 그 이유는 lower_case_table_names 옵션 때문인데요 이 옵션의 값은 아래와 같습..

Tistory

Eclipse에서 debug 시 에러

eclipse에서 프로그램을 실행하는데는 문제가 없는데 debug모드를 걸려고 하면 아래와 같은 메시지가 뜨며 실행되지 않는 경우가 있습니다. FATAL ERROR in native method: processing of -javaagent failed, appe..

Tistory

탄소포인트제의 모든것 : 에너지 절약하고 돈도 벌자

혹시 탄소포인트제라는 것을 아시나요? 탄소포인트제는 정부가 온실가스 감축 및 저탄소 녹색성장에 대한 시민의식과 참여 확대를 위해 도입한 제도입니다. 벌써 10년이 넘은 제도라는데 전 이번에 처음 알았네요..

Tistory

스마트폰으로 현관문(도어락) 여는 방법

안녕하세요 노루아부지 입니다. 혹시 이 글을 보시는 여러분들은 집 번호키 눌러서 문을 여시나요? 요즘엔 세상이 좋아져서 스마트폰으로도 문을 열 수 있는데요 (아이폰은 아직 안되지만요) 혹시 만화나 영화에서..

Tistory

치아부식의 원인 탄산음료

여러분들 콜라, 사이다 좋아하시죠? 특히, 무더운 여름철에는 더욱 '탄산음료'를 찾게 됩니다. 실제로, 탄산음료의 소비량은 여름에 집중됩니다. 그런데, 혹시 탄산음료가 치아에 안 좋다는 이야기를 알고 계신가..

Tistory

재택 부업! 퇴근 후 집에서 가능한 직장인 투잡 알바 추천

혹시 디지털 노마드라는 말을 들어보셨나요? 디지털 노마드란 디지털(digital)과 유목민(nomad)을 합성한 신조어로서, 인터넷 접속을 전제로 한 디지털 기기(노트북, 스마트폰 등)를 이용하여 공간의 제약을 받지..

Tistory

보안취약점 HSTS - HTTPS 강제하기

HTTPS로 웹 서비스를 올렸는데, 사용자가 HTTP로 접근하는 경우가 있습니다. 이 경우 보통 설정에서 HTTPS로 리다이렉트 시켜주는 경우가 많습니다. 하지만 이 리다이렉션 자체가 보안에 취약점이 될 수 있습니다...

Tistory

티스토리 구글 검색 등록 방법

안녕하세요! 오늘은 티스토리 블로그 운영의 첫걸음! 구글 검색 등록에 대해 알아보려고 합니다. 네이버 블로그의 경우 국대 최다 사용자를 보유한 네이버에서 검색이 되기 때문에 별도의 작업 없이도 사용자가 유..

Tistory

광역알뜰교통카드의 모든것(카드 발급, 혜택, 사용가능 지역)

안녕하세요 노루 아부지입니다. 오늘은 "광역알뜰교통카드"에 대해 알아왔는데요 이게 엄청난 녀석입니다! 알뜰교통카드 휴대폰 어플로 1차 할인받고, 체크/신용 카드로 2차 할인을 받을 수 있는 제도인데요 일반..

Tistory

자동차 탄소포인트제의 모든것 : 에너지 절약하고 돈도 벌자

안녕하세요 노루아부지입니다. 혹시 탄소포인트제에 대해서 아시나요? 탄소포인트제란 탄소배출을 줄이기 위해 에너지를 절약하면 이에 따른 인센티브를 지급하는 제도입니다. 이 탄소포인트제의 자동차 버전이 자..

Tistory

앱테크 추천, 누구나 쉽게 돈 버는 방법

1. 앱테크란? 여러분들 앱테크를 아시나요? 앱테크는 애플리케이션의 줄임말인 '앱'과 재테크의 합성어입니다. 즉, 휴대폰 앱을 통해 수익을 얻는 활동을 말하는 것입니다. 앱테크에는 여러가지 유형이 있는데요..

Tistory

Spring boot JPA에서 DB 예약어를 column으로 사용하는 방법

안녕하세요 노루아부지 입니다. 이번에 새로운 java 프로그램을 JPA로 개발하던 중, 예약어로 인해 에러가 발생했습니다. 저희 회사에서는 mssql, mariadb, oracle 이렇게 3개의 Database를 사용하는데요. 문제는..

Tistory

Spring boot에서 JUnit 사용 시 Autowired가 동작하지 않는 현상

Spring boot 환경에서 Controller의 Test를 만드는 중, @Autowired된 클래스가 null이 되는 현상이 발생했습니다. 해결방법은 다음과 같습니다. 1. 개발 환경 1) OS : Windows 10 2) 개발 툴 : IntelliJ 3) 빌드..

Tistory

password cracking이란?

회사에서 GS 인증을 받던 중, 비밀번호에 SALT를 적용해야 GS 인증을 받을 수 있다고 연락을 받아서 관련 내용을 정리해 보았습니다. 암호 SALT는 패스워드 크래킹을 방지하기 위한 가장 널리 알려진 방법입니다...

Tistory

생강의 9가지 효능과 부작용

생강은 우리나라의 식생활에서 없어서는 안될, 가장 많이 사용하는 식재료 중 하나입니다. 또한 생강은 예로부터 약으로도 많이 쓰였습니다. 생강이란? 생강(生薑)은 생강과에 속하는 여러해살이풀이다. 새앙, ..

Tistory

Microsoft Office 2019 설치 방법 및 인증 방법 (무료 다운로드)

Office 프로그램 설치를 할 때 보통 torrent 등에서 설치 파일을 받아서 사용하는데, 순정을 설치하지 않을 경우 컴퓨터에 악성코드나 바이러스가 감염될 수 있습니다. 그래서 오늘은 순정 MS Office를 설치하는..

Tistory

MS office] 패키지의 언어가 지원되지 않습니다. 해결 방법

MS office 삭제 할 때 아래아 같이 "사용자 시스템에서 설치 패키지이 언어가 지원되지 않습니다." 라는 메시지가 표시되면서 삭제가 되지 않는 경우가 있습니다. 이 경우 아래 MS(Microsoft) 홈페이지에서 제공..

Tistory

Windows 10 설치 USB 만드는 방법

예전에는 windows 설치 CD나 USB를 만들려면 ISO 파일을 구해서 CD 굽는 프로그램, USB 설치 프로그램을 받아서 만들어줘야 했습니다. 하지만 Windows 10은 공식적으로 설치 USB 만드는 프로그램을 제공합니다. 먼..

Tistory

MS office 2019] 3000원에 정품 설치하는 방법

안녕하세요 노루아부지입니다. 집이나 회사에서 대부분 Microsoft office를 사용하고 있으실겁니다. 아마 대부분의 사람들이 정품이 너무 비싸기 때문에(2021-03-07 기준 Office 2019 Home 가격: 약 120,000 원)..

Tistory

아르헨티나 경제 몰락 이유

드넓은 땅과 풍부한 자원을 가지고 있고, 남미의 꽃이라 불리는 아르헨티나. 한때 세계 5위의 경제 대국이었던 아르헨티나. 유명한 만화영화인 엄마 찾아 삼만리에서 주인공 마르코의 엄마가 돈을 벌려고 떠났던..

Tistory

동영상 녹화 할 때 마우스 커서 주위에 반투명 원 만드는 방법

인터넷 강의 동영상을 보다 보면 마우스 커서 주위에 반투명한 원이 있는 경우를 자주 볼 수 있는데요 오늘은 그 커서를 어떻게 만드는지 알아보도록 하겠습니다. 윈도우 마우스 포인터 변경 기능으로 바꿀 수도..

Tistory

블리자드 게임(와우 등) 삭제 방법

어떠한 문제로 와우를 삭제후 재설치 해야 하거나, 정말 와우를 삭제 하고 싶을 경우 일반적으로 아래와 같이 제어판의 프로그램 및 기능에서 와우를 삭제하려고 시도합니다. 하지만 이럴 경우 아래와 같이 이 게..

Tistory

[Spring boot] Eclipse - No Tests found with test runner 'JUnit 5'

이클립스에서 Junit 테스트를 할 때 No Tests found with test runner 'JUnit 5' 메시지가 뜰 경우 해결 방법은 다음과 같습니다. 이클립스 상단 메뉴 [Run] 클릭 후 [Run Configurations] 항목을 선택 Junit > [..

Tistory

DBCP valicationQuery 설정

DB에 접속 중인 세션을 오랫동안 사용하지 않거나 네트워크에 문제가 발생하는 경우 DB 세션이 끊어질 수 있습니다. DB 세션이 끊어지는 경우 재접속 처리를 해야 다시 정상적인 서비스가 가능해집니다. 재접속 처..

Tistory

VMware Workstation Pro Setup

1. VMware Workstation Pro download. 1.1 아래 링크를 클릭하여 VMware를 다운로드합니다. [다운로드 링크] 1.2 스크롤을 내리다 보면 아래와 같은 버튼이 보이는데, 설치하고자 하는 OS에 따라 맞는 버튼을 눌러..

Tistory

VMware port forwarding

VMware에서 OS를 설치할 때, 기본 설정은 NAT 입니다. 이 경우 아무 설정도 하지 않을 경우 VMware를 설치한 PC에서는 VMware로 접속이 가능하지만, 외부에서는 접근이 불가능합니다. 이 때 port forwarding을 설..

Tistory

CentOS 7 에서 Port 열기 및 확인

CentOS 7 부터는 iptables 가 아니라 firewall 명령어로 Port를 열어야 한다고 합니다. 명령어는 아래와 같습니다. firewall-cmd --zone=public --permanent --add-port=2888/tcp firewall-cmd --reload 열린 포트..

Tistory

CentOS 7 network 설정

CentOS 7에서 ip addr 명령어를 입력하면 아래와 같이 Network 정보가 표시되는데 인터넷이 안될 경우 아래와 같이 IP 정보가 표시되지 않습니다. * [참고사항] 기존에는 ifconfig를 통해 Network 정보를 확인 했..

Tistory

Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved

0. Check the maven repositiory server is up 1. Check Proxy is set up and working First I thought it was a proxy problem, I made sure that maven settings.xml contained the proxy settings (settings.xm..

Tistory

Eclipse Tip. Code Minings, IntelliJ tip. code vision

코딩을 하다 보면 특정 클래스, 메서드가 어디에서 사용 중인지 필요할 때가 있습니다. 기존에는 클래스나 메소드가 어디에서 사용 중인지 찾기 위해서는 단어로 찾는 등 너무 힘이 들었습니다. 하지만 최근에 좋..

Tistory

CentOS 7에 MariaDB 설치

CentOS 7에서 MariaDB를 yum으로 설치하면 예전 버전이 설치됩니다. 그 이후 버전을 설치하기 위해서는 repo를 등록한 후 설치해야 합니다. 1. MariaDB yum repo 등록 # vi /etc/yum.repos.d/MariaDB.repo [mariad..

Tistory

utf8 vs utf8mb4

MySQL, MariaDB, PostgreSQL, MSSQL, Oracle 등의 Database를 사용하면서 보통 utf8로 설정합니다. 하지만 MariaDB, MySQL의 경우 최근 utf8mb4로 설정하는 경우가 많다고 합니다. 그 이유는 emoji 때문입니다. My..

Tistory

CentOS 7] MariaDB(mysql) 외부 접속 가능하게 하는 방법

mysql과 mariadb는 기본 명령어가 같기 때문에 같은 명령어로 외부 접속이 가능하도록 할 수 있습니다. // mariadb 접속 # mysql -u root -p // database를 mysql로 변경 $ use mysql; $ select host, user from u..

Tistory

윈도우 10 최적화 - 속도 향상 방법

전원 설정에서 "고성능"으로 변경 1. 윈도우키 + E키를 눌러 파일 탐색기를 실행 2. 아래 그림과 같이 탐색기 경로에 "제어판\하드웨어 및 소리\전원 옵션" 입력 3. 아래 이미지와 같이 전원 옵션을 "고성능"으로..

Tistory

Spring boot Profile 설정

maven 프로젝트에서는 태그를 이용하여 profile을 설정했습니다. 하지만 Spring Boot를 이용한다면 Spring Boot를 이용하면 application.properties 파일을 이용하여 손쉽게 profile을 설정할 수 있습니다. 1. app..

Tistory

Spring 버전 확인하는 방법

Spring Boot를 사용하면 Spring 버전이 바로 눈에 보이지 않습니다. 이 경우 Spring Boot에서 사용하는 Spring의 버전을 알고 싶을 경우 아래와 같이 getVersion() 메서드를 사용하면 됩니다. String version = or..

Tistory

Java - ArrayBlockingQueue 사용 방법

ArrayBlockingQueue는 Array로 구현된 BlockingQueue입니다. 특징은 아래와 같습니다. BlockingQueue 인터페이스를 구현 Queue를 생성할 때 크기를 설정(Queue의 크기가 정해져 있음) FIFO(First In First Out)로..

Tistory

CentOS 7에 Tomcat 9 설치

Install OpenJDK Tomcat 9는 Java SE 8 이상의 버전을 설치해야 합니다. 1. 설치 가능 JDK 목록 확인 # yum list java*jdk-devel 2. OpenJDK 설치 # yum install –y java-11-openjdk-devel.x86_64 Tomcat sys..

Tistory

테스트를 하는데 유용한 Eclipse Plugin : MoreUnit

Java 애플리케이션을 개발하면서 제일 중요한 것 중 하나는 Test라고 할 수 있습니다. 그런데 Eclipse에서 Test class를 만들려면 너무 번거롭습니다. 그 이유는 일반적으로 Test class를 만들 때, src/test/java..

Tistory

Spring Boot에서 MySQL JDBC Timezone 설정

때때로 MySQL에 날짜를 저장할 때 Database의 날짜가 시스템이나 JVM과 다르다는 것을 알게 됩니다. 이런 경우에는 Timezone을 설정하면 됩니다. 방법 1. URL parameter로 Timezone 설정 MySQL은 기본적으로 useLe..

Tistory

java test plugin - Infinitest

Infinitest는 지속적인 테스트를 해주는 Eclipse와 IntelliJ 플러그인입니다. Infinitest는 소스 코드 변경을 감지해서 영향도가 있는 테스트를 수행합니다. github: http://infinitest.github.io user guide: h..

Tistory

mssql] Adding an identity to an existing column

stackoverflow.com/questions/1049210/adding-an-identity-to-an-existing-column

Tistory

Get first and last day of month, LocalDate

특정 month의 1일과 마지막 날짜를 구하고 싶다면 아래와 같이 하면 됩니다. 방법 1. LocalDate monthstart = LocalDate.of(year,month,1); LocalDate monthend = monthstart.plusDays(monthstart.lengthOfMonth()..

Tistory

Spring Boot - jar 안의 파일 읽을 때 FileNotFoundException

일반적으로 Spring Boot는 resources에 파일을 위치시킵니다. resources 하위에 text 파일을 Spring에서 제공하는 ResourceLoader를 이용하여 Read 하는 코드가 있습니다. import org.springframework.beans.facto..

Tistory

[Tomcat Error] Invalid byte tag in constant pool

Tomcat에 배포할 때 아래와 같이 오류가 발생하는 경우가 있습니다. org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool 이런 요류가 발생하는 이유는 프로젝트를..

Tistory

JSP의 JSTL에서 LocalDateTime 사용하는 방법

위와 같이 Date type으로 변경한 후 변경된 값을 format에 맞도록 바꾸는 형태로 사용

Tistory

How to remove Node.js from Windows

Take a deep breath. Run npm cache clean --force Uninstall from Programs & Features with the uninstaller. Reboot (or you probably can get away with killing all node-related processes from Task Manag..

Tistory

spring boot에서 외부라이브러리(jar) 추가 방법

spring boot + gradle 환경에서 외부 라이브러리(jar)를 추가하는 방법입니다. gradle에서 lib를 추가하기 위해서는 build.gradle 파일에 다음과 같이 명시해야 합니다. 1. 한 개의 파일을 넣는 방법 dependencies..

Tistory

spring boot에서 jsp 사용하기

spring boot에서는 기본적으로 jsp를 권장하지 않습니다. 하지만 jsp를 사용해야 하는 경우에는 아래와 같이 하면 됩니다. 1. 의존성 추가 1.1 gradle compile('org.apache.tomcat.embed:tomcat-embed-jasper') co..

Tistory

Spring boot 오류 처리

오류처리는 애플리케이션 개발에 있어서 매우 큰 부분을 차지합니다. 오류 예측과 예방, 그리고 오류를 빨리 발견하고 고칠 수 있는 것은 개발자의 필수 조건입니다. ErrorController Spring boot에서 별 다른 설..

Tistory

Spring Boot에서 undertow 사용하는 방법

undertow란? 초경량 & 고성능 웹 서버 NIO 기반의 Bloking / NON-Bloking API 모두 제공 Java로 구현되어 임베디드 모드의 모든 JVM 기반 응용 프로그램에서 사용 가능 Apache License, version 2.0을 따르는 오픈..

Tistory

Java - Convert LocalDate to LocalDateTime

LocalDate에서 LocaldateTime으로 변환하는 방법은 크게 두 가지가 있습니다. atStartOfDay() : 이 메서드는 자정(00:00) 시간을 추가하여 리턴합니다. atTime() : 지정된 시/분/초 를 추가하여 리턴합니다. Local..

Tistory

Spring JPA selecting specific columns

JPA에서 기본으로 제공하는 findById(), findAll() 등을 사용하면 기본적으로 모든 컬럼을 select합니다. 만약, 특정 컬럼을 구하려고 할 경우 아래와 같이 하면 됩니다. 먼저, 아래와 같은 User Entity가 존재한..

Tistory

spring boot] URL에서 jsessionid 제거

jsessionid는 새 세션이 만들어지면 클라이언트가 쿠키를 지원하는지 여부를 서버가 알 수 없으므로, 쿠키와 URL에 모두 jsessionid를 만들어 주는 것을 의미하며 url에 붙이거나 헤더에 붙여서 나오게 됩니다. 클..

Tistory

spring에서 CORS 설정하기

교차 출처 리소스 공유(CORS, Cross-origin resource sharing)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에..

Tistory

HTML, JSP에서 브라우저 캐시 사용하지 않는 방법

웹 개발을 하다 보면 가장 많이 발생하는 이슈 중 하나는 분명 수정해서 보내줬는데 받은 쪽에서 에러가 났다던지, 변경이 안되었다던지 하는 경우가 있습니다. 이런 경우는 웹 개발자의 최대의 적 중 하나인 브라..

Tistory

Spring boot] HTTP Request Interceptor 추가

@Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Autowired HandlerInterceptor yourInjectedInterceptor; @Override public void addInterceptors(InterceptorRegistry registry)..

Tistory

Spring boot] json 형식으로 return 시, date format

Spring boot에서 아래와 같은 class를 return하는 API가 있다고 가정합니다. public class User { private String userId; private Date createDate; } createDate가 String이라면 상관없지만, 위와 같이 Date형태..

Tistory

intellij 실행 시 finished with non-zero exit value 1 오류

intellij, Gradle 환경에서 프로젝트를 첫 실행 할 때 아래와 같은 오류가 발생하는 경우가 있습니다. Execution failed for task ':DemoSpringApplication.main()'. > Process 'command 'JDK경로/bin/java.exe''..

Tistory

IntelliJ에서 H2 연결하고 H2 Console 사용하기

웹 개발을 하다 보면 데이터베이스를 사용하게 되는 경우가 정말 많습니다. 하지만, 로컬에서 개발하기 위해 로컬환경에 데이터베이스를 설치하고 스키마, 테이블을 생성하고 관리하기 여간 귀찮은 것이 아닙니다...

Tistory

No identifier specified for entity

nested exception is org.hibernate.AnnotationException: No identifier specified for entity: com.snowdeer.database.board.Member 만약 위와 같은 오류가 발생한다면 Entity 클래스의 @Id 어노테이션이 없거나..

Tistory

StringBuffer와 StringBuilder

StringBuffer/StringBuilder 사용 이것은 java code의 입니다. + 연산자는 사용하면 안됩니다. 그 이유는 String은 불변(immutable) 객체이기 때문입니다. 예를 들어, 아래와 같은 코드가 있다면 어떻게 될까요? S..

Tistory

eclipse] maven build 시 test를 빼는 방법

프로젝트 root에서 마우스 오른쪽 클릭 Run As > Run Configurations... 클릭 왼족에 Maven Build에서 마우스 오른쪽 버튼을 클릭하고 "새로 만들기" 기본 프로젝트를 선택하고 이름 지정 목표 텍스트 필드에 빌드..

Tistory

intellij] 모든 setter를 한번에 생성 ( generate all set method )

만약 아래와 같은 class가 있다고 가정합니다. public class Member { private Long id; private String name; // 이름 private Integer age; // 나이 private String address; // 주소 private String telNo; //..

Tistory

log4j로 printStackTrace 출력

아래 코드에서는 Null Pointer Exception이 발생합니다. 이 예외를 try catch문으로 printStackTrace를 하면 에러 메시지가 표시됩니다. public class Test { public static void main(String [] args) { String a..

Tistory

Spring boot에서 JSON API에 XSS Filter 적용하기

웹 애플리케이션에서 기본적으로 꼭 해야 할 보안 중 하나로 XSS 방지가 있습니다. XSS(크로스 사이트 스크립트)란? 검증되지 않은 입력 값으로 인해 사용자의 웹 브라우저에서 의도하지 않은 악성 스크립트가 실..

Tistory

[IntelliJ] lombok plugin 설치

Eclipse의 경우 Lombok을 사용하려면 나름(?) 복잡한 절차를 거쳐야 하지만, IntelliJ에서 lombok을 사용하려면 간단하게 plugin을 설치하면 됩니다. 1. IntelliJ를 실행 한 후, Settings에 들어갑니다. (단축키:..

Tistory

Spring boot application 시작 시, CPU 100% 를 사용할 경우 대처 방법

애플리케이션에서 불필요한 모듈 및 Bean 정의를 제거하십시오. 개발자가 저지르는 일반적인 실수 중 하나는 애플리케이션에 웹 환경이 필요하지 않은 경우에 spring-boot-starter-web를 포함하는 것입니다. 다른..

Tistory

jpa] @CreatedDate annotation이 동작하지 않는 경우

jpa에서 @CreateDate는 DB에 insert를 할 때 자동으로 현재 시간을 넣어주는 annotation입니다. 보통 이것을 사용할 때 아래와 같이 사용하는데요 @Getter @Setter @Entity @EntityListeners(AuditingEntityListen..

Tistory

spring boot를 사용해야 하는 이유

Spring은 정말 편하고 좋은 프레임워크이지만 초기 설정이 정말 어려웠습니다. 실제로 스프링을 사용하면서도 왜 이렇게 쓰는지 모르고 쓰는 경우가 많았고, 심지어 자신이 세팅한 세팅한 빈 프로젝트에 설정을 다..

Tistory

차가버섯 효능

차가버섯은 자작나무에서 기생하면서 자작나무 진을 빨아먹고 사는 기생 버섯입니다. 여기까지만 보면 일반 버섯 같지만, 차가버섯은 일반 버섯과 다르게 돌덩이처럼 딱딱해서 망치로 깨 부숴야 합니다. 차가버섯..

Tistory

java에서 메모리 문제가 발생할 경우 사용해볼 수 있는 메모리 옵션

-Xms Java Heap의 최초 크기를 지정합니다. Java Heap은 -Xms 옵션으로 지정한 크기로 시작하며, 최대 -Xmx 옵션으로 지정한 크기만큼 커집니다. Java8에서 이 옵션은 Deprecated 되었습니다. -Xmx Java Heap의 최..

Tistory

spring boot에서 mybatis ${} 사용시 sql injection 방어하기

mybatiss를 사용할 경우 ${param}, #{param}과 같이 # 또는 $으로 parameter를 받을 수 있는데, 보통 아래와 같이 #을 사용해서 받는 것을 권장합니다. 그 이유는, #{}이 SQL Injection 공격에 안전하기 때문인데..

Tistory

Intellij output 한글 깨짐

개발할 때 Console 창을 많이 보는데, Intellij에서는 이에 해당하는 부분이 output 창입니다. 그런데, 여기에 한글이 출력될 때 아래와 같이 깨지는 현상이 발생하는 경우가 있습니다. 이 경우 아래와 같이 진..

Tistory

spring boot jar 외부에서 properties 파일을 읽는 방법

spring boot는 application.properties 파일을 통해 설정을 할 수 있습니다. properties의 값은 @Value annocation을 통해 읽어올 수 있습니다. # application.properties noroo.test=test import org.springframe..

Tistory

[netty] too many open files

socket 생성시 특히 linux에서 아래와 같은 메시지가 발생하는 경우가 있습니다. Caused by: java.io.IOException: 열린 파일이 너무 많음 또는 Caused by: java.io.IOException: too manny open files 보통 이 에..

Tistory

NPE(Null Pointer Exception)으로부터 안전한 프로그래밍 하기

NullPointerException은 개발 과정에서 가장 많이 접하면서 간과하기 쉬운 예외 중 하나입니다. reference type을 다룰 때는 항상 null에 대비하여 프로그래밍을 해야 합니다. 이 과정에서 불필요한 null check co..

Tistory

우슬의 효능

우슬은 비름과에 속하는 여러해살이 초본식물인 쇠무릎의 뿌리입니다. 쇠무릎이라는 이름은 식물 줄기에 있는 마디의 형상이 소의 무릎과 유사하다고 해서 붙여진 이름이라고 합니다. 우슬의 주요 유효성분으로는..

Tistory

벽제역(벽제터널) 과태료 주의. 가지 마세요

철길과 좁은 터널 너머로 보이는 북한산이 어우러지는 풍경. 바로 인생 사진의 명소로 알려진 고양시 '벽제 터널'입니다. 하지만 최근 인생 사진을 위해 벽제역(벽제 터널)을 찾았다가 과태료를 내는 사례가 부쩍..

Tistory

springboot에 flyway 사용

개발환경 OS: windows 10 java version: openjdk-1.8 Gradle version: 7.0 Springboot Version: 2.3.5 flyway version: 6.4.2 Database: MariaDB 1.5.6 Flyway란? Flyway는 Open Source Migration Tool 입니다. Ja..

1 2 3 4 5 6 7