제가 JVM이 어떠한 구조인지 잘 모르겠는데 JVM에 새로운 객체들을 계속 생성하는 메모리 문제는 Java(JVM) 만의 문제인가요? 아니면 다른 언어들도 예를 들면 자바스크립트의 prototype, 파이썬에서도 Class로 객체를 만들 수 있고 go언어는 struct 로 객체를 만들 수 있는데 이러한 것들도 스프링처럼 싱글톤으로 관리해주는 프레임워크가 없으면 메모리가 가득 차게 되나요? 그러면 웹 어플을 만든다고 할 때 가능하면 객체들은 싱글톤 패턴으로 개발해야 좋은 건가요?
안녕하세요. 감자님😀 SSH 암호화 부분에 궁금증이 생겨 질문 드립니다! SSH 연결에 비밀번호 인증 방식도 있지만 보안상 Key 인증 방식을 권장 하더라구요. Q. 비밀번호 인증 방식은 전송 전 암호화를 하더라도 보안에 취약한가요? 다른 경로로 ID, PW를 노출당하는 위험 때문에 비권장 하는 것인지, 비밀번호 인증 방식의 암호화, 복호화 자체가 보안에 취약해 비권장 하는 것인지 궁금합니다. 추가로.. 비밀번호 인증 방식의 암호화, 복호화는 Key 인증방식과 다른 메커니즘으로 이루어지나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요 MemberServiceImpl.java MemoryMemberRepository.java AppConfig.java Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [C:\Users\cksgu\Spring\스프링 핵심 원리 - 기본편\core\core\out\production\classes\hello\core\member\MemoryMemberRepository.class] - MemberRepository: defined by method 'MemberRepository' in class path resource [hello/core/AppConfig.class]. CoreApplicationTests를 실행하면 위와 같은 오류가 나는데 뭐가 문제일까요? 제가 생각하기에는 스프링 컨테이너 내에 있는 MemberRepository 타입의 빈이 여러 개가 있어서 그런 것 같은데 맞나요? 제가 생각하는 스프링 빈이 등록하는 과정과 충돌 되는 이유는 다음과 같습니다. @Bean으로 인해 이름이 MemberRepository인 MemoryMemberRepository를 빈으로 등록 (처음에는 앞 글자가 소문자인 memberRepository 이름으로 등록 되는 줄 알았는데 출력을 해보니 MemberRepository 이름 그대로 저장되는 것 같아요.) @Component으로 인해 이름이 memoryMemberRepository인 MemoryMemberRepository를 빈으로 등록 3. MemberServiceImpl에서 @Autowired으로 생성자 주입을 하기 시작함. 생성자 매개변수가 MemberRepository 타입이므로 MemberRepository 타입과 일치하는 빈을 스프링 컨테이너에서 찾아서 주입한다. 그러나 일치하는 빈이 여러 개 있으므로 충돌이 남... 혹시나 해서 AppConfig.java 내에 있는 MemberRepository() 함수를 앞 글자가 소문자인 memberRepository() 함수로 바꿔서 실행하면 잘 동작하는데 왜 그런지 알 수 있을까요? MemberRepository() 함수 이름이 MemberRepository 타입의 이름과 일치하면 안되나요? 빈 이름만 바꿨을 뿐 타입이 일치하는 빈이 스프링 컨테이너에서 여전히 여러 개일 텐데 왜 오류가 날지 않는지 궁금합니다. ============== 자답 =============== @Autowired 매칭 정리 1. 타입 매칭 2. 타입 매칭의 결과가 2개 이상일 때 필드 명, 파라미터 명으로 빈 이름 매칭 한다고 합니다. @Bean으로 인해 이름이 MemberRepository인 MemoryMemberRepository를 빈으로 등록 @Component으로 인해 이름이 memoryMemberRepository인 MemoryMemberRepository를 빈으로 등록 MemberRepository 타입과 일치하는 두 개의 타입을 찾았고, 그중에서 MemberServiceImpl 생성자 파라미터 명 memberRepository과 일치하는 빈이 없으므로 오류가 나는 것 같습니다.
기존에 mysql에 연결은 이런식으로 했습니다. 코드가 너무 지져분해서 mvc패턴으로 나눠보려고 하는중입니다. 아래처럼 바꾸고 db연결하고 로그인하려고 하는데 이렇게 오류가 발생하고있습니다. 구글링해봤는데 대부분은 처음에했던 위에것처럼 많이 나오는거 같아요. db를 models폴더에 mysql.js에 정의하고 controller에서 연결해서 사용하고싶습니다. 혹시 controller에서 쿼리문입력하면 너무 지저분한거 같아서 강사님이 models의 user.js에 시퀄라이즈를 이용해서 db에 정보넣는것처럼 쿼리문 따로 폴더를 만들어서 가져오고 사용할수있나요?(쿼리문을 밖으로 빼서 사용하고싶습니다.) 자세히 설명해 주시면 감사하겠습니다.
안녕하세요! 궁금한게 생겨서 질문 남겨요. 이력서의 BLOG 부분에 SQL 공부 내용을 정리중인데요, 혹시 <백문이불여일타-데이터 분석을 위한 SQL> 강의 중 화면 캡쳐한 이미지를 노션에 첨부해도 될까요? 출처 표기하면 업로드 해도 되는 건지 아니면 아예 사용할 수 없는 이미지 인지 알려주시면 감사할 것 같아요. 우피 연결은 안 할 예정이에요. 감사합니다 :)
안녕하세요. 나름대로 혼자 코드를 짜고 문제를 풀어보았습니다. 근데 SpeedCam의 코드에서 저의 코드는 package camera2; import detector.*; import reporter.*; public class SpeedCam extends Camera { private Detectable detect; private Reportable report; public void setDetect(Detectable detect) { this.detect = detect; } public void setReport(Reportable report) { this.report = report; } public void showMainFeature() { System.out.println("속도 측정, 번호 인식"); } public void detect() { detect.detect(); } public void report() { report.report(); } } 이러합니다. 정상적으로 목표 결과도 얻었습니다 근데 강사님의 코드는 public void detect() { this.detect.detect(); } public void report() { this.report.report(); } 이렇게 다른 부분이 존재하는데 this는 왜 필요한걸까요?
슬랙 프로젝트의 환경설정(웹팩 등)을 토대로 새 프로젝트를 만들고 있습니다. 페이지 접속시 console.log를 찍어보니 3번 찍히는 문제가 있습니다. 원인 및 해결방법을 모르겠어서 질문드립니다. 아래는 라우터 쪽입니다. login과 signup은 loadble을 사용해서 그런지 1번만 console.log가 찍혔습니다. 아래 stockrecode에 해당하는 페이지가 3번 console.log 찍힙니다. 아래는 stockrecode 컴포넌트에 있는 코드입니다. 나머지는 다 주석처리하였습니다. 아래는 로 이동시에 표시된 내용입니다. useSwr 사용 부분을 지우면 2번 표시됩니다. <해본 방법> strict-mode를 지우면 되는 글을 보아서 찾아봤는데 이미 strict-mode가 없는 상태였습니다. 2.웹팩에서 strict-mode를 false로 하면 되는 글을 보고 해보았는데 (관련 링크 https://www.sobyte.net/post/2021-09/webpack-strip-use-strict/) 아래처럼 @babel/plugin-transform-modules-commonjs 설치를 하고 적용해보았는데도 아래처럼 에러가 생겨서 이 방법으로도 해결하지 못하였습니다 답변주시는데 더 필요한 정보가 있으시면 말씀부탁드립니다. 꼭 해결하고 싶은데 제자리만 멤도는거 같아 질문 올립니다. ㅠ
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
토큰을 생성하는 방식이 변경되었습니다. 강의의 내용과 ui가 달라서 조금 헤맸습니다. configuration page 들어가서 Primary Certificate를 enable하고 그 아래 No Certificate를 delete (이메일을 입력필요)합니다. 그 후 아래 Features에 Temp token for audio/video call의 Generate temp RTC token링크를 타고 들어가면 같은 과정이 나옵니다! 한번 확인 부탁드립니다!
아래 코드에서 detect메소드는 public으로 해줘야 에러가 안뜨더라구요. 무조건 정의는 public으로 해줘야 하는 건가요? package detector; public class AcciedntDetector implements Detectable{ public void detect() { System.out.println("교통 사고를 감지합시다."); }; }
사용자 이름을 누르면 사용자의 게시글이 출력되는 기능 구현중 res.render가 동작하지 않아 질문 드립니다. 아래가 컨트롤러 부분이고 console.log(posts[0].User.nick); 이부분도 출력 되는걸 확인했습니다. 그런데 title 안에 posts[0].User.nick 이 부분에서 오류가 뜨는데 위 console.log에서 출력이 되는데 왜 여기선 오류가 뜨는지도 모르겠고 title과 twits 부분을 지우고 main을 다른 페이지로 바꿨는데도 아예 동작을 하지 않는걸 확인했습니다. title 부분에서 오류가 안떠도 페이지가 제대로 로드 되지도 않습니다. exports.renderUpost = async (req, res, next) => { try { console.log("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); let posts = []; if (req.params.userId) { const posts = await Post.findAll({ include: [ { model: User, where: { id: req.params.userId }, attributes: ["id", "nick"], }, ], }); console.log(posts[0].User.nick); } res.render("main", { title: ` ${posts[0].User.nick} | NodeBird`, twits: posts, }); } catch (error) { console.error(error); next(error); } }; 제가 작성자 이름을 a 태그로 해서 아래 코드처럼 수정해서 했는데 혹시 이 a태그에 넣은것들이 잘못된건가요? 위 코드에서 console.log 까지 출력 다 되는거 보면 문제가 없을것 같은데 그나마 생길것 같은게 이부분뿐이라 올려봅니다. <a href="#" onclick="findUpost(this);return false;" class="twit-author">{{twit.User.nick}}</a>
슬랙 프로젝트의 환경설정(웹팩 등)을 토대로 새로 프로젝트를 만들고 있는데 console.log를 찍어보니 3번 찍히는 걸 발견해서요. 3번 렌더링이 되는 거 같은데 원인 및 해결방법을 모르겠어서 질문드려요. 아래는 라우터 쪽입니다. login과 signup은 loadble을 사용해서 1번만 렌더링이 되는 걸 console.log로 확인하였습니다. stockrecode에 해당하는 페이지가 3번 렌더링이 되고 있습니다. 아래는 stockrecode 컴포넌트에 있는 코드입니다. 나머지는 다 주석처리하였습니다. 아래는 로 이동시에 표시된 내용입니다. useSwr부분을 지우면 2번 표시됩니다. 해본 방법으로는 strict-mode를 지우면 되는 글을 보아서 찾아봤는데 이미 strict-mode가 없는 상태였습니다. 웹팩에서 strict-mode를 false로 하면 되는 글을 보고 해보았는데 (관련 링크 https://www.sobyte.net/post/2021-09/webpack-strip-use-strict/) 아래처럼 @babel/plugin-transform-modules-commonjs 설치를 하고 적용해보았는데도 아래처럼 에러가 생겨서 이 방법으로도 해결하지 못하였습니다 답변주시는데 더 필요한 정보가 있으시면 말씀부탁드립니다. 꼭 해결하고 싶은데 제자리만 멤도는거 같아 질문 올립니다. ㅠ