묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
일곱난쟁이
안녕하세요 선생님. 강의 잘 보고 있습니다. 딱 자바스크립트 코딩 테스트 강의를 찾고 었는데, 정말 큰 도움이 되고 있습니다. 일곱난쟁이 문제에서 while문을 이용해 이중 반복문을 사용하시 않고 풀어봤는데 혹시 문제될 게 있을까요?? function solution(arr) { let answer = []; while (true) { // 주어진 숫자 중 랜덤한 숫자를 뽑는다. const idx = (Math.floor(Math.random() * arr.length)) // 중복값 배제 if (answer.includes(arr[idx])) continue; answer.push(arr[idx]); // 7개를 뽑을 때까지 반복 if (answer.length < 7) continue; // 합이 100이면 반복 종료. 아니면 다시. const sum = answer.reduce((acc, v) => acc + v, 0); if (sum === 100) break; else answer = []; } return answer; }
-
해결됨스프링 프레임워크 핵심 기술
Type-Safety 의미
안녕하세요. 강의 잘 듣고 있습니다. 강의중, @Primary 를 이용하는 것이 @Qualifier 를 사용하는 것 보다 Type-Safety 하다고 하셨는데, Type-Safety하다는 의미가 무엇인지 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C언어
struct flex와 *pf의 size가 같은 이유
printf("Size of flex %lu\n", sizeof(struct flex));printf("Size of *pt %zd\n", sizeof(*pf)); 이 부분에서 둘다 16이 나오는데 pf는 malloc으로 배정받은 것이니 *pf의 size는 40이 돼야 하는거 아닌가요??왜 strcut flex와 , malloc을 거친 pf의 size가 똑같은 것인가요?
-
미해결스프링 핵심 원리 - 기본편
자동완성에 대해서 하나 더 질문있습니다.
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 강의 중간중간에 예를들면 ac.getBean("memberService", MemberServiceImpl.class); ac.getBean("orderService", OrderServiceImpl.class); 이렇게 입력하고 무슨 단축키를 입력하셨는지 뭔가를 입력하시면 자동으로 OrderServiceImpl orderService = ac.getBean("orderService", OrderServiceImpl.class); MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); 이렇게 바뀌는거 오래전에 알았었는데 저걸 까먹었네요 ㅠㅜ 혹시 단축키 한번 더 알려주실수 있나요? 저걸 뭐라고 부르는지도 애매하게 알고있었는데 다 까먹었네요 ㅠㅜ 오랜만에 다시 공부하려고하니까 ㅠㅜ 알려주시면 감사하겠습니다.
-
미해결운영체제 공룡책 강의
퀴즈 #6 질문입니다
1번 문제의 답이 4번 아닌가요? 답지에서는 3번이라고 나와있습니다.
-
미해결어셈블리어 배우기
empty 파일에 비어있는 파일이 아니네요
유튜브로 넘어와서 empty.exe 파일을 다운로드 받았습니다. 그런데 빈파일은 아니더라구요 ㅠㅠ 혹시 저만 그런건가요??
-
미해결Redux vs MobX (둘 다 배우자!)
vue와의 차이점
vue와의 차이점을 좀 여쭤볼려고합니다. vuex에서는 state <- 전역 변수 mutations <- state 변경(state trace를 위한 것) actions <- 비동기로직 로 관리를 하게 되는데 대충 예를 들어 비동기 로직이 들어가는 컴포넌트에서 this.isLoading = true try { this.list = await this.$store.dispatch('post/add', 보낼 데이터); } catch(err) { console.error(err) } finally { this.isLoading = false } 이렇게 해당 컴포넌트에서 처리를 해주고 있습니다. redux 에서는 store <- 전역변수 reducers, actions <- vuex의 mutations redux thunks, redux saga <- vuex의 actions 라고 대충 비교를 해볼 수 있을 것 같은데 여기서 제가 생각한 부분들이 맞는지 궁금합니다. 1. isLoginLoading을 전역에서 사용하는 이유 현재 redux에서는 logInLoading과 같은 것들을 전역에서 관리를 해주고 있는데 vue에서도 만약 여러 컴포넌트에서 공통으로 사용하는 state라면 actions를 활용해 데이터를 불러올 때 위의 코드처럼 지역에서 isLoading을 굳이 만들지 않고state.isLoginLoading처럼 만들어볼 수 있을것 같습니다. 2. logInError를 사용하는 이유. onClick = () => { dispatch(userSlice.actions.logIn(로그인데이터)) } logInError을 전역에 배치하는 이유는 위의 코드에서 try catch 하지 않고extraReducers[logIn.rejected].meta.error.message를 받아서 사용하기 위해서 인것 같습니다. vue에서는 그냥 try catch 사용 3. loginDone을 사용하는 이유 데이터를 잘 받아왔는지 확인하는 것 같은데 이 부분은 vue에서 비슷한 부분을 찾을 수 없어 더 헷갈리는 것 같습니다..
-
해결됨리액트로 나만의 블로그 만들기(MERN Stack)
CKEditor 질문입니다... 제발 도와주세요 ㅠㅠ
import React, { useState } from "react"; import { useSelector, useDispatch } from "react-redux"; import { Form, FormGroup, Label, Input, Button, Col, Progress, } from "reactstrap"; import CKEditor from "@ckeditor/ckeditor5-react"; // import ClassicEditor from "@ckeditor/ckeditor5-editor-classic/src/classiceditor"; // import { editorConfiguration } from "../../components/editor/EditorConfig"; // import Myinit from "../../components/editor/UploadAdapter"; const PostWrite = () => { const {isAuthenticated} = useSelector( (state) => state.auth ) const {form, setValue} = useState({ title: "", contents: "", fileUrl: ""}) const dispatch = useDispatch() const onChange = (e) => { setValue({ ...form, [e.target.name] : e.target.value }) } const getDataFromCKEditor = (event, editor) => { console.log('editor') } const onSubmit = async(e) => { await e.preventDefault() const { title, contents, fileUrl, category } = form } return ( <> {isAuthenticated ? ( <Form onSubmit={onSubmit}> <FormGroup className="mb-3"> <Label for="title">Title</Label> <Input type="text" name="title" id="title" className="form-control" onChange={onChange} /> </FormGroup> <FormGroup className="mb-3"> <Label for="category">Category</Label> <Input type="text" name="category" id="category" className="form-control" onChange={onChange} /> </FormGroup> <FormGroup className="mb-3"> <Label for="content">Content</Label> <CKEditor // editor={ClassicEditor} // config={editorConfiguration} // onInit={Myinit} // onBlur={getDataFromCKEditor} /> <Button color="success" block className="mt-3 col-md-2 offset-md-10 mb-3" > 제출하기 </Button> </FormGroup> </Form> ) : ( <Col width={50} className="p-5 m-5"> <Progress animated color="info" value={100} /> </Col> )} </> ); } export default PostWrite (38강입니다.) PostWrite.js에서 import CKEditor from "@ckeditor/ckeditor5-react"; 코드를 통해 CKEditor불러와야 하는데 하단의 에러가 발생합니다. Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports. 라는 에러가 발생해서 구글에 검색해보니깐 import CKEditor from "@ckeditor/ckeditor5-react"; 이 코드에서 import를 못해와서 발생하는거같습니다만... package.json에서 @ckeditor/ckeditor5-react 정상적으로 설치되었음에도 불구하고 왜 import를 못하는건지 도저히 모르겠습니다...
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
게시글 작성 오류입니다!
늘 좋은 강의를 제공해주시는 제로초님 로그인을 성공적으로 한 다음 게시글을 작성하려는데 숫자이든 글자이든 하나만 입력해도 바로 에러가 발생합니다. 객체나 배열을 주고받는 과정에서 에러가 발생했다고 생각하여 구글링과 여러 코드를 비교해보았지만 문제점을 찾지 못했습니다. 피드백을 받고싶습니다. 늘 감사합니다!
-
미해결Redux vs MobX (둘 다 배우자!)
리랜더링 질문
const { email, password } = userSelector((state) => state.user ); 이렇게 코드를 짜게 되면 email, password 뿐만이 아니라 user에 있는 어떤 데이터라도 바뀌게 되면 해당 컴포넌트는 무조건 리랜더링 되는건가요?
-
미해결스프링 시큐리티
config 부분 질문드립니다!
우선 좋은 강의 만들어주셔서 감사드립니다! 질문드릴내용은 config의 loginpage 부분입니다. @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/","/users").permitAll() .antMatchers("/mypage").hasRole("USER") .antMatchers("/messages").hasRole("MANAGER") .antMatchers("/config").hasRole("ADMIN") .anyRequest().authenticated() .and() .formLogin() .loginPage("/login") .loginProcessingUrl("/login_proc") .defaultSuccessUrl("/") .permitAll(); } .loginPage("/login")의 안에 값을 "/login123" 으로 변경 후 @GetMapping("/login123") public String login() throws Exception { return "login"; } 위와 같이 핸들러의 url 역시 "login123"으로 변경 후 실행시켜보니 정상적으로 동작하였습니다. loginPage() 안의 설정 값은 핸들러의 url을 적어주는것이 맞는지 궁금합니다. (추가로 해당 부분이 맞다면 ppt17쪽 해당 API 설명에서는 안에 값을 사용자 정의 로그인 페이지 login.html 으로 설명해주셨는데 .html 을 붙이는 경우는 언제인지 궁금합니다.)
-
미해결홍정모의 따라하며 배우는 C언어
12.14 강의 free() 에 대해 질문 있습니다.
안녕하세요. 현재 따배씨 강의를 듣고있는 학생입니다. free() 가 포인터가 가리키는 주소의 메모리를 반환하는 함수임은 알고 있으나 free()의 동작 원리에 대해 질문이 생겨서 내용을 작성합니다. 아래의 코드는 정상적으로 작동하지만, 중간에 //p++; 의 주석을 풀면 런타임 에러가 발생합니다. p++ 을 해서 free(p);를 할 때 런타임 에러가 발생하는 이유가 1. malloc()을 할당받은 만큼 반환하여 할당받은 영역을 넘어선다.2. 할당받은 공간의 시작주소를 보고 연결된 메모리 공간을 반환한다. (컴파일러가 중간에 이어진 주소를 보고 어떤 의미를 알지 못해서 일어나는 것? 이라고 생각) 제가 생각한 1번이나 2번에 있을까요? 항상 좋은 강의를 제공해주셔서 정말로 감사하고 있습니다. 코드 #include <stdio.h> #include <stdlib.h> int main() { int* p = (int *)malloc(sizeof(int) * 10); if (!p) { printf("malloc() failed\n"); exit(EXIT_FAILURE); } // p++; free(p); printf("Success free\n"); }
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
2-5질문
배열을 2개 만들어서 하나는 sorting 후에 for문안에 indexOf를 써서 등수를 구하는 방법으로 구할수 있을것 같은데 그런식으로 사용해도 되나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
memberFrom 질문있습니다.
memberFrom 클래스를 컨트롤러 패키지 안에다가 생성하신 이유가 있을까요? 도메인 패키지에 memberForm 클래스 파일 설정은 왜 적절하지 않은건가요?
-
미해결트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술
@submit 미동작
Home.vue <template> <div> Home <div>Personal Books</div> <div ref="boardList"> <div v-for="b in boards" :key="b.id" > <router-link :to="`/b/${b.id}`"> <div>{{ b.title }}</div> </router-link> </div> <div> <a href="" @click.prevent="addBoard"> 새 게시판 생성... </a> </div> </div> <AddBoard v-if="isAddBoard" @close="isAddBoard=false" @submit="onAddBoard" /> </div> </template> methods: { fetchData() { this.loading = true; // 게시글 조회 후 결과값 저장 board.fetchData().then((result) => { // this.boards = result; this.boards = result.list; // API 호출 후 로딩중.. 끄기 }).finally(() => { this.loading = false; }); }, addBoard() { console.log('addBoard()'); this.isAddBoard = true; }, onAddBoard(title) { console.log(title); console.log('아무것도 안찍히네 ㅠㅠ'); board.create(title).then(() => { this.fetchData() }) } }, 소스코드 일부만 첨부했는데요, <AddBoard v-if="isAddBoard" @close="isAddBoard=false" @submit="onAddBoard" /> 이 부분에서 onAddBoard 함수를 정의해줬는데도 불구하고 실제 클릭 시 전혀 반응이 없어요. 버전 차이나 그런 문제도 있는지요?
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
master branch에서 서로다른 원격저장소에 push가 가능한가요?
안녕하세요~~!! 좋은 강의 잘 듣고 있습니다... 다름이 아니구, 해당 강의에서 pull쪽 부분을 실습할때, prac1 원격저장소에 있는 내용을 prac2원격저장소에도 있게 하려고,, $git push prac2 master 이렇게 했는데 Everything up-to-date라는 메시지가 나오고, git hub웹에서 조회를 했을때는 로컬에서 push한 파일이 안보이는 상황입니다.. master branch와 연결된 다른 원격저장소가 2개 이상일경우 첫번째 push이후에 다른 원격저장소로 push가 가능한가요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
referer, undefined...
cors 수정하니까 const roomId = referer.split('/')[referer.split('/').length - 1].replace(/\?.+/, ''); headers에 referer이 없는데... 뭔가 이유가 있을까요?
-
미해결아마존 클라우드 무료계정으로 시작하는 서버리스 애플리케이션 프로젝트
디버그
안녕하세요! 30:11에 강의에선 Debug: Open launch.json이 보이는데 저는 안 보이네요ㅜㅜ 이럴 경우에는 강의에서 런치 후 만들어지는 파일을 직접 만들어서 사용하면 되는건가요?ㅜ
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
cor에러 발생...
Access to XMLHttpRequest at 'http://localhost:8005/socket.io/?EIO=4&transport=polling&t=NVew1LB' from origin 'http://127.0.0.1:8005' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource cors 가 자꾸 나네요...
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
어노테이션 컴파일 동작 관련
안녕하세요 강사님 좋은 강의 잘 듣고 있습니다. 컴파일러 세팅에 관해서 질문이 있는데요. 롬복과 관련된 컴파일 세팅시 Enable annotation processing을 체크를 했는데 체크가 안되면 컴파일이 안된다는 이야기 인가요? 체크를 안 하고서 실행을 시켜도 잘 되는 것 같은데 궁금해서 질문드립니다. 감사합니다.