개발
-
[오류기록] (추가내용) Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl개발 2023. 12. 13. 13:24
Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl 에러 발생 배경 - 스프링부트 3.2.0으로 개발 후 war파일로 카페24에 배포하는 도중에 발생 발생 당시 로그Cause: java.lang.RuntimeException: Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl, jdbc:log4jdbc:mariadb://localhost:3306/0000 at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ~[mybatis-3..
-
[Spring Boot Security 6.1] /h2-console/** 허용해도 차단되는 경우개발 2023. 8. 18. 15:49
- 문제 : 시큐리티 6.1으로 업데이트 후 설정코드에서 많이 바뀌어 여러문제가 발생 위와 같이 평소대로 허용을 했으나 시큐리티의 의해 차단되었다. 해결을 위해 이리저리 검색도 해보고 여러가지 해보았지만 해결은 되지 않던 와중 발견된 해결방법 어떤 블로그의 의하면 빈의 파라미터에 HandlerMappingIntrospector를 추가하고 MvcRequestMatcher 객체를 생성하여 허용 목록에 추가한다. 애플리케이션 설정에서 H2 콘솔을 활성화하면 자동으로 H2 콘솔이 서블릿으로 등록되는데, 서블릿 경로를 requestMatchers()에 추가하기 위해선 MvcRequestMatcher를 사용해야 한다는 것 같다. MvcRequestMatcher을 써야한다는 한번 찾아 써보려했으나 위와 같이 해결법이..
-
-
[오류해결] Uncaught ReferenceError: require is not defined at renderer.js개발 2023. 3. 31. 00:48
발생 배경 - Electron을 이용하여 프로그램을 만들어 보겠다는 의지 - 통신을 위해 아래의 코드를 작성 const { ipcRenderer } = require('electron') 결과는 다음과 같은 오류가 발생 막 이것저것 찾아보니 예전보다는 해결방법이 여러 가지가 있었지만 간단하게 체험해보고 있는 나로선 눈에 들어오지 않는다. 그래서 해결방법이 무엇인고 하니 파일 중에서 main.js 내용 중 createWindow를 찾아서 다음과 같이 추가해주면 된다. function createWindow () { // Create the browser window. const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences..
-
-
카페24 그누보드5 메일전송 오류개발 2023. 3. 21. 23:54
1. 환경 - 카페24에서 호스팅을 이용함 - 그누보드를 이용함 - 메일을 이용하는 기능이 존재 2. 증상 - 메일을 이용하는 기능이 존재하여 그누보드에서 지원하는 관리자에서 메일 테스트를 진행함 - 응 안되. 메일 안와. 스팸에도 없어. 3. 해결 방법 - 고객센터 문의하니 보내는사람의 메일이 잘못되어 확인해보니 기존 그누보드를 설치하면 admin@domain.com으로 등록되는데 이걸 존재하는 메일로 교체 4. 교체방법 - 관리자 메일 주소를 보면 admin@domain.com으로 등록되는데 이걸 존재하는 메일로 교체해준다. 고객센터에서 로그 분석결과 해당 메일이 존재하지 않아 문제가 발생한다고 한다. 5. 고객센터 답변
-
SECTIGO SSL 작업개발 2023. 2. 21. 09:27
작업 배경 App개발 도중 통신하는 서버의 SSL이 필요하여 회사 내의 서브 도메인 무제한 SSL이 존재하여 파일을 넘겨 받은 뒤 작업 시작 보통은 Was와 Web중 Web에 설치하여 사용한다고 되어있으나 본인은 Was를 80으로 통신 후 web을 8080,8081으로 운용중으로 Was에 설치 보통 간단하게 위와 같이 셋팅한다. 가끔 메뉴얼에 ssl on; 이라는 구문을 넣는 메뉴얼이 있는데 이 부분은 특정버전 이후 생략되었다고 하며 본인은 생략 처리 또한 파일은 위와 같이 전달 받았는데 빨간 목록들을 메모장을로 오픈 후 새로운 메모장을 열어 전부 합쳐준다. 저장할때 빨간부분은 클릭하여 모든파일 선택 후 fileName.pem으로 저장 후 Nginx에서 설정한 경로와 동일하게 설정한다. *.key 파일 ..
-
포트 충돌 해결개발 2023. 1. 22. 14:52
증상 Description: The Tomcat connector configured to listen on port 8082 failed to start. The port may already be in use or the connector may be misconfigured. 포트 8082에서 수신 대기하도록 구성된 Tomcat 커넥터를 시작하지 못했습니다. 포트가 이미 사용 중이거나 커넥터가 잘못 구성되었을 수 있습니다. Action: Verify the connector's configuration, identify and stop any process that's listening on port 8082, or configure this application to listen on anothe..
-
Nginx를 이용한 나름 장애 대응개발 2022. 12. 28. 21:24
해당 포스터는 정석적인 장애대응을 모르지만 당장 실무에서 장애대응이 필요함에따라 충분하지 않은 지식을 동원하여 셋팅된 서버입니다. 글을 보시고 보완할만한 조언이나 포스터가 있다면 댓글부탁드립니다. 서버 환경 쉽게 이해하기 위하여 모든 단어는 간단하게 작성됩니다. Centos7 Tomcat9 Nginx 도입 배경 현재 플랫폼으로 Shopify를 이용하면서 Webhook를 통해서 데이터를 받아오는데, 서버가 윈도우 서버로 구성됨에 따라 업데이트 혹은 다른 이유로 컴퓨터가 재부팅되어 문제가 생성 애초에 리눅스서버를 이용할 목적이였기 때문에 새롭게 리눅스서버를 셋팅 톰캣 설치 톰캣을 2개 설치 디렉토리를 tomcat1, tomcat2따로 구성하여 Conf폴더내에 pid를 따로 보게 설정 Server.xml에서 ..
-
-
myBatis 카운트 잘 안되는 경우개발 2022. 10. 27. 17:04
select count(*) from checkouts where checkouts_id = #{checkoutsId} 쿼리 조해 진행 중 데이터의 건수를 체크하기 위해서 따로 카운트를 조회 할 때가 있다. 그런데 시스템을 체크하던 중 이상이 발견되어 확인해보니 데이터가 존재함에도 카운트가 계속해서 0개로 조회되는 경우가 발견 selectOne으로 int를 반환하게 되어있어서 별 문제를 못 느껴서 이상하다 생각했는데 혹시나 alise를 다시 넣어주니 정상적으로 해결 완료 select count(*) as count from checkouts where checkouts_id = #{checkoutsId} 예전에는 없어도 잘되었던 기억이 있어서 그냥 쓴건데 그냥 뭐든간에 별칭을 추가 해줘야겠단 생각... ..
-
StringProtocol 관련 오류개발 2022. 10. 5. 09:16
더보기 Referencing operator function '' on 'StringProtocol' requires that 'Subscribers.Completion' conform to 'StringProtocol' func login(email: String, password: String, autoLogin: Bool) { ApiService.login(email: email, password: password, autoLogin: autoLogin) .sink { (completion:Subscribers.Completion) in print("ApiVM completion: \(completion)") if completion == "failure" { print("오류") } } recei..
-
프로토콜(Protocol)의 종류개발 2022. 10. 3. 21:10
IP (Internet Protocol) 주소 : 통신을 할 떄, 송신자와 수신자를 구별하기 위한 고유의 주소 ICMP (Internet Control Message Protocol) : ICMP는 IP가 패킷을 전달하는 동안에 발생할 수 있는 오류 등의 문제점을 원본 호스트에 보고하는 일을 한다. ARP (Address Resolution Protocol) : 네트워크 계층 주소와 링크 계층 주소 사이의 변환을 담당하는 프로토콜 IGMP (Internet Group Message Protocol) : 네트워크의 멀티캐스트 트래픽을 자동으로 조절, 제한하고 수신자 그룹에 메세지를 통시에 전송한다. 멀티캐스트 기능을 수행하는 프로토콜 사실 이것들이 뭐던간에 IP 주소 말고는 잘모르겠다.
-
[오류기록] swiftUI alamofire에서만 mapping method 통신이 안되는 현상개발 2022. 8. 19. 11:13
환경 스프링부트 + swiftUI alamofire를 통하여 JSON통신중 다음 코드와 같이 작성했을때 발생한 오류 현상 인터셉터까지는 접근을 하지만 맵핑한 메소드는 접근하지 못하고 바로 리턴되는 현상 콘솔에서는 415에러 또는 400에러가 발생한다. let alamo = AF.request(url, method: .post, parameters: params, headers: headers).validate(statusCode: 200..
-
[에러기록] java.util.ArrayList cannot be cast to java.util.Map개발 2022. 8. 18. 13:22
2022-08-18 13:14:14.924 ERROR 11804 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map] with root cause java.lang.ClassCastException: java.util.ArrayList cannot be cas..
-
[에러기록] 쿼리 실행 후 IndexOutOfBoundsException개발 2022. 8. 18. 13:17
2022-08-18 13:06:25.614 ERROR 8396 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.Ind..
-
[에러기록] post mapping 이후 에러나는 경우개발 2022. 8. 18. 13:04
2022-08-18 12:54:12.833 ERROR 28808 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class kr.co.domain.test.dto.orders.RequestOrdersDto]; nest..
-
움직이는 팝업개발 2022. 8. 15. 13:46
https://codepen.io/asdsadsa/pen/bGvmxOp move popup ... codepen.io #popup { width: 150px; height: 150px; border: solid; } $(function () { $("#popup").draggable(); }); CDN 1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js 2. https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js
-
[python] Dictionary 딕셔너리개발 2022. 8. 4. 00:00
딕셔너리는 말 그대로 사전이라는 뜻으로 Key와 Value의 형태로 구성 딕셔너리의 표현은 {} 중괄호로 데이터를 묶는다. java의 Map, php의 연관배열이라고 보면 쉬울것 같다. dic1 = {'a':1, 'b':2, 'c':'3'} print( dic1 ) print( dic1['a'] ) // 1 print( dic1['b'] ) // 2 print( dic1['c'] ) // 3 dic1['d'] = 4 print(dic1) // {'a':1, 'b':2, 'c':'3', 'd':4}
-
[python] Tuple 튜플개발 2022. 8. 3. 00:00
튜플은 () 소괄호를 이용하여 데이터를 묶는다 튜플은 리스트와 매우 비슷하나 데이터는 변경할 수 없다는 특성이 있음 변경할 수 없다는 특성만 다르고 리스트와 동일하다. tuple1 = (1, 2, 3, 4, 5) print( tuple1 ) // (1, 2, 3, 4, 5) tuple1[0] = 6 // TypeError: 'tuple' object does not support item assignment 튜플의 대한 기본적인 기능은 이전글 List참고하면 될 것 같다. 2022.08.02 - [분류 전체보기] - [python] List 리스트 [python] List 리스트 여러개의 데이터를 하나의 변수로 묶어 표현할 수 있는 자료형 list1 = [1, 2, 3, 4, 5] print( list1..
-
[python] List 리스트개발 2022. 8. 2. 22:13
여러개의 데이터를 하나의 변수로 묶어 표현할 수 있는 자료형 list1 = [1, 2, 3, 4, 5] print( list1 ) // [1, 2, 3, 4, 5] print( list1[0] ) // 1 print( list1[1] ) // 2 print( list1[2] ) // 3 print( list1[3] ) // 4 print( list1[4] ) // 5 print( list1[:2] ) // [1, 2] print( list1[2:] ) // [3, 4, 5] list2 = [] list2.append(1) list2.append(2) list2.append(3) list2.append(4) list2.append(5) print( list2 ) // [1, 2, 3, 4, 5] list3..