inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

2.1 프로젝트 설치 alias 부분

해결됨

한 입 크기로 잘라먹는 Next.js

이 부분 진행할 때 "default alias를 쓸 거냐? No" 라고 말씀해 주셨는데 반대로 말씀해 주신 거 같아요! default alias를 쓴다는 선택이니까요. default import alias 대신 custmize으로 쓰겠냐는 질문에 No라고 선택한 걸로 보입니다!

  • react
  • typescript
  • next.js
주니어에요 댓글 2 좋아요 0 조회수 290

webbrowser 질문

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

webbrowser.open (" http://google.com") 코드를 실행하면 크롬창이 떴다가, 바로 꺼집니다. 왜 그런걸까요?? 해당 코드 뒤에 time.sleep() 을 넣어도 인자로 넣은 시간 동안만 크롬창이 떠있고 다시 꺼지네요

  • python
jbw217 댓글 1 좋아요 0 조회수 92

댓글 비밀번호 입력 오류

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요, 댓글 삭제 기능을 구현하던 도중 Modal에서 입력받은 비밀번호가 제가 댓글을 생성할 때 입력했던 비밀번호와 동일함에도 비밀번호가 틀렸다는 에러 메시지가 나옵니다. 제가 작성한 코드에서 어떠한 오류가 있는 건지 가르쳐주시면 감사하겠습니다... BoardComment Container import { useState } from "react"; import { useRouter } from "next/router"; import { useMutation, useQuery } from "@apollo/client"; import BoardCommentsUI from "./BoardComments.presenter"; import { FETCH_BOARD, CREATE_BOARD_COMMENT, FETCH_BOARD_COMMENTS, DELETE_BOARD_COMMENT, } from "./BoardComments.queries"; import { MouseEvent, ChangeEvent, MouseEventHandler } from "react"; import { IMutation, IMutationCreateBoardCommentArgs, IMutationDeleteBoardCommentArgs, IQuery, IQueryFetchBoardArgs, IQueryFetchBoardCommentsArgs, } from "../../../../commons/types/generated/types"; export default function BoardComments() { const [writer, setWriter] = useState(""); const [password, setPassword] = useState(""); const [contents, setContents] = useState(""); const [rating, setRating] = useState(0); const [user, setUser] = useState(""); const [boardCommentId, setBoardCommentId] = useState(""); const [modalPassword, setModalPassword] = useState(""); const [contentLength, setContentLength] = useState(0); const [isOpen, setIsOpen] = useState(false); const router = useRouter(); if (typeof router.query.boardId !== "string") { router.query.boardId = Array.isArray(router.query.boardId) ? router.query.boardId[0] : String(router.query.boardId); } const { data } = useQuery<Pick<IQuery, "fetchBoard">, IQueryFetchBoardArgs>( FETCH_BOARD, { variables: { boardId: router.query.boardId, }, } ); const { data: commentData, refetch } = useQuery< Pick<IQuery, "fetchBoardComments">, IQueryFetchBoardCommentsArgs >(FETCH_BOARD_COMMENTS, { variables: { boardId: router.query.boardId, }, }); const [createBoardComment] = useMutation< Pick<IMutation, "createBoardComment">, IMutationCreateBoardCommentArgs >(CREATE_BOARD_COMMENT); const [deleteBoardComment] = useMutation< Pick<IMutation, "deleteBoardComment">, IMutationDeleteBoardCommentArgs >(DELETE_BOARD_COMMENT); const onChangeWriter = (event: ChangeEvent<HTMLInputElement>) => { setWriter(event.target.value); }; const onChangePassword = (event: ChangeEvent<HTMLInputElement>) => { setPassword(event.target.value); }; const onChangeContents = (event: ChangeEvent<HTMLTextAreaElement>) => { setContents(event.target.value); setContentLength(event.target.value.length); }; const onChangeRating = (value: number) => { setRating(value); }; const onChangeUser = (event: ChangeEvent<HTMLInputElement>) => { setUser(event.target.value); }; const onChangeModalPassword = (event: ChangeEvent<HTMLInputElement>) => { setModalPassword(event.target.value); }; const showModal = (event: MouseEvent<HTMLImageElement>): void => { setBoardCommentId(event.currentTarget.id); setIsOpen(true); console.log(boardCommentId); }; const handelOk = (): void => { setIsOpen(false); }; const handelCancel = (): void => { setIsOpen(false); }; const onClickSubmitComment: MouseEventHandler< HTMLButtonElement > = async () => { try { if (typeof router.query.boardId !== "string") { return; } await createBoardComment({ variables: { boardId: router.query.boardId, createBoardCommentInput: { writer, password, contents, rating, }, }, }); refetch(); } catch (error) { console.log(error.message); } setRating(0); setWriter(""); setPassword(""); setContents(""); }; const onClickDeleteComment = async ( event: MouseEvent<HTMLButtonElement> ): Promise<void> => { try { await deleteBoardComment({ variables: { boardCommentId, password: modalPassword, }, }); refetch(); } catch (error) { alert(error.message); } setIsOpen(false); setModalPassword(""); }; return ( <BoardCommentsUI data={data} commentData={commentData} writer={writer} password={password} contents={contents} modalPassword={modalPassword} contentLength={contentLength} rating={rating} user={user} isOpen={isOpen} onChangeWriter={onChangeWriter} onChangePassword={onChangePassword} onChangeRating={onChangeRating} onChangeContents={onChangeContents} onChangeUser={onChangeUser} onChangeModalPassword={onChangeModalPassword} onClickSubmitComment={onClickSubmitComment} onClickDeleteComment={onClickDeleteComment} showModal={showModal} handelOk={handelOk} handelCancel={handelCancel} /> ); } BoardComment Presenter import * as S from "./BoardComments.styles"; import { IBoardCommentsUIProps } from "./BoardComments.types"; import { Rate } from "antd"; export default function BoardCommentsUI(props: IBoardCommentsUIProps) { return ( <S.Container> <S.PasswordCheck open={props.isOpen} onOk={props.onClickDeleteComment} onCancel={props.handelCancel} > 비밀번호 입력:{" "} <input type="text" onChange={props.onChangeModalPassword} /> </S.PasswordCheck> <S.CommentTitleWrapper> <S.CommentIcon src="/icon/rate_review.png" /> 댓글 </S.CommentTitleWrapper> <S.CommentInputWrapper> <S.CommentInputWrapperHeader> <S.CommentWriter type="text" placeholder="작성자" onChange={props.onChangeWriter} value={props.writer} /> <S.CommentPassword type="password" placeholder="비밀번호" onChange={props.onChangePassword} value={props.password} /> <Rate onChange={props.onChangeRating} value={props.rating} /> </S.CommentInputWrapperHeader> <S.CommentInputWrapperBody> <S.CommentInputWrapperBottom placeholder="개인정보를 공유 및 요청하거나, 명예 훼손, 무단 광고, 불법 정보 유포시 모니터링 후 삭제될 수 있으며, 이에 대한 민형사상 책임은 게시자에게 있습니다." onChange={props.onChangeContents} maxLength={99} value={props.contents} /> <S.CommentTextCount>{props.contentLength}/100</S.CommentTextCount> <S.CommentSubmitButton onClick={props.onClickSubmitComment}> 등록하기 </S.CommentSubmitButton> </S.CommentInputWrapperBody> </S.CommentInputWrapper> <S.CommentListWrapper> {props.commentData?.fetchBoardComments.map((el) => ( <S.CommentListItemWrapper key={el._id}> <S.CommentListProfileWrapper> <S.CommentListProfileImage src="/icon/profile.png" /> </S.CommentListProfileWrapper> <S.CommentListContentsWrapper> <S.CommentListContentsHeader> <S.CommentListWriter>{el.writer}</S.CommentListWriter> <Rate disabled defaultValue={el.rating} /> </S.CommentListContentsHeader> <S.CommentListContents>{el.contents}</S.CommentListContents> <S.CommentListDate>2024-07-27</S.CommentListDate> </S.CommentListContentsWrapper> <S.CommentListItemButtonWrapper> <S.CommentListItemButton src="/icon/mode.png" //onClick={() => props.onClickDeleteComment(el._id)} /> <S.CommentListItemButton src="/icon/clear.png" //onClick={() => props.onClickDeleteComment(el._id)} id={el._id} onClick={props.showModal} /> </S.CommentListItemButtonWrapper> </S.CommentListItemWrapper> ))} </S.CommentListWrapper> </S.Container> ); }

  • react
  • node.js
  • seo
  • graphql
  • next.js
Levi 댓글 2 좋아요 0 조회수 188

이번 강의 내용이 좀 많이 어렵네요..

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

이번 강의부분이 이해도가 너무 부족한거 같아서 두번정도 돌려들었는데도 통 이해가 안갑니다.. 우선 9분에 순서를 보자면 main의 start를 먼저 출력하고 ElectricCar의 생성자(이부분을 c에선 함수라고 했던가요..?)를 불러오고 extends의 car를 불러온 후 Car Created를 출력 ElectricCar의 Electric Car created를 출력 . . . End 이렇게 순서가 되나요?... 또한 startEngine는 왜 부모고 chargeBattery는 왜 자식인지 이 부분도 통 이해가 안가구요.. 또한 메서드는 이름이 같고 생성자는 이름이 다르다는 건 알겠습니다. 그 외 기능적으로는 차이가 없는건가요? 이전 강의의 if나 for문 같은경우엔 정말 쉽게 이해하면서 넘어갔는데 상속부분 들어오면서 이해도가 확 떨어져버리네요..

  • python
  • java
  • c
  • 정보처리기사
주서 댓글 2 좋아요 0 조회수 389

이 강의는 Next.js 어떤 버전으로 진행되나요?

해결됨

한 입 크기로 잘라먹는 Next.js

일단 결제하고 미리보기인 첫번째 영상도 봤는데 페이지 라우터 다루다가 앱 라우터로 들어간다는 것까진 확인이 되었습니다. 그래도 버전은 제대로 알고 강의 듣고 싶어서 이렇게 질문 남깁니다!

  • react
  • typescript
  • next.js
HyeJung 댓글 1 좋아요 0 조회수 230

리액트 dockderfile 작성 시 COPY 질문

미해결

따라하며 배우는 리액트 A-Z[19버전 반영]

따라하며 배우는 리액트 A-Z 강의 중 리액트를 위한 도커 파일 작성하기 강의 중 궁금한 것이 있어 질문 드립니다 COPY 부분에 package.json 파일을 복사를 하는데 package-lock.json 파일은 왜 복사를 하지 않나요? package-lock.json 파일이 더 버전 명시가 확실히 되어있어 안전하지 않나요?

  • react
  • redux
  • tdd
  • typescript
  • next.js
  • 소프트웨어-테스트
mun9927 댓글 1 좋아요 0 조회수 161

특정 양식의 내용을 바꾸는 자동화를 하려고 합니다. 고견을 구합니다.

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

안녕하세요, 일코님. 강사로서 콘텐츠를 만드는 모습과 수업의 열정에 저도 한 수 배웁니다. 강의를 들으면서 제 상황과 함께 몇 가지 문의드립니다. 요새 Langchain과 엮어서 hwp 파일을 자동화하는 프로그램을 만들고 있습니다. LLM 활용하여 업무를 효율화 하는 콘테스트 같은 것에 참여하는데 한글 파일을 수정해야하는 난관이 있어서 수업을 듣게 되었어요. 개발 기간이 한 달 남짓 남은 상황이라서, 질문으로 가장 효과적인 방법을 알 수 있을까하여 강사님께 조언을 요청드립니다. (hwp 5.0 파일 전체 구조를 분석할 시간이 안되네요..) 질문 3가지 드립니다. 1. 도표의 특정 부분, 내용의 특정 부분에 어떻게 문자열을 삽입할 것인가. 제가 개발하고 있는 프로세스는 이렇습니다. 보고서나 기획안을 작성해야 할 문장을 길게 받는다. 프롬프팅을 해서 LLM에 넣어서 리턴을 받는다. 대제목, 중제목, 소제목으로 포맷팅하여 HWP파일에 끼워 넣어서 export한다. 현재 FastAPI로 개발을 하고 있고, HWP 파일에 끼워 넣기 전 단계까지는 어떻게 개발이 끝난 상황입니다. 대제목의 갯수, 중제목의 갯수, 소제목과 내용은 배열로 받든 JSON 형태로 받든 규격화된 형태로 받아서 제가 일일이 끼워 넣을 예정입니다. 문제는 이겁니다. 현재 제가 가지고 있는 양식에 내용을 채워 넣으려고 합니다. (양식이 이것 외에 여러 개 입니다.) 누름틀로 자동화하는 강좌도 영상과 글로 보았고, 파일 내용을 읽어오는 것도 배웠는데 회사 로고나 도표가 함께 섞여있는 복잡한 문서를 처리하기에는 예제 대비 너무 어려운 상황입니다. 양식이 정해진 파일을 읽어와서, 해당 문자열 위치에 다시 규격화해서 넣을 수 있는 가장 효과적인 방법을 찾고 있습니다. ㅁ, ㅇ, - 등은 제가 넣을 때 임의로 삽입해서 넣으려고 합니다. 여기에서 저 특정 부분(대제목, 중제목, 소제목, 내용 모두)의 위치에 LLM에서 받은 문자열을 규격화해서 넣으려고 하는데, 가장 좋은 방법은 무엇일까요? (폰트와 글자 크기가 전부 다름) 2. 현재 가지고 있는 hwp 파일을 쉽게 분석할 수 있는 방법? txt파일이나 마크다운 파일 같은 것은 특정 파일 포인터를 읽거나, 원래 가지고 있는 문자열을 대충 정리해서 밀어 넣으면 정리가 가능했는데, hwp 파일은 이 자체가 워낙 규격화가 특이하게 되어있어서 분석이 어렵습니다. 제가 처리할 양식이 5개가 됩니다. 그 중에는 도표가 많은 것도 있고, 저 위에 있는 것 처럼 단순한 것도 있습니다. 어떻게 해야지 기존의 양식을 분석하고, 해당 부분에 문자열이나 문구를 정확하게 삽입할 수 있을까요? 3. 서버에서 한글 프로그램을 띄워놓고 새롭게 생성한 파일을 서빙하는 방법 현재 한글 프로그램을 실행시킨 이후에 그 내부에서 작업을 하는 것처럼 보이는데요. (크롬을 크롬드라이버로 자동화하는 것처럼) 하나의 양식을 여러 클라이언트에서 요청 받아서 생성을 완료하고 리턴해주려면 어떤 방식이 좋을까요? 예) 누름틀로 모든 영역을 다 분리해놓은 상태에서 하나 클라이언트를 띄우고, 해당 문서에 내용을 모두 바꾼 뒤에 다른 이름으로 저장하고 해당 파일을 return? 혹시 좋은 예제나 방법이 있을까 하여 여쭤봅니다. 가장 위의 2가지 질문은 같은 계열의 질문입니다만, 혹시나하여 첫 번째 질문에 예제를 같이 넘겨드립니다. 선배 개발자님이자, 강사님의 고견 여쭙습니다. 감사합니다. 답변 기다리겠습니다.

  • python
  • 한컴오피스
주말코딩 댓글 2 좋아요 1 조회수 461

셀레니움 driver 오류

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

from selenium import webdriver driver = webdriver.Chrome() 강의랑 동일하게 입력하였는데요. Traceback (most recent call last): File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\driver_finder.py", line 38, in get_path path = SeleniumManager().driver_location(options) if path is None else path ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\selenium_manager.py", line 89, in driver_location args = [str(self.get_binary()), "--browser", browser] ^^^^^^^^^^^^^^^^^ File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\selenium_manager.py", line 73, in get_binary raise WebDriverException(f"Unable to obtain working Selenium Manager binary; {path}") selenium.common.exceptions.WebDriverException: Message: Unable to obtain working Selenium Manager binary; C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\windows\selenium-manager.exe The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm Community Edition 2024.1\plugins\python-ce\helpers\pydev\pydevd.py", line 1535, in _exec pydev_imports.execfile(file, globals, locals) # execute the script ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\JetBrains\PyCharm Community Edition 2024.1\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile exec(compile(contents+"\n", file, 'exec'), glob, loc) File "C:\Users\tjdwl\PycharmProjects\Selenium\section6\selenium_basic.py", line 3, in <module> driver = webdriver.Chrome() ^^^^^^^^^^^^^^^^^^ File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in init super().__init__( File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 49, in init self.service.path = DriverFinder.get_path(self.service, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\tjdwl\anaconda3\Lib\site-packages\selenium\webdriver\common\driver_finder.py", line 41, in get_path raise NoSuchDriverException(msg) from err selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for chrome using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location python-BaseException 해당 오류가 발생합니다.

  • python
  • 웹-크롤링
성지 댓글 2 좋아요 0 조회수 622

공부법 문의드려요 ㅠ

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

선생님, ㅠ 막판에 올려주신 2유형 만능풀이법으로 분할만 해서 40점 받았는데... 3과목 15점 1과목 0점 (...시험장 가니까 다 에러가..ㅠㅠ) 9회 보려고 하는데요, 2과목은 사실 많이 건드린 분들이 감점 되는걸 봐서 만능풀이법 정도로 할려고 하구... (심지어 평가도 안했어요) 1과목, 3과목 을 고득점 하려면ㅇ ㅓ떻게 공부법을 잡아야할까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
moonwrd 댓글 1 좋아요 0 조회수 167

dfs로 푸는문제인지 dp로 푸는문제인지 어떻게 구별하나여?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

구별이 어려워서 질문드립니다. 그래프문제처럼 dfs로 하는줄알고 n = int(input()) def dfs(s): global cnt if s > n: return if s == n: cnt += 1 else: dfs(s+1) dfs(s+2) cnt = 0 dfs(0) print(cnt) 이렇게 접근했는데 안되더라구여 구별방법이 있는건가요?

  • python
  • 코딩-테스트
코딩코딩코딩코 댓글 1 좋아요 0 조회수 188

가상환경 활성화 했을때 이름 설정

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

원래는 강의에서처럼 터미널에서 (venv)가 있어야 할 자리에 mydjango가 있었습니다 그런데 제가 로컬에서 다른 가상환경을 만들고 진행하니 이제 모든 파이참 환경에서 가상환경 설정할 때마다(venv)라고 활성화 되서 나오네요 얼마전엔 가상환경이름을 venv라고 설정해도 각각에 프로젝트에 맞는 이름들이 (django) 이런식으로 등장했는데 어떻게 원래대로 되돌릴 수 있는지 모르겠습니다. 프로그램 실행에 지장이 있는건 아니지만 알려주시면 감사하겠습니다.

  • react
  • python
  • django
  • web-api
  • htmx
신정환 댓글 1 좋아요 0 조회수 143

강의 자료 링크가 어딨는지 모르겠습니다

해결됨

한 입 크기로 잘라먹는 Next.js

예제 코드 및 강의 자료 안내 탭에서 강의 자료 확인하기에서 강의 자료가 어딨는지 모르겠네요 파비콘 및 썸네일 파일 링크만 보이고 pdf는 링크가 따로 안보입니다

  • react
  • typescript
  • next.js
eko09 댓글 2 좋아요 0 조회수 459

패레럴 라우트와 인터셉터 라우트를 공부하다 생긴 의문점입니다.

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 제로초님 강의를 듣다 의문점이 하나 생겨 질문드립니다. 패레럴 라우트와 인터셉터 라우트를 사용해서 모달을 띄우는 방법을 알려주셨는데 기존의 react에서 사용하던 방식으로 모달의 띄우는게 더 코드도 단순하고 간단하게 구현할 수 있을것 같은데 nextjs에서는 페레럴 라우트와 인터셉터 라우트를 사용해서 모달을 구현하는게 어떤 이점이 있는지 궁금합니다. 기존의 모달을 띄우는 방법은 여러가지가 있지만 state를 통해서 구현하거나 queryString을 사용해서 구현할 수 있을것 같습니다. queryString을 사용하면 뒤로가기 버튼클릭시 모달을 띄우기전 url로도 이동할 수 있고 새로고침을 해도 모달과 뒤의 배경을 같이 보여줄 수 있을 것 같습니다. 혼자서 생각도 해보고 인터넷에서 자료도 찾아봤지만 정확한 이유를 잘 모르겠어서 질문드립니다. 오늘도 좋은 하루 되셨으면 좋겠습니다. 감사합니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
tsg 댓글 2 좋아요 0 조회수 403

인터셉팅 라우트

미해결

Next + React Query로 SNS 서비스 만들기

인터셉팅 라우트의 본 목적은 아닌 것 같으나 제 생각으론 가능하지 않을까 하는 생각이 드는데 진짜 가능한 건지 궁금해서 여쭤봅니다,,ㅠㅠ 인터셉팅 시에 모달이 뜨면서 children이 변경되도록 하고 싶은데,,, 가능한 건가요,,? 그러면 폴더 경로를 어떻게 설정 해야 할까요,,?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
댓글 1 좋아요 0 조회수 209

초기값 초기화 없이 구현 하는 방법 후에 Top-Down 방식

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

원래 Top-Down 방식까지 설명하고 알아두면 좋은 내용들로 넘어갔는데 Top-Down는 재귀에 익숙하지 않거나 초보자가 하기 어려워서 넘어 가진 건지 궁금해서요!

  • python
  • 코딩-테스트
  • 알고리즘
rhkdtjd_12 댓글 1 좋아요 0 조회수 159

서버 컴포넌트 렌더링 질문

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 선생님. "Suspense로 Streaming하여 최적화하기(feat. loading.tsx, error.tsx)" 강의 내용중에 궁금한점이 있어 질문드립니다. 강의에서 5:42 ~ 6:35 시간 구간에서의 내용에 관해서 이해가 잘 안되는 부분이 있는데요. 홈 화면에 처음 들어올 때에는 로딩스피너가 안보이고 탐색하기 등 다른 페이지에서 홈 화면으로 들어오면 로딩스피너가 보이는 이유를 설명해주시는 부분입니다. 홈 화면에 처음 들어왔을 때에는 홈 화면에 해당하는 page.tsx를 서버에서 다 그려주기 때문에 로딩 상태가 없어서 로딩스피너가 안보이고, explore에 있다가 클라이언트에서 홈으로 넘어갈 때에는 explore에서 홈 페이지를 새로 로딩을 하기 때문에 로딩 스피너가 뜨는거라고 설명해주셨는데요. "explore에서 홈 페이지를 새로 로딩을 한다" 라는게 무슨 말인지 잘 모르겠습니다 ㅠ page.tsx가 CSR이 된다는 것인가요? 저는 어떤 페이지에 들어오면 그 페이지에 해당하는 page.tsx가 실행되는걸로 알고 있었는데 아닌가요? 홈의 page.tsx는 서버 컴포넌트인데 왜 홈에 처음 들어왔을 때만 page.tsx가 서버에서 실행되고 그 이후에는 마치 클라이언트에서 데이터 패칭하고 그에 따라 렌더링이 되는것처럼 "로딩"이라는 상태가 존재하는것인지가 궁금합니다.

  • next.js
  • react
jojeon4515 댓글 1 좋아요 0 조회수 103

강의 내용을 따라하고 있는데 잘 안되네요. 좀 봐주세요~

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

1) 강의 챕터 : [응용] 폴더에 있는 한/글 파일을 모두 열기 2) 질문사항 : 일단 한글파일이 있는 탐색기 폴더의 주소창에서 python을 입력해서 cmd 창을 띄운다음, 강의 내용처럼 따라하는데 import win32com.client as win32 를 입력하고 나니까 아래와 같이 에러메세지가 나오는데 왜 그런거죠?

  • python
  • 한컴오피스
histar76 댓글 2 좋아요 1 조회수 148

커뮤니티 탭을 열었을 때 글자가 너무 작아요.

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

1)질문에 대한 답변 내용의 캡쳐 사진이 너무 작아서 글자가 안보이는데 크게 볼 수 있는 방법이 없을까요? 2)그리고 강의에 나오는 움짤로 설명을 해주시는 걸 참고하려고 하면 빨리 지나가버리는데 움짤을 잠시 정지시켜놓고 보려고 해도 그 방법을 모르겠어요. 혹시 방법이 있을까요?

  • python
  • 한컴오피스
