묻고 답해요
132만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨홍정모의 따라하며 배우는 C언어
5분 41초경 7분 45초경 질문
여기서객체가 생기는 위치가 딱 고정되어 있냐 아니냐 그 기준으로 보시면 됩니다.이 부분이 잘 이해가 안되는데객체가 생기는 메모리의 위치가 객체가 고정되는 특징(데이터 또는 BSS segment의 특징?)을 가지고 있냐 아니냐이렇게 교수님 말씀을 이해해도 괜찮을까요? 그리고7분 45초 에서 교수님이 하시는 말씀의 순서가 좀 복잡해서 이해가 잘 안됬는데사실은 프로그래머들이 편리하도록 자동적으로 영역과 지속 기간을 관리해주는 성질을 가질 수 있게스택이란 공간을 만들고 거기에 저장을 하는 것이다.라고 제가 정리를 좀 해봤어요 이 정리가 맞는 표현인가요? 항상 좋은 답변 정말 감사합니다.
-
해결됨실전! FastAPI 입문
BackgroundTask 인자값 전달
안녕하세요 강사님 강의 재밌게 잘보고 있습니다BackGround task 강의에서 궁금한게 생겨서 질문 남깁니다. 아래는 verify_otp_handler 의 선언부인데def verify_otp_handler( request : VerifyOTPRequest, background_tasks : BackGroundTasks ... ) backgound_tasks 라는 객체는 DI로 받지도 않고 있는데 어떻게 함수 내부에서 사용될 수 있는지가 궁금합니다. request 라는 객체는 request 헤더부에서 넘어온 값이 프레임워크에 의해서 VerifyOTPRequest로 전처리되거라 어디서부터 왔는지 그 출처를 알겠지만, backgound_tasks는 DI도 되지 않았고 헤더부에서 넘어온 것도 아닌데 어떻게 생성된건지 궁금합니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
명령 프롬프트
메모장에 복사 했습니다
-
해결됨Practical Testing: 실용적인 테스트 가이드
@SQLRestriction으로 논리적 삭제 필드에 대한 tearDown에 대해 궁금합니다.
안녕하세요.강의를 들은 후 테스트 코드 작성을 연습하고 있습니다.엔티티에서 Soft delete를 위한 필드(isDeleted)가 정의되어 있습니다.Soft delete가 된 데이터는 조회할 필요가 없기 때문에 엔티티에 @SQLRestriction("is_deleted = false")를 정의했습니다.테스트 코드에서 해당 어노테이션 때문에 tearDown() 메서드 동작시 문제가 발생했습니다..deleteAllInBatch()가 실행될 때, where 조건이 포함되기 때문에 데이터가 삭제되지 않습니다. 상품 목록 조회에 대한 테스트 코드를 작성할 때, soft delete 된 데이터는 빠지고 정상적인 데이터만 조회되는지 보려고 isDeleted = true 값을 준 테스트 데이터도 생성해서 테스트 코드를 작성했습니다. 해당 경우에는 어떤식으로 테스트 코드를 작성해야 할까요? isDeleted = true 테스트 데이터를 만들지 않는다.@SQLRestriction("is_deleted = false") 를 사용하지 않고, 쿼리 조회 시 IsDeletedTrue 조건을 주도록 한다.위 방법이 아닌 Best Practice가 있는지 궁금합니다. 아래는 테스트 코드 예시 입니다.@SQLRestriction("is_deleted = false") 적용된 엔티티 예시입니다.@Entity @SQLRestriction("is_deleted = false") @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Product extends BaseDateTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "product_id") private Long id; @Column(length = 50) private String name; private Boolean isDeleted; @OneToMany(mappedBy = "product", cascade = CascadeType.ALL) private List<ProductOption> productOptions = new ArrayList<>(); // ... 중략 }@Entity @SQLRestriction("is_deleted = false") @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class ProductOption extends BaseDateTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "product_option_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "product_id") private Product product; @Column(length = 30) private String name; private Boolean isDeleted; // ... 중략 } isDeleted = true 테스트 데이터를 포함한 테스트 코드 예시입니다.class ProductServiceTest extends ServiceTestSupport { @Autowired private ProductRepository productRepository; @AfterEach void tearDown() { productOptionRepository.deleteAllInBatch(); productRepository.deleteAllInBatch(); } @Test @DisplayName("상품 목록을 조회한다.") void getSellingProducts() throws Exception { // given ProductOption productOption1 = createProductOption("옵션1", false); ProductOption productOption2 = createProductOption("옵션2", false); ProductOption productOption3 = createProductOption("옵션3", false); ProductOption productOption4 = createProductOption("옵션4", true); // isDeleted = true ProductOption productOption5 = createProductOption("옵션5", false); ProductOption productOption6 = createProductOption("옵션6", true); // isDeleted = true Product product1 = createProduct("상품1", false, List.of(productOption1, productOption2)); Product product2 = createProduct("상품2", false, List.of(productOption3, productOption4)); Product product3 = createProduct("상품3", true, List.of(productOption5, productOption6)); // isDeleted = true productRepository.saveAll(List.of(product1, product2, product3)); // ... 중략 // when List<product> products = productService.getSellingProducts(); // then // ... 중략 } // ... 중략 } deleteAllInBatch() 메서드가 실행된 후 로그 입니다.Hibernate: delete from product_option where ( product_option.is_deleted = false ) Hibernate: delete from product where ( product.is_deleted = false ) org.springframework.dao.DataIntegrityViolationException: JDBC exception executing SQL [delete from product where (product.is_deleted = false)] [Referential integrity constraint violation: "FKN4HMM6EX1VGN60C6UIQTE400F: PUBLIC.PRODUCT_OPTION FOREIGN KEY(PRODUCT_ID) REFERENCES PUBLIC.PRODUCT(PRODUCT_ID) (CAST(3 AS BIGINT))"; SQL statement: delete from product where (product.is_deleted = false) [23503-224]] [n/a]; SQL [n/a]; constraint ["FKN4HMM6EX1VGN60C6UIQTE400F: PUBLIC.PRODUCT_OPTION FOREIGN KEY(PRODUCT_ID) REFERENCES PUBLIC.PRODUCT(PRODUCT_ID) (CAST(3 AS BIGINT))"; SQL statement: delete from product where (product.is_deleted = false) [23503-224]] 감사합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
객체지향 코드
안녕하세요, 강사님 덕분에 자바를 공부하는데 조금 수월해진 수강생입니다.객체지향을 공부하면서 자신이 작성한 코드가 정말 좋은 코드인지 항상 보는데 어떤건 바로 눈에 띄는데 어떤건 바로 눈에 안 띄어 작성한 코드가 좋은 코드인지 잘 판단하기 어려운 단계에서는 어떻게 스스로 리뷰를 해야 좋은지 여쭙고싶습니다
-
미해결김영한의 실전 자바 - 기본편
중급편 완강 후 스프링
방금 중급편 오픈 예정 글을 보고 왔습니다!혹시 중급편에서 예외처리와 제네릭 컬렉션에 관해서 공부 후에 고급편 듣지 않고 바로 스프링으로 넘어가도 되나요?!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
logging.level.org.apache.coyote.http11=debug 설정 적용이 안되는 것 같습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의 내용대로 logging.level.org.apache.coyote.http11=debug 설정을 적용하였는데 콘솔에 관련 로그가 출력이 안됩니다. 스프링부트 버전업 이후에 더이상 해당 설정을 지원 안하는걸까요?스프링부트 버전 : 3.2.3패키징 : War자바 버전 : 17의존성 : 강의에 나온대로 추가했습니다빌드 및 실행, 테스트 : 인텔리제이요청 url : http://localhost:8080/hello?username=김아래는 설정 적용 후 로그 출력 사진입니다
-
미해결실전! Querydsl
QueryDSL 환경 설정 질문
안녕하세요, QueryDSL 환경 설정 관련하여 질문드립니다.사진과 같이 QueryDSL 관련한 라이브러리들을 받기 위해 설정했는데요. build.gradle 새로고침을 아무리해도Gradle -> Tasks -> other -> compileQuerydsl에서 compileQuerydsl이 보이지 않습니다. 문제가 뭘까요?
-
미해결스프링 핵심 원리 - 기본편
인텔리제이 코드창 및 core패키지 초기화 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]첫 번째 사진의 화면에서 강의에 나와있는대로 CoreApplication 클래스의 코드를 실행 할 겨우 밑에 있는 사진 처럼 콘솔창은 정상적으로 작동하는거 같지만 코드 창이 초기화면 으로 돌아가는 오류가 발생합니다. 또한 command+tab을 하여 다른 창을 보고 다시 인텔리제이로 돌아 올 경우 밑에 사진처럼 core 패키지가 사라졌다 조금 기다려야 다시 나옵니다.인텔리제이를 삭제 후 재설치 해보기도 하였고 인텔리제이 파일 창에서 캐시삭제와 설정 초기화도 해보았지만 해결되지가 않습니다 ㅠㅠ 제발 해결방법 좀 알려주시면 감사하겠습니다.추가로 그냥 코드창을 띄어놓고 알트탭하여 인터넷창을 보고 돌아와도 코드창이 위 화면처럼 사라지며 core패키지가 사라졌다 다시 생깁니다. 참고로 스프링은 Gradle-groovy 프로젝트spring boot : 3.2.3 버전packaging : jarjava : 21로 ppt 와 강의 내용 그대로 설정하였습니다.제발 부탁드리겠습니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 편의메서드 개인질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 있긴한데 좀 다릅니다3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]연관관계 편의메서드와 관련된 질문입니다.public void setMember(Member member) { this.member = member; member.getOrders().add(this);}public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this);}public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this);}공부하던 도중 일대다, 다대일, 일대일 연관관계 매서드가 모두 다른 것을 발견했습니다. 제 궁금증은 다대일에서는 왜 meber.getOrders().add(this)로 세팅하고 일대일이나 다대일에서는 orderItem.setOrder(this)로 세팅하는지 궁금한 것 입니다.커뮤니티에 관련 질문을 찾던 도중 jpa 기본편을 보시라고 하셨는데 위치를 못 찾겠습니다. 알려주시면 감사하겠습니다.추가로 제가 자바의 List의 메소드에 대한 이해가 부족해서 모르는가 싶기도 한데 그게 맞을까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
vivado project, vitis serial terminal 질문
첫번째 사진과 같이 project를 생성하면서 자주 zybo가 없는 것 처럼 보이지 않는 경우가 발생합니다. 아무리 Refresh를 해도 동일하게 발생합니다. 두번째 사진에서 보이는 것 처럼 다른 project에서는 잘 인식이 되어 xc7z010clg400-1이라고 써있는데 이를 세번째 사진에서 검색하여 사용해도 무방한 것인가요? vitis에서 build project를 한 후에 마음이 급하여 sw를 launch하고 난 후에 vitis serial terminal에 연결하여 실행하는 데 이러면 마치 terminal에서 동작을 하지 않는 것처럼 보입니다. uart를 연결을 끊고 launch를 하여도 동일합니다. 반드시 uart를 연결한 후 launch를 해야 하나요? 순서가 있는지 궁금합니다. 3. 알려주신 영상에서 동일하게 순서를 맞춰 따라가더라도 terminal에서 동작하지 않는 것처럼 uart가 연결만 되었다는 메세지만 나올 뿐 그 외에는 나타나지 않는 경우들도 있었습니다. 여러 번 프로그램을 껐다 켰다를 반복해서 겨우 될 때가 여러 번 있었습니다.
-
미해결김영한의 실전 자바 - 기본편
클래스와 인스턴스
클래스와 데이터 챕터에서클래스를 커스텀 데이터 구조, 그리고 인스턴스를 데이터 구조를 메모리에 올려 놓은 실체라고 이해해도 괜찮을까요? 제 표현에 제가 이해하지 못한 부분이 있지 않을까해서 질문드립니다.
-
해결됨팀 개발을 위한 Git, GitHub 입문
강의자료 부탁드립니다!
강의 자료 부탁드립니다!ak4686@naver.com
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
질문있습니다
0-4장고 개발환경설정 하고있습니다 선생님 코드 복사해서 extensions.json 과 settings.json붙여넣기햇는데도 확장추천목록에 안떠서 그냥 일일히 다운받아서 했습니다그 이후 구동파일생성에서런 앤 디버그 안누르고 create a launce.json file을 눌렀는데선생님 화면처럼 django가 아예 안뜨는데 어디가 문제인지알수있을까요?
-
미해결따라하며 배우는 NestJS
선생님 nestjs랑 Nextjs랑 같이 연동해서 작업하는거 어떻게 생각하시나요?
선생님 안녕하세요!강의내용이랑 상관없는 질문이라 정말 죄송합니다..ㅜㅜ!다만 궁금한게있어서 염치불구하고 질문드립니다..다름아니라,Nextjs에 자체적으로 서버 api가 있는걸로 알고있습니다.그래서 Nextjs를 사용할때는 DB만 선정해서 작업하는식으로 해도된다고 알고있는데요.. 정말 인가요? 정말이겠지만.. 음 .. 옳은 방식인가요? 만약 제가말한 1번경우말고,Nextjs랑 Nestjs랑 같이 사용할경우 Nestjs용 서버폴더를 따로 만들고 사용하는게 나을까요? 회원가입 로직도 그럼 서버폴더에서 따로 할테고.. 그러면 넥스트js의 auth라이브러리를 따로 사용을 못하는걸까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
struct활용 방법
한 가지의 공통된 주제를 가지고 있는 속성들을 struct에 여러 데이터형식과 이름으로 저장해두고 각각 필요한 함수에 넣어서 사용하는거 맞나요?활용하는 방법은 하나의 클래스에 저장해두고 여러 클래스에다가 사용하는거 맞나요?예를 들어 스탯과 관련된 큰 클래스에다가 struct함수를 만들어 정리해두고 각각 다른 클래스에다 호출해서 사용하는거요
-
해결됨코딩테스트 [ ALL IN ONE ]
dfs, bfs 인접리스트
안녕하세요 강사님, 다름이 아니오라그래프 탐색에서 그래프를 표현하는 방법으로 소개해주신 것 중에 인접리스트를 보면딕셔너리로 key(노드) : values(간선)으로 표현하셨는데강의 말고 다른 교재나 설명들을 보면 인접리스트를 표현할 때 딕셔너리로 나와있는 것은 본 적이 없고 강의 중에 풀어주셨던 rooms 예제에 나오는 것처럼인덱스를 노드로 생각해서 [['b', 'c'], ['a', 'c', 'd'] , ['a', 'b'], ['b']] 이렇게 2차원 리스트로 표현하는 것만 나와있는데 어떻게 공부를 하면 되는 것일까요?제가 한 방식을 정해서 체화시키는 것을 좋아해서요ㅠㅠ 자세히 설명해주시면 감사드리겠습니다.또한 visited = []에 방문한 노드를 append로 추가하는 방식과visited = [0] * (노드 번호 + 1, 0번째는 안쓰므로) 이거에서 방문한 노드의 원소 0을 1로 바꾸는 방식의 차이점이 무엇인지 궁금합니다.1로 방문처리 해주는거랑, 방문한 노드를 추가해서 처리해주는 것의 차이가 궁금합니다.유명한 코테 교재들 모두 가지고 있어서 봤는데visited = [0] *(n+1)dfs 함수 내에visited[v] = True 이런식으로 1로 바꿔주면서 방문처리를 하더라고요 append는 안보이는거 같아서 여쭤봅니다! 아래는 제가 위에서 여쭤본 강의와 다른 교재들에서 본 내용인데 교재 모두가 이렇게 구현하고 있어서 여쭤봅니다ㅎㅎ 보편적인걸 원해서요 질문이 길어져서 죄송합니다# DFS 메서드 정의def dfs(graph, v, visited):# 현재 노드를 방문 처리visited[v] = Trueprint(v, end=' ')# 현재 노드와 연결된 다른 노드를 재귀적으로 방문for i in graph[v]:if not visited[i]:dfs(graph, i, visited)# 인접 리스트 방식으로 그래프 표현# 각 노드가 연결된 정보를 표현(2차원 리스트)graph = [ [], [2,3,8], [1,7], [1,4,5], [3,5], [3,4], [7], [2,6,8], [1,7] ]# 각 노드가 방문된 정보를 표현(1차원 리스트)# 기본적으로 모든 값들을 False로 초기화하고, index 0은 사용하지 않는다.visited = [False]*9
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
새로운 강의버전은 언제 나오나요 ?
새소식에 올라온 솔로트립을 기반으로 한 새로운 강의는 언제쯤 올라오나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-C 틀린 부분을 모르겠습니다.
http://boj.kr/ab00c6a0aa494a37a90f5ce08cc4b854저는 좀 다르게 배열을 0으로 초기화하면 물에 잠긴 지역은 1로 표시해서 dfs로 0만 방문하도록 했습니다. 그런데 아무리 찾아봐도 틀린 부분을 모르겠습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
html의 name을 보고 어떻게 member.java가 아닌memberform.java의 name으로 연결을 시켜주는건가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]어떻게 creatememberform.html의 name만 보고 스프링이 controller의 memberform name필드에 넣어줄수 있는것인지 궁금합니다. domain의 member.java에도 같은 이름의 name 필드가 있는데 이것도 같은 private 변수여서요.. package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }