묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
concat()이 내부적으로 생성하는 String 인스턴스
public class StringImmutable2 { public static void main(String[] args) { String before = "hello"; String after = before.concat(" java"); System.out.println("before = " + before); System.out.println("after = " + after); } }자바 프로그램 로딩 시점에 문자열 리터럴이 문자열 풀에 보관된다고 알고 있는데요. 위 코드에서 "hello" 뿐만 아니라 " java"도 문자열 리터럴인가요? 그렇다면 " java"도 문자열 풀에 저장되는 것인가요? (제가 자바 기초 지식이 부족한 상태입니다)concat() 내부에서 생성하는 String 인스턴스는 문자열풀에 생성되는 것인가요? 아니면 문자열풀이 아닌 힙 영역에 생성되는 것인가요?
-
해결됨실전! 스프링 데이터 JPA
테스트 시 생성자 주입에 관하여
package com.myproject.jpaboard.web.service; import com.myproject.jpaboard.domain.Post; import com.myproject.jpaboard.web.repository.BoardRepository; import lombok.RequiredArgsConstructor; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import java.util.Optional; @SpringBootTest @RequiredArgsConstructor class PostServiceTest { private final BoardRepository boardRepository; private final PostService postService; @Test void addViewCount() { Optional<Post> byId = boardRepository.findById(1L); Post post = byId.get(); System.out.println("post.getViewCount() = " + post.getViewCount()); postService.addViewCount(1L); System.out.println("post.getViewCount2() = " + post.getViewCount()); } }안녕하세요. 개인적으로 배운것들을 따로 테스트중입니다. 위의 코드와 같이 생성자 주입을 하니 boardRepository에 NullPointerException이 발생하였습니다. @Autowired를 이용한 필드 주입으로 코드를 수정해보니 문제가 해결되었습니다. 원인을 추측해보면, 테스트 메서드 실행할 때 주입받을 빈이 초기화되어있지 않기 때문으로 보입니다.이런 상황이 처음이라 지식 공유자님의 의견을 듣고싶습니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
sql 실행순서와 서브쿼리 사용이유
SQL 공부하다가 궁금한점이 생겼어요!실행순서는 group by가 select 보다 먼저 실행되는 것으로 알고 있는데select절에서 설정한 별칭을 왜 group by절에서 사용해도 되는걸까요?현업에서는 팀마다 다르겠지만, 보통 어떻게 사용하시나요?그리고 만약에 안된다면, 서브쿼리를 사용하시나요?서브 쿼리를 사용하는 이유는 정확히 무엇인가요? 그리고 현업에서도 서브쿼리를 많이 사용하는지 궁금합니다!(아직 서브쿼리가 정확히 왜 필요한지 모르겠어요. 자바스크립트의 클로저라는 개념과 비슷한 개념일까요?)마지막으로 아래 쿼리가 결과는 똑같은데 어떤게 더 바람직한 작성 방법일까요?(해당 강의는 4-6. 조건문(CASE WHEN, IF)입니다)감사합니다 :)SELECT new_type1, COUNT(DISTINCT id) AS cnt FROM( SELECT *, CASE WHEN type1 IN ('Rock', 'Ground') OR type2 IN ('Rock', 'Ground') THEN 'Rock&Ground' ELSE type1 END AS new_type1, FROM `basic.pokemon` ) GROUP BY new_type1SELECT CASE WHEN type1 IN ('Rock', 'Ground') OR type2 IN ('Rock', 'Ground') THEN 'Rock&Ground' ELSE type1 END AS new_type1, COUNT(DISTINCT id) AS cnt FROM `basic.pokemon` GROUP BY new_type1
-
미해결Next + React Query로 SNS 서비스 만들기
폴더 변경 이후 not found
패러렐 라우트 강의 중 폴더 이동하는 부분이 있는데i/flow/signup 페이지가 notFound로 나옵니다http://localhost:3000/ 경로에서도 해당 페이지 ui 가 나오지 않는데 어떤 문제일까요
-
미해결김영한의 실전 자바 - 중급 1편
String이 불변 객체인 이유 질문
String이 불변 객체인 이유가 궁금한데요. String 내부에 문자열이 final byte[] value;에 저장되는데 참조변수 final에 들어있는 값(배열의 시작 주소값)이 변경될 수 없는 것이지 byte[] 배열 내부에 있는 원소는 변경 가능하다고 알고 있습니다.final char[] chArr = new char[] {'a', 'b', 'c', 'd', 'e'}; chArr[0] = 'k'; // 가능 System.out.println(chArr); chArr = new char[]{'A', 'B', 'C', 'D', 'E'}; // 불가능 byte[] 배열 내부에 있는 값이 변경 가능한데 String은 왜 불변 객체인 건가요? 혹시 내부적으로 모든 문자를 변경할 수 없도록 하는 어떠한 로직이 존재하는 건가요...?
-
미해결스프링 핵심 원리 - 기본편
객체 생성과 초기화의 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 이해한게 맞나 싶어서 질문드립니다. setter로 의존관계 주입을 완료까지 해야 스프링 빈 사용가능!!하지만 코드에서 보면 빈을 생성하는 과정에서 초기화(connect(); call("초기화 연결메세지");)를 진행하게됨 =>setter로 의존관계가 주입이 완료되지 않은시점에서 생성자에서 초기화를 진행해서 url이 없음 => 자동 의존관계가 주입된 시점을 알아야하 초기화를 진행 가능 그럼 언제 완료된지는 다음 강의의 콜백함수를 통해 알아보자
-
해결됨김영한의 실전 자바 - 중급 1편
섹션 7. 정적중첩클래스
제가 이해를 잘 못한 거 같아서 질문 드립니다!질문 1 : main에 NestedOuter outer = new NestedOuter();를 객체로 생성하면 내부에 있는 모든 것들이 생성되서 아래 올린 코드의 모든 것들이 저 객체 안에 생성되는 게 맞나요?outInstanceValue, Nested 클래스도 같이 포함되어서 생성되는 거 아닌가 해서요! 질문 2 : Nested는 static인데 객체를 생성할 수가 있나요? static이면 힙 영역이 아니라 메서드영역에 생성되어있는 거 아닌가요? 질문 3 : 질문 2에 이어서 든 생각으로 NestedOuter.Nested.print()로 바로 꺼내 쓸 수 있어야 된다고 생각했는데 왜 안 되는 건가요?ㅠㅠ public class NestedOuterMain { public static void main(String[] args) { NestedOuter outer = new NestedOuter(); NestedOuter.Nested nested = new NestedOuter.Nested(); nested.print(); System.out.println("nestedClass = " + nested.getClass()); } }public class NestedOuter { private static int outClassValue = 3; private int outInstanceValue = 2; static class Nested { private int nestedInstanceValue = 1; public void print() { // 자신의 멤버에 접근 가능 System.out.println("nestedInstanceValue = " + nestedInstanceValue); // 바깥 클래스의 인스턴스에 접근 불가 //System.out.println(outInstanceValue); // 바깥 클래스의 클래스 멤버에 접근 가능 System.out.println("outClassValue = " + outClassValue); } }
-
미해결스프링 부트 - 핵심 원리와 활용
윈도우10에서 grafana-server.exe 실행 오류 관련 질문입니다.
안녕하세요. 항상 유익한 강의 제공에 감사드립니다. 윈도우 10환경에서 그라파나 설치 후 grafana-server.exe 실행 시 아래 화면과 함께 실행이 실패합니다. 프로메테우스는 실행 중입니다.Error: attempt to write a readonly database 라는 오류가 발생하는데, 스스로 해결하지 못하여 게시판에 질문을 올립니다. 발생 원인과 해결 방법을 알려주실 수 있을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
사이트 연결 오류
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의와 똑같이 진행했는데 어떤부분이 오류 발생원인인지 파악을 못하겠습니다. ㅠㅠ [구글 드라이브 주소]https://drive.google.com/file/d/1HzSpLYQbb-IFI5ho7YYkSjGvV0ZOySYm/view?usp=drive_link
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
자바 언어 없음
이런식으로 자바 언어가 없는데 어떻게 해야하나요
-
해결됨팀 개발을 위한 Git, GitHub 입문
강의자료 부탁드립니다.
안녕하세요 강의 잘보고 있습니다!강의자료 요청드립니다tjdans7665@naver.com입니다!
-
미해결스프링 부트 - 핵심 원리와 활용
@Configuration 자동 설정?
[질문 내용]안녕하세요!! 현재 강의를 들으면서 MyDataSourceValueConfig 부분에서 Application을 실행하면***************************APPLICATION FAILED TO START***************************Description:The bean 'myDataSource', defined in class path resource [hello/config/MyDataSourceValueConfig.class], could not be registered. A bean with that name has already been defined in class path resource [hello/config/MyDataSourceEnvConfig.class] and overriding is disabled.Action:Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true아래와 같은 오류가 발생합니다... 애플리케이션은 value의 Bean을 등록하는데, 왜 오버라이딩 오류가 발생하는 걸까요?? @ComponetScan이 없으면 @Configuration은 Import해야만 Bean이 등록되는 것으로 알고 있는데, 오버라이딩 오류가 발생하는 이유를 모르겠습니다!! 현재Env 클래스의 @Configuration을 주석처리하면 정상 작동하긴 합니다!!
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
[탑다운] 상담문제
if day > N: return -999999999999해당 부분을 -2 혹은 -99 등으로 조건을 바꾸면 왜 통과가 안되는지 궁금합니다. -999까지는 통과가 되더라고요 import sys N = int(sys.stdin.readline()) answer = 0 plan = [] for _ in range(N): plan.append(list(map(int, sys.stdin.readline().split()))) #dp[day]를 계산하는 함수 def rec(day): if day > N: return -999999999999 if day == N: return 0 #dp[day]가 한번이라도 계산된적 있다면 두번 할 필요없음 if dp[day] != -1: return dp[day] dp[day] = max(rec(day + plan[day][0]) + plan[day][1], rec(day + 1)) return dp[day] dp = [-1 for _ in range(N + 1)] rec(0) print(dp[0]) #dp[0]은 첫째날 선택했는지 아닌지까지 포함한 최대값
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 모의문제2 age 컬럼의 이상치 관련
안녕하세요, 퇴근후딴짓 선생님~!작년 6차 실기에서 5점 차이로 떨어지고,7차 때는 바빠서 응시를 못했다가 다시 필기 보고8차 실기에 응시하게 된 장수생(…)입니다.6차 때가 혜자였는데… 노력이 부족했던 것 같습니다.바쁘실텐데, 본론을 말씀드리면'age'컬럼의 이상치(소수점 나이와 음수나이, 0포함)요 조건에서 선생님께서는df['age'] <= 0요렇게 설정을 해주셨는데요.그런데, 소수점 나이를 생각하면0.1이나 0.2 이런 것도 있을 수 있잖아요?members.csv의 'aget'컬럼 상에는 0~1사이의값은 없습니다만…df['age'] < 1이게 어떨까 싶어 이렇게 여쭈어봅니다.요번 실기 때는 열심히 해서 한 번 후기 남겨보겠습니다.항상 감사합니다~
-
미해결네이버 카페 DB 추출 프로그램 개발 강의 [selenium]
계정 정보 찾을수가 없어요
로직이 바뀐거 같아서 질문 드립니다 .영상처럼 위에 링크가 떠야되는데 아예 안뜨고<script type="text/javascript">wordBreak($("article_0103378_0"));</script>이런 걸 도저히 찾지 못하겠습니다. 블로그보기로 들어가서 계정아이디 확인하고 개발자도구에서 ctrl+ f 한다음 붙여놔도 아예 안뜨네요중고나라 카페 로직이 바꼈는지 한번 봐주시면 감사하겠습니다
-
미해결
Jqgrid Pager 에러
Jqgrid에 pager를 적용하려니까 중앙에 [undefined] 문구가 뜨면서 콘솔엔" Cannot read properties of undefined (reading 'decimalSeparator') "라고 오류가 뜨네요.검색해봤을땐 <script src="'js/grid.locale-en.js"></script>선언으로 해결하신 분들이 계신것같은데, 전 아직 이걸로도 해결이 안되어서 질문드리게 되었습니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
PathVariable이 제대로 인식되지 않는 문제
본 강의 REST컨트롤러 - 수정/삭제, CORS 설정 시청중에Putmapping, DeleteMapping 쪽에서 파라미터를 @PathVariable로 받는데, postMan에서 테스트 요청을 보냈을때 파라미터가 전달되지 않습니다. @PathVariable(name="tno") 처럼 name을 명시하니까 제대로 파라미터가 받아지던데요 원래는 name은 생략 가능한게 아닌가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원가입 테스트 작성시 에러가 발생합니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원 기능 테스트 강의를 수강하며 회원가입 테스트 예제를 작성하고 실앻해도 계속 에러가 나옵니다. 코드도 모두 동일하게 쳣는데 에러가 뜨니 어떻게해야할지 모르겟습니다. ㅠㅠ 10:53:19.411 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [jpabook.jpashop.service.MemberServiceTest]: MemberServiceTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.10:53:19.579 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.service.MemberServiceTest10:53:19.906 [Test worker] INFO org.springframework.boot.devtools.restart.RestartApplicationListener -- Restart disabled due to context in which it is running이렇게 에러문구 3개가 뜨는데 뭐가 틀린지 모르겟습니다. 도움주시면 감사하겟습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증1 - Validation 강의에서 질문이 있습니다.
mvc1편에 이어서 작업한거 이후에 강의대로 v1~v4버전을 만들었는데요. 근데 item들어가면 화이트 페이지 뜹니다.제가 생각하기에는 basic에서 validation으로 변수 다 바꿔줬는데 안되는지 이해가 안됩니다. 아래는 전체코드입니다.
-
해결됨개발자를 위한 쉬운 도커
안녕하세요! 질문이 있습니다.
안녕하세요! 강의 정말 잘보고 있습니다.2개의 궁금증이 생겨서 여쭤봅니다. 쉬울 수 있지만 저에겐 헷갈리는 부분같습니다.우선 OS에 관한 질문입니다. 이미지를 만드는 강의에서 그림으로 이미지 내부의 모양을 표현해주실 때가 있는데 그림에서 이미지가 OS를 가지고 있는 거처럼 느껴집니다. 실제로 이미지 안에 OS가 설치되어 있나요? (호스트 OS의 커널을 이용해서 만드는 거라고 이해했어서 실제 OS가 들어가 있진 않을 것 같은데 라는 생각이 들었습니다) 두번째는 포트포워딩쪽 질문입니다. 포트포워딩이 외부 IP가 인바운드를 할 때 특정 포트를 지정해 놓는 것이 자연스럽다고 이해했습니다. 그렇다면 제가 로컬에서 애플리케이션을 만들어서 8080포트로 열어두면 포트포워딩 쪽 테이블에 8080포트로 만들어 지는건가요? (미리 지정해 놓는다라는 개념이 조금 헷갈리는 것 같습니다.) 감사합니다 :)