혹시 자바 시큐리티 언제쯤 나오나요??
미해결
실전! 스프링 데이터 JPA
스터디 하려고하는데 궁금합니다!
- java
- spring
- spring-boot
- jpa
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
실전! 스프링 데이터 JPA
스터디 하려고하는데 궁금합니다!
미해결
김영한의 실전 자바 - 기본편
안녕하세요 실전 자바 기본편 섹션3 기본형과 참조형 문제와 풀이부분에서 for (int i = 0; i < orders.length; i++) { System.out.println((i + 1) + "번째 주문 정보를 입력하세요."); System.out.println("상품명: "); String productName = scanner.nextLine(); System.out.println("가격: "); int price = scanner.nextInt(); System.out.println("수량: "); int quantity = scanner.nextInt(); scanner.nextLine(); orders[i] = createOrder(productName, price, quantity); } for 반복문을 for(ProductOrder order : orders) { System.out.println("상품명을 입력하세요: "); String productName = scanner.nextLine(); System.out.println("가격을 입력하세요: "); int price = scanner.nextInt(); System.out.println("갯수를 입력하세요: "); int quantity = scanner.nextInt(); scanner.nextLine(); order = createOrder(productName, price, quantity); } 이렇게 고쳤봤더니 createOrder 메소드에서 order변수값이 null이라면서 오류가 나는데요.. 혹시 order변수에 null값이 들어가면서 오류가 나는 이유가 뭔지 알수있을까요?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
선생님 안녕하세요. 오늘 재접수 했습니다. 열기가 대단한 지 두시간 반만에 집근처는 모두 마감이라 한시간 내외의 거리로 접수했어요 지난번에 요청드렸었던 내용으로 재 요청 드립니다. 영상에서 사용하신 문제를 다시 풀어볼 수가 없어서요(종이로 써가면서..) 영상 캡쳐도 안되더라고요 문제 모음집 파일 요청 드립니다.
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
Scanner 함수 예제풀이중 문자열로 입력을 받게해야하는데 한글은 입력이 안됩니다 뭐가 문제일까요????
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
안녕하세요, 강의 중, 모든 쓰레드는 직접적으로 만들 수 없고 메인쓰레드에 의해서 생성이 된다고 하셨던 부분에 대해서 궁금한 점이 있어서 질문을 남깁니다. 자바 말고 스프링의 경우에도 1개의 메인쓰레드가 N개의 요청에 따른 스레드를 생성해주는 구조일까요? 요청당 1개의 스레드를 차지하는데 이 경우에는 어떻게 되는지 궁금합니다 ~
해결됨
김영한의 실전 자바 - 중급 1편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 자바 예외 처리 하면서 본 주석이 궁금해 져서 질문을 남깁니다. 영한님이 throws을 보여주려고, 마우스에 callThrow() 된 것을 보고 (사진 참조) 다른것은 어떻게 될까 해서 그래서 다른 것도 마우스에 되보니, 사진처럼 되엇습니다. 보니까 초록색 주석이 이런 역할을 하더라고요. 그래서 궁금해진 점이 초록색 주석 처럼, 이런 식의 주석이 또 있나요? 그리고 영상을 보니까 단축키를 안쓰고, 타이핑을 하던데, 혹 단축키 같은 게 있을까요? 추가1 : 너무 유용해 보여서요. 추가2 : 글이 좀 너무 이상해서(도둑놈 심보..여서) 수정 하였 습니다. 답변 부탁 드립니다.
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 커뮤니티 보면서 같은오류들 따라해봤는데 잘 안되네요 오류코드: No matching tests found in any candidate test task. Requested tests: Test pattern jpabook.jpashop.MemberRepositoryTest.testMember in task :test * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. 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/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 12s 4 actionable tasks: 1 executed, 3 up-to-date
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] package thread.bounded; import static util.MyLogger.log; public class ProducerTask implements Runnable { private BoundedQueue queue; private String request; public ProducerTask(BoundedQueue queue, String request) { this.queue = queue; this.request = request; } @Override public void run() { log("[생산 시도] " + request + " -> " + queue); log("[생산 완료] " + request + " -> " + queue); } } package thread.bounded; import static util.MyLogger.log; public class ConsumerTask implements Runnable { private BoundedQueue queue; public ConsumerTask(BoundedQueue queue) { this.queue = queue; } @Override public void run() { log("[소비 시도] ? <- " + queue); String data = queue.take(); log("[소비 완료] " + data + " <- " + queue); } } package thread.bounded; public interface BoundedQueue { void put(String data); String take(); } package thread.bounded; import java.util.ArrayList; import java.util.List; import static util.MyLogger.log; import static util.ThreadUtils.sleep; public class BoundedMain { public static void main(String[] args) { // 1. BoundedQueue 선택 BoundedQueue queue = new BoundedQueueV1(2); // 2. 생산자, 소비자 실행 순서 선택, 반드시 하나만 선택! producerFirst(queue); // 생산자 먼저 실행 //consumerFirst(queue); // 소비자 먼저 실행 } private static void producerFirst(BoundedQueue queue) { log("== [생산자 먼저 실행] 시작, " + queue.getClass().getSimpleName() + " =="); List<Thread> threads = new ArrayList<>(); startProducer(queue, threads); printAllState(queue, threads); startConsumer(queue, threads); printAllState(queue, threads); log("== [생산자 먼저 실행] 종료, " + queue.getClass().getSimpleName() + " =="); } private static void consumerFirst(BoundedQueue queue) { log("== [소비자 먼저 실행] 시작, " + queue.getClass().getSimpleName() + " =="); List<Thread> threads = new ArrayList<>(); startConsumer(queue, threads); printAllState(queue, threads); startProducer(queue, threads); printAllState(queue, threads); log("== [소비자 먼저 실행] 종료, " + queue.getClass().getSimpleName() + " =="); } private static void startProducer(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("생산자 시작"); for (int i = 1; i <= 3; i++) { Thread producer = new Thread(new ProducerTask(queue, "data" + i), "producer" + i); threads.add(producer); producer.start(); sleep(100); } } private static void startConsumer(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("소비자 시작"); for (int i = 1; i <= 3; i++) { Thread consumer = new Thread(new ConsumerTask(queue), "consumer" + i); threads.add(consumer); consumer.start(); sleep(100); } } private static void printAllState(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("현재 상태 출력, 큐 데이터: " + queue); for (Thread thread : threads) { log(thread.getName() + ": " + thread.getState()); } } } package thread.bounded; import java.util.ArrayDeque; import java.util.Queue; import static util.MyLogger.log; public class BoundedQueueV1 implements BoundedQueue { private final Queue<String> queue = new ArrayDeque<>(); private final int max; public BoundedQueueV1(int max) { this.max = max; } @Override public synchronized void put(String data) { if (queue.size() == max) { log("[put] 큐가 가득 참, 버림: " + data); return; } queue.offer(data); } @Override public synchronized String take() { if (queue.isEmpty()) { return null; } return queue.poll(); } @Override public String toString() { return queue.toString(); } } C:\Users\lgh80\.jdks\temurin-21.0.4\bin\java.exe --enable-preview "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=52674:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\java-adv1\out\production\java-adv1 thread.bounded.BoundedMain 09:38:16.411 [ main] == [생산자 먼저 실행] 시작, BoundedQueueV1 == 09:38:16.413 [ main] 생산자 시작 09:38:16.424 [producer1] [생산 시도] data1 -> [] 09:38:16.425 [producer1] [생산 완료] data1 -> [] 09:38:16.531 [producer2] [생산 시도] data2 -> [] 09:38:16.532 [producer2] [생산 완료] data2 -> [] 09:38:16.642 [producer3] [생산 시도] data3 -> [] 09:38:16.642 [producer3] [생산 완료] data3 -> [] 09:38:16.752 [ main] 현재 상태 출력, 큐 데이터: [] 09:38:16.754 [ main] producer1: TERMINATED 09:38:16.754 [ main] producer2: TERMINATED 09:38:16.754 [ main] producer3: TERMINATED 09:38:16.755 [ main] 소비자 시작 09:38:16.757 [consumer1] [소비 시도] ? <- [] 09:38:16.757 [consumer1] [소비 완료] null <- [] 09:38:16.864 [consumer2] [소비 시도] ? <- [] 09:38:16.865 [consumer2] [소비 완료] null <- [] 09:38:16.974 [consumer3] [소비 시도] ? <- [] 09:38:16.975 [consumer3] [소비 완료] null <- [] 09:38:17.085 [ main] 현재 상태 출력, 큐 데이터: [] 09:38:17.085 [ main] producer1: TERMINATED 09:38:17.086 [ main] producer2: TERMINATED 09:38:17.086 [ main] producer3: TERMINATED 09:38:17.086 [ main] consumer1: TERMINATED 09:38:17.087 [ main] consumer2: TERMINATED 09:38:17.087 [ main] consumer3: TERMINATED 09:38:17.087 [ main] == [생산자 먼저 실행] 종료, BoundedQueueV1 == Process finished with exit code 0 이런 식으로 출력이 뜨는데 강의 내용에 나와있는 로그 창이랑 많이 달라서 강의 코드랑도 비교해봤는데 어디에서 문제가 있는 건지 잘 모르겠습니다.
미해결
김영한의 실전 자바 - 중급 2편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요! 영한님 강의를 잘 듣고 있습니다. 의존관계 주입 설명해주실때 문득 궁금점이 생겨서 질문드립니다. 의존관계 주입은 추상적인 것을 의존하게 하고, 나중에 실제 구체적인것을 넣어주는 부분인데 이는 같은 기능을 수행하는 List(Array, Linked)의 경우라고 한다면 처음에는 한가지 기능만 수행하다가, 필요에 의해서 다른 기능을 만들었고 이걸 공통화가 가능하다면 인터페이스로 만들어주는 작업을 진행하면 되는 걸까요? 실무에서 인터페이스는 처음부터 설계를 잡고 들어가는 경우가 많은지, 혹은 필요에 의해 중간에 만드는 경우도 있는지 궁금합니다! 중간에 필요하긴한데 기능이 다 같진 않은 경우에는 어떻게 하는지도 궁금하네요ㅠ
해결됨
스프링 DB 1편 - 데이터 접근 핵심 원리
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 예외처리 부분을 듣고 궁금한 점이 있어 질문 남깁니다. 강의에서 하위 레벨의 체크 예외가 서비스, 컨트롤러로 올라오는 것이 문제라고 하셨는데, 리포지토리와 같이 해당 예외가 직접 발생하는 곳에서 try~catch로 잡아서 처리하면 상위 레벨로 올라오지 않을텐데 그렇게 처리하지 않는 이유는 뭔가요? 어차피 대부분 복구 불가능한 예외라 시스템 상에서는 로그를 남기는 것 밖에 하지 못하고, 왜 하위 레벨에서는 처리하지 않는지 궁금합니다. 밖으로 던져서 공통으로 처리할거면 리포지토리에서 처리해도 공통으로 처리되는 효과가 있는게 아닌지.. 동일한 리포지토리를 여러 서비스에서 사용할 때 비즈니스 로직에 따라 같은 리포지토리 메서드여도 다른 오류 메세지를 보여줘야 해서 그런걸까요..?
해결됨
나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요. try { writer.close(); } catch (Exception e) { throw new RuntimeException (e); } 여기에서 catch 안에 throw로 RuntimeException 을 발생 시켰는데, 이부분은 어디서 catch가 되나요?
해결됨
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
[질문 내용] 강의에서는 이와 같은 페이지를 만들고 끝나는데 실제 고객이 이런 페이지를 마주치게 된다면 메인 페이지로 이동 버튼을 두어 되돌아가게 하는 형태로 사용하게 되는지 또는 다시 구글에 검색해서 다시 사이트를 들어간다던지 등 어떤식으로 고객이 사용할 수 있도록 구성해야 되는지 질문드립니다.
미해결
스프링 DB 1편 - 데이터 접근 핵심 원리
@Override public Member findById(String memberId) { String sql = "select * from member where member_id = ?"; return template.queryForObject(sql, memberRowMapper(), memberId); } private RowMapper<Member> memberRowMapper() { return (rs, rowNum) -> { Member member = new Member(); member.setMemberId(rs.getString("member_id")); member.setMoney(rs.getInt("money")); return member; }; } 이 코드에서, 1. 해당 람다식은 파라미터로 rs와 rowNum을 받아서, 중괄호 부분을 실행한후 결과를 리턴하는것인가요? 그렇다면 rowNum의 역할은 무엇인지 궁금합니다. 또, 람다 내부의 rs와 rowNum 파라미터의 매개값은 어떻게 대입되는것인가요 ..? 람다식부분이 이해가 되지않아서 질문드립니다. 2. 이 코드에서 return member;를 하면 Member객체가 반환되는데 실제 리턴타입은 RowMapper<Member>로 되어있는데 어떻게 RowMapper<Member>타입으로 반환될수 있는것인지 질문드립니다. 3. queryForObject()의 리턴타입은 Member인데, 어떻게 Member가 되는것인가요 ?
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
public class ThreadStopMainV2 { public static void main(String[] args) throws InterruptedException { Job job = new Job(); Thread thread = new Thread(job); thread.start(); Thread.sleep(4000); log("작업 중단 지시 interrupt"); thread.interrupt(); log("main 스레드 끝"); } static class Job implements Runnable { @Override public void run() { while (true) { try { log("스레드 실행"); Thread.sleep(2000); } catch (InterruptedException e) { log("예외 발생"); break; } } log("작업 끝"); } } } 위 코드의 실행 결과는 아래와 같습니다. 궁금한 부분은 로그에서 작업 중단 지시 interrupt 이후에 대해 궁금한점이 있습니다. 작업 중단 지시 interrupt 를 로그로 찍고 thread.interrupt();를 호출 했습니다. 그러면 생선한 스레드에 interrupt 신호를 보내고 Thread.sleep(2000); 부분에서 예외가 발생해 catch 문으로 빠지는것도 이해했습니다. 하지만 catch 문으로 빠지기전 log("스레드 실행"); 가 실행되지 않나 라는 생각이 듭니다. 그래서 최종 결과는 아래와 같이 catch 로 빠지기전에 스레드 실행이 한번 더 찍혀야 하지 않나 라는 생각이 듭니다. 23:08:15.622 [ Thread-0] 스레드 실행 23:08:17.629 [ Thread-0] 스레드 실행 23:08:19.613 [ main] 작업 중단 지시 interrupt 23:08:19.613 [ Thread-0] 스레드 실행 23:08:19.614 [ main] main 스레드 끝 23:08:19.614 [ Thread-0] 예외 발생 23:08:19.616 [ Thread-0] 작업 끝
미해결
김영한의 실전 자바 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 자바 16부터는 instanceof 를 사용하면서 동시에 변수를 선언할 수 있다고 하셨는데 그럼 if(parent instanceof Child child){child.childMethod()} 여기서 child.childMethod() 는 어떻게 작동이되는건가요? Child child 를 선언하긴했지만 instance 주소값을 대입하지않아서 작동이 되지 않는거 아닌가요?
해결됨
김영한의 실전 자바 - 중급 1편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 영상 에서 try-catch문과 throws으로, 예외를 잡는 것과, 던지는 것을 보았습니다. 현실적 으로는, 이 두 가지 사항이 잘 이해가 가는데, ex) 들수 있는 물건 - try-catch 무거운 물건을 들때 도움을 요청 - throws try-catch : 사람의 힘이나 기계의 힘으로 충분이 해결 가능 throws : 사람의 힘으로 안됨- > 기계의 힘으로도 안됨 -> 포기 코드적 으로는 어떨 때에는 try-cath로 잡고, 어떨 때에는 throws로 던져야 하는지 모르겠습니다. 혹 자바 예외 처리 실습 부분에서 이런 부분을 가르쳐 주시나요? 아니라면 어떨 때 던지고, 어떨 때 던져야 하는지 가르쳐 주시면 감사하겠습니다. 답변 부탁 드립니다.
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
설치 해야하나요?..???
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
영상 대략 28분 30초 부분 출력값을 보면, 'apple banana cherry'이렇게 printf 후에 한칸씩 띄어쓰기가 되어있는데, printf 이후에 무조건 띄어쓰기 한칸을 해줘야하는 건가요?
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
마지막 10초 정도 jsp 안쓴다고 말씀해주셨는데 제가 학교에서 jsp를 배우게 되었습니다 혹시 이 수업이 도움이 별로 되지 않을까요?? 어떻게 학습해야 될지 고민이 됩니다
미해결
[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
처음 시작할때 cd로 이동후 mysql startup.bat 하면 비슷하게 뜨다가 이렇게 다시 돌아오고 시작이 안되는데 뭐가 문제일까요? 에러메세지도 없어서 뭐가 문제인지 모르겠네요 ㅠㅠ