안녕하세요 강사님! 자바는 메소드 자체를 직접 넘겨주는 것 처럼 쓸 수 있다, 자바에서 함수는 변수에 할당되거나 파라미터로 전달할 수 없다. 이부분에서 명확하게 이해가 잘 안되어서 질문을 남깁니다 ㅠ 자바에서 JDK 8이후로 람다와 스트림, 함수형 인터페이스 덕분에 자바도 함수가 일급 시민으로 취급되어 함수형 프로그래밍 패러다임을 적용해서 상호 보완해나가며 개발할 수 있다고 배웠습니다. 그러나 강사님께서 말씀하시는 내용으로는 자바는 그런 것 함수가 일급 시민 자체가 된 것이 아니라, '일급 시민이 된 것 처럼' 동작하도록 함수형 인터페이스를 통해 함수형 프로그래밍을 할 수 있게 된 것이지 근본 자체가 일급 시민이 아니라는 말씀이신건지가 궁금합니다.. 중요한 내용은 아닌것 같지만 모호하게 알고 넘어가기가 찜찜해서 질문을 남겨드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] CAS - 동기화와 원자적 연산 챕터 교재 32페이지 여기서 lock.compareAndSet() 앞에 !가 붙어야하는게 맞나요? 제가 잘 이해한거라면 그게 맞는 것 같아서 글 남깁니다:) 항상 좋은 강의 감사드립니다!
안녕하세요 토비님 가의 잘 보고 있습니다. DDD는 처음이고 헥사고날방식도 처음이라 질문 수준이 낮은 점 양해 부탁드립니다! 이 강의까지 보고나서 전체코드를 봤을떄 궁금한 점들이 있어서 질문 드립니다! 1번 질문: @Entity public class Member { @Embedded private Address homeAddress; } @Embeddable public class Address { private String city; private String street; private String zipcode; } @Embeded사용할때 데이터 필드를 의미 있는 하나의 묶음 이라는 의미로 사용하는데 profile 이나 email같은 경우에는 컬럼이 하나여도 @Embeded 로 묶으셨는데 그 기준(언제 사용해야하느지)가 궁금합니다. 저라면 그냥 생각 없이 String 으로 받았을거같은데 ….! 2번 질문 : Aggregate root 로 접근해하면 메서드 체이닝 비슷하게 일어나는거 같은데 그런 점은 괜찮나요!? 3번 질문 :. Aggreagate root로 접근하는 방식은 DDD에서만 사용하는지 ?? 기존 JPA + 레이어 아키텍쳐에서도 사용이 가능한건지....? 4번 질문 : 강의에서는 1:1 이였지만 , ManyToOne 단방향 , ManyToOne OneToMany 양방향 관계에서도똑같이 Aggregate root로 접근해서 데이터를 처리해야하는지..? 미리 감사드립니다!!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 강의 수강 중 질문이 생겨 여쭤봅니다. api를 개발하는 과정에서 DTO를 사용하고, 혹여나 그렇지 않을 경우 @JsonIgnore을 사용하는 것을 이해했습니다. 만약 스프링부트 1 강의처럼 뷰템플릿으로 개발할 때에는 컨트롤러 리턴 타입이 객체가 아니라 String이기 때문에 DTO가 필요없을까요 ? (굳이 필요하다면 form 객체..?) 마찬가지로 뷰 템플릿에서는 무한 참조 상황에서 @JsonIgnore을 사용하는 것이 아니라 양방향 편의 메서드로 무한 참조를 방지하면 해결이 되는지 궁금합니다!
처음 세팅을 강사님처럼 naver-client 모듈을 생성하고 하지는 않았긴 했는데 이게 이유가 될 수 있나요? external에서 테스트할 때는 동일하게 common 쪽 import 하고 사용했을 때 테스트가 정상적으로 동작을 해서 뭐가 원인인지 모르겠습니다. C:\Users\82108\Desktop\PARK_BH\library-search\search-api\src\main\java\com\library\controller\BookController.java:3: error: cannot find symbol import com.library.NaverBookResponse; ^ symbol: class NaverBookResponse location: package com.library
[질문 내용] (05:30 참고) privateValue, defaultValue는 접근제어자에 의해 Child에서 접근이 불가능한 것까진 알겠습니다. 두 멤버도 상속이 되긴 하는건가요? 그리고 Child가 Parent를 상속하는 것으로 설정하면, Child 인스턴스를 생성했을 때 내부에 printValue, defaultValue 두 멤버가 생기긴 하는데 접근을 못 하는건가요, 아니면 애초에 두 멤버는 인스턴스 안에 안 생기는건가요?
안녕하세요! langraph를 업무에 사용예정이여서 강의 수강중입니다. 윈도우 환경셋팅이 필요해서 다음 에러를 해결해서 개발환경 셋팅을 완료했습니다. 앞으로 강의를 수강하는데 다음 uvloop 패키지가 없어도 괜찮을까요? chroma-hnswlib 도 무시하고 설치로 해도 괜찮은지 궁금합니다. 가능하다면 윈도우 환경에서의 패키지 모듈 관리도 되면 좋을 것 같습니다 🙂 uvloop window 환경에서는 무시하고 설치하도록 변경 'uvloop; sys_platform != "win32"', # ⬅ Windows에서는 설치 안 함 chroma-hnswlib Visual C++ Build Tools 설치
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] (05:30부터) publicValue와 protectedValue에는 어떻게 접근한건가요? : publicValue, protectedValue는 타 클래스인 Parent의 멤버변수이고, 그것에 접근하려면 Parent의 인스턴스를 생성한 다음(인스턴스 변수는 'p'라 하겠습니다) 'p.'을 앞에 적어야 접근이 가능한 것 아닌가요? 즉 저는 p.publicValue같은 식으로 불러야 하는 것으로 알고있는데, 여기서는 어떻게 'p.'없이 접근을 한건지 궁금합니다 ㅠ
from langchain_core.prompts import ChatPromptTemplate from pydantic import BaseModel, Field from typing import Literal class Route(BaseModel): target: Literal["income_tax", "llm", "real_estate_tax"] = Field( description="The target for the query to answer" ) router_system_prompt = """ You are an expert at routing a user's question to 'income_tax', 'llm', or 'real_estate_tax'. 'income_tax' contains information about income tax up to December 2024. 'real_estate_tax' contains information about real estate tax up to December 2024. if you think the question is not related to either 'income_tax' or 'real_estate_tax'; you can route it to 'llm'.""" router_prompt = ChatPromptTemplate.from_messages( [("system", router_system_prompt), ("user", "{query}")] ) structured_router_llm = small_llm.with_structured_output(Route) def router(state: AgentState) -> Literal["income_tax", "real_estate_tax", "llm"]: """ 주어진 state에서 쿼리를 기반으로 적절한 경로를 결정합니다. Args: state (AgentState): 현재 에이전트의 state를 나타내는 객체입니다. Returns: Literal['income_tax', 'real_estate_tax', 'llm']: 쿼리에 따라 선택된 경로를 반환합니다. """ query = state["query"] router_chain = router_prompt | structured_router_llm route = router_chain.invoke({"query": query}) return route.target 안녕하세요 강병진 강사님:) 혹시 위 코드에서 router_prompt없이 Route class의 Field에만 프롬프트 지침을 넣어도 문제가 없을까요? 테스트 결과는 잘 나왔습니다. 아래는 수정 코드입니다. class Route(BaseModel): target: Literal["real_estate_tax", "llm", "income_tax"] = Field(description = """ 당신은 사용자의 질문을 보고 적절한 라우터를 연결해주는 전문가입니다. 부동산에 관련된 질문은 real_estate_tax라우터를, 소득세에 관한 질문은 income_tax라우터를, 그 외의 질문은 llm라우터로 연결해주세요. """) def router(state: AgentState): query = "역삼역 떡볶이 맛집을 알려주세요 " router_llm = llm.with_structured_output(Route) response = router_llm.invoke(query) return response.target print(router({})) >> 'llm'
MCP Server 나 langgraph 나 모두 tool 입니다. 만약 tool 에서 결과 값이 너무 많이 나오는 경우 어떻게 처리 해야 할까요? 예1) MCP Server의 "우리 회사 고객 정보중 매출 얼마 이상 되는 정보를 보여줘?" 라고 고객이 입력 했는데, 그 고객 정보가 10만명이 나와서 tool 의 결과가 너무 커 버리는 예) DB의 Limit 등으로 어떻게 하더라도 다음 호출을 LLM이 잘 못해주는 경우가 있음. 예2) 슬랙의 채널을 보여줘 했을 때, 슬랙의 채널이 너무 많은 경우 ... 결국 전부다 예3) 소스코드를 분석해 줘 소스코드가 1만 - 2만 라인 되었을 경우 Tool 의 결과라도 양이 많으면 Summary를 하면서 계속 돌려야 하는게 효과 적일까요? 아니면 페이지 1, 2 등을 호출할 수 있게 어떻게 하던 LLM 에게 권한을 주는게 효과 적일까요? 더 괜찮은 방법이나 좋은 prompt 등이 있으시면 답변 부탁 드립니다. 감사합니다.
안녕하세요 좋은 수업제공해주셔서 많은 도움을 받고있습니다. langChain에 public 모델을 사용할때 개인정보 관련해서 질문이 있는데요 예를 들어 챗봇이나 자동 상담 기능에 적용을 한다고하면 입력이 매우 자유로울거같은데 개인정보에대해서는 어떻게 처리를 해야할까요? 기본적으로는 정규식으로 전처리를 하는데 100%보장된 작업은 아니라 현업에서는 어떻게 처리하는지 궁금합니다. 만약 개인정보 처리가 매우 중요하다면 public 모델(ex. chatGPT, gemini)은 사용 못하고 private 한 환경에 오픈소스로 운영할수밖에는 없을까요?
안녕하세요 파이썬 활용한 데이터 전처리 부분에서 14.1 파이썬을 활용한 데이터 전처리.ipynb 위 코드를 가져와서 진행하는 과정에서 아래와 같은 에러가 발생했습니다. UnicodeEncodeError : 'cp949' codec can't encode character '\u2219' in position 1119: illegal multibyte sequence 이것저것 파이썬 기본 인코디을 utf-8로 바꾸라고 해서 set PYTHONUTF8=1 해당 코드도 사용해 봤는데 결국에는 아래와 같은 에러가 발생해서 질문드리게 되었습니다. TypeError : 'NoneType' object is not iterable 혹시 어떻게 해야할까요? (윈도우 사용중입니다)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 질문은 아니고.. 생산자 소비자 문제 파트 공부하다가 정말 감사해서 글 남깁니다. 이해를 위한 그림이 지금 세기도 힘들 정도로 많이 들어가있는데.. 학습자를 배려해주시는 마음이 느껴져서 정말 감사하네요.. 얼마나 많은 시간과 노력이 들어가있는지 가늠도 안됩니다. 정말 덕분에 편하게 공부하고 있습니다. 항상 감사드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이전의 프린트 예제에서는 큐를 생성할 때 ConcurreentLinkedQueue를 사용했고, 생산자 소비자 문제에서는 ArrayDeque를 사용했는데, ConcurreentLinkedQueue를 쓰지 않아도 괜찮은건가요? 이 예제는 lock을 획득한 스레드만 접근 가능해서 동시성문제를 해결한 상황이라서 그런건가요?