묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
강사님 req.header.cookie에 언제 쿠키를 담아줬는지 궁금합니다.
export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { try { const cookie = req.headers.cookie; console.log(req.headers.cookie); // 쿠키가 없다면 에러를 보냄 if (!cookie) throw new Error('Missing auth token cookie'); // 쿠키가 있다면 그 쿠키를 이용해서 백엔드에서 인증 처리하기 await axios.get('/auth/me', { headers: { cookie } }); return { props: {} }; } catch (error) { // 백엔드에서 요청에서 던져준 쿠키를 이용해 인증 처리할 때 에러가 나면 // login 페이지로 이동 res.writeHead(307, { Location: '/login' }).end(); return { props: {} }; } }; axios.get에 파라미터로 헤더.쿠키 로 넣어준걸까요?근데 순서대로 코드가 동작하게되면 if문에 걸려서 영원히 쿠키가 없어 페이지가 로그인페이지로 이동될텐데 제가 잘못생각한걸까요?두번쨰로 리턴 props:{}로 해주신 이유에대해서 궁금합니다. 다른식으로 그냥 return; 이렇게 작성하고 끝내도 괜찮을까요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
`` $ 기능
안녕하세요, 강의 / 코드 중에 `` 내부에 정의하거나 ${} 이런 식으로 값을 넣어주는 경우들이 보이는데요어떤 경우에 `` 혹은 $ 를 사용하는 걸까요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
메모리 관련하여 질문드립니다
(강의에서 캡처해온 사진인데 문제되면 삭제하겠습니다)안녕하세요 선생님~~^^강의를 듣고 메모리 관련하여 정보를 찾아보다가 바이트 어드레싱과 워드 어드레싱에 대해 알게 되었는데요,위 사진에서는 16바이트가 한 행을 이루어 0x00...B1070부터 시작하여 0x10 = 16단위로 증가하고 있는데, 그렇다면 저 한 행은 하나의 워드가 되는 거고, 맨 왼쪽 위의 0x54는 1바이트로서 0x00...B1070의 주소를 가지고, 또 그 옆의 0x45는 0x00...B1071의 주소를 가진다고 이해하면 되나요?그리고, 저렇게 주소를 나눴다는 것은 메모리에서 cpu로 데이터가 이동할 때 1바이트씩 이동할 수도 있고, 1워드씩 움직일 수도 있다는 뜻인가요? 만약 그렇다면, 32비트 정수형의 경우 4바이트를 모아서 조립하거나 1워드에서 절반만 떼어서 가져가는 등의 작업이 필요할 것 같은데 이러한 부분들은 어떻게 처리되는지 궁금합니다.항상 좋은 강의와 답변 감사드리고, 새해 복 많이 받으시길 바랍니다~~
-
미해결Node.js로 웹 크롤링하기
3-3 퍼페티어 스크린샷 기능 중 클립 소개에서 궁금한 사항
3-3 퍼페티어 스크린샷 기능 중 클립 소개에서 궁금한 사항입니다.크롤링할때 같은 동작을 하더라도 키워드마다 배치가 조금씩 다르기 때문에 좌표로 스크린샷하는것은 사실상 불가능합니다.그렇다고 전체페이지를 하는것도 리스크가 심합니다.딱 원하는 구간에 대한 스크린샷이 중요한데,결론은원하는 태그, 원하는 엘리먼트 딱 그부분예) div#id / 이런식으로 이구간만 찍고 싶은데 이부분 소개가 없어서요 이게 정말 꿀기능일 텐데 퍼페티어로 가능할지 아니면 다른 것으로라도 가능할지 궁금해요
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
multi app부분 dev 환경 질문입니다.
안녕하세요.docker-multi-app 에서 docker-compose-dev.yml 파일을 이용해서로컬환경에서 화면을 띄워보고 있는데요..const mysql = require("mysql"); const pool = mysql.createPool({ connectionLimit: 10, host: process.env.MYSQL_HOST, user: process.env.MYSQL_USER, password: process.env.MYSQL_ROOT_PASSWORD, database: process.env.MYSQL_DATABASE, port: process.env.MYSQL_PORT }); exports.pool = pool;backend/db.js 에서 위처럼 하면 로컬 화면에서 db 연결이 안되는 것 같습니다..const pool = mysql.createPool({ connectionLimit: 10, host: 'mysql', user: 'root', password: '1234', database: 'myapp' . . . . .직접 적어주면 잘 동작합니다. backend: build: dockerfile: Dockerfile.dev context: ./backend container_name: app_backend volumes: - /app/node_modules - ./backend:/app mysql: build: ./mysql restart: unless-stopped container_name: app_mysql ports: - "3306:3306" volumes: - ./mysql/mysql_data:/var/lib/mysql - ./mysql/sqls/:/docker-entrypoint-initdb.d/ environment: MYSQL_ROOT_PASSWORD: 1234 MYSQL_DATABASE: myapp MYSQL_HOST: mysql MYSQL_USER: root # MYSQL_PORT: 3306docker-compose-dev.yml 파일을 위처럼 작성하고,docker compose -f docker-compose-dev.yml up --build . . . . .db.js파일에서 docker-compose-dev.yml의 로컬db서버 환경변수를 가져올거라 생각했는데..왜 직접 적어줄때만 되고, ... 환경변수? process.env.xxx는 안되는 걸까요? docker-compose-dev.yml 파일로 개발환경을 셋팅해서 정상적인 동작을 보려면 mysql.createPool({ connectionLimit: 10, host: 'mysql', user: 'root', password: '1234', database: 'myapp' 이렇게 직접 적어줘야만 하는 것인지.. 다른 방법이 있는지..답변 부탁드립니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
강사님 몽고디비처럼
제가 사이트에 등록한 데이터들을 볼 수 있는 방법은 없을까요?
-
미해결[핵집] 2025 빅데이터 분석기사(필기)_과목 1~2
강의 수업자료 한번에 받고싶습니다.
빅데이터 분석기사(필기) 과목 1~2와 3~4를 모두 구매했습니다.1~4까지 수업자료를 한번에 메일(cute501h@naver.com)로 보내주시면 감사하겠습니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
mock postService#write
안녕하세요 호돌맨님 강의 듣던 도중 mock 으로도 할 수 있다해서 고민해보는중 잘 모르겠어서 질문을 올립니다.public void write(PostCreate postCreate) { Post post = Post.builder() .title(postCreate.getTitle()) .content(postCreate.getContent()) .build(); postRepository.save(post); }위와 같은 write 메소드를 검증하려면 test 코드에서posRepostiroy를 mock으로 주입받고 postService.write(postCreate)를 호출시 postRepository.save를 호출할때 어떤 일을 하게 될것이냐 를 stubbing 하려고 하는데 실제 h2 메모리 db에 저장을 해야, 제대로 저장이 되었다는 것을 아래 처럼 검증할 수 있을 것 같은데 Assertions.assertEquals(1L, postRepository.count());위 write 메소드의 경우 아무것도 return 하지 않으니 save 메소드 stubbing을 어찌 해야할지 모르겠습니다... 아니면 접근 자체가 틀렸을까요? 실제 외부와 연동이 잘되는지 확인하는것이니 mock 쓰겠다는 생각 자체가 에러인것인가요? 감사합니다.
-
미해결[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편
안녕하세요 제로초님 질문 있습니다.
import axios from 'axios';이렇게 똑같이 했는데 옆에 빨간 문구로모듈 '"c:Users/tjdckd?OneDrive/\~~/ts-all-in-one/axios"'에는 기본 내보내기가 없습니다. 라고 뜨고axios에 커서를 올렸는데 axios가 선언은 되어있지만 해당 값이 읽히지는 않았습니다 라고 뜹니다. 어떻게 해결해야 되나요?구글에 검색을 해봤는데 제가 잘 못 찾는건지 해결을 못하고 있습니다..
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료가 보이지 않습니다
혹시 rladnjsqls21@gmail.com으로 강의 자료좀 보내주실수 있나여??? 강의자료가 보이지가 않네요
-
해결됨프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
아톰 서비스 종료
안녕하세요, 22년 12월 15일 부 아톰이 서비스가 종료되어 패키지 등을 설치할 수 없는데, 혹시 학습에 제한이 있을까 해서 문의드립니다. 패키지 미 설치에 따라 제한 없는지?다른 대체 프로그램이 있는지?
-
미해결초보를 위한 도커 안내서
git 자료 업데이트 요청드립니다.
올려주신 chatapp 프론트 엔드의 migrations yaml 파일을 hasura cli migrations v3 에 맞게 수정해주실 수 있나요?git에 올려주신 migrations 파일 내용이 현재 hasura 버전과는 호환이 안되어서 테이블 생성이 안됩니다.우선 저는, hasura 이미지 버전 "hasura/graphql-engine:v1.3.4-beta.3.cli-migrations" 으로 바꾸는 방법으로 해결을 하긴했는데요, 바람직한 방법은 아니라고 생각해요.올려주신 chatapp 프론트 엔드의 migrations yaml 파일을 hasura cli migrations v3 에 맞게 수정해주실 수 있나요?시간을 들여서 수강자가 고치면 되긴하나 강의의 의도와는 멀어지기도 하고, 바꿔서 하는 것 조차 강의의 의도라고 하신다면, 최소한의 답안 정도는 있어야 한다고 생각해요.
-
미해결WPF (.NET Core, C#, 자막제공)
소스코드 제공해주세요
mvvm으로 리스트뷰에 오브젝트컬렉션뷰 속성으로 바인딩을 해도 죽어도 리스트에 자료가 안뜹니다 소스코드좀 제공해주세요 DB랑요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-S if 구문 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.이 부분에서 전부 If로만 되어있는데, if로만 되어있으면 plus가 있으면 앞에서 다 처리하지 않나요? plus가 뒤에 있을 때도 있는데, 그 때는 어떻게 되는지 궁금합니다.
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
그리드 질문
그리드 만들 때 center, count. gutter 같은 것들을 어떤 기준으로 만드시는 건가요? 처음이라 감이 잘 안 와요.이전 영상에서 양 옆에 여백이 20은 되어야 한다고 하셨는데 그리드 만들 때도 동일한 건가요?
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
Raycaster 질문입니다.
- 질문에 대한 답변은 강의자가 하는 경우도 있고, 수강생 여러분들이 해주시는 경우도 있습니다. 같이 도와가며 공부해요! :)- 작성하신 소스코드 자체의 오류보다는, 개념이나 원리가 이해되지 않는 부분을 질문해주시는게 좋습니다. 그대로 따라했는데 소스코드에서 버그가 나는 경우는 99%가 오타에 의한거라서, 완성된 소스랑 찬찬히 비교해보시면 직접 찾으실 수 있을 거예요. 개발자도구 console에 오류로 표시된 부분만 완성 코드에서 복사->붙여넣기를 해보시는 것도 방법입니다.- 먼저 유사한 질문이 있었는지 검색해보세요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요!Raycaster 사용해서 클릭 이벤트를 넣어보려고 강의 코드를 참고해서 구현하고 있습니다.제가 개발한 코드는 카메라가 (0,2,0)에 있고 원점에 있는 오브젝트를 바라보고 있습니다.이런 상황에서도 raycaster를 만들 때 mouse를 vector2로 선언하고 강의 자료와 같이 x, y 좌표를 넣어주면 되는 건가요?혹시 다르게 넣어줘야 한다면 어떻게 넣어주면 될까요?좋은 강의 덕분에 사이드프로젝트 잘 진행하고 있습니다. 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강사님 질문있습니다!
안녕하세요 강사님 새해 복 많이 받으세요~1012번 문제는 인접행렬로 풀으셨는데 인접리스트로 푸는 방법은 없을까요?"인접행렬로는 앞 문제에서 풀어봤으니까 인접리스트로 풀어봐야지!" 해서 풀어보고 있는데 dfs가 안되는것 같아서 질문드려봅니다!import Foundation var testCase = Int(readLine()!)! var visited: [Bool] = [] var adjList: [[Int]] = [[]] for _ in 0..<testCase { let info = readLine()!.split(separator: " ").map { Int($0)! } let M = info[0] // 주의! 보통 세로 가로이지만 여기서는 가로 세로이다. let N = info[1] let K = info[2] print(search(N,M,K)) } func search(_ N: Int, _ M: Int, _ K: Int) -> Int { var result = 0 adjList = [[Int]](repeating: [], count: M) visited = [Bool](repeating: false, count: M) for _ in 0..<K { let point = readLine()!.split(separator: " ").map { Int($0)! } let x = point[0] let y = point[1] adjList[y].append(x) } // MARK: - 지금까지는 데이터 다 들어감 이제 dfs돌리기 for i in 0..<N { if visited[i] == false { print("now: \(i)") result += 1 dfs(i) } } return result } func dfs(_ node: Int) { visited[node] = true for i in 0..<adjList[node].count { if visited[adjList[node][i]] == false { dfs(adjList[node][i]) } } }언어는 swift인데 많이 비슷해서 읽으시는데는 문제 없으실겁니다!
-
해결됨캐글 Advanced 머신러닝 실전 박치기
no such file directory 문제..
말씀 주신대로 conda 명령어를 실행했더니, conda 명령어가 실행되지 않아서, 인터넷에 찾아본 결과 path를 수동으로 추가해줘야 한다고 해서 처음에 추가를 했는데요.. i 로 들어가서 수정을 했는데인터넷상에서 /home/{user_name}/ 이렇게 되어 있어서 중괄호를 사용해서 path를 수동으로 입력해줬더니 그 다음부터는 wget 명령어를 사용해도 no such file directory라고 뜨고.. ls 명령어 등 어떤 명령어를 쳐도 no such file directory문제가 발생합니다. ㅠㅠ
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
전달값(Parameter) 강의에서 for문 이해가 필요합니다
안녕하세요 나도코딩님 새해복 많이받으세요!전달값(Parameter) 강의 듣고있는데public static void powerByExp(int number, int exponent) { // 전달값을 2개 받는경우 int result = 1; for (int i = 0; i < exponent; i++) { result = result * number; } System.out.println(number + " 의 " + exponent + " 승은 " + result); powerByExp(3,3); // 3 * 3 * 3 = 8여기서 for문의 사용법이 이해가 안가는데 result = result * number;3의 3승을 한다고했을때3 * 1, 3 * 3, 9 * 3는 이렇게 3번 계산하는거잖아요?그러면 이걸 출력한다고하면System.out.println(number + " 의 " + exponent + " 승은 " + result); result는 27이 나오는데 마지막 9 * 3 만 result라고 해석하는건가요?3*1, 3*3 은 왜 result 라고 해석을 안하는건가요?매소드 너무 어렵습니다.. ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
페이징 한계돌파 강의 중 문의
안녕하세요?우선 새해 복 많이 받으세요.spring boot version: 3.0java version: 17order table에는 2건(강의에 나오는 주문내역과 같습니다.)의 주문 있고 offset을 적용 했을 때 조회된 데이터가 1건 이상이 조회 될 때는 order_item table조회가 in query로 데이터를 잘 가지고 오고 있습니다. 문제는 offset을 적용 해서 조회된 order 데이터가 1건일때default_batch_fetch_size: 100하나의 orderId를 위에 설정한 batch_fetch_size만큼 in query에 파라미터로 사용하고 있습니다.OperationTime : 0ms| HeFormatSql(P6Spy sql,Hibernate format):selecto1_0.order_id,o1_0.order_item_id,o1_0.count,o1_0.item_id,o1_0.order_pricefromorder_item o1_0whereo1_0.order_id in(2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2)혹시 이와 관련한 해결법이 있을까요?