묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 타임아웃 관련 질문드립니다
안녕하세요 세션 타임아웃 설정 파트를 공부하다 궁금한 점이 생겨 질문드립니다.강의에서는 HTTP는 비연결성이어서 서버 입장에서는 사용자가 웹 브라우저를 종료한 것인지 알기 어려움으로 세션 종료시점을 정해줘야 한다고 이해했는데요그런데 일반적으로 네이버 같은 특정 사이트에 로그인하고 브라우저를 껐다 바로 켜면 로그아웃이 되어있는데 이런 경우엔 어떤 매커니즘으로 세션 데이터가 삭제되는지 궁금해 질문드립니다
-
미해결
intelliJ 언리미티드 CORS, gitignore, .env 작동하지 않음
cors, gitignore, env가 모두 작동하지 않습니다. 1) cors와 env에 대하여'npm install cors, npm install dotenv'를 통해 설치를 완료했고up to date, audited 599 packages in 2s122 packages are looking for fundingrun npm fund for detailsfound 0 vulnerabilities라고 잘 설치된 것을 확인했습니다.그리고//server.js const express = require('express'); const app = express(); const test = require('./Router/test'); const cors = require('cors'); app.use(cors()); require('dotenv').config(); console.log("테스트: "+process.env.NEXT_PUBLIC_TEST); 라고 코드를 작성했는데, 플러그인 덕분인지 코드를 작성했을 때는 제대로 NEXT_PUBLIC_TEST에 해당하는 값이 미리보기로 뜨다가(사진 첨부),막상 실행하면 "테스트: undefined"라고 뜹니다. 마찬가지로 cors도 제대로 설치하고 react의response = await fetch('/backEndProc', { method: 'POST', body: formData, });라는 코드에 알맞게 app.post('/backEndProc',라고 코드를 작성했음에도 " POST http://localhost:3000/backEndProc 404 (Not Found)MakePage.jsx:130 Error: Syntax" 오류가 발생했습니다. 2) gitignore에 대하여깃이그노어에는 다음 코드가 들어있습니다."node_modules.env"원래 node_modules에 대하여 gitignore가 잘 작동했는데, npm install cors 이후로 갑자기 node_modules가 gitignore되지 않고, 또 .env에 대해서도 gitignore되지 않습니다. (.env와 gitignore은 같은 디렉터리에 있습니다) 도움을 주시면 정말정말 감사하겠습니다...........ㅠㅠㅠㅠㅠ 며칠째 골머리만 앓고 있습니다...
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
L3 계층의 라우터와 GW 호스트가 동의어인가요?
안녕하세요! 간단한 질문이 될 수도 있지만 궁금해서 남깁니다! 강사님의 L3 계층 관련 강의 챕터를 다 보았는데요! 영상 속에서 패킷의 생성-전달 과정을 택배 상황에 비유해서 들어주셨는데요! 여기서 '택배 기사가 GW며 GW가 라우팅을 한다' 라고 하셨는데, 그러면 GW 호스트 = 라우터 인 것 맞을까요?? 생각해보면 호스트에는 엔드포인트와 스위치 호스트로 나누어지고, 라우터는 스위치 호스트에 해당할 것 같은데, 이 사고 과정이 맞는지 여쭤봅니다!
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(24년 Update)
google tag manager 제출 관련하여
안녕하세요태그매니저에서 변수, 트리거, 태그 지정을 하고 미리보기를 누른 후 문제가 없으면 제출을 하는데, 제출을 할 때, 변수/트리거/태그 별로 각각 다 한 번씩 제출버튼을 눌러줘야 하나요?아니면 변수, 트리거 지정 그리고 태그까지 끝났을 때 태그 제출버튼만 누르면 모든 것이 다 일괄 제출이 될까요?
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
벽 구조물 만드는 파트에서 나이프로 컷하는게 안됩니다.
막힌 부분의 시간(예를들면 3:24)과 안 되는 부분과 현상을 자세히 써주셔야 해결이 빠릅니다. - 3:24, 여기서 막혔어요 (X) - 3:24, 영상에서는 원형인데 저는 타원형으로 만들어져요. (O) - 3:24, 베벨과 익스투르드까지는 적용이 되는데 미러 모디파이어는 반응이 없어요. (O) 문제되는 물체를 선택한 상황에서 일부가 아닌 전체 스크린샷 사진을 첨부해주시면 훨씬 좋습니다. - 아웃라이너나 프로펄티스도 문제 상황 파악에 도움이 되므로 함께 찍어주세요. 15:11 부분에서 나이프로 컷하는데 저는 계속 뒷면이 같이 컷이 안되고 앞면만 컷이 되는데 왜그런건가요?
-
미해결스프링 시큐리티
DB 연동한 인가 부분에 대한 질문입니다!
안녕하세요.새강의 없이 혼자 좀 해오고 있는데 DB 연동하는 부분은 좀 감이 안 잡히네요. AuthorizationFilter에서 처리될 때RequestMatcherDelegatingAuthorizationManager에 위임되고 거기에 있는 this.mappings에 SecurityConfig에서 설정한 requestMatcher가 초기화되어 있더라고요.다이나믹하게 this.mappings에 제가 디비에서 가져온 데이터를 넣으면 좋은데 이 방법이 맞는지도 모르겠고 감을 못 잡겠네요ㅠ힌트라도 주실 수 있나요? 현재 강의에서 사용하는 방법의 일부처럼 새로운 필터를 넣어야 하는 걸까요..
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
for 반복문에 대한 질문
강의에서 for을 쓸때for (선언;조건;증감) {수행할 명령}이라고 하셨는데조건이 충족되면,증감을 먼저 하는겁니까? 아님 수행할 명령을 먼저합니까?사실 continue 강의에서,에서 원래 for(int i)가 1이 되어야 하는데, 보시는 것처럼 0으로 해놨더니 20번 손님까지 찾아야 되는데 19번까지만 출력되더라고요 궁금해서 물어봅니다.두 질문 모두 볼드체 처리를 해서 둘다 답변 해주셨으면 합니다.
-
해결됨
벌크연산시 타입이 맞지 않아 에러가 납니다(자바 ORM 표준 JPA 프로그래밍 - 기본편의 마지막 부분에 대한 질문입니다)
김영한님 "자바 ORM 표준 JPA 프로그래밍 - 기본편" 마지막 섹션 내용을 공부하다 에러를 못 고치고 질문 올립니다.하이버네이트 버전은 6.2.9.FInal이고 부트버전은 3.2.3입니다 @Entity @Setter @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Product { @Id @GeneratedValue private Long id; private String name; private int price; private int stockAmount; public Product(String name, int price, int stockAmount) { this.name = name; this.price = price; this.stockAmount = stockAmount; } }Product의 price가 double 타입이면 에러가 안 나는데 int면 아래 jpql실행시 에러가 납니다.@Test void 벌크연산106p(){ Product p1 = new Product("새우깡", 1000, 5); Product p2 = new Product("양파깡", 2000, 5); Product p3 = new Product("고래밥", 5000, 15); em.persist(p1); em.persist(p2); em.persist(p3); String jpql = "update Product p " + " set p.price = p.price*1.1 " + " where p.stockAmount<:stockAmount"; int resultCount = em.createQuery(jpql) .setParameter("stockAmount", 10) .executeUpdate(); System.out.println(resultCount + "개 상품 가격 수정"); }에러 메세지는 다음과 같습니다.java.lang.IllegalArgumentException: org.hibernate.query.SemanticException: The assignment expression type [java.lang.Float] did not match the assignment path type [java.lang.Integer] for the path [p.price] [update Product p set p.price = p.price*1.1 where p.stockAmount<:stockAmount] jpql내에 p.price*1.1을 정수로 형변환해서 할당하면 될 것같아, (int)(p.price*1.1)로 바꿔도 에러나네요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 질문합니다
마지막 부분에 vector로 새로 만들어서 넣지 않고 기존의 a배열을 미리 sort한 후 해당되지 않는 두 개의 인덱스 값만 빼서 출력했더니 틀렸다고 하네요. 차이가 무엇일까요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
세션은 Stateless 에 반하는 방법인데 어떻게 생각하시나요
HTTP 특성에 Stateless 에 의미를 살펴보면 세션은 적절하지 않은 방법이라고 생각이 들었는데 그러면 모든 인증 방법을 토큰기반인증방법으로 하는게 좋은 것 일까요?선생님의 의견이 궁금해서 질문해봅니다
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
업데이트는 그냥 dirty-checking을 이용하면 된다고 하셨는데..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의에서 '"성능의 경우 조회에서 문제가 생기고, 생성이랑 수정은 성능 문제가 잘 발생하지 않는다"고 한 부분에서 궁금증이 생겼습니다! 업데이트의 경우 JPQL을 사용한 쿼리문을 통해 수정하는 방법이 있고, 엔티티를 싹 불러와서 dirty-cheking을 이용하는 방법이 있는걸로 알고 있습니다. 제 생각에는 뭔가 엔티티를 싹 불러오는 후자의 방법이 더 느릴거 같은데, 왜 후자를 그냥 쓰면 된다고 하신 이유가 궁금합니다!또 두 방식 중 어떤 상황에 무엇을 써야하는 지 기준이 있다면, 알려주시면 감사하겠습니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 연관관계시 연관관계 편의 메소드
1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.위 테이블을 보면 Order는 Member, Delivery, OrderItem과 양방향 연관관계이므로 Order 클래스에 연관관계 편의 메소드를 작성했으며, Categroy는 category_item과 양방향 연관관계이므로Category 클래스에 연관관계 편의 메소드를 작성한 것으로 이해했습니다. 그럼 만약ORDERS와 ORDER_ITEM , ITEM 모두가 양방향 연관관계즉, 모든 테이블이 양방향 연관관계라면,어느 클래스에서 연관관계를 작성하면 될까요? 비즈니스적으로 몰리는 엔티티에 작성하면 되는지,아님 애초에 이런 상황이 발생하지 않도록 ORDER_ITEM 과 같은 테이블을 추가해서 단방향 연관관계를 만드는 게 더 좋을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시 강의 38:45초 질문드립니다.
Member member1 = new Member(); member1.setUsername("hello"); em.persist(member1); em.flush(); em.clear(); Member reference = em.getReference(Member.class, member1.getId()); // 영속성 컨텍스트에서 가져옴 System.out.println("reference.getClass() = " + reference.getClass()); // em.detach(reference); em.close(); System.out.println("reference.getUsername() = " + reference.getUsername());
-
미해결[2024 개정판] 코딩 입문자를 위한 파이썬 완벽가이드
궁금한게 있습니다.
강의를 보는데 강의에서 계속 print를 쓸 때마다 한칸씩 아래로 내린 후 작성하던데 꼭 그래야 하는 이유가 있는 건가요? 아니면 그냥 써도 별 문제 없지만 깔끔하게 보이기 위해서 그렇게 작성하는 건가요?
-
미해결누구나 할 수 있는 안드로이드 앱 개발 - 2 (Kotlin)
2-2 목표달성앱 Realm 설정 관련
설정 관련 잘 안되어서 메일 보냈습니다.asdsad8664@naver.com
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시 객체와 영속성 컨텍스트
강의 내용과 PPT를 봤을 때는 프록시 객체가 영속성 컨텍스트에 저장되지 않는 것으로 느껴졌는데, 찾아보니 프록시 객체도 영속성 컨텍스트에 저장되더라고요. 만약, 같은 PK값을 가진 프록시 객체와 엔티티 객체가 모두 영속성 컨텍스트에 존재하는 상황이라면 어떤 모습으로 각각이 존재하게 될지 알 수 있을까요. PDF의 도식으로 개념을 구조화했는데 이 상황은 잘 그려지지 않아 질문드립니다.
-
미해결스프링 핵심 원리 - 기본편
AnnotationConfigApplicationContext 다형성
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]강의 내용에서 MemberApp과 OrderApp에는 다음과 같이 // MemberApp.javapackage hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class MemberApp { public static void main(String[] args) { // AppConfig appConfig = new AppConfig(); // MemberService memberService = appConfig.memberService(); ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); Member member = new Member(1L, "memberA", Grade.VIP); memberService.join(member); Member findMember = memberService.findMember(1L); System.out.println("new member = " + member.getName()); System.out.println("find Member = " + findMember.getName()); } } // OrderApp.javapackage hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.order.Order; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class OrderApp { public static void main(String[] args) { // AppConfig appConfig = new AppConfig(); // MemberService memberService = appConfig.memberService(); // OrderService orderService = appConfig.orderService(); ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService = applicationContext.getBean("memberService", MemberService.class); OrderService orderService = applicationContext.getBean("orderService", OrderService.class); Long memberId = 1L; Member member = new Member(memberId, "memberA", Grade.VIP); memberService.join(member); Order order = orderService.createOrder(memberId, "itemA", 20000); System.out.println("order = " + order); System.out.println("order.calculatePrice() = " + order.calculatePrice()); } } applicationContext를 생성할 때 그 자료형을 ApplicationContext란 Interface로 선언했는데 왜 ApplicationContextInfoTest에서는 ac의 자료형을 AnnotationConfigApplicationContext으로 하신거죠? // ApplicationContextInfoTest.javapackage hello.core.beanfind; import hello.core.AppConfig; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("모든 빈 출력하기") void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " + beanDefinitionName + " object = " + bean); } } @Test @DisplayName("애플리케이션 빈 출력하기") void findApplicationBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); } } } 그리고 ac의 자료형을 ApplicationContext 로 했을 때는 findApplicationBean 메서드의 ac.getBeanDefinition이 사용할 수 없다고 나오는데 AnnotationConfigApplicationContext으로 선언했을 때는 사용할 수 있는데 그 이유가 뭔지 궁금합니다.
-
미해결실리콘밸리 엔지니어와 함께하는 테라폼(Terraform)
tfstate 관리 시 dynamodb 사용 관련 질문
tfstate 관리 시 S3 버저닝을 했을 때, dynamo db를 사용하지 않아도 버지닝이 되니 굳이 사용하지 않아도 되지 않을까요 ?
-
미해결확률과 통계 기초
6.1 두 독립인 정규분포의합
독립인 정규분포의 합이 평균 분산 모두 두개의 합인 새로운정규분포가 된다는걸 MGF로 증명해주셨는데그것말고 평균은 선형성으로 더할수있고 분산도 독립이라면 V(X1+X2) = V(X1)+V(X2)이렇게 증명하는건 틀린건가요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
watch 함수 실습
해당 강의의 App_multiple_source_type.vue 소스에서 다양한 watch 함수들 주석을 풀어가며 실습 중인데, 강사님은 소스 입력 후 저장하면 바로 웹에 적용되어 vue 개발자도구에서 데이터 변경을 하시는데 저는 watch 함수 하나 실습 후 다른 watch 함수 주석 풀어서 테스트하면 웹에서 새로 고침을 했는데도 불구하고 데이터 변경이 안되요ㅠ... 따로 이유가 있을까요?? vite.config.js 에 server: watch: usePolling 도 설정해둔 상태입니다.