풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
리눅스 우분투에서 도커엔진 인스톨방법이 강의랑 공식문서랑 다소 다른데 두 방법 모두 정상적으로 작동하는것 같습니다만 혹시 차이점이 있을까요?? https://docs.docker.com/engine/install/ubuntu/ 위 링크가 공식문서입니다. 보면 https로 받아오기 위해 하는 세팅과 GPG key 추가하는 명령, 도커 설치 등 다른부분이 많은데 혹시 강의방식과 어떤차이점이 있을까요?
npm build는 운영서버를 위해 build하는거지만 next의 export는 정적 페이지를 위한것이라고 알고 있는데 만약 배포를 진행한다면, build와 export 두개 다 같이 해줘야하는걸까요 ? next export명령어가 next build 후 그 빌드된 파일을 바라보고 out 디렉터리를 만드는건가요 ? !
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
유익한 강의 잘 들었습니다. 테라 아키텍처를 이전에 소개한 글을 보았을 때 말씀하신대로 대륙단위로 프로세스를 가지고 있었습니다. 그리고 대륙안의 모든 Object가 JobSerialize를 가졌고 쓰레드 별로 복사되어 동기화 되는 World를 가졌던 것으로 기억합니다. C++강의에서 Object별로 JobSerialize를 가지는 Actor모델 구조로 가게될 시, JobSerialize 안전장치 기법과 쓰레드 각각이 World를 가지고 있고 서로 동기화 되는 구조도 같이 소개해 주시면 도움이 많이 될 것 같습니다. 하루 잘 마무리 하세요! (여담으로 아이온은 JobSerialize방식이 아니라고 들었는데 쓰레드들이나 프로세스들로 구분된 지역을 가지고 있는게 아닌가 생각이 드네요.)
제꺼 테스트 결과는 20:48:24.608 [main] INFO com.itemservice.converter.StringToIntegerConverter - convert source=10 20:48:24.657 [main] INFO com.itemservice.converter.IntegerToStringConverter - convert source=10 20:48:24.659 [main] INFO com.itemservice.converter.StringToIpPortConverter - convert source=127.0.0.1:8080 20:48:24.660 [main] INFO com.itemservice.converter.IpPortToStringConverter - convert source=com.itemservice.type.IpPort@59cb0946 -> 이런식으로 찍히거든요? 근데 여기서 궁금한게 저도 초록불이 뜨긴 뜨는데요. 4번째 값이 저렇게 객체로 뜨는게 맞는지 궁금합니다. (당연히 객체로 검증을 했으니 그럴꺼 같지만...) 맞는거 같긴 한데 강의를 보면 강사님 나오시는 그림으로 가려져 있어서 질문올립니다.
강의 4:48초에 나오는 friend std::ostream& operator << (std::ostream &out,const Point &point) { out << point.m_x << point.m_y << point.m_z ; } 여기서 첫번째 파라미터가 point클래스가 아니라서 member function 으로 만들기가 어렵다고 하셨는데 의미를 잘 모르겠어서 구글링하고 생각해봤는데 맞는지 여쭤보고 싶어요 멤버 함수로 만들 수 없는 이유? 를 생각해보면 << 연산자를 호출? 하는게 point 클래스 객체가 아니라서 인가요??
router 6버전을 사용하고 있습니다. 영상에서는 랜딩페이지로 이동하는 것을 props.history.push('/') 로 작성하고 있는데요. 6버전에 맞춰 navigate('/')로 작성하려니 앞에 props를 제거해야 이동되더라구요. 없애도 되는 것인지, 아니면 다른 방법으로 해야하는지 답변 주시면 감사하겠습니다.
강의가 너무 유익해서 시간가는줄 모르고 잘 보고있습니다. 좋은 강의 만들어주셔서 대단히 감사합니다. 하지만 강의를 보다가 이해가 잘 안되는 부분이 있어서 질문 드립니다. 강의시간이 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 버전인데 혹시 관련이 있을까요? 아니면 다른 이유일까요 ㅠㅠ 답변 부탁드립니다. 감사합니다.
안녕하세요. for(int x : T.solution(n, m, a, b)) System.out.print(x+" "); 이런식으로 for문이 도는데 int x 가 어떤걸 기준으로 돌게 되는지 궁금합니다. 여러개의 변수가 넘어가는데 저 x는 어떤걸 기점으로 x가 도는건지 알려주시면 감사하겠습니다.
모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
__enter__의 리턴값은 with Somthing() as f에서 f라는 alias로 받을 수 있습니다. 그런데 __exit__의 리턴값은 어디서 받을 수 있나요? __exit__에서 return True를 없애면 __exit__에서 에러에 대해서 if exc_type:으로 분기처리 했음에도 불구하고 다시 에러가 발생합니다. __exit__에서의 return value를 어디서 받아서 확인하는 것인가요?
공부중에 헷갈려서 질문드립니다. 예를들어 리포지토리에서 서비스나, 컨트롤러를 주입받으면 안되는것은 잘 이해했습니다. 단 같은 계층에서 다른 객체를 주입받는것은 괜찮나요???? 아래가 그 경우입니다. 채팅서비스에서 채팅방을 만드는 메서드가 있습니다. ChatService -> createChatRoom() 이 있습니다. 제가 하고싶은것은 "팀"이 만들어질때마다 "대화방"이 만들어지게 하고싶습니다. teamService -> createTeam()안에서 ChatService의 createChatRoom()을 사용하고 싶은것입니다. 이럴때 TeamService에서 ChatService을 주입받으면 문제될 부분이 있나요? 있다면 어떻게 해결해야하나요?
안녕하세요 열심히 수강하고 있는 수강생 입니다. 현재 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 ( '입력하신 게 맞나요?' ); }