inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Zybo z7에서 실습을 진행할 수 있나요?

미해결

Verilog ZYNQ Program 1 (Zynq mini 7020)

만약 할 수 없다면 돌아가게 하려면 어떤 작업을 해야하나요?

  • verilog-hdl
  • fpga
  • vivado
  • zynq
이동현 댓글 2 좋아요 0 조회수 156

showAlert 변수 mvi 패턴에서의 사용법

해결됨

Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)

안녕하세요 애구마님! 앱 클라이언트 개발 시, 보통 showAlert 같은 UI 동작을 제어하는 변수는 화면(Screen)에서 직접 관리하는 경우가 많다고 들었어요! 그런데 만약 진행 할 프로젝트에 MVI 패턴을 적용한다면, 이 showAlert 같은 UI 상태들은 별도의 상태(State) 클래스에서 관리하는 게 맞을까요? 즉, MVI 패턴에서는 showAlert를 포함한 모든 UI 상태를 상태 클래스(State)로 중앙 집중 관리하고, 사용자 동작은 Intent로 받아서 상태를 변경하는 방식으로 관리하면 되는 건지 궁금합니다. 이 부분에 대해 조언 해주시면 정말 감사드리겠습니다!

  • ios
  • swift
  • swiftui
  • swift5.5
주진성 댓글 2 좋아요 1 조회수 111

22강 진금대상자

미해결

업무가 100배 빨라지는 엑셀 데이터 활용과 분석 노하우

수료인원,미수료인원은 countifs 조건2개인데 진급대상자는 1개인이유가 진급대상자 시트자체가 진급한사람만 모아뒀기때문인가요? 뭔가 c5셀의경우 근무부서가 개발실이면서 진급한사람 해서 조건이2개같아서요

  • excel
  • ms-office
관점.xy 댓글 2 좋아요 0 조회수 133

[Next Step] 코딩 스터디 맨티 모집

미해결

[Next Step] 코딩 스터디 맨티 모집 👉 혼자가 아닌, 함께 성장하는 코딩의 첫걸음! 안녕하세요 🙌 코딩에 관심은 있는데… ✔ 어디서부터 시작해야 할지 막막하거나 ✔ 혼자 공부하다가 금방 동기부여가 떨어지거나 ✔ 실제로 활용할 경험이 부족해 고민한 적 있으신가요? 「Next Step」은 그런 고민을 가진 분들을 위해 만들어진 비전공자·초보자 친화형 코딩 스터디입니다. 처음부터 차근차근 배우면서, 함께 성장하고 기록을 남기는 과정을 경험할 수 있어요 🚀 👨🏻‍🏫운영자 소개 • ㅇㅅ대학교 컴퓨터공학과 졸업 • IT 연구원 인턴 경험 • 현) 대학생·비전공자 대상 코딩 스터디/멘토링 다수 진행 💡 운영자의 포부 저도 혼자 공부할 때는 늘 벽에 부딪히곤 했습니다. 하지만 남을 가르치며 더 깊이 배우고, 함께 공부하면서 서로의 성장을 지켜볼 때 큰 동기부여가 되더라고요. 「Next Step」은 저 혼자만의 성장이 아니라, 함께 배우고 익히며 나아가는 과정 그 자체를 소중히 생각하는 스터디입니다. ✅ 스터디 방식 • 주 1회 정규 스터디 (오프라인: 신촌, 홍대, 서울대입구 / 온라인: 디스코드) • 진행 구조: - 개념 학습 (코딩 기초 설명) - 실습 & 문제 풀이 (직접 따라하면서 이해) - 미니 프로젝트 or 코드 리뷰 (작은 결과물 만들기) • 실제 협업 경험: 깃허브 기록, 코드리뷰, 팀 프로젝트 📚 커리큘럼 (예시) 1⃣ 1개월차: - 자바/자바스크립트/파이썬 기초 (변수, 조건문, 반복문 등) - 생활 속 문제를 코드로 풀어보기 2⃣ 2개월차: - 간단한 데이터 다루기 (텍스트/숫자 정리하기) - 미니 웹페이지 or 간단한 자동화 프로그램 만들기 3⃣ 3개월차: - 팀 프로젝트 (주제 정해서 결과물 만들고 발표하기) - 협업 도구 익히기 (깃허브, 코드리뷰 경험) * 비전공자도 따라올 수 있도록 쉬운 단계부터 진행하며, 세부 커리큘럼은 참여자 수준과 의견에 맞게 조정됩니다! 📍 모집 정보 • 모집 마감: ~ 9월 30일(화) • 모집 대상: 대학생 / 휴학생 / 취준생 / 직장인 ( 👉 코딩 처음 시작하는 분도 환영!) • 활동 기간: 2025년 10월 ~ 12월 (3개월) • 모집 인원: 10명 내외 • 참가비: 없음 (스터디룸/카페 이용 시 1/N) • 준비물: 노트북 필수 • 학습언어 : Java, JavaScirpt, Python 📝 신청하기 👉 https://forms.gle/wZNpDxnMyM5tqjbw8 ⚠ 스터디 맛보기 https://treealgorithm.notion.site/2025-Code-Study-2613eb454ce980d5bdb2ce4b9ed042a1

댓글 1 좋아요 0 조회수 32

뭘 해야지 오늘 미션완료가 뜯는건가요?

미해결

[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!

설문진행, 도서등록, 37페이지까지 결제하고 완료 했습니다.

  • 업무-생산성
  • 인공지능(ai)
  • ai-활용-(ax)
  • claude
  • 바이브코딩
불을뿜는 냉기마법사 댓글 3 좋아요 0 조회수 167

마이그레이션 오류입니다.

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

강의에서 강사님께서 11에서 17로 바꾸라는 모든 설정 확실하게 수정 완료했고 gradle 코드 수정하여 실행하니 A problem occurred configuring root project 'library-app'. > java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed to create Jar file C:\Users\seong\.gradle\caches\jars-9\3baa90cc2341a9ffd1656b87b2a3526e\spring-core-6.2.11.jar. 아래와 같은 jar 파일 오류가 떴습니다. 구글링과 GPT를 써보니 캐시 파일 버전 충돌 오류라고 하여 캐시 파일을 삭제 하려고 해도 디렉터리가 비어있지 않다는 오류가 뜨며 삭제되지 않고, 또 .\gradlew wrapper 버전이 현재 7.5인데 스프링 부트 3.5.6은 최소 8.x를 사용한다고 하여 이것 또한 업그레이드 하려고 하였으나 PS C:\Project\Study-SpringBoot\library-app> .\gradlew wrapper --gradle-version 8.3 --distribution-type all Starting a Gradle Daemon, 5 stopped Daemons could not be reused, use --status for details FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'library-app'. > java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed t o create Jar file C:\Users\seong\.gradle\caches\jars-9\3baa90cc2341a9ffd1656b87b2a3526e\spring-core-6.2.11.jar. 동일한 이런 jar 파일 오류가 떴습니다. 이 오류를 어떻게 해결해야 할까요 .... 도와주세요 ㅜㅜ

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
seongmin2053 댓글 3 좋아요 0 조회수 255

Router 궁금증

미해결

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

<BrowserRouter> <Routes> <Route path="home" element={<AdminHome />} /> <Route path="post" element={<AdminPost />} /> <Route path="update/:id" element={<AdminUpdate />} /> </Route> </BrowserRouter> Q1. 저는 항상 app.js 위에 코드와 같이 작성하는 편인데 강의에서는 주로 CreateBrowserRouter를 따로 이용하시는데 특별한 이유가 있나요? Q2. 간혹 프로젝트 중간중간 Header나 Footer 컴포넌트를 몇몇 페이지에서는 안보이거나 다른 header, footer 컴포넌트가 보이게끔 하고 싶은데 이런 경우 주로 어떻게 하실지 생각(?) 아이디어(?) 가 궁금합니다. 저는 안보이게 하고 싶은 페이지를 url로 구분하는 편인데 다른 좋은 방법이 있을까요?

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
5647kr 댓글 2 좋아요 0 조회수 71

베리어블을 등록했는데 토큰으로 잡히지않아요

미해결

[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기

베리어블을 등록해서 개발할려고하는데 플러그인으로 해도 등록한 토큰들이 잡히지 않아요.. 뭐가 문제일까요 ?

  • 웹-디자인
  • figma
  • figma-tokens
  • 디자인-시스템
  • 아토믹-디자인
  • figma-variable
  • 프로덕트디자인
DongHawn Hwang 댓글 2 좋아요 0 조회수 163

제본

해결됨

(2027 대비!) 일주일만에 합격하는 정보처리기사 실기

제본을하려고 합니다! 총 매수가 어느정도 나오나요??

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

26페이지 1번 부터 질문 하게 되네요 ㅠ.ㅠ

미해결

[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!

윈도우 파워셀을 관리자 권한으로 실행하니까 다음 화면이 뜹니다 .

  • 업무-생산성
  • 인공지능(ai)
  • ai-활용-(ax)
  • claude
  • 바이브코딩
강동호 댓글 2 좋아요 0 조회수 139

기능 범위 지정 시 헷깔리는분

미해결

직장인 생존 엑셀 - 8개의 실무 프로젝트로 엑셀 마스터하기

임의데이터 선택 ctrl+A 전체선택 머릿글포함 선택 머릿글빼고선택 케이스마다 다른데 쉽게 외우는법이나 기준이있나요?

  • excel
  • ms-office
  • excel-powerquery
관점.xy 댓글 1 좋아요 1 조회수 122

9강 양수 음수혼합차트

미해결

직장인 생존 엑셀 - 8개의 실무 프로젝트로 엑셀 마스터하기

폭포차트로 구현이가능한가요?

  • excel
  • ms-office
  • excel-powerquery
관점.xy 댓글 2 좋아요 0 조회수 221

좋은 강의 감사합니다. 궁금한게 있어 질의 드립니다.

미해결

[VLM101] 파인튜닝으로 멀티모달 챗봇 만들기 (feat.MCP / RunPod)

# 모델을 로드하는 코드 model_id = "/work/checkpoints/hf/Qwen2.5-VL-3B-Instruct" # 사용할 모델 경로 지정 model_org = Qwen2_5_VLForConditionalGeneration.from_pretrained( model_id, # 모델 경로로부터 모델 불러오기 device_map="auto", # 자동으로 장치 설정 (예: GPU 사용) torch_dtype=torch.bfloat16, # 모델의 데이터 타입을 bfloat16으로 설정 (메모리 최적화) ) processor = AutoProcessor.from_pretrained(model_id) # 모델에 맞는 processor 불러오기 ==> 질문 사항 (2개) 질문1) 위 코드에 동일한 모델을 model_org 와 processor 로 정의한 거 같은데 왜 이렇게 정의한 이유는 무엇인가요? 질문2) datacollator 는 모델마다 정의하는 방법이 다른 거 같은데 현재 샘플로 주신 모델은 어디를 참고해야 하나요?

  • vision-transformer
  • transformer
  • llama
  • mcp
내일은 한걸음 더 나아갈거야 댓글 1 좋아요 0 조회수 112

18강에서 Blog-Image-Maker 연결시에 에러가 납니다.

해결됨

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

JSON parameter needs to be valid JSON 위와 같은 에러가 발생하여 이미지 생성에 실패합니다. JSON 내용은 아래와 같습니다. { "image_prompt": "A clear and inviting workspace showing a modern laptop displaying a simple Python code editor with 'print(\"Hello, Python!\")' and a friendly terminal window ready for input. Bright, high-definition, realistic style.", "image_alt": "파이썬 첫 코드 실행 환경을 보여주는 현대적인 노트북 작업 공간" } Blog-Image-Maker에서 같은 image_prompt로 실행시에는 문제 없이 진행되고 있습니다.

  • docker
  • n8n
  • 인공지능(ai)
  • 프롬프트엔지니어링
  • ai-활용-(ax)
한재훈 댓글 2 좋아요 0 조회수 98

JWT 조회 에 대한 질문

미해결

스프링 시큐리티 OAuth2

안녕하십니까. 스프링 시큐리티 강의를 듣고 있는 대학생입니다. 현재 강의를 들으면서 팀 프로젝트에 소셜 로그인을 적용하던 중 궁금증이 생겨 글을 작성하게 되었습니다. 현재 사용자가 로그인 후 토큰을 발급받고 MySQL에 리프레시 토큰을 저장한 뒤에, 사용자가 API에 접근할 때마다 매번 사용자 정보를 조회하는 것이 좋은 방법인지 궁금합니다. 현재 매번 조회하는 이유는 토큰의 사용자 정보가 서버 데이터베이스에 올바르게 저장된 사용자인지 검증하기 위해서 이 방식을 채택했습니다 package backend_lingua.linguas.infrastructure.security.filter; import backend_lingua.linguas.infrastructure.security.token.enumerated.TokenType; import io.jsonwebtoken.ExpiredJwtException; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; import java.io.IOException; @Slf4j @Component @RequiredArgsConstructor public class JwtAuthenticationFilter extends OncePerRequestFilter { private final JwtTokenProvider jwtTokenProvider; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { String token = getBearerToken(request); // 토큰이 있는 경우에만 검증 if (StringUtils.hasText(token)) { try { if (jwtTokenProvider.validateAccessToken(token)) { Authentication authentication = jwtTokenProvider.getAuthentication(token, TokenType.ACCESS_TOKEN); SecurityContextHolder.getContext().setAuthentication(authentication); log.debug("Security Context에 '{}' 인증 정보를 저장했습니다.", authentication.getName()); } } catch (ExpiredJwtException e) { log.error("토큰 인증 실패: {}", e.getMessage()); response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Authentication failed"); return; } } filterChain.doFilter(request, response); } private String getBearerToken(HttpServletRequest request) { String bearerToken = request.getHeader("Authorization"); if (StringUtils.hasText(bearerToken) && bearerToken.startsWith("Bearer ")) { return bearerToken.substring(7); } return null; } } public TokenInfo generateToken(Authentication authentication) { String accessToken = createAccessToken(authentication); String refreshToken = createRefreshToken(authentication); Date accessTokenExpiryDate = createExpiryDate(accessTokenExpiration); return TokenInfo.from(accessToken, refreshToken, accessTokenExpiryDate.getTime(), refreshTokenExpiration); } public String createAccessToken(Authentication authentication) { return createToken(authentication, accessTokenExpiration, accessTokenSecret); } public String createRefreshToken(Authentication authentication) { String token = createToken(authentication, refreshTokenExpiration, refreshTokenSecret); Date expiryDate = createExpiryDate(refreshTokenExpiration); // DB에 리프레시 토큰 저장 tokenService.createRefreshToken(token, expiryDate, authentication); return token; } private String createToken(Authentication authentication, long expirationTime, String secretKey) { String authorities = authentication.getAuthorities() .stream() .map(GrantedAuthority::getAuthority) .collect(Collectors.joining(",")); return Jwts.builder() .setSubject(authentication.getName()) // email .claim("auth", authorities) .setIssuedAt(new Date()) .setExpiration(createExpiryDate(expirationTime)) .signWith(createKey(secretKey)) .compact(); } public String getUsernameFromToken(String token, TokenType tokenType) { String secretKey = (tokenType == TokenType.ACCESS_TOKEN) ? accessTokenSecret : refreshTokenSecret; return Jwts.parserBuilder() .setSigningKey(createKey(secretKey)) .build() .parseClaimsJws(token) .getBody() .getSubject(); } public Authentication getAuthentication(String token, TokenType tokenType) { String username = getUsernameFromToken(token, tokenType); UserPrincipal userPrincipal = (UserPrincipal) userDetailsService.loadUserByUsername(username); return new UsernamePasswordAuthenticationToken( userPrincipal, token, userPrincipal.getAuthorities() ); } public boolean validateAccessToken(String token) { return validateToken(token, accessTokenSecret); } public boolean validateRefreshToken(String token) { return validateToken(token, refreshTokenSecret); } private boolean validateToken(String token, String secretKey) { try { Jwts.parserBuilder() .setSigningKey(createKey(secretKey)) .build() .parseClaimsJws(token); return true; } catch (ExpiredJwtException e) { log.error("만료된 JWT 토큰입니다."); throw e; // Filter에서 401 처리하도록 } catch (SecurityException | MalformedJwtException e) { log.error("잘못된 JWT 서명입니다."); } catch (UnsupportedJwtException e) { log.error("지원되지 않는 JWT 토큰입니다."); } catch (IllegalArgumentException e) { log.error("JWT 토큰이 잘못되었습니다."); } return false; } private Date createExpiryDate(long expirationTime) { return new Date(System.currentTimeMillis() + expirationTime); } private SecretKey createKey(String secret) { byte[] keyBytes = Decoders.BASE64.decode(secret); return Keys.hmacShaKeyFor(keyBytes); } @Service @RequiredArgsConstructor public class UserDetailsServiceImpl implements UserDetailsService { private final MemberRepository memberRepository; @Override @Transactional(readOnly = true) public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { Member member = memberRepository.findByEmail(email) .orElseThrow(() -> new UsernameNotFoundException("사용자를 찾을 수 없습니다: " + email)); return UserPrincipal.create(member); } } public class TokenServiceImpl implements TokenService { private final RefreshTokenRepository refreshTokenRepository; private final MemberRepository memberRepository; @Override @Transactional public RefreshToken createRefreshToken(String token, Date expiryDate, Authentication authentication) { String email = authentication.getName(); Member member = memberRepository.findByEmail(email) .orElseThrow(() -> new RuntimeException("사용자를 찾을 수 없습니다: " + email)); // 새 토큰 생성 RefreshToken refreshToken = RefreshToken.builder() .token(token) .member(member) .expiryDate(convertToLocalDateTime(expiryDate)) .build(); return refreshTokenRepository.save(refreshToken); } @Override @Transactional public void deleteRefreshToken(String email) { Member member = memberRepository.findByEmail(email) .orElseThrow(() -> new RuntimeException("사용자를 찾을 수 없습니다: " + email)); deleteRefreshTokenByUser(member); } @Override @Transactional public void deleteRefreshTokenByUser(Member member) { refreshTokenRepository.findByMemberId(member.getId()) .ifPresent(refreshTokenRepository::delete); } private LocalDateTime convertToLocalDateTime(Date date) { return Instant.ofEpochMilli(date.getTime()) .atZone(ZoneId.systemDefault()) .toLocalDateTime(); } }

  • java
  • spring
  • spring-boot
  • oauth
Jun 댓글 1 좋아요 0 조회수 136

클로드 코드 결제시 우측상단 경고창

미해결

[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!

이 나오면서 결제가 안되는데요. 참 어렵습니다. ㅎㅎ

  • 업무-생산성
  • 인공지능(ai)
  • ai-활용-(ax)
  • claude
  • 바이브코딩
불을뿜는 냉기마법사 댓글 2 좋아요 0 조회수 698

ansible 설치

해결됨

16강 수강중에 있고 ping이 보내지지 않습니다.

nayun1945 댓글 0 좋아요 0 조회수 10

33페이지 3번 1.claude account.. 눌렀는데

미해결

[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!

구글로 계속하기 안뜨고 아래 화면이 나옵니다.

  • 업무-생산성
  • 인공지능(ai)
  • ai-활용-(ax)
  • claude
  • 바이브코딩
불을뿜는 냉기마법사 댓글 2 좋아요 0 조회수 88

eBook 출판 계획이 있으신가요?

미해결

[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!

가볍게 클로드에 대해, 클로드 사용법과 응용 방법을 접하기 좋은 책이라고 생각합니다. 다만, 오늘 메일을 받아보니 기존 책의 내용에서 수정사항이 많은 것 같습니다. 수정이 완료된다면, pdf 파일이나 eBook을 받아볼 수 있을까요?

  • 업무-생산성
  • 인공지능(ai)
  • ai-활용-(ax)
  • claude
  • 바이브코딩
무영 댓글 3 좋아요 0 조회수 172

터미널에서 NAT 인스턴스로 직접 로그인 안됨

미해결

Kafka & Spark 활용한 Realtime Datalake

16강 ansible 설치를 위해 터미널에서 NAT 인스턴스로 직접 로그인하려고 하는데 오류가납니다. PS C:\Users\nayun\downloads> ssh -i public-nat-key.pem ec2-user@3.39.207.192 ssh: connect to host 3.39.207.192 port 22: Connection timed out 15강까지 원활히 강의따라 실습 진행한 상태입니다.

  • kafka
  • apache-spark
  • pyspark
  • data-lake
nayun1945 댓글 1 좋아요 0 조회수 115

인기 태그

인프런 TOP Writers

주간 인기글