묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
이동 동기화가 너무 어렵습니다..
안녕하세요 루키스님이번 강의 보고 열심히 따라해봤는데 이상하게 똑같이 동작을 안하네요,, 지금 10시간 넘게 강사님의 코드 차이점을 찾고 있는데 못찾았습니다..혹시 몰라서 코드를 복사해서 직접 갖다 붙여도 비슷한 상황이 나오게 됩니다. 물론 강사님과의 코드와 간소한 차이가 있지만 로직틀은 벗어나지 않았습니다. 그나마 차이를 찾자면 유니티 에디터 버전 차이인것 같은데강사님꺼는 2019.3.15f 이고 제꺼는 2022.3.16f입니다. 제 코드로 서버를 돌리고 버전 바꾸고 강사님 코드로 클라를 돌렸을 때는 잘 작동했었습니다. 하지만 클라를 제 코드로 하면 이상하게 CellPos는 정상적으로 바뀌고 Object.Find로 확인해서 이동이 막히는것 까지는 정상 처리가 됩니다. PacketHandler 에서 여러번 확인해봤는데 MyPlayer와 Player의 id가 다른 패킷을 받는걸 봤습니다. 패킷의 내용도 예상대로 잘 받고 있는데 이상하게 Player컴포넌트를 들고있는 오브젝트만 MoveToNextPos로 이동하지 않습니다. 혹시 예상되는 부분이 있으실까해서 적어봅니다
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
post에서 타입
authorId의 타입은 number인데,포스트맨에서 return받는 newPost의 id의값은 스트링으로 들어오는 이유는 궁금합니다.
-
해결됨[코드캠프] 강력한 CSS
강의 수강 후 실습
질문 ) 혼자 실습해본다고 모 홈페이지 하나 클론코딩하는 중인데 header 부분에서 만들다가 막혔습니다....그래서 https://www.w3schools.com/howto/howto_js_accordion.asp 여기서 기초적인 연습을 하고 있는데 flex와 grid를 사용하지않더라구요. 위 처럼 기초적인 연습을 할 수 있고, flex grid 쓰는 사이트가 있을까요? 있으시다면 추천 부탁드립니다!!!
-
미해결김영한의 실전 자바 - 기본편
김영한의 실전자바-기본편 섹션6 연습문제 두번째
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 김영한의 실전자바 기본편 섹션6 연습문제 두번째 문제에서 코드에서 제가 작성한 코드와 김영한 선생님이 작성한 코드가 다른데 차이점을 알고 싶습니다.//저의 코드 public void displayItems() { System.out.println("장바구니 상품 출력"); for (int i = 0; i < itemCount; i++) { System.out.println("상품명:" + items[i].getName() + ", 합계:" + items[i].sumPrice()); } //비교하고싶은 부분 System.out.println("전체 가격 합: "+totalPrice()); } //김영한 선생님 코드 public void displayItems() { System.out.println("장바구니 상품 출력"); for (int i = 0; i < itemCount; i++) { Item item = items[i];//저와 다른 부분 System.out.println("상품명: " + item.getName() + ", 합계: " + item.getTotalPrice()); } System.out.println("전체 가격 합: " + calculateTotalPrice()); } 저의 코드는 items[i] 의 참조값의 getName과 sumPrice를 불러서 프린트 했고,김영한 선생님은 items[i]를 item에 할당해서 item의 getName과 Price를 프린트 했지 않습니까? 질문 1. 기능적으로는 똑같은거 같은데 둘의 차이가 있습니까? 질문 2. 뭔가 똑같아 보이긴 하지만 김영한 선생님이 작성한 코드니까 더 좋아 보이는 이유가 있는거 같은데 혹시 둘의 차이 설명 가능한가요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
Entity 설계 시 고민되는 부분 문의드립니다.(@Setter, @Builder 미사용 시 테스트 등)
토이프로젝트나 회사에서 엔티티 설계 하면서 고민되는 부분이 있어서 문의드립니다. 엔티티에 @Setter 나 @Setter 가 포함된 @Data 애노테이션을 추가하지 않는 것이 좋다고 강의에서 들어서 설계 시 해당 부분을 제외하고 있습니다.@Entity @Getter @SuperBuilder @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name = "book") public class Book extends BaseDateEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "book_id", updatable = false) private Long id; @Column(name = "title", length = 200, nullable = false) private String title; @Column(name = "author") private String author; @Column(name = "price") private int price; @Column(name = "publisher") private String publisher; @Column(name = "publish_at") private LocalDate publishAt; @Column(name = "isbn", nullable = false) private String isbn; @Column(name = "sort", nullable = false) private String sort; @Column(name = "image", columnDefinition = "TEXT") private String image; @Column(name = "link", columnDefinition = "TEXT") private String link; } @Builder는 엔티티 클래스에 붙이고 있는데, 이렇게 되면 사실 점층적 생성자가 있는것과 다를바 없이 객체를 생성할 수 있기 때문에 좋은 방법이 아닌거 같아 문의드립니다.실무에서는 보통 어떤 식으로 사용하시는지 궁금하여 문의드립니다. 별도의 of, create 메서드를 static으로 만들어서 생성하기도 하는데요. 이렇게 되면 테스트 코드 작업 시 @BeforeEach로 초기 데이터를 추가하기 쉽지 않더라고요. 어느정도 수준으로 실무에서 사용하는 것이 적절할지 궁금합니다. public static Reservation create(String userName, String phoneNumber, Performance performance, PerformanceSeat performanceSeat) { return Reservation.builder() .userName(userName) .phoneNumber(phoneNumber) .title(performance.getTitle()) .round(performance.getRound()) .amount(performance.getPrice()) .status(ReservationStatus.APPLY) .performance(performance) .performanceSeat(performanceSeat) .build(); } [문의 내용 정리]Q1) JPA Entity 클래스에 @Builder 애노테이션을 추가하는 것은 좋지 않은 방식일까요? 그렇다면 어떻게 사용하는것이 적절할까요?Q2) @Builder 패턴, 기본 생성자, setter 제외한 경우 테스트 코드에서 @BeforeEach로 초기 데이터를 추가 시 어떻게 하는 것이 좋을까요?
-
해결됨삼각형의 실전! OpenAI Triton 초급
강의 계획에 대하여
안녕하세요!모든 강의가 다 나오지는 않았지만 너무 좋은 강의인 것 같아 먼저 결제를 했습니다 ㅎㅎ혹시 바쁘시겠지만 섹션 4. Triton 톺아보기(TBD)에 대한 업데이트 계획을 알려주실 수 있을까요?제목만 봐서는 Triton 전체 개괄을 해주는 것 같아 꼭 들어보고 싶습니다업데이트 해주실동안 열심히 따라가고있겠습니다~~~!고급 강의도 기대 중입니다! 감사합니다!
-
미해결따라하며 배우는 TDD 개발 [2023.11 업데이트]
TypeError: user_model_1.default.create is not a function
학습중 repository pattern을 적용하여 테스트를 적용해 보던 중 TypeError: user_model_1.default.create is not a function 라는 에러와 마주하게 되었습니다.user.repository.tsimport User from "../model/user.model"; export class UserRepository { createUser = async(user) => { const newUser = await User.create({ ...user }) return newUser } findUserById = async(id:string) => { const user = await User.findById('65cba34813b2fbec74a558a8') if(!user) throw new Error('존재하지 않는 유저정보 입니다.') return user } }user.repository.test.tsimport { UserRepository } from "../../app/repository/user.repository" const createMock = jest.fn() const findByIdMock = jest.fn() jest.mock("../../app/model/user.model", () => { return { User: jest.fn(() => { return { create:createMock, findById:findByIdMock } }) } }) describe('user repository Create', () => { let sut:UserRepository; const newUser = { id:"abcdefrwgsf123123", name:"test name", email:"test@nanana.com" } beforeEach(() => { sut = new UserRepository() }) afterEach(() => { jest.clearAllMocks() }) it('create api', async () => { createMock.mockReturnValueOnce(newUser) const actual = await sut.createUser({name:newUser.name, email:newUser.email}) expect(createMock).toHaveBeenCalledTimes(1) expect(actual).toStrictEqual(newUser) expect(createMock).toHaveBeenCalledWith({name:newUser.name, email:newUser.email}) }) }) jest실행시 create api의 createMock.mockReturnValue() 까지는 실행이되지만 await sut.createUser() 부분에서 에러가 나는것으로 확인되었습니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
6-5 수식에 관한 질문
6-5 섹션에서 Loss를 W(3)로 미분한 결과( = tW(3))를 계산하는 수식에 관련해서 질문이 있습니다..!위의 사진과 같이 계산을 해보았는데 결과가 tW(3)이 아닌 2tW(3)으로 나오게 되었습니다..Jacobian 개념이 생소하여 제대로 계산을 하였는지 잘 모르겠어서.. 혹시 계산에서 잘못된 부분을 알려주실 수 있을까요...??
-
미해결2시간으로 끝내는 코루틴
코루틴 스코프
코드를 보다보면 코루틴 스코프를 쓸 때, 소문자로 coroutineScope { } 블락이 있는 경우가 있고 대문자로 시작하는 CoroutineScope(Dispatchers.Main).launch { } 이런식으로 된 코루틴스코프가 있는데, 각각 어떤 차이이며 어느 상황에 각각을 써야하나요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
벡터 구조체 이터레이터 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. #include <bits/stdc++.h> using namespace std; struct Point { int y, x; }; bool cmp(const Point &a, const Point &b) { return a.x > b.x; } vector<Point> v; int main() { for (int i = 10; i >= 1; i--) { v.push_back({i, 10 - i}); } sort(v.begin(), v.end(), cmp); for (auto it : v) cout << it.y << " : " << it.x << "\n"; return 0; /* 1:9 2:8 3:7 4:6 5:5 6:4 7:3 8:2 9:1 10 : 0 */ } 질문드립니다해당 vector는 Point를 기반으로 만들어진 벡터임을 알겠는데v.begin()은 이터레이터를 반환하잖아요??(주소값 반환)*v.begin()로 주소안의 값을 확인하려했는데 되지 않아아마 struct 변수가 2개라 무엇을 기준삼지 않아 오류가 나는거같은데혹시 값 반환하는 방법이 있을까요?제가 이해한 내용이 틀렸다면 어떤식으로 이해해야하나요??
-
미해결
서비스 계층에서 응답 객체 생성 관련 커뮤니티의 생각이 궁금합니다
안녕하세요.Spring Boot를 사용하여 REST API를 구축하는 과정에서 응답 객체의 생성 위치에 대한 베스트 프랙티스에 대해 커뮤니티의 의견을 듣고자 합니다.일반적으로, 컨트롤러는 HTTP 요청을 처리하고 HTTP 응답을 반환하는 역할을 수행하며, 서비스 계층은 비즈니스 로직과 데이터의 처리를 담당합니다. 그러나 서비스 계층에서 직접 HTTP 응답 객체를 생성하고 이를 컨트롤러를 통해 반환하는 방식에 대해 고민 중입니다.이 방법은 서비스 계층과 컨트롤러 계층 사이의 경계를 모호하게 만들 수 있으며, 서비스 계층의 재사용성과 테스트 용이성에 영향을 미칠 수 있습니다. 반면, 일부 개발자는 이러한 접근 방식이 효율적이라고 주장하기도 합니다.저는 다음과 같은 질문을 가지고 토론을 시작하고자 합니다:여러분의 프로젝트에서는 서비스 계층에서 응답 객체를 생성하나요, 아니면 컨트롤러에서만 생성하나요?각 방식의 장단점에 대해 어떻게 생각하시나요?응답 객체를 생성하는 위치에 대한 결정 기준은 무엇인가요?개발 프로세스의 투명성과 효율성을 높이는 것이 목표입니다. 여러분의 경험과 지식을 공유해 주신다면, 이를 바탕으로 더 나은 아키텍처 설계 결정을 내릴 수 있을 것 같습니다.감사합니다. github discussions (https://github.com/soobinJung/JCK-World/discussions/27 )
-
해결됨스프링 배치
setSortKeys 로 정한 값에서 오류가 나는데 원인을 모르겠습니다.
@Bean public JdbcPagingItemReader<RequestReportTargetDto> jdbcPagingItemReader() throws Exception { HashMap<String, Object> parameters = new HashMap<>(); parameters.put("reqReportYn", "N"); return new JdbcPagingItemReaderBuilder<RequestReportTargetDto>() .name("jdbcPagingItemReader") .dataSource(dataSource) .fetchSize(10) .rowMapper(new BeanPropertyRowMapper<>(RequestReportTargetDto.class)) .pageSize(10) .queryProvider(createQueryProvider()) .parameterValues(parameters) .build(); } @Bean public PagingQueryProvider createQueryProvider() throws Exception { SqlPagingQueryProviderFactoryBean qp = new SqlPagingQueryProviderFactoryBean(); qp.setDataSource(dataSource); qp.setSelectClause("M_ID mId, SERVICE_NO serviceNo, SERVICE_TYPE serviceType, PRODUCT_CODE productCode, REQ_REPORT_YN reqReportYn"); qp.setFromClause("from TARGET_TEST"); qp.setWhereClause("where reqReportYn = :reqReportYn"); Map<String, Order> sortKeys = new HashMap<>(); sortKeys.put("mId", Order.ASCENDING); qp.setSortKeys(sortKeys); return qp.getObject(); }@Getter @Setter public class RequestReportTargetDto { private String mId; private String serviceNo; private String serviceType; private String productCode; private String reqReportYn; }위와 같이 하고 실행하면 아래 오류가 납니다. org.springframework.dao.InvalidDataAccessApiUsageException: No value supplied for the SQL parameter '_mId': No value registered for key '_mId' at org.springframework.jdbc.core.namedparam.NamedParameterUtils.buildValueArray(NamedParameterUtils.java:379) ~[spring-jdbc-6.1.2.jar:6.1.2] at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.getPreparedStatementCreator(NamedParameterJdbcTemplate.java:472) ~[spring-jdbc-6.1.2.jar:6.1.2] at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.getPreparedStatementCreator(NamedParameterJdbcTemplate.java:446) ~[spring-jdbc-6.1.2.jar:6.1.2]..... sort key 로 정해준 값에서 계속 오류가 나는데 원인을 못찾고 있습니다. sort key 를 바꾸면 바꾸는데로 앞에 _ 가 붙어서 위와 같은 오류가 납니다. 강사님이 디버깅할 때 찍어주신 것처럼 where 절에 sort key 가 추가가 되는데 거기서 오류가 나는 것 같습니다.수정해봐야 하거나 더 확인할 수 있는 부분이 있을까요??
-
해결됨스프링 핵심 원리 - 기본편
특정 하위 타입으로 조회하기
<섹션 4. 스프링 컨테이너와 스프링 빈> 파트에서 질문 드리고 싶은게 있습니다.저와 비슷한 질문을 하신 분이 있어서 그 게시물에 달린 답변을 읽어보았지만, 여전히 이해가 되지 않습니다... https://www.inflearn.com/questions/1045843/%ED%8A%B9%EC%A0%95-%ED%95%98%EC%9C%84-%ED%83%80%EC%9E%85%EC%9C%BC%EB%A1%9C-%EC%A1%B0%ED%9A%8C%ED%95%A0-%EB%95%8C-%EA%B6%81%EA%B8%88%ED%95%9C-%EC%A0%90-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4 void findBeanBySubType() { RateDiscountPolicy bean = ac.getBean(RateDiscountPolicy.class); assertThat(bean).isInstanceOf(RateDiscountPolicy.class); }@Configuration static class TestConfig { @Bean public DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy(); } @Bean public DiscountPolicy fixDiscountPolicy() { return new FixDiscountPolicy(); } }컨테이너를 보면 rateDiscountPolicy() 메소드의 리턴 타입은 DiscountPolicy 타입으로 되어있습니다. 따라서, rateDiscountPolicy라는 이름을 가진 빈은, DiscountPolicy 타입의 RateDiscountPolicy 객체를 저장할 것이라고 생각했습니다.이러한 상황에서 ac.getBean(RateDiscountPolicy.class)로 빈을 조회하면 RateDiscountPolicy 타입과 그것의 자식 타입 빈이 조회될 것입니다. 저는 ac.getBean(RateDiscountPolicy.class)이 어떻게 rateDiscountPolicy라는 이름의 빈을 조회할 수 있는지 알고 싶습니다.해당 빈은 RateDiscountPolicy 객체이지만, 타입은 DiscountPolicy 타입이므로 ac.getBean(RateDiscountPolicy.class)로 조회했을 때 걸리지 않을 것이라 생각했습니다... 답변 부탁드립니다.감사합니다!
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
안녕하세요. api , 크롤링 관리 관련 질문이 있습니다.
안녕하세요! 회사에서 vue3 로 프로젝트를 진행중인데, api 및 크롤링 관리와 프로젝트 구조에 대해 질문이 있어 글을 남기게 되었습니다!작업하고 있는 홈페이지에 open api 와 크롤링이 굉장히 다양하게 들어가 있고, 쓰임도 다양합니다.도표, 차트, 그냥 단순 데이터 나열까지 거의 크롤링과 open api 범벅인 사이트인데요..!속도와 사용자 중심의 개발이 중요한 상황이라서 먼저 불러온 것부터 띄운 뒤 아직 뜨지 않은 것들은 로딩바 처리를 해야 합니다.서로 다른 영역에 있는 2-3개의 컴포넌트가 같은 api를 쓰기도 하는 경우가 있어서 관리와 구조를 어떻게 짜야할지 등이 고민입니다. api 관리와 크롤링 관리는 어떤 것들을 이용해서 어떻게 진행해 주면 좋을지 궁금합니다. (찾아보고 궁리한 방법은 vuex(pinia)를 통한 관리, 라우터에서 한꺼번에 호출, 부모 컴포넌트에 몰아넣기 등이 있습니다..! 더 좋은 방법이나 추천해주실 방법이 있을지 궁금합니다.)이러한 작업을 위해 프로젝트 구조는 어떻게 짜는 것이 좋을지 궁금합니다.상태 관리에 vuex와 같은 것이 필요하다면, vuex 대신 pinia를 추천해 주셨는데 이런 상황에서도 추천해 주실지 궁금합니다. 질문이 너무 길어 죄송합니다. 조언 주시면 감사할 것 같습니다.. ! 긴 글 읽어주셔서 감사합니다!!!
-
미해결Vue-Django-Bootstrap 뚝딱 블로그
따단?
따단이 뭔가요?import 하는건 알겠는데 제가 파이참을 안 써서 vscode에서는 뭔지 알려주시면 감사하겠습니다.
-
미해결AWS(Amazon Web Service) 중/상급자를 위한 강의
X-RAY 실습
안녕하세요 강사님강의 너무 잘 수강하고 있습니다.다른 강의와는 다르게X-Ray 실습은많이 변화가 되어 따라가기가 무척 힘이드네요.괜찮으시다면 이 부분 설명 등추가해주시면 수업을 따라가기 좋을 것 같습니다.부탁드립니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요!
안녕하세요 오늘부터 입문강좌 수강하게되었습니다! 강의자료 부탁드립니다 🙂 sykim.14jan@gmail.com
-
미해결김영한의 실전 자바 - 기본편
6. 접근 제어자.pdf 오타 수정 요청
6. 접근 제어자.pdf 본문에 오타 수정이 여러 군데 필요합니다.스피커에 대한 내용 중폭팔 -> 폭발로 오타 수정이 필요합니다. ‘폭발’은 ‘불이 일어나며 갑작스럽게 터지다’라는 뜻과 함께 ‘속에 쌓여 있던 감정 따위가 일시에 세찬 기세로 나옴’ 또는 ‘힘이나 열기 따위가 갑작스럽게 퍼지거나 일어남’이라는 뜻으로 사용됩니다. ‘폭팔’은 ‘폭발’의 잘못된 표현이므로 사용해서는 안되겠습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
강사님 JS지식이 없어도 강의를 들을 수 있을까요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.자바 스크립트를 배우지않은 상태에서 강의를 듣고있습니다.API를 시작으로 따라해보려했지만초기 개발환경 설정 등을 따라하지 못한 상태에서따라가려고 하다보니 수업에 차질이 생기더군요. 초보자가 따라할 수 있도록 어느정도 가이드라인을 알려주셨으면 합니다.그래서 앞 내용들을 건너뛰고 디자인패턴으로 넘어왔습니다. 내용은 순서 상관없이 들으면 되나요?
-
미해결개발자를 위한 ORACLE 입문 첫걸음
Connection & Table 생성 강의에서 사용하는 쿼리 출처
Connection & Table 생성 강의에서 사용하는 스키마 출처가 어디인가요? 스프링 강의에서 가져온거라고 하셨는데 이 강의만 듣는 사람은 어디서 구할 수 있을까요?수업자료에서는 없는 거 같습니다.