묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
검증용 데이터 분리시
y = (y_train['income'] == '>50K').astype(int) 이렇게 하면 50k 보다 큰 값에서는 1이 나오는데, 만약 3개의 값으로 나오게 하려면 어떻게 해야하나요? (0, 1, 2) 등등 그리고 윗 코딩대로 진행하면 <=50k 는 자동적으로 0이 되는건가요? 이유가 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
스핀락이 올바르게 작동하지 않는 것 같습니다.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ServerCore { class SpinLock { volatile int _locked = 0; // true: 잠겨있음, false: 잠겨있지 않음 public void Acquire() { while(true) { ////Interlocked.Exchange의 반환값은 원래값이다. //int original = Interlocked.Exchange(ref _locked, 1); ////original == 0이면 잠금 성공, original == 1이면 잠금 실패 //if (original == 0) //{ // //내꺼 // break; //} //CAS (Compare-And-Swap) 함수라고 한다. int expected = 0; int desired = 1; if(Interlocked.CompareExchange(ref _locked, desired, expected) == expected) { break; } } } public void Release() { //잠김을 푼다. _locked = 0; } } class Program { static int _num = 0; static SpinLock _lock = new SpinLock(); static void Thread_1() { for (int i = 0; i < 1000000; i++) { _lock.Acquire(); _num++; _lock.Release(); } } static void Thread_2() { for (int i = 0; i < 1000000; i++) { _lock.Acquire(); _num--; _lock.Release(); } } static void Main(string[] args) { Task task = new Task(Thread_1); Task task2 = new Task(Thread_2); task.Start(); task2.Start(); task.Wait(); Console.WriteLine(_num); } } } 다음과 같이 작업 후 디버깅해보았는데 결과값이 때로는 맛이 간 값을 출력합니다.제시된 코드와 같은 것 같은데 이유를 모르겠습니다!그리고 다음과 같은 상황일 때 어떻게 브레이크포인트를 잡아서 버그수정을 시도해야 할 지 감이 안잡힙니다ㅠㅠ
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
[18장] HW 시뮬레이션 오류
안녕하세요. 강의 재미있게 잘 듣고 있습니다. 18장에서 HW 시뮬레이션이 잘 끝난 것으로 보이는데, 결과 파일 rtl_v_result.txt에는 곱셈결과가 4096개 모두 x x 로 출력되네요. 혹시 어떤 문제일까요? 감사합니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
[id].tsx 서버사이트 호출시 2회씩 되는데요 ㅠㅠ
안녕하세요.[id].tsx 소스인데요 .. fetch를 2씩 호출되는 걸까요? ㅠ2번째 호출될때는 id 값에 undefinded 로 되어서 페이지 오류가 발생됩니다 ㅠㅠ뭐가 잘못 된것일까요?캡쳐 보내드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Ajax request url 에러
My페이지를 개발하고 있습니다 (세션있음 id, 가입일 등등)Delete 쿼리만 ajax로 요청한 url이 콘솔창로 보면 제가 넣지않은 uri가 추가되어 나오고 404에러가 뜨는데 어떡하나요eclipse에서는 403에러로 뜹니다분명 컨트롤러 Postmapping 어노테이션 url과 전혀 다른게 없었습니다Delete 쿼리만 안되네요아니면 f12에서 원인 찾는법 알려주시면 감사하겠습니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 git bash로 빌드하고 실행할때 뜨는 에러(자바경로 위치관련에러)
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.Please set the JAVA_HOME variable in your environment to match thelocation of your Java installation. 라고 뜨는데 따로 인텔리제이 설치하며 자바는 따로 설치 안했어요어떻게 하면 좋을까요??
-
미해결데이터 드리븐 그로스 마케팅 - 고객 중심의 문제 해결력 업그레이드
안녕하세요 수강평 등록했습니다
안녕하세요 수강평 등록했습니다!강의 교안 및 a/b 테스트 문서 공유해주시면 감사하겠습니다메일은 catch_ur_b@naver.com 입니다.앞으로도 좋은 강의들 기대하겠습니다 ^^
-
해결됨[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
Radzen 설치 관련해서 오류가납니다.
위코드가 app.razor 이고위와같이 오류가나는데 어디가 잘못됬는지 모르겠어요https://blazor.radzen.com/get-started?theme=material3
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
Instantiate 관련 질문 드립니다
GameObject Instantiate(string key, Transform parent = null, bool pooling = false) 함수에서 GameObject prefab = Load<GameObject>($"{key}"); 이 부분에 Load<GameObject>(key)가 계속 null이 반환 되는데 왜 그런걸까요 나머진 전부 똑같이 했고 어드레서블에 넣은 프리팹만 제가 아무 오브젝트나 이름만 바꿔서 프리팹으로 만든 뒤에 넣은거 말곤 차이가 없는데 이게 차이가 있는걸까요
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
강의자료
안녕하세요.이 강의 수강신청 전 강의자료 문의 올렸었는데 답변 달아주신 거 보았습니다.^^물론 실습 위주고, 머릿속에 다 넣는 것이 가장 중요하지만추후에 어떤 형태라도 강의 자료 올려주신다면 더 도움이 될 것 같아 조심스럽게 요청드려봅니다.!최선 다해 들어보겠습니다.감사합니다.
-
미해결BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
[인프런 빅쿼리 빠짝스터디 2주차 과제] 윈도우 함수 연습문제
🔐 이번주차 중요 키워드 : 윈도우 함수, FRAME, QUALIFY ✅ 윈도우 함수 연습문제 1번1) 사용자별 쿼리를 실행한 총 횟수를 구하는 쿼리 작성 단, group by를 사용해서 집계하는 것이 아닌 query_logs의 데이터 우측에 새로운 컬럼을 만들어주세요. select *, count(query_date) over (partition by user) as query_cnt from advanced.query_logs order by query_cnt desc ✅ 윈도우 함수 연습문제 2번2) 주차별로 팀 내에서 쿼리를 많이 실행한 수 구하기 2-1) 실행한 수를 활용해 랭킹 구하기 -- 단, 랭킹이 1등인 사람만 결과가 보이도록 해주세요. week_number | team | user | query_cnt | team_rank select * , rank() over(partition by week_number, team order by query_cnt) as team_rank from ( select EXTRACT(week FROM query_date) as week_number, team, user, count(query_date) as query_cnt from advanced.query_logs group by all ) qualify team_rank = 1 order by week_number, team, query_cnt DESC ❗ 새롭게 알게된 함수 : EXTRACT(week FROM query_date) as week_number → 기존의 알고 있던 함수와 같은 결과값 : DATE_TRUNC(query_date, WEEK) AS week_number❗ qualify team_rank = 1 : QUALIFY 덕분에 서브쿼리 없이 바로 조건에 사용가능함! ✅ 윈도우 함수 연습문제 3번3) (2번 문제에서 사용한 주차별 쿼리 사용) 쿼리를 실행한 시점 기준 1주전에 쿼리 실행 수를 별도의 컬럼으로 확인할 수 있는 쿼리 작성 select * , LAG(query_cnt, 1) over (partition by user order by week_number) as pre_week_query_cnt from ( select EXTRACT(week FROM query_date) as week_number, team, user, count(query_date) as query_cnt from advanced.query_logs group by all ) ✅ 윈도우 함수 연습문제 4번4) 시간의 흐름에 따라, 일자별로 유저가 실행한 누적 쿼리수 작성 ## FRAME의 default값은 UNBOUNDED PRECEDING AND CURRENT ROW with query_cnt_by_team as ( select EXTRACT(week FROM query_date) as week_number, team, user, query_date, count(query_date) as query_cnt from advanced.query_logs group by all ) select *, sum(query_cnt) over (partition by user order by query_date ASC) as cumulative_SUM1, sum(query_cnt) over (partition by user order by query_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as cumulative_SUM2, from query_cnt_by_team ❗FRAME의 default값은 UNBOUNDED PRECEDING AND CURRENT ROW✅ 윈도우 함수 연습문제 5번) 주무횟수 데이터에서 주문횟수가 없으면 NULL로 기록됨. 이런 데이터에서 NULL값이라고 되어있는 부분을 바로 이전 날짜의 값으로 채워주는 쿼리 WITH raw_data AS ( SELECT DATE '2024-05-01' AS date, 15 AS number_of_orders UNION ALL SELECT DATE '2024-05-02', 13 UNION ALL SELECT DATE '2024-05-03', NULL UNION ALL SELECT DATE '2024-05-04', 16 UNION ALL SELECT DATE '2024-05-05', NULL UNION ALL SELECT DATE '2024-05-06', 18 UNION ALL SELECT DATE '2024-05-07', 20 UNION ALL SELECT DATE '2024-05-08', NULL UNION ALL SELECT DATE '2024-05-09', 13 UNION ALL SELECT DATE '2024-05-10', 14 UNION ALL SELECT DATE '2024-05-11', NULL UNION ALL SELECT DATE '2024-05-12', NULL ) select * , ifnull(number_of_orders, LAST_VALUE(number_of_orders IGNORE NULLS) over(order by date)) as filled_orders from raw_data -- 조건절 ifnull 사용할 수 있음. -- LAG()를 사용하면 마지막 NULL값인 경우 채우는 값도 NULL! -- 그렇기 떄문에, LAST_VALUE()인데, NULL은 무시하라는 IGNORE NULLS! ❗️LAST_VALUE에서 IGNORE NULLS 안하면 값은 NULL✅ 윈도우 함수 연습문제 6번6) NULL을 채운후, 2일전 ~ 현재 데이터의 평균 (이동평균) WITH raw_data AS ( SELECT DATE '2024-05-01' AS date, 15 AS number_of_orders UNION ALL SELECT DATE '2024-05-02', 13 UNION ALL SELECT DATE '2024-05-03', NULL UNION ALL SELECT DATE '2024-05-04', 16 UNION ALL SELECT DATE '2024-05-05', NULL UNION ALL SELECT DATE '2024-05-06', 18 UNION ALL SELECT DATE '2024-05-07', 20 UNION ALL SELECT DATE '2024-05-08', NULL UNION ALL SELECT DATE '2024-05-09', 13 UNION ALL SELECT DATE '2024-05-10', 14 UNION ALL SELECT DATE '2024-05-11', NULL UNION ALL SELECT DATE '2024-05-12', NULL ) select * , AVG(filled_orders) over (order by date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS avg_orders from ( select * , ifnull(number_of_orders, LAST_VALUE(number_of_orders IGNORE NULLS) over(order by date)) as filled_orders from raw_data ) ✅ 윈도우 함수 연습문제 7번7) app_logs 테이블에서 custom_session을 만들어 주세요:) 이전 이벤트 로그와 20초가 지나면 새로운 session을 만들어 주세요. event_date | event_timestamp | event_datetime | evnet_name | user_id | user_pseudo_id | before_event_datetime | second_diff | session_start | session_id with base as ( select event_date, DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') as event_time, event_name, user_id, user_pseudo_id, from advanced.app_logs where event_date = "2022-08-18" and user_pseudo_id = "1997494153.8491999091" order by event_timestamp ) select *, sum(session_start) over (partition by user_pseudo_id order by event_time) as session_num from ( select *, CASE WHEN before_event_datetime IS NULL THEN 1 WHEN second_diff >=20 THEN 1 ELSE 0 END AS session_start from ( select *, DATETIME_DIFF(event_time, before_event_datetime, SECOND) AS second_diff from ( select *, LAG(event_time,1) over (partition by user_pseudo_id order by event_time) as before_event_datetime from base order by event_time ) ) ) ❗새롭게 알게 된 함수 DATETIME_DIFF : 처음에 날짜-시간 차이를 단순히 (-)로만 생각했다가 잘못된 결과 도출 → DATETIME_DIFF 함수로 정답도출!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-M 질문있습니다 :)
안녕하세요 선생님 🙂 문제에서 이해가 되지 않는 부분이 있어서 질문 드립니다. 2중 for문에서 i = 0, j = 0, j < i 라는 조건이 있다면 i = 1로 해도 되지 않을까 싶어서 1로 했더니 cnt배열의 값들이 전부 틀어져버리더라구요. 아래의 코드를for (int i = 0; i < N; i++) { mx = 0; for (int j = 0; j < i; j++) { 아래와 같이 변경해봤습니다.for (int i = 1; i < N; i++) { mx = 0; for (int j = 0; j < i; j++) { 결과값이 다른 이유가 무엇때문인지 잘 모르겠습니다. 조언 부탁드립니다 🙂
-
미해결Verilog ZYNQ Program 1 (Zynq mini 7020)
PYNQ보드로도 예제 실행이 가능한지요?
안녕하세요.인프런 예제 실행해보고 있는데... 자꾸 문제가 생겨 여쭙고자 연락드립니다.zynq mini 7020보드를 기준으로 설명해주셨는데, pynq z1보드에서 ch_05예제를 실행해보고자 합니다.예제 실행 시 오류는 발생하지 않으나 실행이 되지 않습니다.Zynq mini 7020보드와 pynq z1보드의 차이를 찾아보아도 설정 상(zynq코어, ddr 등) 큰 차이가 없어보이는데... 혹시 다른 문제가 있는건지요.계속 찾아보고 수정해보고 있지만 입문자라 잘 안 됩니다... 혹시 추가로 고려해야될 사항이 있을까요?감사합니다.
-
미해결Atlassian Jira & Confluence 관리자 교육 (Cloud 버전)
12번 강의 관련 질문있습니다!
안녕하세요 강사님해결책 관련해서 강의를 진행하다가 실수로 몇개를 지웠는데 해결책이 자동으로 생성되지 않게 되었습니다.혹시 자동으로 될까 싶어서 다시 추가하려고 했는데 어떤 값이 들어가야 하는지 모르겠습니다 이거 복구.... 가능할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
7회 기출유형(작업형3)
7회 기출유형(작업형3)에서 상관계수 구하는 문제, ERP와 각 변수 사이의 상관계수 계산이면 ERP 자기자신(상관계수 1)은 빼고 다른 변수들하고만을 말하는걸까요?
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
[P11726 2*N 타일채우기] top down 방식을 사용하니 런타임 에러가 발생합니다.
top down 방식을 사용하니 런타임 에러가 발생합니다. 이 문제는 bottom up으로만 풀어야하나요? 런타임 에러가 난 이유는 무엇일까요? import java.util.Scanner; public class Main { static long[] D; public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); D = new long[n+1]; for(int i = 0 ; i < n+1 ; i++){ D[i] =-1; } D[1] =1; D[2] =2; long result = DP(n); System.out.println(result); } public static long DP(int n){ if(D[n] != -1){ return D[n]; } return D[n] = (DP(n-1) + DP(n-2)) % 10007; } }
-
해결됨김영한의 실전 자바 - 중급 2편
직접 구현하는 set1 - MyHashSet 코드 구현 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. MyHashSetV1 복습 할 겸 코드를 안보고, 만들고 있었습니다.그런데 계속 하다 보니, 코드를이런 코드 방식으로 하게 되는 데요.영한님 코드를 보니buckets[hashIndex] 에서 새로운 인스턴스 bucket을 만들어서 하시는 것을 보게 되는 데요. 이럴 때 에는 영한님의 코드를 보면서 고치고, 습관이 바껴질 때까지 코드를 치는게? 낳은가요? 아니면 저가 하는 코드 방식?if(buckets[hashIndex].contains(value)),buckets[hashIndex].add(value);이렇게 하는 것도 괜찮은가요?답변 부탁 드립니다.
-
미해결손에 익는 Next.js - 공식 문서 훑어보기
안녕하세요 generateStaticParams 관해서 질문
// [country]/layout.tsx const SUPPORTED_LANGS = ['kr', 'us']; interface LangMap { [key: string]: string; } const LANG_MAP: LangMap = { kr: 'ko', us: 'en' }; export function generateStaticParams() { return SUPPORTED_LANGS.map(country => ({country})); } export const metadata: Metadata = { title: "Create Next App", description: "Generated by create next app", }; export default function RootLayout({ children, params, }: { children: React.ReactNode; params: { country: string }; }) { return ( <html lang={LANG_MAP[params.country]}> <body> <TanstackQueryProvider> <div className='container'> <BannerWrap/> <Header/> <main>{children}</main> <Footer/> </div> </TanstackQueryProvider> </body> </html> ); }import Banner from "@/component/Banner"; import { getQueryClient } from "@/component/TanstackQueryOption"; import { fetchBanner } from "@/fetch/getReviews"; import { dehydrate, HydrationBoundary } from "@tanstack/react-query"; export default function BannerWrap () { const queryClient = getQueryClient(); queryClient.prefetchQuery({ queryKey:['banners'], queryFn: fetchBanner, }) return ( <HydrationBoundary state={dehydrate(queryClient)}> <Banner /> </HydrationBoundary> ) } 빌드 후 next start로 테스트 중 의문점이 들어서 질문드립니다!generateStaticParams 와 fetch의 revalidate 10초, tanstackQuery staleTime 10초 로 설정후RootLayout 에서 BannerWrap에 prefetchQuery와 HydrationBoundary 를 통하여 data를 prefetch하고있는데 이게 layout이 전역에서 실행되서 그런지 생성된 페이지 개수만큼 요청을 날리는데 next에서는 같은 요청이 중복되지 않도록 요청을 캐시하고 중복 요청을 제거 한다고 배웠는데이렇게 중복으로 요청하는 이유는 뭘까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
다른 스레드가 write하고 있을 때 readlock 허용하나요?
ReadLock 코드uint32 expected = (_lockFlag.load() & READ_THREAD_MASK); if (_lockFlag.compare_exchange_strong(OUT expected, expected + 1)) return;WriteLock 코드const uint32 desired = ((LThreadId << 16) & WRITE_THREAD_MASK); ... uint32 expected = EMPTY_FLAG; if (_lockFlag.compare_exchange_strong(OUT expected, desired)) { _writeCount++; return; }Write할 때 lockFlag를 LThreadId << 16로 저장하기 때문에 첫 비트 ~ 15비트까지는 0으로 초기화가 될것입니다.ReadLock에서는 Read용 Mask를 쓰는데 그럼 Write에서 초기화해준 lockFlag를 볼 수 없어서 항상 참값이 나와 expected + 1로 수정되는거 아닌가요?? 다른 스레드가 Write하고 있을 때 Read를 허용하는것인지 궁금합니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버커페크롤링
itmes 에 여러글이 담긴거 확인하고밑에서 for문 돌리는데 맨위에 있는 글 하나만 뜨네요뭔가 잘못했나 해서 확인했는데 어떤게 문제인거죵..