게시글 CRUD API 설계 강의에 대해 질문있습니다.
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
강의 1분 47초에서 샤드를 bored id는상관 없이 articleid로 짝수면 오른쪽, 홀수면 왼쪽으로 나뉘어진건가요? 샤딩 id가 articleid와 bored id 인건가요?
- java
- mysql
- spring-boot
- kafka
- redis
173만명의 커뮤니티!! 함께 토론해봐요.
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
강의 1분 47초에서 샤드를 bored id는상관 없이 articleid로 짝수면 오른쪽, 홀수면 왼쪽으로 나뉘어진건가요? 샤딩 id가 articleid와 bored id 인건가요?
미해결
실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기
현재 딥러닝 학습하면서, 업무/카페 환경에서 불편하게 원격 데스크탑으로 코드를 돌리고 있던 중, 좋은 강의를 발견해서 듣고 있습니다. 잘 수강하고 있는게 맞겠지요? wsl --install로 wsl 설치하는데, user와 password 설정하는 부분이 뜨지 않아서 질문드립니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요. 연관관계 매핑의 의미가 객체의 참조와 테이블의 외래키를 매핑하는것을 의미하는것인가요? 아니면 객체간의 관계와 테이블간의 관계를 매핑하는것을 의미하는것인가요? 비슷한 의미이지만 헷갈려서 질문드립니다.
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
[질문 내용] member.setUsername("member1); 한 회원의 이름을 셋팅하고 substring으로 쿼리를 작성하였을 때 String query = "select substring(m.username, 1, 3) from Member m"; substring(m.username, 1, 3) 에서 몇번째 문자에서 자를지 넣는 숫자에 1이나 0을 넣어도 같은 "mem" 이 출력 되는데 "member1"은 공백이 없이 setter가 되었는데 왜 0, 1의 출력값이 동일하게 나오는건가요? 애초에 substring의 숫자는 0 부터 시작하는거 아닌가요?
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 저는 왜 Using where과 Using Index 두개가 같이 나올까요? 오로지 Using Index만 나와야 커버링 인덱스를 이용해서 데이터를 성공적으로 조회했다 라고 이해했는데 Using where와 같이 나온거 보면 뭔가 MySQL 내부에서 커버링 인덱스만으로 데이터를 조회하지 못했으니 뭔가를 더 실행한 것일까요?? # 5만 페이지 스킵 쿼리 explain select * from ( select article_id from article where board_id = 1 ORDER BY article_id DESC limit 30 offset 1499970 ) t left join article on t.article_id = article.article_id; 해당 쿼리에서는 Using where; Using index 이렇게 나옵니다. explain select * from article where board_id = 1 order by article_id desc limit 30 offset 90; 해당 쿼리에서는 Usind index condition이 나옵니다 저는 MySQL 쿼리문을 터미널에서 실행한게 아닌 DataGrip으로 실행 했는데 여기서 차이가 있는 걸까요??
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 아래와 같이 작성해도 결과가 동일한데 이렇게 작성해도 되나요? package Loop.ex; public class CountEx { public static void main(String[] args) { for(int num=2;num<=20;num=num+2){ System.out.println(num); } } }
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] cmd에서 빌드를 하려고 합니다. gradlew 이랑 gradlew build모두 다 어찌저찌 해 냈는데 java -jar에서 자꾸 오류가 나네요. 여기저기 알아보고 수정해 봤는데 경로를 찾을 수 없어서 생긴 오류라고 하더라고요 프로젝트 폴더는 이렇게 있고 gradle.build폴더는 이렇게 있습니다. main파일도 이렇게 있습니다. 아무리 찾아봐도 안보이는데 어디서 잘못된 건지 알 수 있을까요? 버젼은 17로 다 맞추어 놓았습니다(환경 변수까지)
해결됨
김영한의 실전 자바 - 중급 2편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [강의록 오타] 대상 강의록: 9. 컬렉션 프레임워크 - Map, Stack, Queue.pdf 페이지: p.6 상단 내용: (기존) Map의 값 목록 을 중복을 허용한다. (수정) Map의 값 목록 은 중복을 허용한다. 영상 잘 보고 있습니다. 너무 재밌어요 영한님!
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
db에서의 컬럼명을 warehousingDate로 정의하고 자바에서 warehousingDate로 필드를 선언하여 테스트했을 때 매핑되지 않아 테스트에 실패합니다. db는 스네이크 케이스를 사용해서 jpa가 warehousingDate를 warehousing_date로 매핑시키려고 해서 그런 것 같은데 @Column(name = "warehousingDate")로 해도 안 되고 db의 컬럼명을 warehousing_date로 수정해야 정상 작동하는데 db에서 warehousingDate를 그대로 사용하고 정상적으로 매핑이 되게 하려면 어떻게 해야 하나요?
미해결
AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
안녕하세요 강사님! 해당 강의에서 docker 설치 후 custom AMI 를 만든 이유가 있을까요? 기본 AWS AMI 설정 및 port, IAM 설정 후 생성된 instance 에서 docker 를 설치하는 것과 어떤 차이가 있나요?
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
count 값을 구하는 로직을 보면 값이 커지면 커질수록 쿼리 속도가 현저히 저하되는 상황을 볼 수 있는데요. 이럴경우 어떠한 방식으로 대처하면될까요? 예를들어 500,000을 page값으로 설정하면 2~3초정도 걸리게 됩니다.
미해결
AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
안녕하세요 강사님! 현재, 강의에서 사용한 small 형태의 ec2 instance 가 free tier 로 지원되고 있지 않습니다. free tier 인 micro 를 하는 경우 Architecture Arm 을 지원하지 않아, x86 을 사용하는 경우 서비스를 실행하는데 문제가 있는 것 같습니다. 일단 free tier 를 지원하지 않는 같은 인스턴스르 활용하여 실습을 해야할까요? 감사합니다~
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
1. Member엔티티의 필드와 MEMBER 테이블의 외래키 컬럼을 매핑하고, Member테이블의 외래키(TEAM_ID)를 Team테이블의 기본키와 매핑한다. 2. member.getTeam()을 할때 MEMBER 테이블의 외래키(TEAM_ID)를 통해 TEAM테이블의 기본키를 참조하여 Team 데이터를 가지고 올 수 있다. 3. Member테이블의 외래키와 Team테이블의 기본키를 매핑해서 외래키-기본키 관계를 설정한다. 이 3가지가 각각 @JoinColumn때문인지, @ManyToOne때문인지 구분이 안되서 질문드립니다.. 각각 어느 어노테이션에 의해 동작되는것인가요??
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Member member = new Member(1L, "member"); em.persist(member); member.setName("Test"); tx.commit(); 위 코드를 실행하면 아래와 같이 SQL 쿼리문이 로그에 찍히는데요 Hibernate: /* insert for hellojpa.Member */ insert into Member (name, id) values (?, ?) Hibernate: /* update for hellojpa.Member */ update Member set name=? where id=? persist()를 할 때 member 객체를 영속성 컨텍스트에 등록하고, 해당 상태에서는 신규 엔티티이므로 setName()으로 이름을 바꾸더라도 새로운 값이고, DB와 동기화되지 않았기에 스냅샷도 없을 것이라 생각했습니다. 저의 [다른 질문]( https://www.inflearn.com/community/questions/1484678 ) 에서도 강사님께서 persist 시에는 새로운 데이터이기 때문에 스냅샷 생성의 실익이 없다고 말씀을 해주셨기에, 위 코드에서 INSERT 쿼리문 1개만 발생할 줄 알았는데, 실행 결과 UPDATE 쿼리문도 함께 발생한 것을 확인했습니다. persist를 수행한 이후 setName을 수행할 때, 스냅샷이 생성되지 않은 상태, 스냅샷이 없는 상태에서 어떻게 변경을 감지하여 UPDATE 쿼리문을 작성한 것인지 궁금합니다. 처음에는 PK 생성 전략을 @GeneratedValue(strategy = GenerationType.IDENTITY) 로 해서 INSERT문이 먼저 생성되는 것이 원인인줄 알았지만, SEQUENCE 전략으로 바꿔도 UPDATE 쿼리문이 발생하는 것을 보고 제가 잘못 짚은 것 같았습니다. 이미 [또 다른 질문]( https://www.inflearn.com/community/questions/1494485 ) 에서도 비슷한 질문을 한 번 더 남겼는데, 인프런 AI 인턴의 답변에서는 persist() 호출 시에 스냅샷이 생성이 된다는 답변을 받아 헷갈려서 한 번 더 질문 남겨봅니다. Entity Manager를 통해 persist() 호출 시에 스냅샷도 생성이 되는 것일까요? 생성이 되지 않는다면, persist 이후에 호출한 setName()에 대해서 UPDATE문이 발생했는데, 여기서 변경 감지는 어떻게 이뤄졌나요?
해결됨
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 궁금증 및 저의 생각이 맞는지 확인하려고 질문을 드립니다. 우아한 종료 즉 영한님이 만든 ExecutorShutdownMain 클래스에서 shutdownNow를 하고 나면 코드 메시지에, 영한님 이 만들어 났던 sleep() 에서 런타임 메시지 및 인터럽트 발생을 확인할 수 있었습니다. 근데 저가 sumbit()으로 하면 어떻게 될까 궁금해서 해보았는데.. 아래와 같이 sleep() 메서드 안에 적은 '인터럽트 발생, sleep interrupted' 만 뜨지 런타입 예외가 발동하지 않을 것을, 확인을 할 수 있었습니다. 그래서 생각해보니 submit() 메서드는 값을 future로 받아서 런타입 예외 발동하지 않는다? 런타입 예외는 실행 중에 받는 예외인데, 이미 future로 값을 받았기 때문이라는 생각이 듭니다. 이것을 보고 이렇게 생각하였습니다. 아니면 다른 이유가 있는 것인가요? 저의 생각이 틀렷다면 sumbit()으로 런러블이나 콜라볼로 값을 받았을 때 runtime 예외가 발생하지 않은 이유가 궁금합니다. 답변 부탁드립니다.
미해결
실습으로 배우는 선착순 이벤트 시스템
보통 사용자의 행동패턴은 쿠폰 발급 후 [쿠폰이 발급되었습니다] 라는 메세지 이후 쿠폰을 바로 사용합니다. 현재 플로우는 pub/sub을 통한 비동기이므로 사용자의 한 트랜잭션으로 처리 되지 않을 것 같은데 위와 같은 요구사항을 구현하기 위해 어떤 방법이 있을까요?
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의에서는 쿼리 날라갈 때 로그를 보면 폼에 입력한 데이터가 로그에 다 뜨는데 제 스프링 로그를 보면 insert into member (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?) 이 로그밖에 안 뜨는데 최신버전 스프링에서는 보안상 로그에서 필터링을 해주는 건가요? 아니면 따로 영한님께서 설정을 해주신건가요?
미해결
견고한 결제 시스템 구축
강의 초반 [5. 실습준비] 환경 설정과정에서 docker mysql 설치환경이 어떻게 되는지 궁금합니다. 1) vm 환경에서 linux 띄우고 그 vm 환경에서 docker mysql 실행 ex) lima 등 서드파티 설정 후, 리눅스 환경에서 docker 설정 또는 macOS 에 그냥 도커 설치 후, 로컬 환경에서 컨테이너 실행? macOS 가 docker 랑 직접 호환되는건 아니라서 다른 vm 을 쓰는건 마찬가지긴한 것 같네요. [참고] `docker desktop` 의 유료 라이센스화로 실습환경(회사 PC 등) 에 따라 라이센스 이슈로 사용이 불가한 경우가 있어서 테스트 구축 환경이나 참고할 레퍼런스가 있을지 궁금합니다.
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] OrderRepository 안에 JPQL로 다음과 같이 쿼리를 날리고 있는데 em.createQuery("select o from Order o join o.member m", Order.class) 여기서 사실 모든 주문이 회원하고 같이 매핑되어 있으면 join 하위에 문장은 필요 없는 문장 아닌가여?? 그냥 단순히 select o from Order o만 해도 될 것 같은데 왜 저렇게 한걸까요?
미해결
AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
안녕하세요 강사님~ 비용 문제로 인해, nat gateway 를 하나의 퍼블릭 서브넷에만 설정된 상태로 강의가 진행되었는데요! 실제로 다른 서브넷에서 하나의 nat gateway 를 사용하도록 routing table 을 설정하게되면 어떻게 작동하게 되나요? 운영 상태에서는 각 퍼블릭 서브넷에 각각 nat gateway 를 설정해야하는 것인가요? 감사합니다