[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
튜플 89번 코드 전체에서 quot, rem = quot_and_rem(3, 10)만 떼서 다음 셀에서 따로 실행해주고 quot를 실행하면 0이 나오는데 rem은 실행하면 어떤 결과도 나오지 않는데요 혹시 89번 코드처럼 def quot_and_rem(x, y): quot = x // y rem = x % y return quot, rem quot, rem = quot_and_rem(3, 10)을 한 셀에 실행해야 되어야 하는지, 위에 def값을 선언했기 때문에 제가 실행한 대로 따로 셀에 quot, rem = quot_and_rem을 실행하면 안되는 이유가 있을까요? 감사합니다~
안녕하세요 강사님.. 제가 일주일이 넘는 기간 동안 계속 이것저것 시도를 해봤음에도 왜 분류 성능이 10%인지를 모르겠어서 실례를 무릅쓰고 질문을 올리게 되었습니다.. cifar10 이미지가 32 크기여서 128 정도로만 rescale을 했고, normalize도 진행했음에도 계속 성능이 10%대이고, loss는 줄어들었다가 갑자기 튀기도 하면서.. 제대로 학습이 되고 있지 않은 것 같습니다ㅠㅠ 바쁘시겠지만 문제의 원인이 무엇인지 여쭤보고 싶습니다ㅠㅠ 감사합니다.. https://drive.google.com/file/d/1FEsv1dex9y9I4AFqX42gBIhVeeOcgQXQ/view?usp=sharing
안녕하세요 개인 프로젝트에 적용하는 과정에서 문제가 발생해서 질문드립니다. 제 스프라이트 중 하나가 SpriteMode가 Multiple로 설정되어 있어서, 해당 스프라이트를 리소스매니저 Get호출할 때 아래와 같은 오류가 발생하고 있습니다. System.Exception: Unable to load asset of type UnityEngine.Sprite from location Assets/03.Resources/Sprites/UI/Game_Main/ico_misc 1.png[ico_misc 1]. UnityEngine.ResourceManagement.Util.DelayedActionManager:LateUpdate () (at ./Library/PackageCache/com.unity.addressables@1.21.21/Runtime/ResourceManager/Util/DelayedActionManager.cs:162) 이 오류를 어떻게 해결할 수 있을까요??
안녕하세여! 추가로 공부하면 좋은 알고리즘 비트-마스킹, 위상 정렬 등은 말씀주신 기준에 따르면 코테가 어려운 대기업에 붙으려면 해야하는 사항일까요?? 추가로 공부하면 좋은 알고리즘 관련해서 혹시 백준에서 어떤 문제들을 풀면 좋을지 추천 문제 리스트만이라도 노션에 올려주실 수 있으실까요..? 🙇🏻♂️
[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
메일 dream@fun-coding.org 이곳으로 질문하려고 하니, 제 계정이 수강하고 있지 않다고 오류가 발생하여 이곳에 질문을 남깁니다. 저는 벌써 '처음하는 SQL과 데이터베이스(MySQL) 부트캠프', '처음하는 MongoDB(몽고DB)와 NoSQL(빅데이터) 부트캠프'를 듣고 지금은 '파이썬 백엔드와 웬기술 부트캠프' 세개의 강좌를 수강했습니다. 저는 제가 개인적으로 연구한 연구내용을 백엔드를 이용하여 웹사이트에 시각화하는 웹사이트를 만들어보려고 했습니다. SQL 데이터를 벡엔드를 이용해 웹사이트에 시각화 하는 수업을 기대했지만 그런 내용은 들어있지 않았습니다 제가 직접 만들어보고자 준비를 할 때에 몇가지 질문이 있습니다. 다음은 수업 내용 중 'user_m gmt.py' 의 코드 내용입니다. class User ( UserMixin ): def init ( self , user_id , user_email , blog_id ): self . id = user_id self . user_email = user_email self . blog_id = blog_id def get_id ( self ): return str ( self . id ) @ staticmethod def get ( user_id ): mysql_db = conn_mysqldb () db_cursor = mysql_db . cursor () sql = "SELECT * FROM user_info WHERE USER_ID ='" + str ( user_id ) + "'" db_cursor . execute ( sql ) user = db_cursor . fetchone () if not user : return None user = User ( user_id = user [ 0 ], user_email = user [ 1 ], blog_id = user [ 2 ]) return user @ staticmethod def find ( user_email ): mysql_db = conn_mysqldb () db_cursor = mysql_db . cursor () sql = "SELECT * FROM user_info WHERE USER_ID ='" + str ( user_email ) + "'" db_cursor . execute ( sql ) user = db_cursor . fetchone () if not user : return None user = User ( user_id = user [ 0 ], user_email = user [ 1 ], blog_id = user [ 2 ]) return user @ staticmethod def create ( user_email , blog_id ): user = User . find ( user_email ) if user == None : mysql_db = conn_mysqldb () db_cursor = mysql_db . cursor () sql = "INSERT INTO user_info (USER_EMAIL, BLOG_ID) VALUES (' %s ',' %s ')" % ( str ( user_email ), str ( blog_id )) db_cursor . execute ( sql ) mysql_db . commit () return User . find ( user_email ) else : return user 이렇게 코드내용이 존재할 때, 로그인 하게 되면 user_id, user_email, blog_id 라는 컬럼을 가진 mysql_db db내용이 새로운 이름의 sql 파일이 따로 생겨서 저장되는 것인가요? 2. 이미지 파일을 sql파일에 x,y,r,g,b 컬럼을 만들고 (0,0) xy 좌표에 (100,200,100) 의 rgb 값이 있다는 의미로 0,0,100,200,100의 값을 모으고, 만약 32x,32의 크기를 가진 이미지가 있다면 1024의 값이 존재하는 이미지 정보를 sql 파일에 저장하고 이를 10000장 정도 보관하는 sql 파일을 만드는 경우가 있나요? 아니면 같은 방식으로 10000장의 이미지 파일을 json 파일로 변환하는 경우도 있나요? 3. 제가 만약 백엔드를 이용하여 sql파일의 내용을 웹사이트에 시각화하는 것이 가능한가요?
1 .클라이언트-서버 방식 클라이언트가 입력을 보내면 중앙서버 에서 로직(충돌,이동) 이런걸 처리하고 게임상태를 업데이트하고 클라이언트한테 보내주는 방식이있고 p2p 방식 p2p 방식으로 모든 클라이언트가 동등한 지위에서 서로 통신하는 구조로 알고있는대 여기서 질문이있습니다 유니티랑 연동한다고 가정하였을때 클라이언트 -서버 방식을 이용하게 되면 유니티에 내장 기능 (컴포넌트)등을 이용해 동기화는 못하게 될꺼같은대 서버단에서 충돌 처리하는 로직을 만들어서 사용해야만 하는지? p2p 방식은 그나마 유니티 내장 기능을 자유롭게 사용할수 있을꺼 같고 p2p 방식을 이용한다면 서버를 따로 구동하는 게 아닌 클라이언트단에서 서버를 구동하는것인가요?
수강생들이 혹시나 동일한 경험할까봐 남겨둡니다. 재현방법 실행 Lobby에서 InventoryUI 오픈 InventoryUI에서 EquipmentUI 오픈 ESC 입력하여 EquipmentUI 닫기 ESC 입력 재현결과 InventoryUI 위에 게임을 종료하시겠습니까 ConfirmUI 오픈 기대결과 InventoryUI 닫기 재현버전(강의) 진행 이후 수정되었을 수도 있어서 적어만 둡니다. 아이템 장착 Pt.4 사유 이전에 GoodsUI를 추가 하면서 OpenUI() 중 여는 ui의 siblingIndex를 childCount - 1 로 수정하였습니다. 하지만 CloseUI() 할 때 그 다음 lastChild를 childCount -2 로 조회하는 것으로 수정하지 않았습니다. 이 결과, 해당 재현 상황에서 UIManager의 CloseUI() 중 lastChild로 InventoryUI가 들어와야 하는데 GoodsUI로 들어오게 됩니다. GoodsUI는 BaseUI를 상속하지 않으므로 GetComponent<BaseUI> 후 설정되는 m_FrontUI가 null이 됩니다. 이후 ESC를 누르면 m_FrontUI가 null이므로 InventoryUI가 있음에도 게임 종료 ConfirmUI가 노출됩니다. 간이 해결 CloseUI시 frontUI에 GoodsUI가 아닌 그 다음 UI가 제대로 들어가게 하기. UIManager.cs CloseUI() 수정하기 var lastChild = UICanvasTrs.GetChild(UICanvasTrs.childCount - 2);
"Only instances of keras.Layer can be " 97 f"added to a Sequential model. Received: {layer} " ValueError: Only instances of keras.Layer can be added to a Sequential model. Received: <tensorflow_hub.keras_layer.KerasLayer object at 0x791605217610> (of type <class 'tensorflow_hub.keras_layer.KerasLayer'>) 위와 같은 오류가 나서 한참 찾았는데요. 원인은 tensorflow_hub와 tensorflow 간의 keras 필요 버전 차이에 있다고 합니다. 아래와 같이 keras를 별도 설치하여 임포트하여 사용하시면 정상 작동됩니다. 같은 에러로 고민이신 분에게 도움이 됐으면 좋겠네요. 수정 소스 코드 !pip install tf_keras import tf_keras as tfk Trained_MobileNet_url = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/classification/2" Trained_MobileNet = tfk.Sequential([ hub.KerasLayer(Trained_MobileNet_url, input_shape=(224, 224, 3)) ]) Trained_MobileNet.input, Trained_MobileNet.output
우선 강사님께서 풀어주신 top-down 코드는 다음과 같습니다. class Solution(object): def uniquePaths(self, m, n): memo = {} def dfs(r, c): if (r, c) == (0, 0): # 출발점에 도달한 경우 return 1 if (r, c) not in memo: # 메모이제이션에 값이 없는 경우 계산 paths = 0 if r - 1 >= 0: # 위쪽 셀에서 오는 경우 paths += dfs(r - 1, c) if c - 1 >= 0: # 왼쪽 셀에서 오는 경우 paths += dfs(r, c - 1) memo[(r, c)] = paths # 결과 저장 return memo[(r, c)] # 결과 반환 return dfs(m - 1, n - 1) 이 코드는 grid에 해당하는 함수만 호출하고, 중복되는 호출은 memo에 저장하기 때문에 총 O(M*N)이 됩니다. 다음은, 디스코드의 다른 사람이 올려주신 코드를 참고해서 조합론을 적용한 코드입니다. class Solution(object): def uniquePaths(self, m, n): memo = {} def fact(x): if x <= 1: return 1 if x not in memo: memo[x] = fact(x - 1) * x # factorial의 결과값을 메모리에 저장 return memo[x] return fact(m + n - 2) / (fact(m - 1) * fact(n - 1)) # fact(m + n - 2) 부분만 호출하고, 분모는 캐싱하므로 시간복잡도는 O(M+N) 분자에 해당하는 부분만 함수를 호출하기 때문에 시간복잡도는 O(M+N)이 됩니다. 우선 제가 궁금한 것은 2가지입니다. 1) 위의 두 코드를 비교했을 때, 수학적으로 접근한 코드가 시간복잡도가 더 낮은데요 항상 dfs, bfs를 먼저 쓰는게 좋은 것은 아닌가요? 2) 강의에서는 조합론을 이용한 방법이 198C99 = 약 2*10^58이여서 완전탐색은 안된다고 하셨는데, 실제로 제출했을 때는 제출이 됬습니다. 왜 이런 차이가 발생한건가요?
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 서버에 피해가 가지않도록 크롤링할 수 있는 방법은 없을까요?
항상 startIndex가 endIndex보다 작다라는 게 보장되지 않나요? endIndex = r.text.find("};", startIndex + 1) if 0 <= startIndex else 0 여기 구문에서 endIndex는 항상 startIndex보다 큰 값을 가지는 게 보장되는데, 왜 if startIndex < endIndex: 이 조건을 추가해주나요?
안녕하세요 ! 동일한 코드로 선생님의 채점기에 돌렸을 때는 100점이 나왔는데 백준에서는 recursion 에러가 납니다. 종료조건도 잘 설정해준 것 같은데 어디서 그렇게 호출이 많이 일어나는지 이해가 되지않아서요 ㅠㅠ 강의 잘 듣고 있습니다. 감사합니다!! # 1. 재귀 (근데 백준에서는 recursion 에러 뜸..) n = int(input()) meetings = [] for _ in range(n): meetings.append(list(map(int, input().split()))) meetings.sort(key=lambda x: (x[1], x[0])) # 끝나는 시간을 기준으로 정렬 # x[1]이 같을 경우 x[0]을 기준으로 정렬 def find(i, cnt): for j in range(i+1, n): if meetings[i][1] <= meetings[j][0]: # 회의 끝나는 시간보다 시작하는 시간이 더 크거나 같은 것 찾기 cnt += 1 return find(j, cnt) # 또 찾기 return cnt print(find(0, 1))
학습 관련 질문을 남겨주세요. 먼저 유사한 질문이 있는지 검색 부탁 드립니다. 질문 내용이 상세할수록 명확한 답변을 드릴 수 있습니다. 진행에 문제가 있는건 아니구요. 강사님께서 스트링을 말아서 로그 쏘실 때 두가지 방식으로 나뉘더라구요. Logger.Log($"SerialNumber: {item.SerialNumber} ItemId: {item.ItemId}"); Logger.Log("Load failed (" + e.Message + ")"); 강사님은 역할이 구분되어 있던데 어떤 차이를 두고 사용하시는지 단순 궁금합니다. 메시지는 무조건 string이니까 그런건지.. 가독성 측면에서 이점이 있는건지.. 유지보수에서 도움이 되는건지..