inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

static 상속

해결됨

김영한의 실전 자바 - 기본편

[질문 내용] 강의 17:01, 메서드 오버라이딩은 인스턴스 메서드에 해당하는 내용으로 static 메서드는 해당하지 않는다고 하셨습니다. 별도로 예제를 작성해서 테스트해보았는데, 자식 클래스에서 부모 클래스의 클래스 메서드를 호출할 수 있었습니다. static 메서드 역시 상속은 되지만 오버라이딩 대상이 되지 않는다고 이해하면될까요? 감사합니다.

  • java
  • 객체지향
티티티 댓글 1 좋아요 0 조회수 145

게시글 CRUD API 구현 부분에서 gradle 관련 에러가 발생합니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.mysql:mysql-connector-j' implementation project(':common:snowflake') } 이렇게 설정 하고 gradle 싱크를 맞췄을때 A problem occurred evaluating project ':service:article'. > Project with path ':common:snowflake' could not be found in project ':service:article'. 이렇게 에러가 발생합니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
fb1014 댓글 3 좋아요 0 조회수 235

질문이 있습니다.

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 내용] 여기에 질문 내용을 남겨주세요. int 형과 String 형을 더하면 int 형이 자동으로 문자형으로 변하고 합쳐진다고 하셨는데 int 형이 영구적으로 문자형으로 변하는건가요? 아니면 그냥 임시로 바뀌는건가요? int num = 20; String str = "a + b = "; System.out.println(str + num); //num이 문자형으로 변환 System.out.println(num); // 변환된 후에 num은 계속 문자형인가요? 아니면 위에 초기화된 int 형인가요?

  • java
  • 객체지향
dg845704 댓글 1 좋아요 0 조회수 81

interlocked 강의

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

race condition 문제에서 예시에서 10만번 반복했을 땐 문제가 생기지만 만번 반복했을땐 0 이 나오는 이유는 뭘까요 ?

  • C#
  • unity
  • 네트워크
릴뭐뭐 댓글 1 좋아요 0 조회수 106

안녕하세요. 강의록 오타 제보입니다.

미해결

김영한의 실전 자바 - 중급 2편

파일: 9. 컬렉션 프레임워크 - Map, Stack, Queue.pdf 위치: 22페이지 최상단 그림 양쪽에 poll이 아닌 pool로 나와있습니다

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
맥스 댓글 2 좋아요 0 조회수 102

개인적인 궁금증입니다

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

강사님께서는 실무에서 JPA를 잘 사용하지 않으신다고 하신 걸 댓글에서 봤습니다. 그러면 MyBatis나 JDBC를 주로 사용하시는 건가요? 아니면 JPA는 사용하시는데 쿼리 메소드 기능 대신 @Query로 직접 native query를 작성하시는 건가요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
eoyeong 댓글 2 좋아요 0 조회수 245

무한 스크롤 쿼리와 페이지 번호 쿼리 질문 있습니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 페이지 넘버 쿼리 무한 스크롤 쿼리 안녕하세요 위 두 쿼리 모두 (board_id, article_id)를 인덱스로 설정해놔서 secondary index만 접근해도 될 것 같은데 페이지 넘버 쿼리에서 clustered index도 접근하는 것은 offset의 특성(?) 때문일까요? 무한 스크롤 쿼리에서는 secondary index의 정보(board_id, article_id)만으로 기준점을 찾아내고, limit 개수만큼 clustered index에 접근하는 것 같아서 페이지 넘버 쿼리에서도 secondary index의 정보(board_id, article_id)만으로도 offset의 위치를 찾을 수 있을 것 같은데 왜 clustered index까지 접근하는 걸까요??

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
eoyeong 댓글 2 좋아요 0 조회수 215

현관문 출입순서

미해결

자바 코딩테스트 - it 대기업 유제