histar76 댓글 2 좋아요 1 조회수 186

메모리 초과가 나는 이유가 궁금합니다!

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요, 강의를 듣고 계신 여러분! 여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기 단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요! 강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지 를 명확히 제시해 주시면 답변에 도움이 됩니다! 자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 자신은 어떻게 이해했는지 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 안녕하세요 선생님! [브루트 포스 알고리즘 : BOJ 1342 행운의 문자열] 문제를 혼자 풀었는데, 메모리 초과를 해결하지 못해 질문합니다..! permutations를 이용하여 풀고, set 함수를 사용하여 중복되는 것이 없도록 했습니다. 혹시 set 함수를 사용해서 메모리 초과가 나온 걸까요..? from itertools import permutations S = input() answer = set() for x in permutations(S, len(S)): ok = True for i in range(len(x)-1): if x[i] == x[i+1]: ok = False break if ok: answer.add(x) print(len(answer))

  • python
  • 코딩-테스트
  • 알고리즘
jinii915 댓글 2 좋아요 0 조회수 254

파이썬 print %f 출력문 질문드려요!!

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

print('%06.2f' % (3.14235325125)) 이것을 출력하면 003.14 이렇게 나오는데 출력값 뜻이 정수는 6자리나오고 실수는 2자리까지 나오라는 뜻인가요? 그러면 위에 뜻이 맞다면 print('%03.2f' % (1234.14235325125)) 이렇게 출력했을때 123.14 로 출력이 되어야 맞지 않나요…? 근데 1234.14 이렇게 출력이 되어서 왜 그런지 모르겠어요… 파이썬 기초로 공부중인데 이해가 되지 않습니다…ㅜㅜ

  • python
전성현 댓글 1 좋아요 0 조회수 108

인기 태그

인프런 TOP Writers

주간 인기글