이전에 만든 함수를 재사용할 때 사용한다. useMemo와 유사하나 useCallback은 함수를 위한 hook App.js inputs는 useState로 관리되는 상태 의존성 배열 [inputs]를 넣는다. (useCallback 내부에서 참조할 때 최신 상태
무한 스크롤을 구현하기 위해 scroll event에 대해 알아보던 중 브라우저 element의 height에 대해 정리해보기로 했다. 스크롤이 화면 끝에 닿았을 때 새로운 컨텐츠를 보여주어야 하는 무한 스크롤 구현이 목적이기 때문에 width는 제외하고 height
Movie List 01https://www.themoviedb.org/documentation/api/discover이 링크에 들어가면 원하는 데이터를 가져올 수 있는 URL 정보가 안내되어 있다.tmdb.js(key 노출을 방지하기 위해 .env 파일에 넣
(이미 API 키를 발급받은 상태라 이미지 없이 텍스트로 설명..)TMDB : https://www.themoviedb.org/tmdb profile1\. TMDB에 회원가입한 뒤 프로필 -> 설정 -> API 로 들어간다.2\. API 키 요청의 링크를 클릭
redux 활용하기 : 상태관리firebase 활용하기 : 회원정보 및 데이터 관리하기api 활용하기 : tmdb api로 영화 정보 불러오기FirebaseTMDBreact-reduxreact-helmetreact-router-domreact-youtubestyled-
현재 문자열의 시작을 다른 문자열로 채워 주어진 길이를 만족하는 새로운 문자열을 반환하는 메서드현재 문자열의 끝부터 다른 문자열로 채워 주어진 길이를 만족하는 새로운 문자열을 반환하는 메서드
message.properties 파일을 만드는 중에 한글이 제대로 출력되지 않는 문제가 발생했다.Settings -> Editor -> File Encodings에서 Global Encoding, Project Encoding, Properties Files를 모두
스프링은 HTTP 요청 파라미터를 @RequestParam으로 받을 수 있다.위 두 코드가 거의 유사한 개념이라고 보면 된다.@RequestParam은 GET 쿼리 파라미터, POST Form 방식을 모두 지원한다.
data와 이동하고자 하는 view page를 함께 저장한다.Model과 View 정보를 담아서 반환한다.addObject() 메서드로 Model 데이터를 추가한다. 이 데이터는 이후 View를 렌더링할 때 사용된다.Model과 ModelMap은 데이터만 저장하고 vi
자바에서 기본 자료형처럼 사용할 수 있는 클래스를 제공하는데, 이를 '기본 자료형을 감쌌다'는 의미의 Wrapper 클래스라고 한다.기본 자료형이 아닌 클래스이므로 인스턴스를 생성하기 위해 생성자를 호출하고 값을 인수로 넣는 작업이 필요하다.보통 정수인 변수를 사용할
HTTP 프로토콜을 사용하는 웹 브라우저에서 서블릿 기능을 수행한다.따라서 개발자는 HttpServlet을 상속받아 많은 기능을 사용할 수 있다.WAS가 웹브라우저로부터 Servlet 요청을 받으면요청 받을 때 전달 받은 정보를 HttpServletRequest 객체를
@Controller는 반환값이 String이면 뷰 이름으로 인식하기 때문에 View를 찾아 렌더링한다.@RestController는 반환 값을 HTTP Message Body에 바로 입력한다.뷰 템플릿을 사용하는 것이 아니라, HTTP Message Body에 직접
스프링 빈을 등록하는 어노테이션으로, 클래스 자체를 스프링 빈에 등록한다.@Autowired로 의존성 자동 주입이 가능하다.@Component가 붙은 클래스를 스캔해서 스프링 빈으로 등록한다. 이때, 스프링 빈의 기본 이름은 클래스명을 사용한다. (앞글자는 소문자로)빈
요청 정보를 매핑하는 어노테이션해당 URL이 호출되면 @RequestMapping으로 매핑된 메서드가 호출된다. 클래스 레벨과 메서드 레벨 모두 사용 가능하며 조합도 할 수 있다.saveMembers : localhost:8080/springmvc/members/sav
하는 일객체를 생성한다.요청 파라미터의 이름으로 객체의 프로퍼티를 찾는다.해당 프로퍼티의 setter를 호출해서 파라미터의 값을 입력(바인딩)한다.예제@ModelAttribyte 적용 전@ModelAttribyte 적용 후
접근자(Getter함수) 자동 생성설정자(Setter함수) 자동 생성예제 - lombok 사용 전예제 - lombok 적용 후@Getter, @Setter, @ToString, @EqualAndHashCode, @RequiredArgsConstructor 자동 적용
개념 : HTTP 프로토콜을 통해 클라이언트가 요청한 '정적 컨텐츠'를 제공하는 서버기능정적인 컨텐츠를 제공한다.동적 컨텐츠 요청을 WAS에 전하고, WAS가 처리한 결과를 클라이언트에게 Response한다.개념 : 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에
H2 데이터베이스 설치하기 https://h2database.com/html/main.html h2database 홈페이지 각자 환경에 맞는 파일을 설치한다. 실행하기 : ./h2.sh (윈도우는 h2.bat) 데이터베이스 파일 생성 방법 jdbc:h2:~/t
Q. What is AssertJ Core?AssertJ is a Java library that provides a rich set of assertions and truly helpful error messages, improves test code readabil
사용자의 action이 Controller에 전달되고, Controller는 입력받은 데이터를 Model에 전달하여 Model은 해당 데이터를 보여줄 View를 선택해서 화면에 띄운다.Model : 응용 프로그램의 동작, 데이터 관리View : UI를 화면에 표시Con