묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
v1/ v2 v1은 실행이 잘되는데 v2는 실행이 안됩니다!
21강 책의분야 추가하기에서 v1이 아닌 v2에서 사용자등록, 책등록을 실행하려고하면 서버에 여녁ㄹ이 불가능하거나, 네트워크 오류입니다 라는 alert창을 출력하고Itellij내의 오류는 발생하지 않고 v1에서는 문제없이 저장이 잘됩니다,, 그래서 코드에 문제가 있나해서 library-app-complete로 실행해봐도 똑같은 오류가 발생하고console창에는 아무런 오류도 발생하지 않습니다 ,, oracle과 port번호 충돌이 일어나서 port번호를 변경해 줬습니다Application.tmlbuild.gradle
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
강사님 소수 구하는 부분에서 질문있습니다!
여기서 num이 2일때는 어떻게 진행되나요? i=2 부터인데 i<2 일때 까지 작용하는 조건이잖아요 자연수가 2일때 이렇게 해도 정상적으로 작동되나요? 그리고 문법적인걸로 궁금한게 있는데보통 Main 에서 solution 메서드 쓰기 위해서 T 를 통해서 객체에 접근하잖아요그런데 이번에 isPrime에 접근할 때왜 메인 객체를 생성하지 않고 접근이 가능한건가요?main은 static에 올라가 있고 나머지 solition이랑 isprime은 non-static이라서 non-static 끼리는 서로 바로 이용이 가능한걸까요?
-
해결됨스프링 시큐리티 OAuth2
OAuth2 Login에 대해 궁금한 점
안녕하세요해당 강의를 통해서 OAuth2 로그인을 따라해보면서, 궁금한 점이 생겨서 질문 드립니다.만약에 기존 유저에 OAuth2 로그인을 적용시키려면 어떻게 하는 지 궁금하네요..요즘 여러 서비스에서, OAuth2를 도입하고 기존 계정에 Toggle 버튼 같이 네이버, 카카오 등을 On, Off 할 수 있는 기능들을 제공합니다하지만 Spring Security OAuth2 Login 기능으로 기존 계정에 on,off 처럼 연결이 가능할까 의문도 들고 생각도 해봤지만 도저히 떠오르지 않더라구여더군다나 기존 계정에 JWT 로 인증을 하고 있었다면 불가능하지 않나 생각이 들었습니다.너무 막연하게 질문을 드렸는데, 정확하게 알고 싶은 것은 유저 상세 페이지에서 토글 버튼 같은 것으로 네이버 연동을 시도하여 네이버 로그인을 시도했을 때,OAuth2UserService 에서 기존 유저에 대한 정보를 알 수 있는 방법이 있는 지 궁금합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
프로젝트 생성 질문
앞과정까진 되다가ApplicationTest를 돌리면 이렇게 에러가 나는데 뭐가 잘못된걸까요? package jpabook.jpashop; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class JpashopApplicationTests { @Test void contextLoads() { } }plugins { id 'java' id 'org.springframework.boot' version '2.7.8' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'jpabook' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation("org.junit.vintage:junit-vintage-engine") { exclude group: "org.hamcrest", module: "hamcrest-core" } } tasks.named('test') { useJUnitPlatform() }자바버전은 11이고 스프링부트는 2.7.8로 설치했습니다
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
final 질문드리겠습니다.
public final String lens;선언과 동시에 값을 초기화 하지 않고 선언만 한뒤public ActionCam(){lens ="광각렌즈"}기본생성자 내에서 이와같이 초기화 하는 케이스 있다고 설명해주셨습니다. 근데 기본생성자가 아닌 매개변수를 가지고 있는 생성자내에서public void ActionCam2(String name){lengs = "테스트"}와같이 선언한 경우는 lens 변수는 정의할수없다고 에러메시지가 뜨는데 기본생성자는 가능하고 매개변수가 있는 메소드는 불가능한 이유가 궁금합니다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
changeName(Camera camera)의 부분이 잘 이해되지 않습니다.
public static void changeName(Camera camera){ camera.name ="잘못된 카메라"; } 와같은메소드를 다시 선언하셨는데요.(참조형변수)String (참조변수)c1 = (객체생성) new (생성할 객체)Camera() 이런개념으로 이해를 하였는데요. changeName 메소드를 선언하기전에는 c1, c2 참조변수를 통해서 Camera라는 메소드에 접근을 하여 c1.name, c2.name 이렇게 Camera 인스턴스 변수에 접근이 가능하였습니다. 근데 changeName이라는 변수에는 객체가 생성되지 않았는데 바로 camera.name 이렇게 접근하는것이 잘 이해가 가지 않습다. changeName(Camera camera)이부분에서 Camera(?) camera(참조변수))앞부분의 Camera가 이해가 되지않습니다.Camera메소드를 부르는건지 메소드라면 Camera() 이와같이 호출하는것은 아닌지... 정리가 잘 안됩니다. ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 빈(Bean) 개념 관련 질문
스프링 bean 관련 공부를 하던중 구글링을 통해 정리를 해보려 했지만 헷갈려서 질문드립니다.spring container가 빈을 생성하고 생성자가 여러차례 호출되어도 실제로 생성되는 객체는 하나이며 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 가르킨다고 알고있는 상태입니다.제가 알고 있는 부분이 맞는지 그러면 test class에서 @beforeEach에 객체를 테스트 실행전 매번 새로 생성하는데 이것은 사실 결국은 하나의 최초객체를 가르킨다는 얘기인가요???
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
맥 인텔리제이가 실행이 되지않습니다
이화면에서 계속 멈춥니다,,지우고 깔고 계속 기다려보는데도 여기서멈춰요...
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Spring 초기 생성에서 버전이 강의와 다릅니다.
현재 https://start.spring.io/ 에 접속하며 나오는 버전입니다.강의에서는 2.3.x 버전인데 여기서는 없어서 2.7.8 로 진행했습니다.이대로 진행해도 문제 없을까요?아니면 여기서 spring boot 버전을 따로 설정하는 방법이 있나요?
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
void 의 사용법
void 를 어떨 때 쓰는 건지 도무지 이해가 되질 않습니다 ㅠㅠㅠ반환하는 값이라는게 뭘까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
다른 풀이로 풀어봤는데 한번 봐주실 수 있나해서요
import java.util.*; /* ** 괄호문자제거 * input (A(BC)D)EF(G(H)(IJ)K)LM(N) * output EFLM */ class Problem2 { public String solution(String str) { String answer = ""; Stack<Character> stack = new Stack<>(); int cnt = 0; // solution 1 for (char x : str.toCharArray()) { // push: stack에 할당 if (x == '(') { stack.push(x); cnt++; } else if (x == ')') { stack.pop(); cnt--; } else { if(cnt <= 0) answer += x; } } // solution 2 // for (char x : str.toCharArray()) { // if (x == '(') stack.push(x); // else if (x == ')') stack.pop(); // else if (stack.isEmpty()) answer += x; // } return answer; } public static void main(String[] args) { Problem2 T = new Problem2(); Scanner kb = new Scanner(System.in); String str = kb.next(); System.out.println(T.solution(str)); } } 혹시 cnt 변수를 선언하여 for 한번으로 풀었는데 일단 accept 떠서 어떤 문제나 예외가 있는 지 한번 봐주실 수 있을까요????
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이 실행이안되요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]갑자기 화면에 저것만 계속뜨고 실행되지않아요,, 지우고 깔아봤는데도..
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
스프링부트 내에서 JPA 1차 캐시의 라이프 사이클에 대한 질문입니다.
항상 강사님의 강의 덕에 많이 배웁니다..이번에 복습을 하다가 생긴 궁금증입니다.만약 스프링부트에서 Spring Data JPA를 사용을 하고 있다라고 가정하겠습니다.그러면 영속성 관리 pdf의 그림처럼 entity manager와 영속성컨텍스트가 1:N인 상황이라 이해했습니다.여기서 궁금한 점이 생겼습니다.해당 영속성 컨텍스트 내의 1차 캐시의 경우, 비지니스 로직의 수많은 트랙잭션에 의해 공유되는 것으로 이해하는게 맞을까요?또한 해당 1차 캐시 내에 있는 엔티티들이 save()를 통해 영속화 되는것은 이해하였는데, 엔티티들이 1차캐시에서 비워지는경우(비영속화라고 이해했습니다)는 해당 객체를 삭제하거나,detach()가 될 경우에 캐시가 비워지는게 맞나요?정리하자면 첫번째 질문은 단순히 1차 캐시가 수많은 트랜잭션들이 공유하는게 맞는지이고 두번째 질문은 그렇게 공유된 1차 캐시가 비워지는 시점(clear)이 궁금합니다!항상 많이 가르쳐주셔서 감사합니다.
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
강사님, 질문 하나 더 드립니다!
참조 강의 마지막 영상에 기존에 있던 참조를 끊어버리는 코드를 보여주셨는데요. null 할당 후, 다시 객체의 인스턴스 변수에 값을 입력해주려면 어떻게 해야하나요?다시 객체 생성부터 해서 진행하면 되는 것인지? 궁금해서 여쭤봅니다. cam1 = null; cam2 = null; cam1.name = "길동이"; cam2.name = "똥개"; System.out.println(cam1.name); System.out.println(cam2.name);이런식으로 코드를 작성해보니, NullPointerException이 에러가 발생해서, 어떻게 해야할지 궁금해 여쭤봅니다!
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
public, class, static, void 언제 어떻게 조합해서 쓰는건지
현재 챕터07 접근제어자(후반전) 까지 강의를 들었고 퀴즈도 다 풀어냈습니다.그런데 public, class, static, void 등을 조합해서 코드 앞부분에 쓰는데 언제 어떻게 왜 조합해서 저것들을 붙이는 건지 정확한 개념을 잘 모르겠습니다. 이럴때는 강의를 다시 돌려보며 개념을 알고 가야하나요? 아니면 그냥 강의 쭉 들으면서 서서히 익히면 되는건가요유튜브 영상으로 9시간 다 보고 인프런 결제했는데 갑자기 진행속도가 너무 빨라진 듯한 느낌이 듭니다. 유튜브 기초 9시간때는 이해하면서 잘 들었는데 지금은 코드 따라적기 바쁘네요ㅠㅠ
-
해결됨@시코 - Java 제대로 배우기 (완전 기초)
궁금합니다
package hijavapractice; public class Man {public static final int COFFEE=3000;//오직 한개만 존재 값을 변동시킬수 없음public static final int DONUT=2500;private String name;//이름 변수private int amount;//합계 변수 public Man() {//생성자 함수this.amount=10000;}public Man(String name) {this();//생성자를 다시 부르는 것.(this.amount=10000과 같은것)this.name=name;}public void buyCoffee(int count) {//this.amount=COFFEE*count;__1this.Subamount(COFFEE, count);//this.amount-=3000*count;과 같은말//커피값은 변동할수도 있기때문에 전역변수로 뺀다//전역변수로 뺀꺼 쓰기}public void buyDonut(int count) {//this.amount=DONUT*count;__1this.Subamount(DONUT, count);}//전역변수에 있는 도넛츠를 뺌//-->함수를 뺄꺼임 도넛츠와 커피 즉 재료만 다르기 때문에private void Subamount(int price, int count){//private으로 나만 부를수 있게 해놓은것 가격과 갯수this.amount-=price*count;//부가세까지 포함한다면} public static void main1(String[] args) { }//getter setter 함수 생성public String getName() {return name;} public void setName(String name) {this.name = name;} public int getAmount() {return amount;} public void setAmount(int amount) {this.amount = amount;} public String toString() {return this.name+"님의 잔액은"+this.amount+"원 입니다";}//출력하기public static void main(String[] args) {Man hong=new Man("hong");Man john=new Man("JOHN"); hong.buyCoffee(1);hong.buyDonut(2); john.buyCoffee(2);john.buyDonut(1); System.out.println("hong=" + hong.getAmount());System.out.println("john=" + john.getAmount());}}=====================전체코드인데 제가 볼드체로 해놓은 저 main에서 오류가 나서 main1으로 바꿨더니 실행이 정상적으로 되었습니다. main 이름을 rename해야 된다고 떠서 클릭해서 해결한건데 왜 그런 오류가 뜨는건가요? 또한 처음에는 두번째 볼드 부분 main을 main1으로 고쳤을때는 실행했을때 결과값이 나오지 않았습니다. 그 이유는 무엇일까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
hellospringapplication 실행이 안됩니다
다른 분이 같은 질문을 남기신 걸 보고 file - invalidate caches 항목을 실행하고난 화면인데 뭐가 문제일까요 ㅠㅠ 자바는 버전 17이고 스프링은 3.0.2 버전입니다.
-
해결됨자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
유틸리티 클래스
유틸리티 클래스 예시 자바 코드가 아래처럼 되어 있는데요. 추상클래스이다 보니 상속도 안되고 생성자가 private이다보니 인스턴스도 만들수 없는데, isDirectoryPath 메소드를 사용할 수 있는 방법이 있을까요?isDiretoryPath 메소드가 static 메소드가 되어야하는게 아닐까 싶어서요!package com.lannstark.lec11; public abstract class StringUtils { private StringUtils() {} public boolean isDirectoryPath(String path) { return path.endsWith("/"); } }
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
강사님 private 관련해서 궁금한점 있습니다!
클래스에 생성자 메서드를 여러개 생성할 수 있잖아요(overloading)을 통해서 만약에 하나의 생성자 메서드에는 private 가걸려있고다른 하나는 안걸려 있으면 다른하나를 통해서 static이 안걸린 메서드에 접근이 가능할까요???
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cmd로 실행하는 이유는 뭔가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.현재 프로그램 환경설정의 빌드하고 실행하기까지 했는데 여기서 cmd로 실행하는걸 하는데 왜 cmd로 실행하는 건가요??