inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

데이터 생성코드 실제 시험환경 문의

해결됨

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

# 데이터 생성(먼저 실행해 주세요) import pandas as pd import random random.seed(2022) df = pd.DataFrame() for i in range(0, 5): list_box = [] for k in range(0, 200): ran_num = random.randint(1,200) list_box.append(ran_num) df[i+2000] = list_box df = df.T df.to_csv("data.csv", index=True) 이렇게 가장먼저 데이터생성하는 코드가 디폴트값으로 적혀있는데, 실제 빅분기시험에서도 이렇게 첫 스타트를 끊는 부분은 저희가 처음부터 별도로 코딩을 하지않아도되는건가요? 실제 시험에서는 어떻게 진행되는지 궁금하네요... 처음부터 문제 읽자마자 데이터 생성을 하고 시작해야하는건지 아니면 데이터 생성코드가 입력되어있으면 그냥 코드실행바로 누르고 시작하는건지 알려주세요

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
찌찌찌누 댓글 2 좋아요 0 조회수 86

실습코드다운로드

미해결

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

어디서 받나요?

  • python
  • 챗봇
  • streamlit
  • openai
  • chatgpt
이예진 댓글 1 좋아요 0 조회수 194

질문 있습니다.

해결됨

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

안녕하세요. 질문 있습니다. 강의중 Fetching data where it's needed에 관한 설명을 해주셨습니다. https://nextjs.org/docs/14/app/building-your-application/data-fetching/patterns#fetching-data-where-its-needed 구조 단순화와 확장성 측면에서 너무 좋은 말이라 생각이 되는데 15버전 부터는 해당 내용이 없어졋더라고요. 혹시 몰라 vercel/github 도 찾아 봤는데 그것에 대한 이슈나 토론도 없어서요. 혹시 이유를 알고 계신지, 권장 이지만 예전 모범 사례일 정돈 아닌건지 궁금해서 질문 드립니다. 감사합니다!!

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

스택 - 탑문제

해결됨

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

1. 현재 학습 진도 3-5 스택부분 수강 2. 어려움을 겪는 부분 백준 탑 문제를 강사님께서 구현해주신 코드로 풀어보고 있는데 강사님 코드를 사용하면 시간초과가 나는 것 같습니다. 3. 시도해보신 내용 N = int(input()) tops = list(map(int, input().split())) def top_stack(N): result = [0] * N while tops: cur_top = tops.pop() for i in range(len(tops) - 1, -1, -1): if cur_top <= tops[i]: result[len(tops)] = i + 1 break print(' '.join(map(str,result))) top_stack(N) 강사님께서 구현해주신 코드에 입력값을 사용자가 지정하게만 바꿔서 백준문제를 풀어보려고 했는데, 시간초과가 납니다. 제가 혹시 코드에 실수한 부분이 있는지 궁금합니다.

  • python
  • 코딩-테스트
  • 알고리즘
  • data-structure
수빈 오 댓글 1 좋아요 1 조회수 182

proto를 이용한 자동 생성 관련 명령어

미해결

파이썬으로 쉽게 배우는 gRPC!

python -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. {protoname}.proto 강의에 명령어 띄어쓰기 잘 안보여서 기록해줌

  • python
  • grpc
sulee 댓글 0 좋아요 0 조회수 138

개발환경에 대한 안내

미해결

프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 2

강의를 이제 하나 들었는데요. 실행 하는 것이 순탄지 않습니다. 강의에 안내가 필요하지 않을까요? 이제 강의 시작하는데 신뢰 떨어집니다. 노드 버전을 맞춰주지 않아서 빌드가 안됨 포트를 바꿔줘야 server.js가 실행됨 화면 띄웠는데 아이템 요청 실패해서 이미지 안보임 추가적으로 다른 수강생들에게 "아이템에 관련된 이미지는 강의와 관련이 없으니 무시해도 된다" 그러면 혼동을 줄이기 위해 수정을 해야 하지 않을까요 선생님께서요. (공지를 영상에 추가한다던지) 강의 듣는데 관련없는 곳에 시간을 들이고 있는 것 같습니다.

  • react
  • chrome-devtools
long 댓글 2 좋아요 1 조회수 198

완료된 소스 다운로드 받을수 없나요?

해결됨

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

강의를 거의 다들어가서 해당강의를 Summary해놓을려고 하는데 완료된 소스가 있었음 좋겠는데 따로 다운로드 받을수 없는지요?

  • react
  • typescript
  • next.js
Jae Yeong Lee 댓글 2 좋아요 0 조회수 94

