묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
문의 드립니다😭
안녕하세요, 강사님😊좋은 강의 감사합니다!모든 기능을 완료한 이후 메세지 삭제 기능을 추가하고 싶어 코드를 조금 더 작성하는 도중 오류를 만났는데 어떤 방식으로 풀어가면 좋을지 몰라 이곳에 질문하게 되었습니다 ㅜㅜ!메세지 삭제 기능은 message.model.ts를 통하여 다음과 같이 작성하였습니다.message_item은 다음과 같은 소스를 작성하였습니다.controller의 message controll은 다음과 같이 작성하였습니다.삭제는 정상적으로 작동하며, firebase DB 내에 있는 messages의 해당 문서가 삭제되는 것을 함께 확인하였습니다. 다만 이후 messages.info가 작동됨과 동시에 이미 삭제된 messages의 아이디가 존재하여 400번 customServerError가 발생되는 것을 확인하였습니다 ㅜㅜ혹여 이럴 때는 어떤 것을 참고해서 더 수정해야 좋을지 몰라 여쭙게 되었습니다.😭부쩍 날씨가 추워진 요즘, 감기 조심하시길 바라며 다시 한 번 좋은 강의 감사합니다 :)!
-
미해결더 자바, 애플리케이션을 테스트하는 다양한 방법
안녕하세요, 테스트의 displayName 관련 질문이 있습니다!
@DisplayName("가나다라") @ParameterizedTest(name = "{displayName} : a => {0}, b => {1}") @CsvSource(value = {"2, true", "1, false"}) void aa(final int a, final boolean b) { assertThat(a == 2).isEqualTo(b); }여기서 테스트 결과가 뜰 때, {displayName} 이 아예 없는 것으로 나옵니다. 혹시나 해서 다른거 다 빼고 {displayName} 만 넣으면 @DisplayName("가나다라") @ParameterizedTest(name = "{displayName}") @CsvSource(value = {"2, true", "1, false"}) void aa(final int a, final boolean b) { assertThat(a == 2).isEqualTo(b); }메서드 이름이 아닌 이름 없음으로 뜹니다.구글 검색해보면 해결책이 전부'Build, Execution, Deployment -> Build Tools -> Gradle로 이동한 다음 Run tests using 을 Gradle -> Intellij IDE 로 수정'이렇게 수정하라는 글밖에 없습니다.전 사정이 있어서 컴파일 및 빌드 실행을 Gradle로 실행을 하면서 테스트해야만 하는데, 다른 방법이 있는지 궁금합니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료 요청드립니다!
kingjerrywogus@gmail.com 입니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
에러 처리하기
http://localhost:8080 200 (ok)https://localhost:8080 failed 위와같이 나오는 원인이 무엇인지 알고 있으신지요? 제공하신 소스의 4-1 폴더server1-1.js 코드입니다.
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
run synthesis 에러
- 강의 내용외의 개인 질문은 받지 않아요 (개별 과제, 고민 상담 등..)- 저 포함, 다른 수강생 분들이 함께보는 공간입니다. 보기좋게 남겨주시면 좋은 QnA 문화가 될 것 같아요. (글쓰기는 현업에서 중요한 능력입니다!)- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 설계한 파일 폴더를 통째로 이름이 다른 드라이버(또는 다른 컴퓨터)로 옮겨서 run synthesis를 하면 아래와 같은 에러가 납니다. 아래 사진은 e 드라이버에 실습을 하다가 e 드라이버를 제거 하고 d 드라이버에 복사를 하고 다시 run 을 하니 기존에 있던 경로를 찾고 있는 듯 합니다. 찾아 봐도 경로 설정 하는 부분은 없는거 같은데 왜 이럴까요 ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
의존관계 자동 주입과 빈 생명주기 콜백에 관한 질문이 있습니다
의존관계 자동주입과 빈 생명주기 콜백을 공부하다가 질문이 생겼습니다. 의존관계 자동주입에서는 aop와 같은 부분을 제외하고는 자동 의존관계 주입을 이용하는것을 권장한다고 배웠습니다. 그럼 생명주기 콜백의 경우는 생성자 주입의 경우는 예외하고 사용한다고 배웠는데, 콜백 메서드는 aop과 같은 부분에서만 사용하는 것인가요?
-
해결됨[LV2] 이펙터로 취업하기 위한 포트폴리오 만들기
포토샵 브러쉬 돌릴 때
포토샵 브러쉬 마구 돌릴 때 어떤 단축키를 사용해야 하나요?
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
아나콘다 업데이트
안녕하세요아나콘다를 설치한지 오래되었을 경우 삭제 후 다시 설치를 권장하신 부분에 관해 질문이 있습니다.프롬프트에서conda update -n base condaconda update --all명령어로 업데이트를 해서 쓸 경우 삭제 후 재설치를 하지 않아도 될까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
action type을 다른 파일로 분리할 때 파일 구조
액션파일을 다른 파일로 분리 할 때 파일 구조는 리듀서 파일 구조와 동일하게 하면 좋을까요?강의를 예로들면reducers | - index.js | - user.js | - post.jsactions | - user.js | - post.js이런 식으로 분리 하는게 좋은지 아니면 하나로 묶는게 좋은지 궁금합니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
몽고디비 사용성 질문드립니다.
https://db-engines.com/en/ranking 보니까 5위던데 실무에선 언제 사용하나요?비정형 데이터를 수집할 때 유용하다고 말씀하셨는데 딥러닝이나 머신러닝 쪽에서 사용하나요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
루키즈님 강의로 클라이언트 취업이 가능할까요?
현재[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈]C++프로그래밍 입문게임 수학과 DirectX12자료구조와 알고리즘위 3가지 강의를 듣는 중인데, 여기에 추가로 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 이 강의를 듣고 유니티쪽으로 빠르게 취업이 가능할까요? 좋은 회사를 노리진 않고 일단 빠르게 취업하는 것을 목표로 두고 있어서요. 위 유니티 강의 하나로, 포트폴리오나 관련된 것들을 준비하는 건 좀 부족할까요?
-
미해결스프링 핵심 원리 - 기본편
@Component @Bean 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Component 를 이용하는 이유가 @ComponentScan으로 한번에 빈 등록을 하는거라고 이해했는데 맞나요?1번이 맞다면 이 경우에도 @Component 어노테이션을 각각 다 작성해줘야하는데 @Bean이랑 차이가 무엇인가요?
-
미해결처음 배우는 리액트 네이티브
어플 프로젝트 이름을 만든후 윈도우 탐색기에서 이름을 수정해도 되나요?
어플 프로젝트 이름을 만든후 윈도우 탐색기에서 이름을 수정해도 되나요
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-M 질문입니다.
선생님 안녕하세요.http://boj.kr/9a2f81571b6d4daea656a37368a5ade2rotate하는 방법을 생각하지 못해서 위, 아래, 왼쪽, 오른쪽 로직을 모두 작성해서 풀었습니다.3 0 64 8 128 0 32 32 0 0위의 테스트케이스에서 문제를 발견했는데요. 위 -> 오 -> 아 -> 왼 -> 왼 순서로 진행하면 정답인 256이 나오게 됩니다.up(); right(); down(); left(); left(); printA();이런 식으로 직접 순서를 따라갔을 때는 정상적으로 답이 나오는 걸 봐서 방향 로직이 문제는 아닌 것 같습니다.(좀 비효율적이지만 답은 나온다는 점에서요..)따라서 제 백트래킹 함수가 모든 경우의 수를 다 탐색하지 않는다는 결론이 나오는데요... 왜 경우의 수를 모두 탐색하지 않는지를 모르겠습니다.
-
해결됨스프링부트 시큐리티 & JWT 강의
security 문제
JWT토큰 만드는 강의를 따라서 토큰을 만들었고 포스트맨에서 정상작동하는 것은 확인했습니다.근데 프론트랑 연결해서 해보려고 하니 문제가 생겨서 질문 남깁니다.ㅠㅠ 회원이 로그인을 하고,로그인 정보를 받아서 db에 있는 회원이면 로그인 시키면서 토큰을 발행하고,회원이 인증이 필요한 페이지에 접근하면 header에 저장된 Authorization 를 get으로 가져온다음request.getHeader("Authorization"); 토큰이 유효한지 확인하고 페이지에 접속하게 해주는 것이라고 이해했는데 header에 저장된 Authorization정보를 읽기도 전에 403에러가 납니다. 제가 생각한 문제는 cors쪽 문제라고 생각 돼 검색해보고 있지만 뚜렷한 해결책이 보이고 있지 않아 너무 답답합니다. ㅠㅠ 보신다면 꼭 댓글 부탁드릴게요!감사합니다. git 주소도 남깁니다 https://github.com/ttyj77/finalProject/tree/main/jwtFinal
-
미해결Vue.js 시작하기 - Age of Vue.js
emit의 목적
완강 후 개념들을 확실히 숙지하려고 코드, 문법, 메소드등을 직접 기록하면서다시 강의를 보는 중입니다. <body> <div id="app"> <p>{{num}}</p> <!-- <app-header v-on: 하위 컴포넌트에서 발생한 이벤트 이름="상위컴포넌트의 메서드 이름" ></app-header> --> <app-header v-on:pass="logText"></app-header> <app-content v-on:increase="increaseNumber"></app-content> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> var appHeader = { template: '<button v-on:click="passEvent">click me</button>', methods: { passEvent: function() { this.$emit('pass'); } } }; var appContent = { template: '<button v-on:click="addNumber">add</button>', methods: { addNumber: function() { this.$emit('increase'); } } } var vm = new Vue({ el: '#app', components: { 'app-header': appHeader, 'app-content': appContent }, methods: { logText: function() { console.log('hi'); }, increaseNumber: function() { this.num = this.num + 1; } }, data: { num:10 } }); </script> </body> 위 코드에서 기능적인 메소드들은 상위컴포넌트 vm에 logText와 increaseNumber로 정의 되있으니 하위컴포넌트인appHeader와 appContent가 없어도 문법만 맞추면 해당 기능들을 구현하는데는 문제가 없을거라고 느껴집니다.그렇게 생각이 드니 여기서 emit의 기능은 이벤트의 이름을 정의해주는 것 같은데emit을 활용하는 방법을 더 알고싶습니다,이벤트의 이름을 정의하는 기능만 있다고 생각하면 뭔가 허전해서요실제로 혹시 프로젝트에서 emit은 어떤 용도로 사용될까요?
-
미해결스프링 배치
청크 기반 스텝, 서버 재기동
안녕하세요,처리해야할 데이터가 총 10000개인데청크 사이즈를 1000개로 하여 수행하던중(4000번째 데이터까지 처리되어 커밋되었습니다)4500번째 데이터를 처리하다가 서버가 재기동하였습니다.해당 스텝은 완료되지 않았기 때문에해당 스텝을 재시작할 수 있을텐데요이때 4001번째 데이터부터 (청크단위로 커밋되지 않은 데이터부터) 재시작할 수 있는 방법이 있을까요?
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
Paging에 관해 질문이 있습니다.
안녕하세요, Paging 강의를 듣고 개인적으로 공부하던 중 궁금한게 생겨서 질문드립니다.강의에서 사용한 카카오 API는 요청 파라미터로 page 값과 size값을 넘겨주고 있는데, 이러한 파라미터가 있기 때문에 retrofit 응답에 Paging을 적용할 수 있는건지 궁금합니다.제가 Paigng을 직접 테스트 해보고 싶어서 mocky.io에서 10000개의 이미지 url을 응답해주는 api를 만든 뒤 강의에서 한 것처럼 페이징을 적용해보았습니다. 그러나 Paging을 안쓴 RecyclerView 응답과 비교했을 때 시간차이가 안납니다. 페이징을 적용하면 매우 빠르게 이미지가 load될 줄 알았는데 그게 안됩니다. 제 지식으로는 이유를 알지 못해 코드를 잘못 짠건지 원래 안되는 api 형식인지 알 수 없어 질문납깁니다.정리하자면, retrofit에 paging을 적용하기 위해선 카카오 api처럼 page나 size를 파라미터로 지정해야하고, is_end등의 response가 있는 통신을 해야 하는 건가요? 단순히 엄청 긴 json응답에 paging을 적용할 수는 없나요?감사합니다.
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
시간복잡도
Q. Stack 두 개를 이용하여 Queue를 구현해 보세요. 강의의 꼬꼬무 문답으로 Q. 시간복잡도는 어떻게 되는지 설명해 주세요. 관련 질문입니다.dequeue() : 두 가지 경우를 따져봐야 합니다. worst case는 outstack이 비어있는 경우입니다. 이 때는 instack에 있는 n개의 데이터를 instack.pop()을 한 이후에 outstack.push()를 해줘야 합니다. 따라서 총 2*n 번의 operation이 실행되어야 하므로 O(n)의 시간복잡도를 갖습니다.하지만 outstack이 비어있지 않는 경우에는 outstack.pop()만 해주면 됩니다. 이는 O(1)의 시간복잡도를 갖습니다. 이를 종합했을 때, amortized O(1)의 시간복잡도를 갖는다고 할 수 있습니다. 전반적으로 이해가 가지만 '이를 종합했을 때, amortized O(1)의 시간복잡도를 갖는다고 할 수 있습니다.' 이 부분이 헷갈립니다. outstack의 비어있을지 아니면 데이터가 있을지는 모르는 건데, 왜 amortized O(1)의 시간복잡도를 갖게 된 것 일까요?
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
안녕하세요 질문드립니다.
저를 좋아요 한 사람의 목록을 받고싶은데 OnDataChange안에 for문을 어떻게 작성해야하는지 감이 안와서요. ㅜㅜ 전체 유저의 uid중에 나의 uid를 가지고있는 사람을 찾으면 될거같은데..도와주세요!@!