묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨SQL 왕초보를 위한 해커랭크로 배우는 실전 SQL
6번문제
6번문제 이렇게 작성해도 정답인가요?select *From CITYwhere POPULATION > 100000AND COUNTRYCODE ='USA'
-
미해결워드프레스(WordPress) 완전정복
관리자페이지 로그인이 안됩니다!
안녕하세요 선생님. 알려주신대로 워드프레스 관리자 로그인을 시도했는데요, 아이디와 비밀번호를 입력하면 아래와 같은 화면으로 전환될 뿐 접속이 안되네요.틀린비밀번호를 입력했을 때는 아래와 같은 화면이 나옵니다.방법을 찾다가 해결이 안돼서 질문드립니다. 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
리액트 섹션2 게시글 구현하기 강의를 듣는 중에 'TypeError: 정의되지 않은 속성 'me'을 읽을 수 없습니다.' 에러가 발생하였습니다.
Cannot read property 'me' of undefined 에러가 났는데 원인을 모르겠어서 질문드립니다.에러로 추정되는 코드 파일(PostCard.js, user.js, post.js)을 함께 첨부합니다.PostCard.jsimport React, { useState, useCallback } from 'react'; import PropTypes from 'prop-types'; import { useSelector } from 'react-redux'; import { Card, Popover, Button, Avatar } from 'antd'; import { RetweetOutlined, HeartOutlined, MessageOutlined, EllipsisOutLined, HeartTwoTone } from '@ant-design/icons'; import PostImages from './PostImages'; const PostCard = ({ post }) => { const { user } = useSelector((state) => state.user); const [liked, setLiked] = useState(false); const [commentFormOpened, setCommentFormOpened] = useState(false); const onToggleLike = useCallback(() => { setLiked((prev) => !prev); }, []); const onToggleComment = useCallback(() => { setCommentFormOpened((prev) => !prev); }, []); const id = useSelector((state) => state.User.me?.id); return ( <div style={{ marginBottom: 20 }}> <Card cover={post.Images[0] && <PostImages images={post.Images} />} actions={[ <RetweetOutlined key="retweet" />, liked ? <HeartTwoTone twoToneColor="#eb2f96" key="heart" onClick={onToggleLike} /> : <HeartOutlined key="heart" onClick={onToggleLike} />, < MessageOutlined key="comment" onClick={onToggleComment} />, <Popover key="more" content={( <Button.Group> {id && post.User.id === id ? ( <> <Button>수정</Button> <Button type="danger">삭제</Button> </> ) : <Button>신고</Button>} </Button.Group> )}> <EllipsisOutLined /> </Popover>, ]} > <Card.Meta avatar={<Avatar>{post.User.nickname[0]}</Avatar>} title={post.User.nickname} description={post.content} /> </Card> {commentFormOpened && ( <div> 댓글 부분 </div>)} { /* <CommentFrom /> */ } { /* <Comment /> */ } </div> ); }; PostCard.propTypes = { post: PropTypes.shape({ id: PropTypes.number, User: PropTypes.object, content: PropTypes.string, createdAt: PropTypes.object, Comments: PropTypes.arrayOf(PropTypes.object), Images: PropTypes.arrayOf(PropTypes.object), }).isRequired, }; export default PostCard;user.jsexport const initialState = { isLoggedIn: false, me: null, signUpData: {}, loginData: {}, } export const loginAction = (data) => { return { type: 'LOG_IN', data, } } export const logoutAction = (data) => { return { type: 'LOG_OUT', } } const reducer = (state = initialState, action) => { switch (action.type) { case 'LOG_IN': return { ...state, isLoggedIn: true, me: action.data,. // }, }; case 'LOG_OUT': return { ...state, isLoggedIn: false, me: null, }; default: return state; } }; export default reducer;post.jsexport const initialState = { mainPosts: [{ id: 1, User: { id: 1, nickname: 'YeonSeong' }, content: '첫 번째 게시글 #해시태그 #이모티콘', Images: [ { src: 'https://item.kakaocdn.net/do/3b669cd3532e2e97f42dc388d8c29fcb41d1a2caccd0c566eab28b91e2e5d306',}, { src: 'https://item.kakaocdn.net/do/3b669cd3532e2e97f42dc388d8c29fcb7f9f127ae3ca5dc7f0f6349aebcdb3c4',}, { src: 'https://item.kakaocdn.net/do/3b669cd3532e2e97f42dc388d8c29fcbb3a18fdf58bc66ec3f4b6084b7d0b570',}, ], Comments: [{ User: { nickname: 'loveheart',}, content: '우와 강아지가 귀여워요~', }, { User: { nickname: 'starlight',}, content: '얼른 사고 싶어요!', }] }], imagePaths: [], postAdded: false, } const ADD_POST = 'ADD_POST' export const addPost = { type: ADD_POST, } const dummyPost = { id: 2, content: '더미데이터입니다.', User: { id: 1, nickname: '제로초연습', }, Images: [], Comments: [], }; const reducer = (state = initialState, action) => { switch (action.type) { case ADD_POST: return { ...state, mainPosts: [dummyPost, ...state.mainPosts], postAdded: true, }; default: return state; } }; export default reducer;영상 잘 보고 있습니다 감사합니다.
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
http 버전 설정
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]요청 보낼 때 http 1.1 혹은 2버전으로 셋팅을 직접 하고 싶은데요 이걸 어디에서 어떻게 설정하나요?처음 요청 라인에서 설정하는 것 같은데 실제 요청 시 헤더에서 셋팅을 하는 것인가요? 검색을 하였지만 답을 찾지 못하엿습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
함수 호이스팅
Todolist 코드 작성할때 함수표현식으로 작성된 함수는 호이스팅이 되지않는다고 하셨는데,saveItemsFn같은 함수는 어떻게 정의 되기 전에 createTodo와 같은 함수에서 사용 할 수 있는건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시 유효 기간 초과 전 데이터의 갱신시 동작
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]캐시 유효 기간이 지나기 전에 데이터가 갱신될 가능성은 없나요?개인적인 생각으로는 있을거 같고, 그렇다면 비록 유효 기간이 안지났다 하더라도 캐시를 갱신해줘야 할거 같은데, 이럴 때 동작은 어떻게 될까요?본문 자료로는 캐시 만료 전에는 서버로 요청이 안가는데, 사실은 유효시간 만료 전이던 후이던 상관없이 매 요청마다 서버로도 갱신 검증 요청이 가는것일까요?
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
Uncaught TypeError (uuid) 에러
이전 수업에서 ilbuni.glb를 로드했을 땐 정상적으로 작동했는데, test.glb로 바꾸니까 이런 에러가 뜨네요 ...uuid가 토큰같은 id처럼 보이는데 ,, 어떻게 해결해야 할까요? ㅜㅜ
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
언패킹 관련 질문입니다.
안녕하세요.04-2-coroutine-fetcher.py에서 fetcher 함수에서 url을 언패킹하실 때 *를 사용하셨는데 아래 코드에서 가 어떻게 작동하는건지 알 수 있을까요?result = await asyncio.gather(*[fetcher(session, url) for url in urls])
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
CascadeType.ALL과 orphanRemoval=true를 함께 사용하는것에 대한 질문
안녕하세요영속성 전이와 고아객체에 대해 복습하다가 궁금증이 생겨 질문 올립니다. 영속성 전이는 부모 엔티티의 생명주기에 종속적인 자식 엔티티의 상태변화를 같이 처리해주는 것으로CascadeType.ALL 옵션은 부모 엔티티를 저장하거나 삭제, 변경 할 때, 자식 엔티티 역시 같이 저장하거나 삭제, 변경 해주는 걸로 알고 있습니다.그리고 orphanRemoval=true 고아객체는 부모 엔티티와의 관계가 끊어지면 자동으로 삭제되는 자식 엔티티를 의미한다고 하였습니다. 여기서 궁금증이 생겼습니다.CascadeType.ALL 를 설정하면 부모 엔티티가 자식 엔티티의 생명주기를 처리해주는데orphanRemoval=true 을 같이 사용해 자식 엔티티가 삭제되는 것이 중복될 텐데왜 이 두옵션을 같이 사용하는지 잘 모르겠습니다..검색을 해봐도 두 옵션을 같이 사용하는 경우에는부모 엔티티와 관계된 자식 엔티티의 생명주기를 부모 엔티티에서 한 번에 관리할 수 있다고 하는데어차피 CascadeType.ALL 옵션하나로 부모 엔티티가 자식 엔티티의 생명 주기를 관리하는데어떤 이유에서 같이 사용하는 건가요 ??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.잘 구현한 게 맞는지 궁금합니다.function solution(day, saleArr) { let answer; let start = 0; let sum = 0; let max = Number.MIN_SAFE_INTEGER; for(let end = 0; end < day; end++) { sum += saleArr[end]; } max = sum; for(let end = 3; end < saleArr.length; end++) { sum = sum + saleArr[end] - saleArr[start++]; if(sum > max) max = sum; } answer = max; return answer; } let day = 3; let saleArr = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15]; console.log(solution(day, saleArr));
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
안녕하세요 강사님 혹시 리뉴얼 일정이...?
안녕하세요 강사님 혹시 리뉴얼 일정이...?CI 도커강의 리뉴얼 일정이 아직 멀었겠죠???
-
미해결왕초보를 위한 네트워크 기초
라우터에 관해 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 라우터는 네트워크와 네트워크를 연결해 주는 물리적 장치이고 공유기도 결국 라우터의 일종이라고 하셨는데 여기서 궁금한게 있습니다. 보통 가정마다 공유기가 하나씩 있는데 그럼 집집마다 전부 다른 네트워크이고 따라서 게이트웨이 주소도 전부 다른가요??
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
게시물 불러올때 map 함수로 인한 게시물 복제?
1.처음 해당 페이지로 이동시 back에있는 데이터만 정상적으로 불러와집니다.2.두번쨰 사진과 세번쨰 사진은 다른페이지로 이동했다가 다시 해당페이지로 돌아올때 useEffect 가 정상적으로 실행, map 함수를 통해 새로운 배열을 만들시에 전에있던 배열데이터가 남아있어 동일한 데이터가 계속 쌓이는 상황입니다. 새로고침시에는 다시 정상적으로 한번만 불러와진 데이터만 보인느데 다른 페이지를 다녀와도 map 함수가 실행될때 전에 있던 데이터는 빈배열로 다시 세팅하고 map 함수가 실행되는 방법이 무엇인지 아무리 찾아봐도 해결이 안되네요.. ㅠㅜ 구원의 손길 부탁드립니다import React, { useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { Col, Row } from 'antd' import SystemLayout from '../../components/System/SystemLayout'; import SystemCard from '../../components/System/SystemCard'; import { LOAD_SYSTEMS_REQUEST } from '../../reducers/system-post'; const Test = () => { const dispatch = useDispatch(); const { mainSystems } = useSelector((state) => state.systempost); useEffect(() => { dispatch({ type: LOAD_SYSTEMS_REQUEST, }); }, []); return ( <SystemLayout> <Row justify="space-evenly"> {mainSystems.map((systempost) => ( <Col xs={6}> <SystemCard key={systempost.id} systempost={systempost} /> </Col> ))} </Row> </SystemLayout> ); }; export default Test;
-
미해결스프링 시큐리티 OAuth2
로그인 화면을 쓰지않는다면??
- 안녕하세요! 강의 정말 잘 듣고 있습니다. 강의를 듣다가 궁금한점이 생겨서요! - keycloak 관련해서 로그인처리할 때 지금은 keycloak에서 제공하는 로그인 페이지를 사용하고 있는데, 만약 그 로그인페이지를 사용하지 않고 Front에서 만든 로그인 페이지를 사용하고, POST 요청으로 사용하면 http://localhost:8080/realms/bts/protocol/openid-connect/token URL로 직접 호출해서 토큰을 받는게 맞을지... 궁금합니다.
-
미해결Verilog FPGA Program 1 (Zynq mini 7020)
Zynq 보드 다운로드 - 32~33 부분 실행이 안됩니다.
Zynq 보드 다운로드 - 32~33 부분을 진행 중 입니다.그런데 아래와 같은 에러메시지가 나오면서 동작하질 않네요.. 저는 현재 Zybo-z7-10 보드를 사용 중입니다.
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
강의중 사용한 오실로스코프 기종문의
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요강의중에서 사용하신 미니 오실로스코프 기종에 대해 알고싶습니다.
-
미해결[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)
코인 사이트에서 데이터 깔끔하게 정리하는법 궁금합니다
개복치님께서 이런 화면을 깔끔하게 정리하시던데 방법이 궁금해요
-
미해결
socket.io에서 socketID 관련해 질문 있습니다
안녕하세요! 대학교에서 간단한 웹 기반 게임을 만들고 있는 대학생입니다!다름이 아니라 실시간 채팅과 서버에서 간편한 유저 관리를 위해 socket.io를 사용하여 실시간 양방향 통신을 만들고 있는데, url이 바뀌면서 socketID가 자동으로 갱신 되어 곤란을 겪고 있습니다. 다른 페이지로 이동 해도 소켓 id를 유지 시켜 줄 수 있는 방법이 있는지 궁금해서 질문 남깁니다!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
글이 삭제가 안됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 글이 삭제가 안되네요..그래서 삭제하지 못하고 이렇게 남겨놓습니다. 해당 질문 신경쓰지 말아주세요.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ExceptionHandler 메소드를 private으로 선언했을 때에는 어떻게 호출이 가능한 건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의를 수강하며 이것저것 시도해보던 중, 컨트롤러 내부의 @ExceptionHandler 메소드를 private으로 선언해도 정상적으로 처리되는걸 확인했습니다. 뭔가 이상하다 싶어서 혹시나 하고 컨트롤러 내의 @RequestMapping 접근제한자도 private으로 바꿔봤는데요, 역시 정상적으로 동작합니다. 무언가 리플렉션이나 프록시같은 기술이 엮여있을 것 같기는 한데 자바라는 언어의 룰을 갈아엎는 느낌이라 좀 혼란스럽네요.질문을 정리하면 이렇습니다. 스프링이 어노테이션을 기반으로 메소드를 등록한 후에 상황에 맞게 호출하는 것인데, 어떻게 private 메소드를 객체 외부에서 호출할 수 있는 것인가요?@ExceptionHandler 어노테이션이 붙은 메소드를 private으로 선언해도 정상적으로 작동하도록 둔 것이 일종의 버그인지, 아니면 Spring 프레임워크에서 의도하는 사용 방식인지 궁금합니다.