//== 연관관계 메서드 ==// private void setMember(Member member){ this.member = member; member.getOrders().add(this); } private void setDelivery(Delivery delivery){ this.delivery=delivery; delivery.orderRelation(this); } private void addOrderItem(OrderItem orderItem){ orderItems.add(orderItem); orderItem.setOrder(this); } @Builder public Order(Member member,Delivery delivery,OrderItem... orderItems){ setMember(member); setDelivery(delivery); this.status=OrderStatus.ORDER; this.orderDate=LocalDateTime.now(); for (OrderItem orderItem:orderItems){ addOrderItem(orderItem); } } 강의를 다 듣고 간단하게 리펙토링 작업을하면서 복습하는중입니다. 현재 하고있는 작업은 기본생성자로 무분별한 객체 생성 없애기 ..? +setter 하고있는데 연관관계 메서드를 private로 사용하여 생성자에서 호출하게끔 작성하였습니다. 또한, 다른 entity에서도 접근을 private,proteted 처럼 제한적으로 사용하여 필요한 경우 setter를 일부 사용하게끔 하였습니다. entity 일관성 + 데이타 보호 목적이라는 큰 기준을 잡고 여러 방법들과 나름대로의 기준? 을 생각하며 작성중인데 감이 잘 안잡히네요 ㅠㅠ.. 그냥 경험으로 상황에따라 유연하게 작성해야 하는걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] static Student createStudent(String name, int age, int grade) { Student student = new Student(); student.name = name; student.age = age; student.grade = grade; return student; } 기본형 변수는 메소드 내에서 선언하면 해당 메소드가 종료되었을 때 메모리 상에서 삭제된다고 들었습니다. 그런데 왜 참조형 변수는 메소드 내에서 생성해도 메소드가 끝난 후에 사라지지 않는건가요? return student; 편리하게 코드를 작성할 수 있도록 한 일종의 약속이라고 봐도 무방한 것일까요? 읽어주셔서 감사합니다!
버퍼 공부하다가 궁금합니다. 제가 이해한 바로는 \n은 I/O 버퍼를 비우기 위해 사용하는 이스케이프 시퀀스 라고 이해했습니다. string에서 char Id[7] = {1} 라고 초기화를 주고 scanf("%s",Id); 이라고하고 코드를 작성합니다. 작성한 코드를 프로그램에 컴파일 한 이후 런 타임때, "null" 을 입력하고 엔터를 치면 Id의 0번 주소의 값은 n 1번 주소의 값은 u 2번 주소의 값은 l 3번 주소의 값은 l 이 됩니다. 그렇게 하고 개행 문자인 엔터를 칩니다. 이때 여기서 궁금증이 생깁니다. 버퍼안에 \0와 \n 어느 게 먼저 들어가는 건가요? \0 을 이용해서 문자열을 모두 읽었다고 표시를 한다고 이해했습니다. 이렇게 하고 엔터를 치면 개행 문자 \n이 들어가는데 실제 메모리 상에서는 null\01\n 으로 찍히는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오) [질문 내용] 1.강의 영상을 따라 코드를 따라 치는데, 강의영상에서 DiscountService 생성자에 @Autowired를 적용하고, FixDiscountPolicy와 RateDiscountPolicy에 적용된 다른 애너테이션은 제외하고 @Component 애너테이션만 붙히고 테스트를 실행하여도 정상적으로 되는데, 저는 테스트를 실행하면 아래와 같은 에러가 발생합니다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderServiceImpl' defined in file [/Users/jinagyeomi/Desktop/dev/intelliJ-project/core/build/classes/java/main/hello/core/order/OrderServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 1: No qualifying bean of type 'hello.core.discount.DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy .NoUniqueBeanDefinitionException: No qualifying bean of type ' hello.core.discount .DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy @RateDiscountPolicy에 @Primary를 붙혀서 우선순위를 적용하면 테스트가 성공이 되는데.. 영상과는 다르게 왜 그러는지 이유를 알 수가 없어 무시하고 진도 나가다가 도저히 궁금증을 참을 수 없어 알아보다가 시간을 너무 뺏겨서 염치불구하고 질문을 남겨드립니다.. AllBeanTest 클래스에 @Autowired가 테스트 성공여부와 상관없이 빨간줄이 쳐져있는데 이건 그냥 무시해도 되는 것일까요?(저번 강의에서 아래 스크린샷에 Syntax로 바꿔서 하라는 답변을 본 것같은데 뭔가 명쾌한 해답이 아닌 것 같기도 하고 다른 질문의 Ai 답변으로는 궁금증이 해결이 안되어서 질문 남깁니다..) 자바는 21, 스프링 부트는 3.2.2 사용 중입니다. 코드는 해당 링크로 첨부파일 전달 드립니다 https://drive.google.com/file/d/1ectcWfuhvlZJVh1SUKn003MQoWIf4puY/view?usp=sharing
안녕하세요 손지훈님. 좋은 강의 잘 보고 있습니다. Volatility Cridex 풀이 2번 강의 11분15초 부근부터 strings_1640.dmp를 똑같이 만들었는데 저는 강의에 나온 것처럼 http 주소나 다른 것들이 나오지 않는데 어떤게 문제일지 추측되시는 부분이 있으신가요?? 명령어를 똑같이 했는데도 다른 부분으로 나오네요 ㅠㅠ
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요. 원래는 FPGA 보드를 구매하려고 했다가 금전적으로 부담이 되어 학교에 문의를 넣었더니 대여를 해준다고 하여 그 보드를 사용할 계획입니다. 제가 사용할 보드는 PYNQ-Z2 Board입니다. 혹시 이 보드를 사용해서 그대로 FPGA 강의를 따라가면 될까요? 다른 추가적인 설정을 해야한다면 어떤 설정을 해야할까요? 감사합니다.
public: void Initialize(int iAtt) { /* 같은 클래스 내부에 선언된 함수에서는 private 멤버여도 접근가능 */ //this->iAtt = iAtt; iAtt = iAtt; iDef = 7; iHp = 100; iMp = 100; } =============아래는 메인 함수에서 출력한 코드예여=================== CPlayer Player_class; // 클래스 접근 Player_class.Initialize(10); Player_class.Output(); CPlayer Special_Player; Special_Player.Initialize(100); Special_Player.Output(); 제가 직접 친 거라서 코드 내용은 조금 다른데욥 위 멤버 함수 Initialize 코드에서 this->, (*this)가 생략? 된 거라고 하셨자나요 this->iAtt = iAtt; 이렇게 출력하면 정상 출력이 되는데 iAtt = iAtt; 이 코드로 출력 하면 Player_class랑 Special_Player 둘 다 -858993460 이런 값이 나오더라구요! 이유가?? 멀까요???!!! 근데 멤버 함수에서 받는 파라미터? 인자 이름을 바꾸면 정상 출력이 되긴 해여
안녕하세요! 강의 항상 잘듣고 있습니다. Dockerfile 지시어 강의를 수강 중에 node.js로 된 프로젝트를 Dockfile을 작성해서 이미지를 빌드하는 중에 이런식으로 run 명령어를 통해 이미지를 실행시켜도 ps로 확인해보면 올라가 있지 않습니다. 제가 어느 부분을 놓치고 있는지 궁금합니다.
안녕하세요 강사님 덕분에 자바 프로그래밍에 입문하였고 기본편까지 3번 반복하면서 중급편, 고급편 기다리는 사람입니다..ㅎㅎ 자바를 조금 더 잘 짜려면 어떻게 할까라고 찾아보니 UML, 디자인패턴 조금더 원론적인? 얘들이 나오더라고요 혹시 추후에 이런 강의도 예정이 있으신지 궁금합니다.
groupby를 사용하면 에러는 아니고 경고가 뜹니다. FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning. chatGPT: 이 경고는 Pandas의 value_counts() 메서드를 사용할 때 발생하는 것으로 보입니다. 이 경고는 현재 버전의 Pandas에서는 observed 매개변수의 기본값이 False 이지만, 향후 버전에서는 True 로 변경될 것이라는 것을 알려주는 것입니다. 즉, 향후에는 observed=False 를 명시적으로 지정하지 않으면 경고가 표시될 것입니다. 이러한 경고를 피하려면 value_counts() 를 호출할 때 observed=False 를 명시적으로 전달하면 됩니다. 예를 들어: import pandas as pd # 예제 데이터프레임 생성 df = pd.DataFrame({'Category': ['A', 'B', 'A', 'C', 'B', 'A']}) # value_counts() 호출 시 observed 매개변수 명시 counts = df['Category'].value_counts(observed=False) print(counts) 이렇게 하면 경고가 발생하지 않습니다. 하지만 향후 Pandas 버전에서는 이러한 변경이 기본 동작이 되므로 observed 매개변수를 사용하여 코드를 업데이트하는 것이 좋습니다. -> 근데 이게 무슨 말인지 모르겠습니다! 뭐... 대충 업데이트 할 건데, 오류가 생길 수 있으니 미리 대비를 해라~ 이런 거 같은데 정확히 무슨 뜻인지 모르겠습니다!
안녕하세요 선생님 전자책 잘 읽었습니다! 기획서, 기능정의서를 만들어서 넣는 게 좋다고 전자책에 쓰여있는데 제가 이미 완성된 반응형 사이트가 하나 있긴 합니다. 이미 완성된 반응형 사이트의 기능정의서, 기획서를 다시 만들어서 넣는게 좋을까요 아니면 그 시간에 다른 클론코딩이나 반응형, 모바일 웹을 만드는 게 나을까요? 제가 알바를 하면서 취준을 같이 하는 중이라 시간이 많지 않아 최대한 빨리 취업하고 싶은 마음에 이런 질문을 드립니다 감사합니다!
public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try { Team team = new Team(); team.setName("팀A"); em.persist(team); Member member = new Member(); member.setUsername("member1"); member.setAge(50); em.persist(member); em.flush(); em.clear(); System.out.println("f??"); String query = "select m From Team t join t.members m"; List<Team> result = em.createQuery(query, Team.class) .getResultList(); System.out.println("result.size() = " + result.size()); System.out.println("뭐고"); tx.commit(); } catch (Exception e) { tx.rollback(); } finally { em.close(); } emf.close(); } 위 코드에서 String query가 select m 혹은 select m,t 때는 아예 콘솔에 select가 뜨지않습니다. select t일때만 정상적으로 콘솔에 select쿼리가 나옵니다. 왜그런걸까요? ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.