안녕하세요 널널한 개발자님, 덕분에 수업 잘 듣고 있습니다. :) 현재 멀티스레드 채팅 클라이언트, 서버 기반 수업을 듣고 해당 구조를 변경해서 작은 빙고 게임을 만들어 보고 있습니다. 해당 게임의 큰 틀을 짧게 요약하자면 클라 - 연결 요청 -> 서버 - 확인 후 번호 전달 3번째 클라 - 연결 요청 -> 서버 - 확인 후 모든 클라에게 보드판 및 게임 순서를 전달 클라 - 게임 순서에 맞는 클라가 빙고판 번호를 입력 -> 서버 - 확인 후 보드판 정보 업데이트 및 다시 모든 클라에게 전달 .... 이런 식으로 게임이 진행됩니다, 2번 동작까지는 잘 진행이 되는데 '문제' 는 3번 순서에서 클라가 빙고판 번호를 입력했을 때 서버로 전달이 되지 않아 보드판 정보 업데이트가 되지 않고 있습니다.. 클라에서 서버로 메시지를 전달할 때 버퍼의 내용은 문제가 없었는데, 이상하게 서버로 전달만 하면 빈 버퍼가 전달이 되네요.. 혹시나 서버 버퍼에서 소켓 입출력 버퍼가 Nagle 알고리즘에 의해 서버 프로세스로 전달이 되지 않은 건가 싶어서 소켓의 TCP_NODELAY 옵션도 설정해보았는데, 해결이 되지 않았습니다. whireShark를 이용해서 확인을 하고 있긴 한데, 아직 제 수준에서는 내용을 파악하기 힘드네요.. 널널한 개발자님이라면 이런 상황에서 어떻게 문제를 해결하실 건가요??
안녕하십니까? 결측값 채우기 중 최빈값 관련해서,, m = X_train['workclass'].mode()[0] 여기서 mode()과 mode()[0]의 차이는 무엇인지요? 즉 [0]의 쓰임이 무엇인지? 다른 중앙값, 평균 등은 이런게 없는데 왜 최빈값만 이런게 뒤에 붙는지요?
참조 테이블 : Follow , PostHashtag 관계를 맺을때 throught 테이블에 카멜 케이스로 테이블을 작성해서 그런거 같은데 , git 소스 원본에도 해당 내용으로 작성되어 있습니다. 영상 가의 마지막 31:53에 테이블이 소문자로 작성된 내용을 보고 질문드립니다 .
안녕하십니까? 강의 정말 잘 들었습니다! 궁금한 점이 있어 질문 드립니다. 네트워크에서는 빅 엔디언이 표준으로 알고 있습니다. 그래서 제가 헤더에 값을 채우고 이를 송수신하면 당연히 빅 엔디언일 것이라고 생각하고 있었습니다. 그런데 개발을 하면서 보니 Windows에서 소켓을 통해 보내는 데이터가 htonl() 같은 함수를 쓰지 않고 구조체에 데이터를 넣으면, 리틀 엔디언으로 보내더라고요. 소켓 프로그래밍이 처음이다 보니 빅 엔디언과 리틀 엔디언에 대한 일반적인 룰이 존재하는지 궁금하여 질문을 드리고 싶습니다. 일반적으로 데이터를 송수신할 때, 모든 변수를 다 빅엔디언으로 변환하여 헤더나 페이로드에 넣고 전송한 후 수신한 빅엔디언을 전부 리틀 엔디언으로 변환하여 사용하나요? 아니면 송신할 때 리틀엔디언으로 보내고, 수신하는 쪽도 리틀엔디언으로 디코딩해서 쓰는 것도 일반적인지 궁금합니다. 감사합니다.
안녕하세요. 맥북프로 m1 사용중이며 홈브루를 통해 mysql을 설치했습니다. 터미널 명령어로 mysql container도 정상적으로 만들어졌고 mysql -u root -p 명령어도 정상적으로 잘 작동하고있습니다. 패스워드도 정상적으로 입력되구요. 그런데 back폴더 터미널에서 npm i 를 해준 뒤 npx sequelize db:create 명령어 입력 시 (base) jinjaehwan-ui-MacBookPro:back jinjaehwan$ npx sequelize db:create Sequelize CLI [Node: 18.18.2, CLI: 6.6.0, ORM: 6.28.0] Loaded configuration file "config/config.js". Using environment "development". ERROR: Access denied for user 'root'@'localhost' (using password: YES) 이런 에러가 발생합니다 ㅠㅠ
안녕하세요. 선생님 수업을 통해 크롤링까지는 성공했습니다. HTTP POST 요청으로 받아왔는데요. 다만 Response가 넥사크로에서 사용하는 "SSV"형식으로 왔습니다. SSV:UTF-8ErrorCode:string=0ErrorMsg:string=Dataset:ds_PageList_RowType_TAXNO:string(255)TAXIDX:string(255)MEMBNAM:string(255)TSDATE:string(255)TSTIME:string(255)ACQBID:string(255)CARD_NAME:string(255)HID:string(255)ACQHID:string(255)TERMID:string(255)MTRCNO:string(255)CDNO:string(255)AUTHNO:string(255)ISTMMON:string(255)CURRCODE:string(255)AMT1:bigdecimal(25)AMT2:bigdecimal(25)AMT3:bigdecimal(25)ACQDATE:string(255)DDCEDI:string(255)...... <생략> 이렇게 못생긴 데이터가 왔는데요. 이걸 json으로 파싱하고싶어서요. 이리저리 혼자서 아스키코드 찾아보고 US, RS 사용해서 어떻게든 파싱은 했는데, 제가 짠 로직이 맞나 싶어서요. (일단 작동은 되는데.. ) 혹시 선생님이라면 어떻게 하실까 싶어서요. 이런걸 잘 파싱하려면 알고리즘을 공부해야되는걸까요? 아! 그리고 깃헙에 혹시 라이브러리가 있나 찾아봤는데요. 안나오더라구요. 이게 제일 슬펐어요. 그나저나 저런거 만드는 사람들은 정말 괴물같네요.. 저런걸 도대체 어떻게 만드는 걸까요? (코드가 본문에 저렇게 붙여넣어지는 기능도 신기하네요.. 저런건 또 어떻게 만드나요?)
기본적으로 캐싱된 데이터가 있으면, 그 데이터를 가지고 오는 것으로 알고 있는데, const { data} = useQuery({ queryKey: ['posts', 'recommends'], queryFn: getPostRecommends}); const data = queryClient.getQueryData(['posts', 'recommends']); 두 가지 차이점이 있는지 궁금합니다.
ERROR in ./node_modules/react-toastify/dist/react-toastify.esm.mjs 2:4352-4353 export 'useSyncExternalStore' (imported as 'r') was not found in 'react' (possible exports: Children, Component, Fragment, Profiler, PureComponent, StrictMode, Suspense, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, cloneElement, createContext, createElement, createFactory, createRef, forwardRef, isValidElement, lazy, memo, useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, version) @ ./layouts/Workspace/index.tsx 30:0-39 110:6-17 @ ./layouts/App/index.tsx 15:9-37 @ ./client.tsx 9:0-31 12:95-98 2024년 2월 기준, react-toastify를 최신 버전으로 install하게 되면 위와 같은 오류가 발생합니다. alecture의 package.json에 있는 react-toastify 버전으로 특정하여 설치하면 정상 실행 됩니다. npm i react-toastify@7.0.3
app.js 실행순서 여러개의 라우터 app.get()이 있고 미들웨어,listen이 있을경우 1.listen 실행 2.미들웨어 실행(next가 있어야 라우터가 실행된다) 3.이때 라우터는 클라이언트가 전송한 주소를 위에서 부터 밑으로 확인해서 적합한 라우터 실행 이런 순서라면 listen이 젤위에 있어야하는거 아닌가요?
안녕하세요 제로초님 강의 잘 보고 있습니다. 다름아니라 무한스크롤 부분 구현중(개인 프로젝트에 해당 부분만 먼저 적용중이라 jsonplaceholder API로 호출하고 있습니다) fetchNextPage가 2번씩호출이 되어서 delay도 조정해보았는데 계속 2번씩호출이 되서 로직에 혹시 문제가 있는지 봐주실수 있을지부탁드립니다. 0. 콘솔에 확인한 결과 처음 화면에 ref가 렌더되고 그 이후 data fetching이 완료되어 isFetcing이 false가 되었는데, data를 map으로 div로 뿌리는 렌더링 과정에 시간이 소모되어 inView는 true && isFetching도 false가 되어서 div가 화면에 나타나고 ref div를 가리기 전에 data fetching을 한번씩 더 하고 있는 상황입니다. 감사합니다
[제로초 강좌 질문 필독 사항입니다] 질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다. 도움이 되는 질문을 하는 방법을 알려드립니다. https://www.youtube.com/watch?v=PUKOWrOuC0c 에러 해결하기위해 권한 방화벽등 구글링으로 해결하려 했지만 계속 접속오류가 나네요 힘들어요 데이터베이스 Access denied for user 'root '@'localh ost' (using password: YES) 힘들다 갑자기 이 오류가 뜬다 권한에 관한 오류인거 같다 그래서 데이터베이스 sql을 명령 프롬프트에서 들어가기위해 관리자 권한으로 실행 'mysql 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. ㅋㅋㅋㅋㅋㅋ 새로운 오류 이거는 환경변수에 들어가 Path설정 해결~ 이제 다시 접근 mysql 127.0.0.1 -u root -p로 접근하니 오류 -u root -p 오해결 이제 권한을 부여해준다 root에게 GRANT ALL PRIV ILEGES ON . TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* : 모든 데이터베이스의 모든 테이 블에 대한 모든 권한을 부여합니다. 'root'@'localhost' : 'root' 사용자에게 'localhost'에서의 접속에 해당하는 권한을 부여합니다. 만약 원격에서의 접속도 허용하려면 ** '%' **로 변경할 수 있습니다. WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여합니다.
옵셔널 체이닝을 인식할수가 없는데 vscode에서 어덯게 새팅해야하나요? 그리고 ctrl + s 하면 저 부분이 자꾸 띄워지는데 띄워지는것도 어덯게 해결이 가능할까요? 찾아보니깐 루트에다가 jsonconfig.json 추가하면 된다고 하는데 해봣는데 안돼고, 어디서는 onsave 어디 건들면 된다는데 해봤는데도 안되더라고요... 혹시 선생님께서 아실까요? C:\Users\dongw\Desktop\nodejs\nodeJsSNS\routes\page.js:11 res.locals.followerCount = req.user ? .Follower.length; ^ SyntaxError: Unexpected token '.' at internalCompileFunction (node:internal/vm:73:18) at wrapSafe (node:internal/modules/cjs/loader:1176:20) at Module._compile (node:internal/modules/cjs/loader:1218:27) at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Module._load (node:internal/modules/cjs/loader:958:12) at Module.require (node:internal/modules/cjs/loader:1141:19) at require (node:internal/modules/cjs/helpers:110:18) at Object.<anonymous> (C:\Users\dongw\Desktop\nodejs\nodeJsSNS\app.js:20:20) at Module._compile (node:internal/modules/cjs/loader:1254:14) Node.js v18.16.0
안녕하세요. "에코 클라이언트/서버 테스트 및 Wireshark로 확인" 강의에서 제공해 주신 예제 프로그램을 실행해 보다가 TIME_WAIT 관련하여 몇 가지 궁금한 것이 있어 문의드립니다. (1) Client 쪽에서 여러 번 접속을 하고 종료를 할 경우, 아래 이미지처럼 생성된 Port 별로 TIME_WAIT 상태로 있고, 어느 정도 시간이 지나면 모두 없어지던데 이건 CLOSED 상태로 된 것으로 보면 되는 건가요? (2) 제공해 주신 수업 자료에서의 TCP 상태 전이도에서 TIME_WAIT에서 CLOSED 상태로 가는 화살표에 있는 Timeout은 운영체제에서 관리하는 건가요? 아니면 예제 프로그램에서 사용된 Socket 관련 함수에서 제어가 되는 건가요? 감사합니다.
안녕하세요. 디렉토리 구조를 afterlogin과 beforelogin구조로 나누어서 로그인을 분기치고 있고 auth.ts에서 서버로 부터 전달받은 토근값을 넣고 미들웨어에서 세션을 유무를 확인하여 login페이지로 리다이렉트 시키고 있습니다. afterlogin과 beforelogin으로 디렉토리가 어떤방식으로 나뉘는지 로직이 궁금합니다. 관련된 훅이 있는것인지?? 2. 실제 상용화된 서비스라고하면 로그인이 풀리는것을 방지하기 위해 BE로 토근값을 요청할텐데, 관련 로직은 어떤방식으로 구현하는게 좋은방법인지 요청드립니다.