inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

메모리공간에 대한 문의

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 메서드 호출과 값 전달 2 강의 중 질문사항이 있어 문의 드립니다. 지역 변수 선언 시 다른 영역인 점은 이해를 했습니다. 1. 강의 3:32초 부분에서 이름이 동일한 지역변수에 대해 완전히 다른 메모리 공간이 생긴다고 하셨는데, JVM 메모리에 변수 저장 시 각 지역변수마다 늘 공간이 따로 생기는 건가요? 아니면 하나의 stack,heap 공간에 같이 사용 하는 건가요? 감사합니다. 수강자 올림.

  • java
심유석 댓글 1 좋아요 0 조회수 215

yolov5(yolov8) val.py 결과 저장 질문

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요. 강사님. yolov5(yolov8) val.py 결과 저장 질문드립니다. 아래와 같이 val.py 를 수행한 결과를 엑셀에 저장하려면 어떻게 해야 하나요? results = model.val()로 val을 수행하고, print(results.class_result(class_index))로 클래스의 precision, recall, map50, map50-95값을 확인할 수 있었습니다. 하지만 Images, Instances 값은 어디서 가져와야 하는지를 모르겠습니다... 그리고, conf_matrix = results.confusion_matrix.matrix로 cm을 가져왔는데, yolo val 에서 제공하는 box precision, box recall 값과 cm 을 통해 계산한 precision, recall 값에 차이가 있는데, 왜 그런지 모르겠습니다. yolo 문서 상으로는 box precision, recall은 IoU 만 중요시하고, class의 정답 유무는 중요시하지 않다고 하는데, 보고서나 발표자료에는 yolo의 box precision, reall을 평가지표로 삼아야 하는지, 계산한 precision recall 값을 지표로 삼아야하는지 모르겠습니다. 답변 부탁드립니다. 감사합니다.

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
  • validation
  • yolo
이휘성 댓글 2 좋아요 0 조회수 808

