안녕하세요. ERD 읽는법 강의에 사용된 표 자료에서 보면은, ONE - MANY 가 보통 컬럼으로 매치가 되는데 테이블 : 테이블로 ONE-MANY가 매치 되는곳이 두군데 있더라구요. employees(one) - orders(many) products(one) - orderdetails (many) 그런데 orders 테이블안을 보면 employees를 전체 사용하는 무언가가 있는것이 아닌, employeeID가 FK 되어 있거든요. 그러면 테이블별 매칭이 아닌 employee테이블 내 employeeID 컬럼 (one) - orders테이블 내 employeesid(many)로 연결되어야 하는게 아닌가요?
안녕하세요. as로 명명하는 것에 관해 질문드립니다. "2-5. 집계(GROUP BY + HAVING + SUM/COUNT)"에서 선생님께선 다음과 같이 쿼리를 작성해주셨는데요. select type1, count(id) as cnt from `basic.pokemon` group by type1 having cnt >= 10 order by cnt desc count(id)를 cnt로 명명한 후, having과 order by에서 그 별명을 이용하여 간단히 입력하신 걸 이해했습니다. 여기서 sql에 익숙해지고자, 여러 시험을 해보았는데, 다음과 같은 쿼리도 같은 결과를 출력할 수 있었습니다. select type1, count(type1) as cnt from `basic.pokemon` group by type1 having count(id) >= 10 order by count(kor_name) desc select 내의 count 괄호 내에는 type1 열을 불러 읽고, having 내의 count 괄호 내에는 id 열을 불러 읽고, order by 내의 count 괄호 내에는 kor_name 열을 불러 읽고, as로 select 내의 count 함수를 따로 명명해주었지만 그 별명을 사용하지는 않았습니다. 즉, 각 count 함수의 변수를 모두 전혀 다른 것들을 불러 읽는 엉망진창(...)으로 만들어 보았는데요. 그럼에도 불구하고, 문제 없이 같은 결과가 출력된다는 것은, as는 입력 간편화를 위해 이용하는 것이니, 명명을 하더라도 이용하지 않아도 출력상 문제는 없다고 이해해도 될까요? 그리고 count 내 변수를 랜덤하게 지정해도 같은 결과가 나옴에도 불구하고, id 열을 변수로 쓰는 이유는, 실무에서는 값이 누락되어 있을 가능성이 있을 열이 아닌, 하나의 row마다 반드시 값이 주어지는 열(=id 열)을 쓰는 것이 잘못된 집계를 피하기 위함이라고 이해해도 될까요? 글이 길어졌지만, 답변을 기다립니다. 미리 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 위처럼 join_membership하면 체크표시가 뜨고 한글로 작성하면 No tests were found라고 뜨는 이유는 뭔지 궁금합니다
로그인 버튼을 클릭하면 우선 '/login' 주소로 이동했다가 'i/flow/login'으로 이동하기 때문에 이때 '/login'에서 배경이 메인 컴포넌트를 보여줘야 메인 페이지가 바탕이 되고로그인 모달 창을 띄운다는 점은 이해했습니다. 따라서 app/(beforeLogin)/login/page.tsx 에서 Main 컴포넌트를 보여주도록 했습니다. export default function Login() { const router = useRouter(); router.replace("/i/flow/login"); return <Main />; } 문제는 '/i/flow/login' 에서 새로고침하면 모달 창은 그대로지만 배경은 메인 페이지가 아닙니다. 이때 아래와 코드와 같이 따로 Main 컴포넌트를 불러오면 새로고침 시, 배경은 메인 페이지로 잘 나옵니다.그런데 강의와 깃허브 코드를 보니 LoginModal 컴포넌트만 보여주고 있습니다. LoginModal 컴포넌트만 있어도 app/(beforeLogin)/page.tsx에서 Main 컴포넌트를 보여주고 있으므로 app/(beforeLogin)/layout.tsx에서 Main 컴포넌트가 {children}에 할당된다고 생각했습니다. 따라서 아래 코드에서 Main 컴포넌트가 없어도 배경은 메인 페이지가 나온다고 생각했습니다. 아래 코드와 같이 Main 컴포넌트가 있으면 새로고침 시, 메인 페이지가 배경이 되고 그 위에 로그인 모달창이 띄워지지만 Main 컴포넌트가 없으면 새로고침 시, 메인 페이지가 빈 페이지가 나옵니다. 여기서 Main 컴포넌트를 넣어서 해결해도 되는건지 의문이 들었습니다. 아래 코드에서 Main 컴포넌트를 넣지 않으면 Main 페이지가 어떻게 배경으로 보여지는 건지 알고 싶습니다! import LoginModal from "@/app/(beforeLogin)/@modal/(.)i/flow/login/page"; import Main from "@/app/(beforeLogin)/_component/Main"; export default function Page() { return ( <> <LoginModal /> <Main /> </> ); }
Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
안녕하세요. 수업 잘 듣고 있습니다~ 백프레셔 전략 중 DROP과 LATEST 전략은 결국 버퍼가 비워질 때까지 Publsiher에서 emit되는 데이터를 제거(drop or discard)하는 것으로 이해했습니다. 버퍼가 비어지는 시점 이후로 emit되는 데이터를 다시 버퍼에 채운다는 점에서 두 전략은 같은 것으로 보입니다. 차이점을 알려주시면 감사하겠습니다~
같은 패키지 내부에 Test.java 와 BusObject.java 가 있습니다. Test에서 BusObject객체를 만들어서 사용하는 것을 테스트하고자 하는데 다음과 같이 에러가 나옵니다. javac BusObject.java Test.java java BusObject.java Test.java (java BusObject Test 도 동일하게 안 됩니다ㅜㅜ) Error: Could not find or load main class week11.BusObject Caused by: java.lang.ClassNotFoundException: week11.BusObject 뭔가 문제인가요..? 지금까지 컴파일할때 week11.하고 패키지도 붙여보고, -classpath . 도 해봤습니다...
안녕하세요. 저는 아래와 같이 interval 앞에 연산기호 '-' 를 넣고, left join 을 이용했는데요. self join 시에 이렇게 사용하면 오답처리될 확률이 높을까요? # Write your MySQL query statement below SELECT t.id as id FROM weather t LEFT JOIN weather y on t.recordDate - interval 1 day = y.recordDate WHERE T.temperature > y.temperature;
토이 프로젝트를 진행하던 중 궁금한 내용이 생겨서 질문 드립니다. 과거 Mybatis와 같은 것을 활용해 진행할 때는 코드 매핑 테이블에 코드값 (기본키)과 코드명 이렇게 있고 특정 테이블에서는 이러한 코드 값 키를 들고 있어 서브쿼리를 활용해 코드 명을 가져오는 방식으로 활용했습니다. JPA에서 위 구조를 활용하려면 특정 엔티티에 코드 엔티티를 넣고 서로 연관관계를 걸어 준 후에 fetch join으로 select 하는게 베스트 일까요?
@Test @DisplayName("쿠폰 여러 명 발급") void 쿠폰_여러_명_발급() throws InterruptedException { int threadCount = 1000; ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch latch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) { final int threadNumber = i + 1; Integer key = i; executorService.submit(() -> { try { couponService.issueCoupon(param, usersMap.get(key)); } catch (PessimisticLockingFailureException e) { .... } 쿠폰 발급 동시성 처리 관련해서 테스트 코드 작성 간 궁금한 점이 있어서 질문을 올립니다. 구글링해서 작성해봤는데, 제가 이해하는 게 맞나 싶어서요... Executors.newFixedThreadPool(32) 이렇게 설정해주면, 32 개의 고정된 스레드 풀을 생성한다는 것이고 1,000 명의 유저가 해당 스레드 풀이 나눠서 작업이 수행된다는 것인가요 ? 그러니까 하나의 스레드에서 약 31명의 유저를 담당한다는 뜻일까요 ? 아니면 순차적으로 1,000 명의 유저를 하나의 스레드에 한 명씩 배치하여 작업하는 것이고, 실질적으로 한 순간에 32명의 유저만 작업한다는 뜻일까요 ? ㅠㅠㅠ
파이널 SQL 연습의 연습문제 1에 대한 질문입니다. (1분 38초) 포괄적인 질문이 될 수 있겠으나, 해당 연습문제에 대해 서브쿼리를 사용하여 구문을 만들어보려고 하였는데 논리적으로 짜는 것에 한계를 느꼈습니다. (애초에 연습문제1에 대해 서브쿼리를 사용하는 것이 가능한지 아닌지, 가능한데 못하고 있는 건지에 대한 판단조차 서지 않아서 여쭙고 싶었습니다.) JOIN문 작성이 어느 정도 가능하다면, 서브쿼리 단련에 그렇게 힘을 쓰지 않아도 될까요?
join employee b on a.key = b.key and a.fromdate betweeen b.fromdate and b.todate 여기서 질문 있습니다! join 을 할때 between 조건을 걸어주는 것과 이렇게 where 절에 조건을 걸어주는 게 어떤 차이가 있는지 궁금합니다. ~ join employee b on a.key = b.key where a.fromdate betweeen b.fromdate and b.todate 조인 조건에 조건을 추가하는 것과 where 절에 조건을 추가하는게 똑같아보이는데 차이가 있을까요
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 파이썬 관련 생성이 안보이고 notebook terminal console new file new folder 이렇게만 보여집니다.