묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨취미로 해킹#2(해커의 컴퓨팅)
블랙해커들은 파일 암호 프로그램을 혹시 이렇게 활용하나요?
악성코드를 만들때 내부에 원격제어권 탈취와 함께 상대방의 컴퓨터에 파일 암호화 프로그램을 설치하게 한 후, 비밀번호를 마음대로 설정하게 할 수 있나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
hibernate 생성한 select 쿼리의 team_id, member_id 컬럼 중복
@Entity public class Team { @Id @GeneratedValue @Column(name = "TEAM_ID") private Long id; private String name; @OneToMany(mappedBy = "team") private List<Member> members = new ArrayList<>(); // 아래는 getter, setter } @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @Column(name = "USERNAME") private String username; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Team getTeam() { return team; } public void setTeam(Team team) { this.team = team; } public void changeTeam(Team team){ this.team = team; //연관관계 편의 메소드 team.getMembers().add(this); } } public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try { //저장 Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); member.setUsername("member1"); //member.setTeam(team); //owner에 넣어야 DB 반영됨 member.changeTeam(team); //연관관계 편의 메소드 em.persist(member); Member member1 = new Member(); member1.setUsername("member2"); member1.changeTeam(team); em.persist(member1); em.flush(); em.clear(); Team findTeam = em.find(Team.class, team.getId()); List<Member> members = findTeam.getMembers(); System.out.println("====================="); for (Member m : members) { System.out.println("m = " + m.getUsername()); } System.out.println("====================="); tx.commit(); } catch (Exception e){ tx.rollback(); } finally { em.clear(); } emf.close(); }Team, Member가 양방향 연관관계를 맺고 있는 상태에서 우선 Team을 조회하고 Team의 members를 사용하는 시점에 Member를 조회하는 예시입니다. 처음에는 select m.team_id, m.member_id, m.username from member as m where member.team_id = 1;이런 형태로 select 쿼리가 발생할 것으로 예상했습니다. 하지만 실제 hibernate로 발생한 쿼리를 확인하니 아래와 같은 쿼리가 발생했습니다.Hibernate: select members0_.TEAM_ID as team_id3_0_0_, members0_.MEMBER_ID as member_i1_0_0_, members0_.MEMBER_ID as member_i1_0_1_, members0_.TEAM_ID as team_id3_0_1_, members0_.USERNAME as username2_0_1_ from Member members0_ where members0_.TEAM_ID=?hibernate가 생성한 select쿼리에서 team_id, member_id 컬럼이 두번 나오는 이유가 무엇인가요?
-
해결됨홍정모의 따라하며 배우는 C++
inline이 들어가면 실행이 안 되는데 이유가 뭔가요?
//Calc.h #pragma once #include <iostream> class Calc { private: int m_value; public: Calc(int init_value); Calc& add(int value); Calc& sub(int value); Calc& mult(int value); void print(); };//Calc.cpp #include "Calc.h" inline Calc::Calc(int init_value) : m_value(init_value) {} inline Calc& Calc::add(int value) { m_value += value; return *this; } inline Calc& Calc::sub(int value) { m_value -= value; return *this; } inline Calc& Calc::mult(int value) { m_value *= value; return *this; } inline void Calc::print() { std::cout << m_value << std::endl; } //main.cpp #include "Calc.h" int main() { Calc cal(10); cal.add(10).sub(1).mult(2).print(); Calc(10).add(10).sub(1).mult(2).print(); return 0; }이렇게 했는데요..Calc.cpp에서 inline들을 다 빼버리니까 실행은 되는데 빼야지만 실행이 된다고 설명은 안 하신 거 같은데빼야지만 실행이 되는 게 맞는 건가요 ? 그 이유가 무엇일까요 ? ..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
OpenJDK64-Bit
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.아래의 오류는 어떻게 해결해야 하는지 잘 모르겠습니다...
-
해결됨스트림릿(Streamlit)을 활용한 파이썬 웹앱 제작하기
유튜브와 차이는...
유튜브와 전혀 차이는 없는거죠?
-
미해결Practical Testing: 실용적인 테스트 가이드
data가 isArray() = ture인 이유
ProductControllerTest에서@DisplayName("판매 상품을 조회한다.") @Test void getSellingProducts() throws Exception { // given List<ProductResponse> result = List.of(); when(productService.getSellingProducts()).thenReturn(result); // when // then mockMvc.perform( get("/api/v1/products/selling") ) .andDo(print()) .andExpect(status().isOk()) .andExpect(jsonPath("$.code").value("200")) .andExpect(jsonPath("$.status").value("OK")) .andExpect(jsonPath("$.message").value("OK")) .andExpect(jsonPath("$.data").isArray()); }data의 타입이 List인데 isArray()로 확인되는 이유는 JSON으로 변경될 때 List타입을 Array타입으로 자동으로 변경해서 그런건가요?
-
미해결스프링 핵심 원리 - 기본편
질문있습니다.
조회한 빈이 모두 필요할 때 List,Map을 이용하는 문제입니다. package hello.core.autowired; import hello.core.AutoAppConfig; import hello.core.discount.DiscountPolicy; import hello.core.member.Grade; import hello.core.member.Member; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; 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"); assertThat(discountService).isInstanceOf(DiscountService.class); assertThat(discountPrice).isEqualTo(1000); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; 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); System.out.println("discountCode = " + discountCode); System.out.println("discountPolicy = " + discountPolicy); return discountPolicy.discount(member, price); } } } 여기서 policyMap과 List에 주입되는 과정이 이해가 안갑니다. Map은 왜 <String,DiscountPolicy>로 정의했고 List는 <DiscountPolicy>로 정의 했는지, 그리고 여기에 어떻게 Ratediscountpolicy와 Fixdiscountpolicy가 들어갔는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
콘솔창 빨간 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]계속 이렇게 뜨는데 런타임때 오류는 딱히 발생하지 않습니다 런타임 이후 런타임을 중지 할때 이런 오류가 계속뜨는데 이유를 모르겠습니다.
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
Timestamp 제거 이유
안녕하세요! 강의 잘 듣구있습니다 혹시 timestamp를 제거하는 이유가 어떤것인지 자세히 알 수 있을까요? 상품추천 데이터에서 날짜가 변수로 필요한 경우는 없나요?? 또 예를들어 5년치의 고객 구매 데이터를 학습한다고 할때 연도별로 고객 나이가 달라지는데 이때 유니크값을 고객+나이로 해서 해야할지 궁금합니다ㅠㅠ
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
강의자료를 통해서 요약한 내용을 블로그로의 사용여부
강의자님 강의자료를 통해서 노트에 학습 내용을 개인적으로 요약해서 개인 블로그에 공부 기록을 목적으로 사용하고 싶은데 가능할까요?
-
미해결홍정모의 따라하며 배우는 C언어
swap 함수에서 printf문 질문있습니다
수업 내용의 프린트 구문은 void swap(int* u, int* v) { printf("%p %p\n", u, v); int temp = *u; *u = *v; *v = temp; } 이런식으로 되어있는데 u와 v에 &기호를 붙혀주면 a, b 와 주소가 다르게 나오는데 어떤 주소인지 잘 모르겠습니다..
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
기본객체들 404
스프링MVC 기본객체들 강의 학습중인데요404가 나오네요 소스 자체를 복붙해도 404가 나오는데 원인을 모르겠습니다 스프링은 3.2.0 버전사용하고 있고아래는 소스코드 입니다BasicControllerpackage hello.thymeleaf.basic; import jakarta.servlet.http.HttpSession; import lombok.Data; import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller @RequestMapping("/basic") public class BasicController { @GetMapping("text-basic") public String textBasic(Model model) { model.addAttribute("data", "Hello Spring!"); return "/basic/text-basic"; } @GetMapping("text-unescaped") public String textUnescaped(Model model) { model.addAttribute("data", "<b>Hello Spring!</b>"); return "/basic/text-unescaped"; } @GetMapping("/variable") public String variable(Model model) { User userA = new User("userA", 10); User userB = new User("userB", 20); List<User> list = new ArrayList<>(); list.add(userA); list.add(userB); Map<String, User> map = new HashMap<>(); map.put("userA", userA); map.put("userB", userB); model.addAttribute("user", userA); model.addAttribute("users", list); model.addAttribute("userMap", map); return "basic/variable"; } @Data static class User { private String username; private int age; public User(String username, int age) { this.username = username; this.age = age; } @GetMapping("/basic-objects") public String basicObjects(HttpSession session) { session.setAttribute("sessionData", "Hello Session"); return "basic/basic-objects"; } @Component("helloBean") static class HelloBean { public String hello(String data) { return "Hello " + data; } } } } basic-objects<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>식 기본 객체 (Expression Basic Objects)</h1> <ul> <li>request = <span th:text="${request}"></span></li> <li>response = <span th:text="${response}"></span></li> <li>session = <span th:text="${session}"></span></li> <li>servletContext = <span th:text="${servletContext}"></span></li> <li>locale = <span th:text="${#locale}"></span></li> </ul> <h1>편의 객체</h1> <ul> <li>Request Parameter = <span th:text="${param.paramData}"></span></li> <li>session = <span th:text="${session.sessionData}"></span></li> <li>spring bean = <span th:text="${@helloBean.hello('Spring!')}"></span></li> </ul> </body> </html>index.html<html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <ul> <li>텍스트 <ul> <li><a href="/basic/text-basic">텍스트 출력 기본</a></li> <li><a href="/basic/text-unescaped">텍스트 text, utext</a></li> </ul> </li> <li>표준 표현식 구문 <ul> <li><a href="/basic/variable">변수 - SpringEL</a></li> <li><a href="/basic/basic-objects?paramData=HelloParam">기본 객체들</a></li> <li><a href="/basic/date">유틸리티 객체와 날짜</a></li> <li><a href="/basic/link">링크 URL</a></li> <li><a href="/basic/literal">리터럴</a></li> <li><a href="/basic/operation">연산</a></li> </ul> </li> <li>속성 값 설정 <ul> <li><a href="/basic/attribute">속성 값 설정</a></li> </ul> </li> <li>반복 <ul> <li><a href="/basic/each">반복</a></li> </ul> </li> <li>조건부 평가 <ul> <li><a href="/basic/condition">조건부 평가</a></li> </ul> </li> <li>주석 및 블록 <ul> <li><a href="/basic/comments">주석</a></li> <li><a href="/basic/block">블록</a></li> </ul> </li> <li>자바스크립트 인라인 <ul> <li><a href="/basic/javascript">자바스크립트 인라인</a></li> </ul> </li> <li>템플릿 레이아웃 <ul> <li><a href="/template/fragment">템플릿 조각</a></li> <li><a href="/template/layout">유연한 레이아웃</a></li> <li><a href="/template/layoutExtend">레이아웃 상속</a></li> </ul> </li> </ul> </body> </html>링크여기서 막혀서 학습을 못하고 있어요 ㅠㅠ 도와주세요
-
미해결Practical Testing: 실용적인 테스트 가이드
안녕하세요 강사님 관련 질문은 아닌데 테스트 때문에 진도를 못 나가서 질문 하나 올립니다!!
Redis 테스트는 어떻게 진행해야 되는지 모르겠습니다.. embedded Redis 를 사용해야 되는지,테스트 컨테이너를 사용해야 되는지 어떤 방법으로 진행해야 되는지 가르쳐주실 수 있나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
properties안에 써놓은 한글이 깨집니다.
이런식으로 한글이 깨지는데, 처음엔 @Getter나 jackson라이브러리나 slf4j가 깨지는 줄 알았는데게터 세터 직접 구현하고 브라우저에서 찍고, ide상에서 System.out.println으로 찍어도 깨지네요 ㅠㅠ.. 검색해서 나온이런것 다 해보았습니다.vmoption 파일도 수정했습니다. 실행 옵션에 따라 동적으로 서비스 명 다르게 해서 배포하고 싶었는데, 잘 안되네요 ㅠㅠ..강의를 따라했을 때 국제화 message는 안깨졌었는데 이상하네요..
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part1 - UI Programming
예제 코드가 빌드가 않됩니다.
android studio giraffe 2023.3.1으로 공부하는데.강의해주신 내용과 거의 맞지 않습니다.이 정도면 강의를 내리는게 맞지 않을까요? ㅠㅠ
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
useState는 필수일까요?
안녕하세요. useState()를 사용하지 않고,단지 data로 받아서data.map(suggestion) => ( ... )이렇게 처리해도 되는지 궁금합니다.컴포넌트의 return 내부에서는 상태가 변경될 일이 없을 것 같아서 말입니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
평가 실습 - 피마 인디언 당뇨병 예측
안녕하세요.수업 중 궁금한 사항이 있습니다.diabetes_data[zero_features] = diabetes_data[zero_features].replace(0, diabetes_data[zero_features].mean())이렇게 구현하면 0이 평균에 포함되어서 평균값이 왜곡되지 않는지요?diabetes_data[zero_features].mean() 아래와 같은 식으로 0제외한 값으로 대체 되어야하는것 아닐지요?diabetes_data[diabetes_data[feature] != 0][feature].mean()특정한목은 43%나 0값이 있는데, 0을 포함한 평균값이면 평균값이 매우 낮아질것 같아서요. 감사합니다.
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
5-3. 프로젝트 문제 정의하기 - 가설2) 최소 주문 금액이 도달X -> 이탈 데이터 질문
안녕하세요 :)최소 주문 금액이 도달하지 않아서, 이탈을 많이 했을것이라고 생각하고, 이를 데이터로 검증하려고 한다.-> 최소 주문 금액 미충족 카트 화면을 보고 주문을 하지 않고 이탈한 유저의 비율 확인위와 같은 흐름으로 생각하는 것이 더 가설과 맞지 않나 생각이 드는데, 혹시 제가 파악하지 못한 흐름이 있을까요??
-
해결됨
스프링 부트 버전 질문
지금 스프링 부트 버전이 3.16이 제일 낮은 버전이고 자바 17이상 부터 사용할 수 있는거 같습니다.하지만 포트폴리오용으로 개발을 하기에 자바 17이 괜찮은지 버전을 낮추는게 좋은지 궁금하고, 버전을 어떻게 낮추는지도 알고 싶습니다..
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
공부 방법이 궁금합니다.
자바 기본을 공부할 때 이해가 안되어도 그냥 지나가고 모르는 부분을 다시 공부하는게 나을까요 아님 이해할때까지 게속 공부를 하는게 나을까요?스프링까지 공부하다가 다시 자바 기본을 공부하고 있는데 자바 기본만 계속 돌고 있는 기분이라서요 기본을 다 끝내고 자바 문제들을 풀고 스프링으로 넘어가는게 나을까요? 답변 부탁드립니다. 감사합니다.