묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
연습문제(달팽이) 21분:59초 질문
int nextX = x+ dx[dir];로 선언해주셨는데, 만약에 cin >> N 값에 3을 입력하면 dir이 Right의 방향을 가리키고 있다가 down으로 nextX=3이 되면 방향이 전환된 후 int nextX = x+ dx[dir];을 거치면 nextX 가 2값을 갖게 되는 데 왜 그런지 잘 모르겠습니다..
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
왜 DP로 풀어야하는지 궁금합니다
DFS 풀이는 시간초과가 발생하는 이유가 궁금합니다.DFS 풀이는 시간초과가 발생하기 때문에 DP로 풀어야하는건가요?이에 대한 설명은 없어서 질문드립니다. DFS 시간초과 코드는 다음과 같았습니다.struct Work { int s, e; int score; }; int n, m, r; vector<Work> schedule; int result = 0; bool compare(Work a, Work b) { return a.s < b.s; } void dfs(int now, int start, int score) { if (now >= n) { result = max(result, score); return; } result = max(result, score); for (int i = start; i < m; i++) { if (schedule[i].s < now) continue; dfs(schedule[i].e + r, i + 1, score + schedule[i].score); } } int main() { cin >> n >> m >> r; for (int i = 0; i < m; i++) { int s, e, score; cin >> s >> e >> score; schedule.push_back({ s,e,score }); } sort(schedule.begin(), schedule.end(), compare); dfs(0, 0, 0); cout << result; return 0; }
-
미해결
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS) 질문
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS) 강의에서 레딧 사이트를 만드는데 강의 미리보기에 강의 소개를 보면 , 포스팅 등록시에 텍스트만 입력하는 화면만 보여지는데요 이부분에 이미지라던지, 동영상 파일이라던지, 유튜브 URL 등 을 업로드 하는 내용도 포함되어 있을까요?
-
미해결Flutter 입문 확장판 - 인스타그램 클론 2.0
앱 자체 질문이요!
안녕하세요. 영상 보며 따라하는 수강생입니다. 앱 관련해서 질문 드립니다! 이 인스타그램 클론2.0 영상 따라하고 배포하면 여러사람이 로그인해서 실제 인스타그램처럼 활용할 수 있나요? 약 30명이상 정도가 이 앱을통해 SNS기능을 사용하고 싶습니다! 서버가 있는 것으로 알고 있어서.. 답변 부탁드립니다...!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션4 K번째 큰 수
강의에서 for문을 돌리실 때 for(let i=0; i<n; i++){ for(let j=i+1; j<n; j++){ for(let k=j+1; k<n; k++){ tmp.add(card[i]+card[j]+card[k]); } } } j = i+1, k = j + 1 로 하게 되면 범위가 모든 숫자의 합의 경우의 수가 안나오지 않나요??? 예를 들어 입력 예제를 봤을 때 13 15 34 23 45 65 33 11 26 42 인 경우 13+13+13 같은 경우의 수는 빼고 값을 구하는 건데 문제에선 같은 숫자의 카드가 여러개 있을 수 있다고 되있어서요. 설명 한번만 해주시면 감사하겠습니다ㅠㅠ
-
해결됨
딕셔너리 키-값 같이 출력하는 방법
출력: 이렇게 나오게 만들고 싶어서 for, if-elif 문을 사용하였는데 딕셔너리일 때 어떤 식으로 코드를 작성해야 입력 부분의 중복을 없앨 수 있을지 고민입니다.. 전문가님들 고견 부탁드려요! 소중한 시간 내주셔서 감사합니다~~ 출력: 입력: - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[실전 게임 코드 리뷰] 유니티 클리커 게임
GameScene 과 DevScene 을 나누신 이유?
안녕하세요! 많은 강좌들이 설명식 강의라 집중도 못하고 맨날 해야지 해야지 하고 못했었는데 이렇게 직접 좋은 소스를 보고 배울 수 있게 해주셔서 감사합니다!제목과 동일하게 GameScene 과 DevScene 을 나누신 이유? 가 있는지 궁금해서 여쭤봅니다. 소스상에서는 완전히 구현되지 않은 것 같은데 헷갈려서요.1. 구현이 완벽한 상태인데 제가 소스 분석을 잘못한건지 2. 구현이 완벽하지 않다면 DevScene은 어떤 역할을 하기 위해 별도로 생성하셨는지 궁금합니다. 차근히 공부하면서 또 모르는거 있으면 질문드릴게요 ㅠㅠ 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
??page.addItem_ko_KR?? 관련 질문 드립니다.
따라하던 중 위 이미지 처럼 ??page.addItem_ko_KR?? 라고 출력되는 현상이 발생되어 질문 드립니다. addForm.html messages.properties 위처럼 작성하여 따라하던 중 정상적으로 반영이 안되는 것 같아서 질문 드립니다. 항상 감사합니다.
-
해결됨Svelte.js SPA 영화 검색 프로젝트
autoprefixer를 스태틱한 css에 적용할 수 있는 방법이 있을까요?
안녕하세요 강의 다 본 후 구성 비슷하게 맞춰서 작업하고 있는데요 scss를 사용하면 vue도 마찬가지지만 svelte는 유니크한 클래스가 붙잖아요, 그래서 나중에 css 디버깅할 때 너무 불편해서 그냥 css 파일을 별도로 만들어서 붙여봤거든요, 1. head 태그에 링크로 css 삽입하는 방법,2. main.js에 import 해서 css를 불러 오는 방법을 사용했는데 autoprefixer가 적용이 안되네요... 따로 css-loader나 file-loader를 적용해야 하나 해서 snowpack.config.js 옵션을 봤더니 rule 옵션은 없는거 같고.. 다른 방법이 있을까요? ㅠㅠ
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
페치조인 쿼리시 쿼리가 두번 나갑니다.
강의에서 보면 쿼리가 한번 나가는데 저는 두번이 나갑니다 ㅠㅠ http://localhost:8080/api/v3/simple-orders 호출 2022-06-26 01:02:45.805 DEBUG 5062 --- [nio-8080-exec-6] org.hibernate.SQL : select order0_.order_id as order_id1_6_0_, member1_.member_id as member_i1_4_1_, delivery2_.delivery_id as delivery1_2_2_, order0_.delivery_id as delivery4_6_0_, order0_.member_id as member_i5_6_0_, order0_.order_date as order_da2_6_0_, order0_.status as status3_6_0_, member1_.city as city2_4_1_, member1_.street as street3_4_1_, member1_.zipcode as zipcode4_4_1_, member1_.name as name5_4_1_, delivery2_.city as city2_2_2_, delivery2_.street as street3_2_2_, delivery2_.zipcode as zipcode4_2_2_, delivery2_.status as status5_2_2_ from orders order0_ inner join member member1_ on order0_.member_id=member1_.member_id inner join delivery delivery2_ on order0_.delivery_id=delivery2_.delivery_id Hibernate: select order0_.order_id as order_id1_6_0_, member1_.member_id as member_i1_4_1_, delivery2_.delivery_id as delivery1_2_2_, order0_.delivery_id as delivery4_6_0_, order0_.member_id as member_i5_6_0_, order0_.order_date as order_da2_6_0_, order0_.status as status3_6_0_, member1_.city as city2_4_1_, member1_.street as street3_4_1_, member1_.zipcode as zipcode4_4_1_, member1_.name as name5_4_1_, delivery2_.city as city2_2_2_, delivery2_.street as street3_2_2_, delivery2_.zipcode as zipcode4_2_2_, delivery2_.status as status5_2_2_ from orders order0_ inner join member member1_ on order0_.member_id=member1_.member_id inner join delivery delivery2_ on order0_.delivery_id=delivery2_.delivery_id 전체 코드 Order 엔티티 package jpabook.jpashop.domain.entity;import lombok.Getter;import lombok.Setter;import javax.persistence.*;import java.time.LocalDateTime;import java.util.ArrayList;import java.util.List;@Entity@Table(name = "orders")@Getter @Setterpublic class Order { @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; @OneToMany(mappedBy = "order", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>(); @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "delivery_id") private Delivery delivery; private final LocalDateTime orderDate = LocalDateTime.now(); @Enumerated(EnumType.STRING) private OrderStatus status; //==연관관계 메서드==// 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); } //==생성 메서드==// public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems) { Order order = new Order(); order.setMember(member); order.setDelivery(delivery); for (OrderItem orderItem : orderItems) { order.addOrderItem(orderItem); } order.setStatus(OrderStatus.ORDER); return order; } //==비즈니스 로직==/ /** * 주문 취소 */ public void cancel() { if (delivery.getStatus() == DeliveryStatus.COMP) { throw new IllegalStateException("이미 배송완료된 상품은 취소가 불가능합니다."); } this.setStatus(OrderStatus.CANCEL); for (OrderItem orderItem : orderItems) { orderItem.cancel(); } } //==조회 로직==// /** * 전체 주문 가격 조회 */ public int getTotalPrice() { return orderItems.stream().mapToInt(OrderItem::getTotalPrice).sum(); }} controller package jpabook.jpashop.api;import jpabook.jpashop.domain.entity.Address;import jpabook.jpashop.domain.entity.Order;import jpabook.jpashop.domain.entity.OrderStatus;import jpabook.jpashop.domain.repository.OrderRepository;import jpabook.jpashop.domain.repository.OrderSearch;import lombok.Data;import lombok.RequiredArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.time.LocalDateTime;import java.util.List;import java.util.stream.Collectors;/** * xToOne(ManyToOne, OneToOne) * Order * Order -> Member * Order -> Delivery */@Slf4j@RestController@RequiredArgsConstructorpublic class OrderSimpleApiController { private final OrderRepository orderRepository; @GetMapping("/api/v1/simple-orders") public List<Order> ordersV1() { List<Order> all = orderRepository.findAllByString(new OrderSearch()); all.stream().forEach(o -> { o.getMember().getName(); // Lazy 강제 초기화 o.getDelivery().getAddress(); // Lazy 강제 초기화 }); return all; } @GetMapping("/api/v2/simple-orders") public List<SimpleOrderDto> ordersV2() { List<Order> orders = orderRepository.findAllByString(new OrderSearch()); return orders.stream() .map(SimpleOrderDto::new) .collect(Collectors.toList()); } @GetMapping("/api/v3/simple-orders") public List<SimpleOrderDto> ordersV3() { List<Order> orders = orderRepository.findAllWithMemberDelivery(new OrderSearch()); return orders.stream() .map(SimpleOrderDto::new) .collect(Collectors.toList()); } @Data static class SimpleOrderDto { 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(); this.address = order.getDelivery().getAddress(); } }} repository package jpabook.jpashop.domain.repository;import org.springframework.stereotype.Repository;import org.springframework.util.StringUtils;import javax.persistence.EntityManager;import javax.persistence.TypedQuery;import javax.persistence.criteria.*;import java.util.ArrayList;import java.util.List;import jpabook.jpashop.domain.entity.Order;@Repositorypublic class OrderRepository { private final EntityManager em; public OrderRepository(EntityManager em) { this.em = em; } public void save(Order order) { em.persist(order); } public Order findOne(Long id) { return em.find(Order.class, id); } public List<Order> findAllByString(OrderSearch orderSearch) { String jpql = "select o from Order o join o.member m"; boolean isFirstCondition = true; //주문 상태 검색 if (orderSearch.getOrderStatus() != null) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " o.status = :status"; } //회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " m.name like :name"; } TypedQuery<Order> query = em.createQuery(jpql, Order.class) .setMaxResults(1000); if (orderSearch.getOrderStatus() != null) { query = query.setParameter("status", orderSearch.getOrderStatus()); } if (StringUtils.hasText(orderSearch.getMemberName())) { query = query.setParameter("name", orderSearch.getMemberName()); } return query.getResultList(); } /** * JPA Criteria */ public List<Order> findAllByCriteria(OrderSearch orderSearch) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Order> cq = cb.createQuery(Order.class); Root<Order> o = cq.from(Order.class); Join<Object, Object> m = o.join("member", JoinType.INNER); List<Predicate> criteria = new ArrayList<>(); //주문 상태 검색 if (orderSearch.getOrderStatus() != null) { Predicate status = cb.equal(o.get("status"), orderSearch.getOrderStatus()); criteria.add(status); } //회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { Predicate name = cb.like(m.<String>get("name"), orderSearch.getMemberName()); criteria.add(name); } cq.where(cb.and(criteria.toArray(new Predicate[criteria.size()]))); TypedQuery<Order> query = em.createQuery(cq).setMaxResults(1000); return query.getResultList(); } public List<Order> findAllWithMemberDelivery(OrderSearch orderSearch) { return em.createQuery("select o from Order o join fetch o.member m join fetch o.delivery d", Order.class) .getResultList(); }}
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Dto Json 출력 오류 질문
Address 필드가 Response 시 빈 객체로 나옵니다. [ { "orderId": 4, "name": "userA", "orderDate": "2022-06-26T00:43:08.07663", "orderStatus": "ORDER", "address": {} }, { "orderId": 11, "name": "userB", "orderDate": "2022-06-26T00:43:08.155045", "orderStatus": "ORDER", "address": {} } ] log를 찍어 봤는데 아래와 같이 dto에 address는 잘 들어가있습니다. 2022-06-26 00:43:11.618 INFO 4953 --- [nio-8080-exec-2] j.jpashop.api.OrderSimpleApiController : dto address = Address(city=서울, street=1, zipcode=1111) 2022-06-26 00:43:11.618 INFO 4953 --- [nio-8080-exec-2] j.jpashop.api.OrderSimpleApiController : dto address = Address(city=진주, street=2, zipcode=2222) 뭐가 문제일까요 ㅠㅠㅠ 전체코드 package jpabook.jpashop.api;import jpabook.jpashop.domain.entity.Address;import jpabook.jpashop.domain.entity.Order;import jpabook.jpashop.domain.entity.OrderStatus;import jpabook.jpashop.domain.repository.OrderRepository;import jpabook.jpashop.domain.repository.OrderSearch;import lombok.Data;import lombok.RequiredArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.time.LocalDateTime;import java.util.List;import java.util.stream.Collectors;/** * xToOne(ManyToOne, OneToOne) * Order * Order -> Member * Order -> Delivery */@Slf4j@RestController@RequiredArgsConstructorpublic class OrderSimpleApiController { private final OrderRepository orderRepository; @GetMapping("/api/v1/simple-orders") public List<Order> ordersV1() { List<Order> all = orderRepository.findAllByString(new OrderSearch()); all.stream().forEach(o -> { o.getMember().getName(); // Lazy 강제 초기화 o.getDelivery().getAddress(); // Lazy 강제 초기화 }); return all; } @GetMapping("/api/v2/simple-orders") public List<SimpleOrderDto> ordersV2() { List<Order> orders = orderRepository.findAllByString(new OrderSearch()); List<SimpleOrderDto> result = orders.stream() .map(SimpleOrderDto::new) .collect(Collectors.toList()); result.forEach(dto -> log.info("dto address = {}", dto.getAddress())); return result; } @Data static class SimpleOrderDto { 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(); } }}
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
Decorator pattern 질문 입니다
제가 이 부분에서 생성자 주입을 기준으로 생각해서 왜 마지막에 주입된건 Trim 인데 SpamFilter가 작동하지라고 생각 했었는데주입이 아니라 Trim이 SpamFilter를 감싼형태로 동작해서 책임이 추가되었고 감싸진 순서대로 추가된 책임(메서드)이 적용이 된게 맞는 건지 궁금해서 질문해봅니다
-
미해결프레이머를 활용하여 쉽고 간단하게 프로토타입 제작하기
프레이머 화면 레이아웃 변경되었나요?
현재 강사님의 강의를 보면, 새파일 만들고 난 뒤 블랭크를 누르면 가운데 최상단에 아이콘들이 여럿 뜨는데, 지금 프레이머에서는 보이지 않습니다. 업데이트 되면서 화면이 다 바뀐것인가요...? 강사님처럼 화면을 구성할 수 없나요 이제?
-
해결됨한 방에 끝! 빅데이터분석기사 실기 작업형
질문 드립니다. Quiz 답안의 실행시 에러 발생원인을 알고 싶습니다.
dfl = df[df['longitude'].isnull()==True] print(dfl) (base) C:\Users\user\Desktop\pythonworkstation>C:/Users/user/anaconda3/python.exe c:/Users/user/Desktop/pythonworkstation/big_data_engineer(Infleon_hanbang)/4_pandas_beginner_1.py Empty DataFrame Columns: [longitude, latitude, housing_median_age, total_rooms, total_bedrooms, population, households, median_income, median_house_value] Index: []
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
예제문제 및 강의자료
안녕하세요 선생님! 예제문제가 안열리고 강의자료 폴더다운을 받아도 비어있다고 나오는데 혹시 메일로 보내주실 수 있나요..? 메일주소는 dmsgkrkt1@naver.com 입니다.
-
미해결타입스크립트 입문 - 기초부터 실전까지
핸드북 인터페이스 확장관련
안녕하세요. 캡틴판교님! 좋은 강의 감사드립니다!! 인터페이스 확장 관련해서 강의와, 타입스크립트 핸드북을 공부 중에 있습니다. 타입스크립트 핸드북에 인터페이스 확장 부분에 interface Person { name: string; } interface Drinker { drink: string; } interface Developer extends Person { skill: string; } let fe = {} as Developer; fe.name = 'josh'; fe.skill = 'TypeScript'; fe.drink = 'Beer'; 이렇게 작성되어있는데, Developer 는 Drinker 를 상속받지 않아 drink 속성에 접근 시에 오류가 발생할 것 같다 생각하여 질문 드립니다! 그래서 코드가 interface Person { name: string; } interface Drinker extends Person{ drink: string; } interface Developer extends Drinker { skill: string; } let fe = {} as Developer; fe.name = 'josh'; fe.skill = 'TypeScript'; fe.drink = 'Beer'; 이런 구조가 맞지않을까? 하여 질문드립니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
쿼리가 두번 나가는 이유가 뭘까요? ㅠ
아래 코드를 실행했을때 쿼리가 두번 나갑니다 ㅠ 설정이 잘못된걸까요? Member findMember1 = em.find(Member.class, 101L);Member findMember2 = em.find(Member.class, 101L); System.out.println(findMember1 == findMember2);Hibernate: select member0_.id as id1_0_0_, member0_.name as name2_0_0_ from Member member0_ where member0_.id=? Hibernate: select member0_.id as id1_0_0_, member0_.name as name2_0_0_ from Member member0_ where member0_.id=? true
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
Resultset
select 쿼리의 결과가 Resultset 에 들어간다고 하셨는데 쿼리 결과 전체를 메모리에 올리는 건가요? 만약 그렇다면 쿼리의 결과가 많을 때 메모리가 넘치지 않을까 생각이 듭니다. 이럴때는 어떻게 해결하는지 궁굼합니다.
-
미해결
[Python 오류] 질문입니다! couldn't find program 'bash' (급합니다ㅠ)
%%bash # drive.mount("/content/drive") apt-get update apt-get install g++ openjdk-8-jdk python-dev python3-dev pip3 install JPype1 pip3 install konlpy %% bash 에서 막히네요 오류는 제목 그대로 뜹니다 현재 git bash가 설치되어 있는 상황인데 연관이 있을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
질문있습니다!!!
public String hello(Model model) { model.addAttribute("date","hello!!"); return "hello";}return 값이 templates의 hello.html에 지정이되지않습니다. return 값이 templates패키지안의 hello.html 지정이 되지않습니다. 윈도우에서 Ctrl + 클릭해도 강사님처럼 html 파일로 따라가지지 않습니다. 이유가 뭘까요? 다른부분있나 인강 몇번 돌려서 다시 작행했는데도 동일합니다. http://localhost:8080/hello 들어가면 해당오류가 노출됩니다. Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Tue Apr 19 16:46:06 KST 2022 There was an unexpected error (type=Internal Server Error, status=500).