안녕하세요. 강의 Unit. 11 : 전신 사진 보정 책 Chapter 09 : 전신 사진 보정 해당 부분 182페이지 Designer's Comment!에 사용된 사진이 학습자료에 들어있지 않는 것 같습니다. 사진 자료 요청드립니다. 강의에서 학습자료 다운로드 받으면 Unit 12 관련 자료인 에코백 관련된 사진만 있습니다. 강의와 학습자료 건이 일치하지 않습니다. 수정 부탁드립니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요! 수업 도중 궁금한 점이 생겨 질문드립니다. @Test public void save() { Member member = new Member(); member.setName("spring"); repository.save(member); Member result = repository.findById(member.getId()).get(); // System.out.println("result = " + (result==member)); Assertions.assertEquals(member, result); } 이 부분에서 Member result를 할 때 get()을 해주는 이유는 findById의 반환값이 optional이기 때문인건가요...? 그렇다면 optional은 get을 왜 해줘야하는지도 궁금합니다. 감사합니다
@Override public List<Item> findAll(ItemSearchCond cond) { String itemName = cond.getItemName(); Integer maxPrice = cond.getMaxPrice(); if (StringUtils.hasText(itemName) && maxPrice != null) { //return repository.findByItemNameLikeAndPriceLessThanEqual("%" + itemName + "%", maxPrice); return repository.findItems(itemName , maxPrice); } else if (StringUtils.hasText(itemName)) { return repository.findByItemNameLike("%" + itemName+"%"); } else if (maxPrice != null) { return repository.findByPriceLessThanEqual(maxPrice); } else { return repository.findAll(); } } JpaItemRepositoryV2에서 이름이랑 가격이 모두 있을 때 return repository.findItems(itemName, maxPrice); 이 코드를 return repository.findItems("%" + itemName + "%", maxPrice);로 변경하면 @Query("select i from Item i where i.itemName like :itemName and i.price <= :price ") List<Item> findItems(@Param("itemName") String itemName, @Param("price")Integer price); 여기 코드에서 @Param("itemName")이 itemName을 %itemName%으로 받아서 그런지 org.springframework.dao.InvalidDataAccessApiUsageException: For queries with named parameters you need to use provide names for method parameters. Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters.; nested exception is java.lang.IllegalStateException: For queries with named 이런 오류가 뜹니다 어떻게 해결할 수 있나요?
안녕하세요. 회사에서 저한테 매일 밤 12시에 20개 사이트에서 각각 1000 ~ 6000개의 데이터를 크롤링 후 해당 데이터 목록을 조회하는 웹 사이트 제작 업무를 맡겨서 진행중입니다. 업무를 시키실 때 스프링 배치를 활용해서 만들라고 하시고, 다른 곳에 출장가셔서 사무실에서 혼자 해당 업무를 완료해야하는 상황입니다ㅠㅠ. 다소 답답한 질문일 수도 있지만 다음과 같은 상황에서 제가 잘못 생각하고 있는 게 있는지, 또 이 상황을 해결하려면 어떤 부분의 강의를 들으면 되는지 여쭙고 싶습니다. 스프링 배치 개념이 익숙치 않기 때문에 스프링 MVC로 먼저 만들어봤습니다. 대신 Insert는 배치쪽에서 해야한다고 생각하여 service단에서 DB에 insert를 하는 dao 메소드를 실행시키지 않고 해당 데이터를 담은 List<VO>를 return 후 controller에서 DB insert하는 쪽으로 생각해봤습니다. 그대로 스프링 배치로 가져오려고 하니 step에서 service를 그냥 실행하고 List<VO>를 받아 DB insert를 하는 dao를 실행하면 되는지 아니면 service에 해당하던 내용을 ItemReader, processor, writer과 같이 스프링 배치에서 사용하는 클래스로 바꿔야 하는건지 잘 모르겠습니다. 또 20개의 서비스를 호출해야 하는데, 1개의 job에서 1개의 step에서 호출하는 게 좋을지, 1개의 job에서 20개의 step을 만드는 게 좋을지 각각 20개의 job을 만드는 게 좋을지 여쭤보고 싶습니다. 감사합니다
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
안녕하세요. matplotlib 설치시 아래와 같은 문제가 있습니다. ======================= (ch01_env) D:\lectures\inflearn_chatGPT\inflearn_chatGPT-main\ch01>pip install matplotlib WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(10054, '현재 연결은 원격 호스트에 의해 강제로 끊겼습니다', None, 10054, None))': /simple/matplotlib/ WARNING: Retrying (Retry(total=3, ... WARNING: Retrying (Retry(total=2, ... WARNING: Retrying (Retry(total=1, ... WARNING: Retrying (Retry(total=0, ... ERROR: Could not find a version that satisfies the requirement matplotlib (from versions: none) ERROR: No matching distribution found for matplotlib ============== 내용을 찾아보니 아마도 제가 최근에 python을 깔아서 최신버전을 지원하는 matplotlib가 없어서인것같은데요.. python 3.12.0입니다... python을 3.11등으로 다운그레이드해야할까요?
에러메시지: TypeError: Cannot read properties of undefined (reading 'status') res.status(200); 해당 코드에서 발생하는 에러인데 강사님이 코드돌리실때는 해당 에러가 발생하지 않는데 제 pc에서는 왜 에러가 발생하는지 잘 모르겠습니다... 코드는 강의에서 입력하신 그대로 따라서 했습니다
안녕하세요. 데이먼님 Axure에 강의 영상 잘 보고 있습니다. 앱 스크롤 관련해서 궁금한 점이 있어서 질문드립니다. 앱의 대지 영역을 설정했을 때 '구성 요소'가 해당 영역을 높이를 초과하여 배치 했을 때 프로토 타입 모드에서는 자동으로 스크롤이 되는걸 확인했습니다. 위 부분은 강의영상 보면서 직접 구현을 해보았습니다. 다만 여기서 질문이 있습니다. 만약 앱의 바텀 메뉴가 있다고 가정했을 때 스크롤을 구현하고싶은데 영역을 초과하여 배치해도 바텀메뉴 때문에 내용이 잘리더라구요.. 바텀메뉴와 상단 헤더 사이에서만 스크롤을 하고싶은데 혹시 도움을 얻을 수 있을까요? ㅠㅠ
안녕하세요, 강사님? 강의 잘듣고 있습니다. 이제 막 회사에서 일하기 시작한 주니어 개발자입니다. 제 회사에서는 websecurityconfigureradapter 를 상속받아서, spring boot 2.7.6에서 사용하고 있습니다. 이 경우에는 authorization server를 마지막 강의에서 사용하신 source code를 활용해보니 작동하지않았습니다. illegalStateException에서 security filter chain과 websecurityconfigureradapter 둘중 하나를 사용하라는 문제에 부딪혔습니다. 그외에도 oauth2 authroization server 관련 jar내 class들이 security filter chain을 형성하는 과정이 관련 있는 것 같아서, 동작하지 않는것으로 보이기도 합니다. 예를들면 @Bean (clientRegistration을 수행하는메서드) 입니다. 혹시 oauth2로는 websecurityconfigureradapter 과 함께 쓸수가 없는 것일까요? 있다면, 혹시 관련 코드를 가지고 계신것이 있다면 공유해주시면 감사드리겠습니다.!
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
한동안 바빠서... 간만에 플러터 공부하러 다시 왔습니다. 그런데... 안드로이드 스튜디오에서 Run을 시키니까 Xcode가 뜨면서 앱이 Xcode에서 실행이 되네요.(실제기기) 콘솔창 메시지 보니까 이상한 건 아닌데... 반드시 이런 건 아닌 것 같기도 하고(You may be prompted to...) 혹시 xcode 바이패스 하고 안드로이드 스튜디오에서 직접 실행시키는 방법이 있을까요? 알려주시면 감사하겠습니다.
강사님 안녕하세요 !! @Entity @Getter @Setter public class EmParent { @Id private String id; private String name; } @Entity @Getter @Setter public class EmChild { @EmbeddedId private EmChildId id; @MapsId("parentId") @ManyToOne @JoinColumn(name = "parent_id",foreignKey = @ForeignKey(name = "parent_fk")) public EmParent parent; private String name; @EqualsAndHashCode @Getter @Setter @Embeddable public static class EmChildId implements Serializable { private String parentId;//@MapsId("parentId")와 매핑 @Column(name = "child_id") private String id;//Child.childId 매핑 } } 테스트코드 EmParent emParent = new EmParent(); emParent.setName("내장 할아버지"); emParent.setId("A001"); em.persist(emParent); //복합키 만들기 EmChild.EmChildId id = new EmChild.EmChildId(); id.setId("F001"); id.setId("fake data"); //자식 엔티티 생성 EmChild emChild = new EmChild(); //자식 엔티티에 복합키 주입하기 emChild.setId(id); //아래 정보를 넣지 않으면 예외가 발생 emChild.setParent(emParent); emChild.setName("내장 아버지"); em.persist(emChild); 식별 관계에서 @EmbeddedId를 사용할 때 자식 엔티티에 Id 객체인 EmChildId 를 넣어줄 때 EmChildId 클래스의 @Column(name = "child_id") private String id;//Child.childId 매핑 만 참조를 하고 부모의 pk를 참조하는 private String parentId;에는 어떤 값이 들어가도 의미가 없더라구요 @MapsId("parentId") @ManyToOne @JoinColumn(name = "parent_id",foreignKey = @ForeignKey(name = "parent_fk")) public EmParent parent 여기에 값을 넣어줘야 EmChild 엔티티가 정상 동작합니다. 제가 실수한 부분있는 걸까요 ? 아니면 식별관계일 때 @EmbeddedId는 읽어올때만 상관이 있고 저장할 때에는 상관이 없는 객체인가요?
안녕하세요! 서비스 클래스 상단에 @Transactional(readOnly = true) 옵션을 두는 경우에 대해 질문이 있습니다. 만약 Transactional을 적용하고 싶지 않은 메서드가 있으면 어떻게 하는 것이 좋을까요? 저의 경우 외부 api 요청을 보내고 응답을 반환하는 메서드에 Transactional을 적용하지 않으려고 합니다 (CQRS에 대해 말씀해주신 부분을 듣고 애초에 외부 API 호출하는 기능이 분리 되어야 하나 싶기도 드네요 ㅠㅠ) @Service @Transactional(readOnly = true) @RequiredArgsConstructor public class SpotService { private final MapApiClient mapApiClient;