묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
주문 할인 도매인 개발 강의 중 질문이있어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]생성자를 만드는 이유는 뭔가요??
-
미해결스프링 핵심 원리 - 기본편
의존관계주입에 관하여 질문이 있씁니다!
스프링 부트를 사용하여 프로젝트를 진행한 경험이 있습니다. 스프링 이론에 대한 전반적인 이해가 부족하여 이번 강의를 듣게 되었습니다.스프링 부트에서 프로젝트를 진행할 때는 구현체와 인터페이스를 구분하여 클래스를 생성하지 않고 구현체만 생성해서 진행했습니다. 따라서 MemberService를 직접 MemberController에서 호출해서 사용했습니다. 이 때, new를 하지 않고 바로 메서드 사용이 가능했습니다. 이는 스프링 부트가 @Autowired를 하지 않아도 자동으로 빈등록을 해줘서 가능한건지 궁금합니다.또한 매 프로젝트를 진행할 때마다 구현체와 인터페이스를 분리하여 진행하는 것이 좋은 개발인지도 궁금합니다!마지막으로 구현체와 인터페이스를 하나의 패키지에 관리하는 것인지 아니면 구현체는 구현체끼리 인터페이스는 인터페이스끼리 관리하는 것인지도 궁금합니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
생성자 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]public FrontControllerServletV5() { initHandlerMappingMap(); initHandlerAdapters(); }기본 생성자로 두개의 메서드를 실행하고있는데FrontControllerServletV5.java 같은 경우에는따로 인스턴스화 하지않고있는데 서블릿이라서 매핑해준 url패턴으로 접속하면 알아서 인스턴스화되면서 기본생성자가 실행되는건가요?
-
해결됨스프링 핵심 원리 - 기본편
AutoAppConfigTest에 관한 질문 입니다.
강의에서 MemberService가 아닌 구현체인 MemberServiceImpl을 빈으로 등록한 뒤에getBean을 통해서 호출할 때, 구현체가 아닌 인터페이스 타입으로도 검색이 되는 이유가 다형성 때문일까요?그리고 인터페이스의 이름으로 빈이 호출이 안되는 이유는 인터페이스를 직접 빈에 등록하지 않았기 때문으로 이해를 하면 될까요?아래는 강의관련 코드 입니다. 설정영역코드는 생략 하였습니다.package hello.core.scan; import hello.core.AutoAppConfig; import hello.core.member.MemberService; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import static org.assertj.core.api.Assertions.*; public class AutoAppConfigTest { @Test void basicScan() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); MemberService memberService = ac.getBean(MemberService.class); assertThat(memberService).isInstanceOf(MemberService.class); } } package hello.core.member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } //테스트 용도 public MemberRepository getMemberRepository() { return memberRepository; } }package hello.core.member; import org.springframework.stereotype.Component; public interface MemberService { void join(Member member); Member findMember(Long memberId); }
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
MemberRepositoryV0를 try-with-resources를 사용해 refactoring 해봤습니다..
자바와 관련된 것이라 조금 조심스럽긴 하지만, 해당 클래스를 아래와 같이 try-with-resources를 사용해 refactoring 해 보았습니다.테스트 코드는 잘 돌아가는데, 아래와 같이 변경해도 상관없나해서 질문 남깁니다!감사합니다!package hello.jdbc.repository; import hello.jdbc.connection.DBConnectionUtil; import hello.jdbc.domain.Member; import lombok.extern.slf4j.Slf4j; import java.sql.*; import java.util.NoSuchElementException; /** * JDBC - DriverManager 사용 */ @Slf4j public class MemberRepositoryV0 { // jdbc를 이용해 member 객체 저장 public Member save(Member member) throws SQLException { String sql = "insert into member(member_id, money) values (?,?)"; try (Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setString(1, member.getMemberId()); pstmt.setInt(2, member.getMoney()); pstmt.executeUpdate(); return member; } catch (SQLException e) { log.error("db error", e); throw e; } catch (NullPointerException e) { log.info("NPE 발생", e); } return member; } public Member findById(String memberId) throws SQLException { String sql = "select * from member where member_id = ?"; try (Connection conn = getConnection(); PreparedStatement pstmt = createPreparedStatement(sql, conn, memberId); ResultSet rs = pstmt.executeQuery()) { if (rs.next()) { Member member = new Member(); member.setMemberId(rs.getString("member_id")); member.setMoney(rs.getInt("money")); return member; } else { throw new NoSuchElementException("member not found memberId=" + memberId); } } catch (SQLException e) { log.error("db error", e); throw e; } catch (NullPointerException e) { log.info("NPE 발생", e); } return new Member(); } private PreparedStatement createPreparedStatement(String sql, Connection conn, String memberId) throws SQLException { PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, memberId); return pstmt; } public void update(String memberId, int money) throws SQLException { String sql = "update member set money=? where member_id=?"; try (Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setInt(1, money); pstmt.setString(2, memberId); int resultSize = pstmt.executeUpdate(); log.info("resultSize={}", resultSize); } catch (SQLException e) { log.error("db error", e); throw e; } catch (NullPointerException e) { log.info("NPE 발생", e); } } public void delete(String memberId) throws SQLException { String sql = "delete from member where member_id = ?"; try (Connection connection = getConnection(); PreparedStatement preparedStatement = connection.prepareStatement(sql)) { preparedStatement.setString(1, memberId); int resultSize = preparedStatement.executeUpdate(); log.info("resultSize={}", resultSize); } catch (SQLException e) { log.error("db error", e); throw e; } catch (NullPointerException e) { log.info("NPE 발생", e); } } private static Connection getConnection() { return DBConnectionUtil.getConnection(); } }
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
Paging 처리 일반 Spring Boot 사용, Tomcat 실행 시 오류
오류 메세지는Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myPaginationManager' defined in file [C:\Users\Administrator\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-common.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type [java.util.LinkedHashMap] to required type [java.util.Map] for property 'rendererType'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [egov.lib.pagination.ImagePaginationRenderer] to required type [egov.lib.pagination.PaginationRenderer] for property 'rendererType[image]': no matching editors or conversion strategy found2023-03-17 15:06:07,932 ERROR [org.springframework.web.context.ContextLoader] Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myPaginationManager' defined in file [C:\Users\Administrator\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-common.xml]: Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type [java.util.LinkedHashMap] to required type [java.util.Map] for property 'rendererType'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [egov.lib.pagination.ImagePaginationRenderer] to required type [egov.lib.pagination.PaginationRenderer] for property 'rendererType[image]': no matching editors or conversion strategy found 이렇게 나오는데, 문제가 무엇일까요 ㅠㅠ 아무리 찾아도 잘 모르겠어서...현재 context-common.xml 에는 <!-- 타환경사용 --> <!-- 페이징 처리 빈 --> <bean id="textRenderer" class="egov.lib.pagination.DefaultPaginationRenderer" /> <bean id="imageRenderer" class="egov.lib.pagination.ImagePaginationRenderer" /> <bean id="myPaginationManager" class="egov.lib.pagination.DefaultPaginationManager"> <property name="rendererType"> <map> <entry key="image" value-ref="imageRenderer" /> <entry key="text" value-ref="textRenderer" /> </map> </property> </bean> 이렇게 등록하였고, 나머지도 강의를 따라서 잘 작성한것 같은데 문제를 모르겠네요 ㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
외부 함수에 대해 aop 적용 가능할까요?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]제가 작성한 함수내에서 System.out.println 을 호출하는 경우, 제가 작성한 함수가 아닌 System.out.println 호출 전후에 시간측정해서 System.out.println 호출하는데 시간이 얼마나 걸리는지도 AOP를 이용해서 측정할 수 있을까요?실제 코드에서는 제가 개발하는 코드내에서, 다른 개발자가 배포한 lib 함수를 호출하는데, 그 외부 library 함수를 호출하는데 얼마의 시간이 걸리는지 알고 싶어서요. (현재 작성된 코드를 수정하지 않고 AOP설정만으로 외부 함수들에 대한 joinPoint 를 잡을 수 있는지 궁금합니다)감사합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 목록 수정 시 상품명, 가격, 수량이 누락됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]어디가 잘못된 걸까요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 -> Mysql 전환
안녕하세요. 강의를 듣고 h2 데이터베이스에서 mysql로 전환해보는 연습 중에 계속 오류가 발생해서 질문 남겨요.인텔리제이에 mysql-connector-j를 라이브러리로 설치를 했고 yml에 연결정보도 다 입력했는데,Execution failed for task ':compileJava'.> Could not resolve all files for configuration ':compileClasspath'. > Could not find mysql:mysql-connector-java:. Required by: project : 해당 에러가 계속해서 나네요... compileClasspath도 열어서 보니 mysql-connector-java가 설치(?)되어있는 것을 확인했는데 도대체 어디서 나는 에러인지 모르겠어서 도움을 요청하게 됐습니다ㅠㅠ
-
미해결스프링 시큐리티 OAuth2
OAuth2 클라이언트를 어디에 구성하는 것이 좋은지 고민이 되어 질문드립니다
안녕하세요 정수원님~!현재 front가 react로 되어있다보니 OAuth2 클라이언트 서버를 node 서버냐(프론트에서 처리) spring boot 서버(백엔드에서 처리)냐에서 고민이 되는데 보통 이럴경우 OAuth2 클라이언트 서버를 어디에 구성하는게 좋을지 궁금합니다~!
-
미해결스프링부트 시큐리티 & JWT 강의
SecurityConfig 작성할때 새로운 설정방법으로 해도 안돼요
.authorizeRequests()가 계속 빨간줄로 되는데 어떻게 해야하죠 ...?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
generated 안에 Q 모델들이 생성이 되지 않습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.말 그대로 generated 까지는 생성되지만 그 안에 Q 모델들이 생성되지 않습니다.버전에 맞게 여러 라이브러리를 적용해보고, generated 디렉토리를 소스로 인식하게도 해봤지만 아직 해결되지 않았습니다. 어떻게 하면 좋을까요?아래는 제 build.gradle 입니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
result부분에서 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]오류가 떠서 저는 static 을 넣어라고 되어 있는데 그대로 넣어서 해야하나요 아니면 어떤 부분이 잘못 되었길래 이러는 걸까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderService.findOrders() 결과인 orders의 order가 orderItems를 갖지 않습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]주문하기에서 HTML 오류가 떠서 같은 오류의 글들을 찾아보다가 order.orderList.html의 <tr th:each="item : ${orders}"> <td th:text="${item.id}"></td> <td th:text="${item.member.name}"></td> <td th:text="${item.orderItems[0].item.name}"></td> <td th:text="${item.orderItems[0].orderPrice}"></td> <td th:text="${item.orderItems[0].count}"></td> <td th:text="${item.status}"></td> <td th:text="${item.orderDate}"></td> <td> <a th:if="${item.status.name() == 'ORDER'}" href="#" th:href="'javascript:cancel('+${item.id}+')'" class="btn btn-danger">CANCEL</a> </td> </tr>부분에서 item.orderItems[0] 값이 있는지 확인하라는 글을 보고 OrderService.findOrders()의 결과를 디버깅하면서 확인했습니다.같은 오류의 다른 글들 모두 확인했고, 해당 사항 없었으며, 디버깅 시 DB에는 orderItem의 값이 정상적으로 저장되는 것을 확인했습니다.혹시나해서 OrderService.findOrders()의 내부 구현을 OrderRepository.findAllByString()과 OrderRepository.findAllByCriteria() 모두 해보았지만, 결론적으로 이 두 메서드가 반환한 orders가 orderItems을 갖지 못하는 것을 확인했습니다.현재 야생형 커리큘럼 중이어서 위 두 메서드의 코드를 분석하기에 어려움을 겪어 질문 올립니다. 아래는 OrderRepository 소스코드입니다.package jpabook.jpashop.repository; import jakarta.persistence.EntityManager; import jakarta.persistence.TypedQuery; import jakarta.persistence.criteria.CriteriaBuilder; import jakarta.persistence.criteria.CriteriaQuery; import jakarta.persistence.criteria.Join; import jakarta.persistence.criteria.JoinType; import jakarta.persistence.criteria.Predicate; import jakarta.persistence.criteria.Root; import java.util.ArrayList; import java.util.List; import jpabook.jpashop.domain.Member; import jpabook.jpashop.domain.Order; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import org.springframework.util.StringUtils; @Repository @RequiredArgsConstructor public class OrderRepository { private final EntityManager em; public void save(Order order) { em.persist(order); } public Order findOne(Long id) { return em.find(Order.class, id); } public List<Order> findAllByString(OrderSearch orderSearch) { //language=JPAQL String jpql = "select o From Order o join o.member m"; boolean isFirstCondition = true; //주문 상태 검색 if (orderSearch.getOrderStatus() != null) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " o.status = :status"; } //회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " m.name like :name"; } TypedQuery<Order> query = em.createQuery(jpql, Order.class) .setMaxResults(1000); //최대 1000건 if (orderSearch.getOrderStatus() != null) { query = query.setParameter("status", orderSearch.getOrderStatus()); } if (StringUtils.hasText(orderSearch.getMemberName())) { query = query.setParameter("name", orderSearch.getMemberName()); } List<Order> orders = query.getResultList(); return orders; } public List<Order> findAllByCriteria(OrderSearch orderSearch) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Order> cq = cb.createQuery(Order.class); Root<Order> o = cq.from(Order.class); Join<Order, Member> m = o.join("member", JoinType.INNER); //회원과 조인 List<Predicate> criteria = new ArrayList<>(); //주문 상태 검색 if (orderSearch.getOrderStatus() != null) { Predicate status = cb.equal(o.get("status"), orderSearch.getOrderStatus()); criteria.add(status); } //회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { Predicate name = cb.like(m.<String>get("name"), "%" + orderSearch.getMemberName() + "%"); criteria.add(name); } cq.where(cb.and(criteria.toArray(new Predicate[criteria.size()]))); TypedQuery<Order> query = em.createQuery(cq).setMaxResults(1000); //최대 1000건 List<Order> orders = query.getResultList(); return orders; } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Test부분에서 실행이 안돼서 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이렇게 뜨는데 어떻게 해야하는 부분인가요? 처음 실행했을때는 이 부분에서 return null이 없어서 오류가 떴는데 강사님과 다르게 return null을 넣어야 하는것도 잘 모르겠습니다
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
redirect 관련 질문
강의에서는 save함수에서 에러가 발생하면 return "members/addMemberForm"; 로하였는데 왜 redirect를 안사용한지 궁금합니다. save함수 자체는 redirect를 사용했는데 redirect를 언제사용해야하는지가 궁금합니다!
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
h2데이터베이스 설정 강의 2분50 초 부분 이해가 안갑니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.~/test.mv.db 파일 생성 확인 이걸 터미널상태에서확인하는 부분이 안되네요.. 이상태에서 즉 터미널에서 h2.bat 실행상태에서 타자를 쳐도 먹지 않는데요.. 강사님은보면..터미널에서 명령어 ll 치고 나서 ls -arlth치는데 전 안되는데 어떻게 하는거에요.. 강사님 터미널은 경로가 갑자기 ~ 로 변해있는것도 이상하고 맥이라 다른가 싶기도 하고...도대체 제터미널 경로는 C:\study\h2\h2\bin>h2.bat 인데...이상태에서 ~/test.mv.db 파일생성확인을 터미널에서 어떻게 하는거에요???
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
File is read only 해결을 못하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]자물쇠 해결도 해보았고, File - File properties- Make file Writable도 해보았으나 해결이 안됩니다
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
jdbcTemplate, mybatis
안녕하세요 mybatis 대신 jdbcTemplate을 사용하는 이유가 궁금합니다. 밑의 질문 답변에서 Jpa의 @Query 사용하는 것 말고 Dto를 변환하는 과정에서 JdbcTemplate의 편리한 기능이 있다고 말씀하셨는데요.그런데 MyBatis 도 편리하게 Dto로 결과 반환을 할 수 있다는 점에서 마찬가지 아닌가요? MyBatis는 Mapper 매핑 등 여러가지 설정이 필요한 반면에, JdbcTemplate은 스프링 부트 기본 라이브러리에 포함되어 있고 간편해서 그런가요? 감사합니다.
-
미해결스프링 부트 - 핵심 원리와 활용
Actuator를 Auto scaling 구조에서 Prometheus 모니터링 지표 수집은 어떻게 되나요?
안녕하세요 Actuator Prometheus 공부를 하면서 의문이 하나 생겨 질문 드립니다! 1개의 서버의 Spring application에서 Prometheus 수집하는게 아닌 분산환경에서 actuator를 Prometheus에 연동해도 Grafana에 수집 되는 metric이 알맞은 지표로 수집되는지 궁금합니다! 만약 아니라면 어떤식으로 구성해야되는지 궁금합니다.