dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' developmentOnly 'org.springframework.boot:spring-boot-devtools' } 의존성에 맨 아랫줄 코드를 추가하고, Build project automatically 이 부분도 체크하고, Advanced Settings의 자동 시작 이 부분도 체크했는데 컨트롤러 파일 수정 후 저장을 해도 브라우저엔 변경 사항이 적용이 안 됩니다. 검색을 해서 application.properties 파일에 spring.thymeleaf.cache=false 이 코드를 추가도 해보고, 또 Settings > Build, Execution, Deployment > Compiler > Resource patterns에 !?*.html를 추가해 봐도 안 되네요.. 참고로 제 프로젝트에선 Run/Debug Configurations 창에서 Modify options에 Spring Boot 항목이 없는데 이건 왜 그런 걸까요, 여기서 On 'Update' action에서 또 뭘 선택하라는 블로그들도 보긴 했는데 이 부분은 제 프로젝트에선 아예 없네요. Spring Boot 항목없이 바로 Operating System부터 나옵니다.
실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)과 랭그래프(LangGraph) 그리고 MCP
안녕하세요! 강의 잘 보고있습니다. MCP 관련해서 질문이 두 개 있습니다. # 1 MCP튜토리얼과 이 강의, 유투브를 보고 MCP 서버를 개발중입니다. https://github.com/snaiws/DART-mcp-server DART api연동하는 서버고 api가 83종류가 있습니다. FastMCP 사용하니 메인 스크립트에 함수를 매우 많이 적어야해서 팩토리클래스를 만들고, docstring을 따로 관리하고싶어 함수와 docstring을 분리해서 팩토리클래스에서 조립했습니다. 그런데 이렇게 만들고보니 FastMCP 개발방식 말고 from mcp.server import Server를 통해 좀 더 로우레벨로 만드는 방식도 있는 것 같았습니다. https://github.com/modelcontextprotocol/python-sdk 여기의 Low-Level부분입니다. 혹시 Low-level관련 영상도 업로드예정이 있으신가요? # 2 MCP 서버에 툴을 83개나 만들면 tool calling하는데 헷갈려할 것 같은데 맞는지... 그리고 어떻게 대처가 가능할지 조언부탁드립니다 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] H2 database 상에는 테이블이 잘 만들어졌고 오류도 안뜨는데 콘솔창에 create table~ 이 문장들이 출력되지가 않습니다. 상관없는 것인지 아니면 뭐가 문제일까요 ?
@Repository public interface ArticleLikeRepository extends JpaRepository<ArticleLike, Long> { // 메서드 이름 기반 쿼리 생성 // JPQL로 암시적으로 생성 해줌 // SELECT a FROM ArticleLike a WHERE a.articleId = ?1 AND a.userId = ?2 Optional<ArticleLike> findByArticleIdAndUserId(Long articleId, Long userId); } 보통 Repository 부분 보면 JPQL로방식으로 native쿼리를 통해 db데이터 조회,삭제,추가,업데이트 등등 내용이 많앗는데,, 아래부분은 쿼리를 작성 안해도 명시적인 구현체 없이 메서드 이름 기반 쿼리생성을 통해서 데이터를 조회 할수 있다고 하면 될가요?? 암시적으로 메서드 이름 기반 쿼리 생성은 암시적으로 JPQL이 생성된 상태에서 조회되는건가요?? 혹시 나해서 주석으로 spring document랑 기타 자료를 찾아서 주석문을 추가 했는데, 제가 이해한 부분이 맞나 싶어서 글을 올려봣습니다
안녕하세요, 이번 실습 프로젝트 동안에 Order와 OrderItem은 N:1의 연관관계로 설계하셨습니다. OrderService의 order()안에서 OrderItem을 생성하고 Order를 생성하는 것으로 미루어 볼 때, 하나의 OrderItem이 하나의 Order와 대응되는 구조가 아닌가요? (즉 한 건의 주문 데이터는 한 건의 주문상세 데이터만 갖는 구조) 이런거라면 order에서 cancel할 때 OrderItem을 순회하며 cancel하는 것이 의미가 있는건지 궁금합니다! 즉, 일괄 주문이 안되는데 일괄 주문 취소가 의미가 있는건지 궁금합니다! 감사합니다.
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>(); @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "delivery_id") private Delivery delivery; 보시는 바와 같이 Order의 생성 메서드에 필요한 파라미터에 들어가는 두 데이터입니다. 주문이 만들어지기 위해서는 OrderItem이 먼저 필요하기 때문에 인자로 주입하고 또 영속성 전이를 주는 것이 논리적이라 생각해 동의할 수 있었습니다. 그러나 Delivery 타입을 메서드로 주입받는 것은 배송이 있고 그 다음 주문이 존재한다는 흐름으로 받아들여집니다. 이 부분에 대한 조언을 얻을 수 있을까요? 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 강사님 강의 잘 듣고 있습니다!! 혹시 7. 고급동기화 교안 부분 parkNanos()에서 millis가아니라 ns아닌가요?! ! 그리고 작은 오타하나도 말씀드립니당:)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니요 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 김영한님 알고리즘 강의는 없는건가요??
Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
안녕하세요! supabase.ts 파일에서 createServerSideClient 함수에서 serverComponent=false일 때 쿠키 세팅을 하는 이유가 무엇인가요? 이 쿠키는 수파베이스 로그인할 때 외에 어디서 사용되나요? 코드에서는 createServerSideClientRSC, createServerSideMiddleware 함수는 사용하지 않고 있는데, 그냥 정의만 해놓은 건가요? 서버컴포넌트에서 쿠키를 조작하면 어떤 오류가 발생하나요?
Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
9-1강의 수업노트 봤는데요, 코드에서 getUser 함수는 2군데서 사용되는데, 항상 인자가 serverComponent가 true로 전달되더라구요. 그러면 getUser를 사용할 때 인자를 넘기지 않고, getUser 함수는 아래와 같이 코드를 만들어도 되는 건가요? export const getUser = async () => { const supabase = await createServerSideClient(true); const user = await supabase.auth.getUser(); return user?.data?.user; };
Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
9-1강의 수업노트 봤는데요, 코드에서 getUser 함수는 2군데서 사용되는데, 항상 인자가 serverComponent가 true로 전달되더라구요. 그러면 getUser를 사용할 때 인자를 넘기지 않고, getUser 함수는 아래와 같이 코드를 만들어도 되는 건가요? export const getUser = async () => { const supabase = await createServerSideClient(true); const user = await supabase.auth.getUser(); return user?.data?.user; };
Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
const getUserInfo = useCallback(async () => { const result = await supabase.auth.getUser(); if (result?.data?.user) setUser(result?.data?.user); }, [supabase]); 이 코드를 이해 못했어요. 왜 dependency 배열에 supabase가 들어가나요? userId 넣으면 왜 안되나요?