실제로 워프를 운영하고 있는 서버에서 N8N을 돌리고 싶은맘에 시놀로지 환경에서 운영하고 있습니다. 헌데 이것저것 만지다 N8N 연결이 깨져버렸네요. 제미나이 클로드 이놈들에 수많은 핑퐁을 했지만... 계속 사태가 커지는 것 같아 강의와 상관없는 내용이지만 질문 남겨봅니다. 프로젝터에 컨테이너가 0이 뜨고 있는데.... 클로드와 연결해서 이것저것 하다보니 뭔가가 꼬인것 같습니다. ㅜㅠ 현재 컨테이너도 이런 상태인데 어떤것이 켜져 있어야 하고 어떤 것이 꺼져 있어야 하는지.... 정상 상태를 모르겠네요. 현재 워크플로우와 노드에 접근은 되는데, 이런 상태라면 처음 단계에서 처럼 도커에 N8N을 다시 올리면 되 살릴 수 있을까요? 넘 초짜다보니...
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
@PutMapping("/user") public void updateUser(@RequestBody UserUpdateRequest request){ String readSql = "select * from user where id=?"; String sql = "update user set name=? where id=?"; jdbcTemplate.update(sql, request.getName(), request.getId()); } 웹페이지에서 update를 발생시켜서 put 요청이 올라 왔을때 UserUpdateRequest dto에 id와 name이 들어 간다는건 웹에서 요청이 올라왔을때 json에 이미 해당 name에 대한 id 정보가 있다는 거죠? id는 db에서 자동적으로 생성해 준다고 했었는데, 이 id를 웹에서는 어떻게 알고 있나요?
안녕하세요 선생님 🙂 먼저 양질의 강의를 제공해주셔 정말 감사합니다. cross_encoder_retriever = ContextualCompressionRetriever( base_compressor=re_ranker, base_retriever=multi_query_custom_retriever, ) 위와 같이 re-ranker를 적용시킬때 retriever를 멀티쿼리로 적용을 해보았습니다. 랭스미스로 로깅을 해보니, 멀티 쿼리는 정상적으로 작동한것 같은데요, 각각의 쿼리에 대해 Runnable로 리랭킹을 하는게 아닌, 원본 쿼리를 기반으로 리랭킹을 한다는 느낌을 받았습니다. 아무래도 데이터셋이 테스트용이라 확답이 안서는데, 이 부분은 사용자의 "원본" 쿼리로만 리랭킹을 하는건지 궁금합니다. 만약 그렇다면 랭그래프로 해결을 할 수 있을듯 한데요, State에 멀티 쿼리의 문서 검색 결과를 저장한 뒤, 각 쿼리에 대한 리랭킹 노드를 하는 방법이 생각이 났는데 피드백 부탁드려도 될까요? (사실 오버 엔지니어링이라는 생각이 들지만 ㅎㅎ 실제 프로덕션에 적용시킨다면 어떤 아키텍쳐가 좋은지 궁금합니다!) 감사합니다 :)
문제가 있어요.. 저는 추가정보요구도 없고 VPS 생성도 안되고 있습니다.. Balance에 금액 충전되고 Current monthly price에 금액이 0 이어서.. 한 번 더 오더했더니.. 또 결제되고 Balance만 또 충전되었어요.. 결제시 페이지 번역해서 사용하지 않았어요.. 이거 환불 받으려면 어떻게 해야 할까요... CONTABO 아닌 다른 대안은 없을까요.. 코딩 뿐 아니라 이런거 완전 처음 배워보는 중인데.. 처음부터 막히니 답답하네요.. 앞으로 강의보고 진행하는데 괜찮을까요;;
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 4-8강 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? chapter4/_2_event_with_participant 폴더의 EventJoinService 객체의 메서드 코드에 대한 질문입니다. 코드의 어떤 로직이 이해가 안 되시나요? @Transactional public void joinEvent(Long eventId, Long memberId) { Event event = eventRepository.findById(eventId) .orElseThrow(() -> new EntityNotFoundException("이벤트를 찾을 수 없습니다.")); Member member = memberRepository.findById(memberId) .orElseThrow(() -> new EntityNotFoundException("회원을 찾을 수 없습니다.")); // save()를 호출하지 않아도 Dirty Checking에 의해 Update 쿼리가 나가지 않나요? event.increaseParticipants(); eventRepository.save(event); EventParticipant participant = EventParticipant.builder() .event(event) .member(member) .build(); participantRepository.save(participant); } } 코드 블럭의 주석 란에 질문을 적어놓았습니다. 저 상황에서 save() 를 호출하는 이유가 궁금합니다. JPA 엔티티의 상태 변경분에 대한 쿼리는 트랜잭션 커밋 후, 자동으로 나가는 것으로 알고 있습니다. 혹시, 제가 잘못 알고 있는건지 궁금합니다.
AI를 1도 모르는 JAVA 개발자 입니다. AI를 어떻게 공부해야 하는지 몰라서 인프런 검색하여 강사님 강의를 듣게 되었습니다. AI 개발에 파이썬이 사용된다고 하여 인공지능을 위한 파이썬 Level4 까지 모두 구입해두고 듣고 있는데요. 개발자라서 지금 수업이 어렵거나 하지는 않습니다. 그런데 인공지능을 위한 파이썬 LEVEL4 수업이 끝나면 어떤 수업을 들어야 하는 걸까요? 강의를 듣다 보니 통계, 확률을 알아야 하는 것 같은데 저는 그것도 전혀 모릅니다. 이후 어떤 수업을 들어야 하는지 문의드려요.
안녕하세요 선생님. 오늘도 너무나 재밌게 잘 배우고 있습니다. 감사드립니다. 현재 시간 관계상, 섹션4(RCNN계열)까지 수강 후 섹션7(SSD)를 수강중입니다. 강의 내용을 누락시킨 채 질문을 드리는 것이 아니었으면 좋겠습니다. 제가 이해한 바 Faster-RCNN에서 RPN은 image 원본이 아닌 feature map을 입력을 받는다. RPN 내에서 Positive Anchor들에 대해서만 학습을 수행한다. 일 때 학습 시에, RPN내에서 특정 anchor의 Positive 판단이 된다면, 해당 anchor 위치에 어떤 객체 A의 GT가 IoU 기준에 부합하다는 것이 판단되어야 할텐데, RPN 내에서는 feature map 을 입력으로 받고 있으니 내부에서 A 객체의 GT와 anchor 의 IoU를 계산하기 위해선 GT(image 좌표계), anchor(feature 좌표계)를 비교해야 할 텐데 이건 너무 번거로운 일이 아닌가 생각이들었습니다. 위 내용이 틀렸다면 RPN 이전 벌써 anchor 가 존재하고(혹은 설계 가정), 매 학습 이미지가 들어올 때마다 각 anchor 의 라벨정보를 미리 구해놓은 뒤 역전파 시점에서 해당 라벨 정보를 가지고 RPN의 손실 함수 계산에 해당 라벨정보를 포함시킬 수 있겠다라고 생각을 했습니다. 하지만 이런 경우 이 anchor의 positive 처리 과정이 network 내로 들어올 수 없고 Keras 와 같은 framework 구성으로 들어와야하지 않을까 하는 생각이 들었습니다. network 에는 처리 소스코드를 넣을 수 없으니까요. (특정 구조로 가능할런지는 모르겠습니다) 질문입니다. RPN 내에서 Anchor Positive 처리가 이뤄지나요?
현재 사정상 회사망에서 구성을 하여 공부해볼 생각인데 말그대로 회사망이라서 vagrant를 사용하는 데에 제한이 있습니다 그래서 직접 설치할 예정이고 github에 올려주신 vagrantfile 내용을 토대로 설치해볼 생각인데 rocky 리눅스 같은 경우 8버전을 쓰는지도 궁금하고 minimal 버전으로 설치해서 구성하는지도 궁금합니다 이전에도 비슷한 내용으로 질문 드린 적이 있긴한데 제가 알고 있는 지식이 많지 않아 한계가 있어서 차근 차근 설치해 보면서 공부해 보려고 하는데 이전에도 언급해주신 적이 있어서 우선 카페에 올려주신 mac 설치 버전을 기점으로 참고하여 설치해보려고 합니다
안녕하세요 토비님!! 강의를 완강하고 제 프로젝트를 리팩토링하면서 피드백받고싶은점이 생겨 질문글을 올립니다. Repository Port를 기술에 종속시키지 않기 위해 Adapter에서 JPA, MyBatis, QueryDSL을 조합하는 구조를 선택했는데, 이 설계 방향이 적절한지 조언을 구하고 싶습니다. 현재 구조 core/ └── domain/ └── application/ └── required/ ← Port 인터페이스 └── ~Repository adapter/ └── persistence/ ├── ~RepositoryAdapter ← Port 구현체 ├── ~JpaRepository ← Spring Data JPA └── ~MybatisMapper ← Mybatis 매퍼 인터페이스 의존 관계 [Service] → [Repository] ←impl― [RepositoryAdapter] → [JpaRepository] → [MybatisMapper] → [JPAQueryFactory] (core) (core) (adapter) (adapter) 예시 @Repository @RequiredArgsConstructor public class ItemRepositoryAdapter implements ItemRepository { private final ItemJpaRepository itemJpaRepository; private final ItemMybatisMapper itemMybatisMapper; @Override public List<Item> findBySearchRequest(ItemSearchRequest request) { return itemMybatisMapper.findBySearchRequest(request) .stream() .map(Item::from) .toList(); } @Override public List<Item> saveAll(List<Item> items) { return itemJpaRepository.saveAll(items); } } @Repository @RequiredArgsConstructor public class AuctionRepositoryAdapter implements AuctionRepository { private final JPAQueryFactory jpaQueryFactory; private final AuctionJpaRepository auctionJpaRepository; @Override public void deleteAllByRegionAndRealmId(RegionType region, Long realmId) { QAuction qAuction = QAuction.auction; BooleanBuilder filter = new BooleanBuilder(); filter.and(qAuction.region.eq(region)); if (realmId == null) { filter.and(qAuction.realmId.isNull()); } else { filter.and(qAuction.realmId.eq(realmId)); } jpaQueryFactory.delete(qAuction) .where(filter) .execute(); } @Override public int saveAll(List<Auction> auctions) { if (auctions.isEmpty()) return 0; return auctionJpaRepository.saveAll(auctions).size(); } } 이 구조를 선택한 이유 동적 쿼리, 벌크 연산 등 JPA만으로 해결하기 어려운 케이스가 있어 MyBatis와 QueryDSL을 병행 사용하고 있습니다. 일반적인 방식인 Port 인터페이스가 Spring Data JPA Repository를 상속하는 구조를 채택하지 않은 이유: MyBatis나 QueryDSL 기반 구현체를 만들 수 없음 CustomRepository 인터페이스를 별도로 만들어야 하는 복잡도 증가 현재 방식의 장점: Port 인터페이스가 순수 Java 인터페이스로 유지됨 RepositoryAdapter에서 상황에 맞는 기술을 자유롭게 조합 가능 추가 인터페이스 없이 단순한 구조 유지 저는 현재 구조가 의존 관계도 외부에서 내부로 향하고 테스트도 쉬워서 괜찮다고 생각하는데 토비님의 생각도 듣고싶습니다!! 좋은 강의 감사합니다!!
n8n에 command 노드가 새로 생겼는데 google clude api 결제 말고 일반 ChatGPT 구독해서 사용하던 사용자도 cli로 명령어 넣어서 결과를 받을 수 있지 않을까요 ? 해당 노드가 생긴지 얼마 안되서 강의 추가되면 좋을듯 합니다! 저는 기존에 ChatGPT를 구독하고 있어서 이중으로 요금이 부과되는것보단 나을듯하여 가능한지 + cmd 노드 추가로 인해 추가 강의 계획 있으신지 궁금합니다!