안녕하세요 교수님. 교수님의 12강 강의를 수강 중에 UE의 UObject 메모리 관리에 대해 궁금한 점이 있어 질문 드리게 됐습니다. "UPROPERY 지정을 통해 GC에 의해서 관리되는 UObject가 회수되지 않도록 한다." 라고 저는 이해했는데 맞게 이해한 것일까요? 만약 그렇다면 해당 메모리는 항상 Heap에 잔류한다고 봐도 될까요? 더 이상 필요 없어진 UObject라서 메모리에서 삭제하고 싶다면 어떻게 진행해야 하는 것인지 궁금합니다.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현장강의를 들어야 수업을 따라갈 수 있을것같아요 ㅠ
준비해주신 강의자료 TypeCast.h 153번줄에 있는 선언에 대한 질문입니다. static inline bool CanConvert(int32 from, int32 to) { static TypeConversion conversion; return s_convert[from][to]; } CanConvert 함수안에 있는 TypeConversion 타입의 정적변수 선언이 문법적으로 잘 이해가 가지 않습니다 TypeConversion은 class template이기 때문에 선언할 때 template argument값(=typeList)을 줘야 한다고 생각했습니다. (제가 생각했던 예시) ex) static TypeConversion<TL> conversion; 근데 예시 코드에는 생략하여도 잘 동작해서 관련해서 어떤 문법인지 찾으려고 했는데 찾지 못했습니다 개인적으로 열심히 고민해봤는데 default type이 정해진 경우에 생략이 가능하고 template function에는 인자 값을 통해 추론해 템플릿 인자값을 생략하는 경우도 있었지만 둘 다 해당하지 않는 것 같습니다 TypeConversion<TL>::CanConvert(ptr->_typeId, IndexOf<TL, remove_pointer_t<To>>::value) 를 통해서 이미 template class가 인자 값을 받아서 인스턴트화 했기 때문에 생략이 가능한 것으로 이해해도 괜찮을까요? -수정 Injected-class-name 라는 cpp reference를 찾았습니다 제가 궁굼해 하는게 이게 맞을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 제가 작성한 아래의 코드에서 항상 실제 답보다 1이 작게 나오는데 그 이유를 알 수 있을까요? #include <bits/stdc++.h> using namespace std; int n, m, ny, nx; int dy[] = {-1, 0, 1, 0}; int dx[] = {0, 1, 0, -1}; int mp[51][51]; int dp[51][51]; // 2차원 dp 배열로 수정 // dp[y][x]: 현재 위치에서 최대 몇 번 이동할 수 있는가? int move(int y, int x) { // 이미 계산된 값이 있으면 그 값을 반환 if (dp[y][x] != -1) return dp[y][x]; dp[y][x] = 0; // 이동 불가능한 상태로 설정 (기본값) // 4방향 탐색 for (int i = 0; i < 4; i++) { ny = y + mp[y][x] * dy[i]; nx = x + mp[y][x] * dx[i]; // 오버플로우 처리 및 구멍 처리 if (ny >= n || nx >= m || ny < 0 || nx < 0 || mp[ny][nx] == 0) continue; int ret = move(ny, nx); dp[y][x] = max(dp[y][x], ret + 1); // 현재 위치에서 한 번 이동하고 나서 계산 } return dp[y][x]; } int main() { cin >> n >> m; // 입력 받기 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { char v; cin >> v; if (v == 'H') { mp[i][j] = 0; // 'H'는 구멍이므로 0으로 처리 } else { mp[i][j] = v - '0'; // 숫자는 변환해서 저장 } } } // DP 테이블 초기화 (-1로) memset(dp, -1, sizeof(dp)); // 배열 처리 확인 for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cout << mp[i][j] << " "; cout << dp[i][j] << " "; } cout << "\n"; } // 첫 위치에서 최대 이동 횟수 계산 int result = move(0, 0); cout << result << "\n"; return 0; }
Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
안녕하세요 최근에 Spring MVC 말고도 Spring WebFlux에 대해서도 관심을 가지게 되어 Reactor 공부를 막 시작한 주니어입니다. 해당 강의가 3부까지 기획되어 있는 것으로 강의소개를 봤었습니다. 강사님께서도 무척이나 바쁘시겠지만, 혹시 3부는 언제쯤 오픈할 예정이신지 여쭤봐도 될까요? 강의 잘 보고 있습니다! 감사합니다
안녕하세요 선생님 🙂 한군데 이해가 가지 않는 부분이 있어서 질문드립니다. 아래의 코드는 Check함수에서 init_attack 변수를 설정하여 attack으로 초기화하도 않았을 뿐더러 아예 사용을 하지 않았습니다. 결론부터 말씀드리면 틀렸는데요, 이게 왜 틀린건지 이해가 되지 않습니다. 혹시 call by value인가요? 입력 값에서 용사의 공격력을 이미 입력받았고, 그 공격력을 포션방을 갔을 때 입력받은 용사의 공격력을 증가시키면 된다고 생각했는데요, 이게 왜 안되는걸까요? http://boj.kr/9ca6118540e54a259b26c070a1b20868
http://boj.kr/c5c442d82b24467fbbac115beed3793c 와 같이 저는 배열 [0][0]~[x-1][y-1]이 아니고 배열을 넉넉하게 잡아 [0][0][0][0][0][0][0] [0] // 사용 ______ _[0] [0] _____________ _[0] [0] _____________ _[0] [0]_____________ _[0] [0]_____________ _[0] [0][0][0][0][0][0][0] 과 같은 형태로 [1][1] ~ [x][y] 까지 활용을 했는데요. 문제가 메모리를 정말 타이트하게 잡지 않는 이상 선생님께서 말씀하신 범위체크하고 위 방법은 취향 차이라고 보면 될까요?
안녕하세요. 우선 강사님, 좋은 강의 잘 듣고 있습니다. [섹션 5. Template Variable > Airflow 날짜개념] 강의 관련하여 질문 드립니다. Airflow 2.10.0 버전 사용 중이며, 강의와 같이 테스트를 진행하였는데, data_interval_start이 이전 배치일이 아닌 배치일로 나와서 문의드립니다. DAG의 start_date를 2024년 9월 1일로 설정 후 소급 처리하였습니다. 아래와 같이 dag_run이 배치일일텐데, 왜 data_interval_start가 이전 배치일(2024.08.31)이 아닌 배치일로 나올까요? ' dag_run ': <DagRun dags_python_show_templates @ 2024-09-01 00:30:00 +00:00: scheduled__2024-09-01T00:30:00+00:00, state:running, queued_at: 2024-09-06 09:11:26.187022+00:00. externally triggered: False>, ' data_interval_end ': DateTime(2024, 9, 2, 0, 30, 0, tzinfo=Timezone('UTC')), ' data_interval_start ': DateTime(2024, 9, 1, 0, 30, 0, tzinfo=Timezone('UTC')), 'ds': '2024-09-01',
Super Vidalista has gained attention for its ability to tackle two of the most common sexual health issues faced by men—erectile dysfunction (ED) and premature ejaculation (PE). This dual-action medication combines two key active ingredients: Tadalafil and Dapoxetine, which together provide a comprehensive approach to improving sexual performance and overall satisfaction. Understanding the benefits of Super Vidalista can help men regain confidence and enhance their intimate relationships. How Super Vidalista Works Super Vidalista contains 20 mg of Tadalafil and 60 mg of Dapoxetine. These two components work in different but complementary ways. Tadalafil, a phosphodiesterase type 5 (PDE5) inhibitor, is responsible for improving blood flow to the penis. It relaxes the blood vessels, allowing more blood to enter during sexual stimulation, which results in a firmer, longer-lasting erection. Tadalafil’s effects can last up to 36 hours, earning it the nickname “the weekend pill.” This prolonged effectiveness allows men more flexibility in choosing the right time for intimacy, without the pressure of timing their medication perfectly. Dapoxetine, on the other hand, is a selective serotonin reuptake inhibitor (SSRI) that is specifically designed to treat premature ejaculation. It increases serotonin activity in the brain, which can delay ejaculation and extend the duration of sexual activity. By combining these two ingredients, Super Vidalista provides a dual-action solution for men who face both ED and PE, a common co-occurrence. Benefits of Super Vidalista for Sexual Health Improved Erectile Function Erectile dysfunction can have a profound impact on a man’s self-esteem and relationships. By helping men achieve and maintain an erection, Super Vidalista restores confidence in sexual performance. Tadalafil works by increasing blood flow, which is essential for a strong erection. Men who struggle with the ability to maintain an erection long enough for satisfying sexual intercourse can greatly benefit from this. Prolonged Sexual Activity Premature ejaculation is another concern that can lead to frustration and anxiety in intimate relationships. Dapoxetine, the second key ingredient in Super Vidalista, helps men take control of their ejaculation timing, allowing for longer-lasting sexual experiences. This can significantly improve satisfaction for both partners. Enhanced Intimacy and Emotional Well-Being Sexual performance issues such as ED and PE can create stress and tension in relationships. Super Vidalista addresses these problems, leading to a more satisfying sexual experience for both partners. By helping men regain control over their sexual health, the medication can improve emotional intimacy, strengthen bonds, and reduce performance-related anxiety. Convenient Dual Therapy One of the standout benefits of Super Vidalista is its combination of two treatments in a single pill. Men no longer need to take separate medications for ED and PE, which simplifies the treatment process. This dual-action therapy offers convenience and efficiency, particularly for men who struggle with both conditions. Long-Lasting Effects Tadalafil’s long half-life means that the effects of Super Vidalista can last up to 36 hours. This offers men more freedom in their sexual lives, removing the need for last-minute planning or worrying about the medication wearing off too quickly. The long-lasting effects allow for more spontaneous intimacy, further reducing stress and enhancing enjoyment. Boosted Confidence and Reduced Anxiety Sexual health issues often lead to feelings of inadequacy, low self-esteem, and anxiety. By addressing both erectile dysfunction and premature ejaculation, Super Vidalista helps men regain control of their sexual function. This can lead to a significant boost in confidence, which often extends beyond the bedroom and into other areas of life. Conclusion Super Vidalista offers a comprehensive solution for men who experience both erectile dysfunction and premature ejaculation. With its unique combination of Tadalafil and Dapoxetine, it improves erectile function, prolongs sexual activity, and enhances overall sexual satisfaction. For men who face the dual challenge of ED and PE, Super Vidalista can be a life-changing medication, helping them regain confidence, improve intimate relationships, and enjoy a more fulfilling sexual experience. Its long-lasting effects and dual-action formula make it a convenient and effective option for men looking to enhance their sexual health and well-being.
본문제목 그대로 워크 벤치 이용할 때, 항상 패스워드를 입력한 후 활성화 되는 것으로 알고 있었는데, 현재 패스워드 입력 안하고 그냥 클릭만 해도 활성화됩니다. 보안상으로 좋지 않은 것 같은데, 혹시 이런 경우 어떻게 변경이 가능할까요? 오랜만에 mysql을 공부하는데 몇년 전에는 항상 패스워드 입력했던 것 같은데 이번에 새로 깔아보니 패스워드 입력 안해도 실행이 되어 불안합니다. 참고로 저는 맥 환경에서 사용하고 있습니다.
안녕하세요 선생님, 강의 정말 잘 듣고 있습니다. 2장의 내용을 복습하다가 궁금한 점이 생겼어요 여러개의 자식 프로세스를 사용하는 것과 멀티스레드를 사용하는 것의 목적이 서로 상이할까요? 아파치의 woker mpm 방식의 경우에는 자식 프로세스도 여러 개 생성하고 각각의 자식 프로세스들이 멀티 스레드 방식을 사용하고 있어서요... 어떤 이점을 취할 수 있는 경우에 자식 프로세스를 혹은 멀티 스레드를 선택하는 건가요? 제가 생각하기로 멀티스레드만을 사용할 경우에는 비교적 메모리 리소스를 효율적으로 사용할 수 있지만, 가용성을 위해 여러 대의 서버 장비를 두어야 하고 자식 프로세스가 많을 경우 한 서버의 자원은 많이 먹지만 하나의 장비 내 가용성이 높아지지 않을까 추측하고 있습니다...
nuxt 최신버전 설치 후 layouts 없어서 직접 폴더 생성 후 문제인데요. error.vue 는 문제없이 실행되는데 default.vue 생성시 pages에 있는 내용은 하나도 안나오고 default.vue에 있는 내용만 똑같이 나오는 현상이 나옵니다. default.vue 내용만 나옴 default.vue 삭제시
UObject 를 상속한 멤버이기 때문에 가비지 콜렉터로 관리가 되는 건지, 아니면 TObjectPtr<> 로 인해 가비지 콜렉터로 관리되는 건지 궁금합니다. 멤버가 TObjectPtr<UObject>이 아닌 UObject* 타입으로 되있을 때도 가비지 콜렉터가 작동되서 UPROPERTY() 를 붙이지 않는 한 자동으로 지워지는 건가요??