묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결예제로 배우는 스프링 입문 (개정판)
./mvnw package 오류
자바환경변수 설정되어 있고 프로젝트 다운로드후 ./mvnw package 명령시 위와 같은 JAVA_HOME 에러 메시지가 나옵니다. 해결방법 문의드립니다.
-
미해결김영한의 실전 자바 - 중급 1편
instanceof
Instanceof 는 obj 가 어떠한 타입을 참조하고 있는지 알려줄 뿐만 아니라 자동으로 다운 캐스팅도 해주나요 ?아니면 if( obj instanceof Dog) 가 아니라 if (obj instanceof Dog dog) 여서 다운 캐스팅이 저 괄호 안에서 다 처리가 된건가요 ? (제가 첫번째 질문자인 것을 영광스럽게 생각합니다 ㅎㅎ...)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JpashopApplication 실행 시
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 처음에 선생님이 환경설정 하신다고 JpashopApplication에아래와 같은 코드 만들어놓고 메인메서드 실행하셨는데 저는 그럴때마다 Process 'jpashop [:JpashopApplication.main()]' Is Running 'jpashop [:JpashopApplication.main()]' is not allowed to run in parallel. Would you like to stop the running one? 이런 메세지 뜨면서 새로 실행이 되는데 선생님께선 Do not show this dialog in the future 체크해놓고 매 실행시마다 새로 실행이 되는게 맞는걸까요?Hello hello = new Hello(); hello.setData("hello"); String data = hello.getData(); System.out.println("data = " + data);
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
controller restcontroller
선생님 안녕하세요. 거의 다 완강하고 나서 문득 든 생각이 있습니다. 저희 도서 관리 프로젝트에서 controller를 안쓰고 restcontroller을 사용한 이유가 궁금합니다일단 제가 구글링을 해보았을때,controller은 반환 값이 string이면 뷰를 찾고 렌더링 한다고 나와있으며 restcontroller은 @Requestbody + @controller이며 뷰를 찾는게 아니라 http메세지 바디에 바로 입력한다고 찾아보았습니다. 저는 프론트엔드에게 데이터를 주려면 모델에 담아서 보내야 하는 것으로 이해하고 있는데 그러면 controller을 쓰는 것이 맞지 않나 의문점이 들었습니다. 여기서 더 해답을 찾지 못하겠어서 질문글을 남겼습니다.감사합[니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
-jar 명령어가 실행이 안되는 것 같습니다
java -jar ~ 명령어를 쳐도 빌드가 안되네요 ㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2대신 mysql로 했습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]h2console에는 이전강의시간에 했던 test만 작동되고.. jpashop이 안만들어져서 그냥 mysql로 했습니다spring: datasource: url: jdbc:mysql://localhost:3306/jpashop username: user password: user1234 driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: create properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect format_sql: true logging: level: org.hibernate.SQL: debugddl-auto: create로 되어있는데 어플리케이션 실행후 workbench로 가보면ORM 표존 JPA 프로그래밍때 했던 DB가 그대로 있습니다..drop 된 후 새로 create 되는것이 아닌가요?스프링부트에서도 hibernate sql문 출력이 안됩니다,, 테스트에서도 @Rollback(false)를 안하면 통과이고@Rollback(false)를 하면 unknown column오류가 납니다..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
뷰 코드 복사했는데 복사도 이상하게 되고 실행하면 오류가 뜨는데 뭐가 잘못된건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]pdf 파일에 있는 뷰 코드복붙했는데실행하면 오류가 뜹니다. pdf파일 복사가 제대로 안되는데 왜 구지 pdf로 올리는지 모르겠네요 일단 코드 보여드릴게요creatememberform.html<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head th:replace="fragments/header :: header" /> <style> .fieldError { border-color: #bd2130; } </style> <body> <div class="container"> <div th:replace="fragments/bodyHeader :: bodyHeader"/> <form role="form" action="/members/new" th:object="${memberForm}" method="post"> <div class="form-group"> <label th:for="name">이름</label> <input type="text" th:field="*{name}" class="form-control" placeholder="이름을 입력하세요" th:class="${#fields.hasErrors('name')}? 'form-control fieldError' : 'form-control'"> <p th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Incorrect date</p> </div> <div class="form-group"> <label th:for="city">도시</label> <input type="text" th:field="*{city}" class="form-control" placeholder="도시를 입력하세요"> </div> <div class="form-group"> <label th:for="street">거리</label> <input type="text" th:field="*{street}" class="form-control" placeholder="거리를 입력하세요"> </div> <div class="form-group"> <label th:for="zipcode">우편번호</label> <input type="text" th:field="*{zipcode}" class="form-control" placeholder="우편번호를 입력하세요"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> <br/> <div th:replace="fragments/footer :: footer" /> </div> <!-- /container --> </body> </html>itemlist.html<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head th:replace="fragments/header :: header" /> <body> <div class="container"> <div th:replace="fragments/bodyHeader :: bodyHeader"/> <div> <table class="table table-striped"> <thead> <tr> <th>#</th> <th>상품명</th> <th>가격</th> <th>재고수량</th> <th></th> </tr> </thead> <tbody> <tr th:each="item : ${items}"> <td th:text="${item.id}"></td> <td th:text="${item.name}"></td> <td th:text="${item.price}"></td> <td th:text="${item.stockQuantity}"></td> <td> <a href="#" th:href="@{/items/{id}/edit (id=${item.id})}" class="btn btn-primary" role="button">수정</a> </td> </tr> </tbody> </table> </div> <div th:replace="fragments/footer :: footer"/> </div> <!-- /container --> </body> </html>이코드 실행하면Whitelabel Error Page라고 뜨네요뭐가문제인가요..pdf그대로 복사하면 복사가 제대로 안되서 붙여넣어지는데불편하네요
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
패키지 이동 했을 때 디버깅이 안됩니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]사진처럼 원래는 각각 패키지를 따로 만들었다가 이번에 인프런(inflearn)이라는 상위 패키지를 하나 만들고 그 아래로 다 이동시켰는데 갑자기 이렇게 뜨면서 디버깅 실행이 안되네요. 혹시 해결방안이랑 원인이 뭔지 알 수 있을까요?
-
미해결백엔드 개발자 성능 개선 초석 다지기
첫번째 회사에서 서비스 회사로 이직하실때 준비
안녕하세요 강의 잘 듣고있습니다.다름이 아니라 혹시 첫번째 회사에서 서비스 회사로 이직하실때 어떤 준비를 하셨는지 알 수 있을까요?아무래도 서비스 -> 서비스 이직이 아니다 보니깐 어떤 준비를 하셨는지 궁금합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
Scanner에서 홀수 짝수 문제 오류 질문?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Scanner에서 두 번째 문제 홀수 짝수에서 음수를 입력해도 결과가 나옵니다.혹시 오류인 것인지?아니면 package scanner; import java.util.Scanner; public class ScannerEx2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("하나의 정수를 입력하세요: "); int num = scanner.nextInt(); while (true) { if (num % 2 == 0 && num >= 0) { System.out.println("입력한 숫자 " + num + "는 짝수 입니다."); break; } else if (num % 2 == 1 && num > 0) { System.out.println("입력한 숫자 " + num + "는 홀수 입니다."); break; } else { System.out.println("0이상의 정수를 입력해주세요"); System.out.print("하나의 정수를 입력하세요: "); num = scanner.nextInt(); } } } }위와 같이 하는 것이 맞을까요? ( 음수도 홀짝이 있나요..?)
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시 강의 38:27 질문드립니다. (em.close())
강의에서는 em.close()했을 때도 예외가 발생한다고 하셨고, 저도 em.close()하면 영속성 컨텍스트가 종료되기 때문에 프록시 초기화 시 문제가 생길것이라고 생각했지만 실제로 해보니 예외가 발생하지 않아서 질문드립니다. Member member1 = new Member(); member1.setUsername("member1"); 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.clear(); // 영속성 컨텍스트를 완전히 초기화 em.close(); // 영속성 컨텍스트를 완전히 종료 reference.getUsername(); tx.commit();
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
교육 끝났는데 진행률이 100%가 안되네요?????
"스프링부트와 jpa활용 1편"마지막 교육인 "다음으로"까지 다 수강했는데진행률이 100%가 되지 않습니다???
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
replaceAll, subString
안녕하세요 강사님, 강의 잘 듣고 있습니다. 지난 시간에 배운 replaceAll, subString로 풀어봤고 코드를 입력하면 정답이 잘 나오는데, 채점 사이트에서는 오답이라고 떠서요. 왜 그런지 설명해주실 수 있으실까요? 감사합니다~ import java.util.Arrays; import java.util.Scanner; class Main { public String solution(String str){ String answer= ""; str= str.replaceAll("[^\\d]+",""); for(int i=0; i<str.length(); i++){ if(str.charAt(i) == '0'){ answer = str.substring(i+1); } else return answer; } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner sc= new Scanner(System.in); String str= sc.nextLine(); System.out.println(T.solution(str)); } }
-
해결됨실전! Querydsl
Test에서 QHello.java를 못찾아요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 있는데 다 해봐도 안돼요3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네[질문 내용] springboot 3버전으로 해결 방법을 다 써봤는데 안되어서 문의드립니다.setting -> Annotaion Processorsbuild.gradleplugins { id 'java' id 'org.springframework.boot' version '3.2.4' id 'io.spring.dependency-management' version '1.1.4' } group = 'study' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } 폴더 확인 bbuild.gradle 설정도 잘해서 build 폴더에 잘 생겼는데 Test에서 import를 못해요
-
미해결백엔드 개발자 성능 개선 초석 다지기
ngrinder-agent 실행 문제(Unmapped relationship: 7)
안녕하세요 인큐님!"성능 최적화 초석 다지기" 강의를 수강하는 도중 어려움이 있어 도움을 요청하려고 합니다.ngirinder 사전 세팅을 하는 도중에 ngrinder-agent를 실행하는 과정에서(./run_agent.bat) 아래 사진과 같은 에러가 발생하였습니다. 윈도우 11을 사용해서 발생하는 에러라고 생각하는데 해결을 도와주실 수 있으실까요?
-
미해결김영한의 실전 자바 - 기본편
섹션9상속-상속과 메모리 구조 질문있습니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강사님! 강의 너무 잘 보고 있습니다 짱...섹션9상속-상속과 메모리 구조 10분 전후 내용에서 질문이있습니다!이 페이지에서 그림에서ElectricCar 부분에 move()가 없으니Car부분으로 가서 move()를 찾잖아요!(현재 타입에서 기능을 찾지 못하면 상위 부모 타입으로 가서 찾는다!) 만약에 Car에도 뭔가 상속이있었고,Car의 부모에도 상속이있었고.. 이처럼Car위에도 상속이 이어졌을경우 그림의 Car네모칸안에 위의 부모 객체들도 여러개 생성되는 건가요??(초록 = Car의 부모 'CCar 객체'회색 = CCar1의 부모 'CCCar2객체'.. )모든 기능을 이용 가능해야 하니까저는 위의 그림처럼 되어야 한다고 이해했는데맞는지 궁금해서 질문 올립니다!! 아직 뒤의 강의를 안봐서 중복된 내용일수도 있는점 미리 사과드립니당..//
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
피라미드를 찍을 때 for을 두개만 이용해서 가능하시다고 하셨는데
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]피라미드를 찍을 때 for을 두개만 이용해서 가능하시다고 하셨는데. 어떻게 해야하나요?처음에 for을 4개를 썼다가 강사님 말씀 듣고 for을 3개로 줄였는데, 도무지 2개로는 못하겠슴다...아래는 제가해본 코드입니다.package loop; public class LoopEx8 { /* public static void main(String[] args) { int rows = 9; for (int i = 1; i <= rows; i++ ) { for (int k = rows - i; k >= 1; k--) { System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("* "); } for (int h = 1; h <= i -1; h++) { System.out.print("* "); } System.out.println(); } } */ public static void main(String[] args) { int rows = 9; for (int i = 1; i <= rows; i++) { for (int j = rows; j >= i + 1; j--) { System.out.print(" "); } System.out.print("* "); for (int k = i; k >= 2; k--) { System.out.print("* * "); } System.out.println(); } } }
-
미해결스프링 시큐리티
security filterChain 설정 질문이 있습니다.
securityFilterChain 관련 질문이 있습니다. 아래는 제가 테스트해보고 있는 코드의 일부인데요. 코드의 내용은 정의 되어야하는 api 내용이 다를수도 있을것 같아서 개념적으로 filterChain 정의를 두군데로 나누어 두었습니다. 한군데에서는 admin 권한을 가진 사용자만 사용할수 있는 /check api를 정의하고 나머지 에서는 /test api 를 perminAll로 설정을 해두었는데요. 제 생각으로는 /test api 를 호출 했을때, permitAll 이니 당연히 호출될거라 생각했는데 403 forbidden 으로 리턴되네요 이유가 어떤 것인지 궁금합니다. @Bean @Order(1) public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf(csrf-> csrf.disable()); http.authorizeHttpRequests(authorize -> authorize .requestMatchers("/check").hasRole("ADMIN") .anyRequest().authenticated() ); return http.build(); } @Bean @Order(2) public SecurityFilterChain securityFilterChainApi( HttpSecurity http ) throws Exception { http.csrf(csrf-> csrf.disable()); http.authorizeHttpRequests(authorize -> authorize .requestMatchers( "/test").permitAll() .anyRequest().authenticated() ); return http.build(); }
-
해결됨김영한의 실전 자바 - 기본편
static 메서드와 this 관련해서 질문이 있습니다.
public class DecoData { private int instanceValue; private static int staticValue; public static void staticCall() { System.out.println(this.instanceValue); } .... }안녕하세요! 강의에서 "static 영역 입장에서 힙 영역에 있는 인스턴스의 참조값을 몰라서 인스턴스 변수에 접근할 수 없다." 라고 얘기를 해주셨는데 그러면 this는 클래스 본인의 인스턴스 참조값이니 이 this를 이용하면 static 메서드에서도 인스턴스 변수에 접근할 수 있지 않을까? 라는 생각을 해서 코드를 짰는데 오류가 났습니다. 왜 static 메서드 영역에서 this를 사용해도 인스턴스 변수에 접근할 수 없나요?감사합니다.
-
해결됨실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
Open 키워드를 사용해야 하는 이유
안녕하세요 강사님 덕분에 편히 배우고 있습니다.다름이 아니라 이번 강의 초반에 @Transactional 어노테이션을 사용할 시 open 키워드를 클래스와 매서드에 다 사용해주어야 하고, 만약 이게 싫다면 플러그인을 적용해야 한다고 말씀하셨는데요,찾아보니 코틀린에서는 기본적으로 모든 클래스가 최종 클래스고, 그렇기 때문에 상속이 되지 않아 open 키워드를 사용해 상속 가능성을 열어두어야 한다는 것 같더라구요.그런데 왜 이게 @Transactional 어노테이션을 사용할 때도 해당되는 내용인지 잘 모르겠습니다. 프록시 객체가 생성되기 때문인 걸까요?제가 코틀린 기본 강의를 들었음에도 잘 기억이 나질 않아 질문드립니다. 항상 감사드립니다.