본문 바로가기
반응형

전체 글383

[aws, lambda@edge] cloundfront 이미지 리사이즈 기능 사용중 오류(503 에러) S3에 있는 원본 이미지를 lambda@edge를 이용 resize해서 화면에 보여주고 있었다. 그런데 다음과 같은 에러가 발생했다. 처음에는 Cloudfront에서 타임아웃이 걸려있는 줄 알고 살펴봤는데 아니었다. 그래서 cloudwatch에 저장되어 있는 로그를 이것저것 살펴보니 Lambda 쪽 로그그룹에 Timeout 3초 에러가 발생하고 있었다. lambda 에서 timeout 에러가 발생했고 그게 503 에러로 이어진것 같다. 즉 CloudFront에서 발생한 에러가 아니라 lambda의 에러가 전이된 것이다. (스샷이 없어서 죄송합니다) 확인해보니 lambda의 기본값으로 설정할 경우 제한시간을 3초로 한다. 그래서 이번에 설정을 30초로, 그리고 메모리 사용량을 128MB(기본값) => 25.. 2022. 5. 6.
[react, nextjs] _app.js 에 useEffect 에서 2번씩 호출될때 next.js 를 사용하고 있는데 useEffect가 두번씩 호출이 되는 문제가 있었다. 이것을 감지하기 위해 다음 코드를 넣어보니 로그에 2개씩 찍히는게 확인된다. function App({Component, pageProps}: AppProps) { useEffect(() => { console.log("bbbddd") }, []) return ( ) } bbbddd 가 2개씩 찍힘 Root 컴포넌트에서 2번씩 호출하다보니 하위 컴포넌트도 모두 2번씩 호출된다. 처음에는 버전이 달라져서 그런가 했는데, 알고보니 React.StrictMode 가 설정되어 있을 경우 그렇다. (nextjs, react 이전버전에서는 동일 설정에 이런 현상이 없었는데, 어느순간 패치된게 아닌가 싶음) 예를들어 다음과 같은.. 2022. 4. 22.
[maven] jar 파일 만들때 dependency 파일 첨부하기 (+파일명 고정하기) A 프로젝트를 모듈화(jar)하여 B 프로젝트에서 사용해야 할때 dependency 로 설정하면 별다른 문제없이 추가할 수 있다. 그런데 A프로젝트를 build하면 jar가 생성되지만 안에 dependency가 포함되어 있지 않기때문에 이전 프로젝트에서 사용했던 모듈들이 비어 에러를 발생하게 되었다. 그래서 A 프로젝트에서 jar를 만들때 dependency에 포함되어 있는 모듈들을 포함하는 동시에 파일을 덮어씌워 B 프로젝트에서 별도의 설정없이 가져다 쓸 수 있도록 하는 것이 목표다. 단계별로 설정을 어떻게 줘야하는지 살펴보자(결론만 필요하다면 3번을 보면된다) 1. dependency 포함하여 jar 파일 만들기 maven plugin 중에 assembly 가 있다. 풀 네임은 maven-assemb.. 2022. 3. 21.
[jpa] 테이블에 입력, 수정일시 컬럼 공통으로 하기 테이블을 만들다 보면 입력, 수정일시를 모든 테이블에 적용해야할때가 있는데, 이런걸 JPA와 클래스를 이용해 공통으로 만들기 좋은 방법이 바로 @MappedSuperclass 를 설정하는 것이다. 다음과 같다(mysql 기준. 오라클이나 ms-sql등은 columnDefinition 내용이 다를 수 있다.) @MappedSuperclass public class CommonEntity { @CreationTimestamp @Column(name = "REG_DT", columnDefinition = "timestamp default CURRENT_TIMESTAMP not null comment '최초 등록 일자' ") private ZonedDateTime regDt; @UpdateTimestamp @C.. 2022. 2. 23.
swagger-ui 사용 시 spring security에 경로 등록 Swagger 3.0 에서 ui를 제공하는데 spring security를 같이쓰고 있다면 다음의 화면을 볼 수 있다 403 에러가 발생하는데 이것은 아무것도 설정하지 않았을때의 발생하는 것이다. 이제 설정하는 방법을 살펴보자 참고로 dependency는 다음과 같다 implementation 'org.springframework.boot:spring-boot-starter-security' ... implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0' implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '3.0.0' W.. 2022. 2. 21.
[react] window is not defined 에러 (apexchart) 로그를 보면 apexcharts.common.js 파일 내에서 window를 호출하다 발생한 에러다. 이 에러가 발생하는 이유는 서버사이드에서 호출이 일어났기 때문이다. SSR을 지원하는 nextjs가 새로고침이 될때 저 부분을 import 하게 되는데, ssr에서는 window 객체가 없으므로 not defined가 뜨는 것이다. 이를 해결하기 위해 nextjs에서 제공하는 함수가 있다. 바로 dynamic 이라는 함수다 관련하여 공식 홈페이지에서 이와관련된 내용을 안내한다 https://nextjs.org/docs/advanced-features/dynamic-import Advanced Features: Dynamic Import | Next.js Dynamically import JavaScrip.. 2022. 1. 12.
반응형