댓글 수 구현에서 동시성 문제 해결 질문드립니다

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 댓글 수 구현 강의를 해보다가 동시성 문제를 해결해보고 싶어서 비관적 락 for update를 사용하는 방법으로 한번 코드를 짜보고 테스트를 해보고 있습니다. 코드는 아래처럼 짜보았습니다 @Table(name = "article_comment_count") @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @ToString public class ArticleCommentCount { @Id private Long articleId; private Long commentCount; public static ArticleCommentCount init(Long articleId, Long commentCount) { ArticleCommentCount articleCommentCount = new ArticleCommentCount(); articleCommentCount.articleId = articleId; articleCommentCount.commentCount = commentCount; return articleCommentCount; } public void increase() { this.commentCount++; } public void decrease() { this.commentCount--; } } public interface ArticleCommentCountRepository extends JpaRepository<ArticleCommentCount, Long> { @Lock(LockModeType.PESSIMISTIC_WRITE) Optional<ArticleCommentCount> findLockedByArticleId(Long articleId); } @Service @RequiredArgsConstructor public class CommentService { private final CommentRepository commentRepository; private final Snowflake snowflake = new Snowflake(); private final ArticleCommentCountRepository articleCommentCountRepository; @Transactional public CommentResponse create(CommentCreateRequest request) { Comment parent = findParent(request); Comment comment = commentRepository.save( Comment.create( snowflake.nextId(), request.getContent(), parent == null ? null : parent.getCommentId(), request.getArticleId(), request.getWriterId() ) ); ArticleCommentCount articleCommentCount = articleCommentCountRepository.findLockedByArticleId(request.getArticleId()) .orElseGet(() -> { ArticleCommentCount newCount = ArticleCommentCount.init(request.getArticleId(), 0L); articleCommentCountRepository.save(newCount); return newCount; }); articleCommentCount.increase(); articleCommentCountRepository.save(articleCommentCount); return CommentResponse.from(comment); } private Comment findParent(CommentCreateRequest request) { Long parentCommentId = request.getParentCommentId(); if (parentCommentId == null) { return null; } return commentRepository.findById(parentCommentId) .filter(not(Comment::getDeleted)) .filter(Comment::isRoot) .orElseThrow(); } public CommentResponse read(Long commentId) { return CommentResponse.from(commentRepository.findById(commentId).orElseThrow()); } @Transactional public void delete(Long commentId) { commentRepository.findById(commentId) .filter(not(Comment::getDeleted)) .ifPresent(comment -> { if (hasChildren(comment)) { comment.delete(); } else { delete(comment); } }); } private boolean hasChildren(Comment comment) { return commentRepository.countBy(comment.getArticleId(), comment.getCommentId(), 2L) == 2; } private void delete(Comment comment) { commentRepository.delete(comment); articleCommentCountRepository.findLockedByArticleId(comment.getArticleId()) .ifPresent(articleCommentCount -> { articleCommentCount.decrease(); articleCommentCountRepository.save(articleCommentCount); }); if(!comment.isRoot()) { commentRepository.findById(comment.getParentCommentId()) .filter(Comment::getDeleted) .filter(not(this::hasChildren)) .ifPresent(this::delete); } } public CommentPageResponse readAll(Long articleId, Long page, Long pageSize) { return CommentPageResponse.of( commentRepository.findAll(articleId, (page - 1) * pageSize, pageSize).stream() .map(CommentResponse::from) .toList(), commentRepository.count(articleId, PageLimitCalculator.calculatePageLimit(page, pageSize, 10L)) ); } // 무한 스크롤 public List<CommentResponse> readAll(Long articleId, Long lastParentCommentId, Long lastCommentId, Long limit) { List<Comment> comments = lastParentCommentId == null || lastCommentId == null ? commentRepository.findAllInfiniteScroll(articleId, limit) : commentRepository.findAllInfiniteScroll(articleId, lastParentCommentId, lastCommentId, limit); return comments.stream() .map(CommentResponse::from) .toList(); } public Long count(Long boardId) { return articleCommentCountRepository.findById(boardId) .map(ArticleCommentCount::getCommentCount) .orElse(0L); } } @Test void concurrencyCountTest() throws InterruptedException { Long articleId = 24L; int threadCount = 10; ExecutorService executorService = Executors.newFixedThreadPool(threadCount); CountDownLatch latch = new CountDownLatch(threadCount); for(int i = 0; i < threadCount; i++) { final Long writerId = (long) (1000 + i); executorService.execute(() -> { try { createComment(new CommentCreateRequest(articleId, "concurrency test", null, writerId)); } catch (Exception e) { System.err.println("Exception in thread: " + Thread.currentThread().getName() + " -> " + e.getMessage()); } finally { latch.countDown(); } }); } latch.await(); Long commentCount = restClient.get() .uri("/v1/comments/articles/{articleId}/count", articleId) .retrieve() .body(Long.class); System.out.println("최종 commentCount = " + commentCount); assertThat(commentCount).isEqualTo(threadCount); } 그런데 이렇게 했을때 맨 처음 실행을 하면 1개의 데이터만 삽입되고 나머지 9개는 소실이됩니다 그리고 한번더 실행하면 11개의 데이터가 저장되는데 맨처음 저장된 1개의 데이터 + 10개의 스레드가 저장한 10개의 데이터가 되어 11개가 됩니다. 여기서 문제가 article_comment_count 테이블에 데이터가 아예 없을때 10개의 스레드가 동시에 insert문을 날리려고해서 Duplicate entry '24' for key 'article_comment_count.PRIMARY' 이런 문제가 나오지 않나 생각이 듭니다만.. create 메서드에 @Transactional(isolation = Isolation.READ _COMMITTED)로 격리 수준을 높여봤지만 여전히 문제가 해결되지 않습니다. 혹시 제가 잘못 이해한 부분이 있을까요? 그리고 동시성 문제를 해결하려면 어떻게 해야할까요? gpt에 물어보거나 구글링해서 찾아봐도 해결이 되지 않아서 질문드립니다!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
김규혁 댓글 2 좋아요 0 조회수 235

안녕하세요 조회기능 구현에서 에러가 발생했습니다

미해결

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

vscode를 통해 npm start를 한 후, todo/read/숫자를 입력하니까 404에러가 발생했습니다. 그런데 vscode에서 컨트롤S를 눌렀더니 화면이 떴는데 익스플로러 상에서 새로고침을 하니까 다시 404에러가 발생하는데 이유를 모르겠습니다. 이미지를 첨부할 테니 혹시 더 필요하신 게 있으시면 답변해 주시면 감사드리겠습니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
wjdwoals042 댓글 2 좋아요 0 조회수 189

닫힌 상태에서 문자열은 찾아지는데 열리진 않아요

미해결

[React / VanillaJS] UI 요소 직접 만들기 Part 1

AccordionItem에 작성하신 코드를 그대로 따라쳤다고 생각했습니다. 닫힌 상태에서 문자열은 찾아지는데 자동으로 아코디언이 열리진 않습니다ㅠ 추가적으로 css코드를 넣어야할까요? 알려주신 링크를 들어가서 봤는데 setOpen을 useEffect 맨 위에 넣는걸 보고 새로운 상태를 넣어야하는건가 했습니다.

  • react
  • typescript
  • dom
  • ui
  • vanilla-js
댓글 2 좋아요 0 조회수 177

9:03

해결됨

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

capitalize()는 문자열의 첫 글자를 대문자로 변환한다고 되어있는데, 예시 결과값이 왜 'Hello, world!'인가요? s는 애초에 첫 글자가 대문자니깐 s값 그대로 'Hello, World!'이 맞지 않나요?

  • python
  • java
  • c
  • 정보처리기사
꿈나무 댓글 2 좋아요 0 조회수 84

버그 어떻게 고치는지 아시나요?

해결됨

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

플레이그라운드 쓸때 저 상자가 계속 유지되고 없어지지 않습니다 ㅠㅠ 방법있나요?

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

강의자료부탁드립니다.

미해결

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

강의자료 아래 메일로 부탁드려요 yungki.lee@gmail.com 감사합니다.

  • python
Yung-Ki Lee 댓글 2 좋아요 0 조회수 93

조회수를 RDB에만 저장하고 있는 서비스에서 Redis 도입 관련해서 질문입니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요. 쿠케님 강의 너무나 잘 보고 있습니다. 쿠케님 질의응답 게시글 정독하고 있는데 1:1 멘토링 부럽지 않을만큼의 고퀄리티 답변 언제나 감사드립니다. (갬동갬동) 현재 회사에서 조회수를 RDB에만 저장하고 있습니다. 이를 강의 내용처럼 'Redis 이전 & MySql 백업'을 적용 하고 싶은데 아래 흐름대로 적용 하면 될까요? 1⃣ (개발) redis 저장 및 조회, mysql 백업 코드 작성 2⃣ (개발) 기존 MySQL 데이터를 Redis에 저장하는 마이그레이션 코드 작성 => 이렇게 일회성 마이그레이션 같은 경우 테스트 코드로 한번만 돌리는데 쿠케님은 어떤 방식으로 하시나요? 3⃣ (배포 전) 1번 코드 배포 직전에 2번 로직 실행 4⃣ (배포) 1번 코드 배포 위 방식에서 발생할 수 있는 문제점 1. 3번(마이그레이션)과 4번(배포) 사이에 조회수가 누락될 가능성 - 마이그레이션 실행 후 MySQL에는 새로운 조회수가 계속 업데이트 되지만, Redis는 아직 트래픽을 받지 않음. - 즉, 마이그레이션 실행 이후 MySQL에 새로 기록된 조회수는 Redis에 반영되지 않음 → 데이터 불일치 발생 가능. 2. 처음 Redis로 전환할 때, Redis에 캐싱되지 않은 일부 조회수가 MySQL에 계속 쿼리될 가능성이 있음. - 처음 Redis로 전환할 때, Redis에 캐싱되지 않은 일부 조회수가 MySQL에 계속 쿼리될 가능성이 있음. - 특정 조회수가 빠르게 증가하면 Hot Key 이슈 발생 가능. 조회수 누락을 최소화 하는 방법 1⃣ (개발) redis 저장 및 조회, mysql 백업 코드 작성 2⃣ (개발) 기존 MySQL 데이터를 Redis에 저장하는 마이그레이션 코드 작성 및 실행 3⃣ (1번 코드 배포 전) 더블 라이트(Double Write) 모드 개발하여 운영에 적용 4⃣ (배포) 기존 MySQL 기반 조회수 코드 제거, Redis 기반으로 전환 5⃣ (배포 후) MySQL 백업 로직 실행 및 기존 MySQL 조회 로직 완전히 제거 제가 혹여나 놓친게 있거나 더 좋은 방법이 있으면 천천히 답변 부탁드립니닷! 출처: 내 뇌 + GPT 센세

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
soap 댓글 2 좋아요 0 조회수 217

혹시 expo에서 adMob 적용시

해결됨

아바타 커뮤니티앱 만들기 (React Native Expo)

강의 내용은 아니고 지금 실제 앱을 만들고 있는데 거의 다 만들었는데 adMob 적용해서 막혔습니다. 아무리 해결하려고 해도 해결이 안되는데 혹시나 조언을 구할수 있을까 여쭤봅니다 expo 앱에 google admob을 추가할 때 expo-ads-admob 라이브러리를 사용하려 했지만, Expo SDK 46을 기준으로 더 이상 지원하지 않는 것 같습니다. https://docs.page/invertase/react-native-google-mobile-ads 이걸 사용해 넣으려고 했지만 계속 어떤 방법을 해도 해결이 되지 않아서 구글링도 했고 혹시 이게 해결가능한 문제인데 제가 못하는건지 아니면 이 플러그인을 사용하기가 어려운건지expo에서 궁금합니다...!

  • javascript
  • react
  • react-native
  • typescript
  • react-query
주현 댓글 2 좋아요 0 조회수 429

docker 에러

미해결

실리콘밸리 데이터 리더가 알려주는 Airflow 기초

명령어: docker compose -f docker-compose.yaml up 에러 메세지: ERROR! Maximum number of retries (20) reached. 사용 환경 windows 11 Home 어떤 부분 때문에 계속 오류가 발생하는걸까요?

  • python
  • sql
  • airflow
  • snowflake
[SQL 실전반 13기] Toby 댓글 2 좋아요 0 조회수 235

강의 코드를 확인할 수 있는 깃허브 URL이 있을지 궁금합니다!

해결됨

커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)

안녕하세요 좋은 강의 감사합니다! 혹시 강의 코드를 확인할 수 있는 깃허브 URL을 따로 제공받을 수 있는지 궁금합니다!!

  • docker
  • kafka
  • redis
  • nestjs
  • prisma
김용민 댓글 1 좋아요 2 조회수 324

테블릿 기기에서의 반응형

해결됨

아바타 커뮤니티앱 만들기 (React Native Expo)

개발을 진행하면서 ios, 안드로이드 휴대폰크기로는 확인을 하면서 진행했는데 테블릿 크기에서 확인해보니 많이 작아지는 현상이 있습니다. 혹시 현업에서는 이런 처리를 어떻게 고려하시는지 궁금합니다 !

  • javascript
  • react
  • react-native
  • typescript
  • react-query
zoezoe 댓글 2 좋아요 0 조회수 144

39:30

해결됨

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

n이 0일때 if(n==0)를 타고 return 값이 0에서 끝나는거 아닌가요? return값으로 0이 아닌return res가 출력이되는지 궁금합니다

  • python
  • java
  • c
  • 정보처리기사
피로한 염소 댓글 2 좋아요 0 조회수 107

인기 태그

인프런 TOP Writers

주간 인기글