파이썬 for문 질문이요!
미해결
궁금한게 저기서 i와 j가 동일한 행을 뽑고 싶은데 해당하는 df전체 열을 뽑고 싶으면 코드를 어떻게 짜야할까요? 도와주세요..
- for문
- python
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
궁금한게 저기서 i와 j가 동일한 행을 뽑고 싶은데 해당하는 df전체 열을 뽑고 싶으면 코드를 어떻게 짜야할까요? 도와주세요..
미해결
Practical Testing: 실용적인 테스트 가이드
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 실무에서는 연관관계 매핑이 하나의 애그리게이트에서는 사용하되 다른 에그리게이트와 매핑시에는 엔티티 매핑이 아닌 다른 에그리게이트의 id로 매핑한다고 하더라구요. 엔티티 매핑이 ManyToOne 관계에서 Many쪽에 one의 id로 매핑을 매핑하면 되는데, ManyToMany 관계에서의 다른 애그리게이트 관계와의 연관 관계 매핑이 아닌 id로는 어떻게 해결하시는 궁금합니다.
미해결
파이썬으로 영화 예매 오픈 알리미 만들기
안녕하세요. 인프런 강의에 푹빠져서 여기까지 오게 된 사람입니다. http://www.cgv.co.kr/common/showtimes/iframeTheater.aspx?areacode=01&theatercode=0013&date=20240322 지금 보여주는 링크는 requests로 페이지 정보 가져오기에서 CGV 용상아이파크몰 상영시간표를 가져오는 것인데 iframe의 주소를 가져오면 하얀 화면만 나오고 아무것도 안나옵니다. 이럴 경우 어떻게 해야하는지 알고싶습니다. 도움을 좀 주셨으면 합니다. 감사합니다.
해결됨
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
안녕하세요 00-06 black 설치과정에 질문입니다. 라이브러리에 추가하고 black 패키지 추가하려고 하니깐 활성화가 안되어있습니다.. 어떻게 조치해야 될까요?
미해결
워드프레스 자동 포스팅 프로그램 개발 강의 (ChatGPT API)
안녕하세요, 수강중인 학생입니다. 3.upload.py 부터 코드가 제대로 동작하지 않습니다. raise RemoteDisconnected("Remote end closed connection without" http.client.RemoteDisconnected: Remote end closed connection without response 이런 내용으로 인해 글이 올라가지 않는데 원인이 무엇일까요?
미해결
파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
cmd에서 import pygame했을 때는 오류없이 제대로 됐는데 Vs code에서 import pygame을 하면 이런 오류가 계속해서 발생합니다. 어떻게 해야되나요? Exception has occurred: ModuleNotFoundError No module named 'pygame' File " C:\Users\User\Desktop\PythonWorkspace\pygame_basic\1_create_ frame.py ", line 1, in <module> import pygame ModuleNotFoundError: No module named 'pygame'
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요. 이전강의들을 포함해서, "파이썬 기본 환경 설정(2-1) : 개발 환경 설정(Vscode) - Windows" 강의 내용을 그대로 따라서 했습니다. 그런데 해당 강의 동영상의 25:33에서처럼 Ctrl+F5 단축키를 누르거나 Run 메뉴에서 Run Without Debugging을 직접 선택해도, 강의에서처럼 Hello python!이 출력되지 않고 이렇게 Select debugger라고 나옵니다. 이때 무엇을 선택해야 하나요? 어떻게 하면 강사선생님처럼 Run Without Debugging을 실행할 수 있나요? 참고로 오른쪽 상단의 오른쪽 방향 세모 아이콘을 클릭하면 문제없이 실행하고 Hello python!이 출력됩니다. (저는 단축키 설정에 대해서 질문을 드린 게 아닙니다.)
미해결
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요 복습은 어떤식으로 하면 되나요
미해결
Practical Testing: 실용적인 테스트 가이드
안녕하세요 강사님. 강사님 강의를 듣고 실무에 적용을 해보고 있습니다. 예를 들어 A Service 테스트를 위한 테스트 코드에서 Class AService { @Autowired private ARepository arepository; public void methodA() { arepository.procedure(); arepository.two(); } } 위와 같이 구성이 되어 있는데 methodA에서 리포지토리의 procedure만 모킹처리를 하고싶습니다. 테스트코드를 대략 아래와 같이 @Spy를 사용해서 의존성 주입을 하는데 작동이 안되어 문의드려요. 제가 한 방식이 잘못된걸까요? @ExtendWith(MockitoExtension.class) class Test { @InjectMocks; private AService aservice; @Spy private ARepository arepository; @Test void test() { doReturn("OK").when(arepository).procedure(); aservice.methodA(); } }
해결됨
Practical Testing: 실용적인 테스트 가이드
안녕하세요! 저는 강사님이 말씀해주신 방법들이 아닌 @Sql 어노테이션을 사용해서 모든 테이블을 Truncate하는 방법으로 클렌징을 하고 있었습니다. Truncate는 복구가 안되지만 성능 면에서 Delete보다 빠른 것으로 알고 있는데 제가 사용한 방식도 괜찮은 방법일지, 혹은 발생할만한 문제가 있을지 궁금합니다. teardown.sql -- 모든 제약 조건 비활성화 SET REFERENTIAL_INTEGRITY FALSE; truncate table user_tb; truncate table oauth_tb; truncate table vote_tb; truncate table choice_tb; truncate table vote_item_tb; truncate table place_tb; truncate table review_tb; truncate table review_vibe_tb; truncate table vibe_tb; truncate table place_vibe_tb; truncate table place_food_tb; truncate table food_tb; truncate table participant_tb; -- 모든 제약 조건 활성화 SET REFERENTIAL_INTEGRITY TRUE;
미해결
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 포스트맨 구성이 달라져서 블로그 보고 따라해봐서 성공했습니다 업데이트 되어 달라진 것 같아서, 다른 분들도 참고하실 수 있게 강의 내용도 업데이트 되거나 게시판에 업로드 해주시면 좋을 거 같습니다-
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
rokoppa@gmail.com 입니다. 감사합니다~!
해결됨
Practical Testing: 실용적인 테스트 가이드
안녕하세요 강의 잘 듣고 있습니다! 위 사진처럼 Service 레이어에서 반환 타입이 void인 메서드의 경우, assertJ로 검증하는 방법이 있나요? 해당 메서드에서 create 작업을 수행하지만 굳이 생성된 객체를 응답할 이유가 없어서요! 예전에 임시로 반환 타입을 바꿔서 생성된 객체를 검증하는 식으로 테스트를 작성하면 된다는 얘기를 들었는데, 결국 void로 되돌리게 되면 테스트가 실패하니까 테스트를 주석 처리할 수 밖에 없었거든요...이렇게 하게 되면 테스트 코드를 작성하는 의미도 좀 퇴색되는 것 같아서 고민이 됩니다! 일단은 급한대로 then은 비워두었습니다만 이렇게 하는 게 좋은 방법일까요?
미해결
Practical Testing: 실용적인 테스트 가이드
package sample.cafekiosk.domain.order; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.test.context.ActiveProfiles; import sample.cafekiosk.domain.product.Product; import sample.cafekiosk.domain.product.ProductRepository; import sample.cafekiosk.domain.product.ProductSellingStatus; import sample.cafekiosk.domain.product.ProductType; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import static org.assertj.core.groups.Tuple.tuple; import static sample.cafekiosk.domain.product.ProductSellingStatus.*; import static sample.cafekiosk.domain.product.ProductType.HANDMADE; @ActiveProfiles("test") @DataJpaTest class OrderRepositoryTest { @Autowired private OrderRepository orderRepository; @Autowired private ProductRepository productRepository; @DisplayName("원하는 날짜와 주문 상태로 주문들을 가져온다.") @Test void findOrdersBy() { //given LocalDateTime registeredDateTime1 = LocalDateTime.of(2024, 3, 2, 12, 0); LocalDateTime registeredDateTime2 = LocalDateTime.of(2024, 3, 9, 12, 0); Product product1 = createProduct(SELLING, HANDMADE, "아메리카노", 4000, "001"); Product product2 = createProduct(HOLD, HANDMADE, "카페라떼", 4500, "002"); Product product3 = createProduct(STOP_SELLING, HANDMADE, "팥빙수", 7000, "003"); List<Product> products = List.of(product1, product2, product3); productRepository.saveAll(products); Order order1 = createOrder(registeredDateTime1, products); Order order2 = createOrder(registeredDateTime2, products); List<Order> orders = List.of(order1, order2); orderRepository.saveAll(orders); //when LocalDate findDate = LocalDate.of(2024, 3, 2); List<Order> findOrders = orderRepository.findOrdersBy(findDate.atStartOfDay(), findDate.atStartOfDay().plusDays(1), OrderStatus.PAYMENT_COMPLETED); //then Assertions.assertThat(findOrders).hasSize(1) .extracting("registeredDateTime", "orderProducts", "orderStatus") .containsExactlyInAnyOrder( tuple(registeredDateTime1, products, OrderStatus.PAYMENT_COMPLETED) ); } private Order createOrder(LocalDateTime registeredDateTime1, List<Product> products) { return Order.builder() .orderStatus(OrderStatus.PAYMENT_COMPLETED) .registeredDateTime(registeredDateTime1) .products(products) .build(); } private Product createProduct(ProductSellingStatus sellingStatus, ProductType type, String name, int price, String productNumber) { return Product.builder() .productNumber(productNumber) .type(type) .sellingStatus(sellingStatus) .name(name) .price(price) .build(); } } 안녕하세요. 우빈님 OrderRepository의 findOrdersBy() 테스트는 직접 작성하라고 하셔서 테스트를 작성하다가 궁금한 점이 생겨 질문 남깁니다. 첫 번째는 Order의 orderProducts를 테스트할 때, products가 프록시 객체로 넘어와서 테스트하지 못하는 거 같습니다. 현재 코드는 테스트가 실패하는 코드고, extracting에서 "orderProducts"를 제외하면 성공하는 테스트가 됩니다. 이럴 때는 어떻게 해결해야 할지 궁금합니다. 두 번째 질문은 제가 작성한 테스트 코드 구조에서 개선할 사항이 있는지 궁금합니다. 강의 잘 보고 있습니다. 감사합니다.
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요. F5나 Ctrl+F5를 누르면 코드를 실행하지 않고 첨부한 캡쳐처럼 Select debugger 라고 뜹니다. 그리고 오른쪽의 세모를 클릭하면 실행합니다. 강의대로 그대로 따라했는데 제가 무언가 빠뜨린 게 있는 건가요? 어떻게 해야하죠? 감사합니다!
미해결
Practical Testing: 실용적인 테스트 가이드
우빈님 강의에서 말씀해주신 것 처럼 TDD를 활용하면 테스트 코드를 먼저 작성하기 때문에 테스트에 대한 강제(?)할 수 있으며, 엣지 케이스에 대한 식별을 빨리 할 수 있어 많은 장점이 있다고 생각합니다. 제가 생각했을 때는 TDD를 활용하지 못하는 상황은 시간적 여유가 없을 때라고 생각되는데 이 외 다른 이유도 있을까요? 또한, 우빈님께선 평소 TDD를 활용하여 프로덕션 코드를 작성하는지도 궁금합니다.(개발 기간이 부족할 때도 테스트 코드를 무조건 작성하는지도 궁금합니다 😀 )
해결됨
Practical Testing: 실용적인 테스트 가이드
안녕하세요. 강의를 들은 후 테스트 코드 작성을 연습하고 있습니다. 엔티티에서 Soft delete를 위한 필드(isDeleted)가 정의되어 있습니다. Soft delete가 된 데이터는 조회할 필요가 없기 때문에 엔티티에 @SQLRestriction("is_deleted = false") 를 정의했습니다. 테스트 코드에서 해당 어노테이션 때문에 tearDown() 메서드 동작시 문제가 발생했습니다. .deleteAllInBatch() 가 실행될 때, where 조건이 포함되기 때문에 데이터가 삭제되지 않습니다. 상품 목록 조회에 대한 테스트 코드를 작성할 때, soft delete 된 데이터는 빠지고 정상적인 데이터만 조회되는지 보려고 isDeleted = true 값을 준 테스트 데이터도 생성해서 테스트 코드를 작성했습니다. 해당 경우에는 어떤식으로 테스트 코드를 작성해야 할까요? isDeleted = true 테스트 데이터를 만들지 않는다. @SQLRestriction("is_deleted = false") 를 사용하지 않고, 쿼리 조회 시 IsDeletedTrue 조건을 주도록 한다. 위 방법이 아닌 Best Practice가 있는지 궁금합니다. 아래는 테스트 코드 예시 입니다. @SQLRestriction("is_deleted = false") 적용된 엔티티 예시입니다. @Entity @SQLRestriction("is_deleted = false") @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Product extends BaseDateTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "product_id") private Long id; @Column(length = 50) private String name; private Boolean isDeleted; @OneToMany(mappedBy = "product", cascade = CascadeType.ALL) private List<ProductOption> productOptions = new ArrayList<>(); // ... 중략 } @Entity @SQLRestriction("is_deleted = false") @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class ProductOption extends BaseDateTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "product_option_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "product_id") private Product product; @Column(length = 30) private String name; private Boolean isDeleted; // ... 중략 } isDeleted = true 테스트 데이터를 포함한 테스트 코드 예시입니다. class ProductServiceTest extends ServiceTestSupport { @Autowired private ProductRepository productRepository; @AfterEach void tearDown() { productOptionRepository.deleteAllInBatch(); productRepository.deleteAllInBatch(); } @Test @DisplayName("상품 목록을 조회한다.") void getSellingProducts() throws Exception { // given ProductOption productOption1 = createProductOption("옵션1", false); ProductOption productOption2 = createProductOption("옵션2", false); ProductOption productOption3 = createProductOption("옵션3", false); ProductOption productOption4 = createProductOption("옵션4", true); // isDeleted = true ProductOption productOption5 = createProductOption("옵션5", false); ProductOption productOption6 = createProductOption("옵션6", true); // isDeleted = true Product product1 = createProduct("상품1", false, List.of(productOption1, productOption2)); Product product2 = createProduct("상품2", false, List.of(productOption3, productOption4)); Product product3 = createProduct("상품3", true, List.of(productOption5, productOption6)); // isDeleted = true productRepository.saveAll(List.of(product1, product2, product3)); // ... 중략 // when List<product> products = productService.getSellingProducts(); // then // ... 중략 } // ... 중략 } deleteAllInBatch() 메서드가 실행된 후 로그 입니다. Hibernate: delete from product_option where ( product_option.is_deleted = false ) Hibernate: delete from product where ( product.is_deleted = false ) org.springframework.dao.DataIntegrityViolationException: JDBC exception executing SQL [delete from product where (product.is_deleted = false)] [Referential integrity constraint violation: "FKN4HMM6EX1VGN60C6UIQTE400F: PUBLIC.PRODUCT_OPTION FOREIGN KEY(PRODUCT_ID) REFERENCES PUBLIC.PRODUCT(PRODUCT_ID) (CAST(3 AS BIGINT))"; SQL statement: delete from product where (product.is_deleted = false) [23503-224]] [n/a]; SQL [n/a]; constraint ["FKN4HMM6EX1VGN60C6UIQTE400F: PUBLIC.PRODUCT_OPTION FOREIGN KEY(PRODUCT_ID) REFERENCES PUBLIC.PRODUCT(PRODUCT_ID) (CAST(3 AS BIGINT))"; SQL statement: delete from product where (product.is_deleted = false) [23503-224]] 감사합니다.
해결됨
Practical Testing: 실용적인 테스트 가이드
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. Classicist에 대해서 궁금해서 질문드립니다. 현업 또는 강사님 혼자서 컨트롤러만 테스트 할 경우 서비스 레이어를 mock, stub을 사용하시는지, 아니면 Fake Service 및 Fake Repository를 구현 후 컨트롤러 테스트를 하시는지 궁금합니다. Classicist을 추구하면 외부 환경만 Mock을 사용해서 테스트를 해야하는 지 아니면 최대한 Mock을 지양하지만 컨트롤러 테스트 같은 경우에는 Mock을 사용하나요?
미해결
실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
안녕하세요 선생님 강의 듣고 있는 이광희라고 합니다. 올려주신 강의로 텔레그램 자체 API를 써서 메세지 전송하기까진 했는데요 이미지를 전송하려고 보니 거의 모든 블로그, 유튜브 설명들이 파이썬 텔레그램봇으로 설명 하더라구요 근데 이 봇이 v20으로 바뀌면서 비동기 프로그래밍(?)이 된거 같습니다. 설명하고 있는 코드들이 다 과거 버전 코드들이네요. 그래서 위키에 직접 가서 코드를 보고 있는데요 import asyncio import telegram async def main(): bot = telegram.Bot("TOKEN") async with bot: print(await bot.get_me()) if __name__ == '__main__': asyncio.run(main()) 그냥 위키에 나오는 간단한 코드인데도 RuntimeError: asyncio.run() cannot be called from a running event loop 이런 에러가 계속 뜹니다. async 부터 공부하려고 다른 유튜브를 찾아서 import asyncio async def main(): await asyncio.sleep(1) print('hello') asyncio.run(main()) 이런 간단한 코드를 입력해도 똑같은 오류가 뜨네요... 이벤트 메인 루프가 실행되고 있는 동안에 함수가 작동할수 없다 그런 내용인거 같은데 위키에 있는 그대로 따라해도 에러가 나니 비전공자 입장에서는 어떻게 해야 좋을지 모르겠네요. 경영학과 출신 직장인이 실무에서 쓰려고 파이썬을 배우고 있는데 물어볼곳이 여기밖에 없어 여쭤봅니다ㅠㅠ 좀 도와주세요 깃헙? 말고 국내 파이썬 qna있는 커뮤니티라도 알려주시면 가서 좀 물어보고 싶은데 그게 어디인지도 모르겠네요.
미해결
Practical Testing: 실용적인 테스트 가이드
안녕하세요 강사님 먼저 강의에 대해 너무 감사드린다는 말씀 드리고 싶습니다. 강의 내용 중 OrderProduct를 생성하는 부분의 책임이 Order에 있게 설계하는 부분에 정말 매력을 느끼고, 유사한 설계 방법들에 대해 공부하려면 어떤 키워드를 알아보면 좋을까요?? 또한 이 강의를 따라 공부해서 개인적으로 진행중인 프로젝트에 적용하면서 공부하고 있는데, 딱 Order와 OrderProduct같은 관계에서 OrderProduct를 강의에서처럼 생성자가 아닌 정적 팩토리 메소드를 통해 만들어보고자 하였습니다. 하지만 여기에서 OrderProdcut의 정적 팩토리 메소드를 테스트하려면 Order가 필요하고, Order를 create하려면 또 OrderProduct가 내부에서 만들어지는 문제가 발생했습니다. 이런 경우는 어떻게 해결할 수 있을까요?? 임의로 Order에 대해 mock으로 생성해서 해결하고는 있는데, 이게 일반적인 방법이 될 수 있을까요? 감사합니다!!