묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
C++ 교안이 잘못 올라간것 같아요.
교안 다운로드 항목을 꼭 눌러서 확인해 보세요.알고리즘 문제 링크관련 업로딩 되어 있습니다. C++ 교안 다운로드 안됩니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@ResponseBody를 붙여주는 이유가 궁금합니다.
@ResponseStatus(HttpStatus.OK) @ResponseBody @GetMapping("/response-body-json-v2") public HelloData responseBodyJsonV2() { HelloData helloData = new HelloData(); helloData.setUsername("userA"); helloData.setAge(20); return helloData; } 위에 코드에서는 객체를 리턴하는데 기본값, String이 아니라 뷰 리졸버가 작동하지 않을거 같습니다. 그런데 @ResponseBody를 붙여주는 이유가 궁금합니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
add, edit, delete 할때마다 db에서 re-fetch 하면 어떻게 될까요?
안녕하세요 수업 듣던 중 궁금한 게 생겼습니다.현재 request action을 dispatch할 때, reducer도 바꾸고, saga도 바꿔서예를들어 post를 add 할땐 unshift()를 쓴다던지, delete할땐 filter()를 쓴다던지 해서 db 뿐만 아니라 post들을 프론트 단에서도 계속 상태를 업데이트 해주고 있잖아요. 근데 만약에, add, edit 또는 delete를 해주는 request action의 경우에는saga로만 request action을 dispatch하고, 비동기 요청이 성공했을 때마다, 그것에 대한 follow up request로 다시 처음부터 변경된 모든 post들을 db로부터 가져오면 어떨까요? 이미 db에서 post들의 상태가 업데이트 됐는데, 프론트에서도 post들의 상태를 업데이트 하게 되면 일을 2번 하게 되는 거니까 코드만 더 길어지는 거 아닐까? 궁금하고요.프론트에서 한번 더 post들의 상태를 업데이트 했을 때 얻는 이점이 무엇인지도 모르겠습니다. 제가 드리고 싶은 질문이 글로 잘 전달이 됐는지 모르겠는데, 만약 제 질문이 이해가 되셨다면 둘의 장단점을 알려주시면 감사하겠습니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
게시글 개별 조회 첫 렌더링 시null 문제
안녕하세요 선생님. 게시글 개별조회를 할 때 처음에는 singlePost가 null이라고 했다가 새로고침을 하면 데이터가 로드되는 부분은 어디를 봐야 하나요?개별 게시글 조회 컴포넌트에서 getServerSideProps로 dispatch type은 개별 게시글 조회, data는 context.params.id를 보내서 받아오고 있습니다.에러가 뜰 때 콘솔 창에서는 개별 게시글 조회 컴포넌트 다음으로 _app.js를 가리키는데, 이 컴포넌트는 모양도 단순하고 노드버드와 차이가 없어서 어딜 봐야 하는지 모르겠습니다..조언 부탁드립니다 선생님
-
해결됨[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
전자정부 프레임워크를 굳이 사용 안 해도 괜찮을까요?
안녕하세요. Spring Framework와 JSP를 공부하고자 이 강의를 구매했는데요.전자정부 프레임워크는 쓰고 싶지 않은데, 실습 시 필수로 해야되는 건 아니죠?즉, Spring Framework 환경에서 해도 괜찮은지 여쭙고 싶습니다. 비슷한 질문이 있는 것 같은데 조금 헷갈려서 다시 질문드립니다~ 여담으로, 박매일 선생님 강의 Java TPC부터 잘 보고 있습니다~ 감사합니다~
-
미해결실전! 스프링 데이터 JPA
질문 join
@Entity public class board { @Id @GeneratedValue @Column(name = "bno") private Long id; private String filename; }file에서 board를 join했습니다. @Query("select f from file f join fetch f.board on f.board =: bno") List<file> findByBno(@Param("bno") int bno); }이부분에서 int로 board.getId 로 넘겨서 위와같이 join을 하고 싶은데 안됩니다board의 pk값을 file에서 where을 걸었는데 안됩니다.오류 :Caused by: java.lang.IllegalArgumentException
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
코드에 이상이 없는데 서버실행시 아무것도 나오지 않습니다.
섹션7. 프론트엔드 부분까지 진행을 하고, 마지막에 서버를 실행시키는데,계속 흰색 화면만 나와서,예제코드 올려주신거랑 한줄한줄 복붙해서 비교해가면서, 다 점검을 했습니다.톳씨하나 아무 이상이 없는 것을, 확인했는데도서버를 실행시키면, 흰색화면만 떠서,이건 코드문제가 아닌거 같아서, 제가 작성한 코드가 들어있는이 폴더를 복사해서,예제코드에 덮어쓰기로 붙여넣기 해서, 덮어씌운다음에예제코드를 열어서, 서버를 실행하고 확인해봤습니다.충격적이게도 잘 나왔습니다.이렇게 잘 나오는데...왜 제가 설치한 모듈,패키지들이 있는 환경의 폴더에서는, 흰색화면만 나오는지 정말 이해가 안갑니다.별다른 에러코드는 나오지 않았습니다.제 코드의문제는 아닌거 같고, 모듈이나 패키지의 버젼이 다른 환경이라서 그런거같습니다.이게 제가 설치한 패키지 버젼 목록이고, 이게 예제코드에 있는 패키지 버젼 목록입니다.두 코드 모두 섹션17. AS 강의 graphql-ws를 통한 subscription 구현 은 적용되어 있는 상태입니다.코드는 동일한데, 예제코드환경에서는 실행이 되니, 뭐가 문제인지 이해가 가질 않습니다. 흰화면만 떠서 이후 수업진행이 어려운상황입니다.확인하실지는 모르겠으나, 혹시몰라 제 프로젝트폴더를 압축한파일 링크도 올려드려봅니다.https://drive.google.com/file/d/1BMbVfa9nBlK32uO-CnwLGZh-uVfz9fZM/view?usp=share_link이부분 도움을 어떻게 받는 방법이 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
쓰기지연SQL저장소는 정말 스냅샷과 비교하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)CrudRepository의 Save 함수는 파라미터로 전달받은 객체의 PK컬럼의 값 존재 유무에 따라서 값이 없을 경우 persist 함수를 이용해, 값이 있을 경우 merge 함수를 통해 객체를 영속화 하는 메서드로 이해 하고 있습니다. 우선 저는 이러한 엔티티를 가지고 있습니다.package my.test.testproject.domain; import lombok.Getter; import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import javax.persistence.*; @Entity @Getter @Setter @ToString @Table(name = "person") @DynamicInsert @DynamicUpdate public class Person { @Id Long id; String name; public Person() { } public Person(Long id, String name) { this.id = id; this.name = name; } }그리고 이러한 코드가 실행이 됩니다@Test @Transactional void PersonTest9() { Person person = new Person(300L, "Firmino"); personRepository.save(person); }참고로 Id가 300인 데이터는 이미 실제 데이터베이스에 존재하고 있습니다.이 경우에 save를 호출할 경우 PK값이 존재하기에 merge를 호출하고 객체가 영속화 되어서 트랜잭션이 커밋되면 변경감지를 통해 쓰기지연SQL저장소에 SQL이 생성이 될텐데 바로 이 SQL이 생성되는 과정에서 궁금한 점이 있습니다. 이 트랜잭션에서 Id가 300인 엔티티가 처음 영속화 되었습니다. 쓰기지연 SQL저장소에 SQL을 생성할때 스냅샷과 비교해서 SQL을 생성하는것으로 알고 있는데 그렇다면 이경우에는 제 예상에는 Insert 쿼리가 생성이 되어서 실행시 에러가 나야할것 같은데 실제로 실행을 해보면 select쿼리가 실행됩니다Hibernate: select person0_.id as id1_1_0_, person0_.name as name2_1_0_ from person person0_ where person0_.id=?결국 PK에 값이 있는 엔티티가 merge를 통해서 영속화 되었을때 이것을 쓰기지연 SQL저장소에 SQL을 만들때 스냅샷이 아닌 실제 데이터베이스와 비교해서 쿼리를 생성하는 것입니까? 제가 잘못 이해하고 있는 부분들이 있다면 알려주시기 바랍니다ㅠㅠ
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
2606번
이 문제를 DFS로 풀려고 시도했는데, 재귀 함수 호출 제한이 뜹니다.제가 쓴 코드는 이렇습니다. 어떻게 해결해야 할까요?import sys input = sys.stdin.readline a = int(input()) b = [[0] * (a+1) for _ in range(a+1)] for _ in range(int(input())): c, d = map(int, input().split()) b[c][d] = 1 res = [] def DFS(x, y): if b[x][y] == 1: for i in range(1, a+1): DFS(y, i) else: return for i in range(1, a+1): DFS(1, i) print(len(res))
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequestBody의 동작과정이 궁금합니다..!
@RequestBody의 동작과정이 궁금합니다..!HttpEntity를 통해 요청을 받아와서 거기서 .getBody()를 통해 갖고오는게 맞을까요?내부과정을 직접 확인하고 싶은데.. 어떻게 확인해야할지도 알려주시면 감사하겠습니다
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시의 특징 질문
안녕하세요! 영한님질문 드립니다. 질문 1)만약 동일한 트랜잭션안에서 처음에 em.getReference()를 사용하면 프록시 객체를 반환하고, em.find()를 사용해도 프록시 객체를 반환한다.반대의 경우 동일한 트랜잭션안에서 처음에 em.find()를 사용하면 실제 엔티티가 반환되고, em.getReference()를 사용해도 실제 엔티티를 반환한다.제가 이해한게 맞을까요? 질문 2) em.getReference() 를 사용하여 프록시 객체를 조회한 프록시 객체도 결국 EntityManager를 사용하여 조회한 것이기 때문에 영속성 컨텍스트에서 관리되는 것 같은데 맞을까요? 감사합니다.^^
-
미해결스프링 시큐리티
순환 참조 오류 문의드립니다.
안녕하세요 강의 내용을 따라 코딩을 했는데 순환 참조 문제가 생겨 문의 드립니다.securityConfig와 AppConfig 설정에서SecurityResourceService를 생성하면서 생긴 문제인데요.깃허브에 강의 자료를 확인해보니 영상에서 설정한 로직과 securityConfig 로직이 많이 다르더라구요.임시로 application.properties에 spring.main.allow-circular-references=true 설정 하여 구동은 되지만 해결방법을 찾지 못하여 강사님께 도움을 요청 드립니다..
-
미해결Glide를 활용한 노코드 프로토타이핑의 기초
Collection item action
안녕하세요 좋은 강의 감사합니다! 구매 승인하기 반려하기 버튼 넣으려고 하는데제 화면에는 collection iten action이라는 요소가 안 보이는데 왜 그런지 알 수 있을까요? 처음에 프로젝트 만들 때 부터 강사님이랑 화면이 약간 달랐는데 비슷해서 그냥 시작했거든요 혹시 그거랑 관련이 있을까요? 혹시 프로젝트 만들 때도 강사님이랑 같은 화면 구성으로 할 수 있는지도 알려주시면 감사하겠습니다제 화면입니다
-
해결됨토비의 스프링 부트 - 이해와 원리
테스트에서의 @Transactional 사용에 대해 질문이 있습니다.
안녕하세요 토비 선생님!강의 너무 재밌게 잘 듣고 있습니다. 이제 몇개 남지 않아서 많이 아쉽네요. 다름이 아니라 테스트 코드 작성시 `@Transactional` 어노테이션의 사용에 대해 질문이 있습니다. 저는 롤백테스트 작성을 위해 @Transactional 을 애용해왔는데요,,얼마전 업무를 보다가 이상하게 테스트 코드는 잘만 통과를 하는데 같은 코드가 서버에 띄웠을때는 의도대로 동작을 안하더라고요. 한참을 씨름하다 알고보니 엔티티를 변경하고 JPA 변경감지로 변경하도록 의도한 코드인데 트랜잭션 경계 밖에서 변경을 하고 있었더라고요.이후로는 찾아보니 테스트 코드에서 @Transactional을 사용하지 말라는 이야기가 많아 안쓰려고 노력을 해보는데 테스트 후 전부 롤백시키는게 만만치가 않더라고요. @AfterEach로 리포지터리를 다 불러와서 하나씩 돌려놓는것도 일이고..개인적으로는 @Transactional 대신에 단순히 전체 테스트에 대해 DB 롤백을 해주는 어노테이션이 별개로 있었으면 더 좋지 않았을까 하는 아쉬움도 있더라고요.스프링에서 굳이 서로 다른 용도의 기능을 하나의 어노테이션으로 공유하는 이유가 있을까요? 트랜잭션 경계라는 점에서는 공통점이 있다지만 각각의 기능으로 분리되었어도 되지 않았을까요?AfterEach 넣어서 리포지터리 하나하나 불러와 일일히 초기화 해 주는 대신 @Transactional 만큼 코드가 깔끔해지면서 테스트코드에 @Transactional을 쓰면 생기게 되는 문제를 해결하는 방법이 있을까요? 혹은 사실 알고보면 테스트에 @Transactional을 쓰는게 좋은건데 제가 잘못 오해하고 있었을까요? 요즘 테스트 코드를 작성할때마다 고민이 많았는데 제가 한동안 검색한 결과로는 쉽게 결론을 내기가 힘들었습니다.더 나은 코드작성에 꼭 도움이 필요해서 실례를 무릅쓰고 질문글을 올려봅니다.감사합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
materialstateProperty 다른 메소드관련질문
materialstateProperty.resolveAsmaterialstateProperty.lerp이 두가지 메소드가 더있던데 이들을 간단하게 설명해주실수있나요?
-
미해결스프링 시큐리티
savedRequest 관련 질문
안녕하세요 강사님.savedRequest 관련해서 여쭤보고 싶습니다.requestCache.getRequest(request, response)여기서 /resource/img... 이런 형태의 전혀 이상한 url을 가져옵니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
swagger 3 질문입니다.(Step 24)
안녕하세요 springboot 3에서는 swagger 2를 이용할 수 없더라구요.( 추가로 강의자료에서 제공해주신 springfox3 버전을 이용해도 index.html에 접속이 되질 않아 springdoc으로 진행하는 상황입니다.)그래서 springdoc, swagger3를 사용하여 http://localhost:8088/swagger-ui/index.html로 들어가 실습을 진행하고 있습니다.강의자료를 참고하여 springfox형식을 springdoc에 맞춰 작성하여 info, contact,license 까지 확인할 수 있었습니다. 그런데 produce,consume 부분을 구현하지 못했는데 springdoc에서는 produce,consume이 없어진건가요? 아니면 다른 방법이 있을까요? 강의자료는 springfox 기준이라서 아직 produce, consume 부분을 해결하지 못한 상태입니다.package com.example.restfulwebservice.config; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.mvc.condition.ProducesRequestCondition; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @Configuration public class SwaggerConfig { private static final Contact CONTACT = new Contact().name("Kenneth Lee") .url("http://www.joneculsting.co.kr") .email("edowon@joneconsluting.co.kr"); private static final License LICENSE= new License().name("Apache 2.0") .url("http://www.apache.org/licenses/LICENSE-2.0"); private static final Info INFO = new Info().title("Awesome API Title") .contact(CONTACT) .description("Awesome API Documentation") .version("1.0") .license(LICENSE) .termsOfService("urn:tos"); private static final Set<String> DEFAULT_PRODUCES_AND_CONSUMES = new HashSet<>(Arrays.asList("application/json", "application/xml")); @Bean public OpenAPI springShopOpenAPI() { return new OpenAPI().info(INFO).; } }
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
개발자 모드에서 클래스 항목 갯수 찾는 부분은 어떻게 설정할 수 있나요?
이부분 설정을 어떻게 하는지 궁금합니다. 검색해도 못찾겠습니다~ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-O 질문입니다.
http://boj.kr/f084aebaceb24ec69e9a3306fc036ddb2주차의 벽세우기 문제처럼가로선 추가할 수 있는 모든 후보들을 vector에 집어넣고하나 선택하고 안 되면 2개 선택하고 또 안 되면 세개 선택하는 방식으로 풀었는데강의에서 말씀해주신대로 모든 경우의 수를 다 따져도 시간 초과가 안 날 거 같은데 시간초과가 납니다무엇이 문제일까요?is_valid() 함수는 가로선을 하나 추가했을때 겹치는지 확인하는 함수이고is_connected() 함수는 하나씩 사다리 타서 문제의 조건 (시작점과 도착점이 같은 것)에 맞는지 확인하는 함수입니다
-
미해결코딩테스트 [ ALL IN ONE ]
11:50 동적 배열
O(n)이 되는 것들은 대부분 '한칸씩 한칸씩' 옴겨 가기 때문이라고 하셨는데 이것이 '변수를 칸안에 집어 넣는 것'을 한 두 번만 해도 되면 O(1) 이 되고 '변수를 칸안에 집어 넣는 것'을 계속 한칸한칸 n번 해야 하면 O(n)이 되는 건가요?