안녕하세요. 강의 열심히 보고 있습니다. ^^ JobQueue #1 강의중 19분51초에서.. 멀티스레드 환경에서 14줄에서 null 체크를 하고 접속이 해제된다면 17줄에 room을 넣을 때 null이 반환되지 않을까요?? 검색해봐도 해당 내용은 없는거 같아서 질문 드립니다.
혹시 정보가 있으시다면 이번 회차(2023.3월~4월)의 지난 시험에는 어떤 유형이 나왔는지 궁금합니다. 남은 하루동안 D, E 유형이 난이도 조정을 위해 새로 생긴 만큼 아주 집중적으로 공부하는편이 좋을지, 아니면 A~C 최종 복습을 하고 갈지 선택하려구요.. 물론 다 잘 해야겠지만요 ^^;; 내일 시험이라 걱정이 많이 되고 떨리네요.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 드디어 완강을 하게 되었습니다! 여러번 복습을 해야겠지만 일단 너무 감격스럽네요 ㅜㅜ 다름 아니라, 완강후 완성된 코드에서는 주문 탭에서 force refetch를 하면 주문 내용이 새로고침 되지가 않습니다. throttle과 debounce 를 적용하기 전에는 결제 내용이 주문 탭에 즉시 반영되지는 않아도, force refetch를 하면 반영되었거든요. 깃헙에 올려주신 소스코드로도 같은 증상입니다. 다른 탭에서의 force refetch는 이상없이 작동하는데 왜 그럴까요?
항상 Member객체를 만들고 시작하시는 것 같은데, 실제로는 멤버객체가 이미 있고 그걸 find하든 save하든 할거아니예요?? Test할땐 항상 처음부터 시작한다고 생각하고 로직을 짜나요?? 그리고 Test코드를 작성하는 이유는 무엇인가요? 기능 테스트를 할 때 항상 postman으로 했는데 그렇게 하는 것과 차이점이 있을까요 ??? 그리고 테스트코드에서는 main 디렉토리에 있는 클래스를 자유롭게 접근할 수 있는건가요? 예시에서도 MemoryMemberRepository를 쓰시길래 궁금해서 여쭤봅니다
table : prodPlan pk : factoryCode, prodplanId column : itemCode ... table : Item pk : factoryCode, materialCode column : itemName... 테이블 구조는 이렇고 저는 MSSQL을 연동해서 기본적인 테이블 생성은 MSSQL에서 생성하여 사용하고 있습니다. prodPlan(N) : item(1) 로 ManyToOne 매핑을 하려고 하는데요 @Entity @IdClass(ProdPlanId.class) public class ProdPlan { @Id private String factoryCode; @Id private Long prodplanId; @Column(name = "ITEM_CODE") private String itemCode; //... @ManyToOne @JoinColumn(name = "FACTORY_CODE",referencedColumnName = "FACTORY_CODE",insertable = false, updatable = false) @JoinColumn(name = "ITEM_CODE",referencedColumnName = "MATERIAL_CODE",insertable = false, updatable = false) private Item item; } @Entity @IdClass(ItemId.class) public class Item { @Id private String factoryCode; @Id private String materialCode; //... } @JoinColumn에 name 속성이 외래키의 이름을 정의하는거라고 알고 있습니다. factoryCode는 외래키가 아니고 두 테이블에서 복합키이자 기본키입니다. (복합키는 class ProdPlanId implements Serializable을 사용하여 @IdClass 어노테이션을 사용하였습니다.) 그래서 위에 코드와 같이 구현을 하면 FACTORY_CODE가 중복컬럼에러가 나서 일단 insertable, updatable = false로 임시해결을 했는데 해결을 한게 아닌 거 같아서 다른 방법이 있나 찾아보던 중 inheritancetype.table_per_class 이 구조가 조금 비슷해보여서 진행하려 했으나 @JoinColumn에서 어떻게 사용해야 하는지 모르겠습니다. (factoryCode는 외래키가 아닙니다! 찾아보니 일대일 매핑만 나왔습니다ㅠㅠ) 읽기전용이 아닌 prodPlan 테이블의 ITEM_CODE와 Item 테이블의 MATERIAL_CODE를 조인하려 했는데요. 그럴려면 @Column itemCode를 지우고 사용해야 중복컬럼에러를 피할 수 있었습니다. @Column itemCode를 선언하고 조인하는 방법은 없을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from member where name = ?] Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MEMBER" not found (this database is empty); SQL statement: select * from member where name = ? [42104-214] org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from member where name = ?] 통합테스트를 진행시키면 위와 같은 에러가 나옵니다. 강의를 들으면서 MemberServiceIntegrationTest.java를 작성했고, jdbc 템플릿을 이용해 db 구축도 했습니다. 오타가 있는지 계속 확인해보았지만 오타로 보이는것이 없어 질문 올립니다. 스프링이 완전 처음이라 강의를 100퍼센트 이해하면서 코드를 따라 짜지 못했기 때문에, 질문을 정확하고 자세하게 말씀 못드려서 죄송합니다... https://github.com/ffe4el/Spring_prj/tree/main/hello-spring 오류가 나는 코드를 깃허브 위 주소에 올려놓았습니다. 살펴봐주세요...ㅠ
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
#include <iostream> using namespace std; // 다중 포인터 void SetMessage(const char* a) { a = "Bye"; } void SetMessage(const char** a) { *a = "Bye"; } int main() { // .rdata [H][e][l][l][o][\0] char형 배열 형태 // main stackframe msg[ Hello주소 ] << 8바이트 const char* msg = "Hello"; // [매개변수][RET][지역변수(msg(Hello주소))] [매개변수(a(Bye주소))][RET][지역변수] SetMessage(msg); cout << msg << endl; // .rdata [H][e][l][l][o][\0] char형 배열 형태 // msg [ Hello주소 ] << 8바이트 // pp[ &msg ] << 8바이트 const char** pp = &msg; SetMessage(pp); cout << msg << endl; return 0; } 메모리를 찬찬히 까보면서 확인했는데 궁금한점이 있어서 글 남깁니다 1. void SetMessage(const char** a) { *a = "Bye"; } 이 부분이 실행되고 난 뒤에 msg의 시작주소가 Hello주소가 아닌 Bye 주소를 나타내고있는데 원래 포인터를 이용하면 해당 주소로 텔레포트 후 그 주소의 데이터에 직접 접근해서 데이터를 변경하는 것으로 알고있습니다 그런데 문자열은 .rdata로 수정불가하기 때문에 단순히 msg가 가리키는 주소만 변경해서 즉, msg의 시작주소가 Hello주소가 아닌 Bye의 시작주소를 가리키게 된건가요? 2. 함수 호출이 끝난 뒤에는 Bye주소에 해당하는 값인 문자열 "Bye"는 메모리상에 데이터로 남아있던데 이 데이터가 사라지지 않는 이유를 잘 모르겠습니다. 스택 프레임 구조에서 [매개변수][RET][지역변수] 이 세가지만 없어지게 되서 그런건가요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
같은 질문 해주신 글을 보았는데, 실제 컴퓨터의 ip를 넣어주어야 한다는 답변을 써주셨던데 login_screen.dart 파일에서 final emulatorIp = ''; final simulatorip = ''; 이 부분의 ip주소만 바꾸면 되는게 맞나요? 어느 부분을 더 수정해야 하는지 궁금합니다..
MSW 강의 중 graphqlFetcher 에러 관련하여 문의 드립니다. 1.product 폴더 - index.ts 위와 같은 오류와 빨간 줄에 커서를 올리면 ================================== No overload matches this call. Overload 1 of 3, '(queryKey: QueryKey, options?: Omit<UseQueryOptions<Product[], unknown, Product[], QueryKey>, "queryKey"> | undefined): UseQueryResult<...>', gave the following error. Type '() => Promise<unknown>' has no properties in common with type 'Omit<UseQueryOptions<Product[], unknown, Product[], QueryKey>, "queryKey">'. Overload 2 of 3, '(queryKey: QueryKey, queryFn: QueryFunction<Product[], QueryKey>, options?: Omit<UseQueryOptions<Product[], unknown, Product[], QueryKey>, "queryKey" | "queryFn"> | undefined): UseQueryResult<...>', gave the following error. Type 'Promise<unknown>' is not assignable to type 'Product[] | Promise<Product[]>'. Type 'Promise<unknown>' is not assignable to type 'Promise<Product[]>'. Type 'unknown' is not assignable to type 'Product[]'.ts(2769) types.d.ts(9, 89): The expected type comes from the return type of this signature. ================================ 타입에 대한 문제 일까요? 위와 관련된 코드 들은 문제 없이 입력한 것 같습니다. graphql 폴더 안 product.ts queryClient.ts 무엇이 잘 못된 것일까요ㅠ
@RequiredArgsConstructor 이 애노테이션은 final이 붙은 변수의 생성자를 자동으로 생성해주고, 생성자가 하나만 있다면 @AutoWired를 생략할 수 있다고 알고 있습니다. private final MemberRepositoryV1 memberRepository; 근데 여기서, MemberRepositoryV1가 Bean으로 등록되지 않았는데 어떻게 자동으로 주입을 받을 수 있는 것이죠?
안녕하세요, 선생님. 어제 배열 파트를 다시 복습하면서 생긴 문제가 있습니다. 선생님께서는 for반복문에 for -each문을 이용하면서 출력되도록 하셨는데 저는 조금 더 간결하게 하고자 for-each문 없이 주석처리한대로 해보니 사이즈[I@75b84c92(재고있음) 이렇게, 사이즈에 해당하는 값은 안나오더라구요. 혹시 이렇게 접근하면 안되는 이유가 있을까요? 두 번째로는 메소드에 관한 문제입니다. 아래 코드처럼 메소드 값을 메인영역 밖에서 호출 시 에러나는 이유가 무엇인가요? 잘은 모르지만 혹시나 지역변수 이런 것과 상관이 있는건가요? //Quiz. 배열을 활용하여 쇼핑몰에서 구매 가능한 신발 사이즈 옵션을 출력하는 프로그램을 작성하시오 //조건 : 신발 사이즈는 250부터 295까지 5단위로 증가 //조건 : 신발 사이즈 수는 총 10가지 //실행결과 : 사이즈 250 (재고있음) / 사이즈 260 (재고있음),,, size에 해당하는 값을 배열로 만들기 // int size = 250; // int size = 255; // int size = 260; int[] size = new int[10]; for (int i = 0; i < size.length; i++) { size[i] = 250 + (5 * i); // System.out.println("사이즈"+size+"(재고있음)"); //왜 안되는지????????? } for (int size2 : size ) { System.out.println("사이즈"+size2+"(재고있음)"); } ------------------------------------------------------------------------------- public class Test1 { //호텔 전화번호 public static String getPhoneNumber(){ return "02-123-4567"; } //호텔 위치 public static String getAddress(){ return "서울시 어딘가"; } //호텔 엑티비티 public static String getActivities(){ return "수영장, 당구장, 볼링장"; } public static void main(String[] args) { //왜 메인영역 밖에서 호출하면 에러나지????? //메인 밑에서 매소드 호출 System.out.println("호텔위치 : "+getAddress()); System.out.println("호텔 전화번호 :"+getPhoneNumber()); System.out.println("호텔 엑티비티 : "+getActivities()); }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예 [질문 내용] Run이 실패하는데 제가 환경변수를 잘못 설정한건지 설ㅍ치를 잘못 한건지 뭐가 문제인건지 모르겠네요ㅠㅠㅠ