묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
Kodex200 일별 data 오류
강의내용에서 FinanceDataReader 이용해서 df1, df2에 삼성전자와 kodex200 일별 data를 입력했습니다. 삼성전자는 실제 강의와 같은 값이 나오는데 kodex200은 다른 값이 나오는데 원인을 알 수 있을까요? FinanceDataReader 최신버전을 사용해서 그런걸까 싶지만 과거 주가 data는 상관없이 가져와야 하는게 아닌가 싶네요. 아래는 사용한 코드입니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2468 안전 영역
안녕하세요 이제 막 알고리즘 시작한 코린이 입니다. 큰돌님 처음으로 질문 드려봅니다!! dfs 문제에서 어디서 오류가 났는지를 못찾겠어서 도움 요청드려요.. 그리고 꼭 여쭤보고 싶은게 ny랑 nx 또는 y와 x의 순서는 x y 가 아니라 왜 항상 y부터 먼저 사용하는 건가요? 그 부분이 조금 헷갈려서 여쭙고 싶어요 선생님. #include <bits/stdc++.h> using namespace std; const int max_n = 104; int n, ret, a[max_n][max_n], e[max_n][max_n], h = 1; bool visited[max_n][max_n]; int dx[4] = {-1, 0, 1, 0}; int dy[4] = {0, 1, 0, -1}; void dfs(int y, int x) { visited[y][x] = 1; for (int i=0; i<4; ++i) { int ny = y + dy[i]; int nx = x + dx[i]; if (ny < 0 || ny >= n || nx < 0 || nx >= n) continue; if (e[ny][nx] == 0 && !visited[ny][nx]) dfs(ny, nx); } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; for (int i=0; i<n; ++i) { for (int j=0; j<n; ++j) { cin >> a[i][j]; } } while (h <= 100) { fill(&visited[0][0], &visited[0][0] + max_n * max_n, 0); int temp = 0; for (int i=0; i<n; ++i) { for (int j=0; j<n; ++j) { if (e[i][j] == 1) continue; if (a[i][j] <= h) e[i][j] = 1; } } for (int i=0; i<n; ++i) { for (int j=0; j<n; ++j) { if (e[i][j] == 0 && !visited[i][j]) { dfs(i, j); ++temp; } } } ret = max(ret, temp); ++h; } cout << ret << "\n"; return 0; }
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
블로그 정리시 강의자료 사용 여부
안녕하세요! 먼저 너무 좋은 카프카 강의 개설해주셔서 감사합니다. 열심히 강의자료에 필기도 하면서 열심히 원영님 강의 들으며 카프카에 대해 알아가고 있습니다. 혹시 블로그에 정리시에 강의자료 중 그림 같은 부분은 혹시 업로드하여 사용해도 괜찮을지 문의드립니다!
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
C# 자동완성
저번에 다운받았을때는 잘만 되던 것이 요즘은 자동완성이 안됩니다. game을 쳐도 안나오고 Debug 도 무슨 특수한 상황에서만 나옵니다. void start 안에 넣었는데... 3번정도 지웠다 다시 깔아봤지만 문제가 고쳐지지 않네요...
-
미해결
자바스크립트 기본문법 질문드러요 :)
안녕하세요. 고수님들 기본적인것 같은데 헷갈려서 질문드립니다 ㅠㅠ 아래 코드에서 logUser_Google 이라는 함수를 만들었습니다. 그리고 signIn_GooglePopup 라는 함수를 임포트 해와서 변수에 할당했는데요. signIn_Google 함수는 firebase 라이브러리에서 구글로그인폼이 켜지는 함수 입니다. 여기서 궁금한게 있는데요. response라는 변수이름을 어디서 사용한적이 없는데도 실제 onclick=logUser_Google 이 동작하는 이유가 뭘까요? 지금까지 공부한대로라면 함수를 변수에 할당했을뿐이지 호출하지 않았다면.. 작동이 안되는걸로 받아들여지는데요. 혹시 변수에 할당하면 함수가 동작가능한 상태가 되는건가요..? 아니면 온클릭이라는게 누르는 순간 함수를 호출하는 그런걸까요..? 넘 궁금합니다 ㅠ-ㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의내용의 블로그 업로드 가능여부
해당 강의를 잘 보고 있는 한 수강자입니다! 해당 강의의 내용을 개인 블로그에 업로드하는 행위가 가능할까요? 가능하다면 소스코드 공개가능여부등 기준을 알려주시면 감사하겠습니다!!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대다 관계에서의 연관관계 주인은 어떤 친구인가요?
안녕하세요 강의를 듣다가 궁금한 점이 있어 질문드립니다. 다대다 관계에서 @ManyToMany@JoinTable(name = "CATEGORY_ITEM", joinColumns = @JoinColumn(name = "CATEGORY_ID"), inverseJoinColumns = @JoinColumn(name = "ITEM_ID"))private List<Item> items = new ArrayList<>(); @ManyToMany(mappedBy = "items")private List<Category> categories = new ArrayList<>(); 이런식으로 연결테이블을 만들어서 다대다 관계를 풀어내셨는데 그러면 mappedBy에 의해서 연관관계의 주인은 items가 될텐데 그러면 items가 ITEM_ID와 CATEGORY_ID를 관리하게 되는건가요? 항상 감사합니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
queryToObject 질문드립니다.
const queryToString = _.pipe( split("&"), _.map(split("=")), _.map(([k, v]) => ({ [k]: v })), function (a) { log(a); return a; }, _.reduce((a, b) => Object.assign(a, b)) ); log(queryToString("a=1&c=cc&d=dd")); 위와 같이 작성했을 때, 에서 아직 Object.assign하기 전인데 0: { a: '1' }이 안 나오는 이유가 궁금합니다.
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
컴파일러 에러가 났다는데 어떻게 하나요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
데이터베이스의 read, write는 동기적으로 실행되는 건가요?
클라이언트에서 로그인 패킷을 던져서 서버의 PacketHandler에서 login을 처리하는 함수가 아래와 같다고 예를 든다면 void handle_c_login_packet(){ ... 다른 코드들 dbBind.Execute() // select query dbBind.Fetch() ... 코드 A } 코드 A는 db의 정보를 읽어온 뒤에 실행되는 건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
18분23초
public FrontControllerServletV5() { initHandlerMappingMap(); initHandlerAdapters(); } 생성자가 두 메서드를 호출해서 초기화가 되는거죠?
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
KeyHolder가 데이터베이스에 따라 다르게 동작할까요?
안녕하세요 :) @Override public Item save(Item item) { String sql = "insert into item(item_name, price, quantity)" + " values (:itemName,:price,:quantity)"; BeanPropertySqlParameterSource param = new BeanPropertySqlParameterSource(item); KeyHolder keyHolder = new GeneratedKeyHolder(); template.update(sql, param, keyHolder); long id = keyHolder.getKey().longValue(); item.setId(id); return item; } save 메서드를 강의대로 했을때 저는 InvalidDataAccessApiUsageException 이 발생 하더라고요. org.springframework.dao.InvalidDataAccessApiUsageException: The getKey method should only be used when a single key is returned. The current key entry contains multiple keys: [{id=7, item_name=productE, price=50000, quantity=20}] 그래서 id 를 받아 오는 부분을 ```java Long id = (Long) keyHolder.getKeys().get("id"); ``` key를 받아오고 id 를 빼는 식으로 변경 했더니 잘 동작 합니다. 혹시나 해서 테이블을 확인 했는데 primary key 설정도 되어 있는 상태 입니다. 강의를 회사에 일찍 출근해서도 듣고 집에 퇴근하고 와서도 듣다보니 연속성을 위해 PostgresDB를 따로 구축해두고 사용하고 있는데 .. 혹시나 해서 H2 로 변경 해서 테스트 해 보니 getKey() 만 해도 정상적으로 동작 되었습니다. KeyHolder의 getKey가 DB에 따라 상이하게 동작하는걸까요..? update 파라미터를 우연히 보았더니 keyColumn 을 파라미터로 받길래 혹시나 해서 "id" 를 넣었더니, 이 때에도 getKey()가 정상적으로 동작 하였습니다. 우연히 해결을 하기는 했는데 KeyHolder의 작동 원리에 대한 이해가 없다보니 궁금하네요.. 1. DB 에 테이블을 등록할 때 제가 뭔가 누락한게 있어서 그럴까요? 아니면 단순히 Postgres 를 사용해서 그런 걸까요? 2. DB에 따라 getKey()가 안될 수 있다면, getKeys() 후에 원하는 key를 받아오는 것과 update 할 때에 key column을 명시해 주는 것 중 어느쪽이 더 명확할까요? 혹은 더 나은 방법이 있을까요? 감사합니다
-
미해결문제로 배우는 C언어
[최솟값 구하기]
scanf()를 활용하여 7개의 변수를 입력받을 때 for(i = 0; i<=6; i++) { scanf("%d", &a); ... } 로 작성을 하셨습니다. for문의 반복 순서가 초기화 -> 조건문 - > (참) -> 코드블럭 실행 -> 증가감 -> 조건문... 이기 때문에 하나 입력받고 엔터 누르고 다시 하나 입력 받고 엔터를 누르는 거라 생각을 했는데 엔터없이 한번에 7개의 값을 입력넣고 엔터를 눌러도 정상적으로 입력이 되는건가요?? 저의 경우 처음에는 scanf("%d %d %d %d ...", &a,&b,...); 로 하나씩 받아야하나 생각했는데 이러면 반복문을 사용할 수 없어서 배열을 사용하여 문제를 해결했습니다. 다만 지금 단계는 배열없이 푸는거라 결국 강의를 보았는데 제가 scanf - for 활용에 미처 몰랐던 부분이 있는거 같더라고요! 즉, OS는 프롬프트 창에 나와있는 값의 개수를 한꺼번에 써놔도 scanf로 반복문을 수행해가며 하나씩 가져가는건가요?
-
미해결풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
api respon 시간
api 받아오는 시간이 5 ~ 6초 걸릴정도를 느릴때도 있고, 가끔 빠를때는 0.5초만에 값을 가지고 오는데 fake store api 문제인건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceTest.java 에서 오류가 나는 이유
섹션 3 회원관리 예제 - 백엔드 개발을 학습 중에 있습니다. package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemoryMemberRepository; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.Optional; import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; // Test 는 한글로 바꾸어도 된다 (실제 prodution 되는 코드는 한글 x) ,test 코드는 build 시 포함 안됨 class MemberServiceTest { // MemberService memberService=new MemberService(); // MemberService 에서 memberRepository 객체와 Test 에서의 memberRepository 객체가 달라서 // 객체 변수(store) 접근시 다른 store 로 접근할 수 있다 // 다른 repository 를 이용하기 때문에 문제가 된다 // MemoryMemberRepository memberRepository=new MemoryMemberRepository(); MemberService memberService; MemoryMemberRepository memberRepository; // test 전에 같은 memberRepository 를 가지도록 할 수 있다 (service 와 test 모두 같음) // 이와 같은 상황을 DI(Dependency Injection) 의존성 주입 이라고 한다 @BeforeEach // 각각의 test 메소드 실행 전에 호출되어 처리 public void beforeEach(){ memberRepository =new MemoryMemberRepository(); memberService=new MemberService(memberRepository); } // // test 실행될 때마다 store 를 지우게 된다 // @AfterEach // 각각의 test 메소드 실행 후에 호출되어 처리 // public void afterEach(){ // memberRepository.clearStore(); // } @Test void 회원가입() { //given : 이런 data 를 Member member=new Member(); member.setName("spring3"); //when : 이러한 경우에 Long saveId=memberService.join(member); //then : 검증 부분 Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); } // 예외인 경우가 터지는지 확인하는 것도 중요하다 @Test public void 중복_회원_예외(){ //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //when memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); // message 검증 assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); // try catch 활용 /* try{ memberService.join(member2); fail(); }catch (IllegalStateException e){ // 중복 예외 터져서 정상적으로 수행된 경우 assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); } */ //then } @Test void findMembers() { } @Test void findOne() { } } 위와 같은 코드에서 제가 생각하기에 현재 @BeforeEach 에 의해서 test 메소드 실행전에 memberRepository와 memberService가 각각 new 연산자를 통해서 새롭게 메모리를 부여받는다고 생각합니다. 그래서 @AfterEach 코드가 없어도 매번 새로운 값이기 때문에 서로 중복되는 name을 가지면서 test를 해도 문제가 안된다고 생각하는데 @AfterEach를 생략하고 실행하니 회원가입 메소드에서 중복때문에 오류가 납니다. 제가 어떤 부분을 놓친 건가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이 인코딩 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 한글이 깨지길래 인터넷에 인코딩 방법을 검색해서 UTF-8로 설정을 했는데도 계속해서 깨지는데 이유를 알 수 있을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의를 정말잘듣고있는데 오류가 발생하여 질문드립니다
강의대로 그대로 따라쳤는데 오류가 오류가 발생해서 글을 작성하게 되었습니다, 구글 드라이브 링크 남겨드릴게요 https://drive.google.com/drive/folders/1DmiETYFjQvDDv2hOmNS4iu6w_y60Srws?usp=sharing
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
C# 유니티 1강과 C++언리얼 1강 둘다 수강하고있을시에는..
안녕하세요 강의 정말 잘 보고 있는 한 수강생입니다! 현재 언리얼 강의를 3강까지 수강하고 이번에 유니티로 포폴만들어보고싶어서 중복되는 알고리즘 정도만 제외하고 구매를 했습니다. 예전에 겉핥기로 C#을 한번 구경했을때에 C++과는 조금 다른 모양새였었던것 같아서 일단 유니티1강도 보고있는중인데 기본 문법들은 비슷한것 같고 1강에서 이정도만 보고 넘어가도 괜찮다 하는 항목들 있을까요? 바로 3강 유니티엔진으로 넘어가도 괜찮을까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
04-02 예제 3번 질문입니다.
예제 3번에서 Beautiful은 하나의 문자열이기 때문에 for구문으로 실행시켰을때 Beautiful로 출력되어야 하는 것 아닌가요? 왜 B,e,a,u,t,i,f,u,l 이렇게 한 단어씩 출력되나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
해당 예제에서 Book 의 모든 필드를 바꾸고자 할 때
안녕하세요 해당 수업에서 만약 Book 의 모든 필드를 변경하고자 한다면 실제 실무에서는 어떻게 사용하면 좋을까 하면서 만들어 보았는데, 틀린 부분이나 고쳐야할 부분이 있다면 말씀해주실 수 있을까요 ? 작은 부분이라도 조언 해주시면 감사하겠습니다! 1. DTO @Getter @Setterpublic class UpdateBookDto { private String name; private int price; private int stockQuantity; private String author; private String isbn; public static UpdateBookDto updateBookAll( String name, int price, int stockQuantity, String author, String isbn) { UpdateBookDto bookDto = new UpdateBookDto(); bookDto.name = name; bookDto.price = price; bookDto.stockQuantity = stockQuantity; bookDto.author = author; bookDto.isbn = isbn; return bookDto; }} 2. Controller public class ItemController { @PostMapping("/{itemId}/edit") public String updateItem(@PathVariable String itemId, @ModelAttribute("form") BookForm form) { UpdateBookDto bookDto = UpdateBookDto.updateBookAll( form.getName(), form.getPrice(), form.getStockQuantity(), form.getAuthor(), form.getIsbn() ); itemService.updateItem(form.getId(), bookDto); return "redirect:/items"; }} 3. Service public class ItemService { @Transactional public void updateItem(Long itemId, UpdateBookDto dto) { Book findBook = (Book) itemRepository.findOne(itemId); findBook.changeBook( dto.getName(), dto.getPrice(), dto.getStockQuantity(), dto.getAuthor(), dto.getIsbn() ); }} 4. Book public class Book extends Item { public void changeBook(String name, int price, int stockQuantity, String author, String isbn) { super.changeItem(name, price, stockQuantity); this.author = author; this.isbn = isbn; }}