안녕하세요. 이것이 진짜 크롤링이다 기본편을 막 완강했고, 실전편을 수강하기에 앞서 질문이 있어 글을 남깁니다. 네이버 쇼핑 페이지에서 크롤링을 할때, 제품 페이지 안에 들어가면, 여러 옵션을 선택할 수 있는 창이 있는데, 이 옵션들을 선택한 가격도 크롤링으로 가져올 수 있나요? 예를 들어, 아래의 제품 페이지에 접속한 후, '선택'에 따라 가격이 달라지게 설정되어 있는 경우가 많은데, 해당 선택에 따른 가격을 크롤링할 수 있나요? 만약 가능하다면, 해당 내용을 실전편 강의 내용에서 다루는지 궁금합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
해당 비디오컨트롤러는 따로 dispose를 해주고있지않은데요. 만약 원래 로고페이지로 돌아가는기능을 만들게되면 그때 dispose를해주면 되나요? 또한 videocontroller state가 dispose될때 컨트롤러를 같이 dispose해주어야할텐데, 조건문으로 로고페이지로 돌아가면 state를 dispose하는 식으로 해주면될까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
코팩님 덕분에 초급 중급 강의 열심히 듣고 파베 듣고 있습니다. 비록 강의와는 무관하지만.. 하루종일 구글링하다가 지쳐서 부득이하게 코팩님께 질문드립니다. 죄송합니다. 파베 cli로 연동하고 xcode 를 실행하면 위와같이 계속 Module 'firebase_core' not found에러가 납니다. pod 재설치도 해보고 수동으로도 연동해보고 별짓 다해봐도 안되네요... 도움좀 주시면 감사드리겠습니다. + 저거 Module 'firebase_core' not found이 에러만 나는 게 아니라 등록한 firebase package 전부다 인식이 안되는 듯 합니다...
현재 코드는 아래와 같습니다. 자꾸 에러뜨는게 있어서 구글링하면서 2줄이 추가되었네요. options = Options() ## ERROR:device_event_log_impl.cc(218) 방지코드 options.add_argument('--no-sandbox') options.add_experimental_option("excludeSwitches", ["enable-logging"]) ## 화면 창 유지해주는 코드 options.add_experimental_option("detach", True) 그런데, 네이버 창이 떠서 잠시 머물다가 창이 꺼지진 않고 이렇게 바뀝니다. 주소가 data; 내용은없음.. 무엇이 문제일까요. 구글링해도 잘 못찾겠네요.
연습삼아 나라장터의 상단 부분에 셀레니움을 통해 특정 검색어를 입력 후 검색을 실행 하려합니다 관련하여, 해당페이지 접속 후 단순히 find.element를 통해 driver.find_element( By.ID ,"AKCKwd").sendkeys("검색어") 와같이 사용할 수는 없는 것 인지요?
안녕하세요. 답변 감사드립니다. 전체 코드를 첨부하여 다시 문의글 작성하였습니다. 쿠팡 광고상품과 로켓상품도 표기하고자 합니다. if len( link.select (".ad-badge-text")) > 0: print("광고상품") 를 아래와 같이 수정하면 될까요? 해봤는데 아무표기가 안되서요. if len( link.select ("span.badge rocket")) > 0: print("로켓상품") 그리고 광고상품 로켓상품 둘다 표현하고자 하면 아래와 같이 표기하면 될까요? if len( link.select (".ad-badge-text")) > 0: print("광고상품") elif len( link.select ("span.badge rocket")) > 0: print("로켓상품") 광고상품은 광고상품이라고 잘 표기가 되는게 로켓상품은 전혀 결과가 나오지 않아서요.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
강의 잘 보고 있습니다. 강의가 너무 좋아서 책도 함께 구매하려고 합니다. 좋은 강의 감사합니다. 다름이 아니고 질문이 하나 있어 이렇게 글남깁니다. 플루터에서 setState는 화면을 갱신하는 용도로 사용하고 있다고 알고 있습니다. 만약에 a= 10이라고 설정한다고 가정하면 setState(() { a = 10; }); a = 10; setState( () { } ) 1번 로직과 2번 로직이 내부에서 어떤 차이점이 있을까요? 테스트 해본결과 1번, 2번 모두 정상 작동하더라구요 ----------------------------------------------- 공부하다 추가 질문이 있어 문의 드립니다. 플루터에서 네임드 라우팅을 materialApp에 설정할때 특정 페이지에 필수 파라미터가 존재하면 어떤식으로 등록을 해야 할까요? 예 ) 가정 : Two 페이지는 str값을 필수 파라미터로 받고 있습니다. routes: { "/": (context) => One(), "/two": (context) => Two(str : ??), }, 이게 안되면 아래와 같은 방법으로 파라미터를 설정해야 하는지 궁금합니다! var two = Two(); two.str = "asdf"; Navigator.of(context).push(MaterialPageRoute(builder: (_) => two));
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. pagination관련해서 궁금한 게있습니다. 저는 백엔드를 직접 구축하고 강의를 수강하고있는데요, Order를 생성하는 provider Ordrer 리스트를 조회하는 Pagination (강의에서 진행한 방식의 Pagination Model) 제가 아직 상태관리에 이해가 부족해서 그런지, Order가 생성되면 List<OrderModel>에 맞추어 데이터를 담아두고 생성될 때마다 페지네이션을 상속받는 데이터 리스트들이 업데이트 돼야하지 않나하는 생각이 드는데 그렇개 작동되지 않더라구요 Order를 생성하고 나서 order 리스트를 볼 수 있는 페이지에 오면 데이터가 업데이트 되지않습니다. 어떻게해야 Creat이후 Read가 업데이트가 되나요?
정답은 제대로 나오긴 했는데 시간 초과라던가 하는 문제가 없을까요? 4중 for문은 생각지도 못했네요..ㅠㅠ sudoku = [list(map(int, input().split())) for _ in range(9)] def solution(sudoku): length = len(sudoku) a, b, c, = list(), list(), list() # 행열 검사 for i in range(length): row, col = list(), list() for j in range(length): row.append(sudoku[i][j]) col.append(sudoku[j][i]) if len(set(row)) != 9 or len(set(col)) != 9: return "NO" # 3x3 격자판 검사 a.extend(row[0:3]) b.extend(row[3:6]) c.extend(row[6:]) if i == 2 or i == 5 or i == 8: if len(set(a)) != 9 or len(set(b)) != 9 or len(set(c)) != 9: return "NO" a, b, c, = list(), list(), list() return "YES" print(solution(sudoku))
제가 다음과 같이 코드를 작성했는데, 100%까지 가다가 틀립니다.. 어떤게 문제일까요? 반례를 제시해주실 수 있나요? 감사합니다. https://www.acmicpc.net/problem/1068 import sys input = sys.stdin.readline n = int(input()) g = list(map(int, input().split())) m = int(input()) cnt = 0 def DFS(x): g[x] = -1 for i in range(n): if g[i] == x: DFS(i) DFS(m) for i in range(n): if g[i] != -1 and i not in g: cnt += 1 print(cnt)
최근에 다시 자바스크립트로 돌리면서, 기존에 파이썬으로 했던 것들 다시 모두 자바스크립트로 풀어보면서 문제 풀어보니, 발견했습니다. 이거 첫번째 가정을, 그리디로 접근하면 해결 안되는 문제인것같습니다. 이후 가정들은 당연히 그리디 관념으로 최적값 찾을 수 있는데, 첫번째 가정부터 그리디로 접근하면 해결되는 문제가 아니라서 어긋나기때문에, 그리디관념이 통하지 않는 문제인것같습니다. 완전탐색해버리거나, 시간 더 줄이려면 백트래킹 가지치기 해야하는 문제인것같습니다. 입력입니다! 7 172 67 183 65 179 61 178 62 177 63 170 72 181 60 기존 풀이(무조건 183선발) 가 내주는 답 : 3 감독 현수가 원할 것 같은 답 : 6 그리디로 가장 키 큰 사람 무조건 선발하는 과정이 풀이에서 오류인것같습니다. 183 선발 가정하고 cnt 값 구하고, 그다음 181 선발 가정하고 cnt값 구하고, 쭉 다음 순으로 선발 가정하고 cnt값 구하는데, 만약 어떤 사람 선발 가정하고 cnt값 구하는데 남은 사람 수 다 합해도 기존 Max cnt보다 적을 경우, 백트레킹 가지치기로 break 혹은 return 끊어버리는게 맞는것같습니다. 풀이1. 이중포문 const input = require("fs") .readFileSync("input.txt") .toString() .trim() .split("\n"); const n = parseInt(input[0]); const arr = Array.from(Array(5), () => []); for (let i = 0; i < n; i++) { arr[i] = Array.from(input[i + 1].trim().split(" ")).map((v) => parseInt(v)); } function solution(n, arr) { arr.sort((a, b) => b[0] - a[0]); let cnt = 0; let largest = 0; let res = 0; for (let i = 0; i < n; i++) { largest = arr[i][1]; cnt += 1; if (res >= n - i) { break; } for (let j = i + 1; j < n; j++) { if (arr[j][1] > largest) { largest = arr[j][1]; cnt += 1; } } res = Math.max(res, cnt); cnt = 0; } console.log(res); } solution(n, arr); 풀이2. DFS const input = require("fs") .readFileSync("input.txt") .toString() .trim() .split("\n"); const n = parseInt(input[0]); const arr = Array.from(Array(5), () => []); for (let i = 0; i < n; i++) { arr[i] = Array.from(input[i + 1].trim().split(" ")).map((v) => parseInt(v)); } let cnt = 0; let res = 0; //const list = []; function DFS(s, weight) { if (s < 0) return; if (cnt + n - s <= res) { cnt -= 1; s -= 1; return; } for (let i = s; i < n; i++) { if (arr[i][1] > weight) { cnt += 1; //list.push(arr[i][1]); DFS(i + 1, arr[i][1]); //list.pop(); } } res = Math.max(res, cnt); //console.log(list); cnt -= 1; } function solution(n, arr) { arr.sort((a, b) => b[0] - a[0]); DFS(0, 0); console.log(res); } solution(n, arr);
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 공통 레이아웃으로 앱바, 네비게이션 등을 프롭스(?)로 받아서 하나의 레이아웃 파일로 여러 파일, 페이지에서 사용하는거랑 타입별로 예를들어서 앱바있는 타입의 레이아웃, 앱바+바텀네비게이션 있는 타입의 레이아웃 등등... 이런식으로 파일을 여러개 레이아웃을 만들어놓고 사용하는거랑 뭔가 최적화 적으로 차이가 있을까요? 갑자기 궁금합니당