묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
3 handshake(with socket library) 관련 질문있습니다.
강의가 너무 유익해서 시간가는줄 모르고 잘 보고있습니다. 좋은 강의 만들어주셔서 대단히 감사합니다. 하지만 강의를 보다가 이해가 잘 안되는 부분이 있어서 질문 드립니다. 강의시간이 1:50 쯤의 그림을 보면서 "socket 라이브러리를 통해 전달" 한다는 것이 이해가 잘 되지 않았습니다. 이 말을 저는 socket 라이브러리가 알아서 3handshake를 해서 연결상태를 보장받고 이후 TCP/IP 패킷을 생성하고 http 메시지를 담아 보내는 것으로 이해했습니다. 그런데 이 과정 중 3handshake와 socket library에 모호한 점이 있었습니다. 1-1. socket 라이브러리에서 3 hand shake 를 그림에서의 과정과 다르게 별도로 진행하여 연결이 되었다고 판단되면, 패킷 생성하고 네트워크 인터페이스 레이어를 지나 인터넷을 통해 서버로 전달. 즉, http 통신 프로세스와는 별개로 따로 서버와 syn / syn+ack / ack 만 주고받는 통신진행을 진행하는지 1-2. 아니면 전체 프로세스(강의에서 제공한 그림처럼)를 http 메세지와 syn이 포함된 TCP/IP 패킷을 생성하여 3번(syn / syn+ack / ack) 진행하는지 만약 1-1번 처럼 socket 라이브러리에서 따로 서버측과 syn / syn+ack / ack 을 통신한다면, 2-1. 최초 서버로 http 요청시 socket 라이브러리에서 3handshake를 실패시 http 요청 자체가 보내지지 않는건지. 그렇게 되면 클라이언트는 어떠한 응답도 못받는 상태가 되는건가요? 2-2. socket 라이브러리에서 3handshake를 하는 과정도 동일하게 TCP/IP 패킷을 생성하는지, 단순히 syn / syn+ack / ack 만 보내는지 궁금합니다. 3-1. 마지막으로 궁금한 것은 socket 라이브러리가 이런 것을 담당한다면 TCP를 이용한다면 반드시 socket 라이브러리를 써야하는 건지 궁금합니다. socket 라이브러리도 대체 가능한지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
스프링 부트 처음 접해보는 학생 입니다.
안녕하세요 강의를 들으면서 실습중에 있는 학생 입니다. 4:17초 쯔음에 build.gradle project 오픈 후 코끼리 모양을 클릭 시 아래 처럼 결과가 나오고 있습니다. java 버전이 1.8.0 버전인데 혹시 관련이 있을까요? 아니면 다른 이유일까요 ㅠㅠ 답변 부탁드립니다. 감사합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
body가 안나옵니다..
위와같이 작성했는데 높이갚을 픽셀로 두면 잘 나오는데 100%로 두었을때 바디가 화면에 안나옵니다. ㅜㅜ 강의 화면에는 잘 나오는데 문제가 뭔지 모르겠어요..
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문입니다.
안녕하세요. for(int x : T.solution(n, m, a, b)) System.out.print(x+" "); 이런식으로 for문이 도는데 int x 가 어떤걸 기준으로 돌게 되는지 궁금합니다. 여러개의 변수가 넘어가는데 저 x는 어떤걸 기점으로 x가 도는건지 알려주시면 감사하겠습니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
로그인 테스트 궁금합니다.
선생님, 로그인 시 정상적으로 authorization 헤더에 토큰이 들어있는지 확인하기 위해서는 어떻게 할 수 있을까요? jest만으로는 확인이 어려운데 e2e로 확인해야하나요? 어떤걸 참조하면 좋은 지 알려주시면 감사하겠습니다.
-
미해결모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
__exit__ 매직메서드의 리턴값
__enter__의 리턴값은 with Somthing() as f에서 f라는 alias로 받을 수 있습니다. 그런데 __exit__의 리턴값은 어디서 받을 수 있나요? __exit__에서 return True를 없애면 __exit__에서 에러에 대해서 if exc_type:으로 분기처리 했음에도 불구하고 다시 에러가 발생합니다. __exit__에서의 return value를 어디서 받아서 확인하는 것인가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
RabbitMQ를 kafka로 대체
선생님 언제나 친절한 답변 감사합니다. Config Server에서 RabbitMQ를 사용하고 있는데 kafka로 변경하고 싶다면 Spring Cloud Bus역할을 하는 코드를 작성해야 하나요?
-
미해결스프링 핵심 원리 - 기본편
서비스 의존주입 질문
공부중에 헷갈려서 질문드립니다.예를들어 리포지토리에서 서비스나, 컨트롤러를 주입받으면 안되는것은 잘 이해했습니다.단 같은 계층에서 다른 객체를 주입받는것은 괜찮나요???? 아래가 그 경우입니다. 채팅서비스에서 채팅방을 만드는 메서드가 있습니다. ChatService -> createChatRoom()이 있습니다. 제가 하고싶은것은 "팀"이 만들어질때마다 "대화방"이 만들어지게 하고싶습니다.teamService-> createTeam()안에서 ChatService의 createChatRoom()을 사용하고 싶은것입니다.이럴때 TeamService에서 ChatService을 주입받으면 문제될 부분이 있나요?있다면 어떻게 해결해야하나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
custom dataset을 tfrecords로 변환할 때 디렉토리 문제
안녕하세요 열심히 수강하고 있는 수강생 입니다. 현재 efficientDet 강의를 수강하고 있고, tfrecord, 그중에서 pascal voc의 xml annotation 을 automl 수행을 위한 tfrecord로 변환하는 부분에 대한 질문이 있습니다. 질문은 기존 pascal voc dataset이 불완전한 상태여도 tfrecord로 변환하는데 문제가 없을까요? 제가 여기서 배운 걸로 프로젝트를 진행하고 있거든요. 영상처리를 하기위해 dataset을 직접 수집하고 labeling도 한 상태에서 tfrecord로 변환하고 최종학습하려 합니다. 그런데 detection만 하려는 목적 상 아무래도 segmentation은 필요가 없을 것 같아서 object, class, imageset 등 segmentation 관련 폴더는 유지하되 내용은 비우거나 더미이미지파일로 채우려고 하거든요. 그런데 tfrecord 특성을 보니 image와 annotation을 묶어서 저장하는 형태잖아요. 그래서 dataset의 구성의 완결성과 품질을 요구할 것으로 예상하는데, 저희 프로젝트는 segmentation에 시간이나 노력을 소모하고 싶진 않거든요 그래서 비워둔 상태나 형식만 갖춰 놓아도 tfrecord를 구성하는데에는 문제가 없을까요? 추가로 데이터셋 디렉토리에서 main은 꼭 구성을 해야 val, train을 구분할 수 있는 것같은데, 그 이외에 예를 들어 aeroplane_train 등 class 별로도 구분하고 그걸 txt파일로 남겨놔야하나요?
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
참가 인원 재입력 과정 추가
안녕하세요, 선생님. 제가 이번 끝말잇기 게임 만들기 강조를 마무리하면서 1) 게임 시작 시 입력받은 게임 참가 인원을 확인(confirm) 하고 2) 이용자가 '취소' 버튼 클릭 시, 3) 재입력 하도록(prompt) 코드를 만들어봤는데요. 이 때 먼저 const yesorno = confirm('입력하신 게 맞나요?') 선언하고, if (yesorno==true) ~ 를 이용했습니다. 그런데 실제 프로그램을 돌려보니 두번 확인하다가 멈췄는데요. 계속 취소를 누를 경우, 재입력 할 수 있는 prompt창이 계속 떠야한다고 생각하는데, 그렇지 않아 어디서 놓친 부분이 있는지 궁금합니다. 코드 > if (yesorno == true) { const onClickButton = () => { if (!word || word[word.length - 1] === newWord[0]) { //제시어가 비어있다 word = newWord; $word.textContent = word; // document.getElementById("word").innerText = word; const order = Number($order.textContent); if (order + 1 > number) { $order.textContent = 1; } else { $order.textContent = order + 1; } } else { //제시어가 있음 alert('올바르지 않은 단어입니다. 게임종료') $order.textContent = 1; $word.textContent = ''; } $input.value = ''; $input.focus(); }; } else { const number = parseInt(prompt("몇 명이 참가하나요?"), 10); const yesorno = confirm('입력하신 게 맞나요?'); }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 메서드 setter 질문
앞전 강의에서 가능하면 엔티티는 setter를 열어놓지 말고 사용하라고 했습니다. 현재 제가 진행하고 있는 방향은 엔티티를 만들때 생성 메서드를 따로 만듭니다. (createMember)그리고 엔티티안에 private로 생성자 함수를 만듭니다. + @Builder 어노테이션을 적용시킵니다.그리고 생성 메서드에서 그 생성자함수를 빌더패턴으로 만들어서 사용하고 있습니다.이렇게하면 실수로 엔티티를 만들거나, 엔티티의 값을 바꾸는일이 일어날 일이 없다 생각합니다. 혹시 괜찮은 방법인지 궁금합니다.더불어강의내용중 연관관계 메서드에서 엔티티의 setter를 사용하는데 이부분을 개선할 수 있는 방법이 있나요?? /* 연관관계 메서드 */public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this);}
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
Selenium 기본 사용법3-다양한 기법으로 원하는 데이터 선택하기 9:25초 부분 질문드립니다.
안녕하세요! Selenium 기본 사용법3-다양한 기법으로 원하는 데이터 선택하기 9:25초 부분 질문드립니다. id ('navbarMediumish')로 찾는 법 코드로 실행하였더니 다음과 같은 에러메시지를 얻었습니다. C:\Users\user\AppData\Local\Temp/ipykernel_20164/4006082881.py:7: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead elem = driver.find_element_by_id('navbarMediumish')그래서 강사님이 조언 주신대로 구글링을 통하여 다음과 같이 전체 코드를 작성해보았는데요. 에러메시지는 없어졌으나 여전히 결과값이 프린트 되지 않아 조언 구하게되었습니다. 조언 주시면 감사하겠습니다.from selenium import webdriver from selenium.webdriver.common.by import By chromedriver='C:/ej_python/Webdriver/chromedriver.exe' driver = webdriver.Chrome(chromedriver) driver.get("https://davelee-fun.github.io/") elem = driver.find_element(By.ID, 'navbarMediumish') print (elem.text) driver.quit()
-
미해결Node.js로 웹 크롤링하기
프록시 에러
안녕하세요 강사님 프록시 ip 적용하기 강의를 보고 있는데 프록시를 적용하고 하면 밑에 에러가 나고 있습니다 ERR_PROXY_CONNECTION_FAILED 혹시 그 ip가 막혔나 하고 다른 ip도 다 해보고 있는데 되질 않더라구요 시간이 많이 흘러서 안되는 부분인지 궁금합니다 이 강의가 나오고 좀 오래 되서 그런지 조금씩 다른부분이 있어서 그건 제가 변경하고 해보고 있는데 이부분은 찾을수가 없네요 답변 기다리고 있겠습니다 !
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
JobQueue 관련해서 질문있습니다 !
전에 드렸던 질문의 연장이지만.. 한 공간에 많은 유저가 몰려있어 각자의 위치동기화를 위해 주변 플레이어들에게 Broadcast 하는 상황이라고 가정할때강의에서 말씀하신 JobQueue 구조로 간다고 해도연속된 위치동기화를 위해 Broadcast Job 을 계속해서 수행한다고 하면 사실상 Broadcast 내의에서 Session을 접근할때의 Lock 때문에 기다려야 하는 현상은 동일한것 아닌가 궁금합니다.만약 제가 JobQueue 에 대해 놓친부분이 있다면 리마인드 해주시면 너무너무 감사드리겠습니다 !!!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
쿠키
배포한 이후에 백엔드에서 cors 옵션에 credentials: true, 해주고 프론트쪽에서 axios.defaults.withCredentials = true; 를 해주어도 로그인 성공시 쿠키를 못받아오네요.이때는 어떻게 접근을 해야할 지 모르겠습니다. 로그인 시도 후 성공하고 응답으로 비밀번호를 제외한 유저 정보를 받아온 후에다음페이지에서 로그인 유지를 위한 ssr 시 백에서 요청을 받았을때 쿠키가 없어서 미들웨어에서 걸립니다.(로그인 필요 401) 크롬쪽에서 따로 sameSite 관려 오류는 안뜨고요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 환경에서 insert문이 짤리는 현상
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]회원 도메인 개발 -> 회원 기능 테스트 단원에서 회원가입 기능을 공부하는 부분에서 생긴 문제점입니다. 제 테스트를 실행하면 insert문이 보이지 않습니다. 코드는 이렇습니다. package jpabook.jpashop.service;import jpabook.jpashop.domain.Member;import jpabook.jpashop.repository.MemberRepository;import org.assertj.core.api.Assertions;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.annotation.Rollback;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.transaction.annotation.Transactional;import javax.persistence.EntityManager;import static org.junit.Assert.*;@RunWith(SpringRunner.class)@SpringBootTest@Transactionalpublic class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Autowired EntityManager em; @Test @Rollback(value = false) public void 회원가입() throws Exception{ //give Member member = new Member(); member.setName("kim"); //when Long saveId = memberService.join(member); //em.flush(); //then assertEquals(member, memberRepository.findOne(saveId)); } @Test public void 중복_회원_예외() throws Exception{ //give //when //then }} 다른 문의 글들의 기본 문제점이 yml 문제여서 혹시 몰라 저의 yml도 첨부해봤습니다.(강사님께서 올려주신 yml을 그대로 복붙해도 insert문은 안 생깁니다) spring: #띄어쓰기 없음 datasource: #띄어쓰기 2칸 url: jdbc:h2:tcp://localhost/~/jpashop #4칸 username: sa password: driver-class-name: org.h2.Driver jpa: #띄어쓰기 2칸 hibernate: #띄어쓰기 4칸 ddl-auto: create #띄어쓰기 6칸 properties: #띄어쓰기 4칸 hibernate: #띄어쓰기 6칸 show_sql: true #띄어쓰기 8칸 format_sql: true #띄어쓰기 8칸logging.level: #띄어쓰기 없음 org.hibernate.SQL: debug #띄어쓰기 2칸# 파라미터 쿼리 로그 남기는 옵션 org.hibernate.type: trace #띄어쓰기 2 + 하루 종일 문제점을 찾다보니까 이상한 현상을 발견했습니다. 제 로그가 부분적으로 잘리는거 같습니다. 실행을 하다가 로그창이 깜빡하다가 최종화면에서 insert문이 지워집니다.빨간색 부분을 보면 insert가 있는데 최종적으로 실행하면 이 부분이 로그에서 짤립니다. 보시면 ctrl + f를 사용해서 insert를 검색하면 안나옵니다. 교재기준 차이점은 test/resouce/application.yml을 추가 안한것인데 강의에서는 추가가 안되있어서 제외하였습니다. 어떻게 하면 로그가 안사라지게 할 수 있을까요..?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
데이터를 then으로 불러냈을 경우
안녕하세요 캡틴님 데이터 관련해서 다시 공부할려고 기본부터 다시 배우고 있습니다! 강의 잘 듣고 있어요 :) 다름이 아니고 데이터를 then(response)로 불러냈으면 그 이후에 처리 할 내용도 그 안에서 같이 처리 할 수 있나요..? 그리고 response를 하는 경우는 그냥 데이터만 불러내는 방식인건가요..? 항상 재미있는 강의 해주셔서 감사합니다!
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
극초반 듣고있는데 db propertyfile이 저한테는 안떠요
testdb를 인텔리제이랑 연결해야하는데...알려주세용..ㅠㅠㅠproperties가 안떠요 dev로 만들었눈데...
-
해결됨대세는 쿠버네티스 (초급~중급편)
pod 생성과정에 대한 질문
안녕하세요. 강의 너무 잘 듣고있습니다. 강의내용 복습중 이해가 부족한 부분에 대해 질문 올립니다. pod생성 과정이 아래 처럼 생성이 된다는 걸로 이해를 했습니다. 1. client가 kubectl를 이용해 pod 생성 요청 2. api server가 request 받음 3. etcd에 pod 정보 저장 4. scheduler가 api server를 watch하고 있음으로 pod 생성 요청이 들어오면 api server가 watch하고 있는 scheduler에게 통지 5. schduler가 최적의 노드를 판별해 api server를 통해 etcd에 정보 업데이트 6. 각 노드의 kubelet이 api server를 watch하고 있음으로 pod의 노드정보 업데이트 되면 apiserver가 kubelet에게 통지 7. kubelet은 container runtime인 docker에게 컨테이너 생성 요청 .... 그런데 여기서 궁금한점은 pod lifecycle 강의에서 pod status에 대해서는 pod가 생성될때 Initialized 실행을 하고나서 PodScheduled 된다고 설명해주셨는데 해당 강좌에서는 PodScheduled 된 후에 container가 생성이 되는것 같아 질문 올립니다. 순서가 어떻게 되는지 설명 해주시면 감사하겠습니다!
-
미해결홍정모의 따라하며 배우는 C언어
for문을 나누는 것이 더 효율적인 이유
교수님께서 size가 어마어마하게 커진다면 for문을 하나로 합치는 것 보다 for문을 쪼개는 것이 오히려 효율적일 수 있다는 말씀을 해주셨는데요. 그 이유가 너무 궁금해서 질문드립니다. 코드의 품질 측면이 아닌 하드웨어 측면에서 차이가 나는 걸까요? 어떤 공부를 해야 그 답을 찾을 수 있을까요.