묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결토비의 스프링 부트 - 이해와 원리
왜 Servlet을 써야 하나요?
섹션 3 독립 실행형 서블릿 애플리케이션 > 서블릿 컨테이너 띄우기 강의를 듣고나서 든 생각입니다! 왜 Servlet을 써야만할까요? (왜 Spring은 Servlet을 선택한걸까요?)
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계 주인 설정 관련질문
강의에서 외래키가 있는 쪽으로 연관관계의 주인을 설정하라고 들었는데,어노테이션을 보니 @OneToMany에만 mappedBy속성이 있고, @ManyToOne에는 mappedBy 속성이 없습니다. 보통 DB에서 외래키는 1:N관계에서 N쪽에서 가지고 있습니다. 그런데 @ManyToOne에 mappedBy가 없고 @OneToMany에만 mappedBy가 있다는 것은 JPA에서 외래키가 있는 방향으로만 연관관계 주인을 설정하도록 막아놓은건가요? 그리고 아직 속성값의 이름이 왜 mappedBy인지 잘 와닿지가 않습니다. members 필드는 단순히 team에 의해 맵핑만 당한다는 의미로 보면 되나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션과 쿠키 생명주기
세션과 쿠키의 생명주기가 헷갈려서 질문드립니다.어떨때는 브라우저를 닫으면 쿠키와 세션이 종료되고 어떨때는 세션만종료되고 생각해보면 기준이 총 4개1.쿠키(생명주기 미설정)2.쿠키(생명주기 설정)3.세션(생명주기 미설정)4.세션(생명주기 설정) 이렇게 4가지 경우가 있는것 같은데 여기서 추가적으로 세션이 사라져도 쿠키가 살아있는 경우도 있나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
상품 알러지 정보에 아무것도 없는 경우
상품 알러지에 아무 것도 없는 경우에는 어떻게 구조를 잡아야할까요?'만다린 버베나 피지오'의 경우에는 알러지 정보가 없어서 이런 식으로 정규화를 진행했는데, 다른 방법이 있는지 궁금합니다!
-
미해결
스프링 오류
정말 죄송한데 오류 확인 가능할까요...2023-08-16T23:47:27.228+09:00 ERROR 11760 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=com.jpa.jpagogo.Member]2023-08-16T23:47:27.229+09:00 WARN 11760 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=com.jpa.jpagogo.Member]
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
플러그인 롬복 설치하는 이유
안녕하세요스프링부트와 JPA 활용1 중 섹션1. 프로젝트 생성 강의를 듣고 있는데요.13:04 부분에 플러그인 롬복을 설치하시는데 앞쪽에서 스프링부트 스타터에서 롬복을 받고 빌드를 했는데 플러그인을 따로 설치해주어야 하는 이유가 뭔가요?빌드한 롬복과 플러그인에서 설치하는 롬복은 무슨 차이인지 어떻게 활용되는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
reflectionDir 구하는 과정에서 질문 있습니다
안녕하세요 선생님 skybox 강의 보고 큐브를 뒤에서 본 후 질문이 생겼습니다. float3 reflectionDir = normalize(viewLightDir + 2 * (saturate(dot(-viewLightDir, viewNormal)) * viewNormal));이렇게 구하게 되면 saturate(dot(-viewLightDir, viewNormal))이 0 인 경우에 reflectionDir = viewLightDir이 되어서 큐브의 면 중 빛의 방향과 같은 방향에 있는 면을 마주보게 되면 ambient 만 있어야 하는데 specular 때문에 밝게 됩니다. 이 문제를 어떻게 해결하면 좋을지 궁금합니다.
-
미해결따라하며 배우는 NestJS
No repository for 질문
RepositoryNotFoundError: No repository for "BoardRepository" was found. Looks like this entity is not registered in current "default" connection? at RepositoryNotFoundError.TypeORMError [as constructor] (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\error\TypeORMError.ts:7:9) at new RepositoryNotFoundError (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\error\RepositoryNotFoundError.ts:10:9) at EntityManager.getRepository (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\entity-manager\EntityManager.ts:964:19) at Connection.getRepository (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\connection\Connection.ts:354:29) at InstanceWrapper.useFactory [as metatype] (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\typeorm\dist\typeorm.providers.js:16:34) at Injector.instantiateClass (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:368:55) at callback (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:65:45) at processTicksAndRejections (node:internal/process/task_queues:95:5) at Injector.resolveConstructorParams (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:144:24) at Injector.loadInstance (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:70:13)검색을 여러번 해 봤더니 typeorm을 0.2버전으로 바꾸라고 하셔서 npm install typeorm@0.2.45 --save로 했는데 다운로드 이후에 npm show typeorm version을 했을 때 0.3.17버전이 나오더라구요 혹시 버전이 바뀌지 않았던 것인지 아니면 그냥 다른 이유때문에 되지 않는것인지 궁금하네요...
-
미해결Flutter + Firebase로 넷플릭스 UI 클론 코딩하기 [무작정 플러터]
로고 이미지가 안불러와져요
pubspec.yaml 파일도 수정해보고, 강사님 한대로 코드 똑같이 적었는데.. 이미지가 안불러와져요.오타 있는지 확인도 해보았는데 없었어요home_screen.dartimport 'package:flutter/material.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({super.key}); @override _HomeScreenState createState() => _HomeScreenState(); } class _HomeScreenState extends State<HomeScreen> { @override void initState() { super.initState(); } @override Widget build(BuildContext context) { return const TopBar(); } } class TopBar extends StatelessWidget { const TopBar({super.key}); @override Widget build(BuildContext context) { return Container( padding: const EdgeInsets.fromLTRB(20, 7, 20, 7), child: Row( children: <Widget>[ Image.asset( 'assetsimages\bbongflix_logo.png', fit: BoxFit.contain, height: 25, ), ], ), ); } }
-
미해결홍정모의 따라하며 배우는 C언어
gcc main.c 컴파일 안됨
아예 다 지우고 다시 해봤는데도 gcc main.c 를 쳐도 오류만 뜹니다. shell창이 저는 cmd로 되어있는 것과는 관련이 없을까요? F1을 쳐서 shell을 쳐보았는데 강의에 나오는 것처럼 shell 종류를 바꿀 수 있는 것이 저는 뜨지 않더라고요. 전에 파이썬 배울 때 설정해 두었던 것이라서 어떻게 했는지 잘 기억이 안나요. 저것도 powershell로 바꾸는 방법도 알려주시면 감사할 것 같습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션에 여러 데이터를 저장할 수 있다.
@PostMapping("/login") public String loginFormV3(@Validated LoginForm loginForm, BindingResult bindingResult, HttpServletRequest request){ if(bindingResult.hasErrors()){ return "login/loginForm"; } Member loginMember = loginService.login(loginForm.getLoginId(), loginForm.getPassword()); if(loginMember == null){ bindingResult.reject("loginFail", "아이디 또는 비밀번호가 맞지 않습니다."); return "login/loginForm"; } // 로그인 처리 TODO 쿠키를 만들어서 브라우저로 전송하면 브라우저에서 요청시마다 쿠키를 함께 전달함 // 스프링에서 제공하는 HTTP 세션 매니저 사용 HttpSession session = request.getSession(); // 세션이 있으면 있는 세션 반환 없으면 새로 만들어서 반환함 // 세션에 로그인 회원 정보를 보관한다. session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); // 기본적으로 다 메모리에 저장됨 // 세션 생성하려면 .getSession에 파라미터를 true(근데 디폴트라 생략가능) // false라고 하면 새로운 세션을 반환하지 않고 null로 반환한다. //sessionManager.createSession(loginMember, response); return "redirect:/"; } 이 코드에서 session.setAttribute()을 통해 하나의 세션의 여러 값을 저장할 수 있다는 말이 잘 이해가 가지 않아서 질문드립니다 여기서 여러 값을 저장할 수 있다는 말은 하나의 key에 여러가지 value를 저장하는 MultiValueHashMap처럼 사용할 수 있다는 뜻인가요? 감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-D 질문입니다!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님 문제를 보고 DFS로 더 간단하게 풀 수 있을것 같아서 시도해봤는데 오답이 나왔습니다.제가 어느 부분을 놓쳤는지 봐주시면 감사하겠습니다!http://boj.kr/93bc347be5074e999271416f69842831
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
http 서블릿 response 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님께서 강의에서 작성하시는 이 부분은response를 사용하고 싶을 때 마다, 이런 기능을 다 직접 코드를 작성해야하나요?request를 요청하면 response 관련 정보가 들어있는 객체가 따로 자동 생성되는 것 아닌가요??
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
함수에 대해 질문이 있습니다
안녕하세요, 강의 잘 듣고있습니다.덕분에 파이썬에 재미를 붙이고 있어요.이건 사소한 궁금증인데요, 함수를 사용하다보면 어떤 함수는 함수를 적용하려는 인자 앞에 붙여서 사용하고, 어떤 함수는 함수를 적용하려는 인자 뒤에 붙여서 사용하더라고요. 이 둘의 차이가 뭔지 궁금합니다. 둘 다 함수라고 지칭하는 것이 맞긴한가요? 어떻게 검색해야 할지 모르겠어서 여기에 질문드립니다.예시)적용하려는 인자 앞에 붙여 사용하는 함수: print(), str(),...적용하려는 인자 뒤에 붙이는 함수(?):readlines(), rstrip(),....
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
해당 강의의 프로젝트 폴더 구조에 타입스크립트 api 관련 개발을 같이 넣을 수가 있나요??
안녕하세요.백엔드로 api 만들때의 프로젝트 폴더를 별도로 사용했었는데현재 개인 프로젝트를 진행할 때 리액트+타입스크립트로 프론트를 만들고해당 폴더에 백엔드인 nestJS + 타입스크립트 api도 같이 위치시키고 싶은데 어떤식으로 폴더안에 폴더를 만들고 위치 시키는지 정말 궁금합니다! 그 구조를 이미지나 간단하게라도 알려주실 수 있나요?src 폴더안에 front / back 이런식으로 분리시켜서 만들기도 하나요?그리고 리액트 프레임워크와 nestJS 프레임워크를 하나의 프로젝트 폴더 안에 같이 설치하는 것에는 문제가 없나요??
-
해결됨실전! Querydsl
Qhello와 EntityManager 오류 질문
버전은 3.0.9를 사용하였습니다.https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.iayahq64el0u 이거의Querydsl 부트 3.x 설정을 따라하여build.gradle은 이렇게 설정하였습니다.plugins { id 'java' id 'org.springframework.boot' version '3.0.9' id 'io.spring.dependency-management' version '1.1.2' } group = 'study' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') }build->clean을 하고 build->compileJava를 하니이런식으로 build에 Hello와 QHello가 같이 생겼습니다. (QuerydslApplication 까지) 그후 테스트를 다음과 같이 작성하였는데package study.querydsl; import com.querydsl.jpa.impl.JPAQueryFactory; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import study.querydsl.entity.Hello; import static org.assertj.core.api.Assertions.*; @SpringBootTest @Transactional class QuerydslApplicationTests { @PersistenceContext EntityManager em; @Test void contextLoads() { Hello hello = new Hello(); em.persist(hello); JPAQueryFactory query = new JPAQueryFactory(em); QHello qHello = new QHello("h"); Hello result = query .selectFrom(qHello) .fetchOne(); assertThat(result).isEqualTo(hello); //lombok 동작 확인 (hello.getId()) assertThat(result.getId()).isEqualTo(hello.getId()); } }여기서 첫번째 질문은 @Autowired를 사용하였을 때EntityManager em; 에서 em에 빨간줄이 뜨며 자동 주입을 할 수 없습니다. 'EntityManager' 타입의 bean을 찾을 수 없습니다 라는 오류가 발생 합니다. @Autowired대신 @PersistenceContext를 사용하면 해당 오류가 뜨지 않습니다. 왜 이런건가요?두번째 질문은 심볼 'QHello'을(를) 해결할 수 없습니다 오류가 발생합니다. 빌드에서 QHello와 Hello가 같이 생겨서 그럴까요?다른분들 질문들에 달린 답변들을 보고 따라해보았지만 해결이 되지 않습니다ㅜ
-
해결됨Java/Spring 주니어 개발자를 위한 오답노트
강의와 크게 상관은 없지만 공부의 방향성에 대해서 질문합니다.
저는 올해 4월에 입사해서 이제 막 4개월차 주니어 개발자 입니다.퇴근 후에 공부를 하려고 하다가 매번 생각이 많아지는 주제인데요.저의 주요 업무는 전자정부프레임워크 기반의 jsp사이트를 ui유지보수하는 업무입니다.더 좋은 회사를 합격하지 못해서 아쉽긴하지만 그래도 신입받아주는 회사들이 많이 없어서 일단은 기분좋게 다니려고 하고 있습니다. 그런데 회사 업무를 하는 데 앞서서 공부를 하려고 하다보면 자꾸만 그런생각이 들더라구요. jsp/mybatis 를 이렇게 까지 공부해야하나? 전자정부프레임워크 어차피 다른 서비스 기업으로 이직하게 되면 안쓸텐데 굳이 이렇게 공부해야할까 하고요.그래서 회사기술스택에 맞춰서 해야할지 지금듣고 있는 김영한님 스프링강의를 들으면서 개인 포트폴리오를 보강하는 것이 나은지 둘다 하면 되지않냐고도 할수 있지만 그게 정말 맞는 방법인지 하는 의구심이 듭니다.최우선적으로 뭘 중점적으로 해야하는지 우선순위를 명확하게 알고싶습니다!!
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
db1 - 스프링과 문제해결 예외처리,반복 강의 관련
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 예외 추상화 이해 파트 부분 강의에서 스프링이 제공하는 예외 변환기 부분에서 test 코드 짜실때 DataSource dataSource;@BeforeEachvoid init(){ datasource = new DriverManager~();}이런 식으로 작성하셨는데 @BeforeEach 안쓰고 @Test 코드 작성하기 전에 테스트 클래스 상위에 DataSource dataSource = new DriverManager~();이런식으로 작성하는건 안되나요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
Next 13으로 작업 중 Login 실행에서 경고를 받았습니다.
Layout.tsx의 return을 return ( <html lang="en"> <AuthProvider> <body>{children}</body> </AuthProvider> </html> )위와 같이 수정했을 때에, 경고가 Login을 실행했을 때 발생했습니다. 무시하면 안 되는 경고인것 같아 어떻게 해결하는지 궁금하여 질문 남깁니다.경고 내용:Warning: Cannot update a component (`Router`) while rendering a different component (`Login`). To locate the bad setState() call inside Login, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part2 - 메뉴와 4대 구성요소
40강 예제 수정해봤습니다
slide_xml1.xml 부터 slide_xml4.xml 까지 강사님께서 예제로 작성하신대로 할 경우 말씀하신 의도와는 다르게 animation이 발생합니다그래서 강사님께서 말씀하신 animation 효과를 받기 위해 수정한 사항입니다// slide_xml1.xml <translate android:fromXDelta="-100%" android:toXDelta="0%" android:duration="500"/> // slide_xml2.xml <translate android:fromXDelta="0%" android:toXDelta="100%" android:duration="500"/> // slide_xml3.xml <translate android:fromXDelta="100%" android:toXDelta="0%" android:duration="500"/> // slide_xml4.xml <translate android:fromXDelta="0%" android:toXDelta="-100%" android:duration="500"/>