묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
메모리 효율성을 개선한 버전 질문 있습니다.
for chunks in get_chunks(zipcode_list, chunk_size=1000): print("chunk size:", len(list(chunks))) ZipCode.objects.bulk_create(chunks)https://gist.github.com/allieus/f16d5d35b84d418cbabcfed8e69b96e2깃허브 Gist에 올라온 코드를 그대로 복사 붙여넣기 하고 마이그레이트를 했더니 데이터 베이스에 데이터가 삽입이 안되었습니다.그래서 디버깅을 해보았는데 위에 해당 코드블럭 부분에서 print("chunk size:", len(list(chunks)))은 그저 디버깅을 위한 코드일텐데 해당 구문이 bulk_create 보다 먼저 선언 되어있다면 데이터 삽입이 이루어지지 않습니다.Django 버전 문제인가 싶어서 5.0.4에서 4.2.7로 버전을 내린 다음 해봐도 결과는 같네요. 제너레이터 문법은 이번 강의에서 처음 접하였는데 해당 문법과 연관이 있는것인가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
왜 8 2 10 1 4 6 7 10 이 되나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. pair 정렬을 예제로 하신 거 같은데, 출력시켜봤을 때 저는 아래처럼 나오고 있습니다. 1 8 2 2 3 9 4 1 6 4 7 6 9 7 10 10그런데 강의에는8 2 10 1 4 6 7 10 이렇게 나와있는데..왜 저런 정렬결과가 나오는지 궁금합니다.
-
미해결
자료다운로드
소스와 강의자료받는데 암호가 걸려있습니다. 암호를 자세히 보지 못하고 들어간 듯 합니다.암호를 부탁드립니다.
-
미해결김영한의 실전 자바 - 중급 1편
열거형
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.public class ClassGrade {public static final ClassGrade BASIC = new ClassGrade(); //classGrade.basic x001public static final ClassGrade GOLD = new ClassGrade(); //classGrade.gold x002public static final ClassGrade DIAMOND = new ClassGrade(); //x003private ClassGrade(){}}에서ClassGrade BASIC,ClassGrade GOLD, ClassGrade DIAMON 를 사용했는데, BASIC 등 다른 변수들에 객체값을 담을려고 만드는 거면, ClassGrade BASIC말고 다른 class를 예로들면 Grade를 만들어서 Grade BASIC = new Grade()로 만들어도 되는지 궁금해서 질문드립니다 !1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨2시간으로 끝내는 코루틴
한 suspend fun 의 반환값이 다른 suspend fun의 파라미터로 쓰일 때
fun main(): Unit = runBlocking { val job1 = async { apiCall1() } val job2 = async { apiCall2(job1.await()) } printWithThread(job2.await()) } suspend fun apiCall1(): Int { delay(1_000L) return 1 } suspend fun apiCall2(num: Int): Int { delay(1_000L) return num + 2 }위와 같은 코드에서, 코루틴을 사용해도 apiCall1() 의 반환값이 apiCall2()의 인자로 사용되기 때문에, apiCall1()이 완료된 후에 apiCall2()가 실행되는 것은 이해했습니다. 그리고 코루틴을 사용할 때의 이점이 마치 한줄한줄 동기식 코드를 작성할 때처럼 비동기 코드를 사용할 수 있다. 로 이해했습니다.그럼 위와 같은 상황에서는 굳이 코루틴을 사용하지 않고, 아래와 같이 동기적으로 코드를 작성해도 같은 것일까요? (두 apiCall1,2를 사용하는 외부 메서드가 없을 때)fun main() { val job1 = apiCall1() val job2 = apiCall2(job1) printWithThread(job2) } fun apiCall1(): Int { delay(1_000L) return 1 } fun apiCall2(num: Int): Int { delay(1_000L) return num + 2 }비동기 처리가 처음이다 보니 직관적으로 잘 와닿지 않는 부분이 많아 자꾸 질문드리네요 ㅜㅜ 죄송합니다.
-
해결됨스프링 핵심 원리 - 기본편
강의 7분,9분에서 출력이 안돼요
김영한 강사님처럼 system.out.println 결과가 안 뜹니다
-
미해결Next + React Query로 SNS 서비스 만들기
추천탭 게시글작성 오류
추천탭에서 게시글을 작성하면 새로고침 시 사라져버리고 추천탭에서 게시한 게시글이 "팔로우 중" 탭에서 존재하여 좋아요 버튼을 클릭하면 새로고침 시 다시 추천탭에도 해당 게시글이 나타납니다.도무지 뭐가문제인지 모르겠네요ㅠㅠ"use client" import { MouseEventHandler } from 'react'; import style from './post.module.css'; import cx from 'classnames'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import { Post } from '@/model/Post'; type Props = { white? : boolean; postId: number; } export default function ActionButtons({white, postId}: Props) { const queryClient = useQueryClient(); const commented = true; const reposted = true; const liked = false; const heart = useMutation({ mutationFn: () => { return fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/posts/${postId}/heart`, { method: 'post', credentials: 'include', }) }, // 클릭한 하트 상태를 실시간으로 true로 만들어줌 // post에서 검색결과,추천,팔로잉,답글 등등 쿼리키가 다양한대 어떤 쿼리키인지 무슨상황인지 알 수가 없다. // 그래서 전부 다 해줘야 한다. onMutate() { const queryCache = queryClient.getQueryCache(); const queryKeys = queryCache.getAll().map(cache => cache.queryKey); console.log('queryKeys',queryKeys); queryKeys.forEach((querykey) => { if(querykey[0] === 'posts') { const value:Post | Post[] | undefined = queryClient.getQueryData(querykey); // 게시글 console.log(value) // 싱글포스트 일 수도 있기때문에 조건문 걸어줌. if(Array.isArray(value)){ const index = value.findIndex((v) => postId == v.postId); // 찾고자 하는 게시글이 있는지 확인 if(index > -1) { const shallow = [...value]; shallow[index] = { ...shallow[index], } // 옅은 복사해준것을 쿼리에 전송 queryClient.setQueryData(querykey, shallow); } }else { // 싱글 포스트인 경우 } } }); }, onError() { }, onSettled() { } }) // 댓글 const onClickComment = () => {} // 리트윗 const onClickRepost = () => { } // 좋아요 const onClickHeart:MouseEventHandler<HTMLButtonElement> = (e) => { e.stopPropagation(); if(liked){ // unheart.mutate(); }else{ heart.mutate(); } } return ( <div className={style.actionButtons}> <div className={cx(style.commentButton, { [style.commented]: commented }, white && style.white)}> <button onClick={onClickComment}> <svg width={24} viewBox="0 0 24 24" aria-hidden="true"> <g> <path d="M1.751 10c0-4.42 3.584-8 8.005-8h4.366c4.49 0 8.129 3.64 8.129 8.13 0 2.96-1.607 5.68-4.196 7.11l-8.054 4.46v-3.69h-.067c-4.49.1-8.183-3.51-8.183-8.01zm8.005-6c-3.317 0-6.005 2.69-6.005 6 0 3.37 2.77 6.08 6.138 6.01l.351-.01h1.761v2.3l5.087-2.81c1.951-1.08 3.163-3.13 3.163-5.36 0-3.39-2.744-6.13-6.129-6.13H9.756z"></path> </g> </svg> </button> <div className={style.count}>{1 || ''}</div> </div> <div className={cx(style.repostButton, reposted && style.reposted, white && style.white)}> <button onClick={onClickRepost}> <svg width={24} viewBox="0 0 24 24" aria-hidden="true"> <g> <path d="M4.5 3.88l4.432 4.14-1.364 1.46L5.5 7.55V16c0 1.1.896 2 2 2H13v2H7.5c-2.209 0-4-1.79-4-4V7.55L1.432 9.48.068 8.02 4.5 3.88zM16.5 6H11V4h5.5c2.209 0 4 1.79 4 4v8.45l2.068-1.93 1.364 1.46-4.432 4.14-4.432-4.14 1.364-1.46 2.068 1.93V8c0-1.1-.896-2-2-2z"></path> </g> </svg> </button> <div className={style.count}>{1 || ''}</div> </div> <div className={cx([style.heartButton, liked && style.liked, white && style.white])}> <button onClick={onClickHeart}> <svg width={24} viewBox="0 0 24 24" aria-hidden="true"> <g> <path d="M16.697 5.5c-1.222-.06-2.679.51-3.89 2.16l-.805 1.09-.806-1.09C9.984 6.01 8.526 5.44 7.304 5.5c-1.243.07-2.349.78-2.91 1.91-.552 1.12-.633 2.78.479 4.82 1.074 1.97 3.257 4.27 7.129 6.61 3.87-2.34 6.052-4.64 7.126-6.61 1.111-2.04 1.03-3.7.477-4.82-.561-1.13-1.666-1.84-2.908-1.91zm4.187 7.69c-1.351 2.48-4.001 5.12-8.379 7.67l-.503.3-.504-.3c-4.379-2.55-7.029-5.19-8.382-7.67-1.36-2.5-1.41-4.86-.514-6.67.887-1.79 2.647-2.91 4.601-3.01 1.651-.09 3.368.56 4.798 2.01 1.429-1.45 3.146-2.1 4.796-2.01 1.954.1 3.714 1.22 4.601 3.01.896 1.81.846 4.17-.514 6.67z"></path> </g> </svg> </button> <div className={style.count}>{0 || ''}</div> </div> </div> ) }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
모든 경우의수를 구해보는 방식
선생님, 안녕하세요.괄호추가하기 문제를 풀어보고 있습니다.bfs는 아니고, 큐를 이용하기는 하는데 visited를 이용하지 않게 문제를 풀고 있어요.전략은 처음에 큐에 식을 넣고,큐에서 뺄 때, 수식을 계산한다음, 앞에서부터 괄호를 칠 수 있는 부분에 하나씩 괄호를 치고 넘기고. 이걸 반복하고 있습니다. 예를 들면, 9 3+8*7-9*2를 입력했을 때,3+8*7-9*2 (3+8)*7-9*2 3+(8*7)-9*2 3+8*(7-9)*2 3+8*7-(9*2) (3+8)*(7-9)*2 (3+8)*7-(9*2) 3+(8*7)-(9*2) 이런식으로 해서 모든 경우의 수를 구해서 비교하는 방식으로 하고 있는데요.예제는 잘 통과하는데, 제출하면 틀리네요...한번 봐주시고, 의견주시면 감사하겠습니다.또, 어떤 반례가 있을까요??http://boj.kr/0fced5587b8a4c5eb38406042eff5d6d 감사합니다~!
-
미해결Airflow 마스터 클래스
파이썬 외부함수 임포트 경로 질문
안녕하세요 강사님실습 따라서 코드 작성하고 dags_python_import_func.py 대그 에어플로우에 올려서 테스트해봤는데 계속 임포트 에러가 나서 질문드립니다.제 실습환경이 강의의 실습환경과 달라서 그러는건지 잘 모르겠는데 제 실습환경은 아래와 같습니다.이 상태에서 common.common_func 경로로 get_sftp 함수 임포트하면 moduleNotFoundError가 발생합니다.plugins를 포함해도 동일하고요ㅜ어떤게 문제인지 알려주실 수 있을까요?
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
네트워크 책
혼자 배우는 네트워크강의는 안나오나요ㅠㅠ책말고 강의도 해주세요 ㅠㅠ
-
미해결진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
위키피디아 연결 방법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 위키피디아 링크 붙여넣으면 SSL/TLS 보안 채널을 만들 수 없습니다라는 에러가 뜹니다. 남겨주신 답글을 봤는데 1. 웹 콘텐츠 액세스 > 익명 > 연결..클릭2. 개인정보..블러블러를 묻는 대화상자에서는 > 중간 쯤에 위치한 '개인정보를 무시합니다...' 의 체크 박스에 체크하고 > 확인 ...클릭 이게 뭔 말인지 모르겠습니다. 웹 콘텐츠 액세스라는 것부터 못 찾고 있습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
도메인 연결 후 게시글 작성..
안녕하세요 도메인 연결 후 로그인과 로그아웃이 잘 되고, 새로고침 시에도 유지가 되는데요~게시글이 작성은 안됩니다 ㅠㅠ 회원가입은 되구요!이 다음 강의 S3를 연결하면 게시글이 작성이 되는게 맞을까요? 아니면 현재 오류가 있는건가여..
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 DB 생성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.13:51초에서 실행 오류가 나며, H2 db에서 Member가 생성되지 않습니다. 하루정도 구글링을 진행하였지만 해결되지 않아 질문드립니다. 아래는 작성한 코드입니다!https://drive.google.com/file/d/1vASQI42Acv8UbdcQ_MDLIkDe0W0pcUba/view?usp=sharing
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
node 안에 있는 data 타입을 shared_ptr 로 하는 이유?
제 생각에는 락프리 스택 만들 때도 그렇고 이번 강의 큐도 그렇고 노드 안에 있는 data 타입을 그냥 T data 라고 해도 될 것 같은데 굳이 shared_ptr로 하는 이유가 있을 까요?shared_ptr 로 하면 메모리 비용과 시간 비용이 더 드는것으로 알고있는데요! 별 이유는 없을까요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-D 질문드려요 (메모이제이션)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘듣고있습니다.! 메모이제이션 부분이 이해가 잘 안되서 질문드립니다.dp에 어떤 값이 들어가 있을 때 재귀 호출하지 않고 dp에 담겨져 있는 값을 리턴하는 것에 대한 추가 설명 가능할까요? #include <bits/stdc++.h> using namespace std; int T, W; vector<int> I; int mx = 0; int DP[1001][3][31]; // tree: 트리번호 // cnt: 움직인 횟수 int go(int idx, int tree, int cnt){ int another_tree; if (tree==1) another_tree =2; else another_tree =1; if (idx == T) return 0; // 기저사례 int &ret = DP[idx][tree][cnt]; // 메모이제이션 if (ret) return ret; if (cnt > 0) ret = max(go(idx+1, another_tree, cnt-1), go(idx+1, tree, cnt)) + (tree == I[idx]? 1:0); else ret = go(idx+1, tree, cnt) + (tree==I[idx]? 1:0); return ret; } int main(){ cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false); cin >> T >> W; I = vector<int>(T,0); for(int i =0 ; i < T; ++i){ cin >> I[i]; } cout << max(go(0, 2, W-1), go(0, 1, W)); return 0; } dp에 어떤값이 들어가있다는 것은 이미 한번 수행한 이력이 있는 정점이라는 의미로, 더 이상 아래 정점을 탐구할 필요가 없다 라는 의미겠는데.., 완전히 이해를 하지 못하여 질문드려요
-
미해결김영한의 실전 자바 - 기본편
문제와풀이2번 출력
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.package poly.expay; public class PayService{ public void processPay(String name, int amount) { boolean result; System.out.println("결제를 시작합니다: " + "option = " + name + ", amount = " + amount); if(name.equals("kakao")) { KakaoPay kakaoPay = new KakaoPay(); result = kakaoPay.Pay(amount); } } }다름이 아니라 result값에 kakaoPay.Pay(amount)를 넣는건 알겠는데 그반환값도 true로 되구요 근데 왜 메인에서 출력이 되는건가여? 제가 생각하기로는 result = true라고 생각을 하였는데, 따로 출력을 하기위해선 kakaoPay.Pay(amount); 만 써야 출력이 되지 않나요? 아님 result에 값을 대입함과 동시에 출력도 되는지요.
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
강사님 코드를 똑같이 따라했는데 에러코드로 떠요.
🚨질문 작성법 및 안내사항질문 작성법-'섹션6. 디지털 시계 개발하기 수업' 질문입니다.약 7분 8초 쯤 수업을 따라하고 있는데 setNowDate(month, date, week[day]); }; const setNowDate = (month, date, day) => { dateElement.textContent = `$ {month} 월${date}일 ${day}`; 가자꾸 Uncaught TypeError: Cannot set properties of null (setting 'textContent')오류가 뜨며 아무것도 보여주지 않아 강의 진행에 어려움을 겪고 있습니다. 어떻게 해결을 해야될까요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
프로젝트 생성해보기! 1:36에서 체크박스 설정 안하고 다운로드해야되나요?
상관없을까요
-
해결됨기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
웹사이트에서 바로 한글로 번역되는거 어떤 프로그램쓰시는건가요?
안녕하세요. 처음 15초쯤에 nextjs소개하면서 나오는 번역프로그램은 어떤걸 쓰시는건가요? 편리해보여서요~
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
섹션2 연습문제 질문입니다.
연습문제중 팩토리얼 구현에 있어서 질문 드립니다. static int Factorial(int a){for (int i = a - 1; i >= 1; i--){a *= i;}return a;}static void Main(string[] args){int ret = Factorial(3);Console.WriteLine(ret);} 이 구현도 괜찮을까요?