묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결반응형 웹사이트 포트폴리오(App Official Landing Website)
슬라이더 적용
슬라이더 적용 강의를 듣는데 똑같이 입력했는데 적용이 안됩니다 이럴땐 어떻게 해야 하나요..? 오류에는 이렇게 뜨는데 이건 어떻게 해결하면 되나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
[Next.js 서버사이드렌더링] 사용자 게시글 로드 문제(동적 라우팅)
안녕하세요 제로초님! 사용자 게시글 로드하는 부분 진행 중인데 userInfo 에 값이 제대로 들어가지 않습니다. 먼저 front/pages/user/[id].js 에서 이렇게 액션을 디스패치 해주고 sagas/user.js 에서 백엔드 서버로 요청해주었습니다. 그 다음 back/routes/user.js 에서 강의 내용대로 req.params.userId 를 가진 사용자를 찾아서 toJSON() 해주고 "data" 로 프론트 서버에 넘겨주었습니다. 여기가 문제인가 싶어 data.id 등을 찍어봤는데 값이 잘 나옵니다. (userInfo 라고 되어있지만 data.id 임) 그러고 나서 sagas/user.js 에서 result.data 도 찍어봤는데 잘 나왔습니다. 이제 reducers/user.js 에서 LOAD_USER_INFO_SUCCESS 액션에서 draft.userInfo = action.data 해주었는데 화면에 사용자 정보도 안 뜨고 userInfo: null 이라고 뜹니다 ㅠㅠ user/[id].js 부분 입니다. (프론트 서버) (브라우저 화면)
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 정렬 질문드립니다.
function solution(arr) { let answer = arr; let finish; let stop; for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j < arr.length - i - 1; j++) { if (answer[j + 1] < answer[j]) { [answer[j], answer[j + 1]] = [answer[j + 1], answer[j]]; } } console.log(answer); } return answer; } let arr = [13, 5, 11, 7, 23, 15, 1, 4, 10, 40]; console.log(solution(arr)); 정렬할때 answer를 출력해보면 붉은 박스 화살표에서 정렬이 이미 완료된 시점이라 더 이상 for문을 돌리지않고바로 종료시키려고 합니다. function solution(arr) { let answer = arr; let finish; let stop; for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j < arr.length - i - 1; j++) { if (answer[j + 1] < answer[j]) { [answer[j], answer[j + 1]] = [answer[j + 1], answer[j]]; } } console.log(answer); ////////// if (finish) { for (let x = 0; x < arr.length; x++) { stop = -1; if (answer[x] !== finish[x]) { stop = 1; break; } } } if (stop === -1) return answer; finish = [...answer]; ///////// } return answer; } 이렇게 이전 anwer값과 이후 anwer 값을 비교해서 차이가 없다면 바로 함수를 종료시키려고 하는데 i=0일때부터 계속 비교를 해서그런지 오히려 효율성은 조금 떨어지는것 같습니다. 혹시 다른 좋은 방법이 있을까요?? 아니면 별로 의미 없는 작업일까요? ㅎㅎ...
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
어셈블리어를 어느 정도까지 알아야 할까요?
초반 어셈블리어 강의를 듣고 C++과 어셈블리어를 연계하여 설명하는 강의를 들었는데 어셈블리어에 대한 필요성을 느꼈습니다. . C에서 C++로 C++에서 C#으로 넘어가는 등 프로그래밍을 배울 때 최신 기술들이 아무리 많이 나와도 다 이전 기술들을 기반으로 나왔다는 것이 느껴집니다. . 이전 기술의 이전 기술 그 보다 더 이전 기술인 오리지널이라고 해야하나? 아예 밑바닥 기술을 탄탄히 해야한다고 느끼고 있습니다. . 과거에 회사에 소속되어 개발자 일을 하시다가 최근 프리랜서로 전환하신 분이랑 얘기를 해봤는데, 본인은 과거 카드에 구멍을 뚫어서 프로그래밍 하던 시절이 있었다고 요즘 프로그래밍은 과거에 비해 너무 쉬워지고 유니티 같은 쉬운 툴도 많이 생겨서 기초를 탄탄히 쌓지 않은 개발자들이 많이 양산되고 있다고 하시더군요. 과거에 어렵게 프로그래밍 하시던 시절이 후회 되냐고 물어보니, 그 어렵게 프로그래밍 하던 시절이 있어서 본인 기본기가 탄탄해졌다는 뉘앙스로 말하셨어요. . 그래서 더욱 오리지널 기술인 기반 기술, 밑바닥 기술 같은 것을 탄탄히 해야 하는 것을 느끼고 있습니다. (만약 제가 느끼고 있는 것이 잘못된 것이라고 생각하시면 잘못된 것이라고 말해주세요.) . 근데 어셈블리어 말고 배울게 많죠. 지금 이 강의를 듣고 있는 C++, 게임수학, 다이렉트X, 서버 등 이후 코드 깔끔하게 작성하는 법, 리팩토링 하는 법, 게임 디자인 패턴 등도 공부해야 하는데 현업에서 필요할 때마다 디버깅 해서 또 필요하면 어셈블리까지 까봐야죠. . 강의 들으면서 설명 해주는 것으로 C++을 어셈블리어로 해석하는 것은 되지만, 혼자 스스로 하는 것은 잘 안되더라고요. 추상적으로 이 흐름이겠지라고 예측하는 정도이려나? . 그래서 어셈블리어 공부를 따로 해서 어셈블리어를 탄탄하게 공부하는 것이 좋을까요? 아니면 추상적으로만 알고 있는게 좋을까요? 만약 추상적으로만 알고 있는거면 어느 정도 추상적으로 알고 있는 것이 좋을까요? 또 지금 공부하는 것이 좋을까요? 나중에 공부하는 것이 좋을까요? 나중에 공부하는 것이 좋다면 어느 수준에 올라갔을 때 어셈블리어를 탄탄하게 공부하는 것이 좋을까요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
도커파일 VOLUME 질문입니다.
4분 20초쯤에 volume에 관한 설명에서 container에서의 volume은 호스트pc의 폴더와 연결한다는건 이해했는데 dockerfile에서 volume은 볼륨을 단순히 만든다는게 정확히 무슨뜻인지 좀 알 수 있을까요?? 이해가 안되네용
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
@TransactionRepository 사용시 expected 1 arguments, but got 0. (TS2554 에러)
안녕하세요. 제로초님. 유익한 강의 잘 보고 있습니다!! TransactionRepository 데코레이터 관련 질문 입니다. @Transaction() async getAll(@TransactionRepository(Users) usersRepository: Repository<Users>) { ... } 만약 위처럼 Transaction 데코레이터를 쓴다고 할 때 Controller에서는 @Get() async getUsers() { return await this.usersService.getAll() // 여기서 `Expected 1 arguments, but got 0.` 에러 발생. } 작성하면, 요청은 잘가는데 Typescript 에러 메세지가 뜨는데 또다른 작업을 해줘야 하나요??
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
pfsense 설정 문의
안녕하세요. 본 강의 수강하고 있는 학생입니다. 개인적인 PC사양으로 인해 세번째 Vmware workstation만 사용하는 환경에서 실습을 진행하고 있습니다. 이 경우는 pfsense 설치 후 어떤 설정이 필요한지 문의 드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
fetchJoin() 에러 발생
안녕하세요 fetchJoin() 할 때 에러가 발생하는데 해결방법을 찾을 수 없어 조언을 구합니다 정상 동작 query.from(A) .leftjoin(A.B , B).fetchJoin() 에러 발생 query.from(A) .leftjoin(A.B , B).fetchJoin() .leftjoin(A.B.C , C).fetchJoin() fetchJoin할 때 엔티티 탐색(?)이 1단계 더 생기면 아래 에러가 발생합니다 도저히 해결이 안되네요 비슷한 질문이 있었는데 dto도 아닌 것 같네요 관계설정은 잘 한 것 같은데 전부 many to one > many to one으로 나아갑니다 org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list [FromElement{explicit,not a collection join,fetch join,fetch non-lazy
-
미해결Slack 클론 코딩[실시간 채팅 with React]
수업 방향 어떻게 따라가면 좋을까요?
안녕하세요. 개발 배우면서 검색 하다 제로초님 블로그는 많이 봤는데 강의는 처음입니다.ㅎㅎ 다름 아니라, 수업을 들으면서 어느순간 코드 대부분이 작성되어있는 식으로 진행이 되는데.. github도 참고해보려 했으나 완성된 버전이더라고요. 강의 화면에서 보여주는 코드들은 화면 내 일부만 보이다보니 어떻게 따라가야 될지? 어떤 식으로 진행하면 좋을지? 제로초님의 의견을 여쭤봅니다.
-
미해결3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
화면 왼쪽에 설정을 어떻게 해야하나요?
삭제된 글입니다
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
127.0.0.1:[NodePort Port Numbe] 실행시 연결실패
서비스 생성까지 완료후 연결 오류가 뜹니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
비밀번호 일치 확인 코드
<div class="timeline"> <form id="join-form" action="/auth/join" method="post"> <div class="input-group"> <label for="join-email">이메일</label> <input id="join-email" type="email" name="email"></div> <p class="email-content"></p> <div class="input-group"> <label for="join-nick">닉네임</label> <input id="join-nick" type="text" name="nick"></div> <div class="input-group"> <label for="join-password">비밀번호</label> <input id="join-password" type="password" name="password"> </div> <div class="input-group"> <label for="join-password2">비밀번호 확인</label> <input id="join-password2" type="password" name="password2"> <p class="password-content"></p> </div> <button id="join-btn" type="submit" class="btn">회원가입</button> </form> </div> {% endblock %} {% block script %} <script> window.onload = () => { if (new URL(location.href).searchParams.get('error')) { alert('이미 존재하는 이메일입니다.'); } const input = document.querySelector('#join-email'); const p = document.querySelector('.email-content'); const isEmail = (value) => { return (value.indexOf('@') > 1) && (value.split('@')[1].indexOf('.') > 1) } let value; input.addEventListener('keyup', (event) => { value = event.currentTarget.value; if (isEmail(value)) { p.style.color = 'green'; p.textContent = `이메일 형식입니다`; } else { p.style.color = 'red'; p.textContent = `이메일 형식이 아닙니다`; } }); const isPassword = (value1, value2) => { return value1 === value2; } const password1 = document.getElementById('join-password').value; let password2; const pwd2 = document.querySelector('#join-password2'); const p2 = document.querySelector('.password-content'); pwd2.addEventListener('keyup', (event) => { password2 = event.currentTarget.value; if(password1 !== password2){ p2.style.color = 'red'; p2.textContent = `비밀번호가 일치하지 않습니다`; } else { p2.style.color = 'green'; p2.textContent = `비밀번호가 일치합니다`; } }); const btn = document.querySelector('#join-btn'); let status = ()=>{ return isEmail(value) && isPassword(password1, password2); } btn.addEventListener('click',(event)=>{ if(!status()){ event.preventDefault(); alert(`모든 항목을 제대로 입력해주십시오`); } }) }; </script> {% endblock %} 이메일이 이메일 형식인지 확인하고, 비밀번호가 일치하는지 확인을 하는 작업을 추가하려고 코드를 작성했는데, 이메일의 경우에는 이메일 형식이다 아니다가 정상적으로 잘 작동하는 반면에, 비밀번호의 경우에는 같은 비밀번호를 몇 번을 입력해도 계속해서 비밀번호가 일치하지 않는다는 결과가 출력됩니다. 혹시 이유를 알 수 있을까요 ㅠㅠ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberForm? Dto?
강의에서 구현한 MemberForm이 Dto와 같은 개념인가요? MemberForm을 사용하신 이유에 대해 설명하신것을 들어보면 Dto와 같은 것 같은데 만약 같은것이면 왜 Dto라 명명하지 않으신건지, 혹은 Dto와 다른 개념이면 어떤 점이 다른것인지 궁금합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Entity setter
Entity에 setter을 구현하는 것을 지양해야 하는 것으로 알고있어 Data 어노태이션 대신 Getter 어노태이션만 사용하여 실습을 징행하고있습니다. 그런데 userEntity.setEncrypted 이 부분을 사용하지 못하는데 그러면 DTO -> Entity로 바꿀때 userEntity.setEncrypted 이부분을 어떻게 하는게 좋나요?? Entity클래스에 따로 setter함수 대신 다른 함수를 만들어 사용하면 될까요??
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
안녕하세요. 질문을 드리고 싶은데, 슬랙 채널 알려주실 수 있나요?
안녕하세요. 수강평은 남겼습니다 감사합니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
// 각 행의 합, // 각 열의 합, // 두 대각선의 합 function solution(arr) { let row = []; let col = []; let cross = []; let colSum = 0; let crossLeft = 0; let crossRight = 0; // 각 행의 합 for (let i = 0; i < arr.length; i++) { let sum = arr[i].reduce((acc, cur) => acc + cur); row.push(sum); } // 각 열의 합 for (let i = 0; i < arr.length; i++) { colSum = 0; for (let j = 0; j < arr.length; j++) { colSum += arr[j][i]; } col.push(colSum); } // 두 대각선의 합 for (let i = 0; i < arr.length; i++) { crossLeft += arr[i][i]; } cross.push(crossLeft); for (let j = arr.length - 1; j !== 0; j--) { crossRight += arr[j][j]; } cross.push(crossRight); console.log(row); console.log(col); console.log(cross); return Math.max(...row, ...col, ...cross); }
-
미해결ELK 스택 (ElasticSearch, Logstash, Kibana) 으로 데이터 분석
logstash 스타트 불가
logstash를 start하면 계속 아래와 같이 출력됩니다. 구글링을 아무리해봐도 해결책이 안나오는데... 어떻게 하면 될까요..?? 참고로 윈도우10에서 우분투 환경입니다. md2_global@DESKTOP-Q1V5J1G:~/downloads$ sudo systemctl start logstash.service System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
거리를 0
안녕하세요 선생님. 거리를 1000으로 두는 이유가 궁금합니다. 거리 값을 1000으로 두어도 타겟 문자를 만나면 0으로 초기화 되는데 왜 0이 아닌 큰 값으로 설정을 하신건가요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
어쩐 이유에선지 8080포트가 사용중이라 실행이 안됩니다..ㅠ
계속 8080포트가 사용중이라 에러 메시지가 떠서 따로 cmd에서 포트 번호 확인해봤는데 8080포트는 나오지도 않습니다... 왜 이러는지 모르겠습니다...
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
/hello could not parse an expression 오류 뜨시는 분들
<p th:text="'안녕하세요' + ${data}"></p> 이 부분을 <p th:text="${'안녕하세요' + data}"></p> 요렇게 수정하면 되네요