묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
클래스 상속 질문있습니다.
부모 클래스를 상속할 때..class Idol { String name; int membersCount; Idol({ required this.name, required this.membersCount, }); void sayName() { print('저는 ${this.name}입니다.'); } void sayMembersCount() { print('${this.name}은/는 ${this.membersCount}명의 멤버로 구성되어 있습니다.'); } } 강의에서 설명해주신class GirlGroup extends Idol { GirlGroup( String name, int membersCount, ) : super( name: name, membersCount: membersCount, ); }이 코드 대신 명시적으로class BoyGroup extends Idol { BoyGroup({ required super.name, required super.membersCount, }); }이렇게 사용해도 인스턴스에서 명시적으로 선언하는 것 외에 다른 차이는 없는 건가요?(두 가지 모두 정상 출력확인했습니다.)
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
abstract 와 implements 의 차이
이 두 문법의 차이를 잘 모르겟습니다.implements 사용시 구현까지 강제되고 abstract 사용시 시그니쳐까지만 작성하면 된다정도의 차이인가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
pagination - next 캐싱문제
강의 코드를 작성하다가 중간에 잘못 작성한 부분이 있었는지다음페이지를 눌렀을때 11 , 21, 31페이지로 넘어가지 않고계속 1 ~ 10페이지만 작동을 해서좀 이상하길래 재수정을 하고 재빌드를 했는데 코드의 이상이 없음에도 똑같이 작동하길래.next 폴더를 삭제하고 재빌드를 했더니정상작동 하는 것을 보았습니다..next 폴더가 캐싱 정보를 가지고 있어서 그랬던 건가요?만약에 .next 폴더를 건드리고 싶지 않다면 브라우저에서 캐시된 것들을 지우면 되는 건가요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
사용자 정의 v-model, 그리고 3개 이상의 component에서 데이터 이동 시
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요TheView.vue, Username.vue, LabelInput.vue 순으로 각각 부모/자식 관계를 맺고 있습니다. 자식 컴포넌트에서 부모 컴포넌트 데이터 변경이 필요할 때 emits으로 event를 올리면, 부모 컴포넌트에서 해당 event에 method를 연결시켜 데이터 변경을 처리한다고 이해했습니다. 그런데 컴포넌트가 3개가 되니, 관계가 좀 복잡해보입니다.제가 이해가 가지 않는 부분은, 아래 Username.vue에 있는 @update:model-value="value => $emit('update:firstname', value)"이 부분입니다. Username.vue의 자식 컴포넌트인 LabelInput.vue에서 보내온 이벤트인 update:model-value에 엮인 method에서, Username.vue 내에 존재하는 반응형 데이터 조작 (ex. @update:model-value="event => username = event.target.value")가 아니라, Username.vue의 부모 컴포넌트인 TheView.vue로 event를 emits하는 코드만 삽입되어 있습니다. 이 때, Username.vue에서는 단순히 LabelInput.vue의 emit이 TheView.vue에 도달할 수 있는 통로 정도의 역할만 했다고 해석하면 될까요? TheView.vue<template> <Username v-model:firstname="firstname" /></template><script> const firstname = ref('')</script>Username.vue<template> <LabelInput :model-value="firstname" @update:model-value="value => $emit('update:firstname', value)"</template><script> props: ['firstname'] emits: ['update:firstname']</script>LabelInput.vue<template></template><script> props: ['modelValue'] emits: ['update:modelValue'] setup(props, { emit }) { emit('update:modelValue', value) }</script>
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
dummyData 받아오는 오류가 있습니다.
페이지 구현- 홈(/) 파트에서 17:00분 정도에 useEffect를 사용하여 data를 콘솔에 찍어보는데 그전까지는 home component까지는 더미데이터가 잘 받아와졌는데 저부분에서 콘솔에서 이렇게 빈배열로 넘어와져요계속 코드를 몇번씩이나 강의돌려보고 검토했지만 도저히 제눈엔 보이지않아 강사님께 질문드립니다.깃허브에 코드올려놨습니다. 한번 검토해주시면 감사하겠습니다!!https://github.com/eunsoo-cho/emotion-Diart.git
-
미해결ChatGPT 영어 상황극 채팅 서비스 만들기 (Feat. 파이썬/장고채널스)
현재(6/30) 깃헙 코드링크가 not found 뜹니다.
접속링크 확인좀 부탁드릴께요 :)
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
죄송하지만 강의 연장 가능할까요?
안녕하세요좋은 강의 만들어주셔서 감사합니다.최근 개인 사정으로 인해 바쁘게 지내다 보니 강의 종료일이 금방 도래하게 되었습니다.급하게 듣다 보니 놓치는 부분이 많은 거 같아혹시 강의 연장이 가능하다면 연장 부탁드리겠습니다.감사합니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
강의 보고 정말 깜짝 놀랐네요
강좌가 한번 찍어놓고 끝이 아니라계속해서 새로운 내용을 정말 알차게 해서 업데이트를 해주시는군요! 챗GPT라니.. 엑셀 내용도 보완되고, 잔재미님 알찬내용 정말 너무 감사합니다!
-
미해결3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
초반 입문강의 두개다 들어야하나요?
강의 초반에 입문 강좌 (흰차)소개가 있길래 신청해서 수료했는데지금보니깐 비슷한 강좌(빨간차)가 더 있더라구요..혹시 초반 강의로 충분한가요? 아니면 강의를 추가해서 더 들어야 하나요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
DM이 두개씩 보내져요..
안녕하세요.우선 저는 맥북을 사용하고 있습니다.import { VFC, useCallback, useEffect, useRef } from 'react'; import { Form, MentionsTextarea, SendButton, Toolbox } from './styles'; import React from 'react'; import autosize from 'autosize'; interface Props { chat: string; onSubmitForm: (e: any) => void; onChangeChat: (e: any) => void; placeholder?: string; } const ChatBox: VFC<Props> = ({ chat, onSubmitForm, onChangeChat, placeholder }) => { // const onSubmitForm = useCallback(() => {}, []); const textareaRef = useRef(null); useEffect(() => { if (textareaRef.current) { autosize(textareaRef.current); } }, []); const onKeydownChat = useCallback( (e) => { if (e.key === 'Enter') { if (!e.shiftKey) { e.preventDefault(); onSubmitForm(e); } } }, [onSubmitForm], ); return ( <Form onSubmit={onSubmitForm}> <MentionsTextarea id="editor-chat" value={chat} onChange={onChangeChat} onKeyDown={onKeydownChat} placeholder={placeholder} ref={textareaRef} /> <Toolbox> <SendButton className={ 'c-button-unstyled c-icon_button c-icon_button--light c-icon_button--size_medium c-texty_input__button c-texty_input__button--send' + (chat?.trim() ? '' : ' c-texty_input__button--disabled') } data-qa="texty_send_button" aria-label="Send message" data-sk="tooltip_parent" type="submit" disabled={!chat?.trim()} > <i className="c-icon c-icon--paperplane-filled" aria-hidden="true"></i> </SendButton> </Toolbox> </Form> ); }; export default ChatBox; 이건 제가 작성한 ChatBox입니다.import React, { useCallback } from 'react'; import { Container, Header } from './styles'; import useSWR, { useSWRInfinite } from 'swr'; import fetcher from '@utils/fetcher'; import { useParams } from 'react-router'; import gravatar from 'gravatar'; import ChatBox from '@components/ChatBox'; import ChatList from '@components/ChatList'; import useInput from '@hooks/useInput'; import axios from 'axios'; import { IDM } from '@typings/db'; const DirectMessage = () => { const { workspace, id } = useParams<{ workspace: string; id: string }>(); const { data: userData } = useSWR(`/api/workspaces/${workspace}/users/${id}`, fetcher); const { data: myData } = useSWR('/api/users', fetcher); const [chat, onChangeChat, setChat] = useInput(''); const { data: chatData, mutate: mutateChat, revalidate, } = useSWR<IDM[]>(`/api/workspaces/${workspace}/dms/${id}/chats?perPage=20&page=1`, fetcher); const onSubmitForm = useCallback( (e) => { e.preventDefault(); if (chat?.trim()) { axios .post(`/api/workspaces/${workspace}/dms/${id}/chats`, { content: chat, }) .then(() => { revalidate(); setChat(''); console.log('submit'); }) .catch((error) => { console.log(error); }); } }, [chat], ); if (!userData || !myData) { return null; } return ( <Container> <Header> <img src={gravatar.url(userData.email, { s: '24px', d: 'retro' })} alt={userData.nickname} /> <span>{userData.nickname}</span> </Header> <ChatList chatData={chatData} /> <ChatBox chat={chat} onChangeChat={onChangeChat} onSubmitForm={onSubmitForm} /> </Container> ); }; export default DirectMessage; 이건 DirectMessage 입니다.e.preventDefault()로 기본 이벤트를 막아줬는데도 DM을 엔터로 전송하면 (한글로만 전송하면 2개씩 보내져요...!)어떨때는 2개가 보내지고 어떨때는 1개가 보내져요... 네트워크나 콘솔에도 2개씩 뜨고요.. 전송버튼을 눌렀을때는 1개만 보내집니다.
-
해결됨디자인 시스템 with 피그마
컬러값 임포트가 안되요ㅜㅜ
안녕하세요.. 좋은강의 만들어주셔서 감사합니다.기존에 다른 공통 파일에 있는 컬러값을 가지고 왔고요... 그 컬러값들은 selection colors값에 이름이 들어가 있는데요.... 피그마 토큰 플러그 실행후에 임포트하면 컬러값이 안불러져서와요... 이거 일일이 다시 다 입력해야하는건가요?ㅜㅜ
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
JavaScript & jQuery - 푸터 패밀리사이트 셀렉트 커스텀 스타일(2)
■ 질문 남기실 때 꼭! 참고해주세요.- 먼저 유사한 질문이 있었는지 검색해주세요.- 궁금한 부분이 있으시면 해당 강의의 타임라인 부분을 표시해주시면 좋습니다.- HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요.- 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다. 해당 강의 응용하다 막히는 부분이 있어 질문 드립니다. 이 강의에 부분을 메뉴에서도 활용 할 수 있을것 같아 아래와 같이 만들어 보았습니다. HTML <header> <div class="gnb"> <div class="search_menu"> <div class="dropdown"> <div class="nav1 title">MENU1-1</div> <ul class="sub_nav1 sub_nav"> <li><a href="#none">MENUI1-1</a></li> <li><a href="#none">MENUI1-2</a></li> <li><a href="#none">MENUI1-3</a></li> <li><a href="#none">MENUI1-4</a></li> </ul> </div> <div class="dropdown"> <div class="nav2 title">MENU2-1</div> <ul class="sub_nav2 sub_nav"> <li><a href="#none">MENU2-1</a></li> <li><a href="#none">MENU2-2</a></li> <li><a href="#none">MENU2-3</a></li> <li><a href="#none">MENU2-4</a></li> </ul> </div> <div class="dropdown"> <div class="nav3 title">MENU3-1</div> <ul class="sub_nav3 sub_nav"> <li><a href="#none">MENU3-1</a></li> <li><a href="#none">MENU3-2</a></li> <li><a href="#none">MENU3-3</a></li> <li><a href="#none">MENU3-4</a></li> </ul> </div> </div> </div> </header>CSS@import url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css'); * { padding: 0; margin: 0; list-style: none; font-size: 10px; } a{ text-decoration: none; } header .search_menu { background-color: #9c9388; display: flex; } header .selectbox { position: relative; border-right: 1px solid #c9c1b7; } header .selectbox:last-child{ border:0; } header .selectbox .select{ width: 88px; height: 35px; padding:10px 12px; font-size: 1.2rem; } header .selectbox:last-child .select { width: 100px; } .dropdown { width: 8.4rem; cursor: pointer; position: relative; border-right: 1px solid #c9c1b7; } .nav1, .nav2, .nav3 { background-size: 9px; background-color: #9c9388; color: #fff; padding: 1.2rem 1rem;} .nav1::after, .nav2::after, .nav3::after{ content: '\f107'; font-family: fontawesome; position: absolute; right: 10px; font-size: 12px; line-height: 14px; } .sub_nav1, .sub_nav2, .sub_nav3 { position: absolute; list-style: none; padding:0; margin: 0; left: 0; top:100%; width: 100%; display: none; z-index: 100; } .sub_nav1 li a, .sub_nav2 li a, .sub_nav3 li a { color: #fff; display: block; padding: 7px; background: #9c9388; border-bottom: 1px solid #aaa; } .sub_nav1 li a:last-child, .sub_nav2 li a:last-child, .sub_nav3 li a:last-child { border: none; }JS 1 (정상작동) (개별적으로 class를 모두 지정하였습니다.)$('.menu li').click(function(){ $(this).children('.sub_menu').slideDown() }) $('.menu li').click(function(){ $(this).children('.sub_menu').slideUp() }) $('.nav1').click(function(){ $('.sub_nav1').stop().slideToggle() $('.sub_nav2').stop().slideUp() $('.sub_nav3').stop().slideUp() $(this).find('>ul').toggle() }) $('.sub_nav1 li').click(function(){ $(this).parent().stop().slideUp() $('.nav1').text($(this).text()) }) $('.nav2').click(function(){ $('.sub_nav2').stop().slideToggle() $('.sub_nav1').stop().slideUp() $('.sub_nav3').stop().slideUp() // $(this).find('>ul').toggle() }) $('.sub_nav2 li').click(function(){ $(this).parent().stop().slideUp() $('.nav2').text($(this).text()) }) $('.nav3').click(function(){ $('.sub_nav3').stop().slideToggle() $('.sub_nav1').stop().slideUp() $('.sub_nav2').stop().slideUp() // $(this).find('>ul').toggle() }) $('.sub_nav3 li').click(function(){ $(this).parent().stop().slideUp() $('.nav3').text($(this).text()) })JS 2 (문제의 JS) (JS1와 같은 매커니즘 코드를 줄여 작성했습니다.)//메뉴 토글 $('.title').click(function(){ $(this).siblings('.sub_nav').slideUp() $(this).next().stop().slideToggle() }) //메뉴 text 변경 $('.sub_nav li').click(function(){ $(this).parent().stop().slideUp() $(this).parent().siblings('.title').text($(this).text()) })이렇게 만들어서 메뉴1-1을 누르면 2-1과 3-1 이 들어가야하는데 3개가 모두 개별적으로 펼쳐집니다.JS 1 처럼 class를 모두 직접 지정하면 정상적으로 되는데 너무 코드가 지저분해서 간단하게 지정을 하려고 작동을 확인 한 뒤 JS 2를 만들었는데 메뉴 text 변경 되는건 잘 되는데 메뉴 토글에서 막혔습니다.$(this).siblings('.sub_nav').slideUp()이 부분이 잘못된것 같은데 아무리 고쳐보고 검색해봐도 작동이 되지 않아 이렇게 여쭤 봅니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
네트워크 통신에 관한 질문...
안녕하세요...!현재 게임 서버 포폴을 만들고 있는데요.TCP 서버와 UDP 서버 두 개를 운영합니다.제 IP는 공인 IP를 사용하고친구는 사설 IP를 사용합니다.TCP 통신을 할 때는 서로 문제가 없었습니다.근데 UDP 통신을 사용하니 제 쪽으로 패킷이 수신이 되는데 제가 (사설 IP 쪽으로) 보내는 패킷은 상대방이 수신이 안됩니다 ㅠㅠ...저는 IP 때문에 문제가 발생하는 것 같은데 혹시 이유가 뭔지 여쭤봐도 될까요?
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
9:22 메모리맵 입출력에서 제어레지스터는 어디에있나요?
네
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
GridView에 데이터가 표시가 안됩니다.
안녕하세요. 인스타그램 클론 강의 듣고, 혼자 토이플젝을 하나 하고 있는데 GridView에 데이터가 표시되지 않아 질문드립니다. 기능 #가치 라는 해시태그 버튼을 클릭하면 단어들중 #가치 라는 카테고리에 속하는 단어를 하단에 출력 #구현 사항단어를 여러 카테고리에 속하게 나누어 파이어베이스에 등록 완료해시태그 버튼 클릭했을때, 해당하는 단어들 list로 가지고 옴.#문제사항단어들을 list로 가지고와서 GridView에 출력하게 했으나 출력되지 않음. 첫번째 이미지는 더미데이터를 집어놓은거구요. 두번째 이미지가 현재 상황입니다. import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; import 'package:uddutsi/tab/home/home_model.dart'; import 'package:uddutsi/tab/search/search_model.dart'; import '../../model/category.dart'; import '../../model/word.dart'; class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @override State<HomePage> createState() => _HomePageState(); } class _HomePageState extends State<HomePage> { final dics = const [ '단어1', '차갑다', '버르장머리없다','거지같다','착하다', '단어1', '차갑다', '버르장머리없다','거지같다','착하다', '단어1', '차갑다', '버르장머리없다','거지같다','착하다', '단어1', '차갑다', '버르장머리없다','거지같다','착하다', ]; @override Widget build(BuildContext context) { final model = HomeModel(); final searchModel = SearchModel(); List<Word> wordList = []; return Scaffold( appBar: AppBar( title: const Text('[test]'), ), body: Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ const SizedBox(height: 10), StreamBuilder<QuerySnapshot<Category>>( stream: model.categoriesStream, builder: (context, snapshot) { if (snapshot.hasError) { return const Text('Something went wrong'); } if (snapshot.connectionState == ConnectionState.waiting) { return const Center(child: CircularProgressIndicator()); } List<Category> categories = snapshot.data!.docs.map((e) => e.data()).toList(); return Wrap( direction: Axis.horizontal, //나열 방향 alignment: WrapAlignment.start, //정렬방식 spacing: 5, //좌우간격 runSpacing: 5, //상하간격 children: <InkWell>[ for(var i = 0; i<categories.length; ++i) ...[ InkWell( child: Container( padding: const EdgeInsets.all(6), decoration: BoxDecoration( color: const Color(0xffdddddd), borderRadius: BorderRadius.circular(6), ), child: Text('#${categories[i].name}'), ), onTap: () async{ print('click ${categories[i].name}'); List<dynamic> _listData = await searchModel.getWordsByCategoryId(categories[i].id); setState(() { wordList.clear(); wordList = _listData.map((dynamic item) => Word.fromJson(item)).toList(); wordList.forEach((element) {print('${element.name}');}); }); }, ), ], ], ); } ), const SizedBox(height: 10), Expanded( child: GridView.builder( itemCount: wordList.length, gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, //3열을 만드는 속성 crossAxisSpacing: 2.0, mainAxisSpacing: 2.0, ), itemBuilder: (BuildContext context, int index){ final dic = wordList[index]; return GestureDetector( onTap: (){ print('click ${dic.name}'); }, child: Hero( tag: dic, child: Text(dic.name), ) ); }, ), ), ], ), ), ); } }setState 함수안에 데이터를 업데이트 한후, 출력을 해보면 wordList가 잘 출력되는것까지는 확인했는데 GridView에서는 출력이 안됩니다. 혹시 GridView가 아닌 다른 위젯으로 출력을 해야할까요? 검색을 하려해도 무슨 키워드로 검색을 해야할지 감이 안 잡혀서요. 답변 기다리겠습니다. ^^
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
22강 jpa 오류 ㅠㅠ
22강 jpa 보면서 했는데 오류가 이렇게 나요 ㅠㅠ아래는 오류 내용 입니다 ㅠㅠOpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appendedjava.lang.IllegalArgumentException: org.hibernate.query.sqm.ParsingException: line 1:14 mismatched input 'Member' expecting {<EOF>, ',', FROM, GROUP, ORDER, WHERE}at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138)at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:162)at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:168)at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:795)at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:120)at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)at java.base/java.lang.reflect.Method.invoke(Method.java:578)at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:311)at jdk.proxy2/jdk.proxy2.$Proxy96.createQuery(Unknown Source)at hello.hellospring.repasitory.JpaMemberRepository.findByName(JpaMemberRepository.java:34)at hello.hellospring.service.MemberService.validateDuplicateMember(MemberService.java:37)at hello.hellospring.service.MemberService.join(MemberService.java:31)at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)at java.base/java.lang.reflect.Method.invoke(Method.java:578)at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:756)at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:756)at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)at hello.hellospring.service.MemberService$$SpringCGLIB$$0.join(<generated>)at hello.hellospring.service.MemberServiceIntegrationTest.회원가입(MemberServiceIntegrationTest.java:35)at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)at java.base/java.lang.reflect.Method.invoke(Method.java:578)at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138)at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)Caused by: org.hibernate.query.sqm.ParsingException: line 1:14 mismatched input 'Member' expecting {<EOF>, ',', FROM, GROUP, ORDER, WHERE}at org.hibernate.query.hql.internal.StandardHqlTranslator$1.syntaxError(StandardHqlTranslator.java:46)at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:543)at org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:327)at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:139)at org.hibernate.grammars.hql.HqlParser.statement(HqlParser.java:361)at org.hibernate.query.hql.internal.StandardHqlTranslator.parseHql(StandardHqlTranslator.java:127)at org.hibernate.query.hql.internal.StandardHqlTranslator.translate(StandardHqlTranslator.java:77)at org.hibernate.internal.AbstractSharedSessionContract.lambda$interpretHql$2(AbstractSharedSessionContract.java:744)at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.createHqlInterpretation(QueryInterpretationCacheStandardImpl.java:141)at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.resolveHqlInterpretation(QueryInterpretationCacheStandardImpl.java:128)at org.hibernate.internal.AbstractSharedSessionContract.interpretHql(AbstractSharedSessionContract.java:741)at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:786)... 90 more
-
미해결[유니티6] 따라하면서 배우는 하이퍼캐주얼게임 시리즈 01
수업관련 질문이 있습니다
안녕하세요 . 시리즈 01 첫 번째 게임을 풀고 있는 와중에 질문이 있어서 글을씁니다 시리즈 01 이니 가벼운 마음으로 수업을 듣고 있었는데요 수학 관련 영상 부터 맨붕이 왔습니다 ㅜ 어쨋든 이부분들을 그냥 코드만 따라 써서 "어 잘돌아가네 " 가 아닌저의것으로 만들어서 다른게임을 만들때나 혹은 혼자서 만들때 활용할수있게 하고 싶습니다. 씨샵 강의도 다 들었는데 어려우니 빨리 제것으로 만들어보고싶습니다 . 어떤식으로 강의를 듣는게 좋을까요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-G 질문입니다.
안녕하세요 강사님.pair를 사용하지 않고 풀어보려고 했습니다.TC는 통과하는데 틀리다고 나오네요.피드백 가능할까요? http://boj.kr/9f1f4e5b3eed497997feb57514fe3bcf
-
해결됨호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
9:27 에 나오는 부분 찾아봤습니다.
public static MockHttpServletRequestBuilder get(String urlTemplate, Object... urlVariables) { return MockMvcRequestBuilders.get(urlTemplate, urlVariables) .requestAttr(RestDocumentationGenerator.ATTRIBUTE_NAME_URL_TEMPLATE, urlTemplate); }위의 코드는 RestDocumentationRequestBuilders의 get()입니다.Spring REST Docs2 - 요청, 응답필드의 9:27에서 하신 말씀 듣고 상속 관계이지 않을까하는 생각이 들었고 궁금해서 들어가보니 상속이 아닌RestDocumentationRequestBuilders의 get()에서 내부적으로 MockMvcRequestBuilders의 get()를 호출해주더라구요.MockMvcRequestBuilders가 추상클래스지만 get()이 static으로 선언되어 있어 상속을 해도 오버라이드를 할 수 없기에 저런 식으로 만들었지 않았을까?라고 추측을 해봤습니다.그러면서 추가적으로 위의 클래스들이 추상클래스로 만들어져 있고 메소드가 전부 static으로 선언되어 있는 것에 대해 이유가 궁금했습니다.추상클래스는 추상 메소드를 선언하고 상속을 하면서 오버라이드를 통한 다형성을 위해 사용한다고 알고 있었는데 여기서는 다른 목적과 방식으로 사용하고 있는 것처럼 보였기 때문입니다.그래서 검색을 해봤지만 키워드를 잘못 선택했는지명확하게 답을 찾지는 못했고, 추상 클래스와스태틱 메소드에 대해 각각 찾아보면서"객체 생성 제한과 메모리 이득 때문인가?"라는 생각이 들더라구요.하지만 추상클래스도 익명객체를 사용하면 객체 생성이 가능해지는 걸로 아는데 그래서인지RestDocumentationRequestBuilders는 생성자도 private으로 선언해 익명 객체로도 생성이 안되게 막아 놨지만 MockMvcRequestBuilders같은 경우는 생성자를 따로 막아 놓지 않아서 익명 객체로 생성이 가능하더라구요. 이렇게 차이를 두는 이유는 뭔가요??그리고 위의 클래스들처럼 선언한 이유도 궁금합니다.
-
미해결
일부 파일의 해쉬값 확인 불가
안녕하세요,시나리오 1(Autopsy) 내에서 아래 파일에 대한 해쉬값이 Autopsy에서 확인되지 않는 것을 알게됐습니다. 혹시 제가 설정을 잘못한 것일지요? 답안 파일에서는 해시값이 모두 기록되어 있어 확인차 문의드립니다.신한은행_거래내역_E1235436844.xlsx