[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: AWS로 시작하는 서버 운영
안녕하세요. 현재 파트6 수강중인 대학교 4학년 컴공 학생입니다. 현재 졸업작품으로 안드로이드 개발 팀활동 중 db에 능통한 친구가 혹시 시간 있으면 aws을 좀 배워서 자신을 보조하면 나중에 팀활동 경력으로 도움이 되지 않겠냐며 의견을 내서 고민 중에 있는데요. 취업할때 팀활동 경력이 중요한데 이 강좌를 구매해서 aws을 이용한 개발에 시간을 투자한다면 도움이 많이 될까요? 여건상 취업전 팀활동을 하기에는 이 프로젝트가 마지막일 것 같습니다. 파트6부터 꾸준히 9까지 수강하고 게임 개발 개인 프로젝트 준비에 시간을 100% 투자할지, 아니면 팀활동 경력을 위해 한 50% 이상을 투자할지 고민입니다. 프로젝트는 여름방학 전까진 다 끝날 것 같네요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 강의를 보고 코드를 작성하고 제출했는데 오류가 나서 찾던 중에 int j =0;의 위치로 정답/실패로 뜨는 것을 발견하였습니다. 제 눈에는 둘 다 똑같아 보이는데 어떤 점 때문에 정답과 실패로 나뉘는지 찾기 어려워서 질문 올리게 되었습니다. 그리고 arr.add할 때 왜 객체를 생성해서 넣어야하는지도 궁금합니다. ------------------------------------------------------------- [질문 정리] 1. int j =0 순서에 따른 결과 다름의 이유 2. arr.add(new Lecture(m, d)); 처럼 객체를 생성해서 넣어야하는 이유 --------------------------------------------------------------- 코드 첨부 하겠습니다.(실패 코드) - 다른 부분은 선생님 코드와 동일 여기서 해당 부분을 위로 올리면 정답이 되었습니다..... 정답코드 2. 객체 생성
안녕하세요. 41강 영상 13분 부분을 직접 실습해 보면 abcd, abca, abcb, abcc, bbaa, bcab, bdab <--data1 오토컴플리트텍스트뷰 창에 a를 입력했을 때 자동완성으로 뜬 것을 클릭하면 textView2 창에 제대로 된 데이타가 뜹니다. 하지만 b를 입력했을 때 자동완성으로 뜬 것을 클릭하면 엉뚱한 것이 뜹니다. 아마도 b를 입력한 상태에서 뜨는자동완성 리스트 중 첫번째인 bbaa를 포지션 0 값으로 넘겨주기 때문에 발생하는 문제 같습니다. 그렇기 때문에 단순히 data1[position]을 하게 되면 원래 data1의 첫번째인 abcd가 화면에 나오게 되네요. (여기서는 bbaa가 떠야되는데 말입니다) 아마도 OnItemClickListener 인터페이스를 구현하는 과정에서 onItemClick 메서드에 position 값으로 넘어오는 값의 문제 같은데, 이를 해결하는 방법이 없을까요?
%time clean_train_reviews = apply_by_multiprocessing(\ train['review'], review_to_words, workers=4) 3시간동안 기다렸는데도 결과가 안나올정도로 너무 오래걸려서 .. 지금 어떻게 해야할지 고민입니다. ㅠ
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
// 스택 프레임 [ 지역변수 ] a가 함수가 종료되면서 없어지는데 함수 반환을 지역변수 a의 주소값으로 하고 있다. int* TestPtr() { int a = 3; return &a; } // TestWrong() 함수가 호출되면서 다시 한번 스택프레임이 쌓이는데 이때 그전에 사용되고 반납됐던, TestPtr() 스택프레임 부분이 재사용되게 되고, // a[0] ~ a[99] 까지 100개의 int(4byte)가 스택프레임 [지역변수] 에 쌓이고 [매개변수]로 받은 ptr이 가리키는 값을 다시한번 0x12341234로 수정한다. void TestWrong(int* ptr) { int a[100] = {}; a[99] = 0xAAAAAAAA; *ptr = 0x12341234; } int main() { // TestPtr() 스택프레임의 지역변수 a의 주소를 리턴받고 int* ptr = TestPtr(); // TestPtr 호출이 종료되면서 스택프레임에 있는 a의 주소 값이 유효하지 않게 되는데, 엄밀히 말하면 메모리 입장에서는 사라지는게 아니고 스택프레임 관리 차원에서 esp를 땡겨주는것이기 때문에 // ptr에 담긴 값을 수정할 수 있다. ( 이 자체만으로도 치명적인 문제! 하지만 디버깅에 문제없이 작동된다. ) *ptr = 123; TestWrong(ptr); return 0; } 제가 이해가 안가는 부분은 *ptr = 0x12341234; 가 디버깅 단계에서 오류가 나는 부분입니다. TestPtr() 이 사용했던 스택프레임을 재사용하다 운이 나빠 ptr의 주소가 TestWrong() 스택프레임의 지역변수 a배열 마지막 a[99] 다음인 ( a[99] + 1 ) 에 있다고 하더라도 그 ptr을 수정하는게 TestWrong() 스택프레임과 관련이 없는거 아닌가요? 마치 main 함수 내에서 유효하지 않더라도 *ptr = 123; 을 수정했던것처럼요. 제가 놓치고 있는 부분이 있을까요? 계속 고민해도 갈피가 잡히질 않네요..
안녕하세요. 강의코드중 궁금한게 몇가지 있어서 질문드립니다. 1. add_edit_note_screen.dart 파일에서 param 값인 selected와 color를 콘솔에 찍어보면 한번 클릭시 여러번의 로그가 쌓이는데요.. 색상 변경시 _buildBadkgroundColor() 함수가 여러번 호출이 되어서 그런건지 color의 갯수만큼 로그가 찍히는데요..정상인건가요? 2. 다른 강의에서도 설명해주신 내용으로 자체 개발을 진행해보고 있는데요.. di/ provider_setup.dart 파일을 구성할때 가령 msa 구조로 product, order 이렇게 모듈로 나누어져 있고 product 모듈에서 쓰는 여러 api 및 use_case, order에서 쓰는 여러 api 및 use_case가 있을텐데요.. 이렇게 앱이 규모가 커졌을때 provider_setup 파일에 각 모듈에 해당하는 productAPI 및 use_case를 다 정의해줘야 하는지 아니면 다른 방법이 있는지 궁금합니다. ProxyProvider <http.Client , PixabayApi>( update: (context , client , _) => PixabayApi (client) , ) , ProxyProvider <PixabayApi , PhotoApiRepository>( update: (context , api , _) => PhotoApiRepositoryImpl (api) , ) , ProxyProvider <PhotoApiRepository , GetPhotosUseCase>( update: (context , repository , _) => GetPhotosUseCase (repository) , ) , 이전에 이렇게 pixabayapi 및 use_case가 1개라 위와 같이 선언이 되었는데요.. pixabayapi 외에도 또 다른 productapi, orderapi 가 존재하는 경우, 그리고 각 product 모듈내에 GetPhotoUseCase 처럼 하나가 아닌 여러 useCase가 존재할때 같은 방식으로 각 useCase별로 여러번 위와 같이 선언을 해야 하나요? ProxyProvider <http.Client , PixabayApi>( update: (context , client , _) => PixabayApi (client) , ) , ProxyProvider <PhotoApiRepository , GetPhotosUseCase>( update: (context , repository , _) => GetPhotosUseCase (repository) , ) , //product API ProxyProvider <http.Client , ProductApi>( update: (context , client , _) => ProductApi (client) , ) , //여러개 use case일때?????? ProxyProvider <ProductApiRepository , GetProductUseCase>( update: (context , repository , _) => GetProductUseCase(repository) , ) , ProxyProvider <ProductApiRepository, GetProductDetailUseCase>( update: (context, repository, _) => GetProductDetailUseCase(repository) , ), ProxyProvider <ProductApiRepository, UpdateProductDetailUseCase>( update: (context, repository, _) => UpdateProductDetailUseCase(repository) , ), .... usecase별로 다 생성이 필요한거죠???
안녕하세요! passport/index.ts에서 에러가 발생합니다. 공지사항에 남겨주신 부분 참고해서 types/index.d.ts에 추가도 하였는데 에디터에는 에러가 발생하지 않고 nodemon으로 실행을 하니 에러가 발생합니다. 다른 질문들 찾아보니 npx tsx --noEmit 이 있어서 해봤더니 이 명령어에서는 에러가 발생하지 않습니다. 아래는 에러 및 코드 입니다!
안녕하세요 강의 수강 후 질문드립니다. 마지막 모듈화까지 완료 후 개인적으로 서버에 뿌려보려고 시도 중인데, npm run build를 하니 dist 폴더에 build.js, build.js.map을 제외한 파일(index.html, /css 등)은 들어오지 않아서요. 빌드가 제대로 안 되고 있는 거 같아 질문 드립니다...
[질문 전 답변] 1. 강의 내용과 관련된 질문인가요? [예 | 아니요] 강의를 들으면서 궁금한점이 생긴거라서 애매하네요. (아니요) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] (예) 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] (https://www.inflearn.com/blogs/1719) (예) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. [질문 하기] 수강을 하고나서, 직접 쿠버네티스를 구축하면서 운영환경에 대해서 궁금한점이 생겨서 문의를 드립니다. 1.dev서버를 한번 git repository에 push하면 자동 테스트, 배포 해서 dev서버에 반영되게 하고, production서버는 마지막 배포할때 운영자가 확인하여, 수동으로 배포하기 버튼 눌러주는 방식으로 구현하고자 하는데, 실무에서는 어떤식으로 자동화가 되어있는지, 어떤부분이 메뉴얼하게 되어있는지 궁금합니다. ———————————————————— 2. 그라파나나 프로메테우스, 도커 이미지 저장소(Harbor), 차트 저장소, istio, jaeger, efk 같은 스택이 있을때, 각각 도메인을 줘서 사용하는지, (ex - harbor.test.com)아니면 ip주소를 치고 들어가는지(Nodeport로 필요할때마다) 아무도 못들어가게 막혀있는지 궁금합니다 .( 권한을 부여해야 들어갈수 있다거나 ) 읽어주셔서 감사합니다.
강의 중 궁금한 것이 있습니다 .(10:22 관련) useLocalStore로 감싼 객체리터럴 중 메소드를 action으로 감쌌을 때 { name: '', onChangeName: action((e)=>{ this.name = e.target.value; }) } this가 어째서 익명함수를 사용했을 때는 작동하고, 화살표함수로 했을 때는 작동을 안하는지 이해가 잘 안됩니다. 만약 action함수가 this를 바꾼다면.. 오히려 화살표함수의 this가 바깥의 객체로 bind 되니까 작동해야하고 익명함수의 this는 action으로 바뀌니까 작동을 안해야하는것 아닌지요?? 화살표함수는 this문제를 해결하기 위해 나온것으로 알고 있는데.. 화살표함수는 프로토타입이 존재하지 않는다라는 말을 들어서 그 특성과 연관이 되어있는지요???
안녕하세요. 강의 도중 깊은 복사와 얕은 복사의 개념이 서로 바뀌어 설명 된것 같아서 글을 남깁니다. 얕은 복사 = 메모리 공유 깊은 복사= 각기 다른 메모리 주소를 가지되 내용을 복사 pandas copy 메소드의 기본 사용의 경우 깊은 복사 개념으로 보입니다. 만약 copy(deep=False) 을 주고 메소드 실행 시만 얕은 복사로 생각 됩니다.
안녕하세요! Helm을 본격적으로 공부하다가 궁금한점이 있어서 글을 작성합니다. 예를들어 한 회사에서 aaaa.com, bbbb.com 라는 도메인이 있을때 -------------------------------------------- 1-1. 도메인 별로 Helm 폴더를 나누는것이 맞을까요? /mychart_1 ㄴ/aaaa /mychart_2 ㄴ/bbbb 아니면 모노레포로 /mychart ㄴ/bbbb ㄴ/template ㄴvalue.yaml ㄴ chart.yaml ㄴ/aaaa ㄴ/template ㄴvalue.yaml ㄴ chart.yaml 이런식으로 같이 관리해도 좋을까요? 1-2. 그 외에도, prometheus, grafana, istio, argocd, harbor 등을 helm chart로 관리한다고 할때, 상단의 폴더와 함께 관리,또는 따로 관리하는것 어떤것이 좋을까요? /mychart ㄴ/bbbb ㄴ/aaaa ㄴ/prometheus ㄴ/grafana .... ㄴ/harbor or /mychart_1 ㄴ/bbbb ㄴ/aaaa /mychart2 ㄴ/prometheus ㄴ/grafana .... ㄴ/harbor 1-3. 모노레포로 한 파일에 여러 차트를 만드는것과, dependency를 줘서 자식 chart로 관리하는것은 어떤 차이가 있을까요? 사실 dependency 를 어떤식으로 사용을 해야할지 , 필요성에 대해서 아직 이해를 못하였습니다 . 긴글 읽어주셔서 감사합니다.