모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
해당 강의와 파이썬 클린 코드 책을 병행해서 공부하는 중입니다. 파이썬 클린 코드 책에 따르면, 클래스 내 변수를 접근하지 못하게 할 때, _ 를 써서 접근을 하지 말라는 의도를 담으라 되어있습니다. 그리고 _ _의 경우에는 클래스의 상속 과정에서 네이밍이 겹치는 걸 방지하기 위해 만들어져있다고 되어있구요. 여기서 중요한 건, _ _ 의 경우 이름 변경을 통해 접근을 의도적으로 막는 것으로 설계되지 않았다는 점입니다. 애초에 영상에서도 보여주셨듯 클래스를 사용하는 입장에서 굳이 _ 를 써서까지 private variable에 접근할 이유가 없고, 만약 그럴 의도가 있다면 _ _로 숨겼다 해도 접근 자체는 가능하니까요. 따라서 이 부분이 pythonic 하지 않다... 라고 책에서 나와있네요. 사소한 차이일 수 있겠으나 파이썬에서 기능 개발의 의도를 오해할 수도 있을 것 같아 글 남깁니다.
아래 똑같은 질문글을 올렸는데 AI 답변은 jps에서 응답코드를 작성하지 않는다고 합니다. 제가 궁금한것은 이전에는 servlet에서 저희가 직접 응답코드를 작성했는데, 이제는 jps로 넘겨주고 끝이잖아요? 그런데 현재 강의에서 6분 30초경을 보면 jps에서 응답을 작성한다고 하셨는데 아래 질문글의 Ai 답변은 jsp가 응답코드를 작성하지 않는다고 합니다. 그렇다면 서블릿에서 jps로 넘어간 후에 응답은 어디서 작성되나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 궁금증이 생겨서 질문을 드립니다. home.html을 만들고 나서 localHost:8080을 호출 할때, 크롬에서 index.html 페이지가 계속 떠서 코드에 문제가 없는지 확인해 보았습니다. 그래서 pdf파일에 있는 코드들도 복사 붙여놓기 해보고, 빠진것들이 없나 확인도 해보았지만 문제를 해결할수 없어서, 질문들을 확인해보니 캐시에 대한 답변이 있어서 다른 인터넷으로(edge) localHost:8080 을 치니 home이 잘 표시되더라고요… 그리고 나서 크롬 설정에 들어가서 캐시를 지우니까 홈 화면이 나오는 것을 확인할 수 있었는데요.(그전까지는 계속 index.html 뜨더라고요) 개발을 하다 보면 이런 것이 생각 안날수도 있을것같은데(캐시 문제 보다 내 코드가 문제 있겠지라는 생각이요) 이것에 대안 대처법 은 없나요?(계속 저가 일일히 캐시를 삭제 해야하 는건지? - 귀찮은 생각이 들더라고요) 답변 부탁 드립니다. 수정1 읽어보니 글이 이상해서 수정
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 강의를 듣다가 pdf를 보던 중 "참고" 라고 적힌 부분에 ' | ' 이 부분이 글 씨를 침범 하는 사태가 있습니다. 이 강의 다른 pdf 파일도 확인 해보니까 어떤 것은 괜찮고 어떤 것은 사진처럼 이렇게 되어있습니다. pdf파일을 보는 사람이 있다면 불편할 것 같네요. 추가1 "회원 서비스 테스트" 강의 에서 영상에 회원 가입 테스트 에서는 Assertions.assetThat(findMember.getName()).isEqualTo(member.getName()); 이렇게 작성 되어 있는데, 오늘(25.6.12)pdf를 보니 pdf파일 코드 에는 assertEquals(member.getName(), findMember.getName()); 이렇게 되어 있더라고요. 이렇게 하신 이유가 무엇인가요?
안녕하세요. 유사한 질문을 찾아보았으나 의문이 해결되지 않아 질문드립니다. anova 테이블을 만들기 전 적합한 데이터 형태를 만들기 위해 melt 함수를 사용하시더라구요. anova 테이블을 만들 때 필요한 특정한 데이터 형태가 있는건가요? 왜 melt함수를 적용해 주어야 하는지 아직 이해하지 못해서 질문드려요. 답변 기다리겠습니다. 감사합니다.
선생님의 코딩 # LightGBM import lightgbm as lgb lg = lgb.LGBMClassifier(random_state=0, verbose=-1) lg.fit(X_tr, y_tr) pred = lg.predict(X_val) print("lightgbm") print(f1_score(y_val, pred, average='macro')) # 최종 제출 파일 (lightGBM) pred = lg.predict(test) result = pd.DataFrame({'pred':pred}) result.to_csv("result.csv", index=False) 저의 코딩 from lightgbm import LGBMClassifier lg = LGBMClassifier(random_state=0, verbose=-1) model = lg.fit(X_tr, y_tr) pred = model.predict(X_val) pred.shape f1_score(y_val,pred, average='macro') # basic # 0.9257472552209252 pred = lg.predict(test) submit = pd.DataFrame({'pred' : pred}) submit.to_csv('result.csv', index=False) pd.read_csv('result.csv') 여쭙고싶은 것은 선생님께서는 lg.fit을 어떤 변수에 넣지 않고 바로 학습시킨 뒤 그것으로 예측 및 검증을 하고 최종 test 예측까지 수행하시는데, 저는 lg.fit을 model이란 변수에 넣은뒤 예측 및 검증을하고, 최종적으로는 lg로 test 예측을 수행합니다. 혹시 이 차이에서 최종 예측성능에 차이가 생길까요?
교수님 안녕하십니까? 3회 기출유형 (작업형2)를 혼자 풀면서 심사위원분들께서 채점을 할 때, 사용자 코드를 보고 채점 코드를 변경하시는지 혹은 일괄적인 코드로 채점을 하시는지 궁금함이 생겼습니다. 궁금한 점 1) 테스트 데이터값을 예측할 때 -> pred = rf.predict_proba(test)[:,1] 로 하지 않고, -> pred = rf.predict_proba(test) 로 테스트 데이터를 예측한 이후, 아래와 같이 진행하면 심사위원분들이 유동적으로 채점 코드를 변경하시나요? test_index = test.index[:] test_index submit = pd.DataFrame({'index':test_index,'y-pred':pred[:,1]}) submit.to_csv('result.csv',index=False) pd.read_csv('result.csv') ※ 교수님이 주신 채점 코드를 아래와 같이 제 임의로 변경하면 채점이 되는것을 확인했습니다. roc_auc_score(y_test,pred) -> roc_auc_score(y_test,pred[:,1]) ※ 다만, 사용자 데이터를 보지않고 채점 코드를 일괄적으로 적용하면, 정해진 제출형식에 어긋나게 작성해서 0점을 받을까 걱정이되서 문의드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링 기본편의 컴포넌트 스캔에서 배운 내용에 의하면 스프링 빈 등록을 위해서는 @ComponentScan이 붙어있는 설정 정보 클래스가 존재해야하는거 아닌가요? 예제 코드에는 @ComponentScan이 붙은 클래스가 없는데, 어떻게 @Component("helloBean")이 붙은 메서드를 스프링빈으로 인식하는지 궁금합니다.