개발 7

javascript identifier '변수명' has already been declared 해결 방법, switch문의 block-scope 변수 선언.

목차 identifier 오류 내용 identifier '변수명' has already been declared 원인 1. ES5 까지는 var 를 사용했지만, ES6 부터는 var 대신 let 과 const 를 사용. var : 중복 선언 가능, 재할당 가능, 함수 레벨 스코프 let : 중복 선언 불가능, 재할당 가능, 블록 레벨 스코프 const : 중복 선언 불가능, 재할당 불가능, 블록 레벨 스코프 var let const 중복 선언 O X X 재할당 O O X 스코프 함수 레벨 블록 레벨 블록 레벨 블록 레벨 스코프 : 모든 코드 블록 ( 함수, if문, switch문, try/catch문 등 ) 내에 선언된 변수는 코드 블록 내부에서만 사용할 수 있다. 함수 레벨 스코프 : 함수 내에서 선언..

개발/프론트 2023.12.20

아이폰 사파리에서 window.open 또는 form _blank 로 새 창이 안열리는 문제 해결

목차 원인 safari에서는 비동기 호출 후 window.open 또는 form _blank로 새 창을 열 경우 열리지 않는다. 사파리는 비동기 콜 안에서 window.open으로 연 팝업을 차단한다고 한다. 해결 방법 방법 1. 사파리 설정에서 팝업 차단 해제하기 설정 -> safari -> 팝업 차단 해제 방법 2. 비동기 콜 전에 window.open 먼저 하기 * 문제가 되는 코드 // 예시 1 // 비동기 콜 호출 후 open const result = await getData(); window.open("https://naver.com"); // 예시 2 // 비동기 콜 응답 받은 후 open axios.getData("/api") .then(function (response) { window..

개발/프론트 2023.12.20

[JAVA]xml오류-There is no getter for property named 'name' in 'class java.lang.String', 파라미터 전달 제대로 안될 때

목차 파라미터 하나를 보냈는데 There is no getter for property named 'name' in 'class java.lang.String' 라는 오류가 뜰 때, int getList(String name); SELECT count(*) FROM table WHERE id = #{name} ​ 방법 1. #{name} 을 다음과 같이 #{value} 로 변경해주면 된다. SELECT count(*) FROM table WHERE id = #{value} ​ 방법 2. getter 가 있는 VO를 만들어 파라미터로 넘긴다. getter 는 다음과 같이 만들 수 있다. 1. 롬복lombok 이용하기 @Getter public myVO{ private String name; } 2. 직접 ..

개발/백 2021.11.29

[JAVA] 스프링 Junit4 @Autowired NullpointException 문제 해결

목차 테스트 클래스 위에 다음과 같은 어노테이션을 붙여주면 된다. @RunWith( SpringJUnit4ClassRunner.class ) @ContextConfiguration(locations= {"classpath*:/spring/*.xml"}) //경로 변경 필수 @WebAppConfiguration public class junitTest { } 1. @RunWith ( SpringJunit4ClassRunner.class ) @RunWith는 JUnit 프레임워크의 테스트 실행 방법을 확장할 때 사용하는 어노테이션이다. SpringJUnit4ClassRunner라는 JUnit용 테스트 컨텍스트 프레임워크 확장 클래스를 지정해주면 , JUnit이 테스트를 진행하는 중에 테스트가 사용할 애플리케..

개발/백 2021.11.29

[JAVA/JSP]정확한 클라이언트 IP 주소 가져오기, request.getRemoteAddr() 해결 방법

[JAVA/JSP] request.getRemoteAddr() 로 정확한 IP 가 추출되지 않을 때 해결 방법, 정확한 클라이언트 IP 주소 가져오기 사용자 IP를 가져올때 보통 request.getRemoteAddr(); 을 사용해 가지고 오게 된다. 그러나 중간에 Load balancers 나 Procxy server 등이 개입되면서, request.getRemoteAddr() 함수로 IP 를 얻을 경우 다른 아이피가 나오게 된다. 이러한 문제를 해결하기 위해 등장한 것이 X-Forwarded-For 헤더이다. X-Forwarded-For 헤더에서 IP를 추출하면 정확한 IP를 얻을 수 있다. 그러나 X-Forwarded-For 헤더 외 WL-Proxy-Client-IP, Proxy-Client-IP..

개발/백 2021.11.05