안녕하세요 강의를 듣다가 질문이 생겨 문의드립니다 axios.post 설명 중 interface Created {}가 이해되지 않아 질문 드립니다 import axios, {Axios, AxiosError, AxiosResponse} from "axios"; interface Post {userId: number, id: number, title: string, body: string} interface Created {} interface Data {title: string, body: string, userId: 1} (async () => { try { const response = await axios.get<Post, AxiosResponse<Post>>( "https://jsonplaceholder.typicode.com/posts/1" ); //post<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>; const response2 = await axios.post<Created, AxiosResponse<Created>, Data>('https://jsonplaceholder.typicode.com/posts', { title: 'foo', body: 'bar', userId: 1 }) console.log(response.data.id) console.log(response2) } catch (error) { if(axios.isAxiosError(error)) { //커스텀 타입가드 // {message: "서버 장애입니다. 다시 시도해주세요"} console.error((error.response as AxiosResponse<{message: string}>)?.data.message) } } } })(); [index.d.ts] 내의 axios.get의 경우 Post가 있어 타입을 확인할 수 있다는 것은 이해했습니다. 하지만 interface Post와 달리 interface Create는 빈 객체는 axios.post 에서 무슨 역할인지 이해되지 않습니다. 개인적인 생각으로는 [index.d.ts]에서 T는 any니까 Create는 단순히 자리만 채우고 실제 타입 역할은 interface Data가 수행하는 것 같았습니다 제대로 이해한 게 맞나 싶어 문의드립니다 그리고 올려주신 강의 늘 잘 듣고 있습니다. 늘 어려운 부분, 이해되지 않는 부분을 쉽게 설명하셔서 감사합니다.
애니메이션 Atack함수 실행간 오류가 있어서 분석해본봐 postinitializecomponents 함수를 호출하지 못하고 있는듯합니다. 해당합수에 Log를 출력하기 위해 작성해 두었으나 해당 로그가 출력되지 않습니다. 해당 postinitializecomponents 함수에서 animationmotage를 받아오기위한 코드가 들어있는데 해당 함수가 실행되지 않아 Attack 함수 내부에 문제가 생긴걸로 파악되었습니다. 혹시 어떤 조치를 하면 될지 알 수있을가요?
select case when grades > 7 then name else "null" end as "Name" , grades, marks from (select * from students s, grades g where s.marks between g.min_mark and max_mark) sub 작성시 아래와 같은 에러가 발생해서요 ㅠ from 절에 서브쿼리 사용시 자주 보이는 에러라 여쭤봅니다! ERROR 1054 (42S22) at line 7: Unknown column 'grades' in 'field list'
미니 프로젝트를 진행하는데 현재 백엔드 api를 다 만들고 프론트로 넘어가려고 하는 중입니다. 모든 api 상황에 맞게 isLoggedin isNotLoggedin 설정을 해주었습니다. 그래서 req.user로 user의 id값을 불러와서 작동되는 api가 많은데 이렇게 개발 과정에서 쿠키를 심어가면서 로그인유무를 지키면서 작업한는게 맞는건가요?? 아님 매번 로그인을 하고 테스트하는게 좀 불편하니 프로젝트 마지막에 설정을 해줘야 할까요? 그리고 만약 쿠키를 안심고 하면 req.user id값을 못불러오니 프론트단에서 user id 값을 수동으로 넣어주면서 작업을 해야 하는건가요?
userList를 getUserDataList()로 새로 받아오면 강의영상과 같이 잘 작동은 합니다. 그런데 userList를 초기화시키는 행위는 없어서 userList가 계속 커지는문제가 있는거 같아서 getUserDataList 함수 초입에 userList를 mutableListof로 초기화 시키는 구문을 넣었는데 adapter가 동작을 안합니다. 아무래도 동기화문제인거같은데 정확하게 파악할 수가없어 질문드립니다. 어떤 문제일까요? 여기에다가 주석처리한 저 문장을 넣으면 adapter가 동작을 안하고(아무것도 불러오지 못하고) 이렇게 onCardSwiped에서 개수 check할때 같은 문장을 넣으면 잘 작동합니다. 무슨차이가있는지 궁금합니다.
TypeError: user.comparePassword is not a function >>비주얼에서는 이런식으로 자꾸 오류가 뜨고, 포스트맨에서는 Could not get response Error: read ECONNRESET 이렇게 뜹니다,,!!! post는 http://localhost:5000/api/users/login 이던 http://localhost:5000/login이던 다 안돼요,,, 답변 부탁드립니다ㅠㅠㅠㅠㅠㅠ
안녕하세요? 강의 수강 중 반응형 작업에 용이한 미디어쿼리 부분에 대해 궁금한 부분이 생겨서 글을 남기게 되었습니다~ 보통 세~네가지 미디어쿼리 사이즈로 나눠서 작업을 한다고 알고 있는데요. pc 태블릿 모바일 이라고 가정했을 때 모바일 기반의 사이트에서는 3을 기반으로 먼저 작업을 하고 그다음 2.태블릿, 1. pc 순으로 작업을 하는 게 더 효율적일까요?? 그리고, 이 부분이 가장 궁금한 부분인데요, 보통 320px ~ 480px 이 모바일 사이즈라고 알고 있는데, 크롬 개발자모드에서 확인을 해보면 480px 화면에서는 폰트 사이즈가 괜찮은데, 320px 화면에서는 폰트사이즈가 크다보니 줄바꿈이 생기는 경우가 있어서요.. 320~480까지의 간격이 꽤나 큰 것 같은데 보통 이럴때는 어떻게 작업하는지 궁금합니다 ㅜㅜ
선생님 강좌를 전부 구독하여 열심히 공부하고있는 학생입니다. 강의를 따라하면서 의문사항이 드는건요. 전 dothome 무료계정을 사용하고있는대요. 파일질라에 최종 프로젝트가 완료된 사항을 올리고 싶은대요. 프로젝트가 Client / Server 로 나뉘어있잖아요~ Client 부분만 npm run build 하니 화면은 보이는대, upload 버튼클릭시 404페이지가 뜨네요. 초보라서 ...해결방법 부탁드립니다.
쫌 이상한 질문 같지만, 궁금한 게 있어서 문의 드립니다. 몇 년 전부터 아두이노 인기가 대단했었는데, 최근 들어 아두이노 인기가 줄어든 것 같습니다. 인터넷 강좌나 답글이나 관련 자료가 올라오는 글들이 갈수록 줄어들고 뜸해지고 있네요. 아두이노 자체적인 결함이나 한계가 있는 건지..,? 아니면, 아두이노 대체품이 나와서 아두이노 열기가 그쪽으로 쏠린 건지,..? 아두이노를 시작하려는 시점에서, 아두이노가 곧 없어지는 건 아닌지... 계속 해야하는 건지... 이런 약간 멍청하지만 불안한 느낌이 들어서 쫌 이상한 질문을 해 봅니다. 고수님들의 답변 부탁드립니다.
롬복을 설치하고 이클립스에 적용하는데 있어 검색을 많이 했는데 롬복 설치경로를 sts4와 같게 하라고 하시더라구요. java - jar lombok.jar을 통해 압축을 풀고 경로를 탐색할때 sts4가 아니라 이클립스만 있는데, 이클립스에 적용하고 인텔리제이j에서의 annotation processors검색, Enable annotation processing체크와 같은 과정을 어떻게 수행할 수 있을까요?
비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
강의에서는 주석으로 빼주는 부분이 제 컴퓨터에는 뜨지 않아서 주석처리 하지 못했어요.. 그러면 뭔가가 달라지나요??? 그리고, 저의 포트 이름과 유저가 아니라 강의에서 나온대로 따라 적어서 성공을 했는데, 제 포트 이름과 유저로 하면 자꾸 실패하더라구요.. 제 포트 이름과 유저로 하지 않아도 되는 건지.. 앞으로도 그 주소로 하면 되는지.. 궁금합니다!
현재 파워피벗, 파워쿼리, DAX, MS BI 수업을 모두 듣고 있는데 어디다 남겨야할지 몰라서 여기다 남깁니다. 우선 파워쿼리를 통해서 20~22년 매출까지 모두 가져와서 피벗을 돌렸습니다. 여기서 제가 필요한 것이 위의 표처럼 만드려고 합니다. 전월대비 증감률 / 22년 매출합계 / 전년동월대비 증감률 이렇게 3가지를 추가로 넣으려고 합니다. 우선 든 생각은 슬라이서를 넣어서 전년 매출과 올해 매출의 같은 날짜만 선택해서 하면 되겠구나 했는데 그럼 전년 전체매출이 나오질 않아서 조금 문제가 될 듯 하고요 1회성이라면 그냥 옆에다 수식을 걸어서 하면 되는데요 매일매일 업데이트를 해야하는 표라서요~ 최대한 한번 만들어놓고 자료만 업데이트하면 되는식으로 해보려고 하거든요~ 답변 부탁드리겠습니다. ^^
MemberServiceImpl과 MemberRepository 이렇게 2개가 의존관계에 있을 때 로그를 확인해보니 1. MemberServiceImpl 빈 등록 2. MemberRepository 빈 등록 3. MemberServiceImpl에 MemberRepository 의존성 주입 (Autowired) 이렇게 로그가 찍혔습니다. 여기서 궁금한 점은 MemberServiceImpl 빈 등록이 가장 처음이라는 점이었습니다. 구글링을 해보니 빈 등록시 Reflection API를 사용한다고 나와있었습니다. 그런데 MemberServiceImpl에는 기본생성자가 없습니다. 그래서 Reflection API를 사용하여 인스턴스를 어떻게 생성하는거지??? 의문이 생겼습니다. 분명히 로그를 보면 MemberRepository가 주입되지 않은 빈객체가 생성된 것을 알 수 있습니다. 그렇다면 Reflection API를 사용하여 기본생성자로 MemberServiceImpl 인스턴스를 생성했다는 것인데 MemberServiceImpl에는 기본생성자가 없습니다. 실제로 테스트를 해봤습니다. 생성자가 하나인 경우 @Autowired 붙이나 안붙이나 같은 효력을 가지므로 다음과 같이 테스트 하였습니다. @Component public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } public MemberServiceImpl(MemberRepository memberRepository, String message) { this.memberRepository = memberRepository; } 테스트를 해보니 기본생성자가 없어서 빈으로 등록을 못한다는 예외가 발생하였습니다. 그런데 다음의 경우에는 기본생성자가 없어서 빈으로 등록을 못한다는 예외가 발생하지 않았습니다. @Component public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } public MemberServiceImpl(MemberRepository memberRepository, String message) { this.memberRepository = memberRepository; } 단서는 @Autowired라는 것은 발견했습니다. 그런데 구글링을 해도 @Autowired 가 기본생성자를 만들어주나? 이에대한 글을 찾기가 힘들었습니다. 혹시 이와관련한 자료가 있다면 답변 주시면 감사하겠습니다~