ElectricCar() 이 자식이라 부모를 불러와야한다는건 알겠는데 불러오는 부모가 class Car 을 불러오는건가요, 아님 public Car() 을 불러오는건가요? public Car() 를 불러오는거라 "Car created" 만 출력하는거고 그 밑에 있는 startEngine() 은 부르지않는게 맞는건지 궁금해요
수업 중에서는 langchain==0.3.3 버전을 사용하셨는데 제가 지금 수강하고 있는 시점에서는 1.0.3 버전이 나와서 1.0.3 버전으로 설치했습니다. No module named 'langchain.chains' RetrievalQA(create_retrieval_chain)를 임포트하려고 langchain.chains를 가져오려고 했는데, ModuleNotFoundError가 뜹니다. 현재 버전에서는 사라진 것 같습니다. 다른 방법을 추천하시는지 아니면 0.3.3으로 다운그레이드해서 공부해야하는지 궁금합니다..! 감사합니다
시험 20일전에 수강신청해서 10일만에 이론강의 다듣고 기출문제 풀이 보다가 정말 풀수 있는 문제가 하나도 없어서 다시 이론쪽 보고있습니다.. 이론강의 볼땐 1배속으로 모르는부분은 다시 보면서 이해는 다 됐다고 생각했는데 기출에 응용을 아예 못하고 있습니다.. 2일정도는 pdf암기한다고 가정하면 코드 공부기간은 일주일 남은 시점인데 다시 이론부분을 봐야할꺼요? 이해가 안가도 기출을 봐야할까요?
class Car { String model; int year; Car() { System.out.println("Car constructor"); } void start() { System.out.println(model + " start"); } void stop() { System.out.println(model + " stop"); } } class ElectricCar extends Car { ElectricCar() { System.out.println("ElectricCar constructor"); } void stop() { System.out.println(model + " stop and power down"); } void checkBattery() { System.out.println(model + " check battery"); } } public class Main { public static void main(String[] args) { ElectricCar eCar = new ElectricCar(); eCar.model = "Tesla Model 3"; eCar.year = 2021; eCar.start(); eCar.stop(); eCar.checkBattery(); } } 위 예제는 다른 예제인데요. checkBattery() { System.out.println(model + " check battery"); } } 이 부분은 부모 클래스에 함께 가지고 있지 않은데 이건 다른건가요? 제가 의심하는걸로는 업캐스팅 문제 예시 8번에 나와있는건 public void고, 저 문제에서는 그냥 void인데 pubilc 유무와 관련이 있을까요?
도메인 모델을 만들기 위해서는 Domain Expert에게서 듣고 배워야 한다고 말씀하셨는데, 이들의 정확한 역할이 잘 이해가 가지 않습니다. 온라인 서점을 예로 들자면 제 머리속에 상상되는 Domain Expert는 실제 서점을 운영하는 사장님이 떠오르는데 강의에서는 회사에서 해당 일을 오랫동안 해 오신 분이나, 관련된 시스템을 개발해 본 경험이 있는 시니어 개발자 같은 사람을 Domain Expert라고 말씀 주셨습니다. 그렇다는건 Domain Expert 라는 역할은 이 회사가 개발하고 있는 서비스를 가장 잘 알고 있는 사람 (그것이 개발자가 되었든, 디자이너, po와 같은 비 개발자가 되었든)이라고 이해해도 되는 것일까요?
안녕하세요. Child()에 명시적으로 부모 생성자를 호출하는 문구가 있어서 [Parent: 5 [Parent default 가 호출되는 것 이해했습니다. 그럼 Child(){ 안에 super()가 없고, this.display()부터 시작하는 상태라도 출력값은 동일한가요? 자식 생성자 생성 전에 부모 생성자 먼저 생성돼야 하고, 부모 클래스에 기본 생성자가 정의되어 있으니까요. 감사합니다.
%pip install -U langchain langchainhub --quiet from langchain import hub prompt = hub.pull("rlm/rag-prompt") 안녕하세요! 강의에서처럼 hub를 임포트 하기 위해서 이렇게 했는데, 아래와 같은 에러가 뜹니다. --------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[47], line 1 ----> 1 from langchain import hub 3 prompt = hub.pull("rlm/rag-prompt") ImportError: cannot import name 'hub' from 'langchain' (/home/Dev/llm-app/llm-app/lib/python3.10/site-packages/langchain/__init__.py) from langchainhub import hub로도 해보았는데 안되고 검색해도 잘 안나와서 질문 남깁니다ㅠㅠ
웹훅 붙일때 env 파일에는 production url이 되었으나, 이상하게 실제 os.getenv("AGENT_API_URL") 로 돌리면 test url로 나오는 현상이 있었습니다. 사용자 환경변수 기타 모든 환경변수 조회하였으나 안나오는데 이상하게 계속 test-url로 요청하더라구요 이걸로 4시간 잡아 먹었습니다....하하하하 load_dotenv(override=True) agent_api_key = os.getenv("AGENT_API_KEY") agent_api_url = os.getenv("AGENT_API_URL") 찾아서 삭제 해볼려고 하였으나, 못 찾고 대신 override하면 괜찮아 지니 참고 하시기 바랍니다. 근데 진짜 이유를 모르겠습니다....왜 test url로 등록이 됫는지...
병진님 안녕하세요! 좋은 강의 덕분에 재미있게 실습 중입니다ㅎㅎ 강의 중에 google sheet 노드의 get row 대신 다른 방법 알게 되면 공유해달라고 하셔서, 실습하면서 다른 방법 찾게 되어서 공유 드려요! (참고로 제가 참고한 링크는 https://community.n8n.io/t/how-to-see-all-files-inside-a-google-drive/157053/2 입니다) 저는 google drive 노드의 Search files and folder를 사용하였습니다. 강의 중에는 해당 옵션을 사용하면 폴더의 id만 나온다고 하셨는데, Filter 부분에 내용을 추가하니까 해당 폴더 안에 있는 파일들의 id와 name이 나왔습니다. 그래서 get row 대신에 search files and folder 부분만 수정하였는데요. 실제로 loop over items 이후 download file 부분에서 파일의 id와 연결하여 다운로드 되는 것 까지 확인하였습니다. 작지만 도움 되셨으면 좋겠네요ㅎㅎ 강의 늘 감사합니다!
안녕하세요. 직전 강의에서 객체 생성 시 가장 먼저 생성자를 실행해야 한다고 설명해 주셨습니다. 그런데 본 강의 예제에서는 생성자 메서드를 실행하지 않네요. 업캐스팅인 경우에는 생성자를 실행하지 않는건가요? 감사합니다. 수정: 다른 질문을 보니 생성자를 실행하는 것 같네요. 4:00 예제의 경우 Car 생성자: Tesla Model 3 2021 ElectricCar 생성자: 75 kWh (이하생략) 부모, 자식 생성자가 각각 이렇게 출력된다고 답변해 주셨는데, 이건 둘다 기본 생성자가 없어서 그런거 맞나요? 만약 Car 클래스에 파라미터 없는 기본 생성자가 있었으면 부모 클래스에는 기본 생성자 실행, 자식 클래스에는 파라미터 있는 생성자 실행이 되는게 맞나요?
태현님 안녕하세요! 해당 강의를 듣던 중 의문점이 있어서 질문을 드릴려고 합니다. public class Person { private final String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } // getter, setter 생략... } 위와 같은 예제 코드가 있다고 하면 위와 같은 코드를 코틀린으로 변경하면 강의에서는 아래와 같다고 하셨습니다. class Person( val name: String, val age: Int, ) 이러면 자동으로 getter/setter를 자동으로 만들어주신다고 하셨는데요. 저는 이것이 자동으로 만들어주는게 아니라 당연하다고 생각합니다. 왜냐하면 프로퍼티 접근 제어자가 public이니까요! 자바도 public으로 변경하면 코틀린처럼 필드에 접근해서 사용이 가능하다고 생각이 드는데요. 이런 케이스에 대해서 태현님의 의견을 좀 더 듣고 싶습니다. 또한, 당연히 코틀린에서는 getter를 호출하겠지만 필드 자체를 private으로 두지 않으면 객체지향 원칙중에 하나로 캡슐화가 좋지 못하다는 판단이 들더라구요! 또한 코틀린에서는 접근제어자를 private으로 두면 당현한 이야기지만 강의에서 설명주신 것처럼 접근이 안되서 강제 getter/setter를 만들어야 하는데 이것에 대해도 듣고 싶습니다. 다음 질문으로는 생성자 관련 질문입니다. 자바는 아래처럼 생성자를 여러개 만들 수 있습니다. public class Person { private String name; private int age; public Person(String name) { this.name = name; } public Person(String name, int age) { this.name = name; this.age = age; } // getter, setter 생략... } 논리적으로 도메인 흐름상 하나의 파라미터만 있는 생성자는 사용되지를 않겠지만 이런 케이스에서 코틀린은 어떻게 처리가 가능할까요? 코틀린에서는 설명해주시기로 부생성자로 만들지만 부생성자는 주생성자를 호출해야 하는 꼴로 가야한다고 답변을 주셔서요! 이에 대해 궁금합니다!
이미지와 같이 Runtime Error 발생하여, 검토 요청드립니다. import java.util.*; public class Main { private int solution (int i1, int[][] i2) { int r = 0; int rt = 0; for (int i = 0; i < i1; i++) { int t = 0; boolean[] s = new boolean[i1]; for (int j = 0; j < 5; j++) { for (int k = 0; k < i1; k++) { if (i2[i][j] == i2[k][j]) { s[k] = true; } } } for (boolean a: s) { if (a) { t++; } } if (t > rt) { r = i; rt = t; } } return r + 1; } public static void main(String[] args){ Scanner in = new Scanner(System.in); int input1 = in.nextInt(); int [][] input2 = new int[input1][input1]; for (int i = 0; i < input1; i++) { for (int j = 0; j < 5; j++) { input2[i][j] = in.nextInt(); } } System.out.println(new Main().solution(input1, input2)); } }