13강 DB연결 관련 질문드립니다.

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요. 우선 좋은 강의 만들어 주셔서 감사합니다. 13강을 수강하던 중 오류가 발생하여 질문드립니다. 검색해보니 테이블 명이 user로 생성을 하면 안되는 것 같아 user_table 이라는 명칭으로 테이블을 생성했습니다. CLI로 확인해본 결과 테이블 자체는 정상적으로 생성이 되었습니다. 그런데 컨트롤러와 yml 파일 설정 후 화면에서 데이터를 저장하려고 하니 오류가 발생합니다. spring: database: url: "jdbc:mysql://localhost/library" username: "root" password: "" drive-class-name: com.mysql.cj.jdbc.Driver package com.group.libraryapp.controller.User; import com.group.libraryapp.domain.user.User; import com.group.libraryapp.dto.User.request.UserCreateRequest; import com.group.libraryapp.dto.User.response.UserResponse; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @RestController public class UserController { private final JdbcTemplate jdbcTemplate; public UserController(JdbcTemplate jdbcTemplate){ this.jdbcTemplate = jdbcTemplate; } private final List<User> users = new ArrayList<>(); @PostMapping("/user") public void saveUser(@RequestBody UserCreateRequest request){ String sql = "INSERT INTO user_table (name, age) VALUES (?,?)"; jdbcTemplate.update(sql, request.getName(), request.getAge()); } @GetMapping("/user") public List<UserResponse> getUsers() { String sql = "SELECT * FROM user_table"; //람다로 변경 알트+엔터 return jdbcTemplate.query(sql, (rs, rowNum) -> { long id = rs.getLong("id"); String name = rs.getString("name"); int age = rs.getInt("age"); return new UserResponse(id, name, age); }); } } INSERT INTO user_table (name, age) VALUES (?,?) [42104-214]] with root cause org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USER_TABLE" not found (this database is empty); SQL statement: INSERT INTO user_table (name, age) VALUES (?,?) [42104-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:502) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get(DbException.java:223) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get(DbException.java:199) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8385) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8369) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.readTableOrView(Parser.java:8358) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.readTableOrView(Parser.java:8328) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parseInsert(Parser.java:1632) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parsePrepared(Parser.java:814) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parse(Parser.java:689) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parse(Parser.java:661) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.prepareCommand(Parser.java:569) ~[h2-2.1.214.jar:2.1.214] 위와 같이 데이터베이스가 비었다고 하고 테이블을 찾지 못하는데 제가 어느 부분을 확인해야 하는지 궁금해 질문드립니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
지영 댓글 2 좋아요 1 조회수 238

8강 예제2 아무리 생각해도 이해가 안됩니다...

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

다른 풀이 해주신거도 읽어봤습니다만. 포문에서 if문 한 덩이 안에 첫 조건식의 갯수가 2의배수 (1012)+3의배수 (674)-중복숫자(337) 1349가 앞의 항 참인 경우이고, 뒷항의 조건식은 !가 붙어서 5의배수 (404)+6의배수 (337)-중복숫자 30의 배수(67) 해서 뒷 항의 참인경우는 674 하지만 !가 붙어서 안의 항의 연상결과가 거짓인경우가 되어야 카운팅이 되기 때문에 2024-674 = 1350 ..? 이런식으로 푸는거 아닌가요??? 어렵네요 ......

  • python
  • java
  • c
  • 정보처리기사
pmg4289 댓글 2 좋아요 0 조회수 403

OMDb API Url

해결됨

파이썬 Streamlit 활용한 웹 자동화 업무, 데이터 검색 및 시각화

OMDb API url 주소 작성방법 알려주세요. API key를 발급 받았는데 유효한 key가 아니라고 합니다.

  • python
  • mongodb
  • streamlit
Coding Basic 댓글 1 좋아요 0 조회수 223

연산자와 기출문제 Java 23년 2회문제

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

동전갯수 문제인데요 조건에 최소한의 코드로 답안을 작성하라 해서요~ 제가 m / 1000 (m % 1000) / 500 (m % 500) / 100 (m % 100) / 10 이렇게 풀었는데 혹~~시 () 이거 괄호 적으면 오답처리하나요..?

  • python
  • java
  • c
  • 정보처리기사
신승주 댓글 1 좋아요 0 조회수 251

min cost climbing stairs 완전탐색/dp 후반부에서 질문있습니다~

해결됨

코딩테스트 [ ALL IN ONE ]

19:00쯤에서 보면 memo 정의 하실때 memo = [-1]*n으로 초기화하시고 시작하시는데 n+1을 곱해줘야하지 top을 포함한 개숫가 초기화 되는게 아닌가 싶어서 질문드립니다 혹시 제가 놓친게 있다면 말씀부탁드려요 ㅠㅠ

  • python
  • 코딩-테스트
  • 알고리즘
kajinori 댓글 1 좋아요 2 조회수 233

예제7번 질문입니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

예제7번을 풀면 -1-2+9-4+25-6+49-8+81-10 = 133 아닌가요. 제가 뭘 잘못이해하고 있는걸까요? ㅠㅠ

  • python
  • java
  • c
  • 정보처리기사
Electric Bass 댓글 1 좋아요 0 조회수 245

너무 옛날 내용이네요

미해결

JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)

JVM이 웹 브라우저에 플러그인으로 내장되어있다는 내용이 있던데 이건 좀 수정했으면 좋겠네요.그리고 JSP 파일->서블릿->클래스 파일 변환 과정도 설명이 조금 난잡합니다.

  • java
  • jsp
Hugh Park 댓글 1 좋아요 1 조회수 347

강의자료 요청

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요. 강의자료 요청 드립니다. zangchoi@nate.com

  • python
최찬현 댓글 1 좋아요 0 조회수 121

답은 맞는거같은데 틀렸어요

미해결

입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]

이 문제 아래처럼은 안되나요? 답은 맞는데 백준에서 틀리네요 from collections import defaultdict n_list=defaultdict(int) a,b=map(int,input().split()) answer=0 list_f=[] for i in range(0,a): name=input() n_list[name]+=1 for i in range(0,b): name=input() if name in n_list: answer+=1 list_f.append(name) print(answer) sorted(list_f) for i in list_f: print(i)

  • python
  • 코딩-테스트
