묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
상속
class Parent{}class Child extends Parent{}void main① Parent.a = Child()② Child.b = Child()위 식에서 ① ② 두 문장의 차이가 궁금합니다.둘다 = Child()기 때문에 본인들이 태어날때 부모 기본자도 실행할 것이고, 만약 a나 b에 없는 메소드를 실행시킨다면 부모 클래스를 찾아가는 것도 같은데둘에 무슨 차이가 있는지 모르겠습니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
1-2. BigQuery환경 설정 오류
강의 내용을 똑같이 따라했는데 'basic.pokemon'에서 오류가 떠요ㅠㅠ 제가 놓친게 있을까요?
-
해결됨Godot Engine 으로 시작하는 첫 게임 개발
컵케이크 지나갈때 점수표시가 안됩니다ㅠㅠ
func onbody_entered(body): if body.name == "자동차": print("자동차와 충돌함!")그대로 입력했는데 출력이 안되네요 ㅠㅠ 다른 씬들도 다 검토해봤는데 똑같습니다 뭐가 문제일까요
-
미해결김영한의 실전 자바 - 기본편
2분 22초쯤에 질문이있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.2분 22초 에 선생님이 하신 말씀이 예를들어 X002.method 가 호출되면 힙영역의 인스턴스에서 메서드영역에있는 메서드를 호출하고 스택영역에 메서드 호출정보들이 저장된다 라고 이해해도 되나요?
-
미해결홍정모의 따라하며 배우는 C언어
ilk파일이 없습니다.
위의 사진은 선생님 화면으로 Solution 폴더>debug폴더 내에 exe, ilk, pdb파일이 있습니다.위의 사진은 제 컴퓨터 화면으로 ilk파일이 없는 것을 확인했습니다. 실행에는 문제가 없는데 크게 중요하지 않은 부분인가요??visual studio 2022버전을 사용하고있는데 설정이 잘못된걸까요??
-
미해결김영한의 실전 자바 - 중급 2편
hashCode를 오버라이딩 했을때 반환하는게 틀려요.
@Override public int hashCode() { return Objects.hashCode(id); }이걸로 ide가 만들어주네요. 업데이트 된 건가요?해쉬코드가 다르게 나와서 다른 인덱스에 채워지네요.강의처럼 아래와 같이 하면,@Override public int hashCode() { return Objects.hash(id); }강의와 똑같이 같은 인덱스에 채워집니다.Objects의 hash 메서드와 hashCode 메서드의 차이가 무엇일까요? 왜 인텔리제이는 hashCode 메서드를 생성했을까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ArrayEx2 질문 입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.ublic class ArryaEx2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] number = new int[5]; System.out.println("5개의 정수를 입력하세요:"); for (int i = 0; i < number.length; i++) { int input = scanner.nextInt(); number[i] = input; } System.out.println("출력"); for (int i = 0; i < number.length; i++) { System.out.print(number[i]); if(i < number.length -1) { System.out.print(","); } }이렇게 하면 정상작동 하는데ublic class ArryaEx2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int input = scanner.nextInt(); int[] number = new int[5]; System.out.println("5개의 정수를 입력하세요:"); for (int i = 0; i < number.length; i++) { number[i] = input; } System.out.println("출력"); for (int i = 0; i < number.length; i++) { System.out.print(number[i]); if(i < number.length -1) { System.out.print(","); } }int input = scanner.nextInt() 이걸 for 문 밖에 입력하면 정상 작동을 하지 않습니다.해당 위치는 스코프를 모두 적용할수 있는 위치인데 왜 그런거죠?
-
해결됨삼각형의 실전! CMake 초급
CMake 출시 연도가 영상에서 아마도 잘못 소개된 것 같습니다
안녕하세요.좋은 강의를 만들어주셔서 감사합니다! <CMake 소개> 영상 내용 중 CMake 출시 연도와 관련하여 잘못된 정보가 있는 것 같아 글을 남깁니다.<CMake 소개> 영상의 0:25 부근입니다.아래 슬라이드와 함께 나오는 부분입니다.위 슬라이드에는 "2013년 10월 처음 공개(v2.8.12)"라고 나오고,영상 0:25 부분에서는 삼각형님이 "CMake는 2013년에 처음 출시가 되었습니다"라고 설명하시는 음성이 나옵니다. 위 내용대로 2013년에 CMake가 처음 출시 되었다면 올해가 2024년이니 11년 정도의 역사를 가진 프로그램이라는 의미입니다. 슬라이드 상의 "20+년차 프로그램"이라는 내용과 맞지 않습니다. 인터넷 검색을 해보니 CMake가 처음 공개된 연도는 2000년으로 나옵니다.https://en.wikipedia.org/wiki/CMakehttps://cmake.org/history/ 아마 영상을 찍는 과정에서 무언가 착오가 있었던 것 같습니다. (위 슬라이드에서 v2.8.12를 언급한 것은 Modern이 아닌 CMake의 마지막 버전을 말씀하시고 싶었던 것이 아닌가 추측합니다. 이 추측이 맞을까요? v2.8.12를 위 슬라이드에서 언급하신 본래 이유는 무엇일까요?) 이 부분을 한번 검토해주시고 정확한 내용을 영상에 반영해주실 수 있을까 해서 글을 남깁니다.감사합니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
문제 풀 때 주석처리
실제 시험장에서 주석으로 제가 간단하게 알 수 있도록 설명을 적어두고 문제를 풀 경우 제출할 때에는 주석을 다 지워줘야될까요? 길이가 길어지니까요? 아니면 그정도는 별로 영향이 안미칠까요?예를 들면http://boj.kr/ec4795ae62434cbd8a776dfbada39596이러한 상황입니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
5:57에 printEven은 true지만 !printEven은 true가 아닌것(!)이라서 false라고 설명해주신건가요? 그래야 &&조건이 둘다 참이여야해서 볼 필요도 없다고 하신거겠죠..?
질문은 동영상 강의에서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그렇게 해주셔야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 한 번에 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
설치 오류
수정 하는 부분에서 초록색으로 뜨고 수정이 안됩니다.아무리 해도 해당 내용들이 수정이 안되요.
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
강의 자료 파일을 열 수 없습니다.
윈도우 사용자입니다. 첨부파일을 다운로드 받았는데, 압축파일 풀기를 하면 아래와 같이 오류 메시지가 나오는데요. 어떻게 해결하면 좋을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관 관계 저장 시 궁금한 점.
영한님 안녕하세요. 강의를 잘 듣고 있습니다!학습 중 궁금한 점이 있어 질문 드립니다.엔티티를 저장할 때에는 연관된 엔티티가 모두 영속 상태여야 한다고 알고 있습니다. 다음 코드에서 현재 user와 연관된 teamB는 영속 상태가 아닙니다. 따라서 실행 시 에러가 발생할 것으로 예상했습니다. 그러나 에러 없이 잘 동작하였고, DB를 확인해 보니 user의 team이 현재 연관된 teamB가 아니라 teamA로 되어 있었습니다.@Entity @Table(name="users") public class User { @Id @GeneratedValue @Column(name="user_id") private Long id; private String username; @ManyToOne @JoinColumn(name="team_id") private Team team; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Team getTeam() { return team; } public void setTeam(Team team) { this.team = team; } }@Entity public class Team { @Id @GeneratedValue @Column(name="team_id") private Long id; private String teamName; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTeamName() { return teamName; } public void setTeamName(String teamName) { this.teamName = teamName; } }public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try{ Team teamA = new Team(); teamA.setTeamName("teamA"); System.out.println(" =====[1]===== "); System.out.println("teamA = " + teamA); System.out.println("teamA.getId() = " + teamA.getId()); System.out.println("teamA.getTeamName() = " + teamA.getTeamName()); System.out.println(" 영속? = " + em.contains(teamA)); System.out.println(" ============= "); System.out.println(); em.persist(teamA); System.out.println(" =====[2]===== "); System.out.println("teamA = " + teamA); System.out.println("teamA.getId() = " + teamA.getId()); System.out.println("teamA.getTeamName() = " + teamA.getTeamName()); System.out.println(" 영속? = " + em.contains(teamA)); System.out.println(" ============= "); System.out.println(); Team findMyTeam = em.find(Team.class, teamA.getId()); System.out.println(" =====[3]===== "); System.out.println("findMyTeam = " + findMyTeam); System.out.println("findMyTeam.getId() = " + findMyTeam.getId()); System.out.println("findMyTeam.getTeamName() = " + findMyTeam.getTeamName()); System.out.println(" 영속? = " + em.contains(findMyTeam)); System.out.println(" ============= "); System.out.println(); Team teamB = new Team(); teamB.setId(findMyTeam.getId()); teamB.setTeamName("teamB"); System.out.println(" =====[4]===== "); System.out.println("teamB = " + teamB); System.out.println("teamB.getId() = " + teamB.getId()); System.out.println("teamB.getTeamName() = " + teamB.getTeamName()); System.out.println(" 영속? = " + em.contains(teamB)); System.out.println(" ============= "); System.out.println(); User user = new User(); user.setUsername("username"); user.setTeam(teamB); System.out.println(" =====[5]===== "); System.out.println("user.getTeam() = " + user.getTeam()); System.out.println("teamB = " + teamB); System.out.println("teamB.getId() = " + teamB.getId()); System.out.println("teamB.getTeamName() = " + teamB.getTeamName()); System.out.println(" 영속? = " + em.contains(teamB)); System.out.println(" ============= "); System.out.println(); em.persist(user); System.out.println(" =====[6]===== "); System.out.println("user.getTeam() = " + user.getTeam()); System.out.println("teamB = " + teamB); System.out.println("teamB.getId() = " + teamB.getId()); System.out.println("teamB.getTeamName() = " + teamB.getTeamName()); System.out.println(" 영속? = " + em.contains(teamB)); System.out.println(" ============= "); System.out.println(); tx.commit(); System.out.println(" =====[7]===== "); System.out.println("user.getTeam() = " + user.getTeam()); System.out.println("teamB = " + teamB); System.out.println("teamB.getId() = " + teamB.getId()); System.out.println("teamB.getTeamName() = " + teamB.getTeamName()); System.out.println(" 영속? = " + em.contains(teamB)); System.out.println(" ============= "); System.out.println(); }catch(Exception e){ e.printStackTrace(); tx.rollback(); }finally{ em.close(); } emf.close(); } =====[1]===== teamA = hellojpa.Team@fa5f81c teamA.getId() = null teamA.getTeamName() = teamA 영속? = false ============= =====[2]===== teamA = hellojpa.Team@fa5f81c teamA.getId() = 1 teamA.getTeamName() = teamA 영속? = true ============= =====[3]===== findMyTeam = hellojpa.Team@fa5f81c findMyTeam.getId() = 1 findMyTeam.getTeamName() = teamA 영속? = true ============= =====[4]===== teamB = hellojpa.Team@dd4aec3 teamB.getId() = 1 teamB.getTeamName() = teamB 영속? = false ============= =====[5]===== user.getTeam() = hellojpa.Team@dd4aec3 teamB = hellojpa.Team@dd4aec3 teamB.getId() = 1 teamB.getTeamName() = teamB 영속? = false ============= =====[6]===== user.getTeam() = hellojpa.Team@dd4aec3 teamB = hellojpa.Team@dd4aec3 teamB.getId() = 1 teamB.getTeamName() = teamB 영속? = false ============= =====[7]===== user.getTeam() = hellojpa.Team@dd4aec3 teamB = hellojpa.Team@dd4aec3 teamB.getId() = 1 teamB.getTeamName() = teamB 영속? = false ============= 궁금한 점은 다음과 같습니다:1. teamB가 영속 상태가 아닌데 어떻게 user가 저장될 수 있었는지 궁금합니다.2. user는 현재 teamB와 연관되어 있는데, 왜 DB에는 teamA가 나오는지 궁금합니다.좋은 강의 감사합니다!!
-
미해결김영한의 실전 자바 - 중급 1편
타입 안전 열거형 패턴 질문 입니다.
package enumeraion.ref1; public class ClassGrade { public static final ClassGrade BASIC = new ClassGrade(10); public static final ClassGrade GOLD = new ClassGrade(20); public static final ClassGrade DIAMOND = new ClassGrade(30); private final int discountPercent; private ClassGrade(int discountPercent) { this.discountPercent = discountPercent; } public int getDiscountPercent() { return this.discountPercent; } }문득 궁금한게 저런식으로 자기 자신을 호출 하면 이제 다시 각각의 필드에 인스턴스가 생성될텐데 그럼 그 인스턴스가 무한으로 인스턴스를 생성하지는 않는건지 갑자기 그부분이 헷갈려 질문 드립니다.정적필드가 아닐경우에는 더욱이 인스턴스가 생성됨가 동시에 각각의 멤버변수의 인스턴스가 또 인스턴스를 생성하는 형태는 아닌지 궁금합니다.
-
해결됨[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
인덱스 관련 질문!
인덱스에 대해서 약간의 의문을 질문드립니다. 인덱스가 조회의 성능 향상을 위한다는 점은 이해가 갑니다만..특정한 인덱스의 이름을 설정하는 부분이 약간 헷갈립니다. 가령 std_id 라는 인덱스를 학번을 저장 하는 column에 만들었을 때를 예시로 들겠습니다. 제가 학번의 데이터를 조회 하는경우 자체 프로그램에서 std_id의 인덱스만을 쉽게 찾는다는 의미이며, 이름설정은 단순 사용자들의 이해를 편하게 하기 위함인지가 궁금합니당
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 뭐가 문제인지 잘 모르겠습니다..
안녕하세요 선생님강의 잘 보고 있습니다.아래의 코드가 왜 탈락하는 지 잘 모르겠습니다..ㅜ/****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include <iostream> #include <queue> #include <vector> #include <string> #include <cmath> std::string map[1000]; bool visited[1000][1000]; bool visitedFire[1000][1000]; int personMap[1000][1000]; int fireMap[1000][1000]; int exitY, exitX; int cnt; #define INF 420000000 void bfsFire(const int y, const int x, const int R, const int C) { std::queue<std::pair<int, int>> que; que.push({y, x}); visitedFire[y][x] = true; int newX, newY, currX, currY; int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; while(que.empty() != true) { currY = que.front().first; currX = que.front().second; que.pop(); for(int i = 0; i < 4; ++i) { newY = currY + dy[i]; newX = currX + dx[i]; if (newX >= 0 && newX < C && newY >= 0 && newY < R && !visitedFire[newY][newX] && map[newY][newX] != '#') { que.push({newY, newX}); fireMap[newY][newX] = std::min(fireMap[currY][currX] + 1, fireMap[newY][newX]); visitedFire[newY][newX] = true; } } } } void bfs(const int y, const int x, const int R, const int C) { std::queue<std::pair<int, int>> que; que.push({y, x}); visited[y][x] = true; int newX, newY, currX, currY; int dx[4] = {1, -1, 0, 0}; int dy[4] = {0, 0, 1, -1}; while(que.empty() != true) { currY = que.front().first; currX = que.front().second; que.pop(); if (currY == R - 1 || currX == C - 1) { cnt = personMap[currY][currX]; return; } for(int i = 0; i < 4; ++i) { newY = currY + dy[i]; newX = currX + dx[i]; if (newX >= 0 && newX < C && newY >= 0 && newY < R && !visited[newY][newX] && map[newY][newX] == '.') { if (fireMap[newY][newX] > personMap[currY][currX] + 1) { que.push({newY, newX}); personMap[newY][newX] = personMap[currY][currX] + 1; } visited[newY][newX] = true; } } } } bool isPossible(int R, int C) { for (int i = 0; i < R; ++i) { if (personMap[i][0] < fireMap[i][0]) return true; if (personMap[i][C - 1] < fireMap[i][C - 1]) return true; } for (int i = 0; i < C; ++i) { if (personMap[0][i] < fireMap[0][i]) return true; if (personMap[R - 1][i] < fireMap[R - 1][i]) return true; } return false; } int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); int R, C; std::cin >> R >> C; std::vector<std::pair<int, int>> fire; exitX = C; exitY = R; int y, x; std::fill(&fireMap[0][0], &fireMap[999][1000], INF); for(int i = 0; i < R; ++i) { std::cin >> map[i]; for (int j = 0; j < C; ++j) { if (map[i][j] == 'J') { y = i; x = j; personMap[i][j] = 1; } else if (map[i][j] == 'F') { fireMap[i][j] = 1; fire.push_back({i, j}); } } } bfs(y, x, R, C); for(int i = 0; i < fire.size(); ++i) bfsFire(fire[i].first, fire[i].second, R, C); if (!isPossible(R, C)) cnt = 0; if(cnt == 0) { std::cout << "IMPOSSIBLE" << std::endl; } else { std::cout << cnt << std::endl; } return 0; }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
22년 3회 문제 질문
반복문 돌리다가 궁금해진게 있어서 질문드립니다.다중 for문에서 저렇게 여러개의 변수가 중간에 껴있는 경우에 내부 for문을 한 사이클 돌고나면 외부 for문에서 ++해서 다음 사이클 돌릴 경우에 변수들이 다시 초기화가 되나요? 그러니까 n=6일 때 한 사이클을 돌리고 나니 s=6 , el=1 값이 이렇게 나왔는데, n=7, 8, 9.... 이렇게 그 다음 사이클로 갈 때마다 다시 s=0, el=0 부터 시작하는건지 아니면 값이 남아있는건지 궁금합니다.+해설을 보고 나서 완전수라는 걸 알았네요 ㅎㅎ
-
해결됨스프링 핵심 원리 - 기본편
localhost 8080 서버 안 뜸 문제
https://drive.google.com/file/d/1Napy4xVoywSNcyohTGH3kevfrdSkgfWg/view?usp=sharingrequest 스코프 예제 만들기 중 스프링부트 돌려보니 서버가 열리지 않습니다. 로그를 보니 repository 주입을 뭘 해야할지 모른다 되어있는데 어느부분을 고쳐야 할지 알려주심 감사하겠습니다!
-
미해결따라하면서 배우는 Power Apps
파워엡스에서 Share Point 테이블 Dataverse 로 변환
안녕하십니까? 질문 드립니다.엑셀파일을 Share Point 로 가져와서 테이블을 만들고 파워엡스에서 만들어진 Share Point 테이블을 Dataverse 로 변환하면 300개 전체 레코드가 생성되지 않고 매번 20개 레코드만 생성이 되는데 왜 그런지 도무지 알수가 없습니다. ..
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
캐싱 데이터 질문
getCalendarPosts()는 [queryKeys.POST,queryKeys.GET_CALENDAR_POSTS,year,month] 4개의 캐싱키를 이용해서 데이터를 캐싱하고 있고, 포스트를 삭제할 시 성공하면 [queryKeys.POST,queryKeys.GET_CALENDAR_POSTS] 캐싱키로 저장한 캐싱데이터를 무효화하는데 getCalendarPosts()로 받아온 데이터가 무효화되고 최신 데이터(삭제된 포스트를 제외한 나머지 포스트)를 다시 받아올 수 있는건가요?<EventList/> 에서 보여주는 포스트 데이터는 4개의 캐싱키를 이용해서 받아온 왔으니, 그 데이터를 무효화 하기 위해선 삭제할 때도 동일한 캐싱키를 이용해야하지 않나요?