묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
이미지 업로드 ajax 문의 드립니다.
ajax 코드에서 $.ajax({ url: "{{ url_for('board.upload_image')}}", cache: false, contentType: false, processData: false, data: data, type: "post", success: function(url){ var image = $("<img>").attr("src", url).css("max-width", "900px"); $("#summernote").summernote("insertNode", image[0]); }, error: function(data){ console.log(data); // 디버깅할수있게 표시 alert(data); } }) sucess 부분을 이해 못하겠습니다 url를 flask 에서 줘야하는데 flask 서버에서 url을 어떤 코드가 주는지 도저히 모르겠습니다. 혹시 return send_from_directory 가 url을 주는건가요? flask 서버에서 print(send_from_directory(app.config["BOARD_IMAGE_PATH"], filename)) 해보니 출력되는 값이 <Response streamed [304 NOT MODIFIED]> 이거 더군요 해당값이 html로 넘어가면서 이미지 주소를 넘겨 주는거 같은데 맞나요?
-
미해결Do it! 자바 프로그래밍 입문 with 은종쌤
reflection 프로그래밍과 상속은 비슷한거 아닌가요?
Class 클래스부터 이해가 안가네요.. reflecion 프로그래밍과 상속은 비슷한거 아닌가요? 클래스의 정보를 가져오고 이를 활용 한다고해서..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 경로 설정??
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)ㅇㄹㅇㄹ2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]제가 cmd 경로설정을 잘못하고 있는건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2가 안열립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]h2가 안열립니다. bin의 h2.sh 혹은 h2w파일을 클릭해도 안열리고 h2 console을 클릭해도 CLI화면이 5초정도 떴다가 종료됩니다. 버전은 1.4.200으로, C드라이브에 다운받았습니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
마크다운 강조표시
마크다운 강조표시(음영)는 어떤 따옴표가 아닌듯 한데 구체적으로 어떤 표시인지요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 영속성 전이 질문드립니다.
안녕하세요. JPA 영속성 전이와 관련하여 질문드립니다! 목적은 유저가 탈퇴한다고 가정했을때, User 데이터를 delete할때 그와 관련된(외래키로 엮어져있는) 다른 테이블의 모든 데이터를 같이 삭제하고 싶습니다. users : apps = 1:N users: resources = 1:N app_resources = apps와 resources의 중간테이블(apps:resources = N:M 해결) resources 슈퍼타입 scenes, avartar 서브타입 scenes: hubs = 1: N 관계입니다. 위와같은 ERD에서 users테이블에 데이터를 삭제할경우 연관된 모든 데이터를 지우기 위해 아래의 사진과 같이 모두 양방향 연관관계를 추가하였습니다. 아래 사진처럼 작성했을경우 정상적으로 user에 관련된 데이터들이 모두 잘 삭제가 됩니다. 그런데 아래와 같이 모든 엔티티에서 @OneToMany 연관관계에 cascade = cascadeType.ALL, orphanRemoval = true 를 사용해도 괜찮은지 질문드립니다! (화면에 다 넣으려니 잘 안보이네요 ㅠㅠ 확대해서 봐주시면 감사하겠습니다)
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
for(int pos : moves) 이부분을 그냥 일반 for문으로 바꾸고싶어요
for(int pos : moves) 이 부분을 일반 for문으로 바꾸고싶은데요 어떻게 바꿀수있을까요?ㅠ
-
미해결스스로 구축하는 AWS 클라우드 인프라 with 테라폼(Terraform) - 기본편
ec2.tf를 복사할 때 provider.tf를 별도 생성하는 방향으로 안내해주심이 어떨지
현업에선 테라폼 작성 시 모듈로 분리를 하는데요, 강의에서도 ec2.tf를 복사하는 작업을 할 때, 리소스별로 파일을 분리하는 것에 대해 말씀을 해주시고 강의에도 적용을 해주셨으면 하는 아쉬움이 있습니다. output 파일 포함해서요. vpc 블럭과 variable 블럭을 지울 것이 아니라 별도 파일로 분리를 하는 방향으로 진행해 주셨다면,수강자들이 이후 업무에 적용할 때 유용할 것 같습니다. 가능하다면 추가 강의나 자료로 테라폼 작성 컨벤션 내용을 추가해주시면 좋겠습니다.
-
미해결워드프레스 제대로 개발하기 - 어드민 편
새 페이지 추가 - 고유주소 변경
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 안녕하세요! 워드프레스 버전이 달라서인지, 새 페이지나 새글을 추가할 때의 인터페이스가 다른 것 같습니다. 혹시 이 버전에서 고유주소는 어떻게 변경할 수 있나요? (강의에서는 고유주소를 http://work.localhost/bookstore/about 으로 변경하였으나, 제 페이지에서는 고유주소 편집 버튼이 없습니다.)
-
미해결스스로 구축하는 AWS 클라우드 인프라 with 테라폼(Terraform) - 기본편
userdata용 리소스 https://bit.ly/Userdata
실습에 userdata가 있는데 강의자료에는 없네요. 실습자료에 넣어주시면 좋겠습니다. https://bit.ly/Userdata #!/bin/bash yum update -y amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2 yum install -y httpd mariadb-server systemctl start httpd systemctl enable httpd usermod -a -G apache ec2-user chown -R ec2-user:apache /var/www chmod 2775 /var/www find /var/www -type d -exec chmod 2775 {} \; find /var/www -type f -exec chmod 0664 {} \; echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php if [ ! -f /var/www/html/bootcamp-app.tar.gz ]; then cd /var/www/html wget https://s3.amazonaws.com/immersionday-labs/bootcamp-app.tar tar xvf bootcamp-app.tar chown apache:root /var/www/html/rds.conf.php wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1 cd /var/www/html/phpMyAdmin/ cp config.sample.inc.php config.inc.php fi
-
미해결리눅스 입문 - 개념으로 탄탄히!!
안녕하세요- 혹시 강의 PPT 는..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 혹시 강의 PPT는 따로 요청 해야하는 건지 문의드립니다. 감사합니다.
-
미해결워드프레스 제대로 개발하기 - 어드민 편
the_post가 없으면 무한 루프에 관하여 질문이 있습니다
안녕하세요 강의를 너무 잘 듣고 있습니다 강의를 듣고 있는 과정에서 질문이 생겨서 질문을 하게 되었습니다 왜 여기서 the_post를 넣어주지 않으면 무한 루프가 돌아버리는지 궁금해서 여쭤봅니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
mutate 질문입니다!
import React, { useEffect, useState, useCallback } from 'react'; import Head from 'next/head'; import { useSelector } from 'react-redux'; import Router from 'next/router'; import { END } from 'redux-saga'; import axios from 'axios'; import useSWR from 'swr'; import AppLayout from '../components/AppLayout'; import NicknameEditForm from '../components/NicknameEditForm'; import FollowList from '../components/FollowList'; import { LOAD_MY_INFO_REQUEST } from '../reducers/user'; import wrapper from '../store/configureStore'; import { backUrl } from '../config/config'; const fetcher = (url) => axios.get(url, { withCredentials: true }).then(result => result.data); const Profile = () => { const { me } = useSelector((state) => state.user); const [followersLimit, setFollowersLimit] = useState(3); const [followingsLimit, setFollowingsLimit] = useState(3); // 팔로워, 팔로잉 불러오기 const { data: followersData, error: followerError, mutate: mutateFollower } = useSWR(`${backUrl}/user/followers?limit=${followersLimit}`, fetcher); const { data: followingsData, error: followingError, mutate: mutateFollowing } = useSWR(`${backUrl}/user/followings?limit=${followingsLimit}`, fetcher); useEffect(() => { if (!(me && me.id)) { Router.replace('/'); } }, [me && me.id]); const loadMoreFollowings = useCallback(() => { setFollowingsLimit((prev) => prev + 3); }, []); const loadMoreFollowers = useCallback(() => { setFollowersLimit((prev) => prev + 3); }, []); if (!me) { return '내 정보 로딩중...'; } // 주의: return이 hooks보다 위에 있으면 안됨 if (followerError || followingError) { console.error(followerError, followingError); return <div>팔로잉/팔로워 로딩 중 에러가 발생합니다.</div> } return ( <> <Head> <title>내 프로필 | NodeBird</title> </Head> <AppLayout> <NicknameEditForm /> <FollowList header="팔로잉" data={followingsData} onClickMore={loadMoreFollowings} loading={!followingsData && !followingError} mutateFollowing={mutateFollowing} /> <FollowList header="팔로워" data={followersData} onClickMore={loadMoreFollowers} loading={!followersData && !followerError} mutateFollower={mutateFollower} /> </AppLayout> </> ); }; export const getServerSideProps = wrapper.getServerSideProps(store => async ({ req }) => { console.log('getServerSideProps start'); const cookie = req ? req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; if (req && cookie) { axios.defaults.headers.Cookie = cookie; } store.dispatch({ type: LOAD_MY_INFO_REQUEST, }); store.dispatch(END); console.log('getServerSideProps end'); await store.sagaTask.toPromise(); }); export default Profile; import React from 'react'; import propTypes from 'prop-types'; import { Button, List, Card } from 'antd'; import { StopOutlined } from '@ant-design/icons'; import { useDispatch } from 'react-redux'; import { UNFOLLOW_REQUEST, REMOVE_FOLLOWER_REQUEST } from '../reducers/user'; const FollowList = ({ header, data, onClickMore, loading, mutateFollowing, mutateFollower }) => { const dispatch = useDispatch(); const onCancel = (id) => () => { if (header === '팔로잉') { dispatch({ type: UNFOLLOW_REQUEST, data: id, }); setTimeout(() => { mutateFollowing((prev) => prev.filter((data) => data.id !== id)); }, 500); } else { dispatch({ type: REMOVE_FOLLOWER_REQUEST, data: id, }); setTimeout(() => { mutateFollower((prev) => prev.filter((data) => data.id !== id)); }, 500); } }; return ( <List style={{ marginBottom: 20 }} grid={{ gutter: 4, xs: 3, md: 4 }} size="small" header={<div>{header}</div>} loadMore={<div style={{ textAlign: 'center', margin: '10px 0' }}><Button onClick={onClickMore} loading={loading}>더 보기</Button></div>} bordered dataSource={data} renderItem={(item) => ( <List.Item style={{ marginTop: '20px' }}> <Card actions={[<StopOutlined key="stop" onClick={onCancel(item.id)} />]}> <Card.Meta description={item.nickname} /> </Card> </List.Item> )} /> ); }; FollowList.propTypes = { header: propTypes.string.isRequired, data: propTypes.array.isRequired, }; export default FollowList; 팔로잉 취소나 팔로워 삭제 시키는 버튼 클릭했을 때 dispatch 실행 이후 DB에서 삭제되기 전에 mutateFollower, mutateFollowing이 실행할 수 있어 해당 팔로잉, 팔로워 사용자 삭제했는데 화면에서 새로고침 전까지 안없어지더라구요 그래서 setTimeout을 사용했는데 다른 방법도 있을까해서 여쭤봅니다! setTimeout으로 사용하기도 하나요?
-
미해결코딩으로 학습하는 리팩토링
Area 밑줄 나온부분
double area 라고 로컬변수 선언 안되어서 밑줄 나온거에여 저렇게 하면 필드변수에 바로 값입력해서 하단에 대입이 의미 없는거죠
-
미해결iOS 개발을 위한 swift5 완벽 가이드
UI가 너무 다른것같아요;
UI가 많이 변해서 따라가기 좀 힘든부분이 있습니다;;2강 부분의 버튼을 만드는 부분을 어떻게 해야할지 감이 안와요
-
미해결
haridwar taxi services : haridwartaxiservices
haridwar taxi services :- Haridwar is a small town in the Indian state of Uttarakhand. It is situated at the confluence of the River Ganges and the River Chandrabhaga. The town is a popular destination for Hindu pilgrims who come to take a dip in the holy river and wash away their sins. Haridwar is also home to a number of temples and ashrams. Read More:- https://www.haridwartaxiservices.com/ Address: SCO - 2, Nursing Bhawan. Upper Road, Haridwar - 249401 Uttarakhand (INDIA) Email: mail@haridwartaxiservices.com | haridwartaxiservicess@gmail.com Phone: +91 9012290007
-
해결됨그림으로 쉽게 배우는 운영체제
분산운영체제
이 수업의 범위 밖이지만 감자님께 조언구합니다. 공부중 분산운영체제라는 컨셉이 와닿지 않는데요. 1. 네트워크 내 노드 (컴퓨터)들은 각자 os가 있잖아요 이것들이 뭔가 통합으로 돌아가는 가상의 os가 생기는게 분산운영체제인가요? 2. 클라이어트 서버 구조도 분산운영체제 라고 할수 있나요? 3. Tcpip, 소켓프로그래밍 이런 컨셉들도 os 커널과 관련이 있나요? 즉 os도 네트웍관련된일을 하는지요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
안녕하세요 강사님
강의 노션 공유 부탁드립니다
-
해결됨처음 배우는 리액트 네이티브
firebase.js파일 저장시 오류가나옵니다.
firebase.js파일을 수정하고 저장하면 이러한 오류가 나옵니다 선생님 https://github.com/Dong-Seung-hyeon/rn-Login
-
미해결처음 배우는 리액트 네이티브
오류 해결좀 해주세요ㅠ
갑자기 이런오류가 계속 나와요 선생님 https://github.com/Dong-Seung-hyeon/rn-Login