inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

엑셀 파일 제목 중복되면 (1),(2) 씩 늘어나게 해서 생성하게 하기

미해결

[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편

파일이 중복되면 다시 지웠다가 파이썬을 실행시켜야 하는데 그걸 막기 위해 코드 추가했습니다. import openpyxl import random import os from datetime import datetime, timedelta wb = openpyxl.Workbook() ws = wb.active base_path = '파일이 있는 폴더 경로 ex)c://user' base_filename = '파일명.xlsx' full_path = os.path.join(base_path, base_filename) # 파일명이 겹치면 숫자를 붙여가며 저장 if os.path.exists(full_path): version = 1 while os.path.exists(full_path): name, ext = os.path.splitext(base_filename) full_path = os.path.join(base_path, f"{name} ({version}){ext}") version += 1 ws.title = 'automation' item = [['32인치 모니터', 350000], ['마우스 패드', 20000],['게이밍 마우스', 40000], ['기계식 키보드',120000]] # ws['A1'] = '순번' # ws['B1'] = '제품명' # ws['C1'] = '가격' # ws['D1'] = '수량' # ws['E1'] = '합계' # ws['F1'] = '날짜' ws.append(['순번','제품명','가격','수량','합계','날짜']) first_date = datetime(2024, 3, 1) for i in range(2, 12): current_date = first_date + timedelta(i) rand_ind = random.randint(0,3) selected_item = item[rand_ind] ws.append([i-1, selected_item[0], selected_item[1], random.randint(1,8), f'=C{i}*D{i}', current_date.strftime('%Y-%m-%d')]) # strftime으로 나타내야 엑셀에서 날짜형식으로 뜬다. wb.save(full_path)

  • python
  • selenium
  • openpyxl
KoKuMa 댓글 1 좋아요 0 조회수 439

엑셀 다루기 기초에서 날짜 1일씩 늘어나게 하기

미해결

[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편

from datetime import datetime, timedelta import openpyxl # 날짜 시작 start_date = datetime(2030, 1, 1) # 데이터 추가(2) ws.cell(row=2, column=1, value= start_date.strftime('%Y-%m-%d')) ws.cell(row=2, column=2, value = 20000) ws.cell(row=2, column=3, value='삼성tv') ws.cell(row=2, column=4, value = 4) ws.cell(row=2, column=5, value='=B2*D2') for i in range(3,7): current_date = start_date + timedelta(days=i-2) ws.cell(row = i, column = 1, value = current_date.strftime('%Y-%m-%d')) 엑셀 다루기 기초 - openpyxl 수업에서 데이터 추가할 때, 3번재 행 셀부터 날짜가 1일씩 늘어나게 작성해 보았습니다.

  • python
  • selenium
  • openpyxl
KoKuMa 댓글 1 좋아요 0 조회수 877

유저정보 유지관련해서 세션쿠키, 엑세스토큰 질문드립니다.

미해결

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

안녕하세요 선생님 선생님강의 따라서 로그인을 구현했습니다. auth에서 관리해주는 세션으로는 프론트용, 로그인 후 내려주는 connect.id 세션으로는 백엔드용, 으로 사용했습니다. 그런데 궁금한게 로그인을 하고 기간이 지나거나 그런 경우를 대비해서 엑세스토큰, 리프레시 토큰을 많이 사용하는 것을 보았는데 선생님은 넥스트에서 어떤 방식을 사용하시는지, 어떤방식을 추천하시는지 궁금합니다. 검색해보니까 엑세스토큰이 아닌 쿠키세션으로 사용할때에는 일정시간 inter시켜주고 특정시간지나면 쿠키시간을 업데이트해주기도 하더라구요. 선생님 조언이 궁금합니다. 감사합니다.

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

빅데이터분석기사 합격

해결됨

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

비전공자인데, 강사님의 강의를 듣고 한 번에 붙을 수 있었습니다! 시험 전까지 강의 문제와 캐글 문제까지 여러 번 복습했고, 그 결과 좋은 점수를 받을 수 있었던 것 같습니다. 감사합니다!!

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

C언어 기출문제 변형 풀이중 질문

해결됨

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

정답이랑은 크게 상관없지만...

  • python
  • java
  • c
  • 정보처리기사
태라 댓글 1 좋아요 0 조회수 257

부트 프로젝트 생성 시

미해결

코드로 배우는 React 19 with 스프링부트 API서버

부트 프로젝트 생성 시에 jdk 버전을 17로 해도 따라서 학습하는데에 지장 없나요??

  • react
  • spring-boot
  • jdk
조영서 댓글 1 좋아요 0 조회수 247

8회 95점 합격 감사합니다

해결됨

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

8회 첫실기 합격했습니다. 비 전공자 직장인이라 걱정했는데 다행히 한방에 붙었네요 ㅠㅠ 3유형 오즈비 *5 문제를 틀린것 같네요. 캐글 문제는 여유가 없어서 거의 못풀어봤고 강의 쭉 보고 잘 안되는 3유형과 1유형 위주로 복습했습니다. 마지막에 정리해서 올려주신 2유형 같은 방법으로 풀기, 마인드맵이 많은 도움이 됐습니다. 감사합니다.

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

Cannot return null for non-nullable field ~~~ 에러

미해결

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

위와 같이 작성하여 요청하였을 때 이러한 에러가 나타납니다 무엇이 문제일까요?

  • react
  • node.js
  • seo
  • graphql
  • next.js
박진성 댓글 1 좋아요 0 조회수 268

파이참이 아닌 IDE 도 가능한가요?

미해결

[PY 0203] 디버깅 기초

안녕하세요. 평소 개발 IDE로 vs 코드, 노트패드 ++를 사용하고 있는데요. 파이참으로만 수업이 가능할까요?? 다른 툴로도 디버깅이 가능한지 궁금합니다.

  • python
  • debugging
  • 인공지능(ai)
이정호 댓글 1 좋아요 0 조회수 241

Streamlit 오류

미해결

파이썬 Streamlit 활용한 웹 자동화 업무, 데이터 검색 및 시각화

사진의 동그라미 부분이 왜 이렇게 나오는 걸까요?

  • python
  • mongodb
  • streamlit
Coding Basic 댓글 1 좋아요 -1 조회수 354

3:07에 const result = 입력하는 부분은 복붙인가요??

해결됨

Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)

플러그인이나 단축키가 따로 있는지 기존에 작성하신 코드 복사 붙여넣기인지 궁금합니다.

  • react
  • 클론코딩
  • next.js
  • supabase
정중한 몽구스 댓글 1 좋아요 0 조회수 192

네이버 자동 로그인 관련

미해결

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

네이버 자동 로그인 하고 있는데, 잘 되지 않습니다. 코드가 동일하게 작성된 것 같은데 제가 놓치고 있는 부분이 있을까요? from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip #크롬 드라이버 생성 driver = webdriver.Chrome() driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") time.sleep(1) #아이디 입력 id = driver.find_element(By.CSS_SELECTOR, '#id') pyperclip.copy(userid) id.click() id.send_keys(Keys.CONTROL,'v') time.sleep(1) # 비밀번호 입력 pw = driver.find_element(By.CSS_SELECTOR, '#pw') pyperclip.copy(userpwd) pw.click() pw.send_keys(Keys.CONTROL,'v') time.sleep(1) # 로그인 버튼 클릭 driver.find_element(By.CSS_SELECTOR, '#log\\.login').click()

  • python
  • 웹-크롤링
김서연 댓글 2 좋아요 0 조회수 625

안녕하세요 배포관련 질문드립니다 !

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요 배포를 마쳐서 이런식으로 떠서 Production 링크를 누르면 저는 잘 들어가지는데 이 링크를 공유를 하면 다른사람들은 Vercel에 로그인을 하라는 창이 뜨더라고요,,, 어떤 해결방안이 있을까요,,,

  • javascript
  • react
  • node.js
kjklovekhw 댓글 1 좋아요 0 조회수 259

섹션3

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

from sklearn.metrics import precision_recall_curve # 실제값 데이터 셋과 레이블 값이 1일 때의 예측 확률을 precision_recall_curve 인자로 입력 precisions, recalls, thresholds = precision_recall_curve(y_test, pred_proba_class1 ) print('반환된 분류 결정 임곗값 배열의 Shape:', thresholds.shape) print('반환된 precisions 배열의 Shape:', precisions.shape) print('반환된 recalls 배열의 Shape:', recalls.shape) print('thresholds 5 sample:', thresholds[:5]) print('precisions 5 sample:', precisions[:5]) print('recalls 5 sample:', recalls[:5]) precision_recall_curve 함수를 이용해 precisions, recalls, thresholds 값을 반환받는 과정입니다. 여기서 thresholds의 개수가 precisions, recalls보다 1개 더 적게 나오는 이유가 궁금합니다. 위에서 개수 차이로 인해 thresholds값에 따른 precisions, recalls값들이 대응되지 않는 위치에 존재하지 않나요? print('thresholds 5 sample:', thresholds[:5]) print('precisions 5 sample:', precisions[1:6]) print('recalls 5 sample:', recalls[1:6]) 이렇게 하는게 옳다 생각했는데 제 생각이 잘못되었는지 궁금합니다.

  • python
  • 머신러닝
  • 통계
정구 댓글 2 좋아요 0 조회수 162

7-37번 강의 관련 커밋 페이지 오류인것같습니다.

미해결

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

7-37번강의에 관련 커밋으로 아래 처럼되어 있는데 delete 예시 url이 잘못연결되어 있는것같습니다. pre_save 예시 : slugify 자동 호출 post_save 예시 : User 생성 시에 Profile 자동 생성 post_delete 예시 : Profile 삭제 시에 관련 이미지 파일 자동 삭제 django-lifecycle 예시 : blog.Post의 content/status 변경 탐지 연결되야할 페이지: https://github.com/pyhub-kr/course-django-complete-guide-v3/commit/563749a5be33f10ec46a166faf29bbaa0e1d7144 현재 연결된 페이지: https://github.com/pyhub-kr/course-django-complete-guide-v3/commit/714c274e0d6f26b68aa5bc75a9bf2a78c924633c 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • react
  • python
  • django
  • web-api
  • htmx
백종성 댓글 1 좋아요 0 조회수 143

2023년 3회 기출

해결됨

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

해당 파일 업로드 부탁드립니다.

  • python
  • java
  • c
  • 정보처리기사
이성미 댓글 1 좋아요 0 조회수 236

채팅 구현했는데 소켓 연결이 됐다 안됐다 늦게 됐다 합니다.

해결됨

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

안녕하세요 선생님 강의를 보고 참고해서 채팅 기능을 만들었습니다. 그런데 a,b가 채팅화면에 들어왔을때 소켓 연결이 안되거나, 늦게 되거나 하는 경우가 있어서 제가 로직을 잘못짠건지 어딜 확인해야하는건지 조언을 들을수 있을까해서 문의 남깁니다. 먼저 서버에서 이렇게 socket.io 를 설정해주고 /app.js const app = express(); const httpServer = new createServer(app); const io = new Server(httpServer, { cors: { origin: 'https://zzimzzim.com', credentials: true, }, }); /utils/io.js module.exports = function (io, db) { const userSockets = {}; const nsp = io.of('/messages'); nsp.on('connection', (socket) => { console.log('soket connected'); socket.on('disconnect', () => { console.log('-----------------user disconnected'); }); socket.on('login', (user) => { userSockets[user.id] = socket.id; console.log(userSockets, '-------------------------------userSockets'); console.log(`User ${user.id} connected with socket id ${socket.id} --------- 유저입장`); }) socket.on('sendMessage', async (data) => { try { const roomId = data.room.split('-').sort().join('-'); console.log(roomId, '---------------------------------roomId'); console.log(data, '---------------------------------data'); console.log(userSockets, '---------------------------------userSockets'); let room = await db.Room.findOne({ where: { room: roomId }, include: [ { model: db.User, as: 'RoomSender', attributes: ['id', 'email', 'gender', 'mbti'], include: [{model: db.Image}], }, { model: db.User, as: 'RoomReceiver', attributes: ['id', 'email', 'gender', 'mbti'], include: [{model: db.Image}] }, ] }); if (room) { room = await room.update({ content: data.content }); } else { const roomCreated = await db.Room.create({ SenderId: data.senderId, ReceiverId: data.receiverId, content: data.content, room: roomId, }) console.log(roomCreated, '------------------------------roomCreated') room = await db.Room.findOne({ where: { room: roomId }, include: [ { model: db.User, as: 'RoomSender', attributes: ['id', 'email', 'gender', 'mbti'], include: [{model: db.Image}], }, { model: db.User, as: 'RoomReceiver', attributes: ['id', 'email', 'gender', 'mbti'], include: [{model: db.Image}] }, ] }) } const savedMessage = await db.Message.create({ SenderId: data.senderId, ReceiverId: data.receiverId, content: data.content, room: roomId, }); // console.log(savedMessage, '------------------------Message saved'); console.log(room, '------------------------room saved'); const receiverSocketId = userSockets[data.receiverId]; if (receiverSocketId) { socket.to(receiverSocketId).emit('receiveMessage', savedMessage); socket.to(receiverSocketId).emit('receiveRoom', room); } else { console.log(`User ${data.receiverId} is not connected`); } } catch (error) { console.error('Error saving message:', error); } }); }) } 클라이언트에서는 선생님이 useSocket만든것과는 다르게 useContext를 이용해서 /src/app/(afterLogin)/messages/_component/SocketProvider.tsx 'use client'; import { useSession } from 'next-auth/react'; import { ReactNode, createContext, useCallback, useEffect, useMemo, useState } from 'react'; import { io, Socket } from 'socket.io-client'; type Props = { children: ReactNode }; type SocketContextType = { socket: Socket | null; isConnected: boolean; disconnect: Function; goDown: boolean; setGoDown: Function; } export const SocketContext = createContext<SocketContextType>({ socket: null, isConnected: false, disconnect: () => { }, goDown: false, setGoDown: () => {}, }) export default function SocketProvider({ children }: Props) { const { data: session } = useSession(); const [socket, setSocket] = useState<any | null>(null); const [isConnected, setIsConnected] = useState(false); const [goDown, setGoDown] = useState(false); const disconnect = useCallback(() => { socket?.disconnect(); setSocket(null); }, [socket]); const value = useMemo(() => { return { socket, isConnected, disconnect, goDown, setGoDown } }, [socket, isConnected, disconnect, goDown]); useEffect(() => { console.log(socket, '-----------------------------------------socket???'); if (!socket) { const socketInstance = io(`${process.env.NEXT_PUBLIC_BASE_URL}/messages`, { withCredentials: true, }); socketInstance.on('connect', async () => { setIsConnected(true); console.log("소켓연결 성공!!!", socketInstance.id); // console.log(socketInstance, '--------------------socketInstance'); }) setSocket(socketInstance); } }, [socket]); useEffect(() => { if (socket?.connected && session?.user?.id) { console.log('--------------------------------------------socket emit login') socket?.emit('login', { id: session?.user?.id }); } }, [session, socket]); return ( <SocketContext.Provider value={value}> {children} </SocketContext.Provider> ) } 이런식으로 만들고 /src/app/(afterLogin)/messages/layout.tsx import { ReactNode } from 'react'; import SocketProvider from './_component/SocketProvider'; type Props = { children: ReactNode }; export default function Layout({ children }: Props) { return ( <SocketProvider> {children} </SocketProvider> ) } 레이에다가 적용해주었습니다. 이런식으로 해주면 소켓연결을 한번만 하고 원할때 메세지를 주고 받을 수 있을거라고 생각해서 적용한건데 혹시 소켓 연결 관련해서 더 확인해야하거나 수정할 부분이 있을지 궁금합니다. 감사합니다!

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

강의자료

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요 좋은 강의 열심히 듣고 있습니다. 설명해주시는 PPT 자료는 받아볼 수 있는지요 ?

  • python
  • 머신러닝
  • 통계
htjnara 댓글 2 좋아요 0 조회수 263

만약 상호작용하는 컴포넌트에서 각각 상태를 관리하고 있다면

해결됨

실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트

안녕하세요. 효율적인 테스트를 위해 상태 관리는 상위 컴포넌트에 응집해서 관리하는것이 좋다고 하셨는데 컴포넌트가 캡슐화 되어있으면 서로 상호 작용하는 컴포넌트지만 동일한 상태 조회를 각 컴포넌트에서 독립적으로 하게되는 경우도 있을거 같습니다. 이런 경우는 테스트에 용이하도록 구현 코드를 수정해야하는지, 아니면 번거롭더라도 그대로 테스트 코드를 작성해야 하는지 궁금합니다. 애초에 컴포넌트 설계를 잘못했다고 판단해야 할까요?

  • javascript
  • react
  • 소프트웨어-테스트
  • vitest
팀오 댓글 1 좋아요 0 조회수 189

static 변수 질문있습니다

해결됨

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

두번 째 코드에서 initialized = 1 로 바꿔주고 initialize(); 함수로 다시 들어갈때 static int initialized = 0 ; 을 다시만나는데 여기서 다시 0이 되는게 아닌건가요?

  • python
  • java
  • c
  • 정보처리기사
doy 댓글 2 좋아요 1 조회수 372

인기 태그

인프런 TOP Writers

주간 인기글