kindjin12 댓글 1 좋아요 0 조회수 225

클래스 레벨 접근 제어자에 protected가 사용할수 없는 이유가 궁금합니다

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 클래스 레벨 접근 제어자에 protected가 사용할수 없는 이유가 궁금합니다

  • java
  • 객체지향
TH 댓글 1 좋아요 0 조회수 328

UML 클래스다이어그램 화살표 의미

미해결

김영한의 실전 자바 - 중급 2편

컬렉션 프레임워크 - Set 강의 중 UML 클래스 다이어그램에 관해 궁금증이 생겼습니다. HashSet , TreeSet , LinkedHashSet 즉 Set의 주요 구현체들을 설명하셨을때, 여기서 점선으로 된것과 실선으로 된것의 차이점은 무엇일까요?? 인터페이스인 Set의구현체로 HashSet , TreeSet 등이 있다는 것은 이해가 가지만, LinkedHashSet은 왜 실선으로 표시하는 걸까요?? 이 두개의 차이점에 대해 정확히 알고싶습니다!

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
이시현 댓글 2 좋아요 0 조회수 1130

ReentrantLock.lockInterruptibly() 질문

미해결

자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]

먼저 강의 잘 듣고 있습니다. 강의 자료 202쪽에 보면 아래 그림과 같이 ReentrantLock.lockInterruptibly() 예제 코드가 작성되어 있는데요. 이 코드를 강의 소스코드 (LockInterruptiblyExample.java) 에 적용해 보았습니다. 적용한 코드는 아래와 같습니다. public class LockInterruptiblyExample { public static void main(String[] args) { Lock lock = new ReentrantLock(); Thread thread1 = new Thread(() -> { try { lock.lockInterruptibly(); // 락을 시도하며, 인터럽트가 들어오면 중단 System.out.println("스레드 1이 락을 획득했습니다"); } catch (InterruptedException e) { System.out.println("스레드 1이 인터럽트를 받았습니다"); } finally { lock.unlock(); System.out.println("스레드 1이 락을 해제했습니다"); } }); Thread thread2 = new Thread(() -> { try { lock.lockInterruptibly(); // 락을 시도하며, 인터럽트가 들어오면 중단 try { System.out.println("스레드 2가 락을 획득했습니다"); } finally { lock.unlock(); System.out.println("스레드 2가 락을 해제했습니다"); } } catch (InterruptedException e) { System.out.println("스레드 2가 인터럽트를 받았습니다"); } }); thread1.start(); thread2.start(); thread1.interrupt(); // thread2.interrupt(); try { Thread.sleep(500); thread1.join(); thread2.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } 이 코드를 실행했을 때, 아래 이미지와 같이 IllegalMonitorStateException 이 발생했는데요. 아마 try ~ catch ~ finally 블록에 의한 문제가 아닐까 싶습니다. 이 부분이 어떻게 동작하여 오류가 발생한 건지 궁금한데, 답변 해주시면 감사하겠습니다.

  • java
  • 동시성
  • multithread
  • synchronisation
고래밥 댓글 1 좋아요 0 조회수 330

이 풀이방법 혹시 틀렸을까요?

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

public class Number4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int count = scanner.nextInt(); List<String> array = new ArrayList<>(); for (int i = 0; i <= count; i++) { array.add(scanner.nextLine()); } for (String str : array) { Deque<Character> stack = new ArrayDeque<>(); for ( char c : str.toCharArray()){ stack.push(c); } while (!stack.isEmpty()){ System.out.print(stack.pop()); } System.out.println(); } } } 위 풀이방법처럼 풀었는데 이게 컴파일 에러가 나는데 혹시 이 풀이방법이 문제점을 가지고 있을까요?

  • java
  • 코딩-테스트
Am1217 댓글 1 좋아요 0 조회수 210

안녕하세요^^ 오늘 수강신청 했습니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

혹시 강의해주시는 화면의 별도 pdf자료는없는건가요?? 출력해서 필기하면서 강의를 들으면 좀 더 효율적일거 같아서 문의드립니다.

  • python
  • java
  • c
  • 정보처리기사
범댕이 댓글 2 좋아요 0 조회수 334

변동성이 너무 크면, 통계적으로 접근하기 어려운 데이터가 되는 이유

해결됨

파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석

안녕하세요 수업 너무 잘 듣고 있습니다. 수업중에 "변동성이 너무 크면, 통계적으로 접근하기 어려운 데이터가 된다"는 말씀을 주셨는데 왜 그런지 직관적으로 이해가 되지 않아서 질문드립니다. 변동성이 너무 큰 상황에서도 많은 반복을 하면 예상하는 margin을 기대할 수 있는 것이 아닌가 싶은 생각이 들기도 합니다. 설명 기다리겠습니다. 감사합니다.

  • python
  • 머신러닝
  • pandas
  • 객체지향
  • 퀀트
  • 병렬-처리
  • 통계
Miles 댓글 1 좋아요 1 조회수 242

HashMap 질문

미해결

김영한의 실전 자바 - 중급 2편

안녕하세요. Set<Map.Entry<String, Integer>> 이게 좀 궁금해서 살펴보니 Set<E> 제네릭으로 받게끔 되어 있고 그럼 여기서 Map.Entry<String, Integer> 이게 하나의 타입처럼 사용이 된다는 건데 Map 클래스에서 Entry는 interface로 되어 있어서요. Map.Entry라고 썼다는거는 Entry도 인터페이스(클래스)니까 중첩 static class 처럼 쓰였다는건데 static도 안 붙어 있고 관련된 구현체도 Map 클래스 내부에는 없는 거 같아서요. 추가 설명 부탁드립니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
인프린 댓글 1 좋아요 0 조회수 216

영속성 컨텍스트 프록시 오류 질문

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 컨트롤러 @PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PreAuthorize("isAuthenticated()") public ResponseEntity<Long> createWalkInvitation( @RequestPart("walkInvitaionCreateRequestDto") WalkInvitaionCreateRequestDto request, @RequestPart("uploadPhotos") MultipartFile[] multipartFiles, @AuthenticationPrincipal PrincipalDetails principalDetails){ Long savedId = walkInvitationService.createWalkInvitation(request, multipartFiles, principalDetails); return ResponseEntity.ok().body(savedId); } 서비스 계층 public Long createWalkInvitation(WalkInvitaionCreateRequestDto request, MultipartFile[] multipartFiles, PrincipalDetails principalDetails) { Member member = principalDetails.getMember(); WalkInvitation walkInvitation = WalkInvitation.builder() .writer(member) .title(request.getTitle()) .content(request.getContent()) .latitude(request.getLatitude()) .longitude(request.getLongitude()) .detailedLocation(request.getDetailedLocation()) .walkStartDateTime(request.getWalkStartDateTime()) .walkingStatus("산책 대기 중") .build(); // member.getWalkInvitations().add(walkInvitation); List<Photo> photos = photoService.savePhotosToWalkInvitation(multipartFiles, walkInvitation); walkInvitation.addPhotos(photos); walkInvitationRepository.save(walkInvitation); return walkInvitation.getId(); 위 주석처리 한 부분// member.getWalkInvitations().add(walkInvitation)에서 failed to lazily initialize a collection of role 가 발생합니다. 오류가 발생하는 이유는 JWT 토큰 방식을 구현한 스프핑 시큐리티의 인증/인가 과정에서 해당 컨트롤러에 도달하기전에 필터에서 이미 SecurityContext에 principalDetails를 authentication 하면서 principalDetails라는 객체에 member가 저장되어 있는 상태입니다. 그래서 이미 서비스 계층에서 위 코드에 Member member = principalDetails.getMember();를 호출하는 시점에는 getMember 호출 시 DB에 접근해서 값을 가져오는 것이 아닌, 순수한 객체 상태의 member를 가져오기 때문에 영속성 컨텍스트에 member가 저장되어 있지 않기에 프록시 오류가 발생하는 것 같습니다(로그로 DB에 접근하지 않는 것 확인) 이러한 문제를 해결하기 위해서는 principalDetails.getMember()로 얻은 멤버정보로 DB에 저장된 Member를 다시 가져와서 영속성 컨텍스트에 저장시키는 방식을 택해야 할까요? 스프핑 시큐리티의 인증/인가 과정(JwtAuthorizationFilter)에서 accesstoken을 바탕으로 이미 member를 db에서 찾아오는 쿼리문이 한번 나갔는데, 또 호출하려니 조금 비효율적인 것 같아서 고민이 됩니다. 다른 방법이 있을까요?

  • java
  • jpa
스물다섯컷의흑백필름 댓글 2 좋아요 0 조회수 250

API 호출에 관해 질문드립니다 (내용보충)

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요. 현재 Rest Api로 백엔드 개발을 하고, View는 Html thymeleaf를 이용해 구현을 하려고 합니다. 리액트 등의 프레임워크를 사용하지 않는다면, @GetMapping으로 View단을 불러올 때, @RestController가 아닌 @Controller에서 불러와야하는데 그렇다면 @RestController와 @Controller 둘 다 따로 만들어야 하는지 궁금합니다. 예를 들어, 공지사항 전체 조회의 @RestController의 코드가 // // 공지사항 전체 조회 // @GetMapping("/ypjs/board/notice/notices") // public Result findAll(@RequestParam int offset, @RequestParam int limit) { // List<Notice> noticeList = noticeService.findAll(offset,limit); // List<NoticeDto.NoticeApiDto> result = noticeList.stream() // .map(n -> new NoticeDto.NoticeApiDto(n.getNoticeId(), n.getNoticeTitle(), n.getNoticeContent(), // n.getNoticeCnt(), n.getNoticeDate(), n.getMember().getNickname())) // .collect(Collectors.toList()); // return new Result(result); // } 라면, 공지사항 전체 조회의 @Controller의 코드는 이렇게 구현하면 되는건가요? + 만약 이게 맞다면 @RestController의 GetMapping URL과 @Controller의 GetMapping URL이 겹치면 실행이 안되므로, @RestController의 URL을 /api/ypjs/board/notice/notices로 변경하면 될까요? 그렇다면, 제 프로젝트에서 @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 남겨놔도 되는건지 궁금합니다.. 그리고 View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 쓰이는 방법인지가 궁금합니다. ---------------------------------------------------------------------------------------------------------------- (질문 요약) 1. 리액트 같은 프레임워크 없이 프로젝트를 Rest Api로 개발할 때, 화면만을 위한 @Controller 클래스를 따로 만들어도 되나요? 만약 이 경우에 GetMapping URL이 겹치면 안되니까 @RestController의 URL엔 /api/를 추가해서 겹치지 않게 하는 식으로 하나요? 2. 다른 부분은 rest api로 개발하고, View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 사용하는 방법인가요? 3. 만약 화면을 위해 @Controller 클래스를 만드는게 좋은 방법이라면, @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 활용할 방법이 있을까요? + 남겨놔도 되는건가요? 화면을 따로 개발하는 것이 아니라, 저처럼 같이 개발하는 경우 Rest api 개발을 하는것이 의미가 있 는지 궁금합니다. Rest api 개발을 경험해보고 연습해보고싶어 백엔드단을 Rest api로 먼저 개발해서 완성하고, 프론트엔드는 프레임워크를 다루지 못해 html을 이용해 화면을 만들고 연결하는 식으로 했다!는 것이 Rest api로 프로젝트를 만드는 것에 대한 충분한 설명이 될 수 있을까요?

  • java
  • spring
  • spring-boot
  • jpa
양성준 댓글 1 좋아요 1 조회수 240

인기 태그

인프런 TOP Writers

주간 인기글