[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요~! 잔재미코딩님을 열심히 믿고 따라가고 있는 수강생입니다. 다름이 아니라 함수 사용에서 print와 return의 차이점이 잘 이해가 되지 않아서요. def cal(a, b, c): if c == '+' : return a + b elif c == '*' : return a * b else : return 0 예를 들면 위 함수 코드를 실행하고 data = cal(2, 3, "*") print(data) 를 실행하면 바로 6이 나오지만 위의 코드에서 return대신 print()를 사용하면 data = cal(2, 3, "*") print(data) 를 실행 시 6 None 이 나온다는 차이점은 느꼈습니다. 근데 왜 이런것인지 잘 이해가 안돼요 ㅠㅠ 정확한 둘의 사용상 차이점이 무엇인가요?
<input value={name} onChange={onChangeButton} placeholder={"이름"} /> 안녕하세요! 이번 강의 내용에서 return되는 부분에서 텍스트 박스를 형성하는 부분에 있는 위에 코드 부분에 대한 질문입니다! value={name}이 들어가는 이유는 무엇인가요?? 이 부분이 없어도 지장이 없는 것 같아 여쭤봅니다!
안녕하세요. 선생님의 강의로 머신러닝 및 딥러닝에 관심을 갖게 되었습니다. 다름이 아니고, CIFAR100 dataset에 대해서 VGGNet이라는 모델을 이용해 훈련을 시켜보고 있는데, 제가 궁금한 것은 Softmax의 Input의 정밀도를 어디까지 유지하면 모델이 잘 학습될 수 있을까?입니다. 아래의 코드는 training부분입니다. 첫 번째 사진처럼 모델을 훈련시키는데, model(images)를 통해 나온 실제 output을 이용하면 모델이 잘 학습이 되는데 (마지막 epoch의 validation accuracy 55, Top-5 Test Accuracy 80%정도), 이 output을 rounding을 하면 소숫점 아래 20째자리까지 반올림을 해서 높은 정밀도를 유지해도 모델 학습이 아예 되지 않는 (모든 epoch가 끝나도 Validation Accuracy가 1%남짓) 문제가 발생합니다. 이러한 문제가 왜 발생하는지, 어떻게 하면 해결할 수 있을지 또 제가 궁금한 Softmax layer에서 요구하는 최소 Input 정밀도에 대해 다른 방법으로 측정할 수 있을지 궁금합니다 ㅠㅠ 감사합니다
질문 남겨주셔서 감사합니다. 막히면 언제든 무엇이든 자주 질문 던져주세요. 수학/과학이나 알고리즘과는 달리 업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다. 다시 말씀드리지만, 질문을 자주자주 남겨주세요. 저도 최대한 빠르게 회신 드리겠습니다. 당부드릴 두 가지가 있습니다. ① 가급적 구체적으로 설명해주세요. ② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ ==================================== 안녕하세요 일코님 메일드렸는데 많이 바쁘신듯 하네요~ ㅠ.ㅠ 열심히 구현하고 있는데, (1) 블록 설정된 내에서 표가 몇개 있는지 확인 하는것 (2) 표의 갯수를 확인하고 차례로 그 표를 찾아서 진입하는 방법 을 잘 모르겠습니다. (3) 이전에 블록 내에서 텍스트를 검색하는 방법을 알려주셨었는데, 그것을 잘 활용하고 있는데요. def 블록내_텍스트_포함_여부(text): try: hwp.InitScan(Range=0xff) # 0xff <<선택된 범위 내에서 검색 except: hwp.InitScan(range=0xff) _, range_text = hwp.GetText() # 텍스트만 추출 hwp.ReleaseScan() # releaseScan이란 함수는 스캔을 해제. hwp.HAction.Run("MoveParaEnd") return f"{text}" in range_text # 이경우, 해당 target이 text에 포함되어있으면 True, 아니면 False를 반환. python 터미널에서 행별로 코드를 실행할 때, Range=0xff 를 했을때 올바른 파라미터가 아니라고 오류가 뜰때가 많더라구요 근데 또 이걸 py파일을 실행해서 했을떄는 되는거 같구요. 그래서 그냥 try except 구문을 쓰고있는데, 제가 뭔가를 잘못사용하고 있는 걸까요? 감사합니다.
(강의 색션 7_8 - 14:30) 안녕하세요 선생님. 좋은 강의 만들어 공유해 주셔서 진심으로 감사드립니다. Pydantic 모델 초기화 과정에서 아래의 코드처럼 Optional 이 설정하지 않으면 Swagger UI 에서 입력 값이 null 이여서 엔티티 타입 불일치로 422 에러가 발생합니다. 또한, parse_user_form에서 Optional 체크를 하고 Item에서는 별도로 설정하지 않으면 같은 에러가 발생하더군요. Q) FormData 부분은 Optional 체크를 하지 않아도 되고, pydantic model에서는 반드시 Optional 체크를 해야지만 문제 없이 정상 동작하는 이유에 대한 보충 설명 부탁드려도 될까요? 주석한 부분이 기존 코드입니다. 주석한 부분으로 코드를 변경하면 에러가 발생합니다. class Item(BaseModel): name: str = Field(..., min_length=2, max_length=50) # description: str = Field(None, max_length=500) description: Optional[str] = Field(None, max_length=500) price: float = Field(..., ge=0) # tax: float = None tax: Optional[float] = None @model_validator(mode='after') def tax_must_be_less_than_price(cls, values): price = values.price tax = values.tax # if tax > price: # tax가 NoneType이라 에러가 남. if tax is not None and tax > price: raise ValueError("Tax must be less then price") return values 감사합니다.
현재 실무에서 ORM(Prisma)을 채택해서 백엔드를 만들고 있어요. ORM으로 할 수록 Repository패턴과 조합이 좋지않다고 생각이 들고 실제 팀리더도 Repository패턴을 같이 쓰는거에 부정적이고 실제로 사용하지 않아요. 그렇다고 service 하나에 몰아 넣으니 저는 코드 읽기가 점점 힘들어지는거 같아요. 대체할만한걸 검색해보니 CQRS패턴이나 Query Object가 나오는데 아니면 서비스파일을 여러개 두거나... 강사님 같은 경우에는 실무에서 어떻게 대처하시는지 궁금합니다.
강의대로 eslint 설정한 후 { "extends" : [ "react-app" ] } npm run dev 하면 아래와 같은 에러가 납니다. VITE v6.0.3 ready in 354 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h + enter to show help 오후 4:41:35 [vite] Internal server error: C:\Dev\fullstack-app\frontend\src\main.jsx 1:1 error Parsing error: The keyword 'import' is reserved ✖ 1 problem (1 error, 0 warnings) Plugin: vite-plugin-eslint File: C:/Dev/fullstack-app/frontend/src/main.jsx at TransformPluginContext._formatError (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47158:41) at TransformPluginContext.error (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47153:16) at TransformPluginContext.transform (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite-plugin-eslint/dist/index.mjs:1:1989) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async EnvironmentPluginContainer.transform (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47001:18) at async loadAndTransform (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:40852:27) 오후 4:41:35 [vite] Pre-transform error: C:\Dev\fullstack-app\frontend\src\main.jsx 1:1 error Parsing error: The keyword 'import' is reserved 파싱 오류 같은데 어느 설정파일을 수정해야 할까요?
11:42 아래와 같이 for in을 배열에서도 사용이 가능한 것 같습니다! 다만 권장되지는 않는 방법이라고 하네요. let arr = [1, 2, 3]; for (let i in arr) { console.log(arr[i]); } 권장되는 방법: for...of, 일반 for 루프, forEach() 메서드 등
안녕하세요 실습 코드에서 반복문 내 전략 구현 부분에 강의 설명과 코드 내용이 일치하지 않는 것 같아서 질문 드립니다. 종가가 3일 최저가인지 여부를 체크하는 코드에서 rolling 함수인자를 3으로 맞춰서 새로 컬럼을 추가한 뒤, 종가를 data['3d_min']과 비교해줘야하는게 맞을까요? 강의 코드는 if data['close] == data['5d_min'] 적혀 있어서 질문드립니다.
많은 분들이 memo 기능 관련하여 문의 주신것 같은데 내용이 다 동일하네요.. 영상을 보면 변경 전/후 전부다 하이라이트가 표시가 되어서 리렌더링이 발생하는지 시각적으로 확인이 안됩니다. 문의 남기신 글에는 console.log로 확인을 하라고 하시는데.. 그럴것 같으면 강의 내용 자체가 바껴야 되는거 아닌가요?? 이 부분이랑 context 설명하는 부분도 마찬가지인데요.. context 설명할때 onUpdate, onDelete, onCreate는 useCallback을 사용하여 재생성을 방지하게 이미 설정되어있는데, 왜 memo 기능을 써야하나요?? 이 부분도 설명할때 화면상에 하이라이트가 전과 후 다 발생하는데.. 강사님 혼자 뭐 없어진거 확인하는데.. 화면상으로 전혀 확인이 안되는데.. 혼자 진행하시니 혼란스럽네요.. 확실하게 딱 표시가 나는게 아니라면 그에 대한 설명이 있어야 하지 않을까 싶습니다.
질문 남겨주셔서 감사합니다. 막히면 언제든 무엇이든 자주 질문 던져주세요. 수학/과학이나 알고리즘과는 달리 업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다. 다시 말씀드리지만, 질문을 자주자주 남겨주세요. 저도 최대한 빠르게 회신 드리겠습니다. 당부드릴 두 가지가 있습니다. ① 가급적 구체적으로 설명해주세요. ② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ ==================================== 안녕하세요 일코님 혹시 pyhwpx 의 클래스, 메서드 등이 정리된 별도의 문서는 없을까요? 만약 없다면 그런것들을 살펴보려면 어떻게 해야하는지 알고싶은데 다른 방법은 없을까요? 감사합니다.
강의 에서 예측진행시 선형회귀 랏소 릿지의 경우 model= 하고 뒤에 해당 모델을 작성했는데 18분 22초 랜덤포레스트의 경우 regressor =RandomForestRegressor()로 정의해 놓고 밑에 학습은 model.fit으로 하고 pred도 model.fit으로 했는데 그럼 위에 있는 라쏘를 가지고 모델링을 한게 아닌가 궁금합니다. ※요약 1: 랜덤포레스트에는 모델로 안하고 왜 regressor = 으로해서 진행했는가, 요약2: model.fit으로 진행했는데, import를 랜덤포레스트로 했음에도 , 랜덤포레스트가 아닌 위에 model을 정의한 라쏘로 학습이 된것 아닌가 이렇게 궁금합니다!!
안녕하세요 저번 달에 실기시험 보고 온 수강생입니다. 평소에는 train_test_split에서 test_size를 0.2로 했는데 시험장에서 무슨 바람이 분 건지 test_size를 0.1로 하고 왔습니다. 이것 때문에 점수가 10점이 깎일 수도 있을까요? 이외에는 랜덤포레스트 분류 모델 정석 코드 그대로 실행, 제출하고 왔습니다. 2유형만 40점 나오면 넉넉하게 합격일 것 같은데 괜히 불안해지네요..
안녕하세요. 컴포넌트 최적화 하는 부분에서 질문있습니다. 10.3강에서 대략 5분 40초쯤에 Header 컴포넌트에 memo 기능을 사용해서 최적화 한 뒤에, 체크박스를 클릭하면서 헤더 컴포넌트가 리렌더링이 일어났는지에 대해 확인하는 부분이 있습니다. 질문사항은 memo 기능을 통해 최적화를 하던 안하던 개발자 도구에서 Header 컴포넌트가 항상 리렌더링이 일어나는것 같은데 어떻게된걸까요? 헤더부분이 계속 노란색으로 뜨면 리렌더링이 일어났다는걸로 보이는데 강의 영상에서도 다른 컴포넌트와 동일하게 노란색으로 변경됩니다. 강의에서 TodoItem을 커스텀한 부분은 강의대로 적용됐습니다.(이부분은 리렌더링이 발생하지 않습니다.)
현재 "신규 Blog 글 생성하기 - 01" 강의를 수강 중입니다. 강의 중에, 쿼리의 commit() 실패시 rollback()이 자동으로 수행된다고 말씀 하셨는데, 코드상에 with를 사용한 것도 아니고, context_get_conn()의 에러 발생시 rollback() 호출도 하지 않는데 rollback()이 자동으로 수행되는게 맞는가요? close를 하면 자동으로 rollback() 된다고 하시는데 close는 성공시에도 호출하는 것으로 코드를 이해하고 있습니다. insert, update의 성공시에도 rollback()이 되는게 맞는지도 알고 싶습니다.