설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 🙂 [1. 질문 챕터] : General question [2. 질문 내용] : init을 위해 reset_n 에 조건을 걸어 HDL 코드를 작성하신 것으로 보입니다. 해당 신호에 '0'이 들어와야 작동하게 설계하는 데에 이유가 있을까요...? [3. 시도했던 내용, 그렇게 생각하는 이유] : * 그렇게 설계한 이유에 대한 추측 SW와 다르게 HW의 경우 physical noise (회로 상 interference, 자외선 / alpha 입자에 의한 TR 켜짐 현상 등) 에 의해 error가 발생할 수 있습니다. '1'을 기준으로 initialization을 실행시킬 경우, HW noise에 의해 의도치 않게 초기화가 될 가능성이 있어보입니다.
안녕하세요. 저는 PM/PO를 희망하는 취업준비생입니다! 아직 PM/PO 관련 직무 경험은 없고요. 그래서 나름대로 신중하게 문제를 푸느라 문제 풀이에 오랜 시간이 소요되었는데, 피드백을 받아보고 싶어 Q&A를 남깁니다. 1번 문제 메인 지표: CTR (특정 기능 클릭 수 / 메인 화면 진입 횟수) 문제는 메인화면의 각 기능이 ‘잘 동작하는지’확인하는 것 메인 화면의 특정 기능만을 언급하지 않음 → 특정 기능이 전환까지 잘 이어지는지 퍼널 관점에서 보는 것은 아니라고 판단 메인 화면의 모든 기능을 언급하였음 → 각 기능을 비교하여 보아야 하는 문제라고 판단하였음 잘 동작하는가 = 각 기능들이 화면 설계 단계에서 의도한 대로 유저의 관심을 끄는가 따라서, 메인화면에서 각 기능이 유저의 관심을 얼마나 끄는지를 확인할 수 있는 ‘CTR’을 메인 지표로 선정하였음 보조 지표: CVR (특정 기능 클릭 후 결제를 한 건수 / 특정 기능 클릭 수. 주문 전환율) CTR을 메인으로 보는 것은 맞으나, CVR을 보조 지표로 보면서 ‘주문’에 얼마나 기여하는지를 보아야 함 특히 ‘이런 음식 어때요’, ‘동네 맛집’ 등의 기능은 특정 음식점을 바로 보여줌 해당 기능을 클릭하면 메뉴 카테고리 및 음식점에 대한 유저의 선택지가 사라지고, 결제까지의 퍼널이 확 줄어듦(메뉴 선택 → 주문). 유저의 주문까지 이어지는 것을 고려하여 만든 기능은 CVR을 함께 보아야 한다고 생각함 2번 문제 메인 지표 1: CVR (검색 화면 진입 후 결제를 한 건수 / 검색 화면 진입 횟수. 주문 전환율) 검색 화면에 진입한 유저는 크게 ‘특정 메뉴나 식당을 정하고 앱을 작동한 유저 (1)’, ‘어떤 음식을 먹을지 고민하고 있는 유저 (2)’ 두 부류로 나눌 수 있음 두 세그 모두 ‘단순 탐색’이 아닌, 주문을 염두에 두고 검색 화면으로 진입한 것이기 때문에, ‘주문까지 이어질 경우 ‘검색 기능에 만족했다’고 볼 수 있음. 더 세부적으로 나누어, ‘직접 검색을 하는 유저’와 ‘실시간 검색어를 선택하는 유저’의 CVR을 따로 보면서 각 기능의 만족도를 보는 것도 가능함. 메인 지표 2: 체류 시간 (1)의 경우 이미 어떤 음식을 먹을지 결정을 내렸고, 주문 의사도 비교적 높기 때문에 빠르게 주문을 할 것. 해당 세그는 이미 의사결정이 완료되었기 때문에, 검색 화면에서 다음 퍼널로 넘어가지 못하고 체류 시간이 길다면 만족도가 떨어질 확률이 높음 (2)의 경우 어떤 음식을 먹을지 ‘결정하기 위해’ 검색 화면에 진입하였음. 검색 화면에서 체류 시간이 길다면, ‘어떤 음식을 먹을지 고민하는’ 유저의 문제 상황을 검색 기능이 해결해주지 못함을 의미 보조 지표: CTR (특정 기능 클릭 수 / 검색 화면 진입 횟수) 직접 검색, 실시간 검색어, 최근 검색어 등 각 기능들의 클릭율을 보면서 각 기능들이 잘 작동하고 있는지를 파악 단, 클릭율 만으로 ‘유저가 검색 기능에 만족했는지’를 파악하기는 어려움. 각 기능을 클릭였음에도 결제까지 이어지지 않는다면 ‘기능이 잘 동작했지만, 유저를 만족시키지는 못했음’을 의미하기 때문 따라서 CTR은 핵심 지표로 보기 보다는 보조 지표로서 ‘각 기능이 잘 동작하고 있는지’를 파악하는 데 활용 3번 문제 메인 지표: CTR 유저가 필터 기능을 통해 원하는 가게 또는 메뉴를 찾으면 필터 기능이 잘 사용되고 있다고 할 수 있음 따라서, 유저가 필터 기능을 사용한 후, 결과창에서 선택지를 클릭하는지를 본다면, 필터 기능이 잘 작동하는지 볼 수 있을 것 결과 컴포넌트 클릭 수 / 필터 설정을 하지 않는 사용자 수 결과 컴포넌트 클릭 수 / 특정 필터를 설정한 사용자 수 필터를 따로 설정하지 않았을 때의 클릭율, 특정 필터를 설정했을 때의 클릭율을 각각 보면서 ‘어떤 필터를 썼을 때 유저가 원하는 식당 or 메뉴를 잘 찾는지’를 볼 수 있을 것 CTR이 가장 높게 나오는 필터를 기본 설정 값으로 설정하고, CTR이 가장 낮게 나오는 필터를 하단에 배치하거나 제외하는 방식으로 기능을 개선할 수 있을 것 4번 문제 서비스 접속 횟수(리텐션), 체류 시간 대다수의 배달 서비스 유저는 ‘음식을 주문할 때’ 서비스를 이용함. ‘탐색’을 위해서 배달 서비스를 이용하는 경우는 극히 드뭄. ‘서비스 접속 = 주문’으로 이어지는 경우가 대부분 일단 배달 앱을 켜도록 만들면 주문으로 이어질 가능성이 높기 때문에 접속 횟수 자체를 늘릴 필요가 있고(접속 횟수 늘리기), 배달 서비스를 이용하는 대부분의 유저는 ‘배가 고픈 상태’에서 ‘음식 주문’을 위해 서비스를 이용하기 때문에, 음식 주문에 오랜 시간이 소요되지 않아야 서비스 사용 경험이 긍정적일 것 (체류 시간 줄이기) 서비스 접속 횟수를 늘리는 것은 유저가 음식을 자주 주문했던 시간에 푸시 알림을 보내는 등의 CRM 액션을 시도해볼 수 있을 것 체류 시간을 줄이기 위해서는 주문까지 가는 퍼널을 간소화하거나(ex. 배민의 과거 주문했던 메뉴 바로 주문), 개인의 과거 주문 기록을 바탕으로 하여 맞춤 메뉴 추천을 하는 방법이 있을 것 5번 문제 메인 지표: CTR (해당 메뉴 클릭 수 / 추천 알고리즘 화면 진입 수) 추천 알고리즘이 유저의 취향에 맞게 메뉴를 제공하였으면 메뉴를 클릭할 것(맞춤 추천이 아니라고 생각하면 클릭하지 않을 것). 따라서 CTR을 메인 지표로 보는 것이 ‘추천 알고리즘의 성능’을 가늠하기에 가장 적합하다고 생각함 보조 지표: CVR (해당 메뉴 결제 수 / 추천 메뉴 클릭 수) 자신의 취향에 맞고, 지금 당장 끌리는 음식이라고 생각하면 주문까지 이어질 수 있음 하지만, 과거에 많이 주문했던 음식이라고 하더라도 지금 시점에서 먹고 싶지 않을 수도 있고, 고민 중인 다른 선택지가 있을 수도 있기 때문에, 주문까지 이어지지 않았다고 해서 ‘추천 알고리즘의 성능이 저조하다’라고 단정지을 수 없음. 따라서 CVR은 보조 지표로서 봐야 함 6번 문제 네이버웹툰 핵심 지표: 요일별 1인당 평균 작품 소비 수 웹툰은 요일 단위로 작품이 업로드됨. 유저의 콘텐츠 소비 역시 요일 단위로 루틴처럼 형성됨. 특정 요일에 인기 작품이 편중되면 이러한 루틴이 깨지고, 리텐션이 약화될 수 있음 따라서 요일별 콘텐츠 소비량을 볼 수 있는 ‘요일별 1인당 평균 작품 소비 수’를 보면서 지표가 낮은 요일에 인기 작가의 신규 작품을 배치하거나, 추천 푸시 알림을 강화하는 등의 액션으로 ‘균형 잡힌 소비 패턴’을 만들어야 함 7번 문제 메인 지표: 서비스 가입 전환율 (온보딩 후 가입을 완료한 유저 / 온보딩 과정을 모두 완료한 유저) 프로젝트의 목적이 ‘가입 퍼널 개선’이었기 때문에, 온보딩 기능의 도입 역시 ‘가입 단계에서의 전환율을 높이기 위한 것’이었음 따라서 온보딩을 진행한 유저 중 얼마나 가입까지 이어졌는지를 본다면 온보딩 기능의 효과를 파악할 수 있을 것 보조 지표: 온보딩 단계별 이탈율 온보딩이 여러 단계에 걸쳐서 진행되는 기능이라면, 각 단계별로 이탈하는 유저가 얼마나 있는지를 파악하여 온보딩 기능을 개선할 수 있을 것 감사합니다!
url = "https://finance.naver.com/item/sise.nhn?code=352820" pd.read_html(url, encoding='cp949') AttributeError: 'SoupStrainer' object has no attribute 'name' 상기와 같이 코드 실행시 에러가 발생합니다.. 원인을 알려주십시요
안녕하세요! 1번 문제 관련해서 궁금한 점이 있습니다. 60일 이후 거의 조회되지 않는 데이터라면 비용 측면에서 Glacier Instant Retrieval 도 적합해 보이는데이 문제에서는 Standard-IA를 더 우선적으로 선택하는 이유가 있을까요? 회사 규정이라는 조건을 제외하고 보더라도 비용 측면에서는 Glacier Instant Retrieval이 더 효율적일 수 있을 것 같다는 생각이 들어서요 이해가 잘 안가서 여쭤봅니다 감사합니다
서브에이전트를 /agents로 생성하면 색상 지정하고 백그라운드에서 본래의 서브에이전트 기능으로 사용할 수 있는데 업로드 주신 starterkit의 2파일은 실행하고자 하면 메인? 에서 실행이됩니다. 등록하고 써야하는건지 등록방법은 어떻게되는건지 궁금합니다 agnets/dev에 있는 starter-cleaner.md angets/docs에 있는 prd-generator.md
강사님 안녕하세요. 크게 중요하지는 않지만, 강사님이 촬영하신날과 버전이 다른건지 n8n 내 기본 기능 관련해서 질문이 있는데요. 1. overview 내에서 project 별로 delete 버튼이 없는데, 별도 셋업이 필요할까요? project 내부에서 save 기능이 없습니다. 자동으로 저장이 되는것같긴한데, 이또한 별도셋업이 필요한지 궁금합니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. '클래스 도입'이라는 강의 16:25 쯤 강사님이 "마치 method을 호출하고 반환한 것처럼 끝나고 나면 참조값을 딱 반환합니다. " 라고 하셨는데 매서드를 호출하고 반환할 때 원래 위치로 돌아가는 것이 참조값을 반환해서 라고 이해하면 될까요? 무슨 말인지 잘 이해가 안 됩니다.
안녕하세요. 강의 수강 중 중간중간에 일이 생겨 이제서야 빠르게 복습하고 다시 수강하고 있는 수강생입니다. 저는 강의에서 사용되었던 코드를 실행했을 때, 평가 실행 시 "KeyError" 오류가 발생되었습니다. 많은 분들께서 따라하는 과정에서 저와 같은 오류를 마주하고 Langsmith Docs를 열어보셨을 것 같습니다. 다만 강의에서 다루는 코드와 현재 시점에 Langsmith Docs에 작성된 튜토리얼 코드는 많은 부분이 변경되었기에 현재 시점의 Langsmith Docs에서 다루는 LLM Evaluator 구현 시 포인트와 함께 Upstage를 사용한 방법을 정리하여 공유드리려합니다. 참고로 현재 시점의 Langsmith Docs는 아래 링크의 문서이며, 이하 설명에서는 Langsmith Docs를 Docs로 부르겠습니다. https://docs.langchain.com/langsmith/evaluate-rag-tutorial 1. Evaluator 종류 - 현재 Doc에서는 다음과 같은 평가 지표에 대한 예시를 제공하고 있습니다. 1) 정확성(Correctness): LLM의 답변이 실제 답변과 얼마나 유사하고 정확한지 측정 2) 관련성(Relevance): LLM의 답변이 사용자의 질문과 얼마나 관련있는지 측정 3) 근거성(Groundedness): LLM의 답변이 검색된 데이터의 맥락과 얼마나 일치하는지 측정 4) 검색 관련성(Retrieval relevance): 입력된 질문과 검색된 데이터는 얼마나 관련있는지 측정 2. 데이터 셋 형식 변경 - 현재의 Docs에서는 다음과 같은 데이터 셋 형식을 사용하고 있습니다. # Define the examples for the dataset examples = [ { "inputs": {"question": "How does the ReAct agent use self-reflection? "}, "outputs": {"answer": "ReAct integrates reasoning and acting, performing actions - such tools like Wikipedia search API - and then observing / reasoning about the tool outputs."}, }, ... ] - 따라서 강의에서 제공된 데이터 셋을 다음과 같이 변경할 수 있습니다. Docs의 Evaluator에서는 'contexts' 를 사용하진 않는 것 같지만 기존 데이터 셋의 내용에 맞추어 수정한 점은 참고바랍니다. examples = [ { "inputs": {"question": "제1조에 따른 소득세법의 목적은 무엇인가요?"}, "outputs": {"answer": "소득세법의 목적은 소득의 성격과 납세자의 부담능력에 따라 적정하게 과세함으로써 조세부담의 형평을 도모하고 재정수입의 원활한 조달에 이바지하는 것입니다."}, "metadata": {"contexts": "제1조(목적) 이 법은 개인의 소득에 대하여 소득의 성격과 납세자의 부담능력 등에 따라 적정하게 과세함으로써 조세부담의 형평을 도모하고 재정수입의 원활한 조달에 이바지함을 목적으로 한다."}, }, ... ] 3. Upstage Model을 사용하는 방법 - 현재의 Docs에서는 각 단계에서 LLM을 선언하는 부분에서 다음과 같이 'ChatOpenAI()' 함수를 사용하고 있습니다. # Rag-Bot from langchain_openai import ChatOpenAI ... llm = ChatOpenAI(model="gpt-4.1", temperature=1) # Evaluators grader_llm = ChatOpenAI(model="gpt-4.1", temperature=0).with_structured_output( ... ) - 따라서 다음과 같이 'ChatUpstage' 라이브러리를 import한 후, 'ChatOpenAI()' 함수를 사용하는 부분을 'ChatUpstage()' 함수로 변경해주면 됩니다. 'Rag-Bot' 코드를 작성하는 셀에서 'ChatUpstage' 라이브러리를 import한다면 이하 코드에서는 일일이 import하지 않아도 되며, 'ChatOpenAI()' 함수에서 사용하던 'temperature=1' 인자는 제거해도 무방했습니다. # Rag-Bot from langchain_upstage import ChatUpstage ... llm = ChatUpstage(model="solar-pro3") # Evaluators grader_llm = ChatUpstage(model="solar-pro3").with_structured_output( ... ) 제가 수정한 전체 코드, 코드별 설명과 변경된 데이터 셋 파일은 아래 링크에 업로드해두었으며, 참고하시면 좋을 것 같습니다. https://github.com/C0deH4ter/llm-application/tree/main/5.1%20Upstage%20Challenge
최근에 Redis 의 개발사가 라이선스 정책을 변경하면서, 더 이상 완전한 무료 오픈소스로 부르기 애매해지는 사건이 있었습니다. 이에 반발한 AWS, 구글 등 빅테크 기업들이 모인 Linux Foundation 에서 기존 Redis 코드를 그대로 복사해서(포크해서) 만든 진짜 100% 무료 오픈소스가 바로 Valkey 입니다. 라고 제미나이가 그러던데... 요즘은 Valkey를 선택하는 게 대세인가요?
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 🙂 [1. 질문 챕터] : 23:26 [2. 질문 내용] : 설치과정에서 비바도를 설치하고 installing files, ~% completed 과정에서 용량을 엄청차지하는데 울트라스케일이런거는 0으로 바꿔도 되는거아닌가요? 영상에 설명이 따로 없어서 그냥 받고있는데 용량이 너무커요 ㅠㅠ 일단은 다운받고 필요없는 부분은 따로 삭제할수있나요?? [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.================= 질문 내용을 작성해주실 때, 위의 3단계 로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!! 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================
[질문내용] 실전!스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 JPA와 DB설정 동작확인에서 MemberRepositoryTest 파일을 실행 하면 첨부한 사진과 같은 에러가 발생합니다. [에러코드] Unable to load class 'jpabook.jpashop.MemberRepositoryTest'. This is an unexpected error. Please file a bug containing the idea.log file. 현재 모든 코드는 1. 프로젝트 환경설정.pdf 파일에 있는 코드를 복사 붙여넣기 하였고 build.gradle에서 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.12.1' 이 부분만 따로 추가하였습니다. 현재 파일 구조 시스템 환경 변수 java setting -> gradle
안녕하세요! 현재 LHCI를 도입하여 PR 단계에서 성능을 측정하려고 설정 중인데, 인증 구조 때문에 고민이 있어 조언을 구하고 싶습니다. 제 서비스의 인증 구조는 다음과 같습니다. - Google OAuth 로그인 - Access Token: Memory 저장 - Refresh Token: HTTP-only Cookie 저장 - RTR(Refresh Token Rotation) 적용 로그인이 필요한 페이지도 Lighthouse로 측정하고 싶어서 Puppeteer를 활용한 로그인 상태 생성을 시도하고 있습니다. 다만 Google OAuth 과정을 Puppeteer로 자동화하는 것은 현실적으로 어렵다고 판단하여 토큰을 주입하는 방식을 고려했습니다. Access Token 주입하는 것은 메모리 기반이라 번들에 포함될 가능성이 있어 우려되어 Refresh Token 주입을 page.setCookie로 시도하였습니다. 하나의 URL은 잘 측정되었지만, 여러 URL을 측정하는 과정에서 PTR로 Refresh Token이 갱신되면서 인증이 풀리는 문제가 발생했습니다. 테스트용 로그인 API를 새로 만드는 것이 좋을지.. 이런 상황에서 LHCI로 로그인된 페이지를 안정적으로 측정하려면 어떤 접근 방식이 일반적으로 사용되는지 궁금합니다. 혹시 관련 경험이나 추천 방식이 있다면 조언 부탁드립니다 ㅠㅠ!!