inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

일대다 패치 조인 사용 시, 뻥튀기가 되지 않는 문제

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 아래 처럼 print를 찍었을 때, 저는 id 1과 2가 두 개가 나오지 않습니다. 관련 코드는 아래 첨부하겠습니다. 강의대로 똑같이 했는데, 왜 1개씩만 나오는지 모르겠습니다.. distinct를 넣었을 때와 안넣었을때의 결과가 같습니다. DB에서는 4개로 나오는데 Postman이랑 콘솔에서는 2개로 난오네요.. [v3 적용 시] package jpabook.jpashop2.api; import jpabook.jpashop2.domain.Address; import jpabook.jpashop2.domain.Order; import jpabook.jpashop2.domain.OrderItem; import jpabook.jpashop2.domain.OrderStatus; import jpabook.jpashop2.repository.OrderRepository; import jpabook.jpashop2.repository.OrderSearch; import lom bok.Data; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.ut il.List; import java.util.stream.Collector s; import stati c java.util.stream.Collectors. toList ; @RestController @RequiredArgsConstructor public class OrderApiController { private final OrderRepository orderRepository; @GetMapping("/api/v1/orders") public List<Order> ordersV1(){ List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { order.getMember().getName(); // 프록시 객체 초기화 order.getDelivery().getAddress(); List<OrderItem> ord erItems = order.g etOrderItems(); orderItems.stream().forEach(o -> o.getItem().getName()); } return all; } @GetMapping("/api/v2/orders") public List<OrderDto> ordersV2(){ List<Order> orders = orderRepository.findAllByString(new OrderSearch() ); List<OrderDto> collect = orders.stream() .map(o -> new OrderDto(o)) .collect( toList ()); return collect; } @GetMapping("/api/v3/orders") public List<OrderDto> ordersV3(){ List<Order> orders = orderRepository.findAllWithItem(); for (Order order : orders) { System. out .println("order ref= " + order + " id=" + o rder.getId()); } List<OrderDto> collect = orders.stream() .map(o -> new OrderDto(o)) .collect( toList ()); return collect; } @Data static class OrderDto{ private Long orderId; private String name; private LocalDateTime orderDate; private OrderStatus orderStatus; private Address address; // VO는 그대로 사용해도 되지만, (VO는 객체이기 때문에, 안에 값이 변하면 다른 객체로 판단) private List<OrderItemDto> orderItems; // 엔티티는 DTO로 다시 한번 래핑이 필요하다. public OrderDto(Order order) { orderId = order.getId(); name = order.getMember().getName(); orderDate = order.getOrderDate(); orderStatus = order.getStatus(); address = order.getDelivery().getAddress(); orderItems = order.getOrderItems().stream() .map(orderItem -> new OrderItemDto(orderItem)) .collect( toList ()); } } @Data static class OrderItemDto { // OrderItem에서 필요한 값만 다시 추출 private String itemName; // 상품명 private int orderPrice; // 주문 가격 private int count; // 주문 수량 public OrderItemDto(OrderItem orderItem) { itemName = orderItem.getItem().getName(); orderPrice = orderItem.getOrderPrice(); count = orderItem.getCount(); } } } public List<Order> findAllWithItem() { return em.createQuery("select o from Order o" + " join fetch o.member m" + " join fet ch o.deliv ery d" + " join fetch o.orderItems oi" + " join fetch oi.item i", Order.class) .getResultList(); }

  • java
  • spring
  • spring-boot
  • jpa
rr8602 댓글 1 좋아요 3 조회수 1041

cpu의 메모리 관리 방법이 이해가 잘 안됩니다.

해결됨

독하게 시작하는 C 프로그래밍

당장은 돈이 딸려 넓고얕게 공부하는 컴퓨터구조 강의를 구입하지는 못 한 학생입니다. 챗gpt를 이용해서 모르는 부분을 채워나가고 있었으나, 그래도 제대로 이해가 안 되는 부분을 채워가고싶어 질문 드립니다. 일단 제가 알고 있는 전제부터 깔고 가겠습니다. 1.모든 메모리 공간은 하나당 1바이트의 크기를 가지고있는걸로 알고 있습니다. 그리고 해당하는 1바이트의 메모리 공간마다 주소를 갖고있는 걸로 알고있습니다. 2. 64비트 아키텍쳐 cpu는 주로 8바이트 단위로 메모리 주소를 처리하는 걸로 알고 있습니다. 그러나 1바이트 단위로도 메모리를 처리할 수 있는 걸로 알고 있습니다. 질문 내용- 1. 일단 위에 알고있는 내용이 사실인지 궁금합니다. 2. 변수로 지정할 수 있는 메모리 최소 크기가 1바이트인 이유가 위와같은 이유 때문인가요? 그리고 최대크기도 8바이트인걸로 아는데 위와같은 이유때문인가요? 3. 머신코드 == 어셈블리어 인가요? 아니면 머신코드는 원래 이진수 코드만을 의미하는건데 이제는 어셈블리어를 사람들이 쓰지 않으니깐 머신코드라고 통합해서 지칭하는건가요? 영상을 다시 봐도 이해가 잘 안가네요.

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
성현준 댓글 1 좋아요 0 조회수 579

한 번에 여러 개의 값을 입력했을 때에 관해 질문이 있습니다.

해결됨

홍정모의 따라하며 배우는 C언어

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { // TO DO : q가 입력될 때까지의 입력받은 모든 정수 합 출력 // 1. 준비 int input = 0; // 입력을 저장할 변수 int sum = 0; // 합계를 저장할 변수 int status = 0; // scanf의 반환값(입력값의 갯수)을 저장할 변수 // 2. 입력 printf("Enter an integer (q to quit) : "); status = scanf("%d", &input); // scanf()의 동작 // 입력받은 값이 형식 지정자의 형식과 일치할 경우 입력으로 취급하여 입력값의 갯수 반환 // 입력받은 값이 형식 지정자의 형식과 일치하지 않을 경우 입력으로 취급하지 않으며 0을 반환 // * 성공적으로 스캔된 입력의 갯수 확인용 printf("%d\n", status); // 3. 반복 while (status == 1) { // scanf()의 반환값이 1일 때만 반복 // 현재 루프에 대한 처리 sum = sum + input; // 다음 루프 printf("Enter next integer (q to quit) : "); status = scanf("%d", &input); } // 4. 출력 printf("SUM = %d\n", sum); }; 1 2를 입력하니 "Enter next integer (q to quit) : " 문장이 2개 출력되었지만 1 2를 모두 입력으로 인식했는지 바로 sum을 출력했을 때 3이 출력됬습니다. 다음으로 1 2 3 4 5를 입력하니 "Enter next integer (q to quit) : " 문장이 5개 출력되었지만 sum을 출력해보니 10이 출력됬습니다. 저는 scanf의 형식 지정자와 값을 저장할 변수를 하나만 지정 했는데 왜 5개 입력에 대해서 5번 루프를 실행하고 sum의 값이 정상적으로 출력되었는지 잘 이해가 안되서 질문 드립니다.. 그리고 scanf()는 입력한 값의 형식이 형식 지정자의 형식과 일치할 경우 스캔에 성공한 입력의 갯수를 반환한다고 배웠는데 중간에 scanf의 반환값을 printf()해서 성공적으로 스캔된 입력의 갯수 를 확인해 봤을 때 형식에 맞는 변수를 여러 개 입력해도 1이 출력 되던데 이유가 뭘까요,,??

  • c
쉽지않네 댓글 1 좋아요 2 조회수 648

결과 쿼리 개수가 맞지 않아서 문의 드립니다.

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] [간단한 주문 조회 V3: 엔티티를 DTO로 변환 -패치 조인 최적화] 강의에서 5분 50초 쯤에 v2를 돌려봤을 때, 강사님은 쿼리가 5번 나오는데, 저는 계속 7번이 나오더라구요... order가 처음에 주문 2개를 만들어서 이미 영속성 상태라 그 다음에는 1차 캐시에서 가져오는 것으로 보여 쿼리는 생성이 안되어야 한다고 생각이 드는데, 왜 계속 order 쿼리가 2번 더 나오는 걸까요...? [Query] 2023-10-25T21:54:33.448+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select o1_0.order_id, o1_0.deliver_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first ? rows only 2023-10-25T21:54:33.449+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473449 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first ? rows only select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id fetch first 1000 rows only; 2023-10-25T21:54:33.450+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from member m1_0 where m1_0.member_id=? 2023-10-25T21:54:33.451+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473451 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id=? select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id=1; 2023-10-25T21:54:33.451+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select d1_0.delivery_id, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.status from delivery d1_0 where d1_0.delivery_id=? 2023-10-25T21:54:33.451+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473451 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id=? select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id=1; 2023-10-25T21:54:33.452+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select o1_0.order_id, o1_0.deliver_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.deliver_id=? 2023-10-25T21:54:33.452+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473452 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.deliver_id=? select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.deliver_id=1; 2023-10-25T21:54:33.453+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from member m1_0 where m1_0.member_id=? 2023-10-25T21:54:33.453+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473453 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id=? select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where m1_0.member_id=2; 2023-10-25T21:54:33.453+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select d1_0.delivery_id, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.status from delivery d1_0 where d1_0.delivery_id=? 2023-10-25T21:54:33.454+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473454 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id=? select d1_0.delivery_id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where d1_0.delivery_id=2; 2023-10-25T21:54:33.454+09:00 DEBUG 37176 --- [nio-8080-exec-3] org.hibernate.SQL : select o1_0.order_id, o1_0.deliver_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.deliver_id=? 2023-10-25T21:54:33.454+09:00 INFO 37176 --- [nio-8080-exec-3] p6spy : #1698238473454 | took 0ms | statement | connection 11| url jdbc:h2:tcp://localhost/~/jpashop2 select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.deliver_id=? select o1_0.order_id,o1_0.deliver_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.deliver_id=2; [OrderSimpleApiController] package jpabook.jpashop2.api; import jpabook.jpashop2.Repository.OrderRepository; import jpabook.jpashop2.Repository.OrderSearch; import jpabook.jpashop2.domain.Address; import jpabook.jpashop2.domain.Order; import jpabook.jpashop2.domain.OrderStatus; import lomb ok.Data; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.util .List; import ja va.util.stream.Collectors; /** * X To One (컬렉션 X) * Order * Order -> Member * Order -> Delivery */ @RestController @RequiredArgsConstructor public class OrderSimpleApiController { private final OrderRepository orderRepository; @GetMapping("/api/v1/simple-orders") public List<Order> ordersV1(){ List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { order.getMember().getName(); // Lazy 강제 초기화 order.getDelivery().getAddress(); // Lazy 강제 초기화 } return all; } @GetMapping("/api/v2/simple-orders") public List<SimpleOrderDto> ordersV2(){ // Order 2개 List<Order> orders = orderRepository.findAllByString(new Order Search()); List<SimpleOrderDto> result = orders.stream() .map(o -> new SimpleOrderDto(o)) // map : a -> b로 치환 .collect(Collectors. toList ()); return result; } @GetMapping("/api/v3/simple-orders") public List<SimpleOrderDto> ordersV3() { List<Order> orders = orderRepository.findAll WithMemberDel ivery(); List<SimpleOrderDto> result = orders.stream() .map(o -> new SimpleOrderDto(o)) .collect(Collectors. toList ()); return result; } @Data static class SimpleOrderDto{ // API 명세서 private Long orderId; private String name; private LocalDateTime orderDate; private OrderStatus orderStatus; private Address address; public SimpleOrderDto(Order order) { orderId = order.getId(); name = order.getMember().getName(); orderDate = order.getOrderDate(); orderStatus = order.getStatus(); address = order.getDelivery().getAddress(); } } } [OrderRepository] ... public List<Order> findAllWithMemberDelivery() { return em.createQuery("select o from Order o" + " join fetch o.member m" + " join fet ch o.deliv ery d", Order.class) .getResultList(); }

  • java
  • spring
  • spring-boot
  • jpa
rr8602 댓글 2 좋아요 0 조회수 656

스프링 사용 중 생기는 오류

미해결

안녕하세요 spring tools4를 설치하였고 돌아가는지 확인하고 싶어 확인하는 도중에 오류가 걸려서 글 올립니다. java는 11로 사용하였고 demo1는 local로 실행했을 때 Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 오류가 떠서 java버전이 다르다는 것을 알기는 알아냈지만 인터넷으로 검색한 방법을 다 써봐도 해결이 안됐습니다. 사용한 방법은 build path에서 jre system library로 해보았고 installed jres도 제대로 해두었습니다. compiler에도 11로 표시하였는데 혹시 다른 추가적이 방법이 있을까요

  • spring
  • java
  • springboot
박수현 댓글 1 좋아요 0 조회수 889

2:26 부분 관련해서 질문드립니다

해결됨

홍정모의 따라하며 배우는 C언어

double을 float로 변환할 때 float의 가수부가 저장할 수 있는 23비트를 초과하면 23비트까지 저장하고 초과한 부분은 모두 절삭된다고 하는데 맞는건가요?? 절삭이 되면 항상 값이 줄어야 하는데 아래 코드로 해보니 결과가 좀 다르게 나와서요.. #include <stdio.h> int main() { double d1 = 3.1415928; float f1 = d1; printf("%.7f\n", d1); printf("%.7f\n", f1); double d2 = 3.1415929; float f2 = d2; printf("%.7f\n", d2); printf(".7f\n", f2); }; double형 3.1415928를 float로 변환하면 3.1415927로 값이 줄어서 나오는데 double형 3.1415928를 float로 변환하면 3.1415930으로 값이 증가해서 나옵니다.. 왜 이렇게 나오는지 알 수 있을까요?? 3.1415928≈11. 00100100001111110110101 010000010이며 이 중 가수부로 저장되는 비트는 00100100001111110110101 이고 나머지 010000010는 버려진다는 것과 3.1415929≈11. 00100100001111110110101 010000011이며 이 중 가수부로 저장되는 비트는 00100100001111110110101 이고 나머지 010000011는 버려진다는 것인데 버려지는 비트를 제외하고 저장되는 값은 11. 00100100001111110110101 로 똑같은데 왜 변환된 값은 3.1415927과 3.1415930인지 잘 모르겠습니다.

  • c
쉽지않네 댓글 1 좋아요 2 조회수 261

내용정리 화면은 어디서 볼수있나요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

화면에서 보여주시는 내용정리된 노트?는 어디서 볼수있나요?

  • java
  • spring
  • mvc
  • spring-boot
박예슬 댓글 0 좋아요 0 조회수 737

h2 버그인가요?

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 저는 ddl auto를 create로 하고 시퀀스 전략 했을 때, persist 안하고 봐도 시퀀스가 그냥 1, 증가가 50입니다.. 그 다음 persist를 한번 해 봤더니, next value for member_seq를 한번만 호출했습니다. 근데 persist 2번 이상하면, next value for member_seq를 2번 호출합니다. 시퀀스의 현재값도 101번이 됩니다. 뭔가 JPA쪽에서 놓친건가요..? 아니면 제가 뭔가 강의에서 놓친건가요? 그렇게 현재값 101번 만든 후, 이번엔 dll.auto 를 none으로 해서 다시 돌려봤더니 다서 persist 해서 테이블에 저장해서 나온 건 52부터 찍힙니다. persist 안한 것 persist 1번 next value for member_seq 한번 호출 persist 2번 호출 next value for member_seq가 두번 호출 됍니다. 그런데.. 이 상태에서 ddl.auto 를 none으로 하고 다시 한번 로직을 실행해 봤더니.. 어.. 제 생각이 맞다면 101부터 id가 매겨져야 할 것 같은데.. 어.. public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try{ Member member1 = new Member(); member1.setUsername("A"); Member member2 = new Member(); member2.setUsername("B"); Member member3 = new Member(); member3.setUsername("C"); em.persist(member1); em.persist(member2); // em.persist(member3); tx.commit(); } catch (Exception e){ tx.rollback(); } finally { em.close(); } emf.close(); } 사용 버전 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jpa-basic</groupId> <artifactId>ex-hello-jpa</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version>6.2.9.Final</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>2.1.214</version> </dependency> </dependencies> </project>

  • java
  • jpa
궁금이 댓글 3 좋아요 1 조회수 970

혹시 섹션 11 switch-case문 짊문입니다.

해결됨

독하게 시작하는 C 프로그래밍

scanf_s("%d%c%d", &x, &cOperator, 1, &y); 왜 scanf_s에 1 없이 해보니 안되던데 왜 그런건가요?

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
날다람쥐 댓글 1 좋아요 2 조회수 375

C공부와 학습에 대한 총 투입시간 질문.

해결됨

독하게 시작하는 C 프로그래밍

선생님 강의로 열심히 공부하는 학생입니다. 학습에 투입되어야하는 시간관련해서 질문이 있습니다. C언어 공부를 이제 막 시작했는데요, 유튜브 영상과 해당 강의에서도 "하루 3시간 강의 + 혼자 3시간 학습" 스케쥴로 매일한다고 가정했을 때 C언어 공부만 2개월을 공부해야 한다고 하셨는데요, 독하게 시작하는 C프로그래밍 수업은 30시간 정도인데요, 하루 3시간씩 강의를 들으면 10일에 끝나게 되는 걸까요..? 선생님 말씀을 제가 오해한 것인지 여쭤봅니다. 해당 강좌로 C언어의 어느정도 수준까지 학습을 하게 되는 것인지 알고 싶습니다. 그리고 해당 강좌를 끝까지 모두 수강하면(스스로 익히는 것까지 포함) 이후 학습해야할 강좌나 커리큘럼이 어떻게 되나요? 항상 감사드립니다^^

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
김킥 댓글 1 좋아요 1 조회수 985

for문에서 sum 관련 질문

미해결

문제로 배우는 C언어

3번째 예제에서 sum=0; 이 정확히 어떤 의미를 말하는 건가요?

  • c
sanha1020 댓글 1 좋아요 0 조회수 205

이렇게 풀어도 맞는걸까요?

미해결

문제로 배우는 C언어

안녕하세요 선생님하고 다르게 풀이를 하였는데 맞는걸까요? for (int i = 0; i < 9; i++) { scanf_s("%d", &arr[i]); } scanf_s("%d", &r); for (int i = r; i < 9; i++) { printf("%d ", arr[i]); } for (int i = 0; i < r; i++) { printf("%d ", arr[i]); } return 0;

  • c
sang ji Choi 댓글 2 좋아요 0 조회수 283

비주얼 스튜디오 관련 여쭤봅니다..

미해결

독하게 시작하는 C 프로그래밍

해당 수업에서 gets함수를 활용한 코드를 컴파일하여 실행하면 다음과 같은 문제가 뜨면서 실행이 안됩니다.. 이전 hello world 출력할 때는 문제 없이 실행이 됐엇는데, 다른 프로젝트 생성 후 실행하면 이런 문제가 뜨니 미치겠습니다 ㅜㅜ 인터넷 서칭으로 계속 찾아보곤 있는데, 선생님께서 혹시 해결 방안을 아시는가 싶어 질문드립니다..

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
김창준 댓글 2 좋아요 0 조회수 534

단/항 증감연산자 12:44 결과값

해결됨

독하게 시작하는 C 프로그래밍

위의 출력값은 24가 나와야할것 같은데 25인 이유를모르겠습니다. Chat gpt에게 코드를 똑같이보여줘도 24라고하네요..

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
sCyn 댓글 2 좋아요 0 조회수 427

보수와 수의 음수는 같은 게 아닌가요?

해결됨

독하게 시작하는 C 프로그래밍

뺄셈이 보수의 덧셈이라고 하셨는데 1 - 1과 1 + (-1) 과 같은 개념이니 보수와 수의 음수는 같은 거 아닌지 여쭤보고 싶습니다.

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
leejsjhs 댓글 1 좋아요 0 조회수 273

평균값 구하기

해결됨

독하게 시작하는 C 프로그래밍

안녕하세요. 강사님께서 작성하신 코드와 제가 작성한 코드를 비교를 해봤는데 작동은 되는데 다른 부분이 있어서 질문 드립니다. 아래와 같이 코드를 짜면 혹시 불필요한 부분이 있을지요? #include<stdio.h> #include<stdlib.h> int main(void) { int x = 0; int y = 0; printf("두 정수를 입력하세요.:"); scanf_s("%d %d", &x,&y); printf("두 정수의 평균 값은: %.2f 입니다.", (double)x + y / 2); return 0; }

  • c
  • 컴퓨터-구조
  • assembly-language
  • vc++
chlgkrud981109 댓글 1 좋아요 0 조회수 274

선생님 (!morning) 부분 질문이 있습니다!

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

boolean morningCoffee= false if(!morningCoffee){ sout(아이스아메리카노 +!) } sout(주문완료) 논리부정연산자로 !morningCoffee == true 가 되는데 morningCoffee가 false가 맞을때 라고 이해해도 될까요? 헷갈려서 질문남깁니다~!

  • java
가진빵다내놔 댓글 1 좋아요 0 조회수 247

쿠폰 발급을 api로 제공할 경우, client에서 쿠폰 발급 여부를 확인할 수 있는 방법 문의드립니다.

미해결

실습으로 배우는 선착순 이벤트 시스템

안녕하세요. 강의 잘 들었습니다. 강의 들으면서 궁금증이 생겼는데, 만약에 쿠폰 발급 기능을 API로 제공한다고 가정하면 client -> 쿠폰 발급 기능 API 호출이 이루어지고 쿠폰 발급 기능 API에서는 쿠폰 발급 여부를 확인하고 kafka로 produce하게 되는데, 이때는 실제로 쿠폰이 발급된 상태는 아닐 수도 있을 것으로 예상됩니다(실제 쿠폰이 발급되는 시점은 consumer에서 작업이 정상적으로 완료되어야하므로 트래픽이 많거나 하는 경우 시간차이가 더 심할 것으로 예상됩니다) 이러면 쿠폰 발급 기능 API에서 응답값은 어떤 값을 줘야할까요? 쿠폰 발급 여부에서 발급이 가능하다면 쿠폰 발급되는것은 확정이기 때문에 발급되었다는 정보? 쿠폰 발급 여부에서 발급이 가능하지만 추가적으로 polling해서 client 쪽에서 확인하도록 처리? 제가 생각했을땐 위의 2가지정도로 가능할 것 같은데 강사님 의견이 궁금합니다..! 감사합니다.

  • java
  • docker
  • spring-boot
  • kafka
  • redis
예예 댓글 2 좋아요 1 조회수 633

실무에서 @DynamicInsert, @DynamicUpdate 사용하나요?

미해결

실전! 스프링 데이터 JPA

안녕하세요! 좋은 강의 잘 들었습니다! 실무에서 JPA를 사용하면서 궁금한점이 있어서요 실무에서는 @DynamicInsert, @DynamicUpdate 사용하고 있는데 영한님은 한번도 안쓰시더라구요..! 실무에서는 어떻게 사용하시는지 궁금합니다! @DynamicInsert, @DynamicUpdate 사용하지 않으면 어떻게 사용하는지도 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
ILoveBackEnd 댓글 2 좋아요 0 조회수 3640

질문이 있습니다.

해결됨

홍정모의 따라하며 배우는 C언어

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main(void) { // 복리 계산 프로그램 double seed_money, target_money, annual_interest; printf("Input seed money : "); scanf("%lf", &seed_money); printf("Input target money : "); scanf("%lf", &target_money); printf("Input annual interest(%) : "); scanf("%lf", &annual_interest); double fund = seed_money; int year_count = 0; while (fund < target_money) { year_count++; fund = fund * ( 1.0 + ( annual_interest % 100.0 ) ); }; printf("It takes %d year\n", year_count); return 0; } 제가 작성한 코드에는 annual_interest과 100.0 아래 빨간줄이 나오면서 expression must have integral type이라고 출력되는데 왜이럴까요..??

  • c
쉽지않네 댓글 1 좋아요 2 조회수 427

인기 태그

인프런 TOP Writers

주간 인기글