목록WEB (53)
hello world
select CASE WHEN CHAR_LENGTH(name) > 2 THEN concat( substring(name, 1, 1) ,LPAD('*', CHAR_LENGTH(name) - 2, '*') ,SUBSTRING(name, CHAR_LENGTH(name), CHAR_LENGTH(name)) ) ELSE CONCAT( SUBSTRING(name, 1, 1) ,LPAD('*', CHAR_LENGTH(name) - 1, '*') ) END as name_masking
VO객체의 변수, 값 반복문으로 가져오는 방법 VO 객체 전체값들을 가져와야하는데 매번 다른 변수를 각각 getter setter로 가져올수는 없어서 찾아봄 VO 객체에 선언된 변수를 getter,setter 말고 기본적으로 제공하는 java.lang.reflect.Field 클래스를 사용하여 반복문으로 돌려서 가져오는 방법이 있어서 기록 public class reflectField{ public static void main(String[] args){ //가져오고자하는 Vo 객체를 선언합니다. TestVo testVo = new TestVo(); try { Object obj = testVo; // 반복문을 이용하여 해당 클래스에 정의된 필드를 가져옵니다. for (Field field : obj...
CORS? (Cross Origin Resource Sharing) cors는 한 도메인 또는 Origin의 웹페이지가 다른 도메인을 가진 (도메인간의 요청)에 액세스 할 수 있게하는 보안 메커니즘 cors는 최신브라우저에서 구현된 동일 출처 정책 때문에 등장했다. ※동일 출처 정책이란 동일한 출처의 리소스에만 접근하도록 제한하는 것이다. 출처는 (프로토콜, 호스트명, 포트가 같다는것을 의미) 간단하게 다른 출처의 자원을 공유할 수 있도록 설정하는 권한체제 제대로 설정하지 않을경우 다음과 같은 에러 화면을 볼수있음 그렇다면 왜 동일한 출처에서만 접근하도록 허용하는 것일까?! https://bank.com 이라는 도메인 사이트가 있다고 예를 들어보자 이 사이트의 api 주소는 https://bank.com..
트랜잭션에 대해 결제와 같은 상황을 예를 들어 말하자면 "결제는 다른사람과 독립적으로 이루어지며, 과정 중에는 다른 연산이 끼어들수없다. 오류가 생긴 경우 연산을 취소하고 원래대로 돌린다. 성공할경우 결과를 반영한다." ACID(원자성,일관성,고립성,지속성) @Transactional 어노테이션 이란?! 아래와 같이 클래스나 메서드에 붙여서 사용한다. 해당 범위 내 메서드가 트랜잭션이 되도록 보장해준다. @Transactional public resDto getData(String Id) { .... 로직 생략 } - 다른 연산과 혼선으로 잘못된 값을 가져오는 경우 방지 (내가 transactional 어노테이션을 사용하게 된 이유.. 배치로 주기적으로 실행되는 값과 혼선으로 에러가 발생했었다.) - 연..
1. JsessionID 란? 톰캣 컨테이너에서 세션을 유지하기 위해 발급하는 키 즉 세션에서 사용되는 쿠키 이름이다. HTTP 프로토콜은 상태정보를 유지하지 않는다. 즉 사용자는 매번 서버에 요청을 할때마다 응답을 받는 순간 연결을 끊어버리고 서버의 입장에서는 요청하는 사용자가 누구인지 알지못한다. 따라서 톰캣은 JsessionID 쿠키를 클라이언트에 발급하고 이값을 통해 세션을 유지할수있게한다. 2.동작방식 1. 브라우저에 최초로 접근할때 톰캣이 Response 헤더에 JsessionID 값을 발급한다. Set-Cookie: JSESSIONID=5D1A61E0BE1A9A7DE71239D6DF0331EAE 2. 브라우저 재요청시 Response를 통해 받은 JsessionID을 Request 헤더의 쿠..
빈이 등록되는 순서를@DependsOn을 통해 지정할수있다. 예를들어 빈이 등록되는 순서를 TestBeanClass1 >TestBeanClass2 > TestBeanClass3이라고하면 @Component("TestBeanClass1") public class TestBeanClass1{ } @Component("TestBeanClass2") @DependsOn(value={"TestBeanClass1") public class TestBeanClass2{ } @Component("TestBeanClass3") @DependsOn(value={"TestBeanClass2") public class TestBeanClass3{ } 이런식으로 @DependsOn 어노테이션으로 우선순위를 부여할수 있다. Te..
깃에 프로젝트 업로드하다가 target이랑 .classpath랑 .project 다업로드해버림...; 이때 .gitignore 파일로 이미 올라간 파일도 제거할수있다. 원래 첨에 깃올리기전에 만들었어야했는데 ... 뒤늦게 올려도 적용이된다 gitignore' 란? .gitignore은 git 관리 대상에서 제외하기 위해(commit에 포함하지 않도록) 규칙들을 저장한 파일이다. gitignore 파일 생성하기 https://www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com 여기 사이트에서 나는 eclipse니까 eclipse써서 파일 다운해서 프로젝트 최상..
https://yongtech.tistory.com/98 [이클립스] 프로젝트 자바버전 바꾸기! #자바버전변경 #이클립스자바변경 #java버전 #자바다운로 안녕하세요. 용테크의 용사장 입니다. 개발을 하다보면 없어야 좋겠지만, 어쩔 수 없이 자바 버전을 변경해야 하는 경우들이 생깁니다! 간혹 모르시는 분들이 있는거 같아서 이번에는 이클립스 yongtech.tistory.com https://mungyony.tistory.com/10 (Spring) maven upadte 후 자바 버전이 자꾸 바뀌는 문제 자바 1.8 기준으로 설명을 하겠다. 분명 프로젝트의 java build path에도 1.8로 설정 해주고, 메이븐 pom.xml에도 자바 버전을 1.8로 설정해주었다. 그리고 maven update(a..