안녕하세요 강사님 현관문 출입순서를 풀어보고 강사님 코드를 보면서 한 if문 조건이 불필요하다고 생각해서 질문드립니다. for(int t = 0, i = 0, cnt = 0; ; t++){ //아래 조건은 아직 현관문을 다 사용하지 않았다는 조건이다. if(enter.isEmpty() && exit.isEmpty() && i < n) { if(t < arrival[i]){ 이 부분에서 if(t < arrival[i]) 는 필요 없는 것 같아서요 혹시 이게 없다면 어떤 테스트 케이스에서 막히는지 알 수 있을까요? 코드 자체가 바로 아래에서 이미 시간을 건너뛰는 메커니즘 t = arrival[i] 을 갖추고 있어서 굳이 필요 없다고 느껴서요 알려주시면 감사하겠습니다 강의 잘 듣고 있습니다

  • java
  • 코딩-테스트
youngyou1324 댓글 1 좋아요 0 조회수 116

character movement 반응속도

해결됨

[Unity6] 나만의 서바이벌 게임 만들기

move에 대한 animator 작업도 진행하고 코드작업도 진행을 했는데요. 처음 게임 시작누르고 방향키를 한 2~3초눌러야 run상태로 가더라고요. idle상태는 그거보단 빠른 1초정도? 어떤게 문제일까요.. condition에서 스피드에 대한 값도 지정해서 0.1 0.01까지 낮춰보았고, setting에서 exit time과 transition duration까지 낮춰보면서 해봤는데 안되네요. 음 좀 보는데 idle에서 모션변환까지 duration이 좀 걸리는거같은데요.. void Move() { // key 방향 float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); Vector3 cameraForward = Camera.main.transform.forward; Vector3 cameraRight = Camera.main.transform.right; cameraForward.y = 0.0f; cameraRight.y = 0.0f; cameraForward.Normalize(); cameraRight.Normalize(); Vector3 moveDirection = cameraRight * horizontal + cameraForward * vertical; // mobile, pc 속도 차이 줄이기위해 controller.Move(moveDirection * moveSpeed * Time.deltaTime); // moveDirection.magnitude를 좀 더 빠르게 반영하도록 float currentSpeed = moveDirection.magnitude * moveSpeed; animator.SetFloat("a_Speed", currentSpeed); }

  • C#
  • unity
Tae In Kim 댓글 2 좋아요 0 조회수 164

localhost/hello 404에러

미해결

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

View 환경설정 부분에서 localhost:8080/hello 부분이 접속이 안됩니다. 작성코드 결과화면

  • java
  • spring
  • mvc
  • spring-boot
댓글 4 좋아요 0 조회수 331

soft Delete 시 index 설정

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 먼저 강의 들으면서 정말 많은 것을 배우고 있습니다. 감사합니다. 아직 index나 쿼리에 대해 이해도가 많이 부족하다 보니 궁금한 점이 있는데요. 실제 게시글이나 댓글 삭제 시 물리적 삭제가 아닌 논리적 삭제(soft delete)를 구현하게 되는 경우가 많았는데요. 이때 isDeleted같은 필드를 두고 true, false 의 boolean 값으로 관리했습니다. 이후 데이터를 조회할 때는 isDeleted가 false인 것들만 조회하는 방식이었는데, 이때도 isDeleted를 복합 index의 키값으로 넣어서 관리를 하는 경우가 많을까요? 성능 향상에 많은 도움이 될 지가 궁금하네요.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
박상훈 댓글 2 좋아요 0 조회수 349

몬스터와 캐릭터가 닿았을때 밀리는 현상

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

안녕하세요 선생님 강좌 너무 잘 듣고 있습니다. 다름이 아니라 13:40초에 캐릭터와 몬스터가 서로 충돌해서 밀리는 현상을 설명 해주신대로 NavMeshAgent 를 삭제하고 일반적인 이동 방식으로 수정해서 잘 사용하고 있습니다. 근데 혹시 NavMeshAgent 를 나는 꼭 써서 해야돼 라고 생각 하시는 분들은 구글을 찾아 봤는데 NavMeshAgent nma = gameObject.GetOrAddComponent<NavMeshAgent>(); // nma 로 NavMeshAgent 를 불러와서 nma.obstacleAvoidanceType = ObstacleAvoidanceType.NoObstacleAvoidance; // obstacleAvoidanceType 을 NoObstacleAvoiddance 로 교체를 해주면 네브메쉬를 가지고 있어도 서로 충돌하지는 않는거 같습니다. 혹시 저처럼 궁금한 분들이 있을까봐 남깁니다. 선생님 날씨가 추운데 감기 조심하시고 강의 더 집중해서 듣겠습니다.

  • C#
  • unity
sunrise3225 댓글 1 좋아요 1 조회수 233

[Title씬 구성 관련 질문 : 프리팹]

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

Title 씬 프리팹 관련 질문이 있습니다. Q1. 타이틀 프리팹에 별도의 UI만 보여주는 카메라를 만든 이유가 무엇인가요? (main 카메라가 아닌 별도의 카메라를 만들고 또 그것을 프리팹에 넣은 이유) Q2. Title의 경우 프리팹에 캔버스까지 있습니다. 궁금한 것은 InGame에서 각각 UI들도 프리팹으로 만들텐데, 다 이렇게 개별 UI 프리팹마다 캔버스를 만드는 것이 좋은가요? (프리팹 안에 캔버스를 넣는 이유와, 주의해야 할 사항) * ) 제가 예전에 작업을 할 때, 큰 UI 캔버스 만들고 하위로 캔버스를 가진 UI프리팹들을 넣으니까, 가끔 프리팹 창에서 수정할 때 UI들이 화면에 보이지 않았던 경험이 있어서 질문드립니다! 좋은 강의 감사합니다 🙂 남은 강의도 잘 챙겨 보겠습니다!

  • C#
  • unity
  • 객체지향
Kyuarez 댓글 2 좋아요 0 조회수 222

findByname파트에서 질문이 있습니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 회원 리포지토리 테스트 케이스 작성 8:48영상을 보았는데 Member result = repository.findByName("spring1").get(); 이렇게 코드를 치는걸로 나오는데 이런방식으로 하면 값이 있는지 여부를 파악 못하고 그냥 불안전하게 값을 가져오는 방식이라는걸로 예전에 다른 강의에서 말씀해주셨던 거 같은데 기억이 애매모호해서 질문드립니다. 테스트코드라서 이런방식을 택하신건지와 정석적으로 값을 체크하려면 아래방식으로 코드를 짜는지에 대해서 궁금합니다. Optional<Member> result = repository.findByName("spring1"); Assertions.assertThat(result) .isPresent() // Optional에 값이 있는지 확인 .get() // 값이 존재할 때만 안전하게 꺼냄 .isEqualTo(member1); 혹시 이 코드가 맞다면 Optional<Member> 대신에 Member 클래스를 넣으면 정석인 코드가 되는지 알고 싶습니다.

  • java
  • spring
  • mvc
  • spring-boot
sjhyt0813 댓글 2 좋아요 0 조회수 165

[오타 의심 제보] 강의 6:11 부분

해결됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

오타 여부가 확실하지는 않지만, 제가 생각했을 때 오타가 아닌가 싶어서 제보합니다. 영상 위치 : 6분 11초 강의록 위치 : p.24 - 스레드 종료 규칙 오타 의심 내용 : 원본 : 예를 들어, thread.join() 호출 전에 thread의 모든 작업이 완료되어야 하며, ... 수정 : 예를 들어, thread.join() 리턴 전에 thread의 모든 작업이 완료되어야 하며, ... 의견 : thread.join()을 호출하면, thread가 모든 작업을 마친 후에 void로 리턴하고 난 뒤에야 thread.join() 다음에 있던 코드들을 수행하는 것이니까 리턴 이 적절한 단어 아닌가 싶습니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
dev.rudevico 댓글 2 좋아요 0 조회수 139

논리적 shard 통해 router 가 특정 shard로 라우팅 해줄때 질문 있습니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

일단 해당 영상 강의에서 article_like 이라는 독립 데이터베이스 기준으로 질문 드리도록 하겠습니다. 여기를 보면 강의 내용에서 각각 테이블 따라 샤드키 기준 컬럼이 다른것을 확인 되었습니다. 예를들어서 'article_like' 테이블 경우 샤드키는 article_id 컬럼 으로 이용하고 당연히 연관관계 테이블인 'article_like_count' 테이블 경우도 샤드키를 article_id 컬럼으로 하고 있습니다. 그런데 outbox 테이블 경우는 'shard_key' 컬럼으로 해주고 있는데요. 여기서 질문은 client (애플리케이션) 에서 일단 곧장 해당 특정 샤드 데이터베이스로 보내지 않고 router 를 이용해서 정해진 샤드키 통해 어디 샤드로 전송할지 역활을 할텐데요. router 역활의 개념을 이해가 되었지만 구체적으로 어떻게 구현되어 있는것인지 잘 몰라서 질문 드립니다. 각각의 테이블 마다 샤드키에 해당되는 컬럼명이 다 다르기 때문에 이때 router 에서는 각각 어떻게 분기해서 알맞게 특정 샤드키에 해당되는 컬럼명을 추출해 특정 샤드 데이터베이스로 보내는지 궁금합니다. 그냥 무식하게 if else 조건문으로 'outbox' 테이블은 'shard_key' 컬럼값을 추출해 분기 처리하고 'article_like' 테이블하고 'article_like_count' 테이블은 'article_id' 컬럼값을 추출해 분기 처리해서 특정 샤드 데이터베이스로 보내는지 궁금 합니다!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
리나 댓글 3 좋아요 0 조회수 235

IDamagable 활용

해결됨

절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스

인터페이스를 활용한 피격 데미지 구현 강좌를 보면 총알의 HIT를 Collision 기반에서 Raycast 기반으로 변경하고 있습니다. Raycast를 사용하는 장점은 무엇인가요? 현업에서도 FPS/TPS를 제작할 때 Collision보다는 Raycast를 더 많이 사용하나요?

  • C#
  • unity
rednine 댓글 1 좋아요 0 조회수 185

'섹션 4 영속성 관리 - 내부 동작 방식' 관련 내용 질문

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 처음에 Member 테이블이 비어있는 상태입니다. 아래 코드를 첫번째 실행할때는 insert, insert, update 총 3번의 쿼리가 날아가고, 두번째 실행할때는 insert, insert 총 2번의 쿼리가 날아가게 됩니다. 왜 첫 번째 실행시에는 update 쿼리가 날아가지만, 동일한 코드를 두 번째 실행할때는 update 쿼리가 날아가지 않는지 궁금합니다. 둘다 persist시에 영속성 컨텍스트의 1차캐시에 PK가 150L인 엔티티가 저장되고, find시에 DB가 아닌 해당 1차 캐시에서 가져오는 것이라고 이해했습니다. 그렇다면 두 코드 모두 변경 감지(Dirty Checking)에 의해 update가 날아가야하는 것 아닌가요? public class JpaMain { 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(150L, "A"); Member member2 = new Member(160L, "B"); em.persist(member1); em.persist(member2); System.out.println("================"); // 변경 감지 Member member = em.find(Member.class, 150L); member.setName("ZZZ"); tx.commit(); } catch (Exception e) { tx.rollback(); } finally { em.close(); } emf.close(); } }

  • java
  • jpa
박형규 댓글 2 좋아요 0 조회수 102

묵시적 조인말고 명시적 조인을 쓰라고 하셨는데 그러면 외래키 연관관계 매핑을 할 필요가 없지 않나요?

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 묵시적 조인말고 명시적 조인을 쓰라고 하셨는데 그러면 외래키 연관관계 매핑을 할 필요가 없지 않나요? 외래키를 @ManytoOne mappyby 이런걸 쓸 필요가 없지 않나요? 처음에 배울때 member.getTeam() 이렇게 member에서 team을 꺼낼때는 사용하는 용도로 아는데 이때도 조인이 이루어지는걸로 아는데 이것도 묵시적 조인이 아닌가요? getTeam() 이런걸 쓰지 말라는건가요? 아니면 jpql을 사용할때만 m.team 이런걸 쓰지말라는건지 에매하네요

  • java
  • jpa
캐내기 댓글 1 좋아요 0 조회수 132

섹션 3의 6번 문제 - 뒤집은 소수

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

강사님 영상 보고 입력 받는 방식만 다르게 하고, 나머지 로직은 똑같이 처리했는데 자꾸 오답이라고 뜹니다. 결과 창에 들어가서 리턴값과 정답값을 비교해보아도 다른 점을 발견하지 못했습니다. 도와주세요ㅜㅡㅜㅡㅜ package 인프런.section3; import java.io .BufferedReader; import java.io .IOException; import java.io .InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class section3_6 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader( System.in )); int n = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = Integer.parseInt(st.nextToken()); } System.out.println(); for(int x : solution_2(n, arr)){ System.out.print(x + " "); } } public static ArrayList<Integer> solution_2(int n, int[] arr){ ArrayList<Integer> answer = new ArrayList<>(); for (int i = 0; i < n; i++) { int tmp = arr[i]; int res = 0; while(tmp > 0){ int t = tmp % 10; res = res * 10 + t; tmp /= 10; } if (isPrime(res)) answer.add(res); } return answer; } public static boolean isPrime(int n){ if (n == 1) return false; for (int i = 2; i < n; i++) { if (n % i == 0) return false; } return true; } }

  • java
  • 코딩-테스트
댓글 2 좋아요 0 조회수 127

인기 태그

인프런 TOP Writers

주간 인기글