inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

안녕하세요 외부 문제 힌트

미해결

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

안녕하세요 강사님 강사님 강의를 듣고 다른 코테를 풀던 중 아직도 머릿속에서 잊혀지지 않는 문제가 있습니다. 이 문제는 O(n^2)으로 풀어서는 안되는데 제 생각엔 Dynamic Programming 문제인 거 같습니다. 일단 문제는 아래와 같은데 N 이 주어져 이 N은 1~200,000 이고 그 N에 해당하는 숫자의 다른 음의 정수, 0, 양의 정수가 주어집니다 예를 들어 데이터는 아래와 같습니다. 6 0 1 -1 2 -2 3 이렇게 주어졌을 때 내가 한 숫자를 0으로 만들 수 있습니다. 그리고 하나씩 차례대로 더했을 때 0이 가장 많이 나오는 경우의 수 를 구하는 겁니다. 이 경우 제가 3을 0으로 만들면 첫 0 의 카운트 1개 그리고 두번째 1를 더해서 1이고 다시 -1를 더하면 0이 됩니다. 이제 카운트는 2개고 2를 더하면 2고 -2를 더하면 0입니다. 다시 카운트가 3입니다. 그리고 마지막 3을 0으로 만들면 카운트가 4가 됩니다. 그래서 답은 4입니다. 참고로 정렬은 불가합니다. 즉 숫자들이 나열되어 있을 때 그걸 하나씩 다 더해서 0이 최대로 나오는 경우를 세는 건데 이 때 그 수 중 딱 한번 0으로 만들 수 있다는 것입니다. 이문제가 DP 문제인 것 같은데 도저히 어떻게 풀어야 될지 감이 안잡힙니다.. 물론 강의 문제는 아니지만 도움을 주실 수 있을까 해서 요청드립니다.

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

Pre-Rendering 과정에 대해서 질문드립니다!

미해결

한 입 크기로 잘라먹는 Next.js

현재 Next.js Styling 부분까지 시청하였으나, 기존의 사전 렌더링 부분이 이해가 가지 않아 다시 수강한 후 질문드립니다. 일단, 제가 정리한 사전 렌더링 과정은 이와 같습니다. 유저가 브라우저를 통해 서버에게 초기 접속 요청을 보낸다. 서버는 서버 측에서 리엑트 앱을 실행시켜서 모든 리엑트 앱의 컴포넌트를 HTML로 변환한다. 이 변환된 HTML을 브라우저에게 보내준다. 변환된 HTML을 받은 브라우저는 HTML을 화면에 렌더링한다. 이때 유저는 완성된 화면을 볼 수 있다. 이렇게 유저가 요청후에 1차적으로 화면에 요소를 볼 수 있게 되는 시간을 FCP(First Contentful Paint)라고 한다. 그러나 지금은 html만 브라우저에게 보내진 상태이며, 페이지 이동, 버튼 클릭 등등의 상호작용을 수행하는 자바스크립트 코드는 아직 html에 담겨지지 않은 상태이다. 그러므로 유저에게 1차적으로 화면에 렌더링된 이후에 후속으로 서버에서 자바스크립트를 Bundling하여서 브라우저에게 보내준다. 브라우저는 이 번들링된 자바스크립트 파일을 실행한 후에 기존에 1차적으로 화면에 렌더링된 html과 자바스크립트의 로직을 연결하게 된다. 이러한 과정을 hydration이라고 한다. 유저가 초기 요청부터 hydration 까지 종료된 시간을 TTI(Time To Interact)라고 한다. 페이지 이동은 hydration 과정에서 받아온 bundle 자바스크립트 파일을 실행해서 현재 보여지는 컴포넌트를 교체하는 방식으로 CSR과 똑같은 방식으로 처리한다. 결론적으로 제가 궁금한 부분은, 처음에 html로 변환할때 "jsx 부분만" 변환하나요? 아니면 처음에 html로 변환할때 "jsx 부분만" 변환하지 않나요? 처음에 html로 변환할때 next.js의 "모든 Jsx 부분"을 변환하여 브라우저에게 전달하나요? 아니면, 처음에 html로 변환할때 next.js의 모든 Jsx 부분이 아니라, "지금 요청한 페이지의 부분의 jsx만" html 변환하여 브라우저에게 전달하나요? hydration이라는 과정에서는 자바스크립트 파일 뿐만 아니라 "스타일 코드나 다양한 이미지 파일, json 파일"도 전달하여 기존에 쏴준 html에 연결시켜 주는 것인가요? 아니면 지금 요청한 페이지에 연관된 "자바스크립트만" 번들링해서 hydration을 해주는 것인가요? 저의 질문이 조금 장황할 수도 있을 것 같지만 양해부탁드립니다.

  • react
  • typescript
  • next.js
