묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
ref와 computed의 차이를 잘 모르겠어요
안녕하세요.이번 강의 실습하다가 수업 내용처럼 preview가 업데이트 안되길래 원인을 찾다보니 아래 부분이 문제였는데요.// 강사님 코드 const url = computed(() => `/posts/${props.id}`); const { error, loading, data: post } = useAxios(url);// 제 코드 const url = ref(`/posts/${props.id}`); const { error, loading, data: post } = useAxios(url);지금까지 진행하고 너무 기초적인 질문인 것 같긴한데 computed는 반응형으로 동작하고 ref는 동작하지 않는 이유를 잘 모르겠습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
포스트맨 styled component 서버사이드 렌더링이 잘 이루어졌는지 궁금합니다!
안녕하세요 제로초님! 항상 강의 잘 보고 있고 질문에 답해주셔서 감사합니다!섹션5 Next.js 서버사이드렌더링 CSS 서버사이드렌더링 강의 끝까지 진행한 수강생 입니다!해당 강의 영상의 2분 45초에서 styled component 진짜로 서버사이드 렌더링 하려면포스트맨에서 게시글에 대한 주소 입력 후 send를 눌렀을 때 화면에 styled component가 떠야 한다고 말씀하셨습니다!send 후 아래의 화면과 같이 뜨는데 CSS 서버사이드 렌더링이 제대로 된 게 맞는 건지 궁금합니다!++++++추가 질문입니다..!<NextScript /> 위에 <script src="https://polyfill.io/v3/polyfill.min.js?......" /> 처럼 코드를 넣지 않아도 되나요?아래 질문 글의 작성자님처럼 io부분을 넣지 않아도 코드가 정상적으로 작동되기에 질문 드립니다!https://www.inflearn.com/course/lecture?courseSlug=%EB%85%B8%EB%93%9C%EB%B2%84%EB%93%9C-%EB%A6%AC%EC%95%A1%ED%8A%B8-%EB%A6%AC%EB%89%B4%EC%96%BC&unitId=48856&category=questionDetail&tab=community&q=128118++++++++++
-
해결됨자바 코딩테스트 - it 대기업 유제
혹시 이렇게 작성해도 괜찮나요?
코딩테스트 공부하면서 항상 궁금했는데..강의 내용을 보면 클래스나 함수는 꼭 필요한 부분에서만 사용하시는 것 같더라구요..아래처럼 써도 되나요? 면접관님들은 어떻게 생각하실지 궁금합니다. public static int[] run(int[] nums) { return Arrays.stream(nums) .mapToObj(MyNumber::new) .peek(user -> user.one = Integer.bitCount(user.value)) .sorted(Comparator.comparingInt(MyNumber::one)) .mapToInt(MyNumber::value) .toArray(); } public static class MyNumber { final int value; int one; MyNumber(int value) { this.value = value; this.one = 0; } int value() { return value; } int one() { return one; } }
-
해결됨[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
주피터노트북 업데이트 연동
이런 내용들 있잖아요.잔재미코딩님이 업데이트하면 자동으로 제 컴퓨터에 있는 내용도 업데이트되나요?아니면 따로 다시 다운로드 받아야하나요?
-
미해결카프카 완벽 가이드 - ksqlDB
ksqlDB Cluster 여부 - 박성범님 질문(제가 대신해서 적습니다)
안녕하십니까, 박성범님이 수강평과 함께 질문을 올려 주셔서 제가 질문과 답변을 함께 적겠습니다. 먼저 질문 내용은 ksqlDB Cluster 구성 가능에 대한 질문입니다.
-
미해결따라하며 배우는 리액트 네이티브 기초
createStore를 통해 middleware를 등록할 때 오류 (5.0.1 버전)
const store = createStore(rootReducer, middleware);강의와 같이 위처럼 코드를 작성할 시 에러가 발생합니다. 버전은 5.0.1 버전입니다.공식 문서에서 createStore 부분을 보면 reducer와 enhancer이외에 preloadedState라는 값이 있는데 해당 값을 넣어주니 정상적으로 작동했습니다.const preloadedState = { counter: 0, }; const store = createStore(rootReducer, preloadedState, middleware);preloadedState는 선택적으로 사용할 수 있다고 되어 있는데 왜 사용하지 않으면 에러가 발생하는지 궁금합니다.또한 preloadedState는 store의 초기 상태를 나타내고 있다고 하는데 todos의 초기 상태를 어떻게 설정해야할지 궁금합니다. (그냥 undefined로만 적어도 상관없을까요)
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계 주인과 cascade가 상충되는 상황에 대해서
제가 알고 있기론 연관관계 주인만 엔티티 수정이 가능하고 아니면 조회만 가능하다고 알고 있습니다.@OneToMany(mappedBy = "team") private List<Member> members = new ArrayList<>();이 코드에서 team은 member을 조회만 할수 있습니다.Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); //역방향(주인이 아닌 방향)에서 멤버 추가 시도 team.getMembers().add(member); //실패! 그러나 cascade 또는 고아 객체 제거 옵션을 사용하면 부모 엔티티를 통해 자식 엔티티의 생명주기를 컨트롤 할 수 있다고 배웠습니다.@Entity public class Parent { @Id @GeneratedValue private Long id; @OneToMany(mappedBy = "parent", cascade = CascadeType.PERSIST) List<Child> childList = new ArrayList<>(); }Child child1 = new Child(); Child child2 = new Child(); Parent parent = new Parent(); child1.setParent(parent); //연관관계 추가 child2.setParent(parent); //연관관계 추가 parent.getChildList().add(child1); parent.getChildList().add(child2); //부모 저장, 연관된 자식들 저장 em.persist(parent); 두 개념이 서로 충돌하는것 같은데 어떻게 동작하는 것일까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ParamMap과 model 질문
System.out.println("FrontControllerServeltV4.service"); String requestURI = request.getRequestURI(); ControllerV4 controller = controllerV4Map.get(requestURI); if (controller == null) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); return; } Map<String, String> paramMap = createParamMap(request); Map<String, Object> model = new HashMap<>(); // 추가된부분 String viewName = controller.process(paramMap, model); MyView view = viewResolver(viewName); view.render(model, request, response); } private static MyView viewResolver(String viewName) { return new MyView("/WEB-INF/views/" + viewName + ".jsp"); } private static Map<String, String> createParamMap(HttpServletRequest request) { Map<String, String> paramMap = new HashMap<>(); request.getParameterNames().asIterator() .forEachRemaining(paramName ->paramMap.put(paramName, request.getParameter(paramName))); return paramMap; } public class ModelView { private String viewName; private Map<String, Object> model = new HashMap<>(); public ModelView(String viewName) { this.viewName = viewName; } public String getViewName() { return viewName; } public void setViewName(String viewName) { this.viewName = viewName; } public Map<String, Object> getModel() { return model; } public void setModel(Map<String, Object> model) { this.model = model; } } Map<String, Object> model = new HashMap<>(); 가 언제 생성되어있는지 알고싶어서 인프런 AI답변을 봤는데해당 내용에서 ModelView의 model 필드는 ModelView 클래스의 생성자에서 생성되며, Map<String, String> paramMap을 사용하여 요청 파라미터를 매핑하고 컨트롤러에 전달하는 방식에 대해 설명하고 있습니다. 이렇게 답변이 왔습니다. 저기서 호출한적이 없는거같은데 어떻게 매핑이된거죠? 두번째로, 첫번째 코드에서 Map<String, Object> model = new HashMap<>(); 부분이 두번째 코드와 똑같은 코드로작성되어있는데 다른코드맞는거같은데 왜 선언되어있는지 알수있을까요? 첫번째 질문과 두번째 질문이 많이 헷갈리네요.. 왜 같은지알수있을까요? 그리고 선언되어있는이유도요!
-
해결됨C개발자를 위한 최소한의 C++
접근제어와 관련한 질문입니다.
안녕하세요! 새해 복많이 받으십시오. 접근제어와 관련하여 강의내용 복습하며 생각해보다가 궁금한 점이 있어서 질문 남깁니다. C언어 클래스에서 private영역에 대해 접근제어에 대해직접 부르는 것만 막는 것인지클래스에 대한 포인터를 통해 접근제어까지 막는 것인지또는 메모리상의 주소를 알아내서 포인터로 변수로 직접 접근하는 경우(...)이 다음 디스포인터영상에서 였나 2번까지는 막고 있는 것을 보여주셨던 것이 기억나는데,3번은 과연 뚫리지 않을까... 생각이 들어서 그렇습니다. 진짜로 묻고 싶은 이유는,사실은 접근제어 라는 게 C++ 프로그래밍 문법상의 규칙으로 컴파일 타임에서 관리할 뿐, '런타임에서는 (C++에서 정해졌었던 문법이고 뭐고;)이걸 죄다 걸러내고 남은 기계어로만 돌아간다' 라고 이해해도 되는가 입니다.(CS지식이 일천한 상태에서 드리는 뇌피셜이라...^^;) 감사합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
본 강의 코드에서 Event와 CV간의 논리적 순서 차이
Event는 커널 레벨에서 다른 쓰레드와 통신하기 위해 사용하는 것이고 (이런 점에서 IPC와 유사하다고 생각됩니다. 하지만 프로세스와 달리 쓰레드는 메모리를 공유하므로 더 효율적이겠구요...) Condition Variable은 유저 레벨에서 직접 구현하는 것이라 생각하면 굳이 OS API 및 커널의 도움을 받지 않고 조건을 체크한다는 것으로 이해하였습니다.CV에서...일단 락 받아조건 맞아? 조건 안 맞으면 락 풀어. 다음 기회에...다른 thread에서 신호 줄때까지 blocked위 처럼 설명하신 것 같은데, 이해가 가지 않는 부분이 몇 군데 있어 질문드립니다.Q1. unique_lock<mutex> lock(m)은 생성자에서 이미 락을 잡았을텐데, 왜 cv.wait()에서 "1) Lock을 잡고" 부분에서 다시 락을 잡는건지 궁금합니다. 100% 락을 잡았다는 보장이 없는 것인가요?? 생성자에서 락을 잡지 못하면 어차피 다음 코드 실행이 안되지 않나요? (혹은 조건을 불만족했을때 cv.wait()에 대한 루프를 돌아야 하기 때문에 락을 다시 잡는 것인가요?)Q2. 왜 예제 코드에서는 Event 방식보다 CV 방식이 효율적이라고 하신건지 궁금합니다.결국 CV방식에서도 Blocking된 쓰레드를 깨우려면 커널의 도움을 받아야 하는 것 아닌가요?로직 상으로도 둘 다 바쁜 대기가 존재하지 않고 같은 순서로 동작하는 것 같은데 코드의 길이가 줄어서 효율적이라고 하신 건가요?
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
섹션 6 PushNotification 질문드립니다
여기서 변수명을 token 대신 to라고 했을 때 정상 작동하는 경우에는 왜 그런 것인지 궁금합니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2에 테이블 생성이 안돼요...ㅠ
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]프로젝트 환경설정을 마치고 프로젝트를 돌려봤습니다.똑같이 따라하면서요.그런데 사진과 같이 create문까지 잘 나오는데 h2에 테이블이 안보여요문제가 뭘까요? ㅠㅠ 주의 사항도 다 보면서 버전업 시켰는데도 안되네요..하루종일 구글링하고 찾아봐도 모르겠어요 도와주시면 감사하겠습니다
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
안녕하세요. 갑자기 Admin 으로 이동되어서 질문드립니다.
안녕하세요. 강의 잘 듣고 있습니다. 이 전단계가 Thymeleaf 레이웃 리팩토링이었는데, 갑자기 admin 의 interceptor 로 넘어와서요. 파일이 전부 개발되 있는 상태인데 영상 그대로 따라해도 되는건가요..?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
리덕스안에 _id값
안녕하세요 (상품 업로드 페이지 기능 생성하기) 파트를 듣는중,상품 업로드 버튼을 마지막에 눌렀는데Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '_id')at handleSubmit (index.jsx:52:29)이런 내용이 나와서 리덕스를 확인해보니,user/loginUser/pending 그리고 fulfilled,user/authUser/pending 까지는state의 구조가 영상이랑 똑같이user>userData>user>_id 로 보여지는데user/authUser/fulfilled 가 된 상태의 리덕스 state를확인해보면user>userData>id(_id 아님)이렇게 보여서 일단오류안나게끔 body의 writer 값을 writer:userData._id로 고치니까 몽고디비에상품 데이터 통신은 되긴 하는데..(이것도 왜 ,, 오류가 안나는지 모르겠지만.. userData에는 값이 _id가 아닌 id로 보여지는데..)저는 왜 강사님과 다르게 그것도 authUser fulfilled된 이후에 리덕스 데이터가 저렇게 되는지 궁금합니다.의심되는 곳으로1)backend>src>routes>users.js에서 get request로 /auth 부분에 제가 뭘 잘못 타이핑했는지 다시 수업 돌려서 확인했으나 동일해 보이고..2)userSlice의 addCase를 authUser부분 잘못했나 싶어서 다시 수업 돌려서 확인했으나 동일한것 같습니다. 어딜 더 확인해 봐야할까요?
-
해결됨[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
최종 전처리 데이터로 그래프 만들기1 3:30
country_info['iso2','Country_Region'] 왜 위처럼 안쓰고 []하나 더 끼워서 [[]]이렇게 만드나요?country_info[['iso2','Country_Region']]
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
SessionManagerTest @Slf4j 사용하면 안되나요?
너무 기초적인 질문인것 같아서요Test Case 작성시@Slf4j 로그 어노테이션을 이용하여 로그를 출력하고 싶은데error: cannot find symbol log.info("SessionManagerTest1={}", member);이런 오류가 발생하네요
-
미해결iOS 개발 찍먹하기 - SwiftUI
binding
@Binding 프로퍼티 래퍼 기초 강의에서 배경바꾸기 버튼을 재사용하여야하니BindingSample 뷰에서 밖으로 빼서ChangeColorButton 뷰로 새로운 뷰로 만들어서 사용하셨는데, 이게 실제 현업에서 이렇게 사용하는건가요 ? BindingSampleView 안에 다 넣은건 가독성이 안좋아서..?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
단축키 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]선생님께서 알려주신 단축키들이 모두 유용해서 잘 사용하고 있습니다만 잘 되던 단축키가 안 될 때가 있습니다 ㅠ_ㅠCtrl + Shift + F10 누르면 실행이 되어야 하는데잘~ 되다가 갑자기 안 되고 윈도우 관련 치트키가 눌리는 것 같습니다.잘 되다가도 뭐가 꼬이는 건지 한 번 안 되기 시작하면 계속 안 되는데 잘 쓰던 단축키가 안 되니 좀 답답합니다ㅠㅠ제가 뭔가를 잘 못 누르는 걸까요?
-
미해결
SecurityConfig 설정 후 return 페이지 무한루프 질문입니다.
다름아니라 SecurityConfig 설정 관련 강의를 들은 후 혼자 만들어보면서 공부할려고 하는 중에 생긴 문제입니다. 해결해볼려고 몇 시간 헤매다 해결이 되지않아 질문합니다. 질문내용문제가 생긴 시점에 만든 파일은 자바 파일은 java > 프로젝트이름 > config > SecurityConfig.javajava > 프로젝트이름 > config > WebMvcConfig.javajava > 프로젝트이름 > controller > IndexController.javahtml 파일은 resources > templates > main > index.html (문제 생긴부분때문에 정상작동여부 확인차 main이란 디렉터리에 넣음) resources > templates > user > loginForm.html resources > templates > loginForm.html (loginForm.html은 위치가 다르게 파일이름은 같지만 문제점이 생겨 똑같은 이름으로 경로만 다르게 해서 2개 만들었으며 내용부분에 다른 부분이라면 페이지에 h1태그안에 로그인1,2 이렇게 글자만 다르게해서 브라우저에서 보일 때 어디 경로에 있는 html이 뜬건지 확인하도록 하였습니다.) 먼저 문제가 생긴 부분이 어떤 부분인지 말하자면 SecurityConfig 에 권한 설정 후 로그인하지 않은 사용자가 권한이 있는 페이지를 요청할 경우 "/login" 페이지로 이동 시키는 부분입니다. 제가 회원가입 뿐만 아니라 게시판, api를 이용한 페이지 이런 부분을 만들어서 보여주고싶은데 이 페이지들이 많아지면 디렉토리로 나눠놓는것이 좋을것같아 templates 밑에 디렉토리를 나누게 되었는데요. resources > templates > user > loginForm.html 을 만들어서 IndexController 에서 // 로그인 페이지 테스트2를 주석처리 후 // 로그인 페이지 테스트1를 주석해제 하고http://localhost:8080/login 를 실행시키면 화면에 "localhost에서 리디렉션한 횟수가 너무 많습니다." 라고 떠서 Sysout에서 확인해보니 url 요청 test1 라고 계속 뜹니다.(=> 이 부분 때문에 무한루프에 빠졌다고 생각하고 있습니다.) 그런데IndexController 에서 // 로그인 페이지 테스트1를 주석처리 후 // 로그인 페이지 테스트2를 주석해제 하고http://localhost:8080/login 를 실행시키면 화면이 정상적으로 작동됩니다. (// 로그인 페이지 테스트1과 // 로그인 페이지 테스트2 다른 부분은 return 부분밖에 없습니다.) 저는 templates 밑에 하위 디렉터리를 만들어서 작업을 계속 하고 싶은데 이 부분 어떻게 해결해야할까요?? 코드는 아래와 같습니다. SecurityConfig import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.web.SecurityFilterChain; @Configuration // @EnableWebSecurity // 스프링 시큐리티 필터가 스프링 필터체인에 등록 public class SecurityConfig{ @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http.csrf(CsrfConfigurer::disable).cors(Customizer.withDefaults()); http.formLogin((formLogin) -> formLogin.loginPage("/login").permitAll().defaultSuccessUrl("/")) .authorizeHttpRequests(authorize -> authorize .requestMatchers("/login").permitAll() // 추가부분 .requestMatchers("/user/**").hasAnyRole("user","center","admin") // /user/** url => user, center, admin 권한이 있는 사용자만 접근 가능 .requestMatchers("/center/**").hasAnyRole("center","admin") // /center/** url => center, admin 권한이 있는 사용자만 접근 가능 .requestMatchers("/admin/**").hasAnyRole("admin") // /center/** url => admin 권한이 있는 사용자만 접근 가능 .anyRequest().permitAll() // 권한을 주지않은 url 이 아니면 접근 허용 ); //.formLogin().loginPage("/login").permitAll().defaultSuccessUrl("/") //.formLogin((formLogin) -> // formLogin.loginPage("/login").permitAll().defaultSuccessUrl("/") // ) // 위에 권한이 접근허용이 되지않은 비회원이 해당 페이지 들어갈 경우 /login 페이지로 이동 return http.build(); } }WebMvcConfig@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(final ResourceHandlerRegistry registry){ registry.addResourceHandler("/**") .addResourceLocations("classpath:/templates/") .setCacheControl(CacheControl.maxAge(10, TimeUnit.MINUTES)); } }IndexController@Controller public class IndexController { // 메인 페이지 @GetMapping({"","/"}) public String index(){ return "main/index"; } // 로그인 페이지 테스트1 // @GetMapping("/login") // public String login(){ // System.out.println("url 요청 test1"); // return "user/loginForm"; // } // 로그인 페이지 테스트2 @GetMapping("/login") public String login(){ System.out.println("url 요청 test2"); return "loginForm"; } // 권한 설정 Test => Test 후에 지우기 @GetMapping("/user") public @ResponseBody String user(){ return "user"; } @GetMapping("/center") public @ResponseBody String center(){ return "center"; } @GetMapping("/admin") public @ResponseBody String admin(){ return "admin"; } @GetMapping("/join") public @ResponseBody String join(){ return "join"; } @GetMapping("/joinProc") public @ResponseBody String joinProc(){ return "회원가입 완료됨"; } }index.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Dreaming Animal</title> </head> <body> 메인 페이지 </body> </html>templates > user > loginForm.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>로그인</title> </head> <body> <h1>로그인 1</h1> <div> <form> <input type="text" name="username" placeholder="ID"><br> <input type="password" name="password" placeholder="password"><br> <button>로그인</button> </form> </div> </body> </html>templates > loginForm.html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>로그인</title> </head> <body> <h1>로그인 2</h1> <div> <form> <input type="text" name="username" placeholder="ID"><br> <input type="password" name="password" placeholder="password"><br> <button>로그인</button> </form> </div> </body> </html>
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
코틀린 사용자인데 강의 보면서 진행이 가능할까요?
코틀린으로 프로그래밍을 입문했습니다. 자바를 사용할 줄은 모르고 코틀린만 사용이 가능한 상황인데, 코틀린으로 공부가 가능한가요?