묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결생활코딩 - Redux
이상한 오류가 뜹니다.
<html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/redux/4.2.0/redux.min.js"></script> </head> <body> <div id="subject"></div> <div id="toc"></div> <div id="control"></div> <div id="content"></div> <script> function subject() { document.querySelector("#subject").innerHTML = ` <header> <h1>WEB</h1> Hello, WEB! </header>`; } function TOC() { var state = store.getState(); var i = 0; var liTags = ""; while (i < state.contents.length) { liTags = liTags + ` <li> <a onclick=" event.preventDefault(); var action = {type:"SELECT", id:${state.contents[i].id}} store.dispatch(action); " href="${state.contents[i].id}"> ${state.contents[i].title} </a> </li>`; i = i + 1; } document.querySelector("#toc").innerHTML = ` <nav> <ol>${liTags}</ol> </nav> `; } function control() { document.querySelector("#control").innerHTML = ` <ul> <li><a href="/create">create</a></li> <li><input type="button" value="delete"></li> </ul> `; } function article() { document.querySelector("#content").innerHTML = ` <article> <h2>HTML</h2> HTML is ... </article> `; } function reducer(state, action) { console.log(state, action); if (state === undefined) { return { contents: [ { id: 1, title: "HTML", desc: "HTML is .." }, { id: 2, title: "CSS", desc: "CSS is .." }, ], }; } } var store = Redux.createStore(reducer); subject(); TOC(); control(); article(); </script> </body> </html> 코드가 이런데 위에 HTML을 누르면 강의처럼 콘솔에 뜨는게 아니라 창이넘어가면서 Cannot GET/%EB%A6%AC%EB%8D%95%EC%8A%A4/1 이런게 뜹니다 뭘 잘못한걸까요 ㅜㅜ.
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
트윗덱
tweet deck이제는 다시 이용못하나요 확장프로그램이 사용할 수 없다고 나오던데
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 18p int의 최대값?
교안 18p에 int의 최대값으로 987654321을 쓴다고 되어있는데 바로 윗문장에서는 표현범위가 2,147,483,647이라고 적혀져있습니다. 실습으로 int에 표현범위 최댓값인 21억을 넣어봤는데 잘 표현되었고, 최댓값 1e9도 넣어봤지만 잘됩니다. 그렇다면 int의 최대값으로는 2,147,483,647이라고 쓴다고 말해야하는게 아닌가요?? 표현범위는 저렇게 21억정도인데 int 최대값으로 1e9를 쓴다니까 모순되는것 같아서 질문드립니다 ㅠㅠ 아 혹시 실제 int의 최대값은 21억 정도이지만, 표현할 때는 알기쉽게 987654321 또는 1e9를 쓴다는 건가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
문자(char)는 숫자로 변환되서 표기되는데 인코딩값이 아스키코드가 맞나요??
C++말고 Java를 공부했을 때 문자(char)를 저장하여 int값을 반환할 때 아스키코드값이라고 대부분 보긴했는데, 정확히 말하면 파일 인코딩 형식의 10진수 값이 나온다고 하는게 맞다고 들었습니다. 아스키 코드라고 말하는 이유가 127번째 문자까지는 대부분의 인코딩 형식들이 다 똑같기 때문에 라고 봤습니다. 따라서 해당 문자의 시스템 또는 운영체제, IDE의 인코딩 형식의 10진수로 저장된다고 이해하고 있는데, C++은 그런거 상관없이 "아스키코드"를 기반으로 수행이 되는건가요?? 교안 18p에 "문자열에서 + 하는 연산은 아스키코드를 기반으로 수행됩니다." 라고 적혀있길래 너무 궁금해서 문의남깁니다!!!
-
미해결Slack 클론 코딩[실시간 채팅 with React]
workspaceButton map돌리는부분
노드버드나 다른강의에서는 map돌리는것들 깔끔하게 함수로 뺏는데 여기서는 swr로 데이터를 가져왔기때문에 jsx영역에서 map돌리는건가요 ? 뺴고싶어서 요렇게 함수로 뺏는데 적용이 안되더라구요 ? 그리고 userData에 interface | 유니언으로 false사용하면 이렇게 워크스페이스 타입이없다고 뜨는데 유니언 타입써서 얘가 IUser 타입인지 확실하게 하지못해서 뜬다고 생각하여 as 로 단언을 시켯는데 왜저렇게뜰까요? 물론 제로초님이 작성하신 코드대로 jsx영역에서 map돌리면 다해결되긴하는데 ... 궁금해서요
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
강의 자료에 오타 있습니다
김영한님 안녕하세요. 강의 잘 듣고 있습니다. 강의자료에 오타가 있습니다. 지금 강의에 해당하는 10.스프링 트랜잭션 전파1-기본.pdf 에 있고 25페이지에 [참고] 란 첫번째 줄입니다. (소제목 "스프링 트랜잭션 전파7-REQUIRES_NEW" 바로 이전 [참고]란) 구체적인 내용을 적기는 조금 그래서, 확인하시고 수정하시면 될 것 같습니다. 다시 한번 좋은 강의 만들어주셔서 감사합니다.
-
미해결실전 프로젝트로 배우는 타입스크립트
프리티어 안되시는 분들
강의에선 format on save를 체크 하지말라고 하는데, 전 체크를 해제하니 프리티어가 적용이 안되었습니다 오히려 전 체크를 한 후 아래 같이 디폴트 포매터를 적용하니 잘 되었습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
상세 게시물 조회 시 로그인 한 사람과 안 한사람 응답을 다르게 보내는 방법
안녕하세요 제로초님 노드 교과서 강의와 노드버드 강의 덕분에 노드에 대해 많이 배우고 있습니다. 다름이 아니라 팀 프로젝트 중 궁금한게 있어 질문드립니다. 원하는 구현 기능은 전체 게시글 목록에서 상세 게시글 목록으로 들어가면 로그인 한 사람 중 자신이 쓴 게시글 일 경우에만 프론트에서 수정, 삭제 버튼이 보이도록 구현하고 싶습니다. 그래서 프론트에서 요구 사항이 만약 자신이 쓴 게시글의 상세 페이지에 들어갔다면 응답값을 줄 때 isUser: true 이런식으로 표시를 해 달라고 요청이 왔습니다. (로그인 방식은 JWT를 썼습니다) 그래서 상세게시글 URL로 요청이 왔을 때 헤더에 토큰이 있는지 없는지를 확인해서 처리해주기 위해 아래와 같이 코드를 짰습니다. router.get('/post/:id', async (req, res, next) => { if (req.headers.authorization) { authMiddleware(req, res, next); try { const post = await Post.findOne({ where: { id: Number(req.params.id) }, include: [ { model: User, attributes: ['id', 'nickname'], }, ], }); if (res.locals.user === post.UserId) { return res.status(200).json({ post, isUser: true }); } else { return res.status(200).json({ post, isUser: false }); } } catch (error) { console.error(error); next(error); } } else { try { const post = await Post.findOne({ where: { id: Number(req.params.id) }, include: [ { model: User, attributes: ['id', 'nickname'], }, ], }); res.status(201).json(post); } catch (error) { console.error(error); next(error); } } }); 근데 authmidleware 에서 토큰 값을 못 읽어 req.headers는 undefinded라는 오류가 납니다. 저런 방식으로 미들웨어를 확장하는건 아닌 거 같은데 어떤 방법이 있을지 조언 부탁드립니다. authmidleware 부분은 아래와 같이 짰습니다. const User = require('../models/user'); module.exports = (req, res, next) => { const { authorization } = req.headers; const [authType, authToken] = (authorization || '').split(' '); if (!authToken || authType !== 'Bearer') { res.status(401).send({ errorMessage: '로그인 후 이용 가능한 기능입니다.', }); return; } try { const { userId } = jwt.verify(authToken, 'customized-secret-key'); User.findByPk(userId).then((user) => { res.locals.user = user; next(); }); } catch (err) { res.status(401).send({ errorMessage: '로그인 후 이용 가능한 기능입니다.', }); } }; 위와 같은 방식이 아니더라도 로그인 했을 경우 자기 게시글인 경우 수정 삭제가 보이고 로그인 안하거나 로그인 했더라도 자기 게시글이 아닌경우 수정 삭제가 안보이도록 하려면 어떤 방식으로 하면 좋을까요? 소중한 시간 내어 읽어주셔서 감사드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
스핀락 질문입니다
while(_locked.compare_exchange_strong...) { //블라블라 } 부분에서 저 코드가 예시인건 알겠지만 현업에서는 while문 안에서 어떤 별도의 작업을 하게 하는 경우가 있나요? 있다면 보통 어떤 목적으로 사용하는 경우가 많나요?? 그리고 이건 약간 별도의 질문인데 이 강의로 서버파트를 공부할 때 처음부터 끝까지 한번 씩 쫙 들으면서 전반적인 흐름을 파악하고 다시 한번 하면서 깊게 들어가는 방법과 하나씩 하나씩 완벽하게 습득한 후에 다음 개념을 습득하는 방법중 더 추천하는 방법이 있으신가요?
-
미해결언리얼4 블루프린트로 안드로이드 게임 만들기
아이템 미사일 만들기 2
아이템 미사일 만들기 2 까지 잘 따라 왔는데요 .. 미사일 발사하면 뒤로 떨어지듯 뒤로 나가는데 ... 강좌에 미사일이 앞으로 가는 설정이 아래 이미지 설정에서 하는 건가요 ? 어디서 잘 못 되었는지 찾는중인데 .. 모르겠네요 ㅠ
-
미해결MERN STACK 커뮤니티 : 시작부터 배포까지 알려주는 React
마이페이지 이미지 불러오기 오류
마이페이지에서 이미지를 불러오지 못하네요ㅜㅜㅠ 또한 다른 이미지로 변경 하려해도 이런 오류가 뜹니다!! 아무래도 클라우드에서 불러오지 못하는것같은데 무슨 이유인지 잘 모르겠습니다ㅠㅠㅠ
-
미해결처음 배우는 리액트 네이티브
useRef 사용에 대한 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 우선 강의 내용과는 상관없는 Typescipt에 대한 질문을 드려 죄송합니다. useRef 강의를 공부중입니다. import React, { useState, useEffect, useRef } from 'react'; import { TextInput } from 'react-native'; import styled from 'styled-components/native'; import Button from './Button'; const StyledInput = styled.TextInput` border: 1px solid #111111; padding: 10px; margin: 10px 0; width: 200px; font-size: 24px; `; const StyledText = styled.Text` font-size: 24px; margin: 10px; `; const Form = () => { const [name, setName] = useState(''); const [email, setEmail] = useState(''); const refName = useRef<TextInput>(null); const refEmail = useRef<TextInput>(null); // const refName = useRef<HTMLInputElement | null>(null); // const refEmail = useRef<HTMLInputElement | null>(null); const count = 0; useEffect(() => { console.log('--------Mount--------'); refName.current?.focus(); return () => console.log('--------UnMount--------'); }, []); useEffect(() => { console.log(`name : ${name}, email : ${email}`); }, [email]); const onSubmit = () => console.log('submit'); return ( <> <StyledText>Name : {name}</StyledText> <StyledText>Email : {email}</StyledText> <StyledInput ref={refName} value={name} onChangeText={text => setName(text)} returnKeyType={'next'} onSubmitEditing={() => refEmail.current?.focus()} placeholder={'Name'} /> <StyledInput ref={refEmail} value={email} onChangeText={text => setEmail(text)} returnKeyType={'done'} onSubmitEditing={onSubmit} placeholder={'Email'} /> <Button title="count" onPress={() => count + 1} /> <StyledText>count : {count}</StyledText> </> ); }; export default Form; 강의 내용처럼 코드를 다 작성하고 typesciprt 적용해보면서 공부중인데 아래 typescript 오류가 도저히 해결이 안되어서 혹시 도움을 받을수 있을까 해서 질문드려봅니다.
-
미해결C#으로 로그인 가능한 앱 구현하기 Xamarin 자마린 폼즈 (안드로이드, 윈도우)
mssql 연결 문자열
mssql API연결 문자열에 아이디와 비번을 추가해서 외부 아이피로 하고 싶은데 넣는 문자열을 모르겠습니다 system.sql 라이브러리랑은 문자열이 다릅니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
proxy 에러
22강을 들으면서 하고 있다가 에러났는데 다른걸 다 수정해봐도 이런 에러가 뜨는 이유는 무엇일까요ㅜㅜㅜ setupProxy코드도 업데이트 된 코드 썼고 package.json에 proxy URL 추가해보고 밑에 저랑 같은 에러 나신 분들 좀 계신 거 같아서 밑에 있는 해결방식 다 따라해봤는데도 여전히 이 에러가 나오네용,,,,,,,,
-
미해결Slack 클론 코딩[실시간 채팅 with React]
이거 만약에 cli로 next생성하면
cli로 생성하면 router 를 스위치로 하는게 아니라 pages에 생성하면 자동으로 라우터 등록되잖아요 ? 그안에서 중첩라우터 사용하려면 어떻게해야하나요 ? 첫번째방법인 layout 안에 {children} 이런식으로 사용하는 방법밖에 없나요 ?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
H2 DB 버전 변경 후 실행 안됨
안녕하세요 개발 진행중 H2 버전이 높아 버전을 다운하려고 합니다. mv.db 파일을 삭제하고 1.4.199 버전을 실행하려했으나 File corrupted while reading record: null. Possible solution: use the recovery tool [90030-199] 90030/90030 라는 오류로 인하여 실행이 되지 않는데요 혹시 해결방법이 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
DTO 작성에 관련 질문
강좌 재미있게 듣고 있습니다. 강의를 듣던 중 질문이 생겨서 이렇게 질문글 남깁니다. mvc2강좌를 듣던중 HttpMessageConverter와 관련하여 학습하고, DTO를 활용해서 비지니스 로직 레이어까지 전달한다는 내용은 이해했습니다. 제가 한번 테스트 하던 중 아래와 같은 경우에는 어떻게 실무에서 해결하는지 궁금해서 질문남깁니다. <상황제시> * json 형식이 아래와 같이 2가지 케이스로 나뉜다 ```json { "id":"hello-id", "data": "hello-data" } ``` ```json { "id":"hello-id", "data": { "key": "value" } } ``` 요약하자면 data에 대응하는 value가 string 또는 객체로 들어갈 수 있는 상황입니다. 이런 상황에서 ```java class Dto { @Datapublic class Dto { private String id; private Object data;} } ``` 와 같이 활용하면 잘 안 되더라구요.. HttpMessageNotReadableException 라는 예외가 발생하는 것을 확인했습니다. 동일한 url 에 GetMapping 에서 활용하고자 하는데, 이런 경우에는 현업에서 어떻게 활용하나요? DTO를 상속하는 형태로 추상클래스생성 및 확장하는 형태로 진행하나요? 궁금합니다!
-
미해결만들면서 배우는 리액트 : 기초
useState 안에 함수를 넘기면 왜 반복실행을 방지할 수 있나요?
해당 영상 강의 초반에 const [counter, setCounter] = React.useState(jsonLocalStorage.getItem('counter')) 위 코드를 수정하시면서 카운터의 useState( ) 초기값에 함수 형식으로 쓰면, App 이 렌더링 될 때마다 local storage 에 접근하는 걸 방지할 수 있다고 설명하신 걸로 이해했습니다. 왜 함수 형식 () => { return ... } 으로 useState 초기값에 코드를 쓰면 리액트가 반복실행을 안하는(?) 건지 궁금합니다! 감사합니다 :)
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
강의 중간부터 뭔가 잘못된걸가요?? 에러가 계속 뜹니다,,,아마 서버에서 id를 제대로 못 가지고 오는 것 같은데,,
뭔가 잘못 된 것 같습니다,,,서버 연결할 떄도 test 파일 새로 만들었다가 다시 서버 하나 더 파서 연결하고 리액트도 test에 다운했다가 다시 grab market에 다운하고 차라리 강의 중간부터 다시 들어야 할 수 도 있겠습니다 ㅠㅠ 이상 하소연 이었구요,, 아마 제가 생각하기엔 id가 제대로 안넘어 오는 것 같은데 어떻게 해야하나요? axios.get 주소 부분에 $id를 안넣고 원래 되로 하면 웹이 열리긴 하는데 상품을 눌렀을 떄 http://localhost:3000/products/%201 이런식으로 id가 제대로 안 넘어간 것 처럼 뜹니다
-
미해결
webpack-dev-server 질문좀 드리겠습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. 안녕하세요. 저는 개발자가 하고싶은 예비 개발자 중 1명입니다. 제가 인강을 보면서 진행하는데 막히는 부분이 있어서 질문드리려고 사진을 이렇게 올리게 되었습니다. 일단 어디가 막히는지 말씀드리겠습니다. 터미널에 webpack-dev-server 를 입력하면 자동으로 새로고침이 된다고 인강에서 말해주셨는데 index.js 파일은 숫자를 고치고 저장을 하면 개발자도구 콘솔창에 두 숫자를 곱한 합이 새로고침되서 바로바로 콘솔창에 나오는데 index.html 파일처럼 입력하고 새로고침을 아무리해도 브라우저에 표시가 안되서 두세번 돌려봐도 왜 안나오는지 모르겠습니다. 제가 코드를 이상하게 친건지 모르겠습니다. 그래서 혹시 저보다 더 알고 계신분은 뭐가 보이지 않을까 해서 이렇게 질문글을 올리게 되었습니다. 혹시 제 코드에 빠진 부분이나 이상한 부분 있으면 말씀 부탁드리겠습니다 ㅠㅜ 수업을 더 진행하고 싶은데 여기서 막히니까 너무 힘듭니다...