[질문 내용] 안녕하십니까. 김영한 강사님의 모든 실전 강의를 다 들었습니다. JPA 관련 고퀄리티의 강의 정말 감사합니다. 저희 회사에서 이번 프로젝트에 JPA를 적극 도입하고자 하는데 기존 수업을 들었던 환경과 조금 달라 이렇게 문의를 하고자 합니다. 저희 회사에서 여러 DB (최소 4개 이상)를 한 스프링 백엔드에서 다뤄야하는 상황이 되었습니다. 이 상황에 JPA로 DB를 각각 연결하여 사용하는 것이 가능할까요? 또한 성능적으로도 문제가 없을 지 궁금합니다.
안녕하세요, 강사님! 항상 좋은 강의 잘 듣고 있습니다. 이번에 공부하면서 궁금한 점이 생겨서 질문드리게 되었습니다. Idempotence / transaction의 Producer 관점의 차이는 어떤 것인지 구분할 수 있을까요? 제가 이해한 내용은 다음과 같은데 정확하지 않아서... 질문드리고 싶습니다. Idempotence는 중복 없이 전송하지만, Producer Fail이 발생했을 때의 중복 전송을 막지는 못한다. 예를 들면 다음과 같은 상황으로 이해를 할 수 있을 것 같습니다. 프로듀서가 브로커에 메세지를 보낸다. 브로커가 ACK를 보낸다. 이 때 ACK를 받지 못하고프로듀서가 죽는다. 프로듀서가 다시 살아난다. 이 때 메세지를 보내려고 하면 다시 PID를 배정받는다. 따라서 SEQ Num도 초기화 된다. 이 때 이전에 발송 취소된 메세지부터 보내려고 한다. 이전에 발송 취소된 메세지를 보내면, PID와 SEQ가 초기화 되기 때문에 브로커 입장에서는 중복메세지가 아니라고 생각하고 저장한다. 그런데 트랜잭션으로 하게 되었을 때는 이런 상황을 방지할 수 있을 것 같습니다. 예시는 다음과 같습니다. 트랜잭션 코디네이터를 통해 TID / PID가 맵핑되고, PID를 에포크 별로 커밋 오프셋을 관리한다. 각 프로듀서는 고유한 TID를 가지고 있기 때문에 위와 같이 죽고 회복되는 상황에서 고유한 TID를 바탕으로 이전의 PID 값을 받아온다. 이전의 PID를 에크별로 커밋 오프셋을 관리하기 때문에 여기서 프로듀서는 이전에 발송했던 Message Seq를 받아올 수 있다. 따라서 프로듀서는 중복없이 정확히 한번 전송을 할 수 있게 된다. 이게 맞을까요?? 항상 좋은 강의 너무 감사드립니다!
하루에도 몇 개씩 계속오네요 하단에 안내 멘트가 있어서 Unsubscribe 을 눌렀는데 그래도 계속오는데 다른 방법이 있습니까??? 만약 권한을 획득한 이후에도 계속 gist 알림 메일이 온다면 페이지 상단 우측의 Unsubscribe 버튼을 눌러주세요. 그럼 메일이 오지 않습니다 :)
ds=read.csv('netflix_titles.csv',encoding = 'UTF-8')하면 결과가 6으로 나오는데요.. ds=read.csv('netflix_titles.csv')이렇게 하면 결과가 3으로 나와요.... encoding = 'UTF-8' 이거를 시험볼때도 해줘야 하는 건가요? 제가 알고 있는 fileEncoding='UTF-8-BOM'으로 하면 결과는 0으로 나오구요...
1.절대값을 구하라고 하였으므로 abs함수를 써야 하는 거 아닌가요? 값을 내림할때 as.integer을 써도 되고 floor를 이용해도 되는거죠? 그리고 반올림할때 round함수 쓰셨는데 정수니까 round함수의 두번째 자리는 1이 아니라 0이어야 하는 거 아닐까요? 그런데 1이나 0을 자릿수로 써봤는데... 답이 동일하게 나오던데.. 왜 그러는 걸까요...? quantile이냐 fivenum이냐 이건 데이터의 길이가 짝이냐 홀이냐의 문제라고 하셨는데요... 앞으로 시험에서 이렇게 사분위수가 나오면 이것저것 시도해보고 비교해 볼 거 없이 quantile함수를 이용하여 구하면 될까요...?
안녕하세요 먼저 좋은 강의 만들어 주셔서 감사합니다. 낙관적 락을 보고 궁금한 점이 생겨서요! lettuce의 스핀락과 굉장히 유사하다는 느낌을 받았는데 낙관적 락에선 스핀락을 언급을 안하시더라구요. 로직만 보면 락을 얻으려 계속 시도하는게 비슷해보이는데 낙관적 락은 직접적으로 락을 거는 게 아닌 버전으로 관리를 해주기 때문에 스핀락이라고 볼 수 없는 건가요?
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 맛비님! 강의 잘 듣고 공부하고 있습니다. 예제 코드를 실행해보고 작성해보면서 build, clean파일에 대해 의문점이 생겼는데요. 질문을 나눠서 드릴게요 현업에서 개발을 하실 때도 이렇게 build와 clean파일을 생성해두고 개발을 하시나요? xilinx로 개발을 하신다면xvlog, xelab, xsim에서 모듈파일과 테스트벤치 파일 명만을 바꿔서 build파일을 계속 만들어놓고 개발하시는거죠? (xilinx에서 개발할때 xvlog,xelab,xsim 말고 다르게 컴파일 하는 루트가 있는지에 대한 질문입니다) 항상 성의있는 답변 감사합니다. 즐거운 하루 되세요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 질문은 아니구요. 12차시 강의에서 처음에 만들고자 하는 테이블에 최종 결과를 미리 먼저 보여주고 강의 진행을 했으면 이해하기가 좀 더 좋았을거 같아요. 강의가 진행되면서 어떤 결과의 테이블을 만들려는지를 모르니깐 왜 이런작업을 하는지 이해하기가 답답했어요. 결국 마지막 결과를 보고 강의를 들으니 좀더 이해가 쉬웠습니다.
저는 스프링을 먼저 공부를 했었는데요. 스프링을 공부하다가 타임리프를 열심히 익혔더니 최근에는 REST API로 JSON 데이터를 주고받는게 주 업무라고 하여 템플릿엔진을 거의 사용하지 않는다고 알고 있어서 이번 파이썬에서 템플릿 엔진을 그냥 넘겼는데요. 템플릿 엔진에 대한 이해보다 DRF에 대한 이해를 빠르게 익히는 방향으로 학습을 하려고 하는데 이것이 좋은 방법인지 아니면 적어도 서버개발자라면 SSR과 같은 템플릿 엔진을 만드는 법을 필수적으로 알고 넘어가는 것을 추천하시는지 여쭙고 싶습니다.
안녕하세요. 강의 잘 듣고 있습니다! 배포 후 AWS에서 에러난 것을 수정 해주신 코드 보며 잘 해결했습니다. 궁금한 점이 docker-compose.yml 내부 코드를 수정하고 나서 다시 터미널에 docker-compose up --build를 해서 컨테이너를 만들고 깃허브에 푸쉬를 해야 하는 지 아니면 바로 깃허브에 푸쉬하면 되는 것인지 궁금합니다. 이번에는 혹시 몰라서 빌드를 하고 푸쉬하니 배포는 잘 됐습니다!
안녕하십니까! 배운내용 바탕으로 프로젝트 해보는 와중 해결되지 않는 부분이 있어 문의드립니다. pytorch에서 densenet(pytorch 기본제공)과 SWIN-transformer(pytorch 미제공, git에 공유된 모델 활용)을 backbone으로 활용하고 싶습니다. swin-unet처럼 모듈에서 제공하지 않는 모델의 경우 어떤식으로 코드를 작성해야할까요? dictionary 형태의 pth 파일이라 *****.load_state_dict('~~~~.pth')을 활용해야할것 같은데 *****부분에 모델을 넣어줘야되는데 기본제공 모듈이 아니라 어떤식으로 해야할지 감이 오지 않습니다. 1번 문제가 해결이 된다면, densenet과 swin-transformer을 sequential 형태로 조합하여 pretrain으로 시키고 싶은데 어떻게 접근을 하면 될까요? 아래 코드에서 backbone 부분 어떻게 해야할지 방향 잡아주시면 너무 감사할것 같습니다. path = '/content/drive/MyDrive/swin_tiny_patch4_window7_224.pth' #swin-Transformer 모델 pretrained_weights = torch.load(path, map_location='cpu') class ImgFeatureExtractor(nn.Module): def __init__(self): super(ImgFeatureExtractor, self).__init__() # self.backbone = models.efficientnet_b0(pretrained=True) self.backbone = models.densenet201(pretrained=True) self.backbone = *****.load_state_dict(pretrained_weights) self.embedding = nn.Linear(1000,512) def forward(self, x): x = self.backbone(x) x = self.embedding(x) return x
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 좋은 강의 항상 감사합니다. 보통의 ecommerce 테이블인데요 판매자정보 테이블(=A): 기준1인 집합 상품정보테이블(=B): 기준1인 집합 상품카테고리정보 테이블(=C): 기준 M 주문정보테이블(=D): 기준M인 집합의 테이블로 조인하면 이런테이블이 나오고, 이 데이터에서 이러한 데이터 추출하고 싶은데, DB버전문제(MYSQL 5.7버전) 로 Analytic SQL을 사용하지 못한다고 했을 때, 제가 알고 있는 지식으로는, SELECT A. 판매자이름 as '판매자', SUM( B.상품가격+ B.배송비) AS '총판매금액' , SUM(case when c.카테고리네임 LIKE '%식품%' then SUM( B.상품가격+ B.배송비 ?? end)) as '식품판매' SUM(case when c.카테고리네임 LIKE '%패션%' then SUM( B.상품가격+ B.배송비 ?? end)) as '패션판매' SUM(case when c.카테고리네임 LIKE '%패션%' then SUM( B.상품가격+ B.배송비 ?? end)) as '기타판매' FROM A JOIN B on A.a=B.b JOIN C on C.c=B.b2 JOIN D on D.d =B.b3 GROUP BY A.판매자이름 이렇게 생각했는데, 실행해보니 안되는것같더라구요. 단순하게 판매상품이 식품카테고리 상품이면 식품카테고리 상품끼리더하고, 판매상품이 패션카테고리 상품이면 패션카테고리 상품끼리 더하는걸로 정말 단순하게 생각했는데 안되더라구요. 그래서 궁금한게 (1) SELECT에 쓴 SUM( B.상품가격+ B.배송비) AS '총판매금액' 을 바로 SUM(case when c.카테고리네임 LIKE '%식품%' then SUM( B.상품가격+ B.배송비 ?? end)) as '식품판매' 처럼 활용할 수 없어서 안되는건지 (2) SUM(case when c.카테고리네임 LIKE '%식품%' then SUM( B.상품가격+ B.배송비 ?? end)) as '식품판매'에서 end 앞 ?? 에 다른 내용이 더 들어가야하는건지, (3) 아니면 접근자체가 잘못된건지 궁금합니다.