묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Node.js에 TypeScript 적용하기(feat. NodeBird)
user 라우터 관련 질문
router.get('/:id/posts', async (req, res, next) => { try { const posts = await Post.findAll({ where: { UserID: parseInt(req.params.id, 10) || (req.user && req.user.id) || 0, // 특정 사람의 게시글 RetweetId: null, }, include: [{ model: User, attributes: ['id', 'nickname'], }, { model: Image, }, { model: User, as: 'Likers', attributes: ['id'] }] }); res.json(posts); } catch (err) { console.error(err); next(err); } }) 제로초님 안녕하세요. 위의 코드에서 posts의 where절 조건 설정하는 부분이 조금 잘 이해가 되지 않는데요. 특정 사람의 게시글을 가져오거나 로그인한 사용자가 쓴 게시글을 가져오거나 혹은 아무 것도 가져오지 않는 경우로 이해하고 있는데, 0을 붙이는 것은 에러를 처리하는 경우로 이해할 수 있겠는데, 자기 글을 가져오는 것은 어떻게 되는 것인가요? path가 /user/posts인 경우 이 라우터에서 id가 없는 경우로 처리하는 것으로 보면 될까요?
-
미해결화이트해커가 되기 위한 8가지 웹 해킹 기술
xampp다운
xampp를서버에접속해서 다운하려고하는데 다운하는곳이 접속이안됩니다.공룍이 전선을 못연결하는 그림이나오네요 해결하실수있는분은답변 부탁드립니다ㅜ
-
미해결Node.js에 TypeScript 적용하기(feat. NodeBird)
ambient module을 활용한 타입 문제 해결시 문제가 발생합니다.
제로초님 안녕하세요. 영상에서 해결해주신 대로 타입문제를 해결하고 있는데요. 그런데 tsconfig.json을 아래처럼 { "compilerOptions": { "strict": true, "lib": ["es2015", "es2016", "es2017", "es2018", "es2019", "es2020"], "moduleResolution": "node", "typeRoots": ["./types"] }, "files": ["./index.ts"] } files에 index.ts를 넣으면 같은 에러가 발생합니다. 그리고 저 부분을 제외하면 router.get('/', isLoggedIn, (req , res) => { const user = req.user!.toJSON() as User; delete user.password; return res.json(user); } ) 위의 코드에서 req.user!.tsJSON()에서는 문제가 안 생기는데, 대신에 delete 다음에 오는 user.password 부분에 "The operand of a 'delete' operator must be optional." 이라는 에러가 뜹니다. 저 user.password의 type definition을 보면 public User.password: string 이라고 나오는데, 모델을 정의하는 부분에서는 password 뒤에 !를 붙였고, User.init 함수 안에서도 alowNull을 false로 설정해서 optional이 올 필요가 없어보이는데도 그렇네요. 강의 중에는 그런 문제가 안 나오는 것 같던데, 혹시 타입스크립트 버전 차이 때문에 그런 것일까요? 현재 4.2.4 버전 사용 중입니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
아래 해당 에러 반환하는 이유가 뭐죠..
영상의 포스트맨 화면과 달라서 좀 헷갈리는데요; epamples라는 것이 없어서 ...으로 표시되어있는곳을 눌러보니 영상에서는 default와 add example라고 값이 있는 반면에 add example 와 delete 값만 있더라구요. 일단 추측으로 add example를 눌러서 최상단에 이름을 default라고 지정하여 사용하였습니다. 그 뒤로는 영상에서 나온대로 그대로 따라하였습니다. 배열을 save하고 products로 들어가서 send를 하니까 데이터가 아래 사진처럼 error 가 뜨더라구요.ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
13:12 질문입니다!
안녕하세요 강사님 테스트를 하다가 레파지토리를 초기화 하는 과정에서 실제 repository 클래스에 store.clear() 라는 메소드를 추가하셨는데 질문이 있습니다. 만약 저 레파지토리가 이렇게 간단한게 아니라 실무에서 쓰이는 거라면 레파지토리의 데이터를 다 날려버릴 수 있는 위험성이 존재하는 코드를 넣어도 되나요? 어디서 듣기로는 테스트용을 위한 코드를 본 로직을 작성하는 코드에 적는건 좋지 않다고 주워들었던 것 같은데 (저도 주워 들은거라 잘 모르겠습니다 ㅎㅎ...) 궁금합니다 !! 만약 단순히 강의용으로 간단하게 작성하신거라면 실제로는 어떻게 초기화 하는지가 궁금합니다!
-
미해결스프링 시큐리티
웹 기반 시큐리티에 어울리지 않는다는 뜻이 정확이 어떤 뜻인지 궁금합니다.
웹 기반 시큐리티에 어울리지 않는다는 뜻이 정확이 어떤 뜻인지 궁금합니다. 강의 25초 쯤에 하신 말씀이 궁금해서 문의 드립니다. 해당 기능 또한 나이스한 방법으로 웹 시큐리티에서 사용할수 있을것 같은데 혹시 어울리지 않는 이유가 궁금합니다~
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
4번문제는 _hp의 자료형을 바꿔주는건 잘못된거죠?
디버깅하면서 봤을떄 int의 한도치가 넘어가서 생기는 오류라고 생각해서저는 int를 long long 으로 바꿔주었는데그렇게되면 메모리가 커지다 보니 좋지 않은 방법이겠지요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Posts 데이터가 안불러집니다 흑
전에는 me.nickname 에 nickname이 안불러져 와서 제로초님이 알려주신 방식대로 ?. 옵셔널 체이닝(?) 방식으로 처리했는데 이번에는 me.Posts, me.Followings, me.Followers 하니까 이런 에러들이 나와서 이번에도 이런식으로 처리를 했는데요 ㅠㅠ 이렇게 없는 걸로 간주되어 프로필이랑 작성글, 팔로잉, 팔로워에 아무것도 안나옵니다... 👇🏻 제가 작성한 리듀서 내용 입니다 ! 늘 답변 감사드립니다 ㅜ! export const initialState = { logInLoading: false, // 로그인 시도중 => ture가 되면 로딩창을 띄운다. logInDone: false, logInError: null, logOutLoading: false, // 로그아웃 시도중 logOutDone: false, logOutError: null, signUpLoading: false, // 로그아웃 시도중 signUpDone: false, signUpError: null, me: null, signUpData: {}, loginData: {}, }; // 액션 선언 export const LOG_IN_REQUEST = "LOG_IN_REQUEST"; export const LOG_IN_SUCCESS = "LOG_IN_SUCCESS"; export const LOG_IN_FAILURE = "LOG_IN_FAILURE"; export const LOG_OUT_REQUEST = "LOG_OUT_REQUEST"; export const LOG_OUT_SUCCESS = "LOG_OUT_SUCCESS"; export const LOG_OUT_FAILURE = "LOG_OUT_FAILURE"; export const SIGN_UP_REQUEST = "SIGN_UP_REQUEST"; export const SIGN_UP_SUCCESS = "SIGN_UP_SUCCESS"; export const SIGN_UP_FAILURE = "SIGN_UP_FAILURE"; export const FOLLOW_REQUEST = "FOLLOW_REQUEST"; export const FOLLOW_SUCCESS = "FOLLOW_SUCCESS"; export const FOLLOW_FAILURE = "FOLLOW_FAILURE"; export const UNFOLLOW_REQUEST = "UNFOLLOW_REQUEST"; export const UNFOLLOW_SUCCESS = "UNFOLLOW_SUCCESS"; export const UNFOLLOW_FAILURE = "UNFOLLOW_FAILURE"; const dummyUser = (data) => ({ ...data, nickname: "hyunju", id: 1, Posts: [{ id: 1 }], Followings: [], Follwers: [], }); // 시퀄라이즈에서 합쳐주기때문에 대문자 export const loginRequestAction = (data) => ({ type: LOG_IN_REQUEST, data, }); export const logoutRequestAction = () => ({ type: LOG_OUT_REQUEST, }); // 리듀서 상태 선언 const reducer = (state = initialState, action) => { switch (action.type) { case LOG_IN_REQUEST: console.log("리듀서 로그인"); return { ...state, logInLoading: true, logInDone: false, logInError: null, }; case LOG_IN_SUCCESS: return { ...state, logInLoading: false, logInDone: true, me: dummyUser(action.data), }; case LOG_IN_FAILURE: return { ...state, logInLoading: false, logInError: action.error, }; // -------------------------------------------- case LOG_OUT_REQUEST: return { ...state, logOutLoading: true, logOutDone: false, logOutError: null, }; case LOG_OUT_SUCCESS: return { ...state, logOutLoading: false, logOutDone: true, me: null, }; case LOG_OUT_FAILURE: return { ...state, logOutLoading: false, logOutError: action.error, }; // -------------------------------------------- case SIGN_UP_REQUEST: return { ...state, signUpLoading: true, signUpDone: false, signUpError: null, }; case SIGN_UP_SUCCESS: return { ...state, signUpLoading: false, signUpDone: true, }; case SIGN_UP_FAILURE: return { ...state, signUpLoading: false, signUpError: action.error, }; default: return state; } }; export default reducer;
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
jpa 질문
update메서드 종료후, controller에서 다시 findOne으로 조회할 때 select 쿼리가 다시 안나가는 이유가 궁금합니다.
-
미해결비전공자를 위한 개발자 취업 개론
앱 개발관련 부트캠프 질문 드립니다!
안녕하세요 강의를 들으면서 개발자에 대한 꿈을 꾸고 3월부터 서울에 올라와서 공부중에 있습니다.다름이 아니라 개발 언어를 놓고 어떤 것을 공부해야 할까를 공부하면서 찾고 있던 중에 앱 개발에 관심이 많이 쏠려서 스위프트나 코틀린에 관심이 가서 그 두 가지를 택하려 하는데 아무래도 국비 교육보다는 돈을 내고 더 성취감 있고, 그 만큼 열정을 쏟고 싶은데(물론 국비교육도 좋은 곳이 있다면 그곳을 가는게 좋겠지만) 혹 추천해주실 곳이나 유의해야 될 부분이 있을까요????
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
원더랜드(프림) 질문입니다.
안녕하세요 강사님, 강사님의 강의 코드중 41라인에서, 인접리스트에 있는 간선정보를 pQ.offer(new Edge(ob.vex, ob.cost)) 로 새로 만들면서 넣어주셨는데, 어차피 같은 값이기 때문에 그냥 ob 그대로 넣어주어도 상관없는건가요? 저는 그대로 넣어주고 채점을 했을때, AC가 뜨기는 했습니다. 그런데 똑같은 값인데 계속 새로 만들어서 넣어주면 객체를 새로 만들어서 넣어주는거라 시간이 좀 더 걸릴것도 같아서요... 있는걸 그대로 넣어주면 원본이 들어가는거라 더 위험해서 새로 만들어주신건가요?그대로 넣어주어도 상관없는지 궁금합니다. .... int answer = 0; edges.offer(new Edge(1, 0)); while (!edges.isEmpty()) { Edge edge = edges.poll(); int currentVertex = edge.vertex; if (check[currentVertex] == 1) { continue; } check[currentVertex] = 1; answer += edge.cost; for (Edge nextEdge : adjacencyList.get(currentVertex)) { int nextVertex = nextEdge.vertex; if (check[nextVertex] == 1) { continue; } edges.offer(nextEdge); // <== 이부분 } } System.out.println(answer); ...
-
미해결윤재성의 Oracle SQL Database 11g PL/SQL Developer
강의문제파일
강의 잘 듣고 있습니다. 강의 문제 파일(ppt) 공유 부탁드립니다.
-
미해결RPA로 자동화 천재되기 (UiPath 응용편)
Maximize Window 질문
2강 "코로나 바이러스 현황"데이터 추출하기! 공부 중입니다. 도중에 Maximize Window 를 써서 브라우저를 전체화면으로 강제시키는 부분이 있는데, 인위적으로 창을 작게 만든 다음 실행시키면 Maximize Window 를 써도 전체화면이 되질 않습니다. 왜 이런 걸까요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
질문입니다!
public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; } MemberService 생성자에 memberRepository 인터페이스를 주입시켜줬는데, Q&A 에서 이는 자바의 다형성을 위함이라고 읽었습니다. 이건 이해했는데 다형성을 구현하는 방법을 더 구체적으로 알고싶어 질문합니다! 현재 구현체인 MemoryMemberRepository 가 아닌 다른 구현체 DbMemoryRepository로 서비스에 주입하고 싶을땐, MemoryMemberRepository에 적은 @Repository를 지우고 또 다른 구현체 DbMemoryRepository에 @Repository를 다는 식으로 코드를 갈아끼우는 게 맞을까요?? 이렇게 하면 Service는 건드리지 않고, Repository의 어노테이션만 지우고 다시 적으면 되는거니까... 이렇게 하는게 맞는지 궁금합니다!
-
미해결유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발
TEXT 추가시 Canvas 선이 보여요!
강의를 똑같이 따라했는데, 저는 첨부한 이미지 파일처럼 Canvas의 선이 보이네요. 게임을 플레이 해도 똑같은게 계속 보이는데, 어떤 문제인지, 어떻게 해결 할 수 있는지 궁금해요!
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
45강 실행이 안됨
45강을 들을려고 하는데 동영상 준비중이라는데 맞는건지요??
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
꼭 대답해주세요 중요합니다
스프링 mvc를 강의를 지금 메이븐으로 하시는거같은데 intellij환경에서 스프링부트 gradle로 실습을 똑같이 진행할시 프로젝트를 할 수있는지 궁금하여 여쭤봅니다
-
미해결[2021] 요즘 누가 유료로 웹서비스 구축하나, 파이어베이스의 모든 것 - Javascript
Auth 활용[구글 Social 계정 로그인] 강의에서 오류가뜨네요
Auth 활용[구글 Social 계정 로그인] 강의에서 오류가뜨네요 Social Login 버튼이 로그인안되요
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolo관련 질문
선생님 저번에 질문드린 쓰레기 분리수거 학생입니다. 우선 자바기반의 웹에 yolo를 붙히고 싶은데 yolo를 자바에 넣어서 사용할 수 있을까요? 또 aws를 이용하여 yolo를 학습시키는 방법도 궁금합니다! 건강 조심하시고 강의 만들어 주셔서 감사합니다.
-
미해결웹 게임을 만들며 배우는 자바스크립트
필터 메소드 관련 질문입니다.
제로초님 안녕하세요! 좋은 강의 감사드립니다. 유튜브랑 블로그도 틈나는대로 보고있는데 많은 도움을 받고 있습니다. 가위바위보까지는 헷갈리는 부분만 이론 위주로 들었고 지뢰찾기부터 처음부터 따라가면서 코딩하고있는데요, 지뢰찾기 강의 중 필터 메소드 관련해서 궁금한 점이 생겨서 질문드립니다. 질문 01) var 주변 = []; 에 처음에는 concat 메소드를 사용하지 않고 8개 객체를 모두 넣었지만 맨윗줄이랑 맨아랫줄 클릭시 에러로 인해 if (tbody.children[줄 -/+ 1] )이라는 조건 후 concat사용해서 해결하신 부분이 있었는데요, 강의 후반부에서 Array.filter(function(v) { return !!v}); 라는 방법으로 배열에서 falsy 값들을 제외하는 방법이 있다는 것을 알게되었습니다. 그렇다면 주변.filter(function(v) { return !!v; }).filter(function(v) { return [코드표.지뢰].includes(v); }).length 와 같이 filter를 두번 잇는다면 concat을 사용하지 않고도 에러를 피해갈 수 있지 않을까 싶어서 질문드립니다. 질문 02) 두번째 질문도 첫번째 질문이랑 연관되어있는데요, 이건 실시간 댓글에서도 잠깐 질문이 나왔었는데, e.currentTarget에 해당하는 <td>클릭시 [줄] 부분은 가장 윗줄(-1)에서 에러가 발생했는데 왜 [칸] 부분은 가장 왼쪽(-1)에서 에러가 발생하지 않는지 궁금해서 질문드립니다. 영상에서는 처음에 "주변" 배열의 [칸], 즉 가로부터 테스트했을 때 에러가 났고 .length 붙이면서 해결이 되었는데요, 이건 length라는 메소드가 배열에 undefined가 있으면 건너뛰면서 숫자를 세기 때문에 가능했던걸까요? ------------------------------------------------------------------------------------------------------ 왠지 세로 부분에서 에러가 난건 length나 filter 등 메소드가 원인이 아니고 dataset[줄][칸]을 불러오는 과정에서 [줄] 부분에 참조값이 없어서(음수여서) [칸]을 찾을 수 없었기 때문에 에러가 발생한거같다는 생각이 드는데요, 그래도 궁금해서 질문드렸습니다..!(물론 저도 찾아볼 생각이고 강의 흐름상 크게 중요한 부분도 아닌 것 같아 답변 안해주셔도 상관없지만 혹시나 하는 마음에 질문드립니다.) 마지막으로 , 한달정도 전에 노드교과서를 샀는데요(이때는 제로초님이 쓰신건줄 모르고 샀음) , 아직 도입부까지만 읽었습니다. 우선 리액트까지는 무조건 한다는 생각인데요, 그 다음에는 어떻게 해야할까요? 조언 부탁드립니다. (목표는 중견기업이고 백엔트/프론트엔드/UI 전부 다 할 생각입니다) ps 자바스크립트책은 아직 안나온건가요?