안녕하세요 선생님. 이전 두 질문에 대한 답변이 많은 도움이 되었습니다. 감사합니다. 2133번 문제의 DP 1번 풀이에서 O(N^2) 풀이를 소개해주셨는데 아래와 같이 dp 테이블을 갱신할 때 sum_dp 테이블을 같이 갱신을 해주면 시간복잡도가 O(N)으로 줄일 수 있지 않나 싶어 질문드립니다. N = int(input()) if N % 2 != 0: print(0) else: n = N//2 dp = [1] * (n+1) sum_dp = [1] * (n+1) for i in range(1,n+1): dp[i] = sum_dp[i-1] * 2 + dp[i-1] sum_dp[i] = sum_dp[i-1] + dp[i] print(dp[-1]) 그리고 이건 다른 종류의 질문인데 혹시 그래프 부분이 실제로 코테에 많이 등장하나요? 제가 조금 급하게 준비하고 있는 상태라 이론을 필수 알고리즘2까지만 들어도 될지 아니면 그래프까지 다 들어야될지 고민중입니다. 조언 주시면 감사하겠습니다!
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
import {Router, Request, Response} from "express"; import {User} from "../entities/User"; import { validate, Validate } from "class-validator"; const register = async (req: Request, res: Response) => { const {email, username, password} = req.body; try{ let errors: any = {}; //이메일/유저이름 단일성 확인 const emailUser = await User.findOneBy({email}); const usernameUser = await User.findOneBy({username}); //이미 있으면 erros 객체에 넣음 if(emailUser) errors.email = "이미 해당 이메일 주소가 사용되었습니다." if(usernameUser) errors.username = "이미 사용자 이름이 사용되었습니다." //에러가 있으면 return으로 에러를 response 보내줌 if(Object.keys(errors).length > 0){ return res.status(400).json(errors) } const user = new User(); user.email = email; user.username = username; user.password = password; //엔터티에 정해 놓은 조건으로 user 데이터 유호성 검사를 해줌 errors = await validate(user); //유저 정보를 user table에 저장 await user.save() return res.json(user); } catch(error){ console.error(error); return res.status(500).json({error}) } } const router = Router(); router.post("/register", register); export default router 맨 위 코드(auth.ts)에서 사진과 같이 overload 에러가 뜹니다. 유저이름/이메일 중복 및 에러 처리하는 코드 중 return으로 응답을 반환하는 중 타입이 맞지 않아서 생기는 오류 같은데 어떻게 해결할 수 있을까요??
제일 처음에 쿠키를 발행했습니다. 그리고 응답과 헤더에는 쿠키가 남아있는 걸 확인했습니다. 이후, 포스트맨에서 쿠키를 발행하고 setMaxAge(0)을 이용해 없앴습니다. 그런데 헤더에는 쿠키의 기록이 계속 저장되어 있는 상태로 유지되었습니다. 이후, 포스트맨을 이용한 쿠키 테스트를 진행하는데 있어서 쿠키가 계속 헤더에 남아있는 채로 유지되길래 질문드립니다. (쿠키의 수명을 0으로 만든 이후에도 헤더에 쿠키가 계속 유지되는 사진) setMaxAge(0)을 하면 쿠키가 없어지는 게 정상맞나요? 원래 없어져야하는데 포스트맨에서 자동으로 등록해주다보니 이렇게 된건가요? 만약 맞다면, 쿠키가 소멸함에따라 헤더에서 쿠키 제거하는 방법이 없을까요?
안녕하세요. 1,2 강의 전부 잘봤습니다!! 많은 도움 되었습니다. 근데 강의에 대한 질문은 아닌데 도저히 여쭤볼 사람이 딱히 없어서요.. 현재 백엔드 취준생인데 프로젝트에 mysql 레플리카를 도입해서 master / slave1,2 아키텍처를 구성 하였습니다. --master [mysqld] log_bin = mysql-bin server_id = 10 binlog_do_db = reservation default_authentication_plugin = mysql_native_password -- slave [mysqld] log_bin = mysql-bin server_id = 11 relay_log = /var/lib/mysql/mysql-relay-bin log_slave_updates = ON read_only = ON default_authentication_plugin = mysql_native_password master와 slave에 맞게 설정을 해주고 master의 LOG_FILE, LOG_POS를 토대로 각각의 슬레이브에 설정하여 Slave_IO_Running , Slave_SQL_Running slave1,2 각각 YES 인걸 확인하고 데이터 복제 및 인덱스 복제 까지 잘 동작하는것 까지 확인하였습니다. 그래서 백엔드 로직에서 ReadOnly 쿼리 비지니스로직은 SLAVE1,2의 dataSource가 할당 되어서 동작 하도록 구성하였고 실제로 테스트 해봤는데 master가 아닌 SLAVE1,2에서만 읽는것을 확인 하였습니다. 근데 여기서 문제인게 읽기작업에 대해서만 부하를 줘서 성능테스트를 진행하였는데 실제로 레플리카를 도입하기 이전 1대의 mysql 서버만 존재했을때가 성능이 20~30% 가 더좋게 나옵니다. 저는 실제로 이미 쓰기작업을 끝낸 데이터에 대해 읽기 작업을 slave1,2가 트래픽을 분산(라운드 로빈 방식으로 정확히 50프로 확률로 분산) 하여 처리하니까 성능이 올라갈것으로 기대했는데 왜그런지 도저히 모르겠습니다. 추가로 쓰기작업(JPA 긍정적 락), 읽기작업을 동시에 요청하는 부하테스트도 진행 했는데 물론 이 경우도 쓰기는 master만 진행하고 읽기작업은 나머지 slave1,2에서만 진행하는걸 확인했지만 성능 결과 1대의 mysql서버가 읽기,쓰기를 다 처리하는것이 성능이 더 좋았습니다. 그래서 제가 내린 결론은 만약 제가 한 테스트 방법이 잘못되지 않았다고 가정할 경우 SLAVE 아키텍처를 가져 갈 경우 성능 향상보다는 부하를 분산시켜 최대 허용 TPS 향상 및 아키텍쳐의 안정성을더 해주는게 의미가 있다고 생각되고, 만약에 SLAVE1,2를 두었는데 무조건 읽기작업의 성능향상이 이뤄져야 한다고 말씀 하시면 어떤 부분에서 제가 무엇을 잘못 설정한걸 수 도있는지 아니면 어떤 이유가 존재할 수도 있는지 해결가능성이 있는 키워드정도 알려주시면 정말 감사하겠습니다. 추가로 상황에 따라 다르겠지만, 마스터 슬레이브 간의 동기화 문제를 해결하는 가장 보편적이고 추천 해주실만한 방법(제가 생각한 방법은 쓰기작업 직후의 읽기작업은 슬레이브가 아닌 마스터에서 하는 방식)이 있는지 알려주시면 정말 감사하겠습니다! 긴글 읽어주셔서 감사합니다.
강사님 강의를 들으면서 의문이 들었는데 강사님 버튼 부분으로 되어있는 것들을 div태그로 전부다 만드시던데 혹시 이유가 따로 있을까요??? 북마크를 추가하는 부분이나 취소, 추가 부분은 button태그를 사용하거나 북마크를 입력하는 div태그 전체를 form태그로 묶어서 사용하는게 좀 더 좋지 않을까요?? 강사님이 div 태그만 사용하시던데 혹시 이유가 따로 있으신건가요??
위의 코드를 그대로 입력하고 baseline 코드까지 문제가 없다가 label에서 다음과 같은 에러가 발생했습니다. KeyError Traceback (most recent call last) /usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py in get_loc(self, key) 3804 try: -> 3805 return self._engine.get_loc(casted_key) 3806 except KeyError as err: index.pyx in pandas._libs.index.IndexEngine.get_loc() index.pyx in pandas._libs.index.IndexEngine.get_loc() pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError: 'Gender' The above exception was the direct cause of the following exception: 아래는 입력한 코드입니다. 어떤 부분이 문제일까요? ㅠㅠ #label from sklearn.preprocessing import LabelEncoder for col in cols : le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) train[cols].head()
강의에 따라서 Firebase의 storage를 시작하기 하려고 하는데 시작하기 버튼이 없어지고 Storage 기능을 사용하려면 프로젝트의 결제 요금제를 업그레이드하세요로 바뀐거 같은데 …? 어떡하죠 클라우드 파이어스토어랑 , authentication은 설정 완료했습니다
안녕하세요 강의에 appium studio download 방법이 자세히 나와있지 않아 문의드립니다. 영상내에서 홈페이지에서 간단하게 신상정보 입력 후 이메일을 통해 다운로드 링크를 받으라고 안내해주셨는데 아래 링크가 맞는지 문의드립니다. https://digital.ai/products/continuous-testing/appium-studio/free-trial/ 위 링크에 정보 입력 후 등록한지 30분가량이 되었지만 메일로 링크는 못받고있는데 보통 얼마나 소요가 될까요?
프로젝트 작성할 때 ,APP.js와 components폴더 안의 js모듈로 보통 구성을 하시는데, 왜 APP.js에서 $app을 매개변수로 받을 때는 소괄호에서 바로 받는데, 다른 컨포넌트 내부 js모듈에서는 중괄호로 받는건가요? export default function App($app) {} export default function CityList({ $app, initialState,handleLoadMore }) {} APP의 경우 전달받는게 하나인데, CityList의 경우 APP에서 여러개의 매개변수를 받아오기 떄문에 구조분해로 받아오는 건가요? 만약 그렇다면 한개만 매개변수로 받아오는 경우, CityList도 (소괄호)안에 {중괄호}없이 바로 매개변수를 써도 되는 건가요?
안녕하세요 카일스쿨님:) 강의 마지막에 선택과제(?)로 주신 집계데이터 pivot쿼리 작성해봤습니다. 쿼리를 작성하면서, 지금은 피봇할 컬럼이 많지 않아서 하나하나 피봇해주는 것으로 진행했는데 이게 최선일지가 의문이 들어서요, 피봇하는 컬럼 조건이 다를 뿐 과정은 동일해서 공통으로 적용할 수 있는 방법이 있을 것 같은데 제가 잘못 이해하고 있는 것인지, 아니면 피봇을 항상 이런식으로 진행해야 하는 것인지도 같이 질문드립니다. 감사합니다:) with base as ( select event_date ,event_timestamp ,event_name ,user_id ,user_pseudo_id ,max(if(param.key = 'firebase_screen',param.value.string_value,null)) as `firebase_screen` ,max(if(param.key = 'food_id',param.value.int_value,null)) as `food_id` ,max(if(param.key = 'session_id',param.value.string_value,null)) as `session_id` from advanced.app_logs , unnest(event_params) as param where 1=1 and event_name in ('screen_view','click_payment') and event_date >= '2022-08-01' and event_date <= '2022-08-18' group by all order by 1 ) , before_pivot as ( select event_date ,concat(event_name,'-',firebase_screen) as `event_name_with_screen` ,case when event_name = 'screen_view' and firebase_screen = 'welcome' then 1 when event_name = 'screen_view' and firebase_screen = 'home' then 2 when event_name = 'screen_view' and firebase_screen = 'food_category' then 3 when event_name = 'screen_view' and firebase_screen = 'restaurant' then 4 when event_name = 'screen_view' and firebase_screen = 'cart' then 5 when event_name = 'click_payment' and firebase_screen = 'cart' then 6 end as `step_number` ,count(*) as cnt from base where 1=1 group by 1,2,3 having step_number is not null ) select event_date ,max(if (event_name_with_screen = 'screen_view-welcome',cnt,null)) as `screen_view-welcome` ,max(if (event_name_with_screen = 'screen_view-home',cnt,null)) as `screen_view-home` ,max(if (event_name_with_screen = 'screen_view-food_category',cnt,null)) as `screen_view-food_category` ,max(if (event_name_with_screen = 'screen_view-restaurant',cnt,null)) as `screen_view-restaurant` ,max(if (event_name_with_screen = 'screen_view-cart',cnt,null)) as `screen_view-cart` ,max(if (event_name_with_screen = 'click_payment-cart',cnt,null)) as `click_payment-cart` from before_pivot group by all order by 1
안녕하세요. dir 이나 __all 관련해서,,, print(sklearn.__all__) 은 알겠는데요. 그 다음,,, from sklearn.ensemble import RandomForestClassifier 여기서,, randaomforestclassifier 이게 생각이 나지 않을때 이걸 찾을 수 있는 방법은 없는지요?