#1. 증상 발생 기존 프로젝트를 git에서 다운 받아 새로운 환경에 세팅하던 중 Intellij 에서 gradle프로젝트 빌드시 아래와 같이 invalid source release 오류가 발생했다. #2. 오류 해결 JDK설정의 문제 인 것 같아 프로젝트 세팅화면에서 JDK설정을 확인했다. 프로젝트의 SDK나 모듈 SDK, Language level 까지 전부 11로 설정되어 있어서 다른게 또 있나 살펴보던중 Settings > Build. Execution, Deployment > Build Tools > Gradle Gradle의 JVM설정이 1.8로 되어 있었다. 이를 11로 변경한 후 다시 빌드 해보자. 위 처럼 성공하는 모습을 볼 수 있다.
#1. 윈도우즈 서버 Jenkins Pipeline 윈도우즈 서버에 Jenkins pipeline을 적용하기 위해 구글링을 하다보면 생각보다 정보가 많지 않다. 거의 모든 예제가 리눅스 중심으로 이루어져 있어서 윈도우즈 환경에 맞는 샘플을 찾기가 쉽지 않은데 많은 삽질 끝에 적용한 Jenkins Pipeline을 공유해본다. 참고로 이 예제는 ASP.NET 소스를 배포하는게 목적이기 때문에 빌드 과정이 생략되어 있고 1. git에서 소스 가져오기 2. 기존 반영했던 버전과 다른점을 찾아서 반영해야 할 파일만 반영(파일 복사 or 파일 삭제) 위와 같은 과정으로 단순하게 작성되었다. Maven 빌드과정이 필요하면 이전 포스팅을 참고하자. 2021.03.29 - [DevOps/Jenkins] - Jenkin..
#1. setState는 비동기로 동작한다 아래와 같이 동작하는 코드를 보자. 하나는 숫자를 1씩 증가시키는 버튼이고, 하나는 숫자를 1씩 감소시키는 버튼이다. import React, { useState } from "react" function App() { const [num, setNum] = useState(1) async function plus() { setNum(num + 1) } async function minus() { setNum(num - 1) } return ( {num} PLUS MINUS ); } export default App; 아직까지는 잘 작동하고 있지만, 요건이 바뀌어서 1씩 증가하던것을 3씩 증가시키기 위해 아래처럼 변경했다고 치자. import React, { u..
#1. 프로젝트 생성 및 의존성 추가 프로젝트를 처음으로 생성하는 경우에는 Spring Initializr 에서 Spring Rest Docs 와 관련된 의존성을 추가합니다. 아래와 같이 최소한 Spring Web과 Spring REST Docs 는 추가해야 합니다. 기존의 프로젝트에 Spring REST Docs를 추가하는 경우에도 Spring initializr 를 사용해서 Dependencies를 추가한 다음, 자동으로 생성된 의존성을 복사해 오는 방법이 괜찮아 보입니다. initializr가 자동으로 생성해 준 build.gradle 파일은 아래와 같습니다. plugins { id 'org.springframework.boot' version '2.5.0' id 'io.spring.dependen..
이전글 - [Next.js] API 호출을 통한 네비게이션 메뉴 생성 #1. 네비게이션 메뉴에 클릭이벤트 작성하기 네비게이션 메뉴로 만들었던 각 영화의 장르를 클릭하면 해당 장르의 영화들을 썸네일과 함께 보여주도록 만들어 봅시다. 먼저 next/router 를 임포트하고 Nav onclick 이벤트에 라우팅을 등록해줍니다. import { useRouter } from "next/router" import useSWR from 'swr' const BASE_URL = 'https://api.themoviedb.org/3/genre/movie/list'; const API_KEY = process.env.API_KEY; const fetcher = async (url) => { const res = awa..
#1. Navigation 컴포넌트 생성 지난 포스팅에서는 상단 공통영역 생성까지 완료하였으니, 계속해서 작업을 시작해 봅시다. 이전글 - [Next.js] 페이지 상단 레이아웃 생성 components 폴더 아래 Nav.js 파일을 생성합니다. 이 컴포넌트에는 영화 장르를 Top메뉴로 생성한 후 각 메뉴를 클릭하면 하단 컨텐츠 영역에 장르에 따른 영화 목록을 보여줄 생각입니다. + Tip ES7 snippets 확장기능을 설치하게 되면, js파일을 생성하고 기본적인 export defaut function을 만들 때 _rfce 스니펫을 통해 타이핑을 줄일 수 있습니다. 일단 임시 메뉴를 생성하고 페이지 디자인을 입혀봅시다. 추후 임시 메뉴는 themoviedb.org 사이트에서 API를 통해 가져오게 ..