묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 시작하기 - Age of Vue.js
a.vue 생성하실때 template 태그에 문제가 발생할 경우
jsconfig.json 파일에서 아래의 밑줄친 것과 같이 타이핑 해주시면 오류가 해결됩니다.
-
미해결스프링 핵심 원리 - 기본편
여러 빈들이 @PostConstruct 사용시 질문입니다.
여러 빈들이 초기화할때, 서로 각각 초기화할때 생성된 데이터를 이용하는 경우 null에러같은 것이 일어날 수 도 있지 않나요?? 스프링은 이런걸 초기화할때 알아서 방지해줄지 궁금합니다 (아니면 클래스에 @order, @primary 등과 같은 기능을 붙여야하는지 싶습니다)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 관련하여 질문드립니다.
서버에서 응답을 할때, 세션id를 쿠키 안에 담아서 응답을 한다고 이해했습니다. 그런데 강의에서 세션을 생성하고 다룰 때는, HttpSession 이라는 객체를 생성해서 다루더라구요. 그럼 세션 Id를 쿠키에 직접 넣는게 아닌 세션 id를 가진 HttpSession 객체를 쿠키에 넣는거라고 이해해도 될까요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
Uncaught TypeError: Cannot read properties of undefined (reading 'use')
라우터 연결하고 라우팅 컴포넌트 표시를하기전에 아무것도 안나오는화면을 실행하였는데 콘솔에 해당 에러가 나옵니다. Uncaught TypeError: Cannot read properties of undefined (reading 'use') index.js 왜 안되는지 모르겠습니다 index부분에 export해주고 main에서 import도 해줬는데,,,, 상관은 없을거 같은데 import할때 index , index.js 둘다 해봤고요,.., 다른분도 이 에러건으로 글 올린걸 봤는데, 답변이 아직 없어서 다시 올렸습니다...................
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
채점 사이트 관련 문의드립니다.
안녕하세요 강사님. 꾸준히 수업 듣고 있는 수강생입니다. 최근 채점 사이트에서 맞은 문제가 문제 목록에서 맞았다는 표시가 뜨지 않는 문제가 있어 매번 몇 번 문제를 풀 차례인지 한 눈에 안들어오는 경우가 있습니다. 또한 저는 출퇴근 시간에 휴대폰으로 코딩을 해서 답안을 제출하곤 하는데 최근 들어서 채점 사이트의 로그인이이 풀려 다시 로그인 하려고 인프런에서 로그인을 누르면 인프런 사이트로 리다이렉트될 뿐 채점 사이트에서는 여전히 로그인이 안되는 문제가 있어 곤란을 겪고 있습니다. 그래서 강의의 채점 사이트 이동 버튼을 찾았으나, 모바일 웹, 앱에서는 해당 버튼이 제공되지 않아 채점 사이트를 들어갈 수가 없습니다. 확인 후 조치가 가능한 부분이라면 부탁드리겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
수업 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 다음 밑줄친 부분들이 각각 이름을 의미하는 것 같은데 왜 동일하게 하지 않아도 되는건지 궁금합니다! :)
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 AOP 관련 질문드립니다
안녕하세요 항상 좋은 강의 감사합니다 AOP와 관련하여 @transactional에 대한 질문이 생겼습니다 spring data jpa에서 save 및 saveAll을 사용하다가 문득 강의를 적용해보고자 생각이 들어, 테스트를 해보았는데요 1번 테스트 public void method_transaction () { 1. sampleRepository.saveAll(); // 1만건 리스트 2. for( 1만번 반복) { sampleRepository.save(); } } 2번 테스트 @transactional public void method_transaction () { 1. sampleRepository.saveAll(); //1만건 리스트 2. for(1만번 반복) { sampleRepository.save(); } } 1번과 같이 @transactional이 없는 메서드에서 save()와 saveAll() 호출 시에는, save()에서 트랜잭션 생성 비용으로 인해서 saveAll()이 훨씬 빠른 것은 이해했습니다. 반면, 2번과 같은 코드에서는 AOP 강의에서 내부 함수 호출 시에, 프록시가 동작하지 않는다고 배웠는데요. 비록 상위 메서드에 @transactional이 걸려있어서, 트랜잭션 생성 비용은 안들더라도 saveAll()은 내부 함수 호출이기때문에 프록시가 동작하지 않아서 save()보다 속도가 더 빠를 것이라고 생각했는데, 성능 차이가 유의미하게 나타나지 않더라구요. 혹시 프록시 객체를 생성하고 해제하는 리소스는 많이 크지 않은 것인가요? 아니면 테스트를 10만건 정도로 했는데 그 정도의 사이즈에서는 속도 차이가 없는 것인지 질문드립니다 혹은 제가 설계를 잘못한 것인지… 질문드립니다! 감사합니다
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션 질문입니다.
트랜잭셔널 어노테이션 잘 쓰다가 갑자기 혼란이 와서요.. void updateName(string id){ person=repo.findById(id) person.setName() // 변경 감지에 의한 update 쿼리 } 이런경우에 트랜잭셔널 걸어줄 필요가 없다는 글을 봐서 혼란이 옵니다.. 제가 생각했을때는 findById로 조회하고--1setName으로 변경--2 여기서 1이 실행됐을때다른 트랜잭션B가 침투해서 해당 데이터를 임의로 바꿔주고 커밋까지 하면 2가 실행되는 순간 트랜잭션B가 그냥 무시되는것 아닌거 생각했어요.그래서 1,2는 무조건 atomic하게 연결되어야된다 생각을했는데.. 그래서 꼭 @Transactional 을 해줘야 한다고 생각했는데 아니라면 그 이유가 궁금합니다!
-
미해결비전공자를 위한 가장 쉬운 데이터분석 입문
apply lambda 질문
appy lambda 수면시간이 빈공간으로 나오는 이유가 무엇인가요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
req.params.title 질문
nodecat/routes/index.js 에서 해시태그 라우터에서 request(req, /posts/hashtag/${encodeURIComponent(req.params.hashtag)} 이 부분에서 params.hashtag를 encodeURI컴포넌트를 사용해서 v1에 있는 router.get('/posts/hashtag/:title' <--- 이부분에 title쪽에 인코드URI컴포넌트가 되었기때문에 Hashtag.findOne에서 where: req.params.title <---- 이부분을 다시 디코딩 해줘야하는거 아닌가요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
Uncaught TypeError: Cannot read properties of null (reading 'scrollLeft')
안녕하세요 강사님. "<" ">"에 대한 클릭 이벤트에서 아래와 같은 에러가 나타며 양쪽 다 작동이 안됩니다 ㅠㅠ.. 제 코드는 이렇게 되어있고요.. 도와주세요ㅠㅠㅠ
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
store값 설정시 화면 애니메이션 효과사라짐
기존의 코드로 진행할때는 css를 입혔던 부분들이 잘 나타났습니다. 할일을 입력한다면 리스트에 실시간으로 반영이 되었습니다. 하지만 store값으로 설정을 바꾼 뒤에는 실시간 반영이 안되고 새로고침을 해야하는데 이유가 무엇인가요? 왜 실시간 반영이 안되며 실시간으로 반영이 되게하려면 어떻게 해야하나요?
-
미해결스프링 핵심 원리 - 기본편
policyMap과 polices에 아무것도 안 나옴
System.out.println("policyMap = " + policyMap);System.out.println("policies = " + policies);했을 때, 영상과 다르게 아무것도 나오지 않습니다.분명 영상 코드와 똑같이 쳤는데, 무엇을 확인하면 좋을지 알 수 있을까요?아래는 제가 작성한 AllBeanTest class 코드 입니다ㅡㅡㅡㅡㅡㅡpackage hello.core.autowored;import hello.core.AutoAppConfig;import hello.core.discount.DiscountPolicy;import hello.core.member.Grade;import hello.core.member.Member;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import java.util.List;import java.util.Map;public class AllBeanTest { @Test void findAllBean() { // 이렇게 클래스를 두개 모두 등록하면, 두개 모두 땡겨와서 등록시켜줌 ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); DiscountService discountService = ac.getBean(DiscountService.class); Member member = new Member(1L, "userA", Grade.VIP); int discountPrice = discountService.discount(member, 10000, "fixDiscountPolicy"); Assertions.assertThat(discountService).isInstanceOf(DiscountService.class); Assertions.assertThat(discountPrice).isEqualTo(1000); int rateDiscountPrice = discountService.discount(member, 20000, "rateDiscountPolicy"); Assertions.assertThat(rateDiscountPrice).isEqualTo(2000); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); return discountPolicy.discount(member, price); } }}
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
스프링 이니셜라이저의 디펜던시 부분
디펜던시 부분에서 Spring Web Starter 이라는게 검색되지않습니다. 찾던중 Spring Web 이라는 이름의 디펜던시를 찾았는데, 작게쓰인 세부 내용이 같아보입니다. 이걸로 add 해도 괜찮을까요?
-
미해결구글 애널리틱스4 (GA4) 미니 코스
GTM의 앱에서 활용방안에 대해 질문드립니다!
강의 넘 잘들었습니다 ㅎㅎ GA4와 GTM을 사용해보며 질문이 생겨서 강사님께 여쭤봅니다. 웹에서는 트리거 생성 시 페이지, 클릭, 스크롤 등의 다양한 트리거 유형으로 선택이 가능한데요, 반면 앱에서는 '맞춤설정'외에는 구체적인 설정은 불가능해보이더라구요. 만약 앱에서도 웹에서처럼 트리거 설정이 가능하다면 어떠한 방법으로 가능한가요? 예를들어 웹에서는 class나 id값을 이용하여 클릭 이벤트 트리거를 생성하는 것처럼요 :)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ENUM 타입 조회가 안됩니다
실습 도중 여러가지를 해보다 문제가 발생하여 질문드립니다. SQL 쿼리를 통해 조회할 경우 값이 보이나 JPQL을 실행할 경우 ENUM 컬럼 자체를 조회하지 못하는 문제가 있습니다. P.S. SELECT concat('', o.status) FROM Order as o JPA 쿼리를 위와 같이 비틀어서 사용하면 정상적으로 출력됨을 확인하였으나, 엔티티 자체를 select 하거나 new 키워드를 통해 VO, DTO 클래스 생성자로 매핑하는 방식은 불가능했습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인 세션 방식
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요!! 요즘은 세션 방식 말고 JWT토큰방식을 이용한다고 하는데 실무에서 정말 그러나요,?
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
dms 의 서비스에서 코드를 봐도 모르겠는 부분이 있어서 질문합니다.
function getKeyByValue(object, value) { return Object.keys(object).find((key) => object[key] === value); } ... async getWorkspaceDMChats( url: string, id: number, myId: number, perPage: number, page: number, ) { return this.dmsRepository .createQueryBuilder('dms') .innerJoinAndSelect('dms.Sender', 'sender') .innerJoinAndSelect('dms.Receiver', 'receiver') .innerJoin('dms.Workspace', 'workspace') .where('workspace.url = :url', { url }) .andWhere( '((dms.SenderId = :myId AND dms.ReceiverId = :id) OR (dms.ReceiverId = :myId AND dms.SenderId = :id))', { id, myId }, ) .orderBy('dms.createdAt', 'DESC') .take(perPage) .skip(perPage * (page - 1)) .getMany(); } ... async createWorkspaceDMChats( url: string, content: string, id: number, myId: number, ) { const workspace = await this.workspacesRepository.findOne({ where: { url }, }); const dm = new DMs(); dm.SenderId = myId; dm.ReceiverId = id; dm.content = content; dm.WorkspaceId = workspace.id; const savedDm = await this.dmsRepository.save(dm); const dmWithSender = await this.dmsRepository.findOne({ where: { id: savedDm.id }, relations: ['Sender'], }); const receiverSocketId = getKeyByValue( onlineMap[`/ws-${workspace.url}`], Number(id), ); this.eventsGateway.server.to(receiverSocketId).emit('dm', dmWithSender); } ... 1. getKeyByValue가 어떠한 역할을 하나요? 소켓을 사용할 때 필요한 부분이라고 짐작만 하고 있습니다. 코드에 대한 간단한 해석과 역할을 간단하게 알려주시면 감사하겠습니다. 2. async getWorkspaceDMChats 기능에서 .innerJoinAndSelect('dms.Sender', 'sender') 부분이 헷갈립니다. dms라는 별칭과 Sender라는 테이블이 join 되는 부분이라고 생각하고 있었는데, Sender 라는 테이블이 존재했었나요?저는 여태까지 dms.Workspaces 이런식으로 DMs와 Workspaces 테이블을 join 하는 부분이라고 생각하고 있었는데 잘못 알고 있는건가요..? 3. async createWorkspaceDMChats 중 const dmWithSender 부분에서 2번과 비슷한 내용의 질문인데, relations: ['Sender']가 나오는데 이 부분 또한 테이블과의 관계를 나타내는 부분으로 알고있었는데 Sender라는 테이블이 존재하는건가요?
-
미해결
How much will scuba diving in Mallorca be a chilling experience for all?
For those who are accustomed to diving in cold waters, scuba diving in Mallorca can be a chilly experience. Luckily, when there is a need for thermal protection while diving in Mallorca, Scubanautic is here to deliver the necessary warmth. We offer a range of products that protect you from the cold water and allow you to enjoy your cave diving Mallorca as much as before. With products such as merino wool undersuits, balaclavas, neck gaiters, gloves, and more, we are confident that we have what it takes to suit your needs—no matter what they may be. Visit us today to find out which product is right for you.
-
미해결대세는 쿠버네티스 (초급~중급편)
설치 중 에러가 나서 문의 드립니다.
안녕하세요 virtualbox로 kubernetes를 사용하려고 설치하는 도중 vagrant up을 하였을때 다음과 같은 에러가 발생해서 문의 남깁니다. 해결할 수 있는 방법이 있을까요? There was an error while executing `VBoxManage`, a CLI used by Vagrantfor controlling VirtualBox. The command and stderr is shown below. Command: ["hostonlyif", "create"] Stderr: 0%...Progress state: NS_ERROR_FAILUREVBoxManage: error: Failed to create the host-only adapterVBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directoryVBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterfaceVBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg *)" at line 95 of file VBoxManageHostonly.cpp