전체 글

·💻 개발
보통 리액트에서는 데이터를 가져올 때 useEffect 안에서 가져오지만 Next.js 에서는 다양한 방법이 있다.1. getStaticProps- Static Generation으로 빌드할 때 데이터를 불러온다. (미리 만들어줌)- getStaticProps 함수를 async로 export 하면, getStaticProps에서 리턴되는 props를 가지고 페이지를 pre-render 한다.- 빌드할 때 페이지를 렌더링 한다. getStaticProps를 사용해야 할 때- 페이지를 렌더링 하는 데 필요한 데이터를 사용자의 요청보다 먼저 빌드 시간에 필요한 데이터를 가져올 때- 데이터를 Headless CMS에서 가져올 때- 데이터를 공개적으로 캐시 할 수 있을 때 (사용자별 X)- 페이지는 미리 렌더링 ..
·💻 개발
1. 설정하기build.gradleimplementation 'org.springframework.boot:spring-boot-starter-actuator'implementation 'io.micrometer:micrometer-registry-prometheus' application.ymlmanagement: endpoint: health: show-components: always # show-details: always endpoints: web: exposure: include: "*" info: java: enabled: true os: enabled: true env: enabled: tr..
·💻 개발
users:100:profile: 사용자들 중에서 PK가 100인 사용자 프로필products:123:details: 상품들 중에서 PK가 123인 상품의 세부사항
·💻 개발
현재 진행 중인 프로젝트가 GitHub 서비스에 매우 많이 의존한다.GitHub OAuth 로그인을 진행하고 발급되는 GitHub 서비스의 Access Token과 Refresh Token 이 필수적으로 필요했다.근데 gho_ 형식의 Access Token 만 내려주고 Refresh Token 은 내려주지 않았다..이렇게 되면 Access Token 이 만료될 때마다 redirect 해서 새로운 Access Token을 갱신해줘야 하는데.. 너무 불편하다.거의 새로 로그인을 다시 해야 하는 것과 마찬가지다. gho_ 형식으로만 내려줬던 이유가 OAuth Apps로 만들었기 때문이다..GitHub Apps로 만들고 Refresh Token을 내려줄 거냐? 에 체크해 주면 ghu_ 형식으로 Access To..
·💻 개발
AWS S3에 이미지 업로드 기능을 구현하면서, 친구와 S3를 함께 쓰기 위해 IAM 계정을 생성해 S3 접근 권한을 부여했다. 필요한 추가 권한이 있다면 IAM 정책에 설정해 주면 끝~1. AWS에서 IAM을 검색한다. 2. 좌측에 "사용자" 메뉴 클릭 후 "사용자 생성" 주황색 버튼 클릭 3. 사진처럼 체크한 후 계정 생성하기 4. 콘솔 로그인 URL로 접속하고 로그인하기
·💻 개발
dev 환경이 아니면 h2 console을 사용할 일이 없기 때문에 dev 환경에서만 사용할 수 있게끔 구성한다. spring: h2: console: enabled: true@Bean@ConditionalOnProperty(name = "spring.h2.console.enabled", havingValue = "true")public WebSecurityCustomizer configureH2ConsoleEnable() { return web -> web.ignoring() .requestMatchers(PathRequest.toH2Console());}
·💻 개발
서비스를 운영하다 보면 에러가 발생할 수밖에 없다.에러가 발생하면 직접 EC2에 접속해서 로그를 확인하고.. 매우 번거롭다.이러한 문제를 해소하고자 에러가 발생하면 Slack에 알림이 전송되게끔 구현해 봤다.1. Slack Webhooks 추가하기알림이 전송될 채널 우클릭 -> 채널 세부정보 보기 -> 통합 -> 앱 추가 -> "Incoming Webhooks" 추가 2. 구성 설정 해주기 3. 의존성 추가하기implementation 'net.gpedro.integrations.slack:slack-webhook:1.4.0' 4. Slack API 사용 설정하기application.ymlslack: webhook: url: URL 적어주기 SlackLogAppenderConfig.java@Con..
·💻 개발
@EnableBatchProcessing -> DefaultBatchConfiguration- 배치 작업 구성 및 실행에 필요한 유틸리티 빈을 자동으로 설정- Spring Batch 5.0- 둘 중 하나만 사용- 선언적 vs 프로그래밍- @EnableBatchProcessing 사용은 권장하지 않음 Batch 아키텍처 Chunk-oriented & AbstractPagingItemReader- 페이징 기능을 제공하는 기본 abstract 클래스- AbstractPagingItemReader를 상속하는 클래스   > JdbcPagingItemReader   > JpaPagingItemReader ClassifierComposite-ItemWriter- 분기에 따라 적절한 ItemWriter에게 전달- th..
openmpy
기록장