묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결하루만에 만드는 깃허브 블로그
url이 대문자로 하면 소문자로 바껴요
https://happyLily.github.io 로 치고 들어가면 http://happylily.github.io/ L --> l 로 바뀌면서 404오류가 나요.. 대문자로 하면 안되나요?
-
미해결초보를 위한 도커 안내서
오류
안녕하세요! 좋은 강의 열심히 듣고 있습니다ㅎ다름이 아니라 'docker run -p 3000:3000 web' 명령어를 입력하면 위와 같이 오류가 뜹니다. 구글링해도 잘 안나오네요ㅜㅜ 어떻게 해결해야 하나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Nextjs reload에 관해서 질문이 있습니다.
components, pages 폴더에 있는 내용을 수정하면 새로고침 없이 수정된 내용이 반영되는데 reducer, sagas에 있는 내용은 꼭 새로고침을 해야 수정 내용이 반영이 되는 것 같습니다. 이 문제를 해결할 방법이 있는건가요?
-
미해결제주코딩베이스캠프 Code Festival: JavaScript 100제
행렬 곱에서 i,j,k를 len으로 통일시키면 2*3 3*2행열 계산이 안됨니다.
i,j는 같지만, k는 별도로 설정해 줘야 할 것 같은데요. let numIter = a[0].length; let arrRet = []; if (a[0].length === b.length) { for (let i = 0; i < a.length; i++) { let arrRow = []; for (let j = 0; j < b[0].length; j++) { let numTmp = 0; for (let k = 0; k < numIter; k++) { numTmp += a[i][k] * b[k][j]; } arrRow.push(numTmp); } arrRet.push(arrRow); } } else {
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
시간복잡도 문의
시간복잡도가... 풀이와 같이 하면 j = 1일때 n번 j = 2일때 n/2번 j = 3일때 n/3번 … j = n일때 n/n번 즉 total n * (1 + 1/2+1/3+…+1/n) 를 계산한 것이 시간복잡도가 되는것 맞나요 ? 아직 미흡해서 질문 남깁니다
-
미해결스프링 핵심 원리 - 기본편
질문이 있습니다.
안녕하세요 선생님 코딩을하다가 문득 의문이 들었습니다. order객체를 만들어주는 orderservice가 있습니다. 그래서 order 객체를 만들어줄때 orderservice 클래스에서 discountpolicy인터페이스로 구현한 fix, rate 정책을 계산해서 order 객체를 만들어줄때 반영합니다. 그런데 더 잘게 잘라서 작성할 때 orderservice에서 할인율을 계산하지않고 따로 discount 변수를 만들어서 직접 할인율을 메서드를 불러와 저장해주고 테스트케이스에서 직접 order 객체를 만들어주는 방식도 있다고 생각합니다. 근데 이게 잘못된 프로그래밍 케이스인지 의문이 들었습니다. 그리고 두번쨰로 createorder 메서드를 사용하면서 memberRepository 구현객체를 불러서 findbyid를 호출하셨는데 memberserviceimpl에 findMember를 호출하면 안되는건가요?? 그렇게해야 oderservice -> (의존)-> memberserviceimpl -> (의존)-> memberrepository 이 구성도가 되는게 맞지 않나요?
-
미해결홍정모의 따라하며 배우는 C언어
1분 34초 함수 구현 질문있습니다.
교수님께서는 93번째 줄에 함수 구현하실때 void fit_str(char* str, unsigned int size) { if (strlen(str) > size) str[size] = '\0'; } 위와 같이 구현 하셨는데요 이러면 사실상 배열에 5번째 글자만 널캐릭터로 바뀌고 "do it!"은 그대로 메모리에 남아있을것 같아서 완전히 문자열을 잘라냈다고 보기는 어렵지 않나요? 궁금해서 msg 배열의 모든 원소를 일일히 출력할수 있게 이하와 같이 함수를 실행해봤는데 실제로 5번째 원소인 , (쉼표) 만 널캐릭터로 바껴서 출력 안되고 나머지 부분은 그대로 배열에 남아있는것을 볼수 있습니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
강사님! 질문 드립니다!
자주 질문으로 귀찮게 해드려 죄송합니다! 등록, 수정, 조회 api 강의를 다 듣고, 복습개념으로 api를 다시 만들어 보았는데, 제가 제대로 이해하고 만든 api가 맞을까요..!? /** * 등록 API */ @Data public static class SaveMemberReq{ @NotEmpty private String name; private String city; private String street; private String zipcode; } @Data @AllArgsConstructor public static class SaveMemberResp{ private Long member_id; } @PostMapping("/api/v1/saveMember") public SaveMemberResp saveMember(@RequestBody @Valid SaveMemberReq req) { Address address = new Address(req.getCity(), req.getStreet(), req.getZipcode()); Member member = new Member(req.getName(), address); memberService.memberSave(member); return new SaveMemberResp(member.getId()); } /** * 수정 api */ @Data public static class UpdateMemberReq { private Long member_id; private String name; private String city; private String street; private String zipcode; } @Data @AllArgsConstructor public static class UpdateMemberResp{ private String name; } @PostMapping("/api/v1/updateMember") public UpdateMemberResp updateMember(@RequestBody @Valid UpdateMemberReq req) { Member member = memberService.memberFind(req.getMember_id()); Address address = new Address(req.getCity(), req.getStreet(), req.getZipcode()); //변경감지 memberService.memberUpdate(member, req.getName(), address); return new UpdateMemberResp(member.getName()); } /** * 조회 api */ @Data @AllArgsConstructor public static class SearchMemberDto{ private String name; private String city; private String street; private String zipcode; } @Data @AllArgsConstructor public static class SearchMemberResp<T>{ private int count; private T data; } @GetMapping("/api/v1/searchMember") public SearchMemberResp<List<SearchMemberDto>> searchMember(){ List<SearchMemberDto> dtos = new ArrayList<MemberApiController.SearchMemberDto>(); List<Member> memberList = memberService.memberList(); for(Member member : memberList) { dtos.add(new SearchMemberDto(member.getName(), member.getAddress().getCity(), member.getAddress().getStreet(), member.getAddress().getZipcode())); } return new SearchMemberResp<List<SearchMemberDto>>(dtos.size(),dtos); }
-
미해결홍정모의 따라하며 배우는 C언어
6.15 중첩된 루프들에서 이해가 안되는 것이 있습니다
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요. #include <stdio.h> #define NUM_ROWS 12 #define FIRST_CHAR 'A' // #define LAST_CHAR 'L' int main() { int r; // row loop int c; // charcter loop for (r = 0; r < NUM_ROWS; ++r) // [out loop] r=0 이고 0,1,2,3,4,5,6,7,8,9,10,11,12 값을 반복 하며 { for (c = FIRST_CHAR + r; c < FIRST_CHAR + NUM_ROWS; ++c) // [inner loop] { printf(" %c ", c); } printf("\n"); } return 0; } 이 반복문에서 for 2번째 inner loop에서 c < FIRST_CHAR + NUM_ROWS; 를 하는데 왜 알파벳이 줄어들면서 반복되는지 잘 이해가 안되네요 NUM_ROWS; 값은 12인데 A B C D E F G H I J K L B C D E F G H I J K L C D E F G H I J K L 이렇게 줄어들면서 나오는 이유가 궁금합니다 • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
package 만드실 때 단축키 어떤거 사용했는지 알 수 있을까요?
안녕하세요. 6:30 쯤 패키지 만드실 때 마우스로 클릭안하고 생성하셨는데 윈도우에서 어떻게 사용하는지 궁금합니다!!
-
미해결홍정모의 따라하며 배우는 C언어
const와 define 사용
안녕하세요:) 이전에 다른 분께서 비슷한 질문을 하셨는데, 궁금한 점이 남아있어 질문을 드리게 되었습니다. #define SIZE 5 가 아닌 메인함수 내에서 const int SIZE = 5; 로 사용하면 에러가 나는 것에 대해 교수님께서 c에서는 문법적인 이유로 불가하다고 하셨는데, 그 문법적인 이유가 무엇인지 더 자세히 여쭤봐도 될까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST 사용 예시 질문
강사님 안녕하세요:) 강의 내용 중 POST 예시에서 "기존 자료에 데이터 추가 ex) 한 문서 끝에 내용 추가하기" 에서 궁금한 점이 생겨 질문드립니다. 위 경우 저는 PATCH 나 PUT을 사용해서 /contents/{id} 이런식으로 기존 내용에 추가해야 할 것이라고 생각했는데, 왜 POST를 사용하는지 궁금합니다. 또한, POST를 사용할 경우 http body에 기존 문서의 id를 넣어서 전송해야 되는 것 맞나요? 그리고 뒤에 HTTP API 설계 예시 강의 "HTTP API -컬렉션 회원관리 시스템" 부분에서 PATCH와 PUT을 사용하기 애매한 경우에는 POST를 사용하여 수정하라고 하셨는데, 어떤 경우가 애매한지 궁금합니다("기존 자료에 데이터 추가"가 그 애매한 경우인가요..?). 쓰다보니 질문이 많아졌네요,,ㅜ 강의를 들으면서 많이 배우고 있습니다. 정말 감사합니다!!
-
미해결Flutter 입문 확장판 - 인스타그램 클론 2.0
setData에 merge: true를 추가해주세요
해당 요소가 없으면 기존 데이터를 덮어쓰게 됩니다! setData({user.email: true}, merge: true);
-
해결됨비전공자를 위한 개발자 취업 개론
튜터님 백앤드 관련하여 질문있습니다.
튜터님 안녕하세요! 다른분야에서 일하다가 서른이라는 어중간한나이에 퇴사하고 이직을결심한 비전공자입니다. 저는 원래예전부터 프로그래머(개발자), 특히 머신러닝 딥러닝같은 분야를 한번은 공부해보고싶다고 생각하고있었습니다. 퇴사하고 3주간 인터넷서칭을해보면서 cs50이라는 강의도 끝까지 다 들어보고, 생활코딩님의 강의도 들어보니 백앤드 쪽이 강하게 하고싶고 파이썬위주로 준비하다보면 언젠가 딥러닝같은 분야로 갈수있겠구나 생각했는데, 튜터님께서 저와 완전똑같은 길을 걸었다는걸 알게되었습니다. 미리 강의를 들었다면 부트캠프 신청이라도 했을텐데 이미 왠만한 부트캠프는 마감이되었더라구요 ㅠㅠ 기간이짧은 부트캠프와 인강을 찾아보니 대부분 프론트앤드 강의뿐이고 드물게보이는 백앤드강의는 대부분 java로 시작이고, 파이썬을 배우려면 데이터사이언스쪽 인강을 들어야하더라구요. 이렇게 고민하다가 벌써 4일이라는시간이지났네요.. 그래서 제 상황에 자바로 배우는 백앤드 인강이라도 시작을해야하는지// 풀스택(말은 풀스택이지만 프론트앤드가 절반이상인) 부트캠프라도 빨리들어가서 배워야하는지, 아니면 백앤드 프론트앤드를 벗어나서 우선 파이썬기초인강을 들어야 하는지 비전공자로써 조언을 듣고싶습니다...(스파르타코딩의 항해99라는 부트캠프가있는데 3월에 1기가 시작되고 기본적인 cs배경을 배우면서 react /reactnative/ node.js /spring 중 선택해서 심화로 배우는 과정인데 부족한 제지식으로 보기에는 node,js나 spring중 선택해 공부하면서 백앤드를 배워보는건 어떨까요???) 바쁘시겠지만 질문을 보게되시면 답변부탁드립니다! 2~3주 혼자고민만하면서 제자리 걸음이였는데 이강의를 듣고 한번에 첫걸음을 내딛을 수 있어서 너무좋았습니다 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
sudo npm start && sudo npx pm2 monit 에러
sudo npm start && sudo npx pm2 monit > node_bird_server@1.0.0 start > pm2 start app.js Error: EACCES: permission denied, mkdir '/root/.pm2/logs' at Object.mkdirSync (node:fs:1005:3) at mkdirpNativeSync (/home/ubuntu/nodebird/server/node_modules/mkdirp/lib/mkdirp-native.js:29:10) at Function.mkdirpSync [as sync] (/home/ubuntu/nodebird/server/node_modules/mkdirp/index.js:21:7) at module.exports.Client.initFileStructure (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Client.js:133:25) at new module.exports (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Client.js:38:8) at new API (/home/ubuntu/nodebird/server/node_modules/pm2/lib/API.js:108:19) at Object.<anonymous> (/home/ubuntu/nodebird/server/node_modules/pm2/lib/binaries/CLI.js:22:11) at Module._compile (node:internal/modules/cjs/loader:1108:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10) at Module.load (node:internal/modules/cjs/loader:973:32) Error: EACCES: permission denied, mkdir '/root/.pm2/pids' at Object.mkdirSync (node:fs:1005:3) at mkdirpNativeSync (/home/ubuntu/nodebird/server/node_modules/mkdirp/lib/mkdirp-native.js:29:10) at Function.mkdirpSync [as sync] (/home/ubuntu/nodebird/server/node_modules/mkdirp/index.js:21:7) at module.exports.Client.initFileStructure (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Client.js:141:25) at new module.exports (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Client.js:38:8) at new API (/home/ubuntu/nodebird/server/node_modules/pm2/lib/API.js:108:19) at Object.<anonymous> (/home/ubuntu/nodebird/server/node_modules/pm2/lib/binaries/CLI.js:22:11) at Module._compile (node:internal/modules/cjs/loader:1108:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10) at Module.load (node:internal/modules/cjs/loader:973:32) Error: EACCES: permission denied, open '/root/.pm2/module_conf.json' at Object.openSync (node:fs:490:3) at Object.writeFileSync (node:fs:1514:35) at module.exports.Client.initFileStructure (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Client.js:149:10) at new module.exports (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Client.js:38:8) at new API (/home/ubuntu/nodebird/server/node_modules/pm2/lib/API.js:108:19) at Object.<anonymous> (/home/ubuntu/nodebird/server/node_modules/pm2/lib/binaries/CLI.js:22:11) at Module._compile (node:internal/modules/cjs/loader:1108:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10) at Module.load (node:internal/modules/cjs/loader:973:32) at Function.Module._load (node:internal/modules/cjs/loader:813:14) Error: EACCES: permission denied, mkdir '/root/.pm2/modules' at Object.mkdirSync (node:fs:1005:3) at mkdirpNativeSync (/home/ubuntu/nodebird/server/node_modules/mkdirp/lib/mkdirp-native.js:29:10) at Function.mkdirpSync [as sync] (/home/ubuntu/nodebird/server/node_modules/mkdirp/index.js:21:7) at module.exports.Client.initFileStructure (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Client.js:157:25) at new module.exports (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Client.js:38:8) at new API (/home/ubuntu/nodebird/server/node_modules/pm2/lib/API.js:108:19) at Object.<anonymous> (/home/ubuntu/nodebird/server/node_modules/pm2/lib/binaries/CLI.js:22:11) at Module._compile (node:internal/modules/cjs/loader:1108:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10) at Module.load (node:internal/modules/cjs/loader:973:32) ------------- __/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____ _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___ _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__ _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___ _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____ _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________ _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________ _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_ _\///______________\///______________\///__\///////////////__ Runtime Edition PM2 is a Production Process Manager for Node.js applications with a built-in Load Balancer. Start and Daemonize any application: $ pm2 start app.js Load Balance 4 instances of api.js: $ pm2 start api.js -i 4 Monitor in production: $ pm2 monitor Make pm2 auto-boot at server restart: $ pm2 startup To go further checkout: http://pm2.io/ ------------- Error: EACCES: permission denied, open '/root/.pm2/module_conf.json' at Object.openSync (node:fs:490:3) at Object.readFileSync (node:fs:391:35) at Object.Configuration.getAllSync (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Configuration.js:299:26) at Object.Configuration.getSync (/home/ubuntu/nodebird/server/node_modules/pm2/lib/Configuration.js:270:30) at new API (/home/ubuntu/nodebird/server/node_modules/pm2/lib/API.js:117:44) at Object.<anonymous> (/home/ubuntu/nodebird/server/node_modules/pm2/lib/binaries/CLI.js:22:11) at Module._compile (node:internal/modules/cjs/loader:1108:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10) at Module.load (node:internal/modules/cjs/loader:973:32) at Function.Module._load (node:internal/modules/cjs/loader:813:14) /home/ubuntu/nodebird/server/node_modules/@pm2/agent/src/InteractorClient.js:58 if (stats.uid === 0) { ^ TypeError: Cannot read property 'uid' of undefined at /home/ubuntu/nodebird/server/node_modules/@pm2/agent/src/InteractorClient.js:58:21 at FSReqCallback.oncomplete (node:fs:194:21) npm ERR! code 1 npm ERR! path /home/ubuntu/nodebird/server npm ERR! command failed npm ERR! command sh -c pm2 start app.js npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-01-20T17_02_45_173Z-debug.log 위와 같이 에러가 발생하는데 어떤게 문제인지 알수있을까요??
-
미해결스프링 핵심 원리 - 기본편
@BeforeEach 장점
안녕하세요! 강의를 듣다가 문득 궁금한 점이 생겨서 질문 드립니다. @Test 가 실행될 때마다 새로운 테스트 객체가 생성되어 필드가 초기화 되는데, 위 코드처럼 클래스 필드에서 초기화 하지 않고, 이렇게 @BeforeEach 메소드 내부에서 초기화 하면 어떤 장점 있는지 궁금합니다. 좋은 강의 해주셔서 정말 감사합니다!
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
인프런 크롤링 질문
현재 인프런 개편되서 강의대로 하기는 힘들어서 그냥 메인 페이지를 크롤링 해 와서 print로 찍은 것과 실제 인프런 사이트에서 F12로 element를 비교해 보는데 왜 정보가 다른 것인지 모르겠습니다. from bs4 import BeautifulSoup import urllib.request as req import sys import io sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8') url = "https://www.inflearn.com/" res = req.urlopen(url).read() soup = BeautifulSoup(res, "html.parser") main= soup.select("#pg___main") print(main) 이렇게 찍어보면 해당id : pg___main 밑에 section을 다 못가져올뿐만 아니라 배치도 다릅니다. 이런 것부터 해결이 안되니...진도가 너무 안나갑니다...ㅠ.ㅠ 문제는 매 강의마다 이러한 것들이 너무 많네요...
-
미해결실전! Querydsl
jpa에서 Inline View를 포함한 구문은 지원하지 않는다고하셧는데요 이 말이 의미하는게 정확히 무엇인가요?
Inline View를 포함한 구문은 지원하지 않는 다고 하셨습니다. 이말은 다음과 같은 결론을 도출 할 수 있는건가요? 'Inline View 를 포함한 sql문의 결과와 동일한 결과를 영속성 컨텍스트에서 가져올 수 없다' 즉, 부득이하게 native query를 사용한다면 이는 영속성 컨텍스트의 장점 중에 하나인 1차 캐시에서 빠르게 가져오는 효과를 볼 수 없다. 저는 이렇게 이해 하였습니다. 그런데 인터넷에서 검색을 해보니 어떤 블로그에 다음과 같은 문장이 있었습니다. 그렇다면 JPA가 지원하는 네이티브 SQL과 JDBC API를 직접 사용하는 것에는 어떤 차이가 있냐? 그것은 바로 네이트브 쿼리는 엔티티를 조회할 수 있고 JPA가 지원하는 영속성 컨텍스트의 기능을 그대로 사용할 수 있다는 것이다! 정확히 블로그 내용이 맞는거지는 모르겠습니다만 위 블로그 내용이 맞다면 왜 Inline View를 포함한 구문을 지원하지 않는건가요? 너무 헷갈리고 어떤것이 정답인지 궁금합니다 도와주세요 김영한 선생님..
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
std? vector?
선생님 이런 질문 드려서 정말 죄송합니다. 그렇지만 컴맹인 제가 기본 c언어 문법부터 선생님 강의만 믿고 따라왔습니다. 그런데 그쪽에서도 여기서도 설명해주시지 않았던 , 나오지 않던 cin?cout? std::vector 이나 #include <vector> 이런것들이 나오니 너무 당황스럽습니다. 죄송하지만 어떻게 하면 따라갈수 있을까요 ,,? 어떤 강의를 듣고 오라면 듣고 오겠습니다 ㅜㅜㅜ 따라가고 싶은데 모르는 내용에 너무 답답해서 질문 남겨봅니다 ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바로 스프링 빈 등록을 진행했을 시에
자바로 MemberService를 스프링 빈 등록으로 진행했을 시에(Config에 @Bean으로 등록했을 시에), MemberService 클래스의 구현부에 생성자 주입시에 @Autowired 어노테이션을 넣어주지 않아도 되는건가요?