[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
터미널에서 conda activate가 되어 있는 경우에는 conda 설치 위치의 bin을 참조하게 되더라구요. 그래서 강의를 따라서 설치 후 서버를 실행하면 /USERS/{유저}/opt/ananconda3/~~ 를 계속 참조해서 오류가 발생합니다. 이런 경우엔 conda 가상환경을 꺼주시면 정상적으로 동작합니다. conda deactivate mysql.server start
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 더 큰 숫자 찾기문제에 int max = (a > b) ? a : b;가 아닌 String status = (a > b) ? "10" : "20";는 틀린 답인가요? 이유도 궁금합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 익명 클래스는 이름이 없는 지역 클래스라고 하셨는데 익명 클래스를 메소드 파라미터로 넘기는 부분에서 사용하기 때문에 지역 클래스라고 하는건가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 사진에서 4. flush, 5. commit은 무엇을 의미하는 것인지 궁금합니다.
선생님! 6:05초에 logit("종속변수 ~ 독립변수 + " ) 넣어줄때요, 종속변수는 문제에서 생존여부(Survived)를 예측하고자 한다고 했기때문에 종속변수가 되는걸까요? 아니면 문제 1번에서 Gender 와 Survived 간의 독립성 검정을 한다고 했을때 문제 2번에 Gender가 독립변수인게 적혀있기 때문에 Survived 는 자동으로 종속변수가 되는걸까요? 종속변수를 어떻게 확인해야 하는지 잘 모르겠습니다!
안녕하세요 강의 잘 듣고 있습니다. 다름이 아니라 프로젝트를 업그레이드 하는 과정에서 오류가 생겨 질문 드립니다. package ShopProject.myShopProject.Domain; import ShopProject.myShopProject.Domain.Item.Item; import ShopProject.myShopProject.Domain.Order.Order; import jakarta.persistence.*; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.Getter; import lombok.Setter; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member",cascade = CascadeType.REMOVE) private List<Order> orders = new ArrayList<>(); private String loginId; private String password; @OneToMany(mappedBy = "member") private List<LikedItem> likedItems = new ArrayList<>(); } package ShopProject.myShopProject.Domain; import ShopProject.myShopProject.Domain.Item.Item; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class LikedItem { @Id @GeneratedValue @Column(name = "likedItem_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "item_id") private Item item; } 보시는 것처럼 멤버와 좋아요 상품은 Lazy 관계에 있습니다. OneToMany는 기본이 Lazy이므로 명시하지 않았습니다. 따라서 좋아요 상품은 직접 조회될 때만 DB에서 조회되고, 다른 경우는 프록시 형태로 존재합니다. //아이템 상세 정보 @GetMapping("item") public String itemDetail(@RequestParam("itemId") Long itemId, @SessionAttribute(name = "loginMember") Member loginMember, Model model) { log.info("item 호출"); Item item = itemService.findOne(itemId); log.info(loginMember.getLoginId() + " " + loginMember.getName()); // 좋아요 여부 추가 model.addAttribute("isLiked", memberService.isliked(loginMember, item)); //이 부분입니다!! model.addAttribute("item", item); model.addAttribute("member", loginMember); if (item.getCategory().equals("Book")) { return "items/item/book"; } if (item.getCategory().equals("Album")) { return "items/item/album"; } if (item.getCategory().equals("Movie")) { return "items/item/movie"; } return "items/item"; } 위 컨트롤러를 호출하면, isliked라는 매소드를 실행하게 됩니다. 좋아요 여부를 확인하는 메소드입니다. //좋아요 아이템이 아니면 false 반환 @Transactional public Boolean isliked(Member member, Item item) { log.info("좋아요 확인 메서드 실행"); // log.info("멤버 정보" + member.getName() + " " + member.getLoginId()); for (LikedItem likeditem: member.getLikedItems()) { //여기에서 lazyinitializationError 발생 if (likeditem.getItem().getName().equals(item.getName())) { log.info("좋아요인 경우"); return true; } } log.info("좋아요 아닌 경우"); return false; } 그런데 여기에서 맴버의 좋아요 목록을 불러오면 lazyinitialization 에러가 발생합니다... 정말 많이 원인도 구글링해보았는데, 영속성 컨텍스트가 종료 된 후 접근할 때 발생하는 것을 알았습니다. 영속성 컨텍스트의 생명주기는 트렌잭션과 거의 동일하다고 알고 있습니다. 만약 위 메소드에 트렌젝션 어노테이션이 없다면 member.getLikedItems() 의 결과를 초기화해주지 않으면 오류가 발생할 것입니다. 따라서 트렌젝션 어노테이션을 넣으므로서, member.getLikedItems()를 가져오고, 직접 DB에서 불러오는 과정을 한 트랜젝션 안에서 수행하도록 했습니다. 그런데 이 메서드에서 계속 LazyinitializatoinError가 발생합니다. 이 부분의 원인을 전혀 못 찾겠습니다.. 해결책으로는 DTO를 사용하거나, fetch Join을 사용해서 멤버와 같이 조인하여 한번에 가져옴으로 해결할 수있을 거라 생각합니다. 하지만 해결책은 알았지만, 위 코드의 무슨 오류가 있는지 정말 궁금합니다. 따라서 이 코드의 오류를 알고 싶습니다. 또한 저의 이해에 오류가 있다면 그 부분도 알려주시면 감사하겠습니다.
마지막 RAG 강의에서, 첫번째 명령문을 실행시키면, !pip install -q langchain langchain-openai tiktoken chromadb typer 호환과 관련된 에러가 발생합니다. ===================== ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. spacy 3.7.4 requires typer<0.10.0,>=0.3.0, but you have typer 0.12.3 which is incompatible. weasel 0.3.4 requires typer<0.10.0,>=0.3.0, but you have typer 0.12.3 which is incompatible. ===================== ChatGPT를 통하여 여러 해결방안을 제시받아 시도해 보았는데 해결이 되지 않습니다. 손쉬운 해결 방법이 있을지요?
파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
수업대로 127.0.0.1:8000/items/{id} 를 넣었는데 starlette.routing.NoMatchFound: No route exists for name "static" and params "path". internal Server Error 가 나옵니다 ㅠ BASE_DIR, directory 모두 수업대로 다 입력했습니다. 구글링을 해도 방법을 찾질 못해서요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 궁금중이 생겨서 질문을 남깁니다. Period클래스를 이용해서 지정 범위 의 시간을 구한 것을, 다시 LocaDate로 값을 바꾸고 싶을때, 아래의 코드처럼 코딩을 하였는데요, LocalDate startDate = LocalDate.of(2024, 1, 1); LocalDate endDate = LocalDate.of(2024, 11, 21); Period period = period.between(startDate, endDate); LocalDate localDate = LocalDate.of(period.getYears(),period.getMonths(),period.getDays()); 이런 코드 스타일이라고 할까요? 이렇게 코드 짜는게 맞나요? (TestBetween클래스 코드를 좀 수정 한 것입니다.) 답변 부탁 드립니다. (추가) - 코드 변경 + 내용 수정 글을 다시 보니 글이 너무 이상하네요. 좀 죄송합니다. 저가 너무 서포터즈님 들의 도움만 바라는 것인가? 라는 생각도 좀 드는데.. 이것도 지적해주시면 감사하겠습니다.
안녕하세요. 3-4 피쳐엔지니어링에 인코딩 부분에서 질문이 있습니다. 파일에선 범주형 칼럼을 추출하기 위해 X_train.columns[X_train.dtypes == object] 를 사용했는데 cols = X_ train.select _dtypes(include= "O").columns 로 해도 동일하게 작업이 가능한가요? 최대한 단순하게 외우고 싶어서 이게 가능하다면 select_dtypes() 사용하는걸로 외우려고요
4회 기출 유형(작업형2)까지 수강하였을 때, 제가 이해한 내용은 다음과 같습니다. <모델의 성능을 평가하는 방법> 데이터 분리 (X_tr, X_val, y_tr, y_val) → 모델 학습 & 하이퍼 파라미터 튜닝 → 평가 (f1 score, roc_auc_score 등) 하이퍼 파라미터 튜닝의 값을 조절해가며 평가 점수 확인 데이터 분리 없이, 모델 학습 & 하이퍼 파라미터 튜닝 → 교차검증 (cross_val_score) 이때 질문드립니다. 제가 이해한 대로, 모델의 성능을 평가하는 방법이 위의 2가지가 있는게 맞을까요? 강사님이 영상에서 교차검증을 사용한 이유는 문제에서 평가 방식을 '평가: Macro f1-score'라고 제시해주었기 때문인가요? 혹시 실제 시험 상황에서 평가 방식을 제시해주지 않는다면, 위의 2가지 방법 중 어떤 것을 사용해도 상관이 없는건가요?
인프런 Ai 가 아닌 강사님이 도움을 주시길 바라봅니다... 스프링부트3가 되면서 sleuth가 사용이 안 된다 하여, 강사님 깃허브에 배포된 프로젝트와 커뮤니티 게시판을 참조하여 디펜던시를 다 수정하고 테스트 하였으나 order-service와 user-service 같은 traceId가 출력이 되고, 혹시 다운받은 zipkin이 문제인가 하여 도커로 zipkin을 실행해봤으나 브라우저로 접속한 zipkin에서는 아무런 traceId가 검색이 되지 않고 어떠한 요청들도 기록이 되지 않습니다. 무엇이 문제일까요...? 스택오버플로우에 비슷한 사례들을 찾아봐서 amqp와 같이 쓰면 문제가 생긴다 이런 저런 디펜던시 추가해봐라 하는 것들을 다 따라봤으나 해결이 되지 않습니다. 삼일째 이 문제에서 벗어나지 못하고 있습니다... 간곡히 도움을 부탁드립니다... 어떠한 키워드라도 좋으니 혹시 이 글을 보시는 다른 수강생분들도 도움 좀 주세요...