학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 선생님, 진짜 너무 어려워요. 강의를 하기전에, 코드를 쓰는 배경, 코드를 해석해주는 등등 이해를 좀 시켜주세요. 초심자 눈높이에 좀 맞춰주세요... 혼자 너무 위아래로 왔다갔다 하시면서 , 뭔가 따라 써보려고해도 어디서부터 어떻게 따라써야하는지 기준도 없어서 너무 헷갈립니다. 어떤식으로 공부해야하는지 방향성도 알려주시면 감사하겠습니다.
안녕하세요. 3.2 예제 실습중 아래와 같은 이슈를 해결하지 못하여 질문 드립니다. 사용자 환경운 github 에서 제고해준 code space 환경에서 테스트 중입니다. 오류 코드는.. from langchain_chroma import Chroma # 데이터를 처음 저장할 때 database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name='chroma-tax', persist_directory="./chroma") 위 코드 실행시 아래와 같은 오류가 발생합니다. AttributeError Traceback (most recent call last) Cell In[108], line 4 1 from langchain_chroma import Chroma 3 # 데이터를 처음 저장할 때 ----> 4 database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name= 'chroma-tax' , persist_directory= "./chroma" ) 6 # 이미 저장된 데이터를 사용할 때 7 #database = Chroma(collection_name='chroma-tax', persist_directory="./chroma", embedding_function=embedding) File /workspaces/faith79/.venv/lib/python3.12/site-packages/langchain_chroma/vectorstores.py:1239 , in Chroma.from_documents (cls, documents, embedding, ids, collection_name, persist_directory, client_settings, client, collection_metadata, kwargs) 1237 if ids is None: 1238 ids = [ doc.id if doc.id else str(uuid.uuid4()) for doc in documents] -> 1239 return cls.from_texts( 1240 texts=texts, 1241 embedding=embedding, 1242 metadatas=metadatas, 1243 ids=ids, 1244 collection_name=collection_name, 1245 persist_directory=persist_directory, 1246 client_settings=client_settings, 1247 client=client, 1248 collection_metadata=collection_metadata, 1249 kwargs, 1250 ) ... --> 327 client settings = chromadb.config.Settings(is_persistent=True) 328 client settings.persist_directory = persist_directory 329 else: AttributeError : module 'chromadb' has no attribute 'config' Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings... //////////////////////////////////////////////////////////////////////////////// chromadb 에서 config 속성 사용이 안된다는거 같아요. 그래서 langchain_chroma의 버전도 변경하고 chromadb 도 설치 후 버전도 이것저것 변경해 보았는데, 동일한 이슈만 지속적으로 나오고 있습니다 꼭 해결하고 싶어요~ 도와주세요.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 강의 정말 잘 보고 있습니다. Stream관련하여 질문이 있는데요. Stream 같은 경우에는 파이프라인을 작성하면서 연산마다 body부가 추가될 수도 있고 중간 연산이 계속 체이닝 되는 형태로 구성이 될 수도 있습니다. 이럴 때 어느 연산에서 문제가 생기는지 디버깅을 하는게 참 번거롭다는 생각이 들곤했습니다. 저 같은 경우에는 이럴 때 peek 와 sout을 활용해서 어떻게든 값을 확인하는 식으로 디버깅을 해왔는데 더 좋은 방법이 없을까요? 브레이크 포인트를 잡기도 명령형 프로그래밍 방식보다 어려운 점이 있는 거 같아서요 ㅠㅠ
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 세요 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보 train = pd.get_dummies(train, columns=cols) test = pd.get_dummies(test, columns=cols) display(train.head(2)) display(test.head(2)) KeyError Traceback (most recent call last) <ipython-input-52-5da4ae8d05fa> in <cell line: 0>() 1 # 원핫 인코딩 ----> 2 train = pd.get_dummies(train, columns=cols) 3 test = pd.get_dummies(test, columns=cols) 4 display(train.head(2)) 5 display(test.head(2)) 3 frames /usr/local/lib/python3.11/dist-packages/pandas/core/indexes/base.py in _raise_if_missing(self, key, indexer, axis_name) 6247 if nmissing: 6248 if nmissing == len(indexer): -> 6249 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 6250 6251 not_found = list(ensure_index(key)[missing_mask.nonzero()[0]].unique()) KeyError: "None of [Index(['sex', 'smoker', 'region'], dtype='object')] are in the [columns]"
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. QueryRunner 커스텀 데코레이터 만들기 듣고 있는데 강의대로 return next.handle().pipe( catchError(async (e) => { await qr.rollbackTransaction(); await qr.release(); throw new InternalServerErrorException(e.message); }), tap(async () => { await qr.commitTransaction(); await qr.release(); }), ); 이렇게 코드를 짜면 포스트맨에서 응답으로 { "message": "QueryRunner Decorator를 사용할려면 TransactionInterceptor를 적용해야 합니다.", "error": "Internal Server Error", "statusCode": 500 } 이렇게 나옵니다. 그래서 tap 대신에 mergeMap(async (value) => { await qr.commitTransaction(); await qr.release(); return value; }), merge맵을 사용하면 문제가 해결되는데 강의에서는 tap을 써도 트랜잭션 커밋이 잘 되는 것처럼 보였는데, 설명 부탁드립니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
flutter: previous: Instance of 'UserModel', next: Instance of 'UserModelLoading' flutter: [REQ] [POST] http://127.0.0.1:3000/auth/login flutter: [RES] [POST] http://127.0.0.1:3000/auth/login flutter: [REQ] [GET] http://127.0.0.1:3000/user/me/ flutter: [RES] [GET] http://127.0.0.1:3000/user/me/ flutter: previous: Instance of 'UserModelLoading', next: Instance of 'UserModel' 섹션16까지 했는데 로그인 후 화면이동이 안되고 있습니다. 그래서 AuthProvider 에서 prev, next 를 찍어 보았는데 변경을 잘 되고 있습니다. 어디를 확인하면 좋을까요?
안녕하세요! 강의 늘 잘 듣고 있습니다, 감사합니다. 다름이 아니고, Comment 테이블 관련한 질문인데요. 일전에 비슷한 경우를 보았는데, parentCommentId를 null로 둔걸 본 것 같습니다.(용량절약을 위한 목적이였다고 들었습니다) 혹시 최상위 자신의 commentId로 parentComentId를 지정한 부분에 대해 궁금해서 글 올리게 되었습니다. 감사합니다.
안녕하세요. JPA 학습중인 학생입니다. 양방향 참조 관계에서 여러 방법으로 연습하던 중, 예상치 못한 행동을 발견해 왜 이렇게 작동하는지 궁금해서 질문드립니다. 연습한 코드입니다. // Team - Member 는 1:N @Entity class Member { @Id @GeneratedValue private Long id; private String name; // 편의상 public @ManyToOne @JoinColumn(name = "TEAM_ID") public Team team; public Member() { } public Member(String name) { this.name = name; } } @Entity public class Team { @Id @GeneratedValue private Long id; private String name; // 편의상 public @OneToMany // 원래는 mappedBy = "team" 으로 owner 를 설정해야 함. @JoinColumn(name = "TEAM_ID") public final List<Member> members = new ArrayList<>(); public Team() { } public Team(String name) { this.name = name; } } 강의에서 배웠듯, 양방향 참조관계에선 mappedBy = ... 로 관계의 주인을 설정해야 합니다. 그런데 만약 이를 생략하면 어떻게 작동할까 호기심이 생겨 아래의 코드를 실행시켰습니다. EntityManager em = getEm(); // 편의상 코드 생략 em.getTransaction().begin(); Member member1 = new Member("member1"); Member member2 = new Member("member2"); Team team1 = new Team("team1"); Team team2 = new Team("team2"); // 편의상 코드 생략 // 단순 em.persist( given ) 을 수행합니다. persistAll(member1, member2, team1, team2); em.flush(); // DB 반영 System.out.println("============== AFTER FLUSH =============="); member1.team = team1; // [1] : mem1 의 팀을 t1 으로 설정 team2.members.add(member2); // [2] : mem2 의 팀을 t2 로 설정 em.getTransaction().commit(); // Member - Team 연관관계 변경 내용 commit em.close(); System.out.println("============== END =============="); 제 예상은 실행시 오류가 발생하거나 [1] 내용만 반영되는 것이었습니다. 하지만 실행하니 [1] , [2] 모두 반영되는 것을 확인하였습니다. DDL & 출력 내용 Hibernate: create table Member ( id bigint not null, name varchar(255), TEAM_ID bigint, primary key (id) ) Hibernate: create table Team ( id bigint not null, name varchar(255), primary key (id) ) Hibernate: alter table Member add constraint FKl7wsny760hjy6x19kqnduasbm foreign key (TEAM_ID) references Team ... ============== AFTER FLUSH ============== Hibernate: /* update scripts.entities.Member */ update Member set name=?, TEAM_ID=? where id=? Hibernate: /* create one-to-many row scripts.entities.Team.members */ update Member set TEAM_ID=? where id=? ============== END ============== 실행 후 DB 조회 내용입니다. 위 상황에서 왜 member1 , member2 의 팀 변경내용이 모두 반영되는지 알고 싶습니다. 이러한 경우 JPA 가 Member , Team 모두를 연관관계의 주인이라 인식하는 건가요? 아니면 JPA 가 Member -> Team , Team -> Member 두 참조를 서로 다른 연관관계(?) 라 해석해 동작하는 걸까요?
Symbol 관련 테스트 코드를 Sandbox로 확인해 보았는데 결과가 다르게 나와서 문의드립니다. Javascript로 sandbox를 create하였고, 생성된 index.mjs 파일에 강의내용의 Symbol 테스트 코드를 동일하게 작성해여 테스트 하였습니다. let testSymbol1 = Symbol(1); let testSymbol2 = Symbol(1); console.log(typeof testSymbol1, testSymbol1); console.log(typeof testSymbol2, testSymbol2); console.log(testSymbol1 == testSymbol2); console.log(testSymbol2 === testSymbol2); Console로 확인한 결과는 2symbol Symbol(1) false true 이렇게 나옵니다. null로 나오지 않고, === 결과도 true인데 어떤 이유로 다르게 나오는건지 궁금합니다.
공부하던 중에 이 부분은 이렇게 수정해야 되는 것 아닌가..? 싶어서 글 남겨봅니다. [수정 제안 정보] 대상 강의록: 10. Optional.pdf 대상 위치: 강의록 p.24의 최상단 부분 , 영상의 10분 50초~ 수정 제안 수정 전: 사용 용도 orElse(T other) - 값이 이미 존재할 가능성이 높거나, ... 수정 후: 사용 용도 orElse(T other) - 값이 존재하지 않을 가능성이 높거나, ... 수정 제안에 대한 근거 orElse(T other) 는 other의 생성 비용이 높은 경우 에 "값이 이미 존재함에도 불구하고 생성 연산을 수행해야됨" 으로 인해서 비효율이 발생합니다. 이는 바꿔 말하면 "값이 존재하지 않는 경우에는 생성 연산이 필수적임" 이기 때문에 "값이 존재하지 않는 경우에는 비효율이 발생하지 않음" 이라고 해석할 수 있을 것 같습니다. 이때 강의에서 말하고자 하는 바는 "orElse()는 비효율이 발생할 수도 있다. 하지만 발생하지 않는 경우에는 사용해도 좋다." 라고 이해했는데, 이때 "비효율이 발생하지 않는 경우" 를 "값이 존재하지 않는 경우(생성 연산이 꼭 필요한 경우)" 라는 표현으로 대체 할 수 있기 때문에 "값이 존재하지 않을 가능성이 높은 경우(= 비효율이 발생하지 않는 경우)에는 orElse()를 사용해도 괜찮다." 라고 수정해야 하는 것이 아닌가 싶어서 제안합니다.
안녕하세요! 이번에 jooq를 도입하게 되어 강의를 보며 천천히 따라해보고 있습니다. 현재 Flyway + DDLDatabase(testcontainers 사용안함) 방식으로 dsl을 생성하는 것을 테스트하고 있는데요.. flyway migration 파일(.sql)에 프로시저와 함수 생성문을 넣고 코드 생성을 실행 하니 상용 버전을 이용하라고 메시지가 나오며 실행이 안되길래 공식 문서를 확인해보니 오픈소스 에디션에서는 지원을 하지 않는다고 되어있더군요 ㅠㅠ 섹션2 - 생성된 DSL 구조 살펴보기 강의에서는 DB 스캔 방식이지만 Routines 클래스가 잘 생성되는 것을 볼 수 있는데 혹 강사님께서는 시 상용 버전을 사용하신 걸까요?? 아니면 DB 스캔 방식은 상용 버전 상관없이 Routines 클래스가 생성이 되는 걸까요?