묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
app.tsx 질문입니다
// import "../styles/globals.css"; import { ApolloClient, InMemoryCache, ApolloProvider } from "@apollo/client"; import type { AppProps } from "next/app"; export default function App({ Component }: AppProps): JSX.Element { const client = new ApolloClient({ uri: "http://backend-example.codebootcamp.co.kr/graphql", cache: new InMemoryCache(), //컴퓨터의 메모리에다가 백엔드에서 받아온 데이터 임시로 저장해 놓기 => 나중에 더 자세히 알아보기 }); //graphql 셋팅 return ( <div> <div> ============여기는 APP.js 컴포넌트 시작부분 입니다============== </div> <ApolloProvider client={client}> <Component /> </ApolloProvider> <div>============여기는 APP.js입니다==============</div> </div> ); }코드이고 Component에 빨간줄이 그어져서 마우스를 올려보니 'Component'은(는) JSX 구성 요소로 사용할 수 없습니다.Its type 'NextComponentType<NextPageContext, any, {}>' is not a valid JSX element type.'ComponentClass<{}, any> & { getInitialProps?(context: NextPageContext): any; }' 형식은 'ElementType' 형식에 할당할 수 없습니다.'ComponentClass<{}, any> & { getInitialProps?(context: NextPageContext): any; }' 형식은 'new (props: any) => Component<any, any, any>' 형식에 할당할 수 없습니다.구문 시그니처 반환 형식 'Component<{}, any, any>' 및 'Component<any, any, any>'이(가) 호환되지 않습니다.'render()'에서 반환되는 형식은 해당 형식 간에 호환되지 않습니다.'React.ReactNode' 형식은 'import("c:/Users/82109/OneDrive/\uBC14\uD0D5 \uD654\uBA74/codecamp-frontend-mentee/class/node_modules/@types/react-transition-group/node_modules/@types/react/index").ReactNode' 형식에 할당할 수 없습니다.'{}' 형식은 'ReactNode' 형식에 할당할 수 없습니다.ts(2786)(parameter) Component: NextComponentType<NextPageContext, any, {}> 라고 나오는데 실행해도 크게 문제는 없는거 같은데 ts로 바꾸면서 타입을 설정해주지 않아서 나오는 warning같은 느낌인건지 궁굼해서 질문 남깁니다.항상 좋은강의 감사드립니다!
-
미해결스프링 부트 - 핵심 원리와 활용
AppInitV1Servlet 사용시 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 안녕하세요, AppInitV1Servlet 를 사용할때, 02 pdf. 21쪽 HandlesTypes 를 사용하지도 않았는데, 어떻게 AppInitV1Servlet이 등록 된 것인가요..? MyContainerInitV2에서는 서블릿컨테이너 초기화 시점에, @HandlesTypes(AppInit.class)를 통해 지정해 주어set<Class<?>> c.... 를 통해 넣는 것은 이해가 되는데,이 과정이 자동으로 일어난것인가요?자동으로 일어났다고 보기에, Appinit은 직접 만든 인터페이스여서 이해가 되지 않습니다... 설명 부탁드립니당
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
app폴더 방식
안녕하세요 선생님.제가 지금 npx create next app을 하면 pages가 아니라 app폴더 방식으로 버전 13이 기본으로 되어 있는 것 같습니다.13 버전으로 공부해도 괜찮을까요? getStaticProps함수 등 여러가지 기능이 바뀌었을 것 같아서요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
섹션 40 관련 질문 드려요
섹션 40에서 postgres 관련된 부분에서 노션에 나와있는 부분과 같이 host와 비밀번호를 입력했는데 진행이 되질않는데요혹시 이 부분이 실습 불가능한 부분이라 영상만 봐도 되는 건가요?
-
해결됨
수강증관련
수강한 과목 회사지원을 해주고있어 수강증을 제출해야하는데제 이름과 금액 그리고 수강일자 나오도록 가능할까요? 6.15~12.15일까지 이런식으로요
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
MYSQL 수강하고 Pandas 강의로 넘어가도 될까요? (몽고DB수강 X)
안녕하세요. 전 열심히 잔재미코딩 선생님 강의 수강하고 있는 수강생입니다. 크롤링 기본,고급 강의 수료했고지금 열심히 SQL 듣고 있는 중입니다. 이 다음 단계로 MongoDB 건너띄고 판다스 강의로 넘어가도 강의 듣는데 문제없을까요? 조언 부탁드립니다. 감사합니다.
-
미해결카프카 완벽 가이드 - 코어편
자바 클라이언트 메세지 전송 테스트 실패
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.자바 클라이언트에서 메세지 전송시 아래와 같은 오류가 발생합니다.저는 m1 유저라 UTM으로 가상환경 구성하였고,터미널에서 테스트시에는 이전 수업내용은 잘 작동하였는데, 자바클라이언트에서 오류가 발생하네요어떻게 해결하면 좋을까요?
-
미해결
로컬스토리지..? 활용방법에 대해 아시는분 계신가요..?
안녕하세요.궁금한게 있어 문의드립니다.현재 리스트 작성 페이지를 만들고 잇는데, 서버 연동은 안된상태입니다.다만 서버연동없이..?json 데이터를 저장할수가 잇다고 하는데 혹시 어떻게 해야 할지 알수 잇을까요..?현재는var list = [ { id: 300, name: '대성갈비', old: 18000, email: '백반', status: 'ㄱ월요일 휴일', birthday: '2018-04-12' }, { id: 500, name: '세븐갈비', old: 20000, email: '갈비', status: 'ㄱ월요일 휴일', birthday: '2018-04-1' }, { id: 400, name: '퍼니주', old: 10000, email: '오므라이스', status: 'ㄴ화요일 휴일', birthday: '2018-04-11' }, { id: 200, name: '멘야코노하', old: 18000, email: '돈까스', status: 'ㄴ화요일 휴일', birthday: '2018-04-12' }, { id: 150, name: '춘배버거', old: 18000, email: '햄버거', status: 'ㄷ수요일 휴일', birthday: '2018-04-12' }, { id: 150, name: '술래감자탕&순대국', old: 18000, email: '감자탕', status: 'ㄹ목요일 휴일', birthday: '2018-04-12' }, { id: 7, name: '빠오즈푸', old: 18000, email: '돈까스', status: 'ㄱ연중무휴', birthday: '2018-04-12' }, { id: 8, name: '하늘분식', old: 18000, email: '갈비', status: 'ㄱ연중무휴', birthday: '2018-04-12' }, { id: 9, name: '서울숲쭈꾸미', old: 18000, email: '쭈꾸미', status: 'ㄱ연중무휴', birthday: '2018-04-12' } ]; Vue.component('modal', { template: '#modal-template' }); new Vue({ el: '#ssfcrud', data: { list: list, item: {}, checkedList: [], filterToggle: false, filterByName: [], filterByStatus: [], sortById: false, sortByName: false, sortByOld: false, sortByStatus: false, sortByEmail: false, notification: false, showModal: false, modalType: 0, isFormValid: false }, computed: { listView: function () { var self = this; if (self.filterByName.length > 0 || self.filterByStatus.length > 0) { return self.list.filter(function(item) { return self.filterByName.indexOf(item.name) > -1 || self.filterByStatus.indexOf(item.status) > -1; }); } else { return self.list; } }, checkedAll: { get: function () { var self = this; if (self.checkedList.length > 0) { return self.listView.length == self.checkedList.length; } else { return false; } }, set: function (val) { var self = this; self.checkedList = []; if (val) { for (var i = 0; i < self.listView.length; i++) { self.checkedList.push(self.listView[i].id); } } else { self.checkedList = []; } } } }, watch: { sortById: function (val) { var self = this; self.listView = self.sortBy(self.listView, 'id', val); }, sortByName: function (val) { var self = this; self.listView = self.sortBy(self.listView, 'name', val); }, sortByOld: function (val) { var self = this; self.listView = self.sortBy(self.listView, 'old', val); }, sortByEmail: function (val) { var self = this; self.listView = self.sortBy(self.listView, 'email', val); }, sortByStatus: function (val) { var self = this; self.listView = self.sortBy(self.listView, 'status', val); } }, methods: { sortBy: function(array, param, reverse) { var filterA, filterB; return array.sort(function (a, b) { switch (param) { case 'id': filterA = a.id; filterB = b.id; break; case 'name': filterA = a.name; filterB = b.name; break; case 'old': filterA = a.old; filterB = b.old; break; case 'status': filterA = a.status; filterB = b.status; break; } if (reverse) { return (filterA > filterB) ? 1 : -1; } else { return (filterA < filterB) ? 1 : -1; } }); }, checkEmailValid: function (email) { var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); }, openModal: function (item) { var self = this; if (item) { self.item = item; self.modalType = 2; } else { self.item = { id: self.list[self.list.length - 1].id + 1, name: null, old: null, email: null, status: 'created' }; self.modalType = 1; } self.showModal = true; }, submit: function (item) { var self = this; if (item.id == null || item.name == null || item.old == null || item.email == null || !self.checkEmailValid(item.email)) { self.isFormValid = true; } else { if (self.modalType == 1) { self.list.push(item); } else if (self.modalType == 2) { self.list.find(function (value, index) { if (value.id == item.id) { self.list[index] = item; } }); } else { return; } self.item = {}; self.showModal = false; } }, deleting: function (index) { var self = this; var confirmDelete = confirm("Are you sure to delete this?"); if (confirmDelete) { self.list.splice(index, 1); } } }, filters: { getDayOfBirthday(val) { var temp = val.slice(4); var toYear = new Date().getFullYear(); var thisBirthday = toYear + temp; var _getDay = new Date(thisBirthday).getDay(); var todayDays = ['Chu Nhat', 'Thu 2', 'Thu 3', 'Thu 4', 'Thu 5', 'Thu 6', 'Thu 7']; return todayDays[_getDay]; } } }); 이와같이 구성되어있고 삭제 누르면 삭제는 되는데 새로고침하면 다시 데이터가 원복되는 상황입니다...
-
미해결웹플로우(Webflow) 시작하기 - 코딩 없이 자유도 높은 프로토타입 만들기
SEO 관련
안녕하세요강의 듣고 웹플로우로 제작했습니다!감사합니다~!그런데 결국 사이트가 노출이 되어야 의미가 있는건데..네이버서치어드바이저에서 rss나 사이트맵 제출같은건 어떻게 해야되는지 모르겠더라구요ㅠㅠ그대로 뒀더니 수집 실패라고 뜨네요구글 태그 같은거도 어떻게 설치해야되는지 모르겠구요,. 다른 툴로는 쉽게 되던데, 웹플로우에서 하는건 검색도 잘 안되네요.홈페이지 완성 후 사이트가 노출 잘 되도록 하는 방법이나, 구글 태그 같은 툴 설치 하는 법에 대한 강의가 있었으면 좋겠습니다~!사실 당장 필요하긴한데..ㅠㅠ 너무 어렵네요..
-
미해결C++ Let's Make Games
혹시 마리오게임 만드는 예제에서 헤더파일하고는 어디있나요?
넘겨가면서 보느라 이전 강의들에 있나 찾아보는데도 안보여서 Core.h 파일이 갑자기 생겼네요
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - NFT
파일검색 문제 해결
setting.json 파일을 변경해도 되지 않을경우 1. git ignore에 node_modules가 적혀있으면 검색이 안되는것을 확인 2. git_ignore에 에서 node_modules를 주석처리 한다 3. 컨트롤 p를 누르고 ERC721FULL을 작성한뒤 엔터를 갈긴다 4. 잘된다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
iptime 메뉴얼이 어떤것을 의미하는지 알려주실수 있나요?
안녕하세요 선생님 질문이 있습니다.강의소개및 교육목표 2:39 쯤에 iptime 메뉴얼을 언급하셨는데 구글링 해봐도 잘 못찾겠는데 혹시 link를 제공해주실 수 있나요...?
-
미해결스프링부트 시큐리티 & JWT 강의
시큐리티 1강 환경설정 10분 요렇
configureViewResolvers 을 오버라이딩 했을때내부구성을 요렇게 바꿔 주세요를 하셨을때요렇게를 어떻게 요렇게 바꾸나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
리액트 훅 폼 사용법
안녕하세요 질문드립니다 !과제 추가주제에 리액트 훅 폼을 사용해보라고 하셨는데 어떻게 하는지 찾아보긴했는데 잘 모르겠더라구요 ㅜㅜ 일단 다음섹션으로 넘어가될까요?
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
Next.js 스타일링 방식 결정
Next.js 에서 스타일링을 하는 방법들이 다양한 것으로 알고 있습니다.css-in-js도 제공하는 styled-jsx아니면 재설정 해서 styled-component, emotion ..... 등등프로젝트 스타일링을 scss, scss module로 결정하셨는데 혹시 이유가 있나요 ?????
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
Jenkins background 실행시 jar 파일 실행 성공 여부 확인
안녕하세요.궁금한점이 있어서 문의 드립니다.Jenkins 에서 springboot jar 파일을 서버에 배포 후에배포한 서버에서 shell script background 로 실행하게 되면jar 파일이 정상적으로 실행된것 과 무관하게 jenkins 는 success 로 끝나게 되는데만약 jar 파일이 정상적으로 실행 되지 않았을때 jenkins 에서 failed 로 나타나게 할수 있는 방법은 없을까요?ex)shell script 예시nohub java -Dsrping.profiles.active=dev -jar test.jar > /dev/null 2>&1 &
-
미해결자바 코딩테스트 - it 대기업 유제
팰린드롬의 경우의 수 질문드립니다.
저는 입력값이 크지가 않아서 가능한 문자열의 길이가 n이 되면 팰린드롬을 체크해서 중복방지를 위해 해시셋에 만족하는 문자열을 담는 걸로 구현을 했습니다.근데 재귀함수 안에서는 출력값이 잘 나오는거 같은데, 그걸 해시에 담았는데, 해시의 크기가 0으로 나옵니다. 무엇이 잘못된건가요??? import java.util.*; class Main { public static boolean[] visit; public static int n; public static String[] ll; public static HashSet<String> ans = new HashSet<>(); public String[] solution(String s){ String[] answer = {}; dfs(0,""); n=s.length(); visit = new boolean[n]; ll = s.split(""); //s를 문자열 배열로 분리 ans = new HashSet<>(); answer = new String[ans.size()]; System.out.print(answer.length); return answer; } public static void dfs(int L, String str) { //문자열 만들어주기 if(L==n) { if(check(str)) { //팰린드롬인지 체크 //System.out.println(str); ans.add(str); } else return; } else { for(int i=0; i<ll.length;i++) { //i번째 문자 썼는지 확인하면서 문자열 만들어주기 if(!visit[i]) { visit[i] = true; dfs(L+1,str+ll[i]); visit[i] = false; } } } } public static boolean check(String str) { //팰린드롬인지 체크 String[] list = str.split(""); int lt=0; int rt= list.length-1; while(lt<rt) { if(list[lt].equals(list[rt])) { lt++; rt--; } else return false; } return true; } public static void main(String[] args){ Main T = new Main(); System.out.println(Arrays.toString(T.solution("aaaabb"))); System.out.println(Arrays.toString(T.solution("abbcc"))); System.out.println(Arrays.toString(T.solution("abbccee"))); System.out.println(Arrays.toString(T.solution("abbcceee"))); System.out.println(Arrays.toString(T.solution("ffeffaae"))); } }
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.02
다음강의 Part.03 관련 질문
안녕하세요 part.02 강의 완강했습니다👍너무 좋은 강의라 다음 강의 스크롤트리거 관련 질문겸 반영됐으면 하는 부분이 있어서 질문을 올립니다part.03 강의에서 스크롤트리거 강의시 반응형으로 제작하는 강의도 포함되어있을까요?예를 들어 pc에서는 스크롤시 위에서 아래로 내려가는 모션이 모바일에선 좌에서 우로 가는것모션처럼 코드자체는 여기저기 검색해서 구현은 가능하지만 선생님강의처럼 효율적으로 작성하는 방법이 있을까 하는 궁금에서 질문드립니다 이번강의에서 타임라인을 효율적으로 관리하시는거보고 꼭 포함되면 좋을것 같아서 없다면 포함해주시면 감사합니다ㅠㅠ
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
await asyncio.gather 메소드 안에서 마지막 delivery 함수 이후에 , 를 추가하는 이유가 뭘까요?
결과 값은 같아 보이는데 아래 이미지에서 마지막에 ,를 추가한 이유가 있을까요?
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
의존성을 분리하는 건 캡슐화를 깼다고 볼 수 없을까요?
07:05 부근에서 메서드 내에 내부 알고리즘을 확인한 시점에서 캡슐화가 깨졌다는 언급을 해주셨습니다.개인적으로 생각했을 때는 의존성을 분리했을 때 또한 로직이 외부(인자)로 노출되므로 이것도 캡슐화가 깨졌다고 볼 수 있는 것 아닐까요?