<질문요약> Gitpod 환경에서 실습을 진행 중인데, 데이터베이스에 연결은 되지만, 엔티티가 Persist 되질 않습니다. [필자 개발환경] 군대 사지방에서 GitPod 클라우드 개발환경에서, VS Code IDEA 기반 Java 프로젝트를 생성해 JPA 기본편 강의를 듣고 있습니다. Gitpod 프로젝트 셋팅 값 - Java 17 버전 - Gradle java 프로젝트 [이슈사항] build.gradle 파일 plugins { id 'java' id 'org.springframework.boot' version '3.3.4' id 'io.spring.dependency-management' version '1.1.6' } group = 'com.inflearn' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.hibernate:hibernate-core' // JPA 하이버네이트 implementation 'javax.xml.bind:jaxb-api' implementation 'com.h2database:h2' runtimeOnly 'com.h2database:h2' // H2 DB 드라이버 같은 역할 testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } persistence.xml 파일 <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> <persistence-unit name="hello"> <properties> <!-- 필수 속성 --> <property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="jakarta.persistence.jdbc.user" value="sa"/> <property name="jakarta.persistence.jdbc.password" value=""/> <property name="jakarta.persistence.jdbc.url" value="jdbc:h2:~/jpa-basic"/> <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.JtaPlatform" /> <!-- 옵션 --> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <property name="hibernate.hbm2ddl.auto" value="create" /> </properties> </persistence-unit> </persistence> > 위와 같이 build 파일과 resources/META-INF 폴더에 persistence.xml 파일까지 셋팅을 해주었습니다. JpaMain 클래스 / Member 클래스 구현한 후, JpaMain 클래스 실행 시 EntityManager 로 H2 Database에 Connection은 되지만, 아래와 같은 에러코드로 Persist 가 되지 않습니다. 여건 상 클라우드 환경에서 개발할 수 없기에, 이를 수행할 수 있는 방법을 알려주시면 감사드립니다.
안녕하세요. Next에서 Tanstack-query 를 사용하실 때 궁금한게 있어서 질문드립니다. QueryClientProvider를 생성하실 때 아래와 같이 진행하신 다음에 layout.tsx 에서 감싸주고 있는데, QueryClientProvider에 use client를 사용하게 되면 결국 모든 하위 컴포넌트가 클라이언트 컴포넌트가 되는게 아닌가요? 즉, layout.tsx 부터 모든 컴포넌트가 전부 클라이언트 컴포넌트로 사용되는게 맞는건가요...? 'use client'; import React, { ReactNode, useState } from 'react'; import { QueryClientProvider, QueryClient } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; function RQProvider({ children }: { children: ReactNode }) { const [client] = useState( new QueryClient({ defaultOptions: { // react-query 전역 설정 queries: { refetchOnWindowFocus: false, retryOnMount: true, refetchOnReconnect: false, retry: false, }, }, }), ); return ( <QueryClientProvider client={client}> {children} {/* 개발 모드일때만 데브툴 사용*/} <ReactQueryDevtools initialIsOpen={process.env.NEXT_PUBLIC_MODE === 'local'} /> </QueryClientProvider> ); } export default RQProvider;
서버에서 사전렌더링(js 실행)할때 모든 react 컴포넌트들을 html로 변환한다고 하셨는데 서버에서 렌더링할때는 특정 경로에 있는 js만 html으로 렌더링 하는게 아니라 프로젝트의 모든 js코드를 html으로 렌더링하고 js bundle파일만 특정 경로에 있는 js bundle파일을 받아오는게 맞나요?
토비 스프링 3.1 책과 강의를 병행하면서 궁금한 점이 있어서 질문 남깁니다. 책 [4.1.4 예외처리 전략 - 애플리케이션 예외] 에서는 '외부의 예외상황이 원인이 아니라 애플리케이션 자체의 로직에 의해 의도적으로 발생시키는 예외도 있다' 라고 하는데요. 예를들어 잔고 부족과 같은 상황에서 예외상황에 대한 리턴값을 코드화 하는것 보다는 InsufficientBalanceException 과 같은 체크 예외를 던지는것도 좋은 방법(코드가 이뻐짐) 으로 소개가 됩니다. 그러나 강의에서 예외는 '정상적인 값을 리턴으로 수단으로 사용' 하는 것은 지양하고 '예외적인 상황에서만 사용' 해야 한다고 해주셔서 조금 헷갈리네요. 제가 이해를 잘못했을 수도 있는데요. 같은 상황이 맞다면 어떤게 더 맞는 방향인지 궁금합니다.
안녕하세요. NextJS 14 App Router로 개발중인 프로젝트가 있습니다. 사용자 편의성을 위해 페이지네이션 관련 상태값이나 사용자가 검색한 값을 쿼리스트링에 저장하는 훅을 만들어서 훅 내부에서 상태값을 받아 URLSearchParams로 쿼리스트링을 세팅해서 router push를 하거나 usePathname이나 useSearchParmas를 사용해서 쿼리스트링 값을 읽어서 상태값으로 업데이트하고 데이터 페칭을 하고 있습니다. 메인 메뉴들 전반적으로 이 훅을 사용중이여서 페이지 컴포넌트에 'use client'를 입력해줘야 하는 상황인데, 그러면 제가 사용자 편의성을 위해 쿼리스트링에 값을 저장하는 방식 때문에 SSR을 사용할 수 없는 상황인지 궁금합니다. 그리고 이런 편의성을 제공하면서 SSR을 하려면 다른 방법이 있을까요?
여러가지 이론이 막 섞여서 아직 정리가 안되어 질문드립니다 상속에서 super이 없어도 그 super가 생략되어있다는 말은 어떤 뜻인가요? 10:30 이 문제에서는 super가 없기때문에 기본 생성자로 간다고 하셔서요 이런경우는 super이 생략되어 있는경우가 아니고 super가 없다고 생각해야 하는거라 헷갈리네요
기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
7.4 PlayListCarousel - 1 강의의 6분 15초를 보시면, <div className="relative left-[-45px]"> 부분이 있는데요. left-[-45px]을 해야 화살표가 보이게 되는데, 이게 왜 그런질 모르겠습니다. 근데 제가 질문 드리고싶은 것은, 저 코드가 어떤 원리로 작동되는지가 아닙니다. 이럴때는 스스로 그냥 계속 문서를 참고하든 개발자도구를 참고하든 이해 될때까지 파고드는게 맞는 방법인지 여쭤보고 싶습니다. 이것 말고도 제가 어려웠던 부분에 대한 예시를 들자면, 1) components 폴더에 저장되는 것들과 components/elements 폴더에 저장되는 것들의 차이를 정확히 모르겠음. 2) 태그를 감쌀때 어떤 것은 div로 컨테이너를 주시고 어떤것은 안주시는 경우가 있는데, 차이를 모르겠음. 3) useUIState에 저장된 변수 이름이 "homeCategory"인데, 제 생각엔 이것 보다는 "selectedSubject" 같은 이름이 더 직관적이라 생각하는데, 그럼에도 제 생각보단 선생님 생각이 맞을건데 제 생각이 어느부분이 부족한질 모르겠음. 4) 위와 같은 문제들을 해결하고 싶어서, 책을 찾아보려 하는데 리액트 훅을 설명해주는 책들은 많은데, HTML CSS를 어떤 구조로 짜야 하는지, 리액트 앱 만들때 폴더구조는 어떻게 하는게 좋은지에 대한 책은 없어서 어떻게 해야할지 모르겠음. 이런 어려움이 있었습니다. 혹시 공부법 조언 부탁드려도 될까요?
7:30 사전형 메서드에서 답을 표기할때 여러가지 형태의 괄호를 붙이고 안붙이는 규칙을 알고 싶습니다.예를 들면 get()메서드 print(my_dict.get("name))에는 아무 괄호가 안 붙고 pop()메서드 마지막 print(my_dict)에는 중괄호가 붙는 부분이 아직 익숙하지 않습니다.
제가 강의를 듣다가 Order 엔티티의 생성메서드의 파라미터에는 OrderItem의 리스트가 넘어오고, OrderItem 엔티티의 생성메서드의 파라미터에는 Item 객체가 넘어오는데 각각 Order 엔티티의 생성메서드에 OrderItem 리스트가 넘어오는 이유는 주문상품이 있어야 주문이 있기 때문이고, OrderItem 엔티티의 생성메서드에 Item 객체가 넘어오는 이유는 상품이 있어야 주문상품이 있기 때문이라고 이해하면 될까요??
완강 후 Next로 프로젝트를 만들어 보며 질문 드립니다. 제가 쿠키를 활용할 일이 있어 Nest api 요청에 쿠키를 담아 보냈었습니다. 쿠키가 잘 도착 하는 상황은 postman요청, 브라우저에서 nest api 직접 요청 Next 페이지 에서는 쿠키가 도착하지 않았습니다. 완강 후 Next에서는 최대한 static하게 만들면서도 동적으로는 소통할 수 있도록 만드는 것이 Next가 추구하는 방향이라 이해 하였고, 최대한 static하게 만들었습니다. 쿠키가 도착하지 않아 한참을 실랑이를 하였는데 생각을 해 보니 서버컴포넌트에서 client로 cookie를 저장 한 다는 것이 말이 되지 않다는 것을 알았습니다. 찾아 보니 미들웨어라는 것이 있었고, 서버에서 쿠키를 내리는 것이 아니라 api응답을 받기 전 미들웨어에서 client에 쿠키를 심는 방법이 있더라구요. 근데 client에서 쿠키를 심더라도 static한 페이지로 만들어진 페이지에서 다음 요청에 쿠키를 서버로 전송하지 않기 때문에 쿠키를 활용해 서버와 뭔가의 소통이 불가능 하다고 느껴졌습니다. 제 질문이 이해가 가실지 모르겠지만..Next에서 보통 서버와 쿠키를 활용한 상호작용을 할때 어떤 방식을 통해 하는지궁금합니다.