묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
디버깅 모드와 그냥 실행 모드의 결과가 다를 수도 있나요?
vscode로 def __del__ 실습중이었습니다. 소멸자에 print('소멸자 실행!')을 작성하고 del키워드로 객체 하나를 지웠는데 의도한 바로는 소멸자 실행! 이 객체를 하나만 지웠기에 한번만 나오고 car_count가 2가 나오는 것이었습니다. 그러나 해당 print문이 2번 더하여 총 3번이 나오길래 뭘 잘못건드렸는지 싶었습니다. 그래서 디버깅 모드(f5)로 중단점 걸고 살펴보았는데 이번에는 의도한대로 한번만 프린트 되더군요.. 제 생각인데 파이썬 프로그램이 종료되면서 자동적으로 객체가 사라져서 소멸자가 자동으로 나머지 객체 2개도 삭제시켜주어서 그런건가요? 만약 그렇다면 디버깅 모드랑 일반 Run python file in Terminal로 실행시킨 각각의 결과값들이 다를 수도 있나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
5분대에 f11로 확인하면 조사식 1 에서 저에게는 아무런 값도 나오지가 않네요
5분대에 f11로 확인하면 조사식 1 에서 저에게는 아무런 값도 나오지가 않네요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
생성자에 대해서 질문좀요!
C# 에서는 상관없지만 해당 상속 하는것을 유니티에 적용하니 모노비헤이비어를 상속하면 생성자를 두번 실행하는데 이런 경우 유니티에서 강의처럼 base 를 활용할수있는 방법은 없을까요 ??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
선생님 ㅠㅠ 배포 관련 질문있습니다..! 답변부탁드려요 ㅠㅠ
질문이 있습니다. heroku 배포 관련입니다. 꼼꼼히 공부하다보니 이런저런 궁금증이 많이 생기고 추리고 추려 질문해봅니다 ㅠㅠ.. 첫번째로 아래 첫번째 사진과 같이 배포 상태일때 static을 해주는 이유가 궁금합니다. 1. 자바스크립트와 css파일을 꼭 static으로 명시해줘야 heroku가 접근가능한건가요? static은 단순히 URL을 통해 접근할 수 있는 것들을 선언하는 걸로 알고있는데 경우가 다른거같아서요.. 2. 그리고 경로가 현재 서버폴더인데 ../client/bulid 인줄알고있는데 저렇게 해도 되는 이유가 궁금합니다..! 3. 그리고 두번째 사진에서 질문드리면 궁금한게 heroku는 heroku-postbuild 라는 저 script를 보고 저기가 서버폴더라고 인식하는건가요? client와 server 2개의 폴더가 있는데 server 폴더를 인식한게 궁금합니다.. 4. 마지막으로 heroku-postbuild에서 저렇게 선언을 해놓으면 build를 안한 상태로 github에 올려놔도 heroku가 저 스크립트를 실행함으로써 빌드를 하고 그에 맞는 접근을 한다고 이해했는데 맞나요? 그리고 client는 npm install 작업을 해주는데 서버는 왜 선언이 없는지 궁금합니다..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
sessionFactory 관련 질문드립니다!
SessionRef Service::CreateSession() { SessionRef session = _sessionFactory(); session->SetService(shared_from_this()); if (_iocpCore->Register(session) == false) return nullptr; return session; } ----------------------------- using SessionFactory = function<SessionRef(void)>; ------------------------------- _sessionFactory() F12로 진입 _Ret operator()(_Types... _Args) const { if (_Empty()) { _Xbad_function_call(); } const auto _Impl = _Getimpl(); return _Impl->_Do_call(_STD forward<_Types>(_Args)...); } ---------------------------------- 위의 _Getimpl() F12로 진입 _Storage _Mystorage; enum { _EEN_IMPL = _Small_object_num_ptrs - 1 }; // helper for expression evaluator _Ptrt* _Getimpl() const noexcept { // get pointer to object return _Mystorage._Ptrs[_Small_object_num_ptrs - 1]; } ---------------------------------- 강의에서 functional 헤더를 끌고와서 sessionFactory를 사용해주셨는데요! _sessionFactory가 결국 void를 받아서 SessionRef를 리턴해주는 함수인 것은 알겠는데, 메모리 할당이 어떻게 되는건지 모르겠습니다. 애초에 이게 궁금했던 이유가, SendBufferChunkRef SendBufferManager::Pop() 에서 return값으로 주는 SendBufferChunkRef(xnew<SendBufferChunk>(), PushGlobal)과 형태가 달라서였기 때문인데요 chunkref의 경우 xnew로 생성하기 때문에 우리가 설정한 PoolAllocator 정책에 따라 메모리풀에서 가져다 쓸텐데, 위의 SessionRef session의 경우에 우리가 xnew로 호출한 것이 아니라 _sessionFactory()의 리턴값을 넣어주게되는데, 이게 세션팩토리가 메모리를 어떻게 할당하겠다고는 전혀 선언한 바가 없기 때문에 new SessionRef를 하는지 xnew<SessionRef>를 하는지를 모르겠습니다. 아마 그냥 new SessionRef를 할 것 같다고 추측만 하고 있습니다. 어찌어찌 이를 좀 더 알아보기 위해서 GetImpl까지 들어왔고 _MyStorage._Ptrs 를 호출하는것까지는 봤는데 여기서 더 이상 진행이 안 되네요ㅠ 짧은생각에 추측하기로 그냥 new로 때릴 것 같깉한데 _MyStorage._Ptr 에서 끝나버려서 잘 모르겠습니다..! 사실 그냥 new여도 크게 상관은 없어보이는데 복습하다가 잘 이해가 안 가서 질문드렸습니다! 인터넷으로 검색도 해보긴했는데, 제가 뭘 모르는지 모르는 초보 수준이라 c++ function default allocator, std::function return value 이런식으로 찾아봤는데 잘 못 찾겠더라구요ㅠ
-
미해결3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
단축키
삭제된 글입니다
-
미해결팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
움직임
이런식으로 몸이랑 다리부분이 조금씩 어긋나요 맞춰놓으면 다음 모션때 틀어지는게 계속 반복되서 지금 잠깐 멈춰놨어요 어떻게하면 예시처럼 깔끔하게 작업할 수 있을까요?
-
미해결스프링 시큐리티
@PreAuthorize에 사용하는 SpEL 문법에 대해 질문드립니다.
선생님 안녕하세요 @PreAuthorize 에서 사용한 SpEL 문법 사용 원리에 대해 제가 정확하게 이해하고 있는지 확신이 안서서 질문드립니다. 1. 먼저 해당 SpEL 표현에서 account, principal 두가지 변수를 참조하는데 account 앞에만 # 을 붙이는 이유는 aop/method.html 파일 내에서 th:href="@{/preAuthorize(username='user')}" 를 통해 생성된 AccountDto 객체를 참조하기 위해서 인가요? 그렇다면 principal 에 #이 안붙는 이유는 클라이언트가 인증 정보를 가지고 있는 경우 스프링 컨트롤러에서 매개변수를 통해 principal 객체를 가져오도록 지원하는 건가요?? 2. 현재 principal 객체의 클래스는 UsernamePasswordAuthenticationToken 인데 저희 강의에서 사용하는 Account 객체를 담는 토큰이라고 생각하고 있었습니다. 그렇다면 Account 객체의 username 값을 참조하려면 아래 사진의 Evaluate Expression을 통해 확인한 것 처럼 principal.principal.username 으로 표현해야 한다고 생각했습니다. 그래서 SpEL 표현을 principal.principal.username으로 변경하여 테스트 해보았는데 SpEL 문법 예외가 발생하는것을 확인했습니다. 어째서 오직 principal.username로만 username 값에 참조를 할 수 있는지 궁금합니다.. 제가 SpEL 표현법을 완벽히 숙지하지 못해서 이해가 안가는 것 같은데요.. 스프링 시큐리티와 크게 관련된 내용이 아니라서 질문을 드려도 될지는 모르겠지만 SpEL 관련 자료를 열심히 찾아봐도 마땅한 이유를 찾지 못해서 질문드립니다. 좋은 강의 감사합니다.
-
미해결CSS Flex와 Grid 제대로 익히기
max-width
만약 모바일 버전 위주로 코등을 했다면 min-width로 설정해야학 데탑위주로 코등을 했다면 max-width로 설정해야 할까요 ?!
-
미해결팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
질문
20:22 부분 이해가 잘 안가요. 오른쪽에서 메뉴를 찾아보려해도 어디서 5->4로 바꾸고 7->6으로 바꾸는지 못찾겠어요
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
useEffect무한루프
안녕하세요. 수업듣고 있는 한 학생입니다. uploadpage를 만드는데 관리자만 들어갈 수 있게 하고 싶어서 데이터베이스에서 admin이라는 걸 추가하고(default는 0 ) db에 가서 저의 정보에만 admin을 1로 수정하였습니다 그리고 auth페이지에서 uploadpage로 갈때 user.userData.admin이 0이면 관리자가 아님, 1이면 관리자임 으로 뜨게 설 정하고 들어갔는데 userData를 인식 못하길래 useEffect의 두번째 인자에 user.userData를 넣어줫더니 되더군요, 근데 console에 보는 것처럼 계속 랜더링이 되어서 무한루프가 돕니다. 그리고 userData를 인식하기전에는 관리자로 들어가도 관리자가 아니라고 잠시 떳다가 관리자로 바뀝니다. (console에 아무것도 아님) 어떻게 해결할 수 있을까요 ㅠ
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Web socket 으로 open API 사용 문의
만약 채팅이 아니라 할당량이 정해져있는 open API 데이터로 실시간 서비스를 만드면 (예를들어 youtube) 브라우저 종료해서 disconnet 되기전까지 요청은 1번만 가는건가요? 아니면 매회 (핑퐁이나 서버에서 데이터 전달)마다 요청이 매번 가나요? open api가 axios로 데이터를 받아서 사용하는 느낌으로 알고있는데요.. 어떤분은 websocket API가 있다고 하시고 rest api 로 받아야만 하는곳도 있다고 하시고.. 정보가 너무 겹쳐서 헷갈리네요 ㅠㅜ
-
미해결오픈 소스 도구를 활용한 웹 해킹 및 스노트 분석(침해대응)
첨부파일 압축 풀기 오류
안녕하세요 본 강의 수강하고 있는 학생입니다. 강의자료 첨부파일을 다운받았지만 압축풀때 pdf파일이 깨져서 강의 교안을 참고할 수가 없습니다. 무슨 문제있는걸까요?
-
미해결ELK 스택 (ElasticSearch, Logstash, Kibana) 으로 데이터 분석
json 파일 XPOST로 데이터를 입력하는데 왜 이상하게 들어가질까요..??
강사님이 알려주신 명령어와 동일하게 입력했는데도, 데이터가 이상하게 들어갑니다... 그래서 XGET했을때도 이상한 값이 출력되구요... md2_global@DESKTOP-Q1V5J1G:~/elk_stack$ curl -XPOST 'localhost:9200/_bulk?pretty' --data-binary @simple_basketball.json { "took" : 12, "errors" : false, "items" : [ { "index" : { "_index" : "basketball", "_type" : "record", "_id" : "1", "_version" : 27, "result" : "updated", "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "created" : false, "status" : 200 } }, { "index" : { "_index" : "basketball", "_type" : "record", "_id" : "2", "_version" : 3, "result" : "updated", "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "created" : false, "status" : 200 } } ] } md2_global@DESKTOP-Q1V5J1G:~/elk_stack$ curl -XGET localhost:9200/_search?pretty --data-binary @avg_points_aggs.json { "took" : 6, "timed_out" : false, "_shards" : { "total" : 10, "successful" : 10, "failed" : 0 }, "hits" : { "total" : 26, "max_score" : 0.0, "hits" : [ ] }, "aggregations" : { "avg_score" : { "value" : 23.333333333333332 } } }
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이런 식의 풀이법은 맞는건가요?
function solution(need, plan){ let answer = "YES"; let queue = need.split(''); for(let x of plan){ if(queue.includes(x) && queue[0] === x) queue.shift(); } if(queue.length !== 0) answer = "NO"; return answer; }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프 - 기본기능에서 operation.html 오타 있는거 같습니다
operation.html에서 <li>비교 연산 <ul> <li>1 > 10 = <span th:text="1 > 10"></span></li> <li>1 gt 10 = <span th:text="1 gt 10"></span></li> <li>1 >= 10 = <span th:text="1 >= 10"></span></li> <li>1 ge 10 = <span th:text="1 ge 10"></span></li> <li>1 == 1 = <span th:text="1 == 10"></span></li> <li>1 != 1 = <span th:text="1 != 10"></span></li> </ul> </li> 1 == 1 이랑 1 != 1 이 부분에서 span 태그 안에는 1 == 10, 1 != 10 이라 있는데 li 태그에는 1 == 1, 1 != 1 이렇게 적혀 있어요 1 == 10 1 != 10 이거 맞나요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
조현영님
현영님 vue, react 프레임워크를 사용하지 않고 바닐라 자바스크립트로 Nodebird 를 만드는 강좌 같은 건 안나오나요!?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
안녕하세요~질문있습니다.
안녕하세요 제로초님~ 강의에서 동기메서드를 사용한 sync.js와 비동기메서드를 사용한 async.js의 차이가 여러개를 실행했을 때, async.js는 모든 파일들이 동시에 백그라운드로 들어가서 실행되고, 그러나 순서는 지켜진다고 하셨는데요. 그럼 sync.js를 한번실행한것과 async.js를 한번 실행한것은 차이가 없나요? 비동기 메서드를 사용한 1번 2번 3번 4번 함수에서 2번은 1번이 백그라운드에서 처리되고, 테스크큐에서 호출스택으로 갈때까지 호출 스택에 들어가지 못하는게 맞나요??
-
미해결스프링 핵심 원리 - 기본편
롬복에 관해서
롬복 외부라이브러리 추가는 확인 하였고 어노테이션 설정도 했습니다. 그러나 플러그인에서 롬복이 검색자체가 되지 않습니다. 그리고 난뒤에 setAge 메서드 차체가 생기지 않습니다. 어떻게 해결해야 하나요?ㅜ
-
미해결
install launcher 버튼 비활성화ㅠㅠ 올려주신 영상이랑 다른현상이 자꾸 나요ㅜㅜ
설치할때부터 링크예시엔 3.8.2 버전이라고 되어있는데 눌러서 설치하니 3.8.2아니고 3.8.6 버전으로 설치되네요. 그게 달라서 인지 설치부터 ㅁAdd Python 3.8 to PATH 버튼은 활성화 되는데 문제는 그 위에 자동으로 활성화 되어있어야할 ㅁInstall launcher for all user 버튼이 비활성화 되어 체크가 안됩니다. 그상태로 다음단계 넘어가는게 문제인지 모든 설치가 완료되고나서 helloworld.py 를 입력하면 우측하단에 Python extension 설치팝업이 생성되지 않네요ㅜㅜ 다른 에러 창이 뜹니다.