학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 선생님, 진짜 너무 어려워요. 강의를 하기전에, 코드를 쓰는 배경, 코드를 해석해주는 등등 이해를 좀 시켜주세요. 초심자 눈높이에 좀 맞춰주세요... 혼자 너무 위아래로 왔다갔다 하시면서 , 뭔가 따라 써보려고해도 어디서부터 어떻게 따라써야하는지 기준도 없어서 너무 헷갈립니다. 어떤식으로 공부해야하는지 방향성도 알려주시면 감사하겠습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 강의 정말 잘 보고 있습니다. Stream관련하여 질문이 있는데요. Stream 같은 경우에는 파이프라인을 작성하면서 연산마다 body부가 추가될 수도 있고 중간 연산이 계속 체이닝 되는 형태로 구성이 될 수도 있습니다. 이럴 때 어느 연산에서 문제가 생기는지 디버깅을 하는게 참 번거롭다는 생각이 들곤했습니다. 저 같은 경우에는 이럴 때 peek 와 sout을 활용해서 어떻게든 값을 확인하는 식으로 디버깅을 해왔는데 더 좋은 방법이 없을까요? 브레이크 포인트를 잡기도 명령형 프로그래밍 방식보다 어려운 점이 있는 거 같아서요 ㅠㅠ
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 세요 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보 train = pd.get_dummies(train, columns=cols) test = pd.get_dummies(test, columns=cols) display(train.head(2)) display(test.head(2)) KeyError Traceback (most recent call last) <ipython-input-52-5da4ae8d05fa> in <cell line: 0>() 1 # 원핫 인코딩 ----> 2 train = pd.get_dummies(train, columns=cols) 3 test = pd.get_dummies(test, columns=cols) 4 display(train.head(2)) 5 display(test.head(2)) 3 frames /usr/local/lib/python3.11/dist-packages/pandas/core/indexes/base.py in _raise_if_missing(self, key, indexer, axis_name) 6247 if nmissing: 6248 if nmissing == len(indexer): -> 6249 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 6250 6251 not_found = list(ensure_index(key)[missing_mask.nonzero()[0]].unique()) KeyError: "None of [Index(['sex', 'smoker', 'region'], dtype='object')] are in the [columns]"
안녕하세요! 강의 늘 잘 듣고 있습니다, 감사합니다. 다름이 아니고, Comment 테이블 관련한 질문인데요. 일전에 비슷한 경우를 보았는데, parentCommentId를 null로 둔걸 본 것 같습니다.(용량절약을 위한 목적이였다고 들었습니다) 혹시 최상위 자신의 commentId로 parentComentId를 지정한 부분에 대해 궁금해서 글 올리게 되었습니다. 감사합니다.
안녕하세요. JPA 학습중인 학생입니다. 양방향 참조 관계에서 여러 방법으로 연습하던 중, 예상치 못한 행동을 발견해 왜 이렇게 작동하는지 궁금해서 질문드립니다. 연습한 코드입니다. // Team - Member 는 1:N @Entity class Member { @Id @GeneratedValue private Long id; private String name; // 편의상 public @ManyToOne @JoinColumn(name = "TEAM_ID") public Team team; public Member() { } public Member(String name) { this.name = name; } } @Entity public class Team { @Id @GeneratedValue private Long id; private String name; // 편의상 public @OneToMany // 원래는 mappedBy = "team" 으로 owner 를 설정해야 함. @JoinColumn(name = "TEAM_ID") public final List<Member> members = new ArrayList<>(); public Team() { } public Team(String name) { this.name = name; } } 강의에서 배웠듯, 양방향 참조관계에선 mappedBy = ... 로 관계의 주인을 설정해야 합니다. 그런데 만약 이를 생략하면 어떻게 작동할까 호기심이 생겨 아래의 코드를 실행시켰습니다. EntityManager em = getEm(); // 편의상 코드 생략 em.getTransaction().begin(); Member member1 = new Member("member1"); Member member2 = new Member("member2"); Team team1 = new Team("team1"); Team team2 = new Team("team2"); // 편의상 코드 생략 // 단순 em.persist( given ) 을 수행합니다. persistAll(member1, member2, team1, team2); em.flush(); // DB 반영 System.out.println("============== AFTER FLUSH =============="); member1.team = team1; // [1] : mem1 의 팀을 t1 으로 설정 team2.members.add(member2); // [2] : mem2 의 팀을 t2 로 설정 em.getTransaction().commit(); // Member - Team 연관관계 변경 내용 commit em.close(); System.out.println("============== END =============="); 제 예상은 실행시 오류가 발생하거나 [1] 내용만 반영되는 것이었습니다. 하지만 실행하니 [1] , [2] 모두 반영되는 것을 확인하였습니다. DDL & 출력 내용 Hibernate: create table Member ( id bigint not null, name varchar(255), TEAM_ID bigint, primary key (id) ) Hibernate: create table Team ( id bigint not null, name varchar(255), primary key (id) ) Hibernate: alter table Member add constraint FKl7wsny760hjy6x19kqnduasbm foreign key (TEAM_ID) references Team ... ============== AFTER FLUSH ============== Hibernate: /* update scripts.entities.Member */ update Member set name=?, TEAM_ID=? where id=? Hibernate: /* create one-to-many row scripts.entities.Team.members */ update Member set TEAM_ID=? where id=? ============== END ============== 실행 후 DB 조회 내용입니다. 위 상황에서 왜 member1 , member2 의 팀 변경내용이 모두 반영되는지 알고 싶습니다. 이러한 경우 JPA 가 Member , Team 모두를 연관관계의 주인이라 인식하는 건가요? 아니면 JPA 가 Member -> Team , Team -> Member 두 참조를 서로 다른 연관관계(?) 라 해석해 동작하는 걸까요?
공부하던 중에 이 부분은 이렇게 수정해야 되는 것 아닌가..? 싶어서 글 남겨봅니다. [수정 제안 정보] 대상 강의록: 10. Optional.pdf 대상 위치: 강의록 p.24의 최상단 부분 , 영상의 10분 50초~ 수정 제안 수정 전: 사용 용도 orElse(T other) - 값이 이미 존재할 가능성이 높거나, ... 수정 후: 사용 용도 orElse(T other) - 값이 존재하지 않을 가능성이 높거나, ... 수정 제안에 대한 근거 orElse(T other) 는 other의 생성 비용이 높은 경우 에 "값이 이미 존재함에도 불구하고 생성 연산을 수행해야됨" 으로 인해서 비효율이 발생합니다. 이는 바꿔 말하면 "값이 존재하지 않는 경우에는 생성 연산이 필수적임" 이기 때문에 "값이 존재하지 않는 경우에는 비효율이 발생하지 않음" 이라고 해석할 수 있을 것 같습니다. 이때 강의에서 말하고자 하는 바는 "orElse()는 비효율이 발생할 수도 있다. 하지만 발생하지 않는 경우에는 사용해도 좋다." 라고 이해했는데, 이때 "비효율이 발생하지 않는 경우" 를 "값이 존재하지 않는 경우(생성 연산이 꼭 필요한 경우)" 라는 표현으로 대체 할 수 있기 때문에 "값이 존재하지 않을 가능성이 높은 경우(= 비효율이 발생하지 않는 경우)에는 orElse()를 사용해도 괜찮다." 라고 수정해야 하는 것이 아닌가 싶어서 제안합니다.
안녕하세요! 이번에 jooq를 도입하게 되어 강의를 보며 천천히 따라해보고 있습니다. 현재 Flyway + DDLDatabase(testcontainers 사용안함) 방식으로 dsl을 생성하는 것을 테스트하고 있는데요.. flyway migration 파일(.sql)에 프로시저와 함수 생성문을 넣고 코드 생성을 실행 하니 상용 버전을 이용하라고 메시지가 나오며 실행이 안되길래 공식 문서를 확인해보니 오픈소스 에디션에서는 지원을 하지 않는다고 되어있더군요 ㅠㅠ 섹션2 - 생성된 DSL 구조 살펴보기 강의에서는 DB 스캔 방식이지만 Routines 클래스가 잘 생성되는 것을 볼 수 있는데 혹 강사님께서는 시 상용 버전을 사용하신 걸까요?? 아니면 DB 스캔 방식은 상용 버전 상관없이 Routines 클래스가 생성이 되는 걸까요?
Null을 세지않으면 col1이 null도 세지 않아서 count가 3이 되는거 아닌가요? 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
[오타 정보] 대상 강의록: 10. Optional.pdf 대상 위치: 강의록 p.11의 2. ifPresentOrElse() 코드 부분 , 영상의 5분 ~ 오타 내용 수정 전 public class OptionalProcessingMain { ... System.out.println("=== 2. ifPresentOfElse() ==="); // Of라고 오타 ... 수정 후 public class OptionalProcessingMain { ... System.out.println("=== 2. ifPresentOrElse() ==="); // 'Of' -> 'Or' 수정 ...
강의에서 설명해주신 대로 Spot quotas 리밋을 16으로 올리려고 했으나 계속 거부 메시지가 옵니다. 현재 제가 가진 subscription으로는 Spot VM을 16까지 늘릴 수 없다고 합니다. spot의 다른 지역 Korea, Japan, East US 등 다 해봤는데 똑같습니다. 이 때문에 강의에서 보여주신 Standard_D16as_v5 - 16 vCPUs, 64 GiB memory $0.08480/hour 옵션 대신, 훨씬 비용이 높은 Standard_D16as_v5 - 16 vCPUs, 64 GiB memory US$619.04/month 옵션밖에 선택할 수 없습니다. 어떻게 강의와 동일한 VM 환경으로 실습을 진행할 수 있을까요? 일단 Azure의 서포트에 아래와 같은 메시지로 문의를 남겼으나 답변이 매우 늦는 상태입니다: I wanted to increase my spot limit to 16 and then want to create a VM using the 'Standard_D16as_v5 - 16 vCPUs, 64 GiB memory $0.08480/hour' option. However, since this is my first time using it, I'm only seeing the option labeled 'Standard_D16as_v5 - 16 vCPUs, 64 GiB memory US$619.04/month'. Could you please help me resolve this issue? Azure의 Help + support 섹션에서 아래와 같은 응답이 계속 표시됩니다: QMS Update - Status: ResourceType: crpCores { Quota Bucket: TotalLowPriorityCores Status Description: Due to very high rates of Spot consumption, Microsoft is unable to approve additional quota at this time State: SpotVMNotAllowedForPayGCustomer Current Quota: 3 New Quota: 16 } Properties: [location, koreacentral] 이 문제를 해결할 방법이나 대체 방안이 있으면 알려주시면 감사하겠습니다. 스크린샷 첨부하였습니다:
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요 코드가 다음처럼 바뀌었으면 결과값도 '원'이 있는 결과값만 나와야 하는 거 아닌가요? 0번째 요소만 선택했는데도 결과값은 원이 있는 것과 없는 것 다 나오는 걸까요? if '원' in tag.contents[0]:
위 도표를 보여주시면서 설명을 해주실때, 10시 정각에 스레드 1이 쿠폰 발급 로직을 시작 10시 2분에 완료가 된다면, 스레드 2는 스레드 1의 작업이 모두 종료될때까지 기다렸다림. 스레드 2는 10시 2분에 작업을 시작 이렇게 설명해주셨는데, 이게 잘 이해가 안됩니다... 제 생각에는 아래와 같이 10시에 동시에 처리되는 흐름이 되어야 할 것 같은데요... 즉, 스레드2는 쿠폰 생성 로직이 끝날 때까지 기다리지 않고, 스레드 1이 쿠폰 발급 로직을 수행 중이라도 스레드 2는 곧바로 Redis 값을 받고 독립적으로 로직을 수행 할 수 있을 것 같은데 아닌가요?? 레디스 자체는 싱슬스레드이니 레디스를 찌를때는 무조건 하나씩만 들어가겠지만 스레드 1은 레디스에 찌르고 값을 받아온 후 본인의 비즈니스 로직 수행할때 스레드2가 레디스 서버에 찌를 수는 없는건가요? 제가 이렇게 이해한 부분이 잘못된 것인지, 아니면 제가 강의 설명을 오해한 것인지 혼란스러워 질문을 드리게 되었습니다.
코드 문제에 대한 질문은 아니고 큰 따옴표와 작은 따옴표에 대한 질문입니다. 예를 들어 my_dict = { 'name': 'WeekendCode' 'age': 30; } print(my_dict) 출력값: {"name": "WeekendCode", "age": "30"} 이렇게 해도 괜찮은가요? 큰 따옴표와 작은 따옴표를 구별해서 외워야하는지 아니면 똑같이 동작하는지 궁금합니다. 만약 구별해야된다면 어떤 기준일때 작은 따옴표를 사용하고 어떤 기준일때 큰 따옴표를 사용하는지 궁금합니다. 코드에서 변수명을 작성할때는 큰 따옴표인데 이것의 출력값은 또 작은 따옴표라서 좀 헷갈리네요.