묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
ClientV6 코드를 조금 변경해보았는데,,, 질문드립니다.
안녕하세요, 영한님뒤에 있을 채팅 프로그램을 직접 만들어보려다가 난관에 봉착해 질문드립니다.ClientV6 코드 내의 while문을 Thread에 넣는 작업을 진행하였습니다.아직 클라이언트에서 입력 값을 넣기 전임에도 불구하고 서버에서 EOFException이 나는데 그 이유를 모르겠습니다. 혹시 제가 코드를 잘못 짠 것인지아님 놓치는 부분이 있는 것인지 한 번 봐주실 수 있나요?public class ClientV6_1 { private static final int PORT = 12345; public static void main(String[] args) throws IOException { log("클라이언트 시작"); try ( Socket socket = new Socket("localhost", PORT); DataInputStream input = new DataInputStream(socket.getInputStream()); DataOutputStream output = new DataOutputStream(socket.getOutputStream()); ) { log("소켓 연결: " + socket); new Thread(new ClientHandler(socket), "ClientHandler").start(); } catch (IOException e) { log(e); } } }public class ClientHandler implements Runnable { private final Socket socket; private final DataInputStream input; private final DataOutputStream output; public ClientHandler(Socket socket) throws IOException { this.socket = socket; this.input = new DataInputStream(socket.getInputStream()); this.output = new DataOutputStream(socket.getOutputStream()); } @Override public void run() { Scanner scanner = new Scanner(System.in); try { while (true) { System.out.print("전송문자: "); String toSend = scanner.nextLine(); // send output.writeUTF(toSend); log("client -> server: " + toSend); if (toSend.equals("exit")) break; // receive String received = input.readUTF(); log("client <- server: " + received); } } catch (IOException e) { e.printStackTrace(); } finally { close(socket); } } }
-
미해결김영한의 실전 자바 - 중급 2편
List 생성할때
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요!문제와 풀이를 해보다 문득 궁금해졌는데,혹시 ArrayList 생성할때List<Integer> list = new ArrayList<>(); ArrayList<Integer> list = new ArrayList<>();두개의 차이가 있을까요 ..?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
몇가지 질문있습니다.
24분 19초에서 *ptr++를 사용하듯이 *arr++ 나 *++arr도 사용가능한가요?30:00 에서 start ++, end-- 라고 답을 적었는데 문제가 없을까요?
-
미해결김영한의 실전 자바 - 중급 1편
불변객체 질문있습니다
public class ImmutableMain1 { public static void main(String[] args) { ImmutableObj obj1 = new ImmutableObj(10); ImmutableObj obj2 = obj1.add(20); //계산 이후에도 기존값과 신규값 모두 확인 가능 System.out.println("obj1 = " + obj1.getValue()); System.out.println("obj2 = " + obj2.getValue()); } }public class ImmutableMain2 { public static void main(String[] args) { ImmutableObj obj1 = new ImmutableObj(10); obj1.add(20); //계산 이후에도 기존값과 신규값 모두 확인 가능 System.out.println("obj1 = " + obj1.getValue()); // System.out.println("obj2 = " + obj1.add(20).getValue()); //Q.이렇게 하면 안되는지?? } } Main1에서 했던것처럼 obj2를 하나 새로 만들지 않고 2에서 obj1.add(20).getValue() 이렇게 해도 원하는 결과값이 나오는데 새로 obj2를 만드는것과 어떤 차이가 있나요?? Main2에서 저렇게 코드를 쳤을때 인스턴스값을 확인해보니 1과 2가 각각 다른 값이 나오더라고요 ImmutableObj에서 이미 return new ImmutableObj(result);을 사용하고 있어서 이때 인스턴스가 이미 생성되어서 그렇다고 생각하는데 맞을까요?? 그러면 이미 생성되었는데 또 obj2를 다시 만드는 이유는 무엇인가요??
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
9번 문제 질문있습니다. 19:14
Child obj = new Child();를 해주면Child생성자가 호출되고 this(7000)를 명시 해주었기 때문에 부모의 기본 생성자가 호출안되고인자를 받는 Child(int x)가 호출되고Child(int x)에서는 super같은 키워드가 없으니 이때 부모의 Parent()기본 생성자가 호출되어서 x가 600으로 채워 지는것 아닌가요?강사님은 new Obj하면 바로 Parent의 기본 생성자를 호출하는 식으로 흐름을 설명하셔서 질문드립니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
데이터베이스 연결 에러
[질문 내용]여기에 질문 내용을 남겨주세요.2024-10-16T00:11:04.326+09:00 INFO 16884 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) 2024-10-16T00:11:04.335+09:00 INFO 16884 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-10-16T00:11:04.336+09:00 INFO 16884 --- [ restartedMain] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.20] 2024-10-16T00:11:04.387+09:00 INFO 16884 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-10-16T00:11:04.387+09:00 INFO 16884 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1088 ms 2024-10-16T00:11:04.433+09:00 INFO 16884 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-10-16T00:11:06.881+09:00 ERROR 16884 --- [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. org.h2.jdbc.JdbcSQLNonTransientConnectionException: Connection is broken: "java.net.ConnectException: Connection refused: getsockopt: localhost" [90067-224]어플리케이션을 실행했더니 이러한 에러가 뜹니다... 제가 생각하기엔C:\Users\재성 이 폴더에 db파일이 없어서 생기는 오류같은데 어떻게 해결해야할 지 모르겠습니다... 다른 강의 이것저것 번갈아가면서 듣다 보니 db파일을 삭제했다가 새로 만들고 반복했었는데 오랜만에 강의 들으니까 db에서 오류가 발생합니다ㅠ
-
미해결Java/Spring 주니어 개발자를 위한 오답노트
의존하는 객체 final 선언 질문드립니다.
안녕하세요, '서비스란 무엇인가' 강의를 보고 질문드립니다. 서비스는 불변으로 만들기 위해 서비스에서 쓰고 있는 리포지토리를 final로 선언하라고 강의를 통해 배웠습니다. 컨트롤러에서 쓰는 서비스나 리포지토리에서 쓰는 것들도 final로 선언해도 될까요? 불변이면 생성된 객체가 변경할 수 없는 것 이라는 정도만 이해하고 있는데 다른 레이어도 final로 선언하면 더 안정적인 애플리케이션이 되는 거 아닌가? 라는 생각이 들어 질문드립니다! 감사합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
함수와 재귀함수 질문(11:33 즈음)
뺄셈 함수 중간 궁금해서 해본 질문인데, 만약 10과 4도 값을 받고 싶다면 int main(){int a;int b;scanf("%d%d", &a, &b);int result = subtract(a, b);printf("%d-%d = %d\n", a, b, result);return 0;} 이런식으로 바꾸면 될까요?공부 도중 문득 생각나서 바꿨는데 부족한 부분이 있을까 하여 여쭤봤습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 오류
Execution failed for task ':test'.> There were failing tests. See the report at: file:///C:/Users/kimhs/OneDrive/%EB%AC%B8%EC%84%9C/springboot/jpashop/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.10.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 11s4 actionable tasks: 1 executed, 3 up-to-date MemberRepositoryTest 를 실행하면 위와 같은 오류가 발생합니다 원인이 무엇일까요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
자바 질문 하나만 하겠습니다!
class Parent { Parent() { System.out.println("Parent default");} class Child extends Parent {System.out.println("Child Default");} public class Test{ public static void main(String[] args){ Child child = new Child();} } 위의 코드가 실행이 된다면 생성자가 자식이기 때문에 Child Default만 출력되지만 만약 Parent child = new Child(); 일 경우에는 부모기본생성자 실행 후 자식 기본생성자가 실행되어 아래처럼 출력이 되는게 맞을까요..??Parent defaultChild Default
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
제가 항상 헷갈리던 부분이네요..
항상 틀리는 부분입니다.지역변수의 경우엔 포인트변수나, 배열 참조하지 않는이상 전역변수로(메인으로) 넘어오지 않는다.그렇게 인지해도 괜찮을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
교안 오류
안녕 하세요 (5:24) 강사님 포인터 이론 공부 하던중 아래 코드는 강의 내용 ppt 에 없는거 같습니다. 그리고 왜 n 값을 출력 하라 했는데 100 이 출력 되었는지 이해가 안됩니다.#include <stdio.h>int main() {int n = 42;int *p = &n; printf("%d\n", n); // ㅎ당 출력문은 왜 100이 출력 돼는지 이해가 안됩니다. 42가 출력 되어야 하는게 아닌가요?printf("%d\n", &n); // 헤딩 출력문은 n의 주소값을 출력 하라고 했으니 100 출력따라서 출력값은42100위의 처럼 되어야 하는거 아닌가요? 제가 잘못 이해 한것 일까요?
-
미해결스프링 시큐리티 OAuth2
CustomAuthenticationProvider 질문
http://localhost:9000/oauth2/authorize?response_type=code&client_id=oauth2-client-app1&scope=openid%20read%20write&redirect_uri=http://127.0.0.1:8081형태에 첫 로그인 요청을 했을때, 로그인 페이지로 가지 않는 현상이 있습니다.=> 확인을 해봤을때, CustomAuthenticationProvider 에서 프로세스 진행 완료 후 principal = AnonymousAuthenticationToken [Principal=anonymousUser, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ANONYMOUS]]principal 까지 확인되었습니다. 그 다음 추가적인 내용을 확인해봐야될 내용이 어떤 걸 까요?추가적으로 첫 요청에 따른 redirect 하는 클래스가 어디인지 알고 싶습니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
반복문 질문
5:50반복문에서 질문있습니다.print("*" , end= " ") 인데 *가 왜 3개씩 찍히는건가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
28:00 문제
st.b는 static int b=0으로 공유하는 변수를 선언했는데첫번째 출력에서 Static.b++로 인해 11이된것이왜 두번째 출력에서 초기화 선언된 0이 아닌 11이 되는걸까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
set형태로 들어가려면 식을 어떤식을 바꿔야될까요?
59:25초 set형태 말고 dict 형태로 들어가는 이유가 있을까요? set형태로 값만 넣으려면 오류가 발생할까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
6분44초 질문드립니다.
!=0은 전체값이 0이아닌지를 묻는게 아니라i%2!=0이 아닌지만 묻는것일까요?&&보다 우선순위가 높아서 그런것일까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
C언어 기출 문제 변형 질문 드립니다
C언어 기출문제 변형 7분 23초에 나오는 isP에 대한 함수 질문드립니다 num에 2가 들어가면 for(int i = 2; i<num; i++) { if(2 % 2 == 0) return 0;}이라서 2가 나오면 안되지 않나요 if(num <=1) return 0;if(num == 2) return 1;이렇게 선 추가해놓고 돌려야 2도 정상적으로 나오지않나요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Unknown host 'admin'. 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.위와 같은 오류가 뜨는데 인텔리제이와 스프링 자바 버전 둘 다 17로 맞췄고스프링 초기값은 다음과 같이 맞춰서 제너레이트를 했는데 위 오류 때문에 실행도 시킬 수가 없네요 어떻게 해결해야 할까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL 쿼리 생성 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.List<Member> findMembers = em.createQuery( "select m from Member m where m.username like '%kim%'",Member.class).getResultList(); 위와 같이 작성하여 실행해보니 위와 같이 escape '' 이 붙여진 상태로 쿼리가 생성이 되는데 혹시 어떤게 잘못된건지 알 수 있을까요? 버전정보는 아래와 같습니다.