deserializeUser에서 req.user에 넣을 팔로잉이랑 팔로워 찾으실 때, as는 모델 관계의 as를 따라간다고 하셨는데 왜 위 코드에서 Follwers 가 //팔로잉 이고 Followings 가 //팔로워 라고 하신 건지 모르겠습니다ㅜ 예를 들어, 저의 팔로잉을 찾으려면 제 아이디를 팔로워 아이디에서 찾아야 하니까 기준 아이디가 followerId가 되는 Followings가 맞는거 아닌가요?
DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
docker stack services my-stack 이러한 명령어로 스택에 있는 서비스를 확인했을 때, replicas가 생기지 않는 문제가 발생합니다. docker service logs my-stack_nginx으로 로그를 확인했을 때, "my-stack_nginx.1.e52u87cn5fsb@65b1999ee81f | exec /docker-entrypoint.s h: invalid argument" 라는 오류 메시가 발생합니다.
포스트맨에서는 이벤트 쿼리가 답이 옵니다. http://localhost:3000/api/dialogflow/eventQuery http://localhost:5000/api/dialogflow/eventQuery 둘다 답이 옵니다. 다만 터미널과 아래 처럼 브라우저에서 인사말이 오지 않습니다. 시작하면 처음에 이벤트쿼리문이 오게 하려면 어떻게 해야하나요? 메번 감사합니다
안녕하세요 재성님! 좋은 강의 너무 잘 듣고 있습니다. 다름이 아니라 재성님 강의를 듣고 제 프로젝트에 spring boot mysql 을 함께 컴포즈 파일로 작성하고 있는데 localhost:8080 으로 접속하 org.springframework.web.servlet.resource.NoResourceFoundException: No static resource . 이라는 에러 문구가 나옵니다. 현재 프로젝트에서는.html 파일을 전혀 사용하지 않아서 이 에러의 원인을 잘 못찾고 있습니다. docker-compose 파일 첨부합니다. 감사합니다. services: my-server: build: . ports: - 8080:8080 # my-db의 컨테이너가 생성되고 healthy 하다고 판단 될 때, 해당 컨테이너를 생성한다. depends_on: my-db: condition: service_healthy my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: 저희 비밀번호 MYSQL_DATABASE: mydb # MySQL 최초 실행 시 mydb라는 데이터베이스를 생성해준다. volumes: - ./mysql_data:/var/lib/mysql ports: - 3306:3306 healthcheck: test: [ "CMD", "mysqladmin", "ping" ] # MySQL이 healthy(정상 작동 하는지)한 지 판단할 수 있는 명령어 interval: 5s # 5초 간격으로 체크 retries: 10 # 10번까지 재시도
# 훈련 데이터셋에서 포르투갈어 및 영어 예제 출력 for pt_examples, en_examples in train_examples.batch(3).take(1): print('> 포르투갈어 예제:') for pt in pt_examples.numpy(): print(pt.decode('utf-8')) # 포르투갈어 문장 디코딩하여 출력 print() print('> 영어 예제:') for en in en_examples.numpy(): print(en.decode('utf-8')) # 영어 문장 디코딩하여 출력 =====> 위의 코드에 pt 와 en 이 어떻게 생성된 변수인지 잘 이해가 안 가서 여쭤봅니다.
@Test void 상품주문_재고수량초과() throws Exception { //given Member member = createMember(); Item item = createBook("시골 JPA", 10000, 10); int orderCount = 11; //when // orderService.order(member.getId(), item.getId(), orderCount); //then Assertions.assertThrows(NotEnoughStockException.class, () -> orderService.order(member.getId(), item.getId(), orderCount),"재고 수량 부족 예외가 발생해야 한다."); } Assertions.assertThrows 사용 시 파라미터 자체에 로직을 넣어줘야 해서, JUnit4 의 expected 옵션과 다르게 테스트의 when 항목을 적지 않아도 되는 상황이 발생하는 것 같아서요. 현업에서도 이 방식을 주로 사용하시나요? (+ 추가 질문) junit 과 assertj.core 라이브러리를 함께 쓰는 경우엔 이렇게 한 쪽을 지저분하게 쓸 수 밖엔 없나요? (isEqualTo와 assertThrows를 하나의 테스트 클래스에서 같이 쓰는 경우) @Test void 주문취소() throws Exception { //given Member member = createMember(); Book item = createBook("시골 JPA", 10000, 10); int orderCount = 2; Long orderId = orderService.order(member.getId(), item.getId(), orderCount); //when orderService.cancelOrder(orderId); //then Order getOrder = orderRepository.findOne(orderId); org.assertj.core.api.Assertions.assertThat(getOrder.getStatus()).isEqualTo(OrderStatus.CANCEL); org.assertj.core.api.Assertions.assertThat(item.getStockQuantity()).isEqualTo(10); }
안녕하세요 강의를 보고 배운 서버와 dx11로 3d게임을 만들어 보고있습니다. 이동동기화 등은 잘 됬고 몬스터를 만들었는데 접속한 클라에서 모두 동일하게 로직이 돌아가야하니 몬스터의 로직은 서버에서 돌아가게 만들었습니다. 그런데 플레이어가 몬스터를 타격하면 타격한 플레이어가 타격했다는 패킷을 보내고 플레이어가 플레이어를 타격하면 피격당한 플레이어가 패킷을 보내는 식으로 했는데 투사체 같은경우 몬스터가 투사체를 맞았다 라는건 서버에서도 충돌체를 두고 몬스터가 검증을 해야할까요? 클라에서 판단하더라도 그러면 여러 클라가 있을경우 여러 클라가 다 맞았다는 패킷을 보낼것 같아 뇌가 꼬입니다... 물론 방법이야 많겠지만 이부분 구현에 있어 감이 안잡혀 질문드립니다 ㅠㅠ
넓고 얕게 외워서 컴공 전공자 되기 외워야 할 단위 체계와 숫자 5분 2초 강의 내용이 이해가 안 가서 올립니다. 8bit = 1byte 1024 byte = 1KB 까지 이해했습니다. 하지만 강의 내용에서 16bit가 64KB가 되는 건 이해가 전혀 가지 않습니다. 우선 위에 적은 내용에 따르면 64KB가 되기 위해선 8bit * 1024 * 64 = 524288bit = 65536byte가 되어야 64KB가 되는건데 왜 갑자기 16비트가 64KB가 되는거죠? 그리고 65536의 숫자가 64KB가 되려면 단위가 bit가 아니라 65536byte 가 되어야 64KB 아닌가요? 16비트는 65,536가지 (64KB)이다.가 아니라 2^16바이트는 65,536byte (64KB)이다.가 되어야 하는 거 아닌가요?
죄송합니다. 반례를 도저히 모르겠습니다. http://boj.kr/b03daff7be7b471091653480f1cd380f 도저히 모르겠어서 그냥 다시 짜서 http://boj.kr/808e04c0dc7a48b4ba377150b039c7d7 이렇게 하니 또 패스되더라구요. 둘의 차이를 전 모르겠습니다.... 한번 부탁드려도 될까요?
안녕하세요 강사님? 강의 잘 듣고 있습니다. 듣다보니 몇가지 궁금증이 생겨서 질문드립니다. 너무 쉬운 질문들도 있겠지만, 선생님의 답변을 통해 확신을 얻고 싶은 마음이 있어 질문드립니다 __) 동기적 호출을 전제하는 동작, 예를 들 FeignClient기반의 호출을 다른 스레드(DISPATCHER.IO)에위임하지 않고 기존 스레드에서만 코루틴형태로 동작시키면, 이때에도 여전히 의도와 다르게 블락킹될 것 같은데 맞을까요? 강의에서 보여주신 예시중에 아래와같은 예시가 있는데, 이 경우에는 하나의 스레드만 사용하시는 것 같아 혹시나 하는 마음에 여쭤봅니다. // Async 사용 fun main(): Unit = runBlocking { val time = measureTimeMillis { val job1 = async { apiCall1() } val job2 = async { apiCall2() } printWithThread(job1.await() + job2.await()) } printWithThread("소요시간 : $time") } // 출력 결과 [main] 소요시간 : 1030 IO를 효율적으로 진행하기 위해서는 결국 Dispatcher I.O의 스레드들에게 위임해야 할 것 같은데그렇다면 애초부터 Dispatcher I.O의 스레드들은 ‘블락킹당해도 괜찮다’를 전제로 만들어진 스레드들(스레드풀)인걸까요? 그러면 결론적으로 Dispatcher IO는 블락킹 당해도 괜찮을 수 있도록 어떤식으로 처리되어 있는 건지 궁금합니다.