묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
Callback 기반 비동기 파일 입/출력 질문
안녕하세요 수업 잘 듣고 있습니다 감사합니다. Callback 기반 비동기 파일 입/출력 부분에 질문이 있습니다. 만약 IoThreadFunction 함수에서 다수의 WriteFileEx 를 호출하고 콜백을 모두 같은 FileIoComplete 함수로 받는상황이 있을경우 테스트 해보니 하나의 파일 IO만 완료되도 SleepEx 가 통과되는 상황이 발생하는데요 이경우 만약 모든 콜백을 받길 원하면 구조적으로 스래드 하나당 하나의 WriteFileEx를 호출하도록 하거나 별도로 이벤트를 이용해서 처리하거나 하는 방법이 떠오르긴 한데 이방법이외에 다른 방법도 있을까요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
본강의와 JPA서적
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/[질문 내용]수업을 시작하기 이전에 선생님께서 제작하신 책도 나와있던데, 강좌 소개를 보면 본 강의를 메인으로 하고 책은 참고로 하면 좋다, 깊게 들어가지 않는다면 필요는 없다라고 들었었습니다. 사실 신입인 터라 jpa를 들어서 바로sql을 쓸지 잘 모르고, 그저 어떻게보면 제 목적은 jpa를 배우면서 좀 더 sql을 잘하고 싶다는 마음으로 등록한건데 이해력도 조금 부족해서 뭔가 보조하는 게 없으면 쉽지않습니다 ㅎㅎ;;; 그래서 강의를 들으면서 이책과 함께 또 공부를 하면 이해하기 더 편한지 그 부분이 궁금합니다. 물론 제가 연차가 쌓이고 나면 늦든 빠르든 구매는 해볼 생각입니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
수치형 변수 스케일링 하기
안녕하세요.강의 잘 듣고 있습니다. 작업형 2 문제에서 피처엔지니어링 할 때범주형 변수는 모두 원핫 / 라벨인코딩을 하면 되는데수치형 변수는 어떤 칼럼을 스케일링하면 되는지....표준편차가 튀는 칼럼만 민맥/스태다드 스캘링을 하면 되는지...강사님만의 구분법이 있나요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
작성완료 시 onCreate 함수 호출 못함
App.js에서 onCreate함수를 가지고 오지 못하고 있는데 어디서 오류가 났는지 찾지못하고있어요ㅠㅠ! 도와주세요!코드보여드릴게여 ㅠㅠ오류상황Cannot destructure property 'onCreate' of '(0 , react__WEBPACK_IMPORTED_MODULE_0__.useContext)(...)' as it is undefined. TypeError: Cannot destructure property 'onCreate' of '(0 , react__WEBPACK_IMPORTED_MODULE_0__.useContext)(...)' as it is undefined. at DiaryEdit (http://localhost:3000/static/js/bundle.js:344:5) at renderWithHooks (http://localhost:3000/static/js/bundle.js:26416:22) at mountIndeterminateComponent (http://localhost:3000/static/js/bundle.js:29702:17) at beginWork (http://localhost:3000/static/js/bundle.js:30998:20) at HTMLUnknownElement.callCallback (http://localhost:3000/static/js/bundle.js:16008:18) at Object.invokeGuardedCallbackDev (http://localhost:3000/static/js/bundle.js:16052:20) at invokeGuardedCallback (http://localhost:3000/static/js/bundle.js:16109:35) at beginWork$1 (http://localhost:3000/static/js/bundle.js:35983:11) at performUnitOfWork (http://localhost:3000/static/js/bundle.js:35230:16) at workLoopSync (http://localhost:3000/static/js/bundle.js:35153:9)App.jsimport React, { useReducer, useRef } from "react"; import "./App.css"; import { BrowserRouter, Routes, Route } from "react-router-dom"; import Home from "./pages/Home"; import New from "./pages/New"; import Edit from "./pages/Edit"; import Diary from "./pages/Diary"; const reducer = (state, action) => { // return state; let newState = []; switch (action.type) { case "INIT": { return action.data; } case "CREATE": { newState = [...action.data, ...state]; break; } case "REMOVE": { newState = state.filter((it) => it.id !== action.targetId); break; } // 모든 부분을 수정해야해서 다 받아옴 case "EDIT": { newState = state.map((it) => it.id === action.targetId ? { ...action.data } : it ); break; } default: return state; } return newState; }; export const DiaryStateContext = React.createContext(); export const DiaryDispatchContext = React.createContext(); const dummyData = [ { id: 1, emotion: 1, content: "일기 1번", date: 1687326683094, }, { id: 2, emotion: 2, content: "일기 2번", date: 1687326683096, }, { id: 3, emotion: 3, content: "일기 3번", date: 1687326683097, }, { id: 4, emotion: 4, content: "일기 4번", date: 1687326683098, }, { id: 5, emotion: 5, content: "일기 5번", date: 1687326683099, }, { id: 6, emotion: 3, content: "일기 6번", date: 1787321680269, }, ]; function App() { const [data, dispatch] = useReducer(reducer, dummyData); // console.log(new Date().getTime()); const dataId = useRef(0); const onCreate = (date, content, emotion) => { dispatch({ type: "CREATE", data: { id: dataId.current, date: new Date(date).getTime(), content, emotion, }, }); dataId.current += 1; }; const onRemove = (targetId) => { dispatch({ type: "REMOVE", targetId }); }; const onEdit = (targetId, date, content, emotion) => { dispatch({ type: "EDIT", data: { id: targetId, date: new Date(date).getTime(), content, emotion, }, }); }; return ( <DiaryStateContext.Provider value={data}> <DiaryDispatchContext.Provider value={{ onCreate, onEdit, onRemove }}> <BrowserRouter> <div className="App"> <Routes> <Route path="/" element={<Home />} /> <Route path="/new" element={<New />} /> <Route path="/edit" element={<Edit />} /> <Route path="/diary/:id" element={<Diary />} /> {/* <Route path="/diary" element={<Diary />} /> */} </Routes> </div> </BrowserRouter> </DiaryDispatchContext.Provider> </DiaryStateContext.Provider> ); } export default App; DiaryEdit.jsimport { useNavigate } from "react-router-dom"; import React, { useState, useRef, useContext } from "react"; import MyHeader from "./MyHeader"; import MyButton from "./MyButton"; import EmotionItem from "./EmotionItem"; import DiaryDispatchContext from "./../App"; // 감정에 대한 데이터 const emotionList = [ { emotion_id: 1, emotion_img: process.env.PUBLIC_URL + `assets/emotion1.png`, emotion_descript: "완전 좋음", }, { emotion_id: 2, emotion_img: process.env.PUBLIC_URL + `assets/emotion2.png`, emotion_descript: "좋음", }, { emotion_id: 3, emotion_img: process.env.PUBLIC_URL + `assets/emotion3.png`, emotion_descript: "보통", }, { emotion_id: 4, emotion_img: process.env.PUBLIC_URL + `assets/emotion4.png`, emotion_descript: "나쁨", }, { emotion_id: 5, emotion_img: process.env.PUBLIC_URL + `assets/emotion5.png`, emotion_descript: "완전 나쁨", }, ]; // 달력에 오늘의 날짜를 기본 날짜로 구현하기 export const getStringDate = (date) => { let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); if (month < 10) { month = `0${month}`; } if (day < 10) { day = `0${day}`; } return `${year}-${month}-${day}`; }; const DiaryEdit = () => { const contentRef = useRef(); const navigator = useNavigate(); const [date, setDate] = useState(getStringDate(new Date())); // 어떤 감정을 선택했는지 state에 저장 const [emotion, setEmotion] = useState(3); const [content, setContent] = useState(""); const { onCreate } = useContext(DiaryDispatchContext); const handleClickEmotion = (emotion) => { setEmotion(emotion); }; const handleSubmit = () => { if (content.length < 1) { contentRef.current.focus(); return; } onCreate(date, content, emotion); }; return ( <div className="DiaryEdit"> <MyHeader headText={"새로운 일기 쓰기"} leftChild={ <MyButton text={"< 뒤로가기"} onClick={() => navigator(-1)} /> } /> <div> <section> <h4>오늘은 언제인가요?</h4> <div className="input_box"> <input className="input_date" value={date} onChange={(e) => setDate(e.target.value)} type="date" /> </div> </section> <section> <h4>오늘의 감정</h4> <div className="input_box emotion_list_wrapper"> {emotionList.map((it) => ( <EmotionItem key={it.emotion_id} {...it} onClick={handleClickEmotion} isSelected={it.emotion_id === emotion} /> ))} </div> </section> <section> <h4>오늘의 일기</h4> <div className="input_box text_wrapper"> <textarea placeholder="오늘은 어땠나요?" ref={contentRef} vlaue={content} onChange={(e) => setContent(e.target.value)} /> </div> </section> <section> <div className="control-box"> <MyButton text={"취소하기"} onClick={() => navigator(-1)} /> <MyButton text={"작성완료"} type={"positive"} onClick={handleSubmit} /> </div> </section> </div> </div> ); }; export default DiaryEdit;
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
TCP/IP 궁금한 점! 있습니다
선생님 안녕하세요! 덕분에 많이 배우고 있습니다.TCP/IP 궁금한 점 있어 질문 남깁니다.1.HDD에 있는 파일을 Process의 Buffer로 가져올 때 즉 Copy 할 때 Buffer의 크기만큼 Copy해오는건가요?2.TCP/IP에서 발생할 수 있는 문제 중 Loss를 설명해주셨는데 이는 100% 네트워크 상 문제라고 하셨습니다. 그렇다면 어떻게 해결을 해야하는건가요?3.Out of order 발생 시 TCP 스택에서 순서 보정 후 Socket Buffer로 가는건가요?그리고 문득 강의 듣고 복습하면서 든 생각인데 선생님 네트워크 강의나 다른 네트워크 책들보면 3,4 계층에서 TCP/IP만 집중해서 설명을 하던데 그 이유가 우리가 사용하는 서비스들이 인터넷 환경에서 작동하는 서비스라고 TCP/IP에만 집중하는건가요?감사합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Assertions 의 core 와 jupiter
[질문 내용]스프링 로드맵에서는 core의 Assertions를 사용했는데 여기에서는 jupiter의 Assertions를 사용해서 궁금한 점이 생겼습니다. 둘은 어떤 차이이며, 현재는 어떤것을 더 선호하는지 궁금합니다.현재 저는 스프링 로드맵에서 했던것 처럼 core의 Assertions를 사용해 하고 있는데 정상테스트와 오류테스트를 모두 core로 할 수 있다면 core로 하는게 더 좋을까요?
-
해결됨게임 프로그래머 취업 전략 가이드
학습계획에 관한 질문이 있습니다
학원 포폴을 제외하고 서버를 붙인 상용엔진 포폴을 하나 만들고 싶은데중소기업과 스타트업으로의 취업도 고려중인 상황입니다1) 언리얼로2) 유니티로3) 상용엔진 포폴 만들지 말고 학원 포폴, 그래픽스, 알고리즘 공부에 집중이 중에 어떤 것이 최선의 방향인지 감을 잡지 못해서 이렇게 긴 장문의 글을 쓰게 되었습니다항상 감사합니다 루키스님
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
왜 오류가 나는지 모르겠습니다!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요MinMaxScaler에는 fit_transform 이 아닌가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost8080과 관련된 질문
[질문 템플릿]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]저 혼자 개발할 때는 localhost:8080 과 postman에서 API를 사용해 본다는 것까지 이해했습니다.만약 안드로이드 개발자와 협업을 합니다.그러면 그 사람도 개발 과정에서 api를 호출해서 받아올텐데 제가 만든 api를 어떻게 가져오나요??대부분 개발 과정에서 어떻게 하나요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Controller에서 select 쿼리가 왜 안나갈까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 회원 수정 API를 구현중 select 쿼리가 왜 안나가는지 궁금해서 질문드립니다.localhost:8080/api/v2/members/1 을 호출했을때 쿼리가 언제 나오는지 분석해 봤습니다.update 메서드 실행 -> select 쿼리가 나감update 메서드 종료직전 -> update 쿼리 나감updateMemberV2 돌아와서 memberService.findOne()할때는 왜 select가 나가지 않을까요? 1========2023-06-22T12:24:25.330+09:00 DEBUG 55687 --- [nio-8080-exec-9] org.hibernate.SQL : select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.username from member m1_0 where m1_0.member_id=?2023-06-22T12:24:25.331+09:00 INFO 55687 --- [nio-8080-exec-9] p6spy : #1687404265331 | took 0ms | statement | connection 6| url jdbc:h2:tcp://localhost/~/jpashop2select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.username from member m1_0 where m1_0.member_id=?select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.username from member m1_0 where m1_0.member_id=1;2========2023-06-22T12:24:25.355+09:00 DEBUG 55687 --- [nio-8080-exec-9] org.hibernate.SQL : update member set city=?, street=?, zipcode=?, username=? where member_id=?2023-06-22T12:24:25.356+09:00 INFO 55687 --- [nio-8080-exec-9] p6spy : #1687404265356 | took 0ms | statement | connection 6| url jdbc:h2:tcp://localhost/~/jpashop2update member set city=?,street=?,zipcode=?,username=? where member_id=?update member set city=NULL,street=NULL,zipcode=NULL,username='dd-hello' where member_id=1;2023-06-22T12:24:25.358+09:00 INFO 55687 --- [nio-8080-exec-9] p6spy : #1687404265358 | took 0ms | commit | connection 6| url jdbc:h2:tcp://localhost/~/jpashop2;3========2023-06-22T12:24:25.363+09:00 INFO 55687 --- [nio-8080-exec-9] p6spy : #1687404265363 | took 0ms | commit | connection 6| url jdbc:h2:tcp://localhost/~/jpashop2;4========
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험 시 최종 제출 형태에 관해 질문 있습니다!
시험 시 최종적으로 제출해야 하는 형태가 작업형 1 : print문을 통해 나온 출력 값작업형 2 : csv파일작업형 3 : 답 입력하는 칸에 따로 출력 값 입력이렇게 제출하는 것으로 알고 있습니다!이 때, 작업형 2의 경우 print문을 통해 평가 점수를 출력해보게 되는데, 따로 지우지는 않아도 문제가 되지 않는지 궁금합니다. (csv파일만 제대로 제출되면 그 외 다른 것들이 출력되어도 상관없는지, 또는 print문을 지워서 문제가 되지는 않는지 궁금합니다.)또 작업형 3도 마찬가지로 print문을 통해 검정통계량값이나 p값 등의 숫자를 출력하게 되는데, 답 입력란에만 제대로 입력하면 따로 print문을 지워서 문제가 되거나, 지우지 않아서 문제가 되는 것은 아닌지 궁금합니다.시험이 다가와 긴장되다 보니 사소한 것들도 괜히 질문하게 되는 것 같아요🥲 그래도 선생님 덕분에 많이 걱정되지는 않는 것 같습니다. 항상 감사합니다 :)
-
미해결홍정모의 따라하며 배우는 C++
포인터 질문있습니다.
안녕하세요, 아래 두 코드가 동일하게 작동해야 한다고 생각했는데, 1이 틀린 이유가 궁금합니다.1. typedef int* pint; void bar2(const pint ptr) { int val = 1; ptr = &val; } 2. void bar(const int* ptr) { int val = 1; ptr = &val; } 1 full code #include <iostream> using namespace std; typedef int* pint; void bar2(const pint ptr) { int val = 1; ptr = &val; } int main() { int length2 = 2; pint ptr2 = &length2; bar2(ptr2); }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션35 13-01 질문
export default function LibraryIconPage(): JSX.Element { const onClickDelete = (event: MouseEvent<HTMLDivElement>): void => { console.log(event.currentTarget.id) } return ( <div id="삭제게시글id" onClick={onClickDelete}> <MyIcon /> </div> ) }강사님께서 상위에 div를 만들고 event.currentTarget.id로 값을 받아오라고 설명해주셨는데,svg 상위 태그인 span에 id가 있으니까MyIcon에 id,onClick 넣고 event.currentTarget.id로span의 id값을 가져오는 건 잘못된 것인지 궁금합니다.
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
안녕하세요. 강의 자료 부탁드립니다.
안녕하세요. 좋은 강의 감사드립니다.자료 공유해주시면 감사하겠습니다.0123914@naver.com
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
강의가 사라졌네요ㅠㅠ잘 듣고 있었는데..;;
크롤링과 데이터베이스 - 크롤링 코드 작성 시작 (업데이트)맨 마짐가 부분 참고용으로 있던강의들이 사라졌는데, 복구가 안될까요? 부탁드릴게요ㅠ
-
해결됨호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
enum방식이 실무에서 자주 쓰이는 편인가요??
안녕하세요 호돌맨님 이번 강의 내용중 3번 enum을 이용한 방식에 대한 궁금증이 생겨서 질문 드립니다.제가 생각했을때 enum방식은 제한적이라 실무에서는 자주 쓰이지 않을 것 같다는 의문이 생겼습니다.제한적이라고 생각했던 부분은reflection을 이용한 인스턴스 생성이므로 스프링이 제공해주는 AOP프록시나 DI의 혜택을 받을 수 없다.입니다.예시로 들어주신 AnimalSerivce의 구현 클래스들은 트랜잭션이나 기타 AOP기능을 하용하지 않고, 주입받아야 하는 의존성도 없어서 괜찮지만 만약 Controller -> Service를 호출하는 동일한 구조로 호출 대상이 되는 Service가 AOP프록시나 DI등의 처리가 필요한 클래스라면 AOP미적용, 또는 newInstance() 호출 시 예외 발생등의 문제가 발생할 것으로 보입니다.실제로 실무에서 변수값에 따라 서로 다른 클래스 컴포넌트를 호출해야하는 상황에서 enum방식이 자주 쓰이나요??
-
미해결처음 만난 리액트(React)
11강 실행시 페이지 내용에 문제가 있네요
결과가 이렇게 나오는데 뭐가 잘못된걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 유형(작업형2) 문제 풀이 과정 중에 질문드립니다.
안녕하세요!4회 기출 유형(작업형2) 문제 풀이 과정 중에 에러가 발생하여 질문 드립니다.이전까지 하던 대로 train_test_split을 통해 데이터를 분리해서 진행을 하였는데요from sklearn.model_selection import train_test_split x_tr, x_val, y_tr, y_val = train_test_split(train.drop('Segmentation', axis = 1), train['Segmentation'], test_size = 0.1, random_state = 2023) x_tr.shape, x_val.shape, y_tr.shape, y_val.shapefrom sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(n_estimators = 400, max_depth = 9, random_state = 2023) rf.fit(x_tr, y_tr) pred = rf.predict_proba(x_val)from sklearn.metrics import roc_auc_score roc_auc_score(y_val, pred, multi_class = 'ovo')pred = rf.predict_proba(test)submit = pd.DataFrame( { 'ID' : test_id, 'Segmentation': pred }) ValueError: Per-column arrays must each be 1-dimensional위와 같은 에러 메시지가 뜹니다!이리 저리 만져봐도 잘 모르겠네요 ㅠㅠ 어떻게 하면 될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
typeORM Many to one 관계설정
안녕하세요 typeORM 관계설정 중에 궁금한게 생겨서 질문드립니다.공식문서에 나온 코드를 보면 ManyToOne 데코레이터 안에 두 가지 인자가 있는데 앞에 있는건 강의에서도 작성하지만 두번 째인자는 생략이 가능한 것 같네요.. 혹시 두번 째 인자는 OneToMany를 작성할 때도 생략이 가능한가요?그리고 혹시 OneToMany로 받아오는 배열을 배열말고 count해서 숫자로 칼럼에 넣을 수 있는 방법이 있을까요..? 힌트라도 알려주시면 감사하겠습니다!!@Entity() export class Photo { @PrimaryGeneratedColumn() id: number @Column() url: string @ManyToOne(() => User, (user) => user.photos) user: User }
-
해결됨Practical Testing: 실용적인 테스트 가이드
안녕하세요 선생님 질문 있습니다 !
이제 막 java, spring, mysql , 프론트 부분 기초적인 부분 공부를 끝마친 학생입니다.항상 테스트 코드의 중요성을 많은 커뮤니티에서 봐오고 강조하는 분들이 많아서언젠간 배워야겠다 싶은 찰나에 수강 결제를 미리 하게 되었습니다.혹시 선생님 수업을 듣기 전, 미리 좀 더 배워둬야 하거나알아둬야 하는 부분이 있을까요 ?