안녕하세요. 좋은 강의 잘 듣고 있습니다 ^^ 강의에서 private method 테스트를 해야되는 상황이라면 객체를 분리해야되는 상황이라고 말씀을 주셨는데 실무에서는 꼭 분리를 해야되는 상황이 아닐수도 있을텐데 1)실무에서는 private method 에 대한 테스트는 거의 작성안하나요? 2)레거시 프로젝트를 맡았을때 public method 에 대한 테스트를 작성하기에는 많은 작업이 필요하다면 private method 라도 테스트 코드를 작성하는게 좋을거 같은데 이런 경우도 작성을 안하나요? 3) private 함수를 변경하는경우 해당함수만 테스트하고 싶을거 같은데 이런경우는 어떻게하나요?
코드 답안 작성 시, 암묵적으로 EDA 과정을 거치게 되는데 모의고사 3에서의 EDA는 head(), value_counts(), isnull().sum(), describe()를 사용하여 탐색적 분석을 하게 되는데 이 함수를 실제 시험에서 반드시 써야하는지 궁금합니다(isnull()sum()은 결측치가 있는지 확인하는 함수이니 무조건 사용하여야 할것 같고 value_counts나 describe는 쓰지 않아도 될 것같은 생각입니다)
8. 팰린드롬(replaceAll 정규식이용) 해당 문제를 저는 정규식을 사용하지 않고, 풀었습니다. 정규식을 잘 모르기도 하고, 정규식도 제대로 알려면 공부해야 할 범위도 많아도 생각합니다. 혹시 기업 코딩테스트를 볼 때 무조건 정규식을 사용해야 하는 문제가 빈번하나 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 강의 잘 보고 있습니다. 문득 코딩하다 궁금한 점이 컨트롤러, 서비스, 레포지토리 등을 작성할 땐 import 문을 사용하여 클래스를 사용하는데 TEST 코드를 작성할 땐 왜 import 문을 작성하지 않아도 클래스를 사용할 수 있는 건가요?
안녕하세요 강사님! 섹션 4 <소스코드 분석 - printf, fflush>1:52 부근에서 질문드릴 것이 있습니다! 강의에서 설명해주신 것을 저는 fflush() 를 주석하면 각 Task에서 UART 통신을 통해 전송한 문자들이 바로 flush되지 않고 버퍼에 쌓이다가 buffer 한계량을 초과할 때마다 출력이 되므로 우리가 생각했던대로인 'a'가 연속적으로 절반 출력되고, 'b'가 연속적으로 절반 출력되는 것이 반복되는 결과가 발생한다고 말씀하신 것으로 이해했습니다. 그러나 제가 이해가 안되는 것이 Task1, 2는 우선순위가 같고, 따라서 Task1 한 번 실행('a' 출력) -> Task2 한 번 실행('b' 출력) -> Task1 한 번 실행('a' 출력) ... 이 과정이 반복되어서 ababababababab가 출력되어야 하는 것이 아닌가요..??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 회원 가입을 할 때 중복 회원 가입이 안 되어야 하는데 데이터를 살펴보면 중복으로 회원가입이 됩니다. 코드 상으로는 문제가 없어 보였는데 확인 한 번 부탁드리겠습니다!
import requests,openpyxl from bs4 import BeautifulSoup from openpyxl.styles import Font wb = openpyxl.Workbook() wb.create_sheet('증권') del wb['Sheet'] ws = wb['증권'] ws.append(['순번','종목','PER','ROE','DATE']) path = 'C:/Users/user/DESKTOP/' count = 10 x =1 requests.get('https://finance.naver.com/sise/field_submit.naver?menu=market_sum&returnUrl=http%3A%2F%2Ffinance.naver.com%2Fsise%2Fsise_market_sum.naver%3F%26page%3D1&fieldIds=per&fieldIds=roe&fieldIds=high_val&fieldIds=low_val&fieldIds=pbr&fieldIds=reserve_ratio') for t in range(1,count + 1,1) : respone = requests.get(f'https://finance.naver.com/sise/sise_market_sum.naver?sosok=0&page={t}') html = respone.text soup = BeautifulSoup(html,'html.parser') for i in range(1,100,1): first_link = f"#contentarea > div.box_type_l > table.type_2 > tbody > tr:nth-child({i+1})" links = soup.select(first_link) for link in links : try: name = link.select_one(f"{first_link} > td:nth-child(2)").text per = link.select_one(f"{first_link} > td:nth-child(9)").text roe = link.select_one(f"{first_link} > td:nth-child(11)").text dae = link.select_one(f"{first_link} > td:nth-child(12)").text ws.append([x,name,per,roe,dae]) x += 1 except: pass wb.save(f'{path}증권.xlsx') 강의 듣기 전 과제 내주셨을때 짠 코드인대용 아직도 살짝 이해가 안되는대 처음 짤 때 reqsuetst.get 부분에 요청 보내고 난 후 url은 변경없이 동일해서 새로운 변수에 기존 url 저장했었거든용 아래처럼 respone = requests.get(f 'https://finance.naver.com/sise/sise_market_sum.naver?sosok=0&page={t }') 기존 url사용했을때 체크박스 저장했던 내용이 계속 보이던대 뭐때문인지 알수있을까용.. 그리구 td부분 저장 도중에 바부분 처리 할줄몰랐어 저런씩으로 try와 except로 처리 했었는대 이코드 뿐만 아니라 추 후에 이런 비슷한거 나왔을떄 저렇게 짜면 문제가 될가능성이 있을까용 ?
안녕하세요! 예전에 동일 문제를 파이썬으로 풀다가, c++로 풀어봤는데, 왜 해당 파이썬코드는 정답 으로 인식되는데, 동일하게 짠 c++코드는 오답으로 인식되는지 궁금합니다. def pow_mod(a, b, c): if b == 1: return a % c n = pow_mod(a, b//2, c) if b % 2: return (n * n * a) % c else: return (n * n) % c A, B, C = map(int, input().split()) result = pow_mod(A, B, C) print(result) #include <bits/stdc++.h> using namespace std; typedef long long ll; ll A, B, C; ll tmp, ret; ll calc(ll a, ll b, ll c){ if (b == 1) return a % c; tmp = calc(a, b/2, c); // if b is odd number => only multiple a once if (b % 2) { return (tmp * tmp * a) % c; } else { return (tmp * tmp) % c; } } int main(){ cin >> A >> B >> C; ret = calc(A, B, C); cout << ret << '\n'; return 0; } 어느 것이 반례인지 감이 안옵니다. 혹시 알 수 있는지, 왜 발생하는지 궁금합니다.
a = a[:int(len(a)*0.5)] cond = a['target'] == 0 print(trunc(a[cond]['proline'].mean())) 이렇게 작성했는데 trunc함수가 정의되지 않았다고 오류가 나네요... name 'trunc' is not defined
@InitBinder 를 사용하면 어떤 매핑이 들어와도 @InitBinder 안의 검증기가 적용된다고 하셨는데 이전에 mvc 설명에서 @modelattribute로 써주면 안의 내용이 모든 곳에서 다 적용되는것과 다른 개념인가요 ? 둘의 차이는 @InitBinder 를 사용하면 @Validated 인자가 들어간 곳에서만 작동하는것 의 차이인가요 ?