묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Java TPC 실전프로젝트 (Java API 활용)
강사님 이거 제목이 이상해요
오타이신거같은데..아닌가요? PDT -> PDF
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
StopIteration 예외 처리
안녕하세요 선생님, @12:58에서 cr1.send(100)을 했을 때 발생하는 StopIteration을 처리하기 위해선 예외처리가 필요한것 처럼 일반적으로 코루틴은 StopIteration 처리 문구를 넣어줘야하나요?
-
미해결React로 NodeBird SNS 만들기
typeError
https적용후 에러 입니다. 함수를 사용 못한다는데 ..
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
오류가 뜨는데 해결을 못 하겠어요.
[√] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows [Version 10.0.17134.1425], locale ko-KR) [X] Android toolchain - develop for Android devices X Unable to locate Android SDK. Install Android Studio from: https://developer.android.com/studio/index.html On first launch it will assist you in installing the Android SDK components. (or visit https://flutter.dev/setup/#android-setup for detailed instructions). If the Android SDK has been installed to a custom location, set ANDROID_HOME to that location. You may also want to add it to your PATH environment variable. [√] Android Studio (version 3.6) [!] VS Code (version 1.44.2) X Flutter extension not installed; install from https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter [!] Connected device ! No devices available
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
저 역시 여기서 막혔네요.
postman 에서 sending 버튼 누르면 하염없이 "sending request..." 이 메세지만 나옵니다^^;;; 더이상 진행을 못하고 있습니당..^^;; 도와주세요 userSchema.pre('save', function ( next ) { var user = this; if (user.isModified('password')) { //비밀번호를 암호화 시킨다. bcrypt.genSalt(saltRounds, function (err, salt) { if (err) return next(err) bcrypt.hash(user.password , salt, function (err, hash) { if (err) return next(err) user.password = hash next() }) }) } }) const User = mongoose.model('User', userSchema) module.exports = { User }
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
20 뉴스그룹 분류 강의 질문입니다.
LogisticRegression()으로 학습을 했을 때 아래와 같은 경고문이 뜹니다. Increase the number of iterations (max_iter) or scale the data as shown in: https://scikit-learn.org/stable/modules/preprocessing.html Please also refer to the documentation for alternative solver options: https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression extra_warning_msg=_LOGISTIC_SOLVER_CONVERGENCE_MSG) [Parallel(n_jobs=1)]: Done 15 out of 15 | elapsed: 26.1min finished C:\Users\Taylor\anaconda3\envs\ml_env\lib\site-packages\sklearn\linear_model\_logistic.py:940: ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED LIMIT. 해석해보니 'max_iter'까지 학습했으나 아직 정답에 수렴하지 못한 상태인 것 같은데 그냥 'max_iter'값을 늘려주면 될까요? 적절한 값을 선택하는 방법은 그냥 여러번 테스트 해보는 방법밖에 없나요?답변주시면 감사하겠습니다.* 한 가지 더 질문이 있습니다!공부를 하다보니 머신러닝 분야중에서도 NLP, 텍스트가 가장 재미있었습니다.그래서 이 쪽을 더 공부해보고 싶어 책을 좀 찾아봤는데 이렇게 공부하는게 좋을지 아니면그냥 인터넷으로 보며 공부하는게 좋을까요?(혹시 추천해주실 만한 책이 있을까요? 답변하기 좀 그러시다면 안하셔도 됩니다!)
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
list 순서
똑같이 진행했는데 저는 선생님이랑 다르게 리스트 순서가 역순으로 나오는데 무슨 차이인가요?
-
미해결우디의 포토샵 강좌
안녕하세요 ! 다리 길이 늘리는 데 다리 이미지가 잘려서 늘려집니다 ..ㅠ
안녕하세요! 유익한 강의 감사드립니다. 다름이 아니라 사진처럼 다리 이미지 사진이 아래로 늘려지지 않고, 잘려서 커지는 데 이 문제는 어떻게 해결해야 할까요? 사진에서 '+' 누른 다음 늘릴 이미지 지정해주고 ctrl + t 를 통해서 freetransform 을 해주었지만 위와 같은 문제가 발생했습니다 ㅠㅠ canvas 와 image 사이즈 둘 다 조정했음에도 위와 같은 문제가 발생합니다. 도와주신다면 정말 감사하겠습니다 :)
-
미해결예제로 배우는 스프링 입문 (개정판)
안녕하세요 spring 입문자 입니다.
취직을 하게 되었는데 회사에 spring을 사용해서 백기선님 강좌보고 공부해보려고 합니다. 강의가 많던데 순서를 알 수 있을까요?
-
해결됨실전! 스프링 데이터 JPA
강의에는 없는 내용이지만.. cache 관련해서 질문이 있습니다.
안녕하세요. 저는 기본편을 듣고 이제 스프링 data jpa 를 막 완강한 직장인입니다. 저는 사실 현업에서 jpa에서 사용하고 있는데 제대로 이해하지 못한채 사용하고 있다는 생각이 들어서 이번 연휴때 강의 두개를 완독하게 되었습니다. 궁금한점은.. jpa 의 2차 캐쉬 부분입니다. 아쉽게도 강의에서는 다뤄지지는 않은듯한데 책에 있는 cache 부분을 읽고도 아직 남아있는 의문이 있어서 질문 드립니다. cache 가 springframework 의 Cacheable 와 javax 의 Cacheable 이 있는데요. 책에서는 javax 것을 사용하면 영속성 컨텍스트 관리 로직들(hit 시에 1차 캐쉬를 복사해서 주는 등..)을 해준다고 하고 그것이 스탠다드 인 것은 이해했는데요. 1. 혹시 springframework 의 Cacheable 을 사용하면 아예 안되는 것인가요? 사실..제가 mybatis 와 redis 캐쉬로 되어있는 레거시 코드를 jpa 로 옮겨서 현업에서 사용하고 있는데요. 캐쉬를 javax 것이 있는지도 모르고 관습적으로 springframework 것을 사용했습니다..ㅠㅠ 현재 동작에는 큰 문제는 없는데 가끔씩 동시성문제가 발생하는데 혹시 그게 이 영향일까 싶기도 하고 그래서요. jpa와 springframework 의 cache와의 조합에 대한 견해가 궁금합니다. 2. 책에도 그렇고 jpa 2차 캐쉬 구현체에는 ehcache 예제만 나와있고 구글링한 다른 자료들에도 주로 ehcache 만 소개되던데요. 저는 서버 인스턴스를 여러대를 띄우는 상황이라 이왕이면 글로벌 캐쉬를 사용하고 싶었는데 redis 캐쉬도 사용이 가능한지요? 혹시 이것도 jpa 에서는 글로벌캐쉬보다는 ehcache 가 스탠다드한 방식인건지..그렇다면 그 이유가 무엇인지 궁금합니다. 강의 내용과 상관 없는 질문이라 죄송합니다.
-
미해결React로 NodeBird SNS 만들기
댓글이 첫번째 포스트카드에만 붙습니다.
원인파악이 잘안되네요.. post.id가 카드를 생성해도 계속 1로만 있는것 같은데 이유를 잘 모르겠습니다. 아래 코드인데 한번 봐주실 수 있을까요.. 아니면 디버깅 방법이라도 알려주시면 감사하겠습니다. 선택한카드에 댓글버턴을 눌렀을때 선택한 카드를 콘솔에 찍는방법이 잘 안떠오릅니다. 콘솔에는 아래와 같은 에러가 뜹니다. Warning: Encountered two children with the same key, `[object Object]`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version. in Home (at _app.js:24) in div (created by Context.Consumer) in Col (at AppLayout.js:54) in div (created by Context.Consumer) in Row (at AppLayout.js:50) in AppLayout (at _app.js:23) in Provider (at _app.js:15) in NodeBird (created by withRedux(NodeBird)) in withRedux(NodeBird) in Container (created by AppContainer) in AppContainer ***** postcard.js ================== import React, { useState, useCallback, useEffect } from "react"; import { useDispatch, useSelector } from "react-redux"; import { ADD_COMMENT_REQUEST } from "../reducers/post"; import { Card, Button, Avatar, Input, Comment, List, Form } from "antd"; import { RetweetOutlined, HeartOutlined, MessageOutlined, EllipsisOutlined, } from "@ant-design/icons"; const PostCard = ({ post }) => { const [commentFormOpened, setCommentFormOpened] = useState(false); const [commentText, setCommentText] = useState(""); const { me } = useSelector((state) => state.user); const { isAddedComment, isAddingComment } = useSelector( (state) => state.post ); const dispatch = useDispatch(); useEffect(() => { console.log("effect"); setCommentText(""); }, [isAddedComment === true]); const onCommentToggle = useCallback(() => { setCommentFormOpened((prev) => !prev); }, []); const onChangeCommentText = useCallback((e) => { setCommentText(e.target.value); }, []); const onSubmitComment = useCallback(() => { if (!me) { return alert("Please Login First"); } console.log("submit"); console.log(post.id); return dispatch({ type: ADD_COMMENT_REQUEST, data: { postId: post.id } }); }, [me && me.id]); return ( <div> <Card key={+post.createdAt} hoverable style={{ width: 240, padding: 10, marginTop: 10 }} cover={post.img && <img alt={post} src={post.img} />} actions={[ <RetweetOutlined />, <HeartOutlined />, <MessageOutlined onClick={onCommentToggle} />, <EllipsisOutlined />, ]} extra={<Button>Delete</Button>} > <Card.Meta title={post.User.nickName} description={post.content} ></Card.Meta> </Card> {commentFormOpened && ( <React.Fragment> <Form onFinish={onSubmitComment}> <Form.Item> <Input.TextArea rows={4} value={commentText} onChange={onChangeCommentText} /> </Form.Item> <Button type="primary" htmlType="submit" loading={isAddingComment}> Reply </Button> </Form> <List header={`${post.Comments ? post.Comments.length : 0} 댓글`} itemLayout="horizontal" dataSource={post.Comments || []} renderItem={(item) => ( <li> <Comment author={item.User.nickName} avatar={<Avatar>{item.User.nickName[0]}</Avatar>} content={item.content} /> </li> )} /> </React.Fragment> )} </div> ); }; export default PostCard; ***** index.js================== import React from "react"; import Postform from "../components/postform"; import PostCard from "../components/postcard"; import { useSelector } from "react-redux"; const Home = () => { const { mainPosts } = useSelector((state) => state.post); const { isLogged } = useSelector((state) => state.user); return ( <React.Fragment> {isLogged && <Postform />} {mainPosts.map((v) => { return <PostCard key={v} post={v} />; })} </React.Fragment> ); }; export default Home; ***** sagas/post.js ================== import { delay, fork, all, takeLatest, put } from "redux-saga/effects"; import { ADD_POST_REQUEST, ADD_POST_SUCCESS, ADD_POST_FAILURE, ADD_COMMENT_REQUEST, ADD_COMMENT_SUCCESS, ADD_COMMENT_FAILURE, } from "../reducers/post"; // ACTION_API, ACTION_NAME, ACTION_WATCH are set function* addPostAPI() { // return axios.post('/post') } function* addPost() { try { yield delay(2000); yield put({ type: ADD_POST_SUCCESS }); } catch (e) { console.log(e); yield put({ type: ADD_POST_FAILURE, postErrorReason: e }); } } // add Comment function* addPostWatch() { yield takeLatest(ADD_POST_REQUEST, addPost); } function* addCommentAPI() { // return axios.post('/post') } function* addComment(action) { try { yield delay(2000); yield put({ type: ADD_COMMENT_SUCCESS, data: { postId: action.data.postId }, }); } catch (e) { console.log(e); yield put({ type: ADD_COMMENT_FAILURE, commentErrorReason: e }); } } function* addCommentWatch() { yield takeLatest(ADD_COMMENT_REQUEST, addComment); // dispatch할때 action값이 addComment로 넘어가는듯 } export default function* postSaga() { yield all([fork(addPostWatch), fork(addCommentWatch)]); } ***** reducer/post.js ================== export const ADD_POST_REQUEST = "ADD_POST_REQUEST"; export const ADD_POST_SUCCESS = "ADD_POST_SUCCESS"; export const ADD_POST_FAILURE = "ADD_POST_FAILURE"; export const ADD_COMMENT_REQUEST = "ADD_COMMENT_REQUEST"; export const ADD_COMMENT_SUCCESS = "ADD_COMMENT_SUCCESS"; export const ADD_COMMENT_FAILURE = "ADD_COMMENT_FAILURE"; export const initialState = { mainPosts: [ { id: 1, User: { id: 1, nickName: "", }, content: "", img: "https://img.icons8.com/plasticine/2x/image.png", Comments: [], }, ], imagePaths: [], isAddingPost: false, isAddedPost: false, postErrorReason: "", isAddingComment: false, isAddedComment: false, commentErrorReason: "", }; const dummyPost = { id: 2, User: { id: 1, nickName: "dum cho", }, content: "dummy Post", Comments: [], img: "https://img.icons8.com/plasticine/2x/image.png", }; const dummyComment = { id: 1, User: { id: 1, nickName: "dum cho", }, Comments: "this is dummy", }; const reducer = (state = initialState, action) => { switch (action.type) { case ADD_POST_REQUEST: return { ...state, mainPost: action.data, isAddedPost: false, isAddingPost: true, }; case ADD_POST_SUCCESS: return { ...state, mainPosts: [dummyPost, ...state.mainPosts], isAddedPost: true, isAddingPost: false, }; case ADD_POST_FAILURE: return { ...state, mainPost: action.data, isAddedPost: false, isAddingPost: false, }; case ADD_COMMENT_REQUEST: return { ...state, isAddedComment: false, isAddingComment: true, }; case ADD_COMMENT_SUCCESS: { const postIndex = state.mainPosts.findIndex( (v) => v.id === action.data.postId ); // console.log(action.data.postId, postIndex); const post = state.mainPosts[postIndex]; const Comments = [...post.Comments, dummyComment]; const mainPosts = [...state.mainPosts]; mainPosts[postIndex] = { ...post, Comments }; return { ...state, mainPosts, isAddedComment: true, isAddingComment: false, }; } case ADD_COMMENT_FAILURE: return { ...state, mainPost: action.data, isAddedComment: false, commentErrorReason: false, }; default: return { ...state }; } }; export default reducer;
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
전처리 스케일링 (np.log1p + standardscaler)
안녕하세요 선생님 책도 사서보고, 강의도 본 진작인 입니다. 먼저 이렇게 좋은 책과 강의를 만들어주셔서 감사드립니다. 질문드릴 내용은 스케일링 내용에 관해서입니다. Cluster 하실때(7장-6) np.log1p를 사용하시고 standardscaler를 사용하셨는데 이렇게 하신 이유가 왜도가 너무커서 가운데 종모양으로 만드려고 np.log1p를 사용했고, 첨도가 너무 커서 뾰족한 정도를 줄이려고 standardscaler를 사용하신게 맞나해서 여줘봅니다. 관련해서 추가 질문도 있습니다. - np.log1p와 standardscaler 이 두개를 같이 사용하였을때 문제가 생기거나 주의해야 할 사항이 있는가? - 원래 값을 알고 싶을때는 스케일링 했던 반대 순서대로 적용하면 되는가? (np.log1p → standardscaler를 사용했을 경우 정규화 제거 → np.exam1의 순서로 진행하면 되는가?) 이상입니다. 감사합니다.
-
미해결홍정모의 따라하며 배우는 C언어 (부록)
스택 자료구조
스택 자료구조에 대해 조금 궁금증이 생겨서 질문 남깁니다. 연습 문제를 풀 때 pop element Pop(Stack* stack) { if (IsEmpty(stack) == true) { element tempt = { -1 }; printf("Stack is Empty. Cannot remove\n"); return tempt; } else { return stack->items[stack->top--]; } } 이것을 구현 하는데 오랜 시간이 걸렸는데, 이유가 이미 쌓인 메모리를 아에 지우려고 시도해서 입니다. 그런데 코드를 보면 stack->top 을 인덱스 처럼 이용해서 stack->top의 값만 바꾸어 주며 사실 저장된 값은 그대로 있어서 사용하지도 않는 값을 가지고 있는게 아닌가 하는 의문이 들었습니다. 앞에서 배운 linked-list의 경우는 free를 이용하여 메모리를 지워주는데 스택의 메모리는 계속 쌓여있는 것이 아닌가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
dto to entity 시 스타일 질문
안녕하세요. 예제에서 MemberForm에서 Member 엔티티를 생성할때 컨트롤러에서 생성코드를 작성하셨는데요. Member 엔티티를 생성하는걸 MemberForm 에서 처리하는거에 대해서는 어떻게 생각하시나요? (ex. memberForm.toMember()) 예제가 아닌 실무에서 평소 영한님께서는 어떻게 하시는지, 어떻게 생각하시는지 궁금해서 여쭤봅니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
인메모리 h2 db 생성이 안 됩니다.
//에러 nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.h2.jdbc.JdbcSQLNonTransientConnectionException: Connection is broken: "java.net.ConnectException: Connection refused: connect: localhost" [90067-199] 위 에러가 떠서 검색해보니 인메모리 db 생성을 못해서 그렇다는데...h2 웹콘솔에서 Embedded 모드로 들어가는 것은 mem:(프로젝트명)으로 들어가는 것과는 다른 것인가요? 다르다면 인메모리 모드 설정에 대해 어떻게 처리해야 될까요? 아직 전반적인 이해가 부족한 탓에 질문도 두서가 없는 점 미리 양해 부탁드립니다... 감사합니다!
-
미해결홍정모의 따라하며 배우는 C언어
12:50 이중포인터?
강의중에 pa=arr2d;를 설명하시면서 pa를 이중포인터 처럼 쓸 수 있다고 하셨습니다. 이중포인터라기보다는 포인터의 배열 이 맞지 않나 싶은데 교수님은 어떻게 생각하시나요?
-
미해결SVG 마스터
transform 포지션 임의변경 오류
안녕하세요, 1분코딩 선생님 강좌 너무 잘 듣고있습니다. 어제오늘 강좌 클리어 하면서 주말 순삭됐네요~!ㅎㅎ 제가 따라하다가 질문이 생겼는데 이렇게 여쭤봐도 될지 모르겠습니다. 일단 문제는 arm이라는 클래스 이름에 mining이라는 키프레임으로 애니메이션을 걸면 곡괭이질 하는 팔 위치가 오른쪽으로 변경됩니다. 억지로 translateX 활용해서 원래 위치 잡았는데 왜 그런지 한 번 봐주실 수 있을까요? 아래 html코드 그대로 붙여넣습니다. 감사합니다. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>DataMining</title> </head> <body> <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 378.5 159.87"> <defs> <style> .cls-1, .cls-2, .cls-6 { fill: #2e75b6; } .cls-2 { font-size: 93.8px; font-family: UbuntuCondensed-Regular, Ubuntu Condensed; } .cls-3, .cls-4, .cls-5 { letter-spacing: 0em; } .cls-6, .cls-7, .cls-8 { fill-rule: evenodd; } .cls-6, .cls-9 { animation: bar-move 0.7s 0.3s infinite alternate cubic-bezier(0.42, 0, 0.3, 1.01); transform-origin: bottom; transform-box: fill-box; } .cls-7 { fill: #9dc3e6; animation: bar-move 0.7s 0.5s infinite alternate cubic-bezier(0.42, 0, 0.3, 1.01); transform-origin: bottom; transform-box: fill-box; } .cls-8 { fill: #adb9ca; animation: bar-move 0.7s 0.7s infinite alternate cubic-bezier(0.42, 0, 0.3, 1.01); transform-origin: bottom; transform-box: fill-box; } @keyframes bar-move { 0% { transform: scale(1); } 30% { transform: scale(0.9); } 100% { transform: scale(1); } } .cls-9 { fill: none; stroke: #2e75b6; stroke-miterlimit: 8; stroke-width: 5.26px; } .body, .head { fill: #727272; } .arm { display: flex; fill: #727272; animation: mining 0.3s infinite alternate; transform-origin: left; transform-box: fill-box; } @keyframes mining { from{ transform: translateX(-45px) rotatez(0deg); } to { transform: translateX(-45px) rotatez(10deg); } } </style> </defs> <path class="cls-1" d="M241,113h3c.85,2,1.18,4.67,2.27,7.45s2.18,5.7,3.29,8.73,2.19,6.08,3.23,9.12,1.93,5.82,2.69,8.35q1.13-3.79,2.61-8.35t3.1-9.12q1.63-4.55,3.22-8.73c1-2.78,2-5.17,2.85-7.18h6.31q.49,5.25.89,11.15c.25,3.92.49,8,.7,12.09s.39,8.35.53,12.63.29,8.52.43,12.73H270q-.15-4.63-.25-9.75t-.28-10.28q-.18-5.15-.39-10c-.14-3.25-.31-6.24-.5-8.95-.42,1.17-.95,2.63-1.59,4.39s-1.29,3.66-2,5.71-1.39,4.17-2.12,6.35-1.41,4.27-2.05,6.28-1.2,3.84-1.69,5.5-.89,3-1.17,4l-5-.13c-.94-3.37,0-6.91-1-10s-3.08-5.27-4-8-2.15-5.76-3-8-1.29-4.32-2-6" transform="translate(-53.2 -4.89)"/> <path class="cls-1" d="M286.93,113.27h6.36v48.6h-6.36Z" transform="translate(-53.2 -4.89)"/> <path class="cls-1" d="M329.49,161.87q-1.69-4.14-3.86-9t-4.52-9.67q-2.37-4.87-4.84-9.68t-4.88-8.94v37.24h-5.94v-48.6h5.3q2.69,4.35,5.2,8.9t4.77,9Q323,135.64,325,140t3.71,8.17V113.27h5.94v48.6Z" transform="translate(-53.2 -4.89)"/> <path class="cls-1" d="M346.17,113.27h6.36v48.6h-6.36Z" transform="translate(-53.2 -4.89)"/> <path class="cls-1" d="M388.72,161.87q-1.7-4.14-3.85-9t-4.52-9.67q-2.37-4.87-4.85-9.68t-4.87-8.94v37.24h-5.94v-48.6H370q2.68,4.35,5.19,8.9t4.78,9q2.25,4.45,4.27,8.77t3.72,8.17V113.27h5.93v48.6Z" transform="translate(-53.2 -4.89)"/> <path class="cls-1" d="M403.36,137.53a46.52,46.52,0,0,1,1.27-11.71,21.71,21.71,0,0,1,3.64-7.89,13.81,13.81,0,0,1,5.72-4.42,19.84,19.84,0,0,1,7.53-1.37,18.29,18.29,0,0,1,5.8.88,16.79,16.79,0,0,1,4.24,2l-2,5.26a16.72,16.72,0,0,0-3.53-1.86,12.2,12.2,0,0,0-4.39-.74q-6.15,0-8.83,4.95t-2.69,14.9a43.58,43.58,0,0,0,.82,9.12,19.38,19.38,0,0,0,2.29,6.17,9.52,9.52,0,0,0,3.61,3.51,10,10,0,0,0,4.73,1.12,12.5,12.5,0,0,0,3.75-.49V138h6.36v22.86a22.22,22.22,0,0,1-4.73,1.55A27.31,27.31,0,0,1,421,163a16.52,16.52,0,0,1-7.07-1.51,14.84,14.84,0,0,1-5.62-4.63,23.09,23.09,0,0,1-3.68-7.92A43.89,43.89,0,0,1,403.36,137.53Z" transform="translate(-53.2 -4.89)"/> <text class="cls-2" transform="translate(148.73 79.4) scale(1.01 1)"><tspan class="cls-3">D</tspan><tspan class="cls-4" x="54.31" y="0">A</tspan><tspan class="cls-5" x="101.58" y="0">T</tspan><tspan x="141.82" y="0">A</tspan></text> <polygon class="cls-6" points="157.16 84.48 184.56 84.48 184.56 159.87 157.16 159.87 157.16 84.48 157.16 84.48"/> <polygon class="cls-7" points="120.94 104.64 148.33 104.64 148.33 159.87 120.94 159.87 120.94 104.64 120.94 104.64"/> <polygon class="cls-8" points="86.48 119.54 113.87 119.54 113.87 159.87 86.48 159.87 86.48 119.54 86.48 119.54"/> <line class="cls-9" x1="182.02" y1="85.32" x2="202.33" y2="148.91"/> <path class="body" d="M89.38,63.1C86.63,73,84,83,81.87,93c-.36,1.69,1.52,4.43,3.12,5.84,4.12,3.65,8.28,7.55,13.11,10,10.23,5.28,15.46,13.51,17.28,24.53,1.26,7.57,3,15.07,4.32,22.63.89,4.9-.73,7.76-4.46,8.49-4.79.94-8.52-1.31-9.51-6A136.49,136.49,0,0,1,103.17,144c-1-9.56-5.83-16.48-13.7-21.53-4.07-2.6-8.27-5-12.41-7.5l-1.43,1.15c.84,3.11,1.14,6.51,2.62,9.27,5.63,10.48,3,19.55-4,28.12-1.75,2.13-3.2,4.55-5.12,6.5-1.59,1.62-3.53,3.57-5.56,3.91-2.74.46-5.71-.49-8.58-.83.43-2.4.35-5,1.4-7.13A116,116,0,0,1,63.64,144c3.41-5.12,3.54-10.26.68-15.61-1.44-2.69-2.51-5.6-4.15-8.14-6.58-10.19-8.3-21.17-6-32.95,2.22-11.44,5-22.68,10.59-33C71.31,42.09,76.85,39.66,90,44.11,94.84,45.76,99.19,54.3,98,55" transform="translate(-53.2 -4.89)"/> <path class="arm" d="M83.52,54.56c-5.41-6.34-6.67-14.9,6.45-10.45a70.58,70.58,0,0,1,13.93,7c8.55,5.24,16.87,10.84,25.26,16.33,1.75,1.15,3.17,1.63,4.94-.17,11-11.22,22.06-22.35,33.09-33.53a13.61,13.61,0,0,0,1.34-2.26c-5.89-3.33-11.66-6.53-17.37-9.86-1.29-.76-3.07-1.78-3.34-3-.39-1.8.34-3.85.59-5.8,1.63.32,3.48.24,4.84,1,6.05,3.44,11.92,7.21,18,10.66a7.36,7.36,0,0,0,4.53.83c3.08-.52,7,2.38,6.08,5.31s.79,4.16,1.86,6.12q4.65,8.54,8.86,17.31c.5,1,.07,2.54-.64,4.16-4.4-7.34-8.4-14.79-16.36-20.43-1.45,1.81-2.8,3.7-4.35,5.39-9.32,10.2-18.73,20.31-28,30.57a8.85,8.85,0,0,0-2.1,4.88c-.27,3.77-2.3,5.42-5.67,4.89a19.89,19.89,0,0,1-7.62-2.85C120.78,76.06,114,71,107,66.31a98.13,98.13,0,0,0-10.64-5.87" transform="translate(-53.2 -4.89)"/> <path class="head" d="M83.52,26.35c-.09-6.4,2.24-11.67,7.59-15.28,7.65-5.16,16.73-1.72,19.35,7.17,2.45,8.3-2,18.52-9.34,21.22C91.52,43,83.56,37.09,83.52,26.35Z" transform="translate(-53.2 -4.89)"/> </svg> </body> </html>
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
소스파일 코드 미스
<select onChange={continentChangeHandler}> {Continents.map(item => ( <option key={item.key} value={Continent}> {item.value}</option> ))} </select> 풀소스에 이렇게 되어 있어 비디오를 다시보고 <select onChange={continentChangeHandler} value={Continent} > {Continents.map(item => ( <option key={item.key} value={item.key}> {item.value}</option> ))} </select> 로 수정하니 동작 되었습니다.
-
미해결스프링 부트 개념과 활용
AnnotationConfigurationException 에러 질문드려요
첫번째 package me.practice;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }} 소스를 실행시키니 맨 아래와 같은 메시지가 나왔습니다. pom.xml 은 아래와 같습니다. 검색해봐도 새로운 spring boot버전에 proxyBeanMethods가 추가되어서 변경해야한다고 하는데 spring은 처음이라 잘 모르겠습니다.ㅠ 어떻게 해야할까요? 개발환경은 Window 입니다. ----------------------------- 에러 수정했습니다. 아래 spring boot 버전을 올리니 해결이 되네요 ㅠㅠ <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>SpringBoot Practice</artifactId> <version>1.0-SNAPSHOT</version> <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> </parent> <!-- Add typical dependencies for a web application --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> <version>2.2.5.RELEASE</version> </dependency> </dependencies> <!-- Package as an executable jar --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project> org.springframework.core.annotation.AnnotationConfigurationException: Attribute 'proxyBeanMethods' in annotation [org.springframework.boot.autoconfigure.SpringBootApplication] is declared as an @AliasFor nonexistent attribute 'proxyBeanMethods' in annotation [org.springframework.context.annotation.Configuration].; nested exception is java.lang.NoSuchMethodException: org.springframework.context.annotation.Configuration.proxyBeanMethods() at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.<init>(AnnotationUtils.java:2180) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.from(AnnotationUtils.java:2148) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.getOtherDescriptors(AnnotationUtils.java:2312) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.getAttributeAliasNames(AnnotationUtils.java:2299) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.core.annotation.AnnotationUtils.getAttributeAliasNames(AnnotationUtils.java:1813) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.core.annotation.AnnotationUtils.getAttributeAliasMap(AnnotationUtils.java:1722) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.core.annotation.AnnotationUtils.postProcessAnnotationAttributes(AnnotationUtils.java:1335) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.core.annotation.AnnotatedElementUtils.getMergedAnnotationAttributes(AnnotatedElementUtils.java:365) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.core.type.StandardAnnotationMetadata.getAnnotationAttributes(StandardAnnotationMetadata.java:121) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.annotation.AnnotationConfigUtils.attributesFor(AnnotationConfigUtils.java:285) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation(AnnotationBeanNameGenerator.java:93) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName(AnnotationBeanNameGenerator.java:72) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.doRegisterBean(AnnotatedBeanDefinitionReader.java:224) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:145) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.register(AnnotatedBeanDefinitionReader.java:135) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:158) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:135) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:127) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] at org.springframework.boot.SpringApplication.load(SpringApplication.java:717) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:392) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) ~[spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE] at me.practice.Application.main(Application.java:8) ~[classes/:na] Caused by: java.lang.NoSuchMethodException: org.springframework.context.annotation.Configuration.proxyBeanMethods() at java.base/java.lang.Class.getDeclaredMethod(Class.java:2475) ~[na:na] at org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.<init>(AnnotationUtils.java:2173) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE] ... 23 common frames omitted
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
select 값 이상
앞에서 질문한 것인데요. 아래와 같이 프린트 해 봤습니다. 그결과는 화면에서 호주로 선택되었지만 Selected Continents 1 로 디폴트 값이 나오네요. const continentChangeHandler = (event) => { setContinent(event.currentTarget.value) console.log(" Selected Continents") console.log(event.currentTarget.value); }