chebread 댓글 2 좋아요 0 조회수 278

03-03 검색지원에 대해

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

검색어를 입력해주세요 검색창이 너무 작아요.. 이런식으로요... 왜이런거져.. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • react
  • python
  • django
  • web-api
  • htmx
haru2175 댓글 2 좋아요 0 조회수 94

검색기능이 안됩니다

미해결

스프링 부트 웹 개발 입문 - 따라하며 배우기

@PostMapping("/order_search") public String doSearch( @RequestParam("start_date") String strStartDate, @RequestParam("end_date") String strEndDate, @RequestParam(value = "coffee", defaultValue = "ALL") String strCoffee, @RequestParam("name") String strName, Model model ){ log.info("strStartDate :"+strStartDate); List<Order_list> list = orderSvcV2.doSearch(strStartDate,strEndDate, strCoffee,strName ); model.addAttribute("list", list); return "/v2/order/order"; } /* 조회하기 */ public List<Order_list> doSearch(String strStartDate, String strEndDate, String strCoffee, String strName) { List<Order_list> list = orderDao.doSearch(strStartDate,strEndDate, strCoffee,strName ); return list; } package hello.sailing.v2.dao; import hello.sailing.v2.vo.Order_list; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface OrderDaoV2 { List<Order_list> doList(); List<Order_list> doSearch(String strStartDate, String strEndDate, String strCoffee, String strName); } package hello.sailing.v2.vo; import lombok.Data; @Data public class Order_list { private String no; private String coffee_no; private String coffee; private String price; private String cust_id; private String name; private String reg_day; } <!-- 검색에 의한 쿼리 --> <select id="doSearch" resultType="hello.sailing.v2.vo.Order_list"> SELECT no, coffee_no, coffee, price, cust_id, name, DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day FROM order_list WHERE 1=1 AND reg_day >= DATE_FORMAT( #{strStartDate},'%Y%m%d') AND reg_day &lt; DATE_ADD(DATE_FORMAT(#{strEndDate},'%Y%m%d'), INTERVAL +1 DAY) <if test="strCoffee != 'ALL'"> AND coffee like CONCAT(#{strCoffee},'%') </if> <if test="strName != 'ALL'"> AND name like CONCAT(#{strName},'%') </if> </select> 화면에서는 조회버튼을 누르면 검색이 안됩니다...코드는 틀린게 없는데 왜 그런거죠?

  • spring
  • mvc
  • spring-boot
mins199600 댓글 3 좋아요 0 조회수 219

(3:56) 현재도 V3,V4가 작동되는지 질문드립니다

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

코드를 똑같이 작성하였음에도 V3,V4가 작동되지 않습니다 버전이 바뀜에 따라 기능이 작동하지 않는건지 아니면 다른 문제인건지 확인해주시면 감사하겠습니다! @Slf4j @Controller public class RequestParamController { @ResponseBody @RequestMapping("request-param-v3") public String requestParamV3( @RequestParam String username, @RequestParam int age) { log.info("username={},age={}", username, age); return "OK"; } } @ResponseBody @RequestMapping("request-param-v4") public String requestParamV4(String username,int age) { log.info("usernameV4={},ageV4={}", username, age); return "OK V4"; // <- @ResponseBody }

  • spring
  • mvc
다라라람쥐 댓글 3 좋아요 0 조회수 328

인터셉터 예외처리

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) log.error("afterCompletion error!!", ex); 여기서 왜 ex에 대한 정보는 출력이 되지 않나요? [질문 내용] 여기에 질문 내용을 남겨주세요.

  • spring
  • mvc
tjrans303 댓글 3 좋아요 0 조회수 242

강의보고 응용하다가 테스트코드 부분 질문이 있습니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

WebMvcTest를 이용한 테스트코드 작성하는데 원하는 대로 값이 안나와요... @Test void store_canNotAccess1() throws Exception { //given //when //then mockMvc.perform(post("/store/somePoint") .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isBadRequest()) .andExpect( result -> { String content = result.getResponse().getContentAsString(); System.out.println(content); }); } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(false); if (session == null || session.getAttribute(SessionConst.LOGIN_PARTNER) == null) { throw new CustomException(ErrorCode.PARTNER_ONLY_ACCESS); } return true; } session에 null이 들어가는 거 까진 디버깅으로 확인을 했는데 jakarta.servlet.ServletException: Request processing failed: reservation.hmw.exception.CustomException: 파트너 회원만 접근할 수 있습니다. 이런식으로 테스트가 실패를 하네요... 어떻게 하면 예외를 잡아서 성공 테스트코드를 짤 수 있을까요?

  • spring
  • mvc
kongminoo 댓글 1 좋아요 0 조회수 138

500에러

해결됨

스프링 부트 웹 개발 입문 - 따라하며 배우기

<!DOCTYPE html> <html lang="ko"> <head> <title>Coffee Order List</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="/css/comm.css"> <link rel="stylesheet" type="text/css" href="/css/coffee.css"> </head> <body> <!-- 헤더 위치 --> <div class="topnav"> <a href="/v2/home">Home</a> <a href="/v2/menu">커피메뉴</a> <a href="/v2/order">주문내역</a> <a href="/v2/member">고객정보</a> </div> <div id="main" style="font-size:large; text-align: center; "> <div id="search" style="height: 150px;padding: 15px; font-size: small; width: 90%; margin-left: auto; margin-right: auto;"> <h3>[ Coffee Order List <span style="font-size:30px;">&#128722;</span> ]</h3> <form name="fm_order" autocomplete="on"> <fieldset> <legend> [검색조건] </legend> <label>등록기간</label><input type="date" id="start_date" name="start_date" min="2020-01-01" max="2023-12-31"> - <input type="date" id="end_date" name="end_date" min="2020-01-01" max="2023-12-31"> &nbsp;&nbsp; <label>메뉴명</label> <input type="text" id="menu" name="menu"> &nbsp;&nbsp; <label>고객명</label> <input type="text" id="name" name="name"> </select> &nbsp;&nbsp;<input type="submit" value="조회" style="width: 80px;height: 30px;font-weight: bold; font-size: medium"> <!-- <a href="javascript:loadDocArray()">test</a> --> <!-- <label>CheckBox : </label><span id="idCheckBox"></span>--> </fieldset> </form> </div> <table class="table"> <thead> <tr class="tr_td"> <th>Chk</th> <th>주문번호</th> <th>커피No</th> <th>메뉴명</th> <th>가격</th> <th>고객ID</th> <th>고객명</th> <th>주문일자</th> </tr> </thead> <tbody id="t_body"> <!--- 데이타 출력 부분 --> <tr th:each="prod : ${list}"> <td><input type="checkbox" name="chkOrderNo" th:value="${prod.getNo()}"></td> <td th:text="${prod.getNo()}">주문번호</td> <td th:text="${prod.getCoffee_no()}">커피No</td> <td th:text="${prod.getCoffee()}">메뉴명</td> <td th:text="${prod.getCust_id()}">고객ID</td> <td th:text="${prod.getName()}">고객명</td> <td th:text="${prod.getReg_day()}">주문일자</td> </tr> </tbody> </table> </div> <!-- 푸터 위치 --> <div class="footer"> <!-- https://www.w3schools.com/html/html_emojis.asp --> <h4>[Footer] <span style="font-size:30px;">&#9973;</span> Spring boot 항해 ~ with Me</h4> </div> </body> </html> 계속 오류가 There was an unexpected error (type=Internal Server Error, status=500). An error happened during template parsing (template: "class path resource [templates/v2/order/order.html]") org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/v2/order/order.html]") at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse (AbstractMarkupTemplateParser.java:24 1) 이렇게 떠요ㅠㅠ

  • spring
  • mvc
  • spring-boot
mins199600 댓글 2 좋아요 0 조회수 196

PaymentConfig에 대해 궁금한게있습니다

미해결

토비의 스프링 6 - 이해와 원리

@Bean public ApiTemplate apiTemplate() { return new ApiTemplate(new HttpClientApiExecutor(), new ErApiExRateExtractor()); } 위 코드에서 new HttpClientApiExecutor(), new ErApiExRateExtractor()를 new 하지않고 exRateProvider()에서 apiTemplate()를 bean으로 만든것처럼 bean으로 생성해서 넣어도 괜찮은건가요???

  • java
  • spring
댓글 2 좋아요 0 조회수 191

1:N 연관관계 매핑 실습쪽 질문

해결됨

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

@OneToMany(cascade = CascadeType.ALL, orphanRemoval=true) @JoinColumn(name = "MEMBER_ID") private List<AddressEntity> addressHistory = new ArrayList<>(); 값타입 매핑인 @ElementCollection을 사용하지 않고 1:N + cascade setting으로 풀어라 라고 하신 부분입니다 36:35초 경입니다. 이때 @JoinColumn(name = "MEMBER_ID")가 아니라 name="ADDRESS_ENTITY_ID"가 되어야 하는거 아닌가요? ADDRESS_ENTITY_ID 는 물론 @Column을 통해서 어드래스엔티티 id쪽에 이름 설정을 하구요 혹시나해서 1:N(비권장 방식) 챕터 강의 부분을 보았는데 반대쪽 테이블 ID명을 속성으로 작성해서... 헷갈리네요

  • java
  • jpa
댓글 1 좋아요 0 조회수 151

중간에 나와있는 1분 미만 수업

미해결

코드로 배우는 React 19 with 스프링부트 API서버

로그인 페이지 설정 다음에 나온 저 두 가지 강의는 어떤 내용인걸까요?? 해당 수업 두 개 때문에 수료기준 미달로 떠서요 ㅠㅠ 확인 부탁드립니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
김정아 댓글 2 좋아요 0 조회수 100

Java언어 기출문제의 변형

해결됨

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

15:42 sumVValues(int n)이 부모한테도 있는데요 super가 생략되어있다고 보는 경우는 어떤 경우인가요?

  • python
  • java
  • c
  • 정보처리기사
SUDAM 댓글 2 좋아요 1 조회수 109

Java언어 기출문제의 변형

해결됨

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

8:51 a.f설명하실때 본인거출력한다고 하시면서 부모 "fc"를 가리키셨어요. 부모 자식이 똑 같이 "fc"라서요 자식의 "fc"인가요? 정확한 정리가 필요합니다.

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

패키지 질문 있습니다

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] SpringConfig를 만들 때 service 패키지에 만든 이유가 있나요? 메인 클래스와 같은 패키지 및 아래 패키지에 존재하면 상관 없나요?

  • java
  • spring
  • mvc
  • spring-boot
bbin0409 댓글 3 좋아요 0 조회수 214

c언어 기출문제의 변형

해결됨

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

30:16 혹시 tfs(str, (가) , (나 )_)문장이 전체 빠지면 swap이 그대로 진행되어 printf( )가 바뀐문자열:!dlroW ,olleH로 나오나요?

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

authenticationEntryPoint 질문입니다.

미해결

스프링 시큐리티 OAuth2

강의 10분22초 강의자료 그림에서 인증이 실패하면 DaoAuthenticationProvider가 BasicAuthenticationEntryPoint를 호출한다고 돼있는데, AuthenticationEntryPoint는 이 과정에서의 실패가 아니라 해당 필터를 지나서 AuthorizationFilter에서 인증이 안된 사용자가 권한으로 인해 예외가 발생했을 경우 호출되는거 아닌가요? UsernameAuthenticationFilter에선 이런식이였던거 같은데 제가 잘못 이해한걸까요? DaoAuthenticationProvider에서 인증이 실패하면 BasicAuthenticationEntryPoint가 아니라 해당 필터에 등록된 FailureHandler가 호출되야할거 같은데 설명 부탁드립니다!

  • java
  • spring
  • spring-boot
  • oauth
에욱 댓글 1 좋아요 0 조회수 167

c언어 기출문제의 변형

해결됨

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

다른 분 질문에 올려주신 답글 해설을 보고도 이해가 안되어 다시 질문 남깁니다 강의 21:30을 보자면 print 3번은 ptr=arr인데 앞에서 바꿔진 print2에서 30으로 변경된 것을 사용하는게 아닌가요? 아니라면 print1에서 변경되었던 21에서 자신은 변경없이 다음 arr[1]을 지시하는 것으로 이해해도 되나요? 그런데 또 이상한게요 print 5번은 print4번이 31을 사용하는 것두 아니고 print2에서 바꿔놓은 30을 사용하는 것두 아니고 정말 정리가 안됩니다

  • python
  • java
  • c
  • 정보처리기사
SUDAM 댓글 3 좋아요 0 조회수 267

mySQL과 fastAPI가 연동이 안됨

미해결

처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]

mysql 과 mysql workbench를 설치하고 접속하려는데 안돼서 고생하고 있습니다. 코드는 아래와 같고 'code' from fastapi import FastAPI, Depends from sqlalchemy.orm import Session from sqlalchemy import Column, Integer, String, create_engine from sqlalchemy.ext.declarative import declarative_base from pydantic import BaseModel DATABASE_URL = "mysql+pymysql://newjeans:@gaius2127@localhost:3306/db_name" engine = create_engine(DATABASE_URL) Base = declarative_base() class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True, index=True) username = Column(String(50), unique=True, index=True) email = Column(String(120)) class UserCreate(BaseModel): username: str email: str def get_db(): db = Session(bind=engine) try: yield db finally: db.close() Base.metadata.create_all(bind=engine) app = FastAPI() @app.get("/") def read_root(): return {"message": "Now, tackle with mySQL"} @app.post("/users/") def create_user(user: UserCreate, db: Session = Depends(get_db)): new_user = User(username=user.username, email=user.email) db.add(new_user) db.commit() db.refresh(new_user) return {"id": new_user.id, "username": new_user.username, "email": new_user.email} 터미널에 메세지는 PS C:\wonnho\fastapi> python -m uvicorn main:app --reload INFO: Will watch for changes in these directories: ['C:\\wonnho\\fastapi'] INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [20636] using StatReload Process SpawnProcess-1: Traceback (most recent call last): File "C:\Python312\Lib\site-packages\pymysql\connections.py", line 644, in connect sock = socket.create_connection( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\socket.py", line 828, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\socket.py", line 963, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno 11003] getaddrinfo failed During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python312\Lib\site-packages\sqlalchemy\engine\base.py", line 3280, in wrap pool_connect return fn() ^^^^ 중간 생략..... File "C:\Python312\Lib\site-packages\pymysql\connections.py", line 358, in init self.connect() File "C:\Python312\Lib\site-packages\pymysql\connections.py", line 711, in connect raise exc sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'gaius2127@localhost' ([Errno 11003] getaddrinfo failed)") (Background on this error at: https://sqlalche.me/e/14/e3q8) 아이디와 패스워드가 문제인거 같은데 뭐가 문제인지 모르겠네요. 륀튼에게 물어보고 제미나이도 물어봤는데 해결이 안되어 힌트라도 얻을려고 질문합니다. 위에 newjeans라는 아이디가 있음.

  • python
  • mvc
  • sqlalchemy
  • FastAPI
  • backend
최원호 댓글 2 좋아요 0 조회수 587

응용해볼려고 세션을 이용한 테스트코드 작성중인데 잘모르겠습니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

강의를 보다 혼자 응용해봤는데 @Mock private HttpServletRequest request; @Mock private HttpSession session; @Test void store_canAccess() throws Exception { // given given(request.getSession(false)).willReturn(session); given(session.getAttribute(SessionConst.LOGIN_PARTNER)) .willReturn(1L); // when // then mockMvc.perform(post("/store/somePoint") .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()); } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(false); if (session == null || session.getAttribute(SessionConst.LOGIN_PARTNER) == null) { throw new CustomException(ErrorCode.PARTNER_ONLY_ACCESS); } return true; } 채찍피티의 도움과 함께 이렇게 짰는데 CustomException이 터져요...혹시 잘못된 부분이 있을까요

  • spring
  • mvc
kongminoo 댓글 2 좋아요 0 조회수 224

비동기 함수로 불러온 데이터를 화면에 렌더링

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

강의 내용을 바탕으로 프로젝트를 하나 만들다 안되는 부분이 있어 질문드립니다. 제가 axios를 이용해서 데이터를 받는 함수를 만들었는데요 const [posts, setPosts] = useState(); const getAllPosts = async () => { try{ const {data} = await axios.get("/api/posts"); console.log("axios - getAllPosts: ", data); setPosts(data); } catch(error){ console.log("getAllPosts 에러: ",error); } } getAllPosts(); 이런 코드를 작성했을때 렌더링할때 axios를 이용해서 받은 데이터를 posts란 state에 저장하고 이를 리스트 형태로 렌더링하려고 하는데 저기서 그냥 getAllPosts(); 를 해버리면 콘솔창에 무한하게 posts 값이 찍히고 화면에는 렌더링이 되지 않더라고요 ㅠ 콘솔창에는 그래도 데이터가 찍히긴 하는데 말이죠..ㅠ getAllPosts메서드는 비동기 함수니깐 컴포넌트들이 렌더링되기 전에 실행되고 컴포넌트들이 렌더링되는거 아닌가요? 그럼 저 메서드를 호출하면 잘 렌더링이 되야하는거 아닌가요??ㅠㅠ 왜 저렇게 콘솔창에는 무한하게 데이터값이 찍히고 컴포넌트에는 왜 렌더링이 되지 않는건가요??

  • javascript
  • react
  • node.js
황지호 댓글 2 좋아요 0 조회수 149

인기 태그

인프런 TOP Writers

주간 인기글