묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
6분28 초 카테고리 부모와 자식
@ManyToOne @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>();부모와 자식을 이렇게 설정해준다는데,부모를 Many To One자식을 One To Many 로 해주는게 이해가 안갑니다.왜 이렇게 연관관계를 설정해 줘야 하는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Embeded 값 타입이 Delivery 에만 생성되고, Member 에는 생성이 안됩니다.
Address.javapackage jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.Embeddable; @Embeddable @Getter public class Address { private String city; private String street; private String zipcode; protected Address() { } public Address(String city, String street, String zipcode) { this.city = city; this.street = street; this.zipcode = zipcode; } } Member.javapackage jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import org.apache.tomcat.jni.Address; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; @Embedded private Address address; @OneToMany(mappedBy = "member") private List<Order> orders = new ArrayList<>(); } Delivery.javapackage jpabook.jpashop.domain; import javax.persistence.*; @Entity public class Delivery { @Id @GeneratedValue @Column(name = "delivery_id") private Long id; @OneToOne(fetch = FetchType.LAZY, mappedBy = "delivery") private Order order; @Embedded private Address address; @Enumerated(EnumType.STRING) private DeliveryStatus status; // ENUM [READY(준비), COMP(배송) } 코드는 위와 같습니다. 질문란에 검색을 해보니 과거에 저랑 완전히 똑같은 증상이 있으셨던 분이 질문 글을 남겨놓았더군요. 내용에 Member 테이블을 삭제한 후 다시 빌드한 뒤에 실행한 뒤 정상 작동했다고 확인했습니다. 저같은 경우는 어쩐 연유인지 테이블을 삭제하고 다시 실행해봐도 되지가 않아서 따로 문의드립니다. 🙏
-
미해결PHP 개발자의 최종 테크트리, 라라벨 강의
singleton 이 안되요
public function register(): void { // $this->app->bind(Acontroller::class, function($app){ $this->app->singleton(Acontroller::class, function($app){ return new Acontroller($app->make(Basecontroller::class)); }); } for문넣어서 70 70 70 은 실행이 되는데단순 위 주석에서 singleton 으로 변경한다고해서 강의처럼 70 140 210 으로 변경되지 않는데 어느부분을 확인해야 강의처럼 진행되는지 알수 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의3분13초_중간테이블
category와 item 은 서로 다대다 관계인데, 관계형 db는 다대다관계인경우 중간테이블을 설정해야 해서 category_item테이블이 온다 라고 이해하면 될까요?앞으로 추후 플젝 할때 다대다 관계이면 무조건 중간테이블을 설정해야지만 정상작동을 하는건지도 궁금해요
-
해결됨스프링 핵심 원리 - 고급편
인터페이스 기반 프록시 적용 후 orderController bean method 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]인터페이스 프록시를 적용한 뒤 프로젝트를 실행 하니 아래와 같은 오류가 발생했습니다.org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'orderControllerImpl' method hello.proxy.app.config.v1_proxy.interface_proxy.OrderControllerInterfaceProxy#request(String) to {GET [/v1/request]}: There is already 'orderControllerV1' bean method hello.proxy.app.v1.OrderControllerV1Impl#request(String) mapped.검색해보니 매핑 정보가 겹쳐있다고 나오는데제가 보기에는 어디가 겹친 건지 모르겠더라구요..강의 코드도 비교 해봤는데 비슷한거 같고..어디가 문제인지 궁금합니다.해당 오류가 발생한 OrderControllerInterfaceProxy와 OrderControllerV1Impl 코드 첨부합니다.ProxyApplication@Import(InterfaceProxyConfig.class) @SpringBootApplication(scanBasePackages = "hello.proxy.app") // app 패키지 하위만 컴포넌트 스캔의 대상이 된다. public class ProxyApplication { public static void main(String[] args) { SpringApplication.run(ProxyApplication.class, args); } @Bean public LogTrace logTrace() { return new ThreadLocalLogTrace(); } }OrderControllerInterfaceProxy@RequiredArgsConstructor public class OrderControllerInterfaceProxy implements OrderControllerV1 { private final OrderControllerV1 target; private final LogTrace logTrace; @Override public String request(String itemId) { TraceStatus status = null; try { status = logTrace.begin("OrderController.request()"); // target 호출 String result = target.request(itemId); logTrace.end(status); return result; } catch (Exception e) { logTrace.exception(status, e); throw e; } } @Override public String noLog() { return target.noLog(); } } OrderControllerV1Impl@Slf4j public class OrderControllerV1Impl implements OrderControllerV1 { private final OrderServiceV1 orderService; public OrderControllerV1Impl(OrderServiceV1 orderService) { this.orderService = orderService; } @Override public String request(String itemId) { orderService.orderItem(itemId); return "OK"; } @Override public String noLog() { return "OK"; } } OrderControllerV1 (인터페이스)@RequestMapping("/v1") // 스프링은 @Controller 또는 @RequestMapping 이 있어야 스프링 컨트롤러로 인식한다. (수동 등록 사용으로 @Controller 사용 안함) @ResponseBody public interface OrderControllerV1 { @GetMapping("/request") String request(@RequestParam("itemId") String itemId); @GetMapping("/no-log") String noLog(); }
-
미해결스프링 핵심 원리 - 기본편
현재까지 내용에서 개발 순서가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.복습중에 문득 궁금한 점이 생겨서 질문드립니다.강의에서는 각각의 객체를 만든 후 OCP나 DIP등의 문제를 발견하였고 AppConfig를 만들어 이를 해결했습니다.실무에서는 객체를 만든 후 AppConfig를 만드는지 혹은 전체적인 설계도를 작성한 후 객체 간 관계를 파악하여 먼저 AppConfig를 만든 뒤 객체를 채우는지 궁금합니다.
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
링크 변경 애러 질문
###############################!!링크변경!!############################################################################# name = ['호박즙'] ns_address = "https://smartstore.naver.com/goldhouse/products/2698413198?n_keyword=&n_rank=1&n_query=%ED%98%B8%EB%B0%95%EC%A6%99&n_campaign_type=2&n_media=11068&n_campaign=cmp-a001-02-000000006259509&n_ad_group=grp-a001-02-000000031918432&n_ad=nad-a001-02-000000225350866&n_match=3&n_network=search&n_mall_id=ncp_1nm8fw_01&n_mall_pid=2698413198&n_ad_group_type=2&n_keyword_id=&n_ad_extension=&NaPm=ct%3Dlhelvdj4%7Cci%3D0z800028I5vytTVpXKYs%7Ctr%3Dpla%7Chk%3Dca9985f6cfe1114e75168d87872e9d4dd1a915ad" shoppingmall_review = "/html/body/div[2]/div/div[3]/div[2]/div[2]/div/div[3]/div[4]/div/div[3]/ul/li[2]/a" category_total = "/html/body/div[2]/div/div[3]/div[2]/div[2]/div/div[3]/div[6]/div/div[3]/div[1]/div[2]/ul/li[1]/a" ############################################################################################################ header = {'User-Agent': ''} driver.implicitly_wait(3) driver.get(ns_address) req = requests.get(ns_address,verify=True) html = req.text soup = BeautifulSoup(html, "html.parser") sleep(2) # 2023.05.08 변경 find_element_by_xpath TO find_element # element=driver.find_element_by_xpath(shoppingmall_review) element=driver.find_element(By.XPATH, shoppingmall_review) driver.execute_script("arguments[0].click();", element) sleep(2)예시에서 링크를 변경해서 대입해보면 아래와 같은 애러가 발생하네요..! 뭐가 문제일까요? NoSuchElementException Traceback (most recent call last) <ipython-input-5-15bf827fd88a> in <cell line: 10>() 8 # 2023.05.08 변경 find_element_by_xpath TO find_element 9 # element=driver.find_element_by_xpath(shoppingmall_review) ---> 10 element=driver.find_element(By.XPATH, shoppingmall_review) 11 driver.execute_script("arguments[0].click();", element) 12 sleep(2) /usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py in check_response(self, response) 243 alert_text = value["alert"].get("text") 244 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 245 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[2]/div/div[3]/div[2]/div[2]/div/div[3]/div[4]/div/div[3]/ul/li[2]/a"} (Session info: headless chrome=90.0.4430.212) Stacktrace: #0 0x55d22a7987f9 <unknown> #1 0x55d22a7383b3 <unknown> #2 0x55d22a480016 <unknown> #3 0x55d22a4b481e <unknown> #4 0x55d22a4ea8fb <unknown> #5 0x55d22a4d7ded <unknown> #6 0x55d22a4e89e1 <unknown> #7 0x55d22a4d7c93 <unknown> #8 0x55d22a4a9ce4 <unknown> #9 0x55d22a4ab4d2 <unknown> #10 0x55d22a764542 <unknown> #11 0x55d22a773ce7 <unknown> #12 0x55d22a7739e4 <unknown> #13 0x55d22a77813a <unknown> #14 0x55d22a7745b9 <unknown> #15 0x55d22a759e00 <unknown> #16 0x55d22a78b5d2 <unknown> #17 0x55d22a78b778 <unknown> #18 0x55d22a7a3a1f <unknown> #19 0x7f091bdac609 start_thread #20 0x7f091afc0133 clone
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
질문있어요.
setting.jason이 그냥 비어있던데 강사님처럼 똑같이 타이핑 후 3줄을 적어야하나요? 아니면 3줄만 입력하면 되나요?강사님처럼 똑같이 입력해야한다면, 3줄 중 마지막 한줄이 중복되는데 어떻게 하나요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
시간복잡도
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 강사님강사님이 푸신 방법대로 하면 각 동전의 개수가 동전 종류의 개수 만큼 루프를 돌아야 해서 11(각 동전이 가질 수 있는 최대 가짓수)^10(동전 종류의 최대 개수)여서 시간복잡도가 굉장히 높아지는거 같은데 제가 계산한 시간 복잡도가 맞을까요?
-
미해결컴퓨터활용능력 1,2급 필기 - 컴퓨터 일반
필기 책 구매 해야할까요??
사야한다면 2021년 개정판으로 구매하면 될까요??
-
해결됨스프링 시큐리티
Intellij git branch 하이라이팅 방법
안녕하세요. 강의 잘 듣고 있습니다. 세션 4 강의 내용을 보고 있는데.. 선생님 intellij 왼쪽 상단에 git branch 가 highlighting 되어 분홍색(?) 으로 표시되는 신기한 걸 봤네요. 이거 어떻게 하는 건가요? 좋은 기능 같아서요. plugin 이면 어떤 plugin 을 설치해야 되는지 알려주실 수 있는지요?
-
미해결[웹 개발 풀스택 코스] HTML&CSS 기초
개인적인 질문이요
자바와 스프링부트로 만든 웹사이트랑자바스크립타와 노드로 만든 웹사이트랑스팩적인 차이가 있나요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
백준2178 제출 메모리 초과
http://boj.kr/9e4dc18b53ee4679be7d8a7e07c45439안녕하세요 선생님 수업 잘 듣고있습니다! 다름이 아니라 위의 코드는 제가 쓴코드인데 선생님 코드와 비교해보았을때 거의 90%이상이 일치하며 논리또한 거의 대부분이 일치한다고 느끼는데 제 코드에서 메모리초과가 발생합니다. 도저히 이유를 알 수가 없어서 이렇게 질문 올립니다 . 감사합니다!!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
templates html 실행
현재 IDE은 이클립스 사용중입니다.내용은 모두 강의와 동일하고, 아래와 같이 html파일들을 위치시켰을 때, static에 저장된 index.html은 실행이 잘되는 반면에 templates에 저장된 hello.html과 hello-template.html은 가져오지 못하고 whitelabel error page 로 연결되는 오류가 발생합니다.어떤 부분이 잘못되었는지 확인해봐야 하나요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
JDBC 반복 문제 해결 - JdbcTemplate에서 이거도 결국 AOP기술인가요?
마지막에 리포지토리까지 깔끔하게 만들었는데 이거도 서비스 로직에서 AOP사용하는 거처럼 같은 원리인거도 같은데 MemberServiceV4Test에서 @Test void AopCheck() { log.info("memberService clas={}", memberService.getClass()); log.info("memberRepository clas={}", memberRepository.getClass()); Assertions.assertThat(AopUtils.isAopProxy(memberService)).isTrue(); Assertions.assertThat(AopUtils.isAopProxy(memberRepository)).isFalse(); }얘는 잘 작동하더라구요Assertions.assertThat(AopUtils.isAopProxy(memberRepository)).isFalse(); 로요JdbcTemplate는 프록시객체 만들어서 넣어주는 방식이 아닌가여? 사실 앞으로 고급편까지 듣긴할건데 그때 나오겠죠?..
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
webapp에 대해 궁급합니다
[질문 내용]여기에 질문 내용을 남겨주세요.main> webapp> index.html 의 경로로 설정하면 localhost:8080 실행시 기본으로 index.html 이 실행되고 이것이 welcome 페이지인 것은 이해하였습니다.그럼 webapp을 컨트롤러를 사용하지 않아도 파일을 열 수 있도록 해주는 디렉토리 정도로 이해해도 될까요? 무조건 실행되는..?근데 이렇게 생각하면 왜 basic.html도 있는데 index.html이 실행되는건지 헷갈리기도 하고.. webapp의 정의? 원리? 를 잘 모르겠습니다.. 답변 부탁드리겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
학습자료 실행 관련 문의
안녕하세요 학습자료 다운로드 후 실행 관련해서 질문 드립니다..csproj파일이 있는 클라이언트 폴더를 유니티로 실행 시키고, 게임 씬을 더블클릭 하고 실행했는데 작동이 되질 않더라구요. 보면 하이라키에 있는 인스턴스들이 보이질 않는데 매번 프로젝트를 실행할 때마다 하이라키를 추가를 해줘야 하나요???또 전체 흐름 로그를 한번 찍어보고 싶은데 어떤 식으로 찍어봐야 할지 모르겠습니다.
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
vercel 배포 후 지도서비스가 네이버 API key인증 실패관련문의..
안녕하세요~버셀에 프로젝트를 베포할때 .env 파일에 있는NEXT_PUBLIC_NCP_CLIENT_ID와 키넘버를 vercel에 직접 입력했는데요..env 파일도 있고요. 결론적으로 둘다 입력하고 파일을 가지고 있는 경우에는 네이버 클라우드에 도메인을 등록하더라도 API Key 인증에 실패되나요?페이지를 새로고침 했을 시 지도가 잠깐 정상적으로 떳다가 바로 인증에 실패했다고 뜨지 않습니다 ㅠㅠ
-
미해결홍정모의 따라하며 배우는 C언어
2차원 배열에서 arr[0]+1 과 &arr[0]+1 의 차이
#include <stdio.h> int main() { float arr2d[2][4] = { {1.0f,2.0f,3.0f,4.0f},{5.0f,6.0f,7.0f,8.0f} }; printf("%f, %f\n", *(arr2d[0] + 1), **(&arr2d[0] + 1)); printf("%llu, %llu", (unsigned long long)(arr2d[0] + 1), (unsigned long long) ( & arr2d[0] + 1)); // 12 차이 }위의 예제에서 arr2d[0]+1은 arr2d[0][1]의 주소이고, &arr2d[0]+1은 arr2d[1][0]의 주소라고 나오는데요그냥 c언어의 문법이 그런 것인지, 아니면 어떤 이유가 있는 것인지가 궁금합니다.또한, 위의 예제에서 [0][1]번째의 값인 2.0과 [1][0]번째의 값인 5.0을 출력하고자 할때, 후자의 경우에만 indirection을 두번 해줘야 하는 이유가 알고 싶습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. BindingResult가 model로 자동 등록되서 타임리프 코드에서 th:object="${item}"이 여기서 등록된걸 참조하는것 같은데요 @ModelAttribute도 model로 자동 등록하지않나요? 그러면 item이라는 이름으로 model에 등록된게 같은이름으로 2개가 아닌지요?