마지막에 하신 테스트 자체는 실패하는 게 맞는거죠??
미해결
실습으로 배우는 선착순 이벤트 시스템
Producer 에는 제대로 값이 찍히는데 하지만 테스트 자체는 실패했는데요 아마 mysql과 연결이 되지 않아서 생긴 오류라고 봐도 될까요?? 아직 뒷 강의는 진행하지 않았습니다!!
- java
- docker
- spring-boot
- kafka
- redis
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
실습으로 배우는 선착순 이벤트 시스템
Producer 에는 제대로 값이 찍히는데 하지만 테스트 자체는 실패했는데요 아마 mysql과 연결이 되지 않아서 생긴 오류라고 봐도 될까요?? 아직 뒷 강의는 진행하지 않았습니다!!
미해결
김영한의 실전 자바 - 중급 2편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 ! 강의를 통해 제네릭에 대해 알 수 있어서 감명깊었습니다. 회사 코드를 보면서 막혔었는데 점차 이해가 되고 있어요 ! 감사 인사 먼저 전합니다 ㅎㅎ Generic2 정리 부분 11:06초에 질문 있습니다 ! 와일드카드는 제네릭 타입이나, 제네릭 메서드를 선언하는 것이 아니다. 와일드 카드는 이미 만들어진 제네릭 타입을 활용할 때 사용한다. 이 부분이 이해가 잘 되지 않습니다 ...! public static void printV2(Shuttle<? extends BioUnit> shuttle) { BioUnit out = shuttle.out(); System.out.println("이름: " + out.getName() + "HP: " + out.getHp()); } package generic.test.ex3; import generic.test.ex3.unit.BioUnit; public class UnitPrinter { public static <T extends BioUnit> void printV1(Shuttle<T> shuttle) { T out = shuttle.out(); System.out.println("이름: " + out.getName() + "HP: " + out.getHp()); } public static void printV2(Shuttle<? extends BioUnit> shuttle) { BioUnit out = shuttle.out(); System.out.println("이름: " + out.getName() + "HP: " + out.getHp()); } } 강의에서 사용한 와일드카드 메서드 예시입니다 ! printV2가 와일드카드 메서드 인데요, 이 메서드를 구현한 UnitPrinter 클래스는 제네릭 타입을 선언(?)하지 않았는데도 불구하고 사용하고 있는데, 어떤 인스턴스를 기준으로 제네릭이 "이미 만들어진 제네릭 타입"으로 간주하면 될까요? 제가 아직 깊이가 부족하여 이해를 잘 못한 것일 수 있지만, 만약 Shuttle 클래스에서 제네릭 타입을 선언하지 않고, <?>만을 사용하여 메서드를 만든다면 잘못된 사용법인지궁금합니다 ! 와일드카드는 제네릭 타입이나, 제네릭 메서드를 선언하는 것이 아니라 이미 만들어진 제네릭 타입을 활용할 때 사용한다의 예시가 더 있다면 조언 부탁드리겠습니다 ! 감사합니다 ☺
미해결
Next.js 시작하기
안녕하세요 :) 섹션 9 부분을 다 듣고 나서 명확히 이해가 가지 않는 부분이 있어 질문드립니다. getServerSideProps를 이용하여 페이지를 로딩할 때 는 "컴포넌트가 렌더링되어 HTML이 생성되는 곳"이 프론트 서버(Next.js 서버) 이고, useEffect를 이용하여 페이지를 로딩할 때 는 "컴포넌트가 렌더링되어 HTML이 생성되는 곳"이 클라이언트(브라우저) 라고 이해하는게 맞을까요?
해결됨
한 입 크기로 잘라먹는 Next.js
강사님 안녕하세요. 학습을 거의 끝낸 상태라 거의 마지막 질문이 될 것 같기도 한데요^^ 클라이언트 컴포넌트는 서버 컴포넌트를 Import 할 수 없기 떄문에 Next 는 서버 컴포넌트를 클라이언트 컴포넌트로 동작시킨다고 배웠습니다. 그런데 만약 이러한 서버 컴포넌트에 async 방식의 api 코드가 포함되어 있는 경우에는 이런 코드가 클라이언트 방식으로 동작하면 문제가 발생할 것 같은데요. 결국, 이런 상황에서는 서버 컴포넌트를 그대로 두어서는 안되고 강의에서 설명하신 합성 방식으로 변경을 하거나 아니면 해당 서버 컴포넌트의 API 로직을 react-query 나 useEffect 훅을 이용해서 실행될 수 있는 클라이언트 컴포넌트로 리팩토링을 해야만 되는거 같은데 제가 올바로 이해한 게 맞을까요?
미해결
한 입 크기로 잘라먹는 Next.js
/app/(with-searchbar)/page.tsx /app/layout.tsx 터미널 첨부한 사진과 같이 수업내용에 따라 코드를 작성하였고, 선생님의 화면과는 다르게 저렇게 같은 GET 호출이 두번이 나오네요... 옵션을 따로 추가하는것으로 바뀌었을까요?? npm run dev를 껐다가 다시 실행해도 마찬가지의 결과가 나옵니다!
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
TypeError: onDelte is not a function onDelete를 함수로 인식하지 못하고 있다고 합니다. 오탈자가 문제인건지 잘 모르겠습니다.... import "./App.css"; import { useReducer, useRef, createContext } from "react"; import { Route, Routes } from "react-router-dom"; import Home from "./pages/Home"; import Diary from "./pages/Diary"; import New from "./pages/New"; import Notfound from "./pages/Notfound"; import Edit from "./pages/Edit"; // 1. "/" : 모든 일기를 조회하는 Home 페이지 // 2. "/new" : 새로운 일기를 작성하는 New 페이지 // 3. "/diary" : 일기를 상세히 조회하는 Diary 페이지 const mockData = [ { id: 1, createdDate: new Date("2024-11-04").getTime(), emotionId: 1, content: "1번 일기 내용", }, { id: 2, createdDate: new Date("2024-11-03").getTime(), emotionId: 2, content: "2번 일기 내용", }, { id: 3, createdDate: new Date("2024-10-07").getTime(), emotionId: 3, content: "3번 일기 내용", }, ]; function reducer(state, action) { switch (action.type) { case "CREATE": return [action.data, ...state]; case "UPDATE": return state.map((item) => { String(item.id) === String(action.id) ? action.data : item; }); case "DELETE": return state.filter((item) => String(item.id) !== String(action.id)); default: return state; } } export const DiaryStateContext = createContext(); export const DiaryDispatchContext = createContext(); function App() { const [data, dispatch] = useReducer(reducer, mockData); const idRef = useRef(4); //기본 일기 추가 const onCreate = (createdDate, emotionId, content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, createdDate, emotionId, content, }, }); }; // 기존 일기 수정 const onUpdate = (id, createdDate, emotionId, content) => { dispatch({ type: "UPDATE", data: { id, createdDate, emotionId, content, }, }); }; // 기존 일기 삭제 const onDelete = (id) => { dispatch({ type: "DELETE", id, }); }; return ( <> <DiaryStateContext.Provider value={data}> <DiaryDispatchContext.Provider value={{ onCreate, onUpdate, onDelete }}> <Routes> <Route path="/" element={<Home />} /> <Route path="/new" element={<New />} /> <Route path="/diary/:id" element={<Diary />} /> <Route path="/edit/:id" element={<Edit />} /> <Route path="*" element={<Notfound />} /> </Routes> </DiaryDispatchContext.Provider> </DiaryStateContext.Provider> </> ); } export default App; import Header from "../components/Header"; import Button from "../components/Button"; import Editor from "../components/Editor"; import { useParams, useNavigate } from "react-router-dom"; import { useContext } from "react"; import { DiaryDispatchContext } from "../App"; const Edit = () => { const params = useParams(); const nav = useNavigate(); const { onDelte } = useContext(DiaryDispatchContext); const onClickDelete = () => { if (window.confirm("일기를 정말 삭제할까요? 다시 복구되지 않아요!")) { //일기 삭제 로직 //console.log(params.id); onDelte(params.id); nav("/", { replace: true }); } }; return ( <div> <Header title={"일기 수정하기"} leftChild={<Button onClick={() => nav(-1)} text={"< 뒤로 가기"} />} rightChild={ <Button onClick={onClickDelete} text={"삭제하기"} type={"NEGATIVE"} /> } /> <Editor /> </div> ); }; export default Edit;
미해결
코드로 배우는 React 19 with 스프링부트 API서버
섹션 3 부트 프로젝트 생성 및 확인 / 엔티티 클래스 만들기 강의가 재생되지 않습니다. 크롬으로 보던 중 무한로딩이 떠서 시크릿모드 및 다른 브라우저로 시도해봤지만 여전히 재생되지 않습니다. 다른 영상은 잘 재생되는데, 섹션 3 부트 프로젝트 생성 및 확인 / 엔티티 클래스 만들기 강의만 재생되지 않네요. 확인 한 번 부탁드립니다!
해결됨
김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] package network.tcp.v6; import network.tcp.v5.SessionV5; import java.util.ArrayList; import java.util.List; public class SessionManagerV6 { private List<SessionV6> sessions = new ArrayList<>(); public synchronized void add(SessionV6 session) { sessions.add(session); } public synchronized void remove(SessionV6 session) { sessions.remove(session); } public synchronized void closeAll() { for (SessionV6 session : sessions) { session.close(); } sessions.clear(); } } 여기서 closeAll() 에서 스레드가 작업중일때 다른스레드가 remove() 를 호출할 수 없다는 부분이 잘 이해가 안 갑니다. synchronized 는 메서드 단위로 적용이 된다고 알고 있어서 closeAll() 에 스레드가 작업중이더라도 remove() 같은 다른 메서드랑은 관련 없다고 생각했습니다. 뭔가 흐름을 잘못 이해하고 있는 걸까요?
미해결
Next + React Query로 SNS 서비스 만들기
const onClickHot = () => { setCurrent('hot'); router.replace(`/search?q=${searchParams.get('q')}`) } 이 코드가 있으면 q=null일때 주소가 http://localhost:3000/search?q=null 이렇게 이동되는데 제로초님은 아무런 검색어가 없는데 어떻게 null로 안나오죠? null체크를해서 주소를 2개 분기해도 될거같긴한데 제로초님은 q가 null일땐 주소창의 쿼리가 안생기더라고요 . 뭐가다른건지 모르겠네요ㅠ
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
쿼리문이 다음과 같이 날라가는데도 h2데이터 베이스에 변경사항이 반영되지 않습니다 ㅠㅠ 어떤 문제가 있는 걸까요
해결됨
한 입 크기로 잘라먹는 Next.js
안녕하세요. 책 데이터를 불러오지 못해서 문의 드립니다. 스웨거에서도 아무 데이터를 못 불러오는데 혹시 어떤 문제일까요? npx prisma db push 도 잘 완료 하였고 백엔드 서버도 start 해 놓은 상태입니다.
해결됨
[React / VanillaJS] UI 요소 직접 만들기 Part 1
16분 31초에 const useInfiniteFetcher =() => {} 여기 부분을 보게 되면 pageData는 async에서 받아와서 promise가 되었는데 강사님은 따로 .then을 안하셨는데 어떻게 가능한가요??
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
src 폴더 내 array 등 많은 것으로 영상에서는 보여지는데 저는 Main 파일 밖에 없습니다. 다운로드 파일이 잘못된걸까요? ㅠㅠ [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] ExecutorService.submit 시점에 디버깅을 걸어서 확인해보니 BlockingQueue 필드인 workQueue 내부에 task가 들어가지 않고 workers라는 HashSet에 들어가지는 것 같습니다 혹시 제가 어디서 놓친건지 모르겠어서 여쭤봅니다 이거 때문에 계속 헷갈려요..ㅜ
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
강사님께서 말씀하신데로 설치하고 뉴 프로젝트를 눌렀는데, 강의에 나오는 화면과 다릅니다... 너무 어이없지만 여기서부터 막혀서 저도 당황스럽습니다... 빨리 공부하고 싶은데... 이게 대체 무슨 상황인지... 빠른 답변 부탁드립니다.
해결됨
Flutter 중급 1편 - 클린 아키텍처
안녕하세요 여러 레퍼런스 자료를 보던 중 질문이 있어 글을 남깁니다. 아래의 페이지를 읽던 도중 Go_Router 패키지를 쓰는게 추천되는 것 같아 문의드립니다. https://docs.flutter.dev/ui/navigation#limitations 사용해보니 Go router를 쓰면 hot reload나 페이지 Refresh를 했을 때 이전에 전달된 파라미터가 초기화되는 이슈가 있더군요. Go Router를 쓰는 게 정말 좋을까요? 아니면 제가 사용을 잘못하고 있는건 아닌지 궁금합니다. 의견 부탁드리겠습니다 감사합니다.
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
디버그 모드가 되는 것 같은데 이유를 모르겠습니다. 뭐라 검색해봐야할까요? 아님 제가 코드 오타가 난걸까요? 이전에 components탭에서 볼 수 있던 값들이 안 보여서 질문드립니다.
미해결
프리다(Frida)를 이용한 안드로이드 앱 모의해킹
(py3) C:\Users\bbsec>pip install frida==12.6.11 Collecting frida==12.6.11 Using cached frida-12.6.11.tar.gz (6.6 kB) Preparing metadata ( setup.py ) ... done Building wheels for collected packages: frida Building wheel for frida ( setup.py ) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [74 lines of output] running bdist_wheel running build running build_py creating build\ lib.win -amd64-cpython-312\frida copying frida\ core.py -> build\ lib.win -amd64-cpython-312\frida copying frida\__init__.py -> build\ lib.win -amd64-cpython-312\frida running build_ext querying pypi for available prebuilds network query failed looking for prebuilt extension in home directory, i.e. C:\Users\bbsec/frida-12.6.11-py3.12-win-amd64.egg no prebuilt extension found in home directory Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "C:\Users\bbsec\AppData\Local\Temp\pip-install-a7nfbzkm\frida_1f1fcba5021e4d38ba236f76104d2b97\ setup.py ", line 144, in <module> setup( File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\__init__.py", line 117, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\ core.py ", line 183, in setup return run_commands(dist) ^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\ core.py ", line 199, in run_commands dist.run _commands() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\ dist.py ", line 954, in run_commands self.run _command(cmd) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\ dist.py ", line 950, in run_command super().run_command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\ dist.py ", line 973, in run_command cmd_ obj.run () File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\command\bdist_ wheel.py ", line 398, in run self.run _command("build") File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\ cmd.py ", line 316, in run_command self.distribution.run _command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\ dist.py ", line 950, in run_command super().run_command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\ dist.py ", line 973, in run_command cmd_ obj.run () File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\command\ build.py ", line 135, in run self.run _command(cmd_name) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\ cmd.py ", line 316, in run_command self.distribution.run _command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\ dist.py ", line 950, in run_command super().run_command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\ dist.py ", line 973, in run_command cmd_ obj.run () File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\command\build_ ext.py ", line 98, in run build ext.run (self) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\command\build_ ext.py ", line 359, in run self.build _extensions() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\command\build_ ext.py ", line 476, in build_extensions self._build_extensions_serial() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\command\build_ ext.py ", line 502, in build extensions_serial self.build _extension(ext) File "C:\Users\bbsec\AppData\Local\Temp\pip-install-a7nfbzkm\frida_1f1fcba5021e4d38ba236f76104d2b97\ setup.py ", line 130, in build_extension raise network_error File "C:\Users\bbsec\AppData\Local\Temp\pip-install-a7nfbzkm\frida_1f1fcba5021e4d38ba236f76104d2b97\ setup.py ", line 89, in build_extension urls = client.release_urls("frida", frida_version) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\xmlrpc\ client.py ", line 1122, in call return self.__send(self.__name, args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\xmlrpc\ client.py ", line 1461, in __request response = self.__transport.request( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\AppData\Local\Temp\pip-install-a7nfbzkm\frida_1f1fcba5021e4d38ba236f76104d2b97\ setup.py ", line 56, in request return self.parse_response(fp) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\xmlrpc\ client.py ", line 1351, in parse_response return u.close() ^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\xmlrpc\ client.py ", line 668, in close raise Fault(**self._stack[0]) xmlrpc.client.Fault: <Fault -32500: 'RuntimeError: PyPI no longer supports the XMLRPC package_releases method. Use JSON or Simple API instead. See https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods for more information.'> [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for frida Running setup.py clean for frida Failed to build frida ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (frida) 오류내용입니다. 최신버전 프리다랑 강의에서 사용하는 프리다의 버전차이로 인해 오류가 발생하여 강의에 맞는 프리다 버전을 설치하려고 하는데 오류가 발생합니다.
미해결
김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
NormalCloseServer 할때 close()가 여러번 호출돼도 예방하는 코드가 있다고 했습니다. 그러면 V6SessionV6에서 closeAll() 하기전에 closed를 확인 안해도 되지 않나요?
해결됨
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
(* nodejs 설치를 https://nodejs.org/en/download/ 에 들어가서 Prebuilt Installer 메뉴에서 v22.11.0(LTS)를 설치하였습니다.) 안녕하세요, 수고가 많으십니다. 강의 잘 듣고 공부하다 모르는 부분이 있어 에러사항은 아래에 요약하여 적었습니다. 일단 react 시작하기 강의를 듣고 있던 중 처음 부분에서 vscode 터미널에서 명령어 npm install -g create-react-app 입력 후 아래 에러가 발생하여 어떻게 해야 해결 할 수 있는지 답을 알고 싶어서 글을 쓰게 되었습니다. 1.첫번째로 vscode 실행 후 npm install -g create-react-app 명령어 입력하니 에러 요약: 경로를 확인하라는 문제가 발생하였습니다. 첫번쨰 에러 발생 한 후 vscode를 종료하고 다시 시작하니 또 다시 이번엔 새로운 에러가 발생 하였습니다. 에러 요약: 자세한 내용은 마이크로소프트 링크 주소 참조하라는 메시지 에러가 발생하였습니다. 현재까지 2가지 에러가 순서대로 나타내고 있는데요, 어떻게 하면 해당 사항을 해결 할 수 있을까요? 상세하고 자세한 답변 부탁드립니다. 감사합니다.