본문 바로가기
반응형

전체 글904

[Eclipse]자동완성기능(content assist) 사용이 안될 때 이클립스 상단 메뉴바 중 Window -> Preferences -> Java-Editor-Content Assist 설정에 들어간다. Auto Activation 이라는 항목에서 'Enable auto activation' 체크 방법 2. 이클립스 상단 메뉴바 중 Window -> Preferences -> Java-Editor-Content Assist-Advanced 설정에 들어간다. 방법 3. 이클립스 상단 메뉴바 중 Window -> Preferences -> General-Keys 설정에 들어간다. 이래도 안된다면 재설치 혹은 다른 버전 설치를 권장한다. 2023. 5. 17.
CSRF란?(23.05.16) CSRF란? 사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. 유명 경매 사이트인 옥션에서 발생한 개인정보 유출 사건에서 사용된 공격 방식 중 하나다. 사이트 간 스크립팅(XSS)을 이용한 공격이 사용자가 특정 웹사이트를 신용하는 점을 노린 것이라면, 사이트간 요청 위조는 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태를 노린 것이다. 일단 사용자가 웹사이트에 로그인한 상태에서 사이트간 요청 위조 공격 코드가 삽입된 페이지를 열면, 공격 대상이 되는 웹사이트.. 2023. 5. 15.
aop pointcut 정리(추가 정리) 이전 포스팅에 이어 좀더 심화 정리를 추가하려고 한다. 1. 여러개의 execution 정의 -> 표현식을 사용한다. and 는 && , or 는 || 등을 사용하여 @Before("execution(* com..*.*(..)) && @annotation(org.apache.ibatis.annotations.Mapper)") 이와 같이 정의해준다. 2. 호출된 메서드에 대한 정보 -> System.out.println("location Name :" + jp.getTarget().getClass().getName()); System.out.println("method Name :" + jp.getSignature().getName()); System.out.println("uri Name :" + req.. 2023. 5. 15.
aop pointcut 정리 저번 포스팅에서 aop 설정법에 대해서 다룬적이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 사용법은 다음과 같다. 먼저 @Aspect를 선언할 클래스를 만들어준다. @Aspect @Component public class AopTracker { .... 코드 구현 } @Component 역시 spring bean 주입을 위해 작성을 해줘야한다. 그리고 이어서 aspect 내에서 실행 할 메서드를 만들고 그 메서드에 아래와 같은 annotation을 달아준다. annotation 사용(호출) @Pointcut 어떤 메서드 일때 @Before 메서드 실행 전 @After 메서드 실행 후 @AfterReturning 메서드 정상 실행후 @AfterThrowing 메서드 실패 실행후 @Around .. 2023. 5. 14.
springboot AOP 설정하기 자바에서 aop 에 대해서 이전 포스팅에서 다룬 글이 있다. 자세한 사항은 아래 참고 포스팅 참고 바란다. 이번 포스팅에서는 springboot 에 aop 설정하는법에 대해서 다뤄 볼것이다. 개발 환경 springboot 3.0.5 maven 1. 우선 해당 라이브러리를 받아오기 위해 pom.xml 에 아래 dependency 를 추가한다. org.springframework.boot spring-boot-starter-aop 2. 다음은 maven 프로젝트 내에 main 메서드에 aop 사용을 위한 annotation 을 설정 해야한다. @EnableAspectJAutoProxy @SpringBootApplication public class AopProjectApplication { public st.. 2023. 5. 13.
[Map]getOrDefault 사용법 및 예제 자바에서 Map 에 대해서 설명은 많이 다룬적이 있다. 자세한 사항은 아래 참고 포스팅 참고 바란다. 짧게 설명하면 Map은 중복이 허용 안되고 Key Value로 이루어져있다. 그 특성을 활용해서 특정 리스트에 존재하는 Key 값들의 갯수를 구할때 getOrDefault를 사용한다. 예제는 아래와 같다. public static void main(String arg[]) { String [] alphabet = { "A", "B", "C" ,"A"}; HashMap hm = new HashMap(); for(String key : alphabet){ hm.put(key, hm.getOrDefault(key, 0) + 1); } System.out.println("결과 : " + hm); // 결과 : .. 2023. 5. 12.
[workbench] workbench에서 readonly 해제하기 mysql을 다루는데 많이 쓰이는 workbench의 장점중 하나가 grid 에서 바로 값을 수정할수 있다. 하지만 값이 read only 로 테이블이 잡혀있어서 수정이 되지 않을때가 있다. 그럴땐 PK를 지정해주면 해결이 된다. 2023. 5. 11.
윈도우 bat 파일에서 무한루프 돌리기 bat이란 배치 파일의 약자로 batch에 대한 개념은 아래 참고 포스팅 참고 바란다. 윈도우 배치 파일에서 스크립트 작성할때는 대표적인 반복문 While 문이 없기에, 무한루프를 사용하기 위해선 아래와 같이 작성을 해야한다. @echo off :loop set /a count+=1 echo %count%번 goto loop 그리고 특정 횟수 반복을 위해선 위 반복문에 코드를 적절하게 추가한다. @echo off :loop set /a count+=1 echo %count%번 if %count% ==10 goto break goto loop :break 문구를 보면 눈치 챘을수도 있지만 goto는 표시된 위치로 이동을 하게 된다. 참고 포스팅 https://thenicesj.tistory.com/507 .. 2023. 5. 10.
JPA Project Change Event Handler 대기 관련 개발 중에 JPA Project Change Event Handler (waiting) 위 메세지가 계속 나오면서 이클립스가 멈추거나 프리징 걸리는 현상이 발생했다. 해결법은 아래와 같다. 여기에서 JPA Configurator 부분을 언체크 해주면 된다. 2023. 5. 9.
반응형