묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코딩의민족 앱 제작 (Android kotlin)
E/eglCodecCommon 오류
안녕하세요! 수강하던중에 질문이 있어 남깁니다!FragmentLayout까지 수강중이었는데요사진과 같은 오류가 발생하여 해결방법이 궁금하여 연락드렸습니다!상단에 코틀린코드나 xml에는 오류는 따로 없습니다!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료 요청드립니다.
안녕하세요. 강의자료 메일로 받아볼 수 있을까요?dldnjf121@naver.com 입니다.감사합니다.
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
싱글톤
그럼 결국 싱클톤을 사용하는 방법 4개 정도 소개해주셨는데 어떻게 사용해야하는건가여...?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
서버에러와ReferenceError 질문드립니다
선생님께 배운 코드를 응용해서 만드는 중에posts/index.js에 post를 사용하려고 작성하였는데 찾을 수 없다는 에러가 발생하였습니다..그리고 백엔드 서버는 사용하지두 않았는데 서버에러가 발생하네요첫 메인화면 띄우는 것부터 문제가 발생해서 로그인이나 회원가입처럼 액션문제는 아닌것같은데 찾기가 너무 어려워서 도움을 요청드립니다.. //posts/_app.js import PropTypes from "prop-types"; import Head from "next/head"; import "../styles/global.css"; import wrapper from "../store/configureStore"; function App({ Component }) { return ( <> <Head> <meta charSet="utf-8" /> <title>Foodi:e</title> </Head> <Component /> </> ); } App.propTypes = { Component: PropTypes.elementType.isRequired, }; export function reportWebVitals(metric) { console.log(metric); } export default wrapper.withRedux(App); //reducers/index.js import { HYDRATE } from "next-redux-wrapper"; import { combineReducers } from "redux"; import user from "./user"; import post from "./post"; // (이전상태, 액션) => 다음상태 const rootReducer = (state, action) => { switch (action.type) { case HYDRATE: console.log("HYDRATE", action); return action.payload; default: { const combinedReducer = combineReducers({ user, post, }); return combinedReducer(state, action); } } }; export default rootReducer; //reducers/post.js import shortId from "shortid"; import faker from "@faker-js/faker"; import produce from "../util/produce"; export const initialState = { mainPosts: [], imagePaths: [], hasMorePosts: true, loadPostsLoading: false, loadPostsDone: false, loadPostsError: null, addPostLoading: false, addPostDone: false, addPostError: null, removePostLoading: false, removePostDone: false, removePostError: null, addCommentLoading: false, addCommentDone: false, addCommentError: null, }; export const generateDummyPost = (number) => Array(number) .fill() .map(() => ({ id: shortId.generate(), User: { id: shortId.generate(), nickname: faker.name.findName(), }, content: faker.lorem.paragraph(), Images: [ { src: faker.image.image(), }, ], Comments: [ { User: { id: shortId.generate(), nickname: faker.name.findName(), }, content: faker.lorem.sentence(), }, ], })); export const LOAD_POSTS_REQUEST = "LOAD_POSTS_REQUEST"; export const LOAD_POSTS_SUCCESS = "LOAD_POSTS_SUCCESS"; export const LOAD_POSTS_FAILURE = "LOAD_POSTS_FAILURE"; export const ADD_POST_REQUEST = "ADD_POST_REQUEST"; export const ADD_POST_SUCCESS = "ADD_POST_SUCCESS"; export const ADD_POST_FAILURE = "ADD_POST_FAILURE"; export const REMOVE_POST_REQUEST = "REMOVE_POST_REQUEST"; export const REMOVE_POST_SUCCESS = "REMOVE_POST_SUCCESS"; export const REMOVE_POST_FAILURE = "REMOVE_POST_FAILURE"; export const ADD_COMMENT_REQUEST = "ADD_COMMENT_REQUEST"; export const ADD_COMMENT_SUCCESS = "ADD_COMMENT_SUCCESS"; export const ADD_COMMENT_FAILURE = "ADD_COMMENT_FAILURE"; export const addPost = (data) => ({ type: ADD_POST_REQUEST, data, }); export const addComment = (data) => ({ type: ADD_COMMENT_REQUEST, data, }); const dummyPost = (data) => ({ id: data.id, content: data.content, User: { id: 1, nickname: "delay", }, Images: [], Comments: [], }); const dummyComment = (data) => ({ id: shortId.generate(), content: data, User: { id: 1, nickname: "delay", }, }); // 이전 상태를 액션을 통해 다음 상태로 만들어내는 함수(불변성은 지키면서) const reducer = (state = initialState, action) => produce(state, (draft) => { switch (action.type) { case LOAD_POSTS_REQUEST: draft.loadPostsLoading = true; draft.loadPostsDone = false; draft.loadPostsError = null; break; case LOAD_POSTS_SUCCESS: draft.loadPostsLoading = false; draft.loadPostsDone = true; draft.mainPosts = action.data.concat(draft.mainPosts); draft.hasMorePosts = draft.mainPosts.length < 50; break; case LOAD_POSTS_FAILURE: draft.loadPostsLoading = false; draft.loadPostsError = action.error; break; case ADD_POST_REQUEST: draft.addPostLoading = true; draft.addPostDone = false; draft.addPostError = null; break; case ADD_POST_SUCCESS: draft.addPostLoading = false; draft.addPostDone = true; draft.mainPosts.unshift(dummyPost(action.data)); break; case ADD_POST_FAILURE: draft.addPostLoading = false; draft.addPostError = action.error; break; case REMOVE_POST_REQUEST: draft.removePostLoading = true; draft.removePostDone = false; draft.removePostError = null; break; case REMOVE_POST_SUCCESS: draft.removePostLoading = false; draft.removePostDone = true; draft.mainPosts = draft.mainPosts.filter((v) => v.id !== action.data); break; case REMOVE_POST_FAILURE: draft.removePostLoading = false; draft.removePostError = action.error; break; case ADD_COMMENT_REQUEST: draft.addCommentLoading = true; draft.addCommentDone = false; draft.addCommentError = null; break; case ADD_COMMENT_SUCCESS: { const post = draft.mainPosts.find((v) => v.id === action.data.postId); post.Comments.unshift(dummyComment(action.data.content)); draft.addCommentLoading = false; draft.addCommentDone = true; break } case ADD_COMMENT_FAILURE: draft.addCommentLoading = false; draft.addCommentError = action.error; break; default: break; } }); export default reducer; //posts/index.js function Home() { const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); const { mainPosts } = useSelector( (state) => state.post ); return ( <> <Header /> <Nav /> {mainPosts.map((post) => ( <DeskLatestPost post={post} /> ))} <DeskLatestPost post={post} /> <Footer /> </> ); } export default Home;//store/configureStore.js import { createWrapper } from "next-redux-wrapper"; import { applyMiddleware, compose, createStore } from "redux"; import { composeWithDevTools } from "redux-devtools-extension"; import createSagaMiddleware from "redux-saga"; // 미들웨어는 리덕스 기능을 확장시켜주는 느낌! import reducer from "../reducers"; import rootSaga from "../sagas"; function configureStore({ context }) { console.log(context); const sagaMiddleware = createSagaMiddleware(); // 미들웨어 작성 ~~ ? 배포용 : 개발용 // 배포할때 변동사항이 노출되면 안되므로 개발용에만 보이도록! const middlewares = [sagaMiddleware]; const enhancer = process.env.NODE_ENV === "production" ? compose(applyMiddleware(...middlewares)) : composeWithDevTools(applyMiddleware(...middlewares)); const store = createStore(reducer, enhancer); store.sagaTask = sagaMiddleware.run(rootSaga); return store; } const wrapper = createWrapper(configureStore, { debug: process.env.NODE_ENV === "development", }); export default wrapper;
-
미해결Django REST Framework 핵심사항
CateTagAPIView에서 get 메소드
안녕하세요! 강의 중에 CateTagAPIView안에 get을 정의 하셨는데 이 get은 오버라이딩인가요? APIView에 가서 찾아봤는데 get 메소드가 없어서,,CateTagAPIView에서 정의한 get 메소드가 어떻게 실행(?) 되는건지 궁금합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
질문드립니다!!!
안녕하세요! 한가지 질문이 더 생겨 질문드립니다.저의 경우vis_mask3 = (s_mask_b * 255).astype("uint8") #Open CV로 원본 Object에 masking 작업 수행 instance3 = cv2.bitwise_not(before_mask_roi, before_mask_roi, mask=vis_mask3) vis_mask4 = (s_mask_b2 * 255).astype("uint8") #Open CV로 원본 Object에 masking 작업 수행 instance4 = cv2.bitwise_and(before_mask_roi2, before_mask_roi2, mask=vis_mask4)로 작업을 수행하여 배경만 추출한 vis_mask3 와 객체를 추출한 vis_mask4 이미지를 cv2.add(vis_mask3, vis_mask4) 를 통해 합성하려 하는데, 이미지 사이즈로 인한 오류가 납니다..ㅠ혹시 다른 방법이 있을까요..?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
무선으로 앱설치
무선으로 앱설치 휴대폰에서 화면이 켜졌다가 바로 꺼지는 증상이 발생하고 있습니다...안드로이드스튜디오에서는 전혀 느낌표나 문제가 보이지 않구요.왜 그럴까요? 이전까지는 잘 했는데 fb_login 앱 제작시 문제가 발생했습니다.도움 부탁드립니다. 강의 잘 듣고 있습니다. 감사드려요~
-
미해결실전 프로젝트로 배우는 타입스크립트
웹팩 에러 문의
캠틴 판교님 안녕하세요. 너무나 훌륭한 강의에 큰 도움이 되었습니다. 감사합니다. :)다름이 아니라 웹팩 번들링 시 에러가 발생되는데, 관련하여 도움이 될 수 있을만한 정보가 있을지 문의드립니다.(참고로 빌드 관련 오류 문의를 확인하고 새롭게 올려주신 커밋본에서 수정된 부분을 적용시킨 상태에서 발생한 에러입니다.)기타 컨피그 설정// tsconfig.json { "compilerOptions": { "allowJs": true, "target": "ES5", "outDir": "./dist", "moduleResolution": "Node", "lib": ["ES2015", "DOM", "DOM.Iterable"], "noImplicitAny": true, "strictNullChecks": true, "strictFunctionTypes": true, "strictBindCallApply": true, "strictPropertyInitialization": true, "noImplicitThis": true, "alwaysStrict": true, "strict": true, "esModuleInterop": true, "typeRoots": ["./node_modules/@types", "./types"] }, "include": ["./src/**/*"], "exclude": ["node_modules", "dist"] }// webpack.config.js const path = require('path'); const webpack = require('webpack'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); console.log("path.resolve(__dirname, 'dist')", path.resolve(__dirname, 'dist')) module.exports = { mode: 'production', entry: './src/app.ts', output: { filename: 'app.js', path: path.resolve(__dirname, 'dist'), }, module: { rules: [ { test: /\.ts$/, use: 'ts-loader', exclude: /node_modules/, }, ], }, plugins: [new webpack.ProgressPlugin(), new CleanWebpackPlugin()], }; // package.json { "name": "project", "version": "1.0.0", "description": "최종 프로젝트 폴더입니다", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "webpack" }, "author": "", "license": "ISC", "devDependencies": { "@babel/core": "^7.12.7", "@babel/preset-env": "^7.12.7", "@babel/preset-typescript": "^7.12.7", "@types/chart.js": "^2.9.30", "@typescript-eslint/eslint-plugin": "^4.8.1", "@typescript-eslint/parser": "^4.8.1", "clean-webpack-plugin": "^3.0.0", "eslint": "^7.14.0", "eslint-plugin-prettier": "^3.1.4", "prettier": "^2.2.0", "ts-loader": "^8.0.14", "typescript": "^4.1.2", "webpack": "^5.18.0", "webpack-cli": "^4.4.0" }, "dependencies": { "axios": "^1.1.0", "chart.js": "^3.9.1" } } // index.html ... <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script> <script src="./dist/app.js"></script>에러로그npm run build > project@1.0.0 build > webpack orphan modules 154 KiB [orphan] 41 modules runtime modules 670 bytes 3 modules cacheable modules 500 KiB ./src/app.ts 11.2 KiB [built] [code generated] ./node_modules/axios/index.js + 40 modules 79.7 KiB [built] [code generated] ./node_modules/chart.js/dist/chart.mjs + 1 modules 409 KiB [built] [code generated] ./node_modules/form-data/lib/browser.js 101 bytes [built] [code generated] ERROR in ./src/app.ts 44:14-38 Module not found: Error: Can't resolve './covid/index' in '/Users/xxx/Study/typescript/project/src' resolve './covid/index' in '/Users/xxx/Study/typescript/project/src' using description file: /Users/xxx/Study/typescript/project/package.json (relative path: ./src) Field 'browser' doesn't contain a valid alias configuration using description file: /Users/xxx/Study/typescript/project/package.json (relative path: ./src/covid/index) no extension Field 'browser' doesn't contain a valid alias configuration /Users/xxx/Study/typescript/project/src/covid/index doesn't exist .js Field 'browser' doesn't contain a valid alias configuration /Users/xxx/Study/typescript/project/src/covid/index.js doesn't exist .json Field 'browser' doesn't contain a valid alias configuration /Users/xxx/Study/typescript/project/src/covid/index.json doesn't exist .wasm Field 'browser' doesn't contain a valid alias configuration /Users/xxx/Study/typescript/project/src/covid/index.wasm doesn't exist as directory /Users/xxx/Study/typescript/project/src/covid/index doesn't exist webpack 5.74.0 compiled with 1 error in 2589 ms
-
미해결더 자바, Java 8
Supplier를 쓰는 이유
안녕하세요? 강의 잘 듣고 있습니다.Supplier는 매개변수가 없고 리턴값만 있잖아요,함수형 프로그래밍을 하려고 순수함수 조건을 만족시키려면 상태가 없어야 하니까 함수 밖에 있는 값을 가져와서 쓸 수 없는데 그러면 Supplier를 왜 쓰는지 이해가 가지 않습니다.클래스 변수나 인스턴스 변수의 값을 가져와서 리턴하지 않고 순수함수 조건을 만족시키려면 Supplier<Integer> supplier = () -> 10; 이런 식으로 항상 같은 값만 리턴할텐데 어떤 경우에 Supplier를 쓰는지 예시가 궁금합니다.
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
완성은 했지만 문제가 자유게시판이네요
자유게시판에 삭제 수정 댓글 쓰기 만드는게 어렵네요 자유게시판에도 게시판 수정 댓글 쓰기 강의 나오면 좋겠네요
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Web 디팬던시 관련 문의
안녕하세요! 먼저 좋은 수업 감사드립니다.Spring Cloud Gateway - 프로젝트 생성 강의 수강중 질문이 있습니다. 이전까지 다른 프로젝트에서는 Spring Web 디팬던시를 추가해주었는데, apigateway-service를 만들때는 Spring Web 디팬던시를 추가해주지 않았습니다.Spring Web이 어떤 역할을 하는지 구글링으로 찾아보려했지만 명확하게 이해하지 못한 것 같아서 여쭤봅니다.감사합니다!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
프로젝트에 대해서
항상 영한님 강의를 들으며 공부하는 학생입니다. 좋은 강의를 제공해주셔서 감사합니다. 질문이 하나 있습니다. 강의와 관련된 질문은 아닙니다. 공부를 하다가 문득 저도 작은 프로젝트를 하나 만들어 보고 싶다는 생각을 하게 되었습니다. 그래서 영한님의 로드맵을 어디까지 수강하고 프로젝트를 시작하면 좋을지 기본은 알고 프로젝트를 진행해야 한다고 생각하는데 어디까지가 기본인지 감이 안잡힙니다. 그래서 혹시나 어디까지 강의를 들었다면 부족해도 프로젝트를 진행해도 되는지와 처음 연습 프로젝트는 어떤걸 만들어 보는것이 좋은지 알려주셨으면 좋겠습니다. 감사합니다.
-
미해결
h2 데이터베이스 설치 강의에서 ddl.sql
저는 강의처럼 파일 로고?에 sql 표시가 안 뜨는데 제가 생성을 잘못해서 그런 걸까요? 검색해봐도 같은 질문을 찾을 수가 없어서 질문드립니다. sql 파일을 제대로 생성한 걸까요..?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
띄어쓰기 유무
선생님 태그 옆에 띄어쓰기가 css 변화에 차이도 줄 수 있나요? 띄어쓰기를 했을 경우 div 값의 flex가 위에 보이다시피 1:1 비율인데 선생님처럼 띄어쓰기를 안했을 경우는 2:1비율로 잘되더라구요 띄어쓰기가 css값에 변화를 줄수도 있나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
질문드립니다!!
안녕하십니까,이게 opencv에서 한번에 가능한 함수가 있는지 잘 모르겠군요.제 생각에 이렇게 하시면 될것 같은데 테스트는 해보지 않았습니다.먼저 segmentation inference 결과인 mask 이미지 array가 있을 때mask_array = inference_segentation결과 반환 array해당 mask_array에서 값이 0 이상인 위치 인덱스를 뽑아내서 non_zero_indexes에 저장합니다.non_zero_indexes = np.where(mask_array > 0 )다음에 원본 이미지 array를 org_img_array라고 하면 원본 이미지의 해당 non_zero_indexes 위치에 있는 원소값을 모두 0으로 만듭니다.org_img_array[non_zero_indexes] = 0이렇게 하면 원본 이미지에서 segmentation mask결과 영역만 검은색으로 표시됩니다.이제 덮어 씌우려는 새로운 이미지를 해당 영역만 제외하고 나머지 영역은 mask를 적용하듯이 모두 0으로 만듭니다. 이렇게 만든 새로운 이미지를 new_img_array라고 하겠습니다.그런 다음 opencv의 add() 연산을 이용하여 org_img_array와 new_img_array를 더하면 원하시는 이미지가 만들어 질것 같습니다.added_new_img_array = cv2.add(org_img, array, new_img_array)감사합니다.에 관한 질문입니다!!안녕하세요 선생님 너무 감사하게도 친절한 답변을 남겨주신 덕분에 실습을 잘 진행하고 있는 학생입니다.다름이 아니라 알려주신 코드로 실습을 진행하는 와중에 궁금한 점이 생겨 질문드립니다. 위에서 봐주신 코드를 제가 이해하기론mask_array = inference_segentation결과 반환 array => mask_array = s_mask_b (object 를 감지한 결과를 원본 이미지만큼 scale out 한 배열)non_zero_indexes = np.where(mask_array > 0 )=> non_zero_indexes = np.where(mask_array > 0 ) (mask 배열값 중 object라고 인지한 인덱스의 배열)org_img_array[non_zero_indexes] = 0=> draw_img = img.copy() draw_img[non_zero_indexes] (원본 이미지를 복사한 배열 중 object라고 인지한 인덱스의 배열을 0으로 만듦)가 맞나요?
-
미해결Do it! 키트 없이 배우는 아두이노
팅커캐드 사이트에서 계정생성해야 하는건가요?
실습 따라가려면, 팅커캐드 사이트에서 개인별로 계정생성해야 하는건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
코드질문
9분54초에 public enum CameraMode코드가 무슨역할을 하는거나요 enum은 무슨역할을하고 CameraMode는 단순한 변수이름?같은거나요 아님 함수같이 역할이 지정되있는건가요 그리고 QuarterView는 무슨역할을 하는거나요 왜 ;를 안쓰고 ,를 쓰는거나요10분 16초에 Define.CameraMode _mode = Define.CameraMode.QuarterView는 어떤의미의 코드인가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S 질문입니다.
안녕하세요! 강의 너무 잘 듣고 있습니다!해설강의를 보고 풀이법은 이해가 갔습니다. 하지만 제가 기존에 짜던 코드가 시간초과가 발생하는데, 이는 어떠한 원인으로 생기는 것인가요? check 배열로 이미 방문한 것은 큐에 넣지 않으면서 최대한 시간을 단축했다고 생각했는데....봐주시면 감사하겠습니다!http://boj.kr/0730ff444ed64c5caac066c698d858e0
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
@GetMapping("/api/v1/members") 부분이 이해가가지 않습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요. 다름이 아니라@GetMapping("/api/v1/members") public List<Member> membersV1() { return memberService.findMembers(); } 관련 포스트맨으로 저도 강사님처럼 테스트하려고 하니오류가 발생햇습니다.HttpMessageNotWritableException에러가 발생했고 강사님이랑 코드는 똑같은데 왜 오류가 나는지 모르겟습니다. 제가 추측하기로는 멤버의 전체를 가져오는데 xtoMany 전략이 기본 fetch가lazy를 사용하기 때문에 멤버를 조회 할 때 오더에내용은 가져오지 않앗고 JSON 으로 넘기는 과정에서member가 가지고 있는 orders 에 값을 가져오지 못하여 나는 오류인거같은데 맞는지 궁금합니다. 실제로 @OneToMany(mappedBy = "member", fetch = FetchType.EAGER) private List<Order> orders = new ArrayList<>();이렇게 Member 엔티티의 페치방식을 수정해주니까 오류없이 강사님과 같은 화면을 출력 할 수 있었습니다. 근데 이상하게 해당 fetch 속성을 변경하지 않고public List<Member> findAll() { return em.createQuery("select m from Member as m join fetch m.orders", Member.class) .getResultList(); } JPQL 을 이런식으로 변경했더니 또 아무것도 못가져오는 상태가 되었습니다. 저는 위에 fetch 속성을 변경하거나해당 jpql 로 저렇게 가져오는게 동일하다고 생각햇습니다.. 그리고 추가적으로 강산님은 Member 엔티티 order에 fetch 속성을 변경하지도 않으셧는데 아무런 오류 없이 잘 가져와지는것이 이해가 가지 않습니다. 왜 강사님은 페치전략 변경없이 잘 가져와 지는데저는 페치전략을 변경해야 강사님처럼 가져와지는걸까요??
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
Wrapper 클래스란?(실습) 프로젝트에서
강사님 좋은 강의 잘 듣고 있습니다!Wrapper 클래스란?(실습) 프로젝트에서Object 배열을 아래처럼 반복문에 넣어 실행했을 때obj[i]와 obj[i].toString의 값이 다른데,obj[i]는 이때 Integer 형으로 배열에 저장되어 있고,obj[i].toString은 String 형으로 출력되기 때문에 false가 출력되는 걸까요?