묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Next + React Query로 SNS 서비스 만들기
모달창 닫기 버튼 눌렀을 때 맨위로 올라가지는 현상 질문
이미지 상세 보기 눌렀을때 모달창이 켜지고, 닫기 버튼 누르면router.back() 으로 처리하셨는데이 때 문제점이 게시글 위치가 다시 맨 위로 올라가게 되더라구요. 만일 닫기 버튼 눌러도 제가 스크롤 해서 봤던 게시글 위치 그대로 보여질려면 어떻게 처리하면 좋은가요?
-
해결됨Windows 시스템 프로그래밍 - 기본
동기와 비동기
다중 코어 환경에서는 os가 스레드를 처리할때 동시성과 병렬성을 무조건 다써서 처리하나요? 친화력 조절을 안한다면..1번이 그렇다라면 코어가 4개(스레드 4개)인 컴퓨터에서하나의 프로세스에서 3개의 스레드가 추가로 실행되어 총 4개의 스레드가 존재할때 추가된 3개의 쓰레드가 각각 2초짜리 입력 요청을 하나의 파일에 요청한다고 할때cpu (idle~적당히)동기 : 최소 2초 ~ 최대 6초 (block)비동기 : 최소 2초 ~ 최대 6초가 맞을까요?이렇게 볼때 비동기가 동기보다 좋은 이유가 block 되지않고 코드를 더 실행하는것 하나 뿐인가요? 이후에 다른 작업들이 더 많아지면서 비동기가 빛을 발하게 되는건가요?
-
미해결스프링 배치
커서와 페이징
안녕하세요. 수업 관련 질의드립니다. 커서와 페이징 처리방식 전제:커서 기반 리더는 SQL을 한번 실행해 해당 커넥션을 이용해 스트림 처리를 하고, 페이징 기반 리더는 청크 단위로 SQL을 여러번 실행해 데이터를 페이징 단위로 처리합니다.문제: 그러면 커서기반으로 처리되는 리더는 doRead() 를 호출할 때, 데이터를 하나가져오고, 매핑하고, 다시 iterate해서 데이터를 하나 가져오고 매핑하는 것인가요? 아니면 일단 청크사이즈만큼 가져오고 그 다음 iterate해서 매핑을 하는 것인가요?질문이유: 저는 전자를 커서방식 후자를 페이징 방식이라고 생각하였는데, 수업 시간에 커서도 데이터를 청크사이즈만큼 가져온다음 Iterate한다고 이해하여 제 인식에 잘못된 것이 있는지, 파악에 오류가 있는지 질의드립니다.감사합니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
강의 자료 다운로드 문의
안녕하세요! 강의를 듣고 강의 자료를 다운받았는데 폴더가 비어있어서 문의 드립니다 😂 혹시 어떻게 된건지 알 수 있을까요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
docker-compose up 오류
docker-compose up을 사용하면 initdb: error: directory "/var/lib/postgresql/data" exists but is not emptyinitdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". 라는 오류가 자꾸 발생합니다. 삭제하고 다시 해도 해결이 안되서 질문남깁니다. 어떻게 해결해야하나요.
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
4. 단어 뒤집기 풀이방식 질문
선생님 안녕하세요. 풀이 방식에 질문이 있어 질문드립니다.선생님이 강의에서 풀어주신 방법과 다르게 저는 아래 코드처럼 작성을 했는데요. 저랑 풀이 방식이 크게 다른거 같아 제 풀이가 문제에서 원하는 풀이 방식이 아닌가 싶어 질문드립니다. 🙂 import java.util.Scanner; public class Main { // 문자열 뒤집는 메서드 public String solution(String str) { String answer = ""; char[] ch = str.toCharArray(); // 반복문 역순으로 돌리기 for (int i = ch.length - 1; i >= 0; i--) { answer += ch[i]; } return answer; } public static void main(String[] args) { Main main = new Main(); Scanner scanner = new Scanner(System.in); int number = scanner.nextInt(); while (number > 0) { System.out.println(main.solution(scanner.next())); number--; } } }
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
안녕하세요 복습은 어떤식으로 하면 되나요
안녕하세요 복습은 어떤식으로 하면 되나요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문 있습니다.
항상 감사드립니다 선생님!
-
미해결readable_code:: 따라하면 끝나있는 C++ 개발환경 설정 A to Z
vscode clangd 설치 후 관련하여 문의드립니다.
안녕하세요, 좋은 강의 감사합니다.vscode에 관하여 질문이 있습니다.현재 말씀하신대로 clangd를 설치하고 user setting(json)에서도 수정을 하였습니다.그리고 설치된 eigen을 불러오는 코드를 작성하였는데, vscode에서 eigen include와 관련하여 오류가 있습니다.clangd 설치 전으로 돌아가면 에러가 없습니다. 아래는 cmakelist.txt 입니다. 감사합니다.
-
미해결Vue.js - Django 연동 웹 프로그래밍
화면 에러화면이 자꾸 뜨네요..
/ url로 들어가면 다 이렇게 page not found가 떠요..url로 리다이렉션 되는건 저렇게 다 나오네요... 저의 urls.py는 이렇습니다.from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('todo/', include('todo.urls')), ]
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-L 질문 있습니다!
안녕하세요 선생님, 항상 강의 잘 보고 있습니다!!이 문제 답의 visited가 1차원 배열이냐, 2차원 배열이냐에 따라서 시간복잡도 차이가 3배이상 나더라구요.배열과 관련한 연산은 인덱스를 통한 참조와 삽입밖에 없는데 이렇게 차이가 많이 나는 이유가 뭘까요?2차원 배열을 사용해서 통과한 답 첨부해드립니다. 감사합니다.http://boj.kr/8e9b226e7708455da2bee2555f8403db
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
영화수집 문제) 카운팅트리에서 궁금한게 생겼습니다.
인덱스를 음수로 사용할 수 없으니까 처음의 값들을m최대값 10만이니 10만1 이상의 값에 값을 할당하셨는데.그런데 10만2부터 사용하시고 10만1은 사용하시지 않으셨더라구요. 그래서 이해하는 과정에서 중요한건가 싶어서 10만도 해보고 10만1부터도 해보았습니다.예로update_idx = 100000Update(update_idx , 1);mp[temp] = update_idx--;이렇게 수정해보았습니다. 범위에 딱 맞으니까 10만개까지 딱 정보가 들어올 수 있게되는데sum에서 잠시 생각해보니 tree[0] 인덱스에 10만번째 정보가 들어올 것이라고 생각이 들어서요while(i>=0) 으로 바꾸어보았는데 .. (ㅋㅋ 왜 [1] 부터 하시라는지 알았습니다..) 당연히 무한루프를 돌았고다시 while(i>0)으로 수정했는데 정답이 떴습니다.사실 오답이어야 하는게 아닌가 싶어 질문드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-M 백준 3986 질문 드립니다
안녕하세요 큰돌님:)백준 3986 문제에 대해서 질문드리고 싶은 게 있습니다!http://boj.kr/00e868dc6fea4a5cbcb0048b32aed50b위의 코드와 같이 st.push(s[0]); 을 먼저 한 다음 j=1 부터 반복문을 시작하면 왜 21112 segmentation fault 오류가 나오는지 궁금합니다..ㅜㅜ 그리고 제가 1주차 문제를 풀고 있는데 거의 3개 중에 하나 꼴로 틀리고 어떨 땐 연속으로 계속 틀리는데강의를 들으면 설명을 잘해주셔서 이해안되는 부분 없이 전부 이해가 가긴 합니다.. 접근법을 배우는 거에 의의를 두고 틀려도 계속 진도 나가면서 풀고있기는 한데 자꾸 틀리니까 위축이 되어서요..ㅠㅠ지금처럼 꾸준히 진도 나가는 것이 맞을까요?? 제 수준에서는 다시 교안으로 돌아가야 하는지.. 모르겠습니다 조언해주시면 감사합니다..!마지막으로 선생님께서 올려주신 추천문제들만 복습해서 봐도 코테 마스터 할 수 있을까요..? ㅜㅜ 아니면 다른 문제들도 함께 겸해서 공부해야하는지 궁금합니다감사합니다.
-
미해결
08. 퀴즈 fetchProduct 오류
섹션08 퀴즈를 풀고 있는데 상품등록 버튼을 누르면 오류가 떠요. try, catch 사용하면 오류 메세지가 떠서 확인해보니 apolloError가 뜨네요..뭔가 잘못 입력한게 있는 것 같은데 어느 부분이 잘못되었는지 모르겠어요ㅠㅠ 폴더 경로/section08/boardsimport { useMutation, gql } from "@apollo/client"; import { useState } from "react"; import { useRouter } from "next/router"; const CREATE_PRODUCT = gql` mutation createProduct($seller: String, $createProductInput: CreateProdutInput!){ createProduct(seller: $seller, createProductInput: $createProductInput){ _id number message }} ` export default function CreateProductQuizPage() { const router = useRouter() const [seller, setSeller] = useState(); const [name, setName] = useState(); const [detail, setDetail] = useState(); const [price, setPrice] = useState(); const [myProduct] = useMutation(CREATE_PRODUCT); const onClickSubmitProduct = async () => { try { const result = await myProduct({ variables: { seller: seller, createProductInput: { name: name, detail: detail, price: price } } }); console.log(result); router.push(`/section08/product/${result.data.createProduct.id}`) } catch (error) { alert(error.messege) } } const onChangeSeller = (event) => { setSeller(event.target.value) } const onChangeName = (event) => { setName(event.target.value) } const onChangeDetail = (event) => { setDetail(event.target.value) } const onChangePrice = (event) => { setPrice(event.target.value) } return ( <div> <div>판매자 : <input type="text" onChange={onChangeSeller} /> </div> <div>상품명 : <input type="text" onChange={onChangeName} /> </div> <div>상품내용 : <input type="text" onChange={onChangeDetail} /> </div> <div>상품가격 : <input type="text" onChange={onChangePrice} /> </div> <button onClick={onClickSubmitProduct}>상품등록</button> </div> ) } 폴더 경로/section08/product/[id]import { useQuery, gql } from "@apollo/client"; import {useRouter} from "next/router" const FETCH_PRODUCT = gql` query fetchProduct($productId: ID){ fetchProduct(productId: $productId){ seller name detail price } } ` export default function CreateProductQuizIdPage(){ const router = useRouter(); const {data} = useQuery(FETCH_PRODUCT, { variables : { productId: router.query.id } }); console.log(data) return( <div> <div>{router.query.id} 상세정보</div> <div>판매자 : {data?.fetchProduct?.seller}</div> <div>상품명 : {data?.fetchProduct?.name}</div> <div>상품내용 : {data?.fetchProduct?.detail}</div> <div>상품가격 : {data?.fetchProduct?.price}</div> </div> ) } productId: router.query.id 는 수업 내용 보며 입력했는데 아직 왜 이렇게 작성 되어야는지 이해가 되지 못했습니다..createProduct에서 등록된 아이디가 fetchProduct의 [id] (변수 id)가 되는게 맞나요? 너무 헷갈려서 다시 여쭤봅니다
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
refresh token 관련
안녕하세요 강의 잘듣고 있습니다!refresh token의 재발급 로직에서 궁금한 점이 생겼는데요,accessToken과 refreshToken이 모두 만료돼었을때 (오랫만에 앱을 들어간 경우) 만료된 refreshToken을 통해서 다시 refreshToken을 재발급 받는게 맞을까요?^ 위의 Guard가 들어가 있고 ^ Guard안에는 verifyToken이 들어 있어 accessToken을 발급받기위한 만료되지 않은 refreshToken이 들어있을땐 문제가 없지만 만료된 refreshToken이 들어가면 에러가 발생합니다.혹시 제가 강의중 놓친것이 있다면 알려주시면 감사하겠습니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
자바 코드에 직접 html을 작성하는것은 매우 불편한데 다른 방법으로는 할 수 없나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]지금 강의 방법처럼 html을 작성하여 반응해주는것은 매우 불펴난것 같은데 html파일 자체를 링크하여 반응해주는 방법도 있나요?
-
해결됨UXUI 디자인 비전공자를 위한 포트폴리오 제작방법
테스트케이스가 아닌 신규 제품 개발의 경우
안녕하세요, 포트폴리오 작성과 관련하여 질문이 있습니다. 강의 전체적으로 보여주신 테스트케이스 이외에,초반부 말씀하셨던 신규 제품(서비스) 개발의 경우에도 알려주시는 방식 또는 순서에 따라 하나 하나 진행해가면 될까요? 테스트케이스와 신규 개발 두 가지 모두를 포트폴리오에 넣고 싶을 경우에도 그 작업 방식에는 큰 차이가 없을지 궁금합니다! 감사합니다 :)
-
해결됨Next + React Query로 SNS 서비스 만들기
Type에서 줄바꿈시 콤마 혹은 세미콜론 둘 다 가능한가요?
type Props = { postId: number; userName: string, userId: number; }위 코드처럼 type에서는 끝에 ; 혹은 , 둘 다 섞어서 써도 괜찮은가요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Poolable 컴포넌트를 코드를 통해 넣어주려면
강의에선 Poolable 컴포넌트를 유니티 실행 전에 유니티에서 드래그앤드롭으로 미리 넣어줍니다.제 질문은 강의처럼 미리 넣어주는게 아닌 실행된 뒤에 코드에서 GetOrAddComponent함수를 통해 넣어주려고 합니다.그런데 코드에서 GetOrAddComponent함수를 통해 넣어주면 복제가 된 뒤에 넣어져 풀링이 되지 않습니다. ResourceManager의 Instantiate 함수를 보면 Object.Instantiate를 실행하기 전에 풀링된 오브젝트가 있는지 확인을 해서 그런거 같습니다.Pop()함수가 호출이 안되니 _pool Dictionary에 새로 생성되지 않습니다.제 생각에는 Push 함수에서도 CreatePool을 해주는 방식이나 ResourceManager의 Instantiate 함수 안에서 Object.Instantiate를 실행하기 전에 오브젝트의 이름이나 태그를 통해 미리 넣어주고 복사하는 방식이 생각이 나는데 전자는 강의에서 말씀하신 예외사항에 대처할 수 없고 후자는 그리 효율적이라고 생각되지 않습니다.혹시 다른 좋은 방법이 있을까요?강의에서 말씀한 내용이라면 죄송합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
암호화관련 문제
알려주신대로 어찌어찌 수정을 해서 실행이 됐습니다!그런데 이번엔 암호화 관련해서 다음과 같은 오류가 생겨 질문 드립니다..Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:68:19) at Object.createHash (node:crypto:138:10) at module.exports (C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\NormalModule.js:417:16) at handleParseError (C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\NormalModule.js:471:10) at C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\NormalModule.js:503:5 at C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\NormalModule.js:358:12 at C:\Users\User\Documents\boiler-plate\client\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (C:\Users\User\Documents\boiler-plate\client\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at iterateNormalLoaders (C:\Users\User\Documents\boiler-plate\client\node_modules\loader-runner\lib\LoaderRunner.js:221:10) C:\Users\User\Documents\boiler-plate\client\node_modules\react-scripts\scripts\start.js:19 throw err; ^ Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:68:19) at Object.createHash (node:crypto:138:10) at module.exports (C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\NormalModule.js:417:16) at C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\NormalModule.js:452:10 at C:\Users\User\Documents\boiler-plate\client\node_modules\webpack\lib\NormalModule.js:323:13 at C:\Users\User\Documents\boiler-plate\client\node_modules\loader-runner\lib\LoaderRunner.js:367:11 at C:\Users\User\Documents\boiler-plate\client\node_modules\loader-runner\lib\LoaderRunner.js:233:18 at context.callback (C:\Users\User\Documents\boiler-plate\client\node_modules\loader-runner\lib\LoaderRunner.js:111:13) at C:\Users\User\Documents\boiler-plate\client\node_modules\babel-loader\lib\index.js:59:103 { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' }