안녕하세요 강의를 잘 듣고있습니다. 하지만 개념이 잘 이해가 되지 않은 부분들이 있어서 질문드립니다. context 분리하기 강의 부분입니다!!! 이부분에서 이미 전 시간에 만들었던 useCallback으로 선언했던 함수들이 있습니다. 하지만 왜 app컴포넌트의 렌더링으로 인해 또 함수 선언이 되어 usememo를 써야한다고 하셨는지 문의드려요. const onCreate = useCallback((content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }, []); const onUpdate = useCallback((targetId) => { dispatch({ type: "UPDATE", targetId: targetId, }); }, []); const onDelete = useCallback((targetId) => { dispatch({ type: "DELETE", targetId: targetId, }); }, []); const memoizedDispatch = useMemo(() => { return { onCreate, onUpdate, onDelete }; }, []); 그동안 다른 컴포넌트에 props를 줄때는 color={color}식으로 주고, 이는 객체형태라고 합니다. 받는 자식 컴포넌트에서는 {color} 이런식으로 구조분해할당을 합니다. 하지만 createContext로 만든 provider value ={} 는 기본적으로 객체형태가 아닌걸까요? 기본적으로 구조분해할당을 하지 않는거같아서 뭐지싶었습니다 <TodoDispatchContext.Provider value={memoizedDispatch}> useEffect, useMemo의 차이점은 무엇인가요? 기본적으로 의존성 배열을 []로 둘때는 처음으로 컴포넌트가 mount 될때만 실행하고 , [todos]를 넣으면 이 변수 state가 바뀔때만 실행하는거같아서 똑같은거같아요
membership부분은 몇 강의에서 진행하신건가요? 아무리 찾아봐도 어디있는지...휴.. 추가 안내사항 답변을 받으면 꼭 확인하고 감사 인사를 남겨주세요. 작은 반응도 답변자에게 큰 동기부여가 됩니다! 질문 게시판에서는 서로를 존중하며 커뮤니케이션해주세요. 강의 외적인 문의(예: 계정 문제, 결제 등)는 고객센터 를 이용해주세요. 여러분의 꼼꼼한 질문이 더욱 빠르고 정확한 답변으로 이어질 수 있습니다. 😊
스프링부트 작성 후 에러가 발생하고 있는데 어노테이션에러가 발생하고 있습니다. C:\prac\src\main\java\restApi\prac\service\PostService.java:8: error: cannot find symbol public PostService(PostRepository postRepository) { ^ symbol: class PostRepository location: class PostService 모든 어노테이션에서 발생하고 있는데 설정 문제 일까요?
안녕하세요. 강의 잘 수강하고 있습니다 : ) 다름이 아니라 게시글 같은 경우에 레디스에 저장해서 조회할 때 빠르게 조회하는 건 이해했습니다. 그런데 ArticleQueryModel에 들어가있는 요소들을 보니까 댓글같은 경우에는 댓글 수만 넣어주더라고요. 프런트에서 게시글을 클릭했을 때 게시글에 저장되어 있는 댓글 데이터들을 조회하려면 comment-service로 요청을 해야하는 거죠?? ArticleQueryModel은 순수하게 게시글을 위한 용도인거고 댓글들 같은 경우에는 comment-service로 요청을 해야하는 것 같은데 댓글들은 redis에 저장하지 않고 rdb에서 조회를 해야하는건가요??
안녕하세요. 1.7) 복합대입 연산자 관련 질문입니다. 예제) num7 -= 20; 부분입니다. 바로 위에 있는 num7 += 20;은 num7에 할당 되어 있는 값에 20만큼 더해서 console result 값은 30이 반환이 될 것이었고, 반환이 되었습니다. 그런 논리라면 num7 -= 20; 이면 단순 수식으로 생각을 하였을 때, 10 -20 = -10이 되어야 하는게 아닌가 싶습니다. num7 -= 20; 에서 20; 이 부분이 앞에 오게 되는 이유가 있을까요? 기본 연산자에서는 정수만 취급하기 때문에 앞뒤의 순서가 바뀐 것일까요? 단순 JS의 구조적인 문제일까요? 이에, 설명하셨던 부분과 약간 상이 한 내용인 거 같아서 질문 남겨드립니다.
어느 파트인지 섹션 5 - 그래프 순회 (DFS & BFS) 내가 이해한 내용 DFS와 BFS 모두 모든 노드를 탐색하고, 시간 복잡도도 같다고 이해했습니다. 궁금한 점 DFS로만 풀리고 BFS로 안풀리는 문제도 있나요? BFS로 DFS문제가 다 풀리면, 왜 강사님은 DFS로 먼저 접근하시는건가요?
안녕하세요. 오늘도 Airflow 강의를 듣던 중 에러가 나는 부분이 있어 질문드리고자 합니다 ㅠ 우선 customized 된 Hook의 bulk_load 기능을 사용하는 과정에서 에러가 발생하는데요.. 강의에서 알려주신대로 아래와 같이 두 개의 파이썬 파일을 작성해서 DAG을 실행했습니다. (코드도 GitHub에 올려주신 것과 동일합니다) plugins/hooks/custom_postgres_hook.py dags/dags_python_with_custom_hook_bulk_load.py 그런데 DAG 실행 과정에서 아래와 같은 에러가 발생합니다. (Failure caused by 'Engine' object has no attribute 'cursor') 제가 docker-compose.yaml 파일 내 postgres_custom 서비스를 정의할 때, 5433:5432 로 포트 포워딩 해줘서 그런가 싶어서, custom_postgres_hook.py 코드에서 uri 변수에 포트번호를 5432로 같이 부여해줬음에도 동일한 에러가 발생합니다. 무엇이 문제일까요..?
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
cursor rules 설명중에 user rules , project rules 관련 설명은 해주셨는데 .cursorrules에 대해서 설명이 없어서 문의 드립니다. user rules , project rules, .cursorrules 모두 사용을 한다면 우선 순위 적용은 어떻게 되는 건지 알고 싶습니다.
강사님 안녕하세요! 분류 평가 오차행렬 관련해서 궁금한 점이 있습니다. 3.1 정확도 주피터노트북의 Confusion Matrix 코드에서 MNIS 데이터에 대해 오차행렬 평가를 하는데, 이때는 FP, TP가 나오지 않는 이유가 classifier가 dummy classifier로 더 정확한 분류를 하지 못했기 때문이 맞을까요?
// 2. 콜백함수의 활용 function repeat(count, callback){ for(idx=0; idx<count; idx++){ callback(idx); } } repeat(4, function callback(){ console.log(idx * 2)}); repeat(4,(idx)=>{ console.log(idx * 4); }) repeat(5,()=>{ console.log(idx * 5); }) repeat()으로 호출할 때 콜백함수까지 같이 불러오는 부분에 대해 궁금증이 생겼습니다. repeat(인수, 콜백함수)=> 이 부분에서 콜백함수에 매개변수로 idx를 안 넣어도 콘솔창에 결과가 잘 나옵니다. 그런데도 콜백함수 인수를 작성할 때 idx를 꼭 적어줘야 하나요? repeat(4, (idx) // idx를 넣고 메인 함수 콜백 호출 부분인 callback(idx); 에서 idx를 뺏더니 출력결과가 Nan이 나옵니다. repeat(4, () => 이렇게 idx가 없는 호출문? 에서는 정상적으로 값이 잘 나오는데 저 부분은 왜 안나오는지 궁금합니다.
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! article-read service에서 ArticleIdListRepository는 createdEvent를 받았을 때만 추가되는데 만약 redis가 종료돼 데이터가 유실된다면 createdEvent로만 추가되기 때문에 당장 캐시 db로서 역할을 못 할 것 같습니다 이 부분은 redis에 데이터가 유실되지 않는다고 가정하신 뒤 코드를 작성한 것이 맞을까요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 영한님의 인덱스 강의를 듣고, 간단한 CRUD 토이 프로젝트를 하면서 인덱스를 적용해보려고 하고 있습니다. 강의에서 설명해주신 것처럼, 칼럼의 값을 기준으로 인덱스를 타는 경우 데이터가 수백 ~ 수천만건이더라도 굉장히 빠르게 조회 되는 것을 확인했는데요! 문제는 페이징 쿼리 같이, limit, offset을 활용해야 하는 경우에 인덱스가 기존과 같이 동작하는지, 아니면 특별한 무언가가 있는지 궁금합니다. 만약 배운 그대로 적용된다면 (ex. 생성일이 페이징 기준) 생성일 칼럼을 인덱스를 걸면 Filesort 를 피할 수 있겠다는 생각은 하였고, limit 절의 경우 where와는 다르게 select 절까지 모두 평가된 뒤에 적용되기 때문에 Random I/O를 피하기 위해 커버링 인덱스도 잘 사용해야 할 것 같다고 생각했습니다. 다만, offset에 해당하는 n 번째 칼럼을 빠르게 B+ 트리에서 알아낼 수 있는 방법 이 있는지가 궁금하더라고요. DBMS에서 limit과 offset을 특별히 따로 처리하는지 아니면 강의에서 배운대로 인덱스를 그대로 활용하는지 궁금합니다.