안녕하세요, 저번에 친절하게 답변해주셔서 감사합니다. 강의 수강 중에 크롤링 코드를 작성 후, 정상 작동을 확인한 다음에 다른 PC에서 파이썬/Visual Studio Code를 설치하여 파일을 실행했는데, 정상적으로 크롤링이 작동하지 않는 오류가 발생했습니다 ㅜㅜ 처음에는 라이브러리 설치를 전부 진행했었는데, 아래와 같은 오류가 발생했었습니다 [현재는 해결된 현상] import 모듈(?) 오류 import requests 를 작성하면 requests 부분이 초록색이 되어야 하는데, 흰 글씨가 되는 현상 pip install --upgrade 오류 해당 명령어를 사용하면 upgrade가 진행되지 않고, ERROR : You must give at least one requirement to install (see "pip help install") 이라는 문구만 출력됩니다. (혹시 몰라서 원래 잘 되던 기존 PC에 입력해보니까 다른 명령어로 쓰라면서 notice가 출력됐었습니다. 기존 PC에서는 아무런 설명도 없이 오류만 떠요ㅜㅜ) 일단 기본적으로 코드를 실행하면 크롤링 후에 엑셀 파일이 생성되어야 하는데 결과적으로는 안 됩니다..혹시 도움을 받을 수 있을까요? 현재까지 시도해 본 것들 1) Python , Visual Studio Code 삭제 및 재설치 , 윈도우 버전 확인 등 2) Python 환경 변수 설정 (기존 PC에는 따로 환경 변수 설정을 하지 않아도 잘 작동하는 점 확인) 3) Visual Studio Code 재실행, 컴퓨터 재부팅 4) cmd 에서 Python 정상 설치 확인 5) pip 삭제 후 재설치 진행 (upgrade는 못한 상태 6) 기존 PC와 현 PC의 코드 크로스 체크 (특이사항 없음 확인)
안녕하세요 선생님 문제를 풀던 중 궁금한 내용이 생겨서 질문 드립니다. #include<bits/stdc++.h> using namespace std; string str; string bstr; stack<char> st; int flag; int main() { cin >> str >> bstr; for (int i = 0; i < str.length(); i++) { st.push(str[i]); if (st.size() >= bstr.size() && st.top() == bstr[bstr.length() - 1]) { // 마지막이랑 똑같으면 string istr = ""; for (int a = 0; a < bstr.length(); a++) { istr += st.top(); st.pop(); } reverse(istr.begin(), istr.end()); if (istr != bstr) { for (int b = 0; b < istr.length(); i++) { st.push(istr[b]); } } } } str = ""; if (st.size() == 0) { cout << "FRULA" << "\n"; } else { while (st.size()) { str += st.top(); st.pop(); } reverse(str.begin(), str.end()); cout << str << "\n"; } return 0; } 제가 처음으로 작성한 코드입니다. for(char a : str) st.push(a) 같이 범위 기반 for문 대신 for (int i = 0; i < str.length(); i++) st.push(str[i]) 같이 원래의 for문 방식을 사용했다가 메모리 초과 오류를 겪었습니다. 두 방법이 어째서 메모리 차이가 많이 나는지 궁금합니다! 항상 감사합니다 좋은 하루 되세요 :)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Junit5는 expected말고 assertThrows를 사용하는데 fail하고 같이 사용하면 assertThrows에서 예외가 터져도 fail문도 같이 실행되서 테스트 녹색불이 안들어오더라고요 반대로 fail문을 사용하지 않으면 녹색불이 들어오고요 어떻게 하는게 맞나요?
큰돌님 안녕하세요. 3주차 문제들을 풀던 중 의문점이 생겨서 질문드립니다. 3주차 개념강의 때 합을 mod 11한 숫자 중 가장 큰 수를 구하는 예시문제가 있었습니다. 이 문제를 아래와 같은 방법으로 재귀를 통해 각 숫자별로 더할지 말지로 나눠서 숫자가 {1,2,3}인 경우는 총 경우의 수가 8이 된다고 말씀하셨습니다. go(idx + 1, sum + v[idx]); go(idx + 1, sum); 그런데 3주차 문제들을 풀던 도중 백트래킹을 쓰는 경우와 이렇게 재귀로 현재 위치를 하나씩 증가시켜가며 포함하는지 안하는지를 체크해가며 완전탐색을 돌리는 경우가 같은 경우가 아닌가 하는 의문점이 들었습니다(둘 다 모든 경우를 따지는 것이기 때문입니다). 그래서 개념강의 예시문제를 다시 백트래킹으로 풀어보았는데 {1,2,3}인 경우에서 8번의 경우를 따져야 하는데 경우의 수를 4번만 도출해는 것을 확인하였습니다. 아래는 백트래킹으로 구현한 mod 11 문제입니다. #include<bits/stdc++.h> using namespace std; const int mod = 11; int n, temp, cnt, ret; vector<int> v; void go(int idx, int sum){ if(idx == n){ ret = max(ret, sum % mod); cnt++; return; } for(int i = idx; i < n; i++){ sum += v[i]; go(i + 1, sum); sum -= v[i]; } // 설명해주신 방식 // go(idx + 1, sum + v[idx]); // go(idx + 1, sum); } int main(){ cin >> n; for(int i = 0; i < n; i++){ cin >> temp; v.push_back(temp); } go(0, 0); cout << ret << '\n'; cout << cnt << '\n'; } 코드를 하나하나 디버깅해가며 체크해보면서 왜 4번만 경우를 구하게 되는지는 알게 되었는데, 개념적으로 백트래킹이라는 개념이 모든 경우의 수를 구하는 것이고, 기존에 풀었던 방법인 idx를 증가시키면서 해당 위치의 숫자를 더할지 말지를 구하는 것도 모든 경우의 수를 구하는 것이라서 두 경우의 문제 접근할 때의 사고방식이 같다고 생각하는데 왜 백트래킹은 안되는 것인가요? 두 경우의 차이점이 너무 헷갈립니다 ㅠㅠ
안녕하세요 영한님! 면접을 위해 다시 복습하다 궁금해진게 있어 질문드립니다. 질문 내용은 제목과 같은데요, 평소에 웹 애플리케이션을 개발하면서 수동 주입보단 자동 주입을 자주 활용해왔고 강의의 AutoAppCofing 와 같은 Bean 설정 클래스를 전혀 사용하지 않고 개발했음에도 별 문제가 없었습니다. 다른 질문들도 많이 확인해봤는데 main() 안에 @SpringBootApplication -> @SpringBootConfiguration -> @Configuration 이 이미 적용되어있기 때문에 굳이 설정 클래스를 만들지 않고도 Bean 객체의 싱글톤을 보장받을 수 있다고 짐작하고 있는데요, 제가 생각한게 맞을까요 ? 제 생각이 맞다면 수동 주입 시에도 @Configuration 이 없어도 @Configuration 이 적용되어 싱글톤으로의 반환이 보장될 것 같은데.. 잘 모르겠습니다.
안녕하세요. 강의 잘 들었습니다 :) 저는 홈페이지 디자인을 위주로 하고 있는데 포토샵, 일러스트, xd를 주로 사용하다가 피그마가 대세인거 같아서 강의를 들었는데요! xd에서는 이미지 삽입 후 포토샵으로 연동되는 기능이 있어 보정하면 자동으로 xd에서 반영이 되는데 피그마에는 그런기능이 없는거죠? 그럴경우.. 피그마에서는 어떻게 디테일한 사진보정을 하나요? 사이즈 확인 후 포토샵에서 작업 후 다시 이미지 삽입을 해야되는건가요? 답변부탁드립니다 감사합니다!
프리캠프 css정렬강의에서 자식 box들을 정렬하기 위하여, 부모 box의 속성 및 값으로 display: flex을 먼저 쓰고, flex-direction : row로 할건지, flex-direction : column으로 할건지 결정하고. 이어 justify content나 align itmes등을 사용하던데 그럼, display: flex의 기능은 무엇인가요? display : flex 라는 코드 없이 위의 flex기능들을 구사하면 문제가 생기나요?? 시험삼아 display : flex 라는 코드 없이 뒤이어 flex-direction : row; justify items : center; align items : center; 라고 적고 확인해보니. 부모 박스 안에 자식 박스가 마치 flex-direction : column ; 만 실행된 것과 같은 효과가 나타났습니다.
Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
DB 조회 조회된 내용으로 비즈니스 로직 처리(자바 코어 연산) 연산된 결과 DB 등록 사용자 요청시에 위의 3가지 업무를 Webflux로 처리해야한다면 어떤 방식으로 처리해야하는지 감이 잘 안오는데, 설명 부탁드립니다. Webflux에 적합하지 않은 업무일 수도 있다는 생각이 들어 문의드리게 되었습니다. 참고로 위의 3가지 업무는 순차적으로 처리가 되어야 하는 업무입니다. publisher가 위의 3개 내용을 각각을 별도의 subscriber에게 발생한다면 데이터 정합성이 깨질거 같은데...어떻게 처리해야하는지 설명부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 동적 라우팅을 사용하고, $route 파라미터의 변경에 따라 특정 API를 호출 해야 한다면 watch를 쓰는게 의도적으로 적합할 것 같은데 맞을까요? computed의 경우 파생된 데이터의 계산값을 미리 선언해놓고 캐싱까지 되어서 편리하지만 계산된 값의 대해서일 경우이고, 아직 '중첩 라우트' 강좌까지 밖에 못들었지만 bid, cid에 따라 해당 데이터의 정보를 요청해야 한다면 watch로 파싱하는게 좋을 것 같습니다.. 라고 생각해봅니다 api호출의 대해서 componentDidMount 처럼 created 에서 호출해주면 될거라 생각했는데 route의 변경에 감지되지 않는건 처음 알았네요