묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
c++ 자료구조 문제 질문
배열이 더 이상 항목을 보유하지 않을 때까지 n개의 원소 배열로부터 무작위로 엔트리를 반복적으로 선택하고 제거하는 간단한 C++함수를 만들어야 하는데 오늘 처음 공부하는데 잘 몰라서 해답을 보면서 공부하고 싶은데 해답이 없네요...
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
배포 후 Not Found
로그 확인해보니 아래와 같은 에러가 있습니다Error: ENOENT: no such file or directory, stat '/app/client/build/index.html'다른 에러는 없고 위 에러 코드만 3번 뜨네요. + 몽구스 에러도 나왔습니다. production.js에 키는 제대로 입력을 했습니다MongooseError: The uri parameter to openUri() must be a string, got "undefined". Make sure the first parameter to mongoose.connect() or mongoose.createConnection() is a string.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
테스트 코드와 트랜잭션 문의 드립니다.
강사님 영상https://www.youtube.com/watch?v=S_66BYHWT2A안녕하세요 강사님강의 잘 보고 있습니다.강의중 테스트 코드 작성하는 부분에서 궁금한 부분이 있어서요H2 데이터베이스를 사용해서하나의 테스트 파일에 여러개의 테스트 코드를 작성하게 되면auto-increment 가 같이 증가하면서 문제가 발생하더라구요관련해서 구글링을 해보니까@Transactional과 this.entityManagr .createNativeQuery("ALTER TABLE portfolio ALTER COLUMN pofo_post_no RESTART WITH 1") .executeUpdate();초기 값으로 초기화 하는 방법이 있더라구요강사님은 트랜잭션을 서비스 코드에서 사용하지 않는다고 하셨는데auto-increment 초기화를 어떻게 하시는지 궁금해서 질문 드립니다.참고 링크https://github.com/HomoEfficio/dev-tips/blob/master/Spring%20Data%20JPA%20%ED%85%8C%EC%8A%A4%ED%8A%B8%20%EC%8B%9C%20auto-increment%20%EB%AC%B8%EC%A0%9C.md감사합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
cookie와 cache에 대해서 질문 드립니다!
안녕하세요, http 강의를 끝까지 어제 일자로 완강하고 다시 한번 보고 있는데 아리송 한게 생겨서 질문 남겨봅니다.쿠키는 사용자 인증을 도와주며 최소한의 정보만으로 사용자를 식별하여 http의 stateless 문제를 해결할수 있었습니다. 또한 session의 개념이 cookie를 통해 전달되는 session id를 서버에서 관리하는 것일뿐 cookie와 session이 완전 다른 것이 아니라 cookie의 일부분이 session임을 알수 있었습니다.반면 캐시는 이미지 파일등과 같은 크기가 큰 데이터를 전송 할때 서버에서 네트워크 부하를 줄여 주며 클라이언트에서도 랜더링이 더 빠르게 되게끔 해주는 역할을 하는 것으로 이해 하였습니다.제가 궁금한점은제가 이해한 cookie와 session, cache에 대한 이해가 명확한지 궁금합니다.쿠키에 해당 URI에 대응하는 쿠키 저장소에 정보가 존재한다면, 반드시 request시 함께 보내는것이 HTTP cookie specification에 있음을 알았는데, 캐시 또한 항상 uri에 대응하는 데이터가 브라우저 캐시에 있으면 request시 함께 보내는지 궁금합니다.'쿠키로 광고 정보 트래킹시 사용할 수 있다'는 부분이 이해가 안되는데 session id로 서버쪽에서 이 광고에 누가 접근 했는지 기록해서 맞춤 광고를 내보낼수 있다라는 말인가요?캐시와 조건부 요청 헤더 3:30초 부분에서 잘 이해가 안되는데, 캐시 만료일 지정시 expire에서 캐시 만료일을 날짜로 지정하는 것이 초단위(max-age)로 설정하는것 보다 왜 덜 유연하다고 표현하나요? 초단위는 계산을 해야하는데 왜 더 유연하다고 표현하는지가 명확히 이해가 안됩니다항상 답변 감사합니다.
-
미해결
yolo v5 labelimg 사진추가 오류
yolov5에서 labelimg를 사용하는데 labelimg로 라벨링 작업을 한 후,새로운 이미지들이 생겨 이전에 라벨링 작업을 했던 이미지 폴더에 새로운 이미지들을 추가하여라벨링 작업을 이어서 했더니, 전에 작업했던 라벨링들이 다 지워지는 현상이 발생했습니다. labelimg를 사용하여 전에 라벨링 작업했던 것과 새로 라벨링 작업한 것을 합쳐도 이런 현상이 발생하는데,labelimg에서 새로운 이미지를 추가하려면 모든 이미지들을 처음부터 라벨링 다시 해야 하나요?아니면 해결방법이 있을까요?
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
무비렌즈 최신 데이터를 이용하고싶은데요~
안녕하세요 거친코딩님!해당 알고리즘을 최신 무비렌즈 데이터를 이용해서 구현하려하는데요.해당 압축파일에 있는 파일과 강사님이 올려주신 파일이 확장자명이 다른데,최신파일로 구현하고자하면 밑에 파일에서 어떤걸 건들어야할까요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
this === {}
export와 this에서, global에 있는 this와 {}가 같다고 하셨는데, 테스트 하면 false로 뜹니다.console.log(this === module.exports === {}) //false어떻게 해야 같다고 뜨는 건가요? 제가 잘못 작성한건지 문의드립니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 연관관계 편의 메소드, 생성 메소드에 대해 질문드립니다.
안녕하세요. 항상 강의 잘 보고 있습니다.https://www.inflearn.com/questions/16235의 답변을 보면 setter를 외부에 노출을줄이기위해Entity의 setter의 사용을 지양하는거로 이해했고, 워낙 복잡하게 엔티티들을 사용하실텐데강의 예제에서 사용하는 Member와 Order, OrderItem의 엔티티를 실무에서 사용하는거처럼 연관관계메소드랑 생성메소드를 임의로 작성해봤습니다.@Entity @Getter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @OneToMany(mappedBy = "member") private List<Order> orders = new ArrayList<>(); @Builder private Member(String name) { this.name = name; } /== 생성 메소드 == / public static Member createMember(String name) { return Member.builder().name(name).build(); } } @Entity @Getter public class Order { @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; //주문 회원 @OneToMany(mappedBy = "order", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>(); @Builder private Order(Member member) { /== 연관관계 메소드 ==/ this.member = member; member.getOrders().add(this); } /== 생성 메소드 == / public static Order createOrder(Member member) { return Order.builder().member(member).build(); } } @Entity @Table(name = "order_item") @Getter public class OrderItem { @Id @GeneratedValue @Column(name = "order_item_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "order_id") private Order order; //주문 @Builder private OrderItem(Order order) { /== 연관관계 메소드 ==/ this.order = order; order.getOrderItems().add(this); } /== 생성 메소드 == / public static OrderItem createOrderItem(Order order) { return OrderItem.builder().order(order).build(); } } 제가 예제를 실무에서 setter를 제거하고 builder를 사용하는 방법인거처럼 생각하고 바꿔보았는데,연관관계 메소드를 저렇게 변경하는게 맞는방법인가요?@OneToMany를 가진엔티티에서 생성자에 아무것도 안해줘도 되는것인지?아니면 어떻게 setter를 제거하고 연관관계메소드를 정의하시는지 궁금합니다.
-
미해결배달앱 클론코딩 [with React Native]
코드푸시 관련 질문
안녕하세요. 다름이 아니라 코드푸시 학습중 궁금한 점이 있어 질문드립니다.첫번째로코드푸시할때만 package.json 버전으로 편의상 체크만 해두고 aos, ios는 버전 안올리고앱스토어에 배포할 경우에만 (aos,ios) 버전을 package.json과 맞추면 되는지 궁금합니다. 두번째로코드푸시 할 때 'npm run codepush:android'만 해도 코드푸시가 작동하는데'npm run bundle:android'와 'npm run codepush:android'가 어떤 상호작용을 하는지 궁금합니다."codepush:android": "appcenter codepush release-react -a name/sentry_codepush -d Production --sourcemap-output --output-dir ./build -m -t 1.0", "bundle:android": "react-native bundle --assets-dest build/CodePush --bundle-output build/CodePush/index.android.bundle --dev false --entry-file index.js --platform android --sourcemap-output build/CodePush/index.android.bundle.map", 세번째로제가 잘못한 부분인것 같은데 앱센터에 코드푸시 올라간 상태로 앱을 지우고 다시 설치해서 실행하면 업데이트 문구가 뜹니다. 코드 푸시 적용한 코드와 같은 상태에 빌드앱 인 것 같은데 업데이트가 어떤 이유로 뜨는지 궁금합니다. 감사합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
else문 10줄,11줄이 이해가 안가는 부분이 있습니다.
안녕하세요! 강의 잘 듣고 있습니다 :) 다름이 아니라 이 문제에서 궁금한 점이 있습니다.else: for i in range(n): DFS(L+1, sum+a[i])로 지정하셨더라고요! 근데 다른 문제에서는else: DFS(L+1, sum+a[L]) 이런 방식으로 푸셨는데 어떤 차이일까요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
동적라우팅 seo 질문!
안녕하세요 제로초님ssr에서 동적라우팅으로 생성된 페이지들은 검색엔진이 어떻게 캐치하는 것인가요?getServerSideProps로 ssr 하는 경우 빌드 시점이 아닌 해당 페이지를 요청할때 데이터를 포함시켜서 문서를 만들텐데 검색엔진에 어떻게 노출되는지 궁금합니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
구지 2차원 리스트로 하지 않아도 되죠?
알려주신 부분중에df.loc[[0,1,2]]이 부분을df.loc[0:2]이렇게 해도 실행은 되는데 뭔가 차이점이 있나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 제로초님 redux-persist 질문 드립니다.
안녕하세요 제로초님redux-toolkit에 next-redux-wrapper와 redux-persist 연결하는데 질문드립니다.import userReducer from "@slice/userSlice"; import commonSlice from "@slice/commonSlice"; import localSlice from "@slice/locals"; export const persistConfig = { key: "root", version: 0, whitelist: ["locals"], storage, }; export const rootReducer = (state, action) => { if (action.type === HYDRATE) { return { ...state, ...action.payload, }; } return combineReducers({ user: userReducer, common: commonSlice, locals: localSlice, })(state, action); }; export const reducer = persistReducer(persistConfig, rootReducer); 이렇게 초기 셋팅을 해주었고, export const store = configureStore({ reducer, middleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: { ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER], }, }).concat(logger), devTools: process.env.NEXT_PUBLIC_NODE_ENV !== "production", }); export const persistor = persistStore(store); const setupStore = (context: any): EnhancedStore => store; const makeStore: MakeStore<any> = (context: any) => setupStore(context); export const wrapper = createWrapper<Store>(makeStore); export default wrapper;이렇게 스토어를 만들었습니다.그런데 문제가.. persist에서 rehydrate에서는 저장된 값이 유지 되어있으나.next-redux-wrapper의 hydrate에서 초기 스테이트값을 다시 저장해버리는 문제가 있습니다.둘중 하나를 버려야 할까요? 아니면 셋팅이 잘못된걸까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 강의 시청중 궁금한점 생겨서 질문드립니다.
웹서버의 경우 실무에서 docker를 많이 사용하는 것 같은데요, 혹시 소켓 기반 실시간 게임서버개발에도 docker를 많이 사용하는지 궁금합니다!
-
미해결
vue.js websocket 관련 express 질문드립니다.
안녕하세요 vue.js로 websocket 구현시키는 중 문제가 발생하여 질문드립니다.websocket 구현시키려면 server.js에 express를 사용해야 한다고 해서 'npm install express socket.io' 를 사용하였고 코드를 아래와 같이 구현시켰는데 에러가 발생하네요아래 사진은 에러 메시지 입니다.원인을 좀 알 수 있을까요??
-
미해결데이터 분석 SQL Fundamentals
여러 테이블을 조인할 경우 성능 질문
안녕하세요? 강사님 머신러닝 강의에 이어서 SQL 강의도 잘 보고 있습니다질문이 있는데가령 3개의 테이블을 join할 경우테이블a join 테이블b join 테이블c 이렇게 순서대로 join하는 것과테이블a와 테이블b를 join하고 그 결과를 서브쿼리로 해서 테이블 d로 만들고 테이블c와 join하는 것과 성능적인 측면에서는 차이가 없는건지 궁금합니다
-
미해결초보자도 만들 수 있는 스크롤 인터렉션. 1편 자바스크립트
4-3 함수선언방식 질문
function motion() { //스크롤할때마다 작동할 함수 setProperty(); changeBg(); parallaxMove(); } function init() { motion() }; $(window).scroll(function(e) { motion(); }); init(); //이런식으로 함수끼리 연결?하는방식으로 하셨는데 $(window).scroll(function(e) { setProperty(); changeBg(); parallaxMove(); }); /** 이런식으로 해도 작동이되는거같아서 왜 함수를 스크롤함수,init함수,motion함수 각각 만들어서 연결하는방식으로 하신이유가있을까요? */
-
미해결스프링 핵심 원리 - 기본편
@SpringBootTest 와 순수 자바 테스트
안녕하세요!수업중에 순수 자바 테스트 코드에서는 @Autowired가 동작하지 않아서 @SpringBootTest처럼 스프링 컨테이너를 테스트에 통합한 경우만 가능하다고 하셨는데,그동안의 수업에서 진행한 unit test는 통합 테스트였었나요?분명 스프링컨테이너로 스프링 빈을 등록하고 여러 테스트를 진행했어서 순수 자바 테스트란 어떤 테스트 인지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
영화를 찍는거라면
안녕하세요.플레이버튼을 눌러 영화를 찍는 거라 말씀하셨습니다.그러면 나중에 그 영화 찍은 것을 다시 보려면 어떻게 해야 하나요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
saga의 loadPostsAPI 함수 실행 질문드립니다.
안녕하세요 제로초님 강의잘듣고있습니다.게시글을 불러올 때 saga에서 다음과 같은 에러가 발생하면서 loadPostsAPI 함수가 실행이 안되서 질문드립니다.콘솔의 오류를 확인해보니 data속성을 읽을 수 없어서 LOAD_POSTS_FAILURE에서 error를 출력합니다.강의내용의 코드와 다른점이 없는것같은데 혹시 이문제에 대해 알 수 있을까요?참코 코드도 같이 첨부하겠습니다.reducers/post.jsconst reducer = (state = initialState, action) => { return 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.firstPageLoad = false; draft.mainPosts = draft.mainPosts.concat(action.data); draft.hasMorePosts = draft.mainPosts.length < 30; break; case LOAD_POSTS_FAILURE: draft.loadPostsLoading = false; draft.loadPostsError = action.error; break;sagas/post.jsimport { all, fork, delay, put, takeLatest, call } from 'redux-saga/effects'; import shortId from 'shortid'; import axios from 'axios'; import { LOAD_POSTS_REQUEST, LOAD_POSTS_SUCCESS, LOAD_POSTS_FAILURE, } from '../reducers/post'; function loadPostsAPI() { console.log('사가 실행2'); return axios.get('/posts'); } function* loadPosts() { try { console.log('사가 실행1'); const result = yield call(loadPostsAPI, action.data); yield put({ type: LOAD_POSTS_SUCCESS, data: result.data, }) } catch(err) { yield put({ type: LOAD_POSTS_FAILURE, data: err.response.data }) } } function* watchLoadPosts() { yield takeLatest(LOAD_POSTS_REQUEST, loadPosts); } export default function* postSaga() { yield all([ fork(watchLoadPosts), ]); } routes/posts.jsconst express = require('express'); const { Post, User, Image, Comment } = require('../models'); const router = express.Router(); router.get('/', async (req, res, next) => { try { const posts = await Post.findAll({ limit: 10, order: [ ['createdAt', 'DESC'], [Comment, 'createdAt', 'DESC'], ], include: [{ model: User, attributes: ['id', 'nickname'], }, { model: Image, }, { model: Comment, include: [{ model: User, attributes: ['id', 'nickname'], }], }], }); console.log(posts); res.status(200).json(posts); } catch (error) { console.error(error); next(error); } }); module.exports = router;