묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결챗GPT 비즈니스 글쓰기: 당신의 업무 비서가 되는 방법 (입문편)
자료 다운로드 방법 문의
강사님께서.."또한, 강의에서 사용한 프롬프트 가이드와 사용자 맞춤형 지침 자료를 정리하여 제공합니다.다운로드 링크는 "섹션 3"에 있습니다. 사용자 맞춤형 지침은 지속적으로 업데이트하여 배포할 예정입니다."라는 메일을 주셨는데요.섹션 3 에 가봐도 해당 자료에 대한 다운로드 링크를 잘 찾을 수가 없습니다.강의에서 사용한 프롬프트 가이드와 사용자 맞춤형 지침 자료에 대한 다운로드 방법을 좀 더 정확히 설명해 주시면 감사하겠습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
생성한 java-start 프로젝트가 프로젝트 폴더에 보이지 않아요
강사님의 말에 맞춰 java-start 프로젝트를 생성하였습니다만 아래 그림과 같이 프로젝트 폴더에 External Libraries와 Scratches and Consoles만 보이고 java-start 프로젝트가 보이지 않게 됐습니다. 어떻게 해결할 수 있을까요?프로젝트 생성 시 설정은 다음과 같습니다:Build System: IntelliJJDK: 18 Oracle OpenJDK 18.0.1 - aarch64 (M1 Mac입니다)
-
해결됨서버개발자 과제전형 완벽가이드 - 1편
멀티모듈 문의드립니다.
아래링크 문의에 대한 추가 질문입니다.https://www.inflearn.com/questions/1385202버전과 동일한 소스코드 동일한 것으로 확인됩니다. 또한, restart 후에도 동일한 현상 확인되어 추가문의드립니다. 혹시, intellij community 버전이라 그런건지 문의드리며 해결방법 확인부탁드립니다!!
-
해결됨[입문] 누구나 배울 수 있는 코틀린(Kotlin)
따로 안드로이드 앱 개발을 안해도 들어도 괜찮죠?
입문만 배워가는 단계로 사용해도 되나요?
-
해결됨마이크로소프트 365 코파일럿 고급 활용법, 남들보다 100배 더 잘 쓰는 M365 Copilot 비법 클래스
aif0403 워드 copilot 강의 동영상 오류
강의목차는 word copilot 인데 powerpoint 강의자료 영상이 등록되어 있습니다강의 영상 확인 요청드립니다
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
강의 20분13초 내용 질문입니다.
requestMatchers("/login").permitAll()로 /login에 대한 요청은 인증이 필요없게 설정했는데, .formLogin()을 설정하고 나서 "/login" 요청이 formLogin 방식의 필터에 걸리는 건가요?formLogin() 설정을 해도 이미 위에서 equestMatchers("/login").permitAll() 로 /login 에 대한 요청은 인증이 필요없으므로 필터에 걸리지 않고 바로 컨트롤러 PostMapping("/login")으로 가야되는거 아닌가요?
-
해결됨독하게 시작하는 C 프로그래밍
실행파일 미생성으로 인한 빌드 오류
안녕하세요, 우선 양질의 강의에 감사드립니다. 다름이 아닌, 별다른 설정을 만지지 않았는데 비주얼 스튜디오 내에서 컴파일을 실행할 때마다 exe파일이 생성되지 않았다는 경고문이 뜨며 빌드가 되지 않습니다. 경고문에 적힌 주소를 확인해보니 exe파일이 존재하지 않은 것을 확인했습니다.구글링을 해보아도 답을 찾기가 어렵네요ㅜㅜ 어떻게 해결해야할지 알려주실 수 있으신가요? 감사합니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
기능 구현 질문드립니다.
강의 영상 알차게 잘 보고 있습니다!출시까지 목표로 두고 있는 프로젝트라고 하셔서 캐릭터 장비요소는 필수라 생각되어 혹시나 장비드랍 및 장착기능 구현이 업데이트 내용에 있나 궁금해서 여쭤봅니다.1.장비아이템도 드랍 및 가챠뽑기방식2.장비아이템이 추가된다면 같은 장비라도 옵션이 다르게 보여지고 인벤토리로 저장되는 방식으로 구현되는지 궁금합니다. (예시 : 디아블로 아이템 옵션수치 및 옵션랜덤 방식)
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
(Interlocked) Race condition에서 number가 0이 되는 경우가 너무 신기합니다.
Interlocked 강의 부분에서 전역 변수 number = 0에 대해Thread 1은 for문으로 number++Thread 2는 for문으로 number-- 여기서 Thread 두 개가 race condition으로 인해 반복횟수가 많아지면 number를 가져오고, 연산하고 대입하는 과정에서 원자성이 보장되지 않아 number가 변한다고 설명하셨는데요. 오히려 그러면 for문에서 1만번의 반복 과정에서는 number = 0 으로 제대로 나타났는데, 그게 이해가 되지 않습니다. 반복 과정에서도 각 Thread가 race condition이기 때문에 number가 변동할 것 같은데, 제 컴퓨터로 돌려봐도 어느정도 연산량이 적으면 number = 0으로, 이상하게 올바르네요. 이유가 무엇일까요? Thread 2가 실행되기 전에, 컴퓨터의 연산이 빨라서 Thread 1에서 number를 1만번 ++의 계산이 끝나는 걸까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
streamlit import 불가
안녕하세요, 비개발자로 streamlit 부분까지 따라왔는데 막혀버렸습니다 ^^;streamlit import가 되지 않아서 문의드립니다. 콘솔창에서 hello streamlit 입력했을 때 정상적으로 브라우저에 뜨는 것을 확인했는데, 아래처럼 VScode에서는 import가 되지 않습니다. 혹시 가상환경에 문제가 있는걸까요? inflearn-llm-application 가상환경에서 mkdir로 inflearn-streamlit을 만들었고 아래처럼 inflearn-streamlit 을 activate 한 상황입니다. 확인 부탁드리겠습니다! 감사합니다.
-
미해결토비의 스프링 부트 - 이해와 원리
프로퍼티 빈의 후처리기 도입 AnnotationUtils의 사용
강의 도중 AnnotationUtils를 사용하여 애노테이션의 정보를 얻어오는 부분이 있습니다.MyConfigurationProperties annotation = AnnotationUtils .findAnnotation(bean.getClass(), MyConfigurationProperties.class); if (annotation == null) return bean; Map<String, Object> attributes = AnnotationUtils.getAnnotationAttributes(annotation); String prefix = (String) attributes.get("prefix"); return Binder.get(env).bindOrCreate(prefix, bean.getClass()); 여기에서 attributes를 가져오지 않고 annotation.prefix() 를 사용해서 정보를 가지고 올 수도 있다고 생각됩니다만 AnnotationUtils를 사용할 때의 다른 이점이 있는 것인가요??MyConfigurationProperties annotation = AnnotationUtils .findAnnotation(bean.getClass(), MyConfigurationProperties.class); if (annotation == null) return bean; return Binder.get(env).bindOrCreate(annotation.prefix(), bean.getClass());
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
WriteLock이 기존 진행 되는 ReadLock이 끝남을 기다리는 과정에 대해서 질문드립니다.
int desired = (Thread.CurrentThread.ManagedThreadId << 16) & WRITE_MASK; while (true) { for(int i = 0; i < MAX_SPIN_COUNT; i++) { if (Interlocked.CompareExchange(ref _flag, desired, EMPTY_FLAG) == EMPTY_FLAG) return; } Thread.Yield(); } desired 부분에서 마스크를 통해 WriteThreadId를 제외하고 밀어버린 뒤 Interlocked부분에서 비교를 통해 ReadLock과 WriteLock이 없는지 비교하고 있습니다. 위 과정에서 만약 먼저 ReadLock이 잡혀있다면 ReadLock이 풀릴 때 까지 기다리게 되는데 만약 끊임없이 Read가 일어나 ReadLock이 풀리는 틈이 없어 Write가 되지않는 극단적인 경우는 일어나지 않는건가요? 혹시라도 일어나지 않는다면 Read 하는 과정이 매우 짧기 때문에 그런 일이 발생하지 않는 것인지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
24년 2회기출 35분 52초
24년 2회기출 35분 52초 에 아스키코드 65,97 설명하시는데65가 더 작은 소문자 a 라고 말한게 잘못말한거 같아요
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
workdir 대신에 RUN mkdir /directory COPY 상대경로 /directory/복사할파일 이런식으로 구현해도 되나요 ?
둘 중 뭐가 보편적으로 사용되는 편인지 궁금합니다! 1번 사안WORKDIR /directory 2번 사안 RUN mkdir /directoryCOPY [복사할 파일의 상대경로] [/directory/복사할 파일]
-
미해결실리콘밸리 데이터 리더가 알려주는 기초 SQL
DuckDB API 사용시 Connection Error가 발생합니다.
실습 코드를 순서대로 진행하니 아래와 같은 에러가 발생했습니다.*********************확인해보니 3번째 셀에서 duckdb를 연결하고%sql duckdb:///duckdb.db 그 아래에서 다음과 API로 연결을 시도하면 계속 에러가 발생합니다.duckdb_con = duckdb.connect("duckdb.db") **********************그래서 노트북 세션을 초기화하고 duckdb.db 파일을 삭제하고 3번째 셀을 실행하지 않고 duckdb API로 바로 연결하니 그때서야 제대로 연결되었습니다.
-
미해결비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)
@Cacheable key 속성에서 page, size 파라미터값 null
BoardService.class@Cacheable( cacheNames = "getBoards", key = "'boards:page:' + #page + ':size:' + #size", cacheManager = "boardCacheManager" ) public List<Board> getBoards(int page, int size) { log.info("page={},size={}", page, size); Pageable pageable = PageRequest.of(page - 1, size); Page<Board> pageOfBoards = boardRepository.findAllByOrderByCreatedAtDesc(pageable); return pageOfBoards.getContent(); }BoardController.class@GetMapping public List<Board> getBoards( @RequestParam(name = "page", defaultValue = "1") int page, @RequestParam(name = "size", defaultValue = "10") int size ) { log.info("page={}, size={}", page, size); return boardService.getBoards(page, size); }#page, #size 값에 모두 null이 저장되는 것 같습니다.위 코드에서처럼 BoardService.getBoards(), BoardController.getBoards() 두 메서드 전부 page, size 값을 로그로 출력해보니 각각 1, 10으로 여기서는 정상적으로 나오는데, 어디서 문제가 있는지 모르겠습니다.구글링을 해도 마땅한 답을 구할 수 없어서 질문 남깁니다!
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
카운터앱 구현하기에서 커스텀훅으로 관리하는 방법은 어떤가요?
안녕하세요!카운터앱 구현하기를 조금 다르게 코드를 짜보았는데, 커스텀훅을 활용법에 익숙하지 않아서, 이렇게 구현하는 방법이 적절한지 감이 안와요.. 바쁘신데 죄송하지만 아래와 같은 커스텀훅 구현방식의 장단점에 대해서 알려주시면 감사하겠습니다! 먼저 useCount.jsx를 아래와 같이 작성하였구요import { useState } from 'react'; function useCount() { const [num, setNum] = useState(0); const onClinkCount = (e) => { setNum(num + Number(e.target.value)) } return [num, onClinkCount]; } export default useCount; 아래는 넘버 조작 부분인 Controller.jsxconst Controller = ({ onClinkCount }) => { return ( <div> <button onClick={onClinkCount} value="-1">-1</button> <button onClick={onClinkCount} value="-10">-10</button> <button onClick={onClinkCount} value="-100">-100</button> <button onClick={onClinkCount} value="+100">+100</button> <button onClick={onClinkCount} value="+10">+10</button> <button onClick={onClinkCount} value="+1">+1</button> </div> ) } export default Controller카운트 넘버 표시부분인 Viewer.jsxconst Viewer = ({ num }) => { return ( <div> <div>현재 카운트:</div> <h1>{num}</h1> </div> ) } export default Viewer그리고 부모 컴포넌트인 App.jsx 입니다.import "./App.css" import Controller from './components/Controller' import Viewer from './components/Viewer' import useCount from './hooks/useCount' function App() { const [num, onClinkCount] = useCount(); return ( <div className='App'> <h1>Simple Counter</h1> <section> <Viewer num={num} /> </section> <section> <Controller onClinkCount={onClinkCount} /> </section> </div> ) } export default App 🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨Godot Engine 마리오라이크 2D PC 게임 만들기
Region Rect 디버그할때 수치가 바뀌는걸 볼 수 없어요.
배경화면이 X, Y 축으로 반복되면서 흐르는 걸 하는 중인데요...region_rect.position이 계속 증가하면 수치가 커지니까Vector2.ZERO로 초기화하는 부분을 하고 있어요.코드는 작성했고 동작은 정상적으로 하는데제 고도엔진 화면에서는 영상처럼 Region의 Rect.x Rect.Y의 수치가 변하지 않고 0으로 고정되어있는데 무슨 문제일까요?
-
해결됨2시간으로 끝내는 코루틴
async await 관련 질문
안녕하세요.val job1 = async { apiCall1() } val job2 = async { apiCall2(job1.await()) } printWithThread(job1.await() + job2.await())만약, job1에 대한 결과를 메인 코루틴과 job2 코루틴 각각에서 사용하고 싶으면 위와 같이 작성하면 되나요?제가 실제로 apiCall1에 print문을 넣어 보니까 1번만 출력이 되는 것을 확인했습니다. 만약, 위에 질문이 맞다면 코루틴 job을 생성하고 해당 결과를 받을 때는 항상 await() 함수를 호출하면 되나요?여기서 궁금한 점은 만약 서버와 통신하는 api라고 한다면, 새롭게 호출하고 싶을 때도 있을 텐데 이럴 때는 어떻게 기존 값이 아닌 새로운 값을 받을 수 있는지도 궁금합니다. 감사합니다.
-
해결됨Godot Engine 마리오라이크 2D PC 게임 만들기
영상에서는 디버깅할때 Sprite2D에서 Region Rect 수치가 계속 변하는걸로 보이는데...
어려운 점이 있으신가요? 망설이시지 말고 인프런이나 유투브에 질문을 남겨주세요.가능한 시간에 답변을 남겨 드리겠습니다. 또는 아래 커뮤니티에도 도움을 요청해 보세요.Sweet Spot 디스코드 서버- https://discord.gg/veAnCmBf고도 엔진 코리아 디스코드 서버- https://discord.com/invite/XK8Emsf고도 엔진 코리아 네이버 카페- https://cafe.naver.com/godotk커뮤니티에 본인을 소개하고 직접 완성하신 작품도 자랑해보세요 :)