묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결개발자에게 필요한 로그 관리
trace 로그 보관 질문
강의 내용에서 사용자 요청, 응답에 관한 부분은 trace로그로 보관한다고 들었습니다. 또한 로그 레벨을 나누는 이유가 보기 편하라는 이유를 들었는데요 보통 개발환경에서 로그레벨을 파일별로 나누나요?app-trace.logapp-info.logapp-error.log이런식으로 나누고 trace로그를 7일만 보관할 경우 app-trace.log가 7일이 지나면 삭제한다는 방식으로 파일을 나눠서 보관하는지 궁금합니다. 추가로,다른 질문에 app.log, security.log 이런식으로 파일을 분할하지만 강사님 기준 법적 기준 로그 제외 파일을 하나로 묶는게 좋다고 추천하셨는데요그럼 trace로그도 하나로 묶어서 보관하는지, 묶는경우 삭제가 안되니까 나눠서 보관하는지요?
-
미해결비전공자도 이해할 수 있는 DB 설계 입문/실전
게시글 작성자 Id(사용자 FK) 숫자가 맞나요?
작성자 Id가 "박재성"이여서 이게 하나라도 바뀌면 같이 바뀌어야하는 데이터 중복이여서 FK로 바꿔야한다는 것은 잘 알겠습니다. 그런데 users 테이블에서 사용자 이름은 없는데 아마 jscode가 박재성을 의미하는 것 같은데 이게 FK로 바꾸었을 때 1번 id 값을 가지니까 1로 바뀌어야하는거 아닌가요?그런데 강사님께서는 1,2로 바꾸셨는데 그러면 똑같은 박재성이라는 사람이 아니게 되는거 아닌가요?users테이블에서도 id가 1번 밖에 없어서.. 혹시 동명이인 그런 건가요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
FIN 세그먼트 질문
FIN 세그먼트가finish 의 약자가 맞나요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
flux 패턴 질문
flux 패턴의 단점에 대해서 궁금합니다!flux패턴이 MVC 패턴의 단점을 보완하는 것으로 이해했습니다.실무에서는 MVC패턴을 아직 많이 쓰는 것 같은데아직 학생이라 잘 모르긴 합니다 ㅠㅠmvc패턴이 그럼에도 불구하고 좋아서 배우는 건가요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
3-웨이 핸드 셰이크 질문
established가 되면 클라이언트와 서버는 연결되어서 이제 그 연결 링크를 통해 서버를 종료할 때까지 데이터를 주고 받는 건가요?아니면 통신을 할 때마다 새로운3웨이 핸드셰이크 과정을 거치는 건가요??
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
유료결제 후회 중입니다. 3번 낙방 설명은 똑같고
전반적으로 해설이 혼자 푸는데 이야기하시는 느낌이닌다 다른 글도 그렇던데... 유투브로 쉽다쉽다 샘플영상 올리셔서 돈 냈는데 설명이 두서가 없어요 친절하지도 않고 띄엄띄엄 느낌이고 인쇄물은 성의없고... 죄송합니다 돈낸 사람으로서 느낀점 말씀드립니다.마지막 포인터 문제 전반적인 해설 간략히 요청드립니다.
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
SRAM module RTL viewer 이상
rtl viewer를 열면 mux모양 로직 (dout ~0 부터 dout ~ 31이라고 쓰여있음) 이게 책처럼 겹쳐야 하는데 죄다 병렬 회로로 늘어져서 엄청 공간 차지를 많이 합니다. 코드 문제는 아닌 것 같은데 어떻게 해야하나요? rtl viewer에서 netlist navigator 수정이 안되나요? netlist navigator를 보면 always0과 dout~0부터 dout~31까지가 동시에 logic이라는 폴더에 들어 있습니다. 그래서 벡터를 책처럼 못 묶는 것 같습니다.
-
해결됨책 3권을 영상으로 만든 Unity 게임 개발
승리수가 안 올라갑니다
왜 안 올라가는지 모르겠네요 ㅠㅠ
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
DB 설정 문제
안녕하세요 프로젝트 초기 설정을 토비님 강의 진행대로 따라하고 있는 중입니다.제가 docker 는 잘 몰라서 강의 자료에 있는 Rancher Desktop 을 그냥 설치했구요서버 구동하기 전에 먼저 켜고 토비님 강의 순서 대로 진행했습니다 compose.yaml 의 내용을 수정하기 전에는 오류없이 잘 되는데 토비님이 작성하신 대로 수정을 해서 서버를 구동하면 계속 오류가 발생하고 있습니다 제 디비에 문제가 있나 싶어서 mysql를 완전 삭제하고 재설치 까지 해서 다시 해봐도 이전과 계속 같은 오류가 발생하는데 ai 를 통해서 해결해보려고 해도 해결을 못하고 있습니다 혹시 확인해보시고 알려주셨으면 합니다
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
[실습] 백엔드 프로젝트(Spring Boot) 프로젝트를 Docker로 실행시키기 <--자바실행오류
안녕하세요 강사님, 강의 너무 잘듣고 있습니다, 자바 실행에서 코파일럿으로 해결해보려고해도 잘 모르겠는데요 무엇을 다시 해야할까요? 현재기준으로 스프링부트 버전은 3.5.3으로 강의의 버전과 다르긴했구요 의존성 2개는 그대로 추가했습니다
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
안녕하세요.
안녕하세요.기획자로 일하고 있는 직장인입니다. 강의를 듣던중 갑자기 궁금한 것이 있는데,강사님께서 Claude Code대신 Cursor를 이용하시는 이유를 여쭤볼 수 있을까요? 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
실행시 콘솔? 계속 돌아가요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]실행하게 되면 8080과 /hello같은 곳에 접속은 잘 되는데 영한님 화면과 다르게 이 실행창의 톱니바퀴가 계속 돌아가고, 밑에 ServletApplication.main()의 빌드가 되고있는 듯이 보이고, 실행 종료시에는이렇게 뜹니다.메세지:* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.14.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 4m 10s3 actionable tasks: 2 executed, 1 up-to-date
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
7-1 서버 액션에서 Page 컴포넌트 옮기는 과정 질문드립니다.
안녕하세요 정환님 강의 잘 보고 있습니다.이번 섹션 8. 7.1) 서버 액션을 소개합니다. 에서 궁금한게 있는데요 이전에 섹션 4. App Router에서 32. 3.2)페이지 라우팅 설정하기 강의에서 "URL 파라미터나 searchParams, Query String 같은 값은 Promise로부터 꺼내써야 되는걸로 알고 그렇게 변경해서 사용했습니다." const BookDatail = async ({ bookId }: { bookId: string }) => { const response = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/${bookId}` ); // ... 생략 /* 저의 code */ export default async function Page({ params, }: { params: Promise<{ id: string }>; }) { const { id } = await params; return ( <div> <BookDatail bookId={id} /> </div> ); } /* 정환님이 강의해서 사용한 code */ export default function Page({ params, }: { params: {id:string}; }) { return ( <div> <BookDatail bookId={params.id} /> </div> ); }경로 app/book/[id]/page.tsx URL 파라미터 값을 Promise로부터 꺼내와야 된다는 업데이트 강의 부분을 보고 한거라서 이게 맞는지 헷갈리네요 강의 전체를 아직 수강 전 인데 헷갈릴까봐 질문드립니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+
filter가 아무것도 걸러내지 못하는 경우
function FlatEvaluation(evaluation: Array<[string, { score: number }]>) { return pipe( evaluation, filter(([key]) => key !== "overallAssessment"), map(([key, value]) => ({ key: key, score: value.score })) ); } function findPros(evaluation: { [x: string]: { score: number } }) { return pipe( Object.entries(evaluation), FlatEvaluation, filter((item) => item.score >= 80), reduce((item, acc) => (item.score > acc.score ? item : acc)), (item) => item.key ); } // A의 경우 findPros({ a: { score: 90 }, b: { score: 85 }, c: { score: 75 } }) // B의 경우 findPros({ a: { score: 70 }, b: { score: 65 }, c: { score: 75 } }) 안녕하세요 선생님 강의 잘 듣고 있습니다. 다름이 아니라 한 가지 궁금한 점이 있어서 이렇게 질문을 드립니다 (나중에 뒤에 가서 이 문제에 대한 해답이 나오거나, 이미 앞에 이런 문제에 대한 해결 방법이 나왔다면 참 부끄러워질 거 같긴 합니다)다름이 아니라 FxTS를 사용해 기존의 프로젝트 일부를 함수형으로 리팩토링 해보고자 하는 중이었습니다. { [x: string]: { score: number } } 타입의 객체를 인자로 받아 제일 고득점을 한 인원의 이름(key)를 리턴해야 합니다. A의 경우 80점 이상의 득점자가 두 명이 있고, 그 중 더 높은 득점을 한 a의 이름이 잘 리턴됩니다.그런데 B의 경우 80점 이상의 득점자가 하나도 없다보니 filter가 적절한 값을 리턴하지 못해 reduce에서 에러가 납니다. 이런 경우에는 어떻게 처리하는 게 옳을지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
N+1문제
fetch join을 하는것이 즉시로딩을 하는 개념과 비슷하다고 이해했습니다.근데 강의에서 지연로딩이든 즉시로딩이든 N+1 문제를 피하기 위해 페치조인을 사용한다고 하셨는데 지연로딩일때는 추가적인 쿼리가 발생하게되어 N+1문제가 생기지만 즉시로딩일때는 모든 데이터를 하나의 쿼리로 가져오기때문에 추가적인 쿼리 없이 N+1문제가 생기지 않는다고 생각했습니다. em.find()등으로 즉시로딩을 할때 N+1문제가 생기지 않는것이고 jpql로 즉시로딩을 하면 N+1문제가 생기는것인가요? 이에따른 이유도 함께 궁금합니다ㅜㅜ
-
해결됨PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트
Ethernet PHY 선택하기에서 인터페이스비교가 궁급합니다.
Ethernet PHY 선택하기에서 인터페이스비교가 궁급합니다. (강의자료 39/90과 40/90) 표로 Ethernet PHY에 대해서 설명해주셨는데요, 해당 표에서 나타난 데이터 폭이 39쪽에 (MCU와 Ethernet PHY 구상도에 있는 TXD<3:0>, RXD<3:0> 이런 데이터폭이랑 같은 말인가요?)
-
미해결제로베이스부터 배우는 웹개발의 개념과 바이브 코딩
블로그 애드센스 인증 실패문제
Ads.txt 스니펫을 시도하고 ads.txt 를 퍼블릭에 추가해주고 업로드했는데도 자꾸 아래 문구가 뜨네요 사이트를 확인할 수 없습니다사이트를 확인할 수 없습니다. 사이트의 변경사항이 게시되었고 Google 애드센스 크롤러가 이를 액세스할 수 있는지 확인하세요. 문제가 계속 발생하는 경우 다른 방법을 시도해 보세요.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
애니메이션이 안 나옵니다.
Weapon Animation까지 완료했습니다.애니메이션이 적용이 안 되는 문제가 있습니다.임시파일들 지우고 Generatie VS project files... 했습니다.HakAnimLayerSet::SelectBestLayer 쪽에 중단점 찍어서 피스톨 애님 레이어 잘 들어오는거 확인 했습니다.B_Hero_ShooterMannequin 에서 메시에 기본 ABP 설정 했습니다.B_Manny에서 CopyPose ABP 설정 했습니다.다른 질문 글에서 B_WeaponInstance_Pistol에서 애님셋 Equipped랑 Unequipped에 둘 다 넣어서 해결되었다고 해서 해봤지만 안 됩니다.아예 총도 안 움직이는 것 보니 Base ABP부터가 문제인 것 같은데 왜 이럴까요? 일단 ABP_Base에서 LogString해서 확인한 결과 껴지긴 했어요.이 문제를 해결하기 위해 섹션 12를 처음부터 끝까지 다시 들어야 할까요? 저녁에 하루 한 편만 겨우 듣고 있는데;;저와 같은 문제를 겪으신 분 없나요?
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
모의 계좌 잔고조회 params 확인 부탁드립니다.
모의 계좌 잔고 테스트 하는데,모바일에서도 모의 계좌는 분명히 맞게 확인됩니다.params 확인 부탁드립니다.{ "rt_cd": "2", "msg_cd": "OPSQ2000", "msg1": "ERROR : INPUT INVALID_CHECK_ACNO" } params{'CANO': '50142790','ACNT_PRDT_CD': '01','AFHR_FLPR_YN': 'N','OFL_YN': '','INQR_DVSN': '02','UNPR_DVSN': '01', 'FUND_STTL_ICLD_YN': 'N', 'FNCG_AMT_AUTO_RDPT_YN': 'N', 'PRCS_DVSN': '00','CTX_AREA_FK100': '', 'CTX_AREA_NK100': ''}
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
3-7 Weekly, Monthly Retention 쿼리 작성
# WEEKLY Retention 쿼리 WITH base AS( SELECT DISTINCT user_id, user_pseudo_id, event_name, DATE(DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul')) AS event_date, DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') AS event_datetime FROM advanced.app_logs WHERE event_date BETWEEN "2022-08-01" AND "2022-11-03" ),first_week_and_diff AS ( SELECT *, DATE_DIFF(event_week, first_week, WEEK) AS diff_of_week FROM ( SELECT DISTINCT user_pseudo_id, DATE_TRUNC(MIN(event_date) OVER(PARTITION BY user_pseudo_id), WEEK(MONDAY)) AS first_week, DATE_TRUNC(event_date, WEEK(MONDAY)) AS event_week FROM base ) ), user_counts AS ( SELECT diff_of_week, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_week_and_diff GROUP BY diff_of_week ORDER BY diff_of_week ) SELECT *, ROUND(SAFE_DIVIDE(user_cnt, first_week_user_cnt),3) AS retention_rate FROM( SELECT diff_of_week, user_cnt, FIRST_VALUE(user_cnt) OVER(ORDER BY diff_of_week) AS first_week_user_cnt FROM user_counts ) # Monthly Retention 쿼리 WITH base AS( SELECT DISTINCT user_id, user_pseudo_id, event_name, DATE(DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul')) AS event_date, DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') AS event_datetime FROM advanced.app_logs WHERE event_date BETWEEN "2022-08-01" AND "2022-11-03" ),first_month_and_diff AS ( SELECT *, DATE_DIFF(event_month, first_month, MONTH) AS diff_of_month FROM ( SELECT DISTINCT user_pseudo_id, DATE_TRUNC(MIN(event_date) OVER(PARTITION BY user_pseudo_id), MONTH) AS first_month, DATE_TRUNC(event_date, MONTH) AS event_month FROM base ) ), user_counts AS ( SELECT diff_of_month, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_month_and_diff GROUP BY diff_of_month ORDER BY diff_of_month ) SELECT *, ROUND(SAFE_DIVIDE(user_cnt, first_month_user_cnt),3) AS retention_rate FROM( SELECT diff_of_month, user_cnt, FIRST_VALUE(user_cnt) OVER(ORDER BY diff_of_month) AS first_month_user_cnt FROM user_counts )