묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
소스코드 다운 에러
소스코드 다운받았는데 압축이 안풀립니다. 확인 부탁드립니다.
-
미해결인터랙티브 웹 개발 제대로 시작하기
질문있습니다!!
안녕하세요, 정말 잘 보고있는 수강생입니다. 항상 좋은 강의 감사드려요~ 질문이 2가지 있어 질문해봅니다. 1. new Character()에 new연산자를 붙이는 이유 - Character()만 해도 일분이 캐릭터가 생성이 되는데 new 연산자를 붙혀주는 이유는 무엇인가요? Character() 함수에서 선언한 this.mainElem이 삭제되지 않게 하기 위해서 인가요? 2. 아래 코드에서 처럼 stage에 mainElem을 넣은 후에 mainElem.style에 left속성을 세팅해주셨는데 그렇게 하면 appendChild하는 순간 렌더링이 끝나 left속성이 반영이 안될수도 있지 않을까요? 정확히는 렌더링이 언제 되는지 궁금합니다... 감사합니다~ 좋은 강의 더 만들어주세요 응원할게요~
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
localhost를 실행하면 시작화면이 로그인 되어있는 상태로 시작합니다..
localhost를 실행하면 시작화면이 로그인 되어있는 상태로 시작합니다.. 로그아웃도 되지 않습니다 해결 방법을 알 수 있을까요?
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
@nestjs/graphql , class-validator
안녕하세요 ㅎㅎㅎ 강의를 너무나도 잘듣고있습니다. 다른 코드를 보고있는데여 . graphql 를 사용해보지 않았지만 @nestjs/graphql 를 가져와서 마치.. class-validator 를 사용해서 dto 작성할때처럼 사용되어지는것을 봤습니다. 둘 비슷하다고 생각하면 될까요 ?? 아니면 완전 다른것일까요 .
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님 코드 확인좀 부탁드립니다!
function solution(arr) { let answer = Number.MIN_SAFE_INTEGER; let check = Array.from({ length: arr.length }, () => false); for (let i = 0; i < arr.length; i++) { if (!check[i]) { let tmp = arr[i]; let cnt = 1; for (let j = i + 1; j < arr.length; j++) { if (tmp < arr[j]) { tmp = arr[j]; check[j] = true; cnt++; } } answer = Math.max(answer, cnt); } } return answer; } let arr = [5, 3, 7, 8, 6, 2, 9, 4]; console.log(solution(arr)); 선생님 이렇게 이미 어딘가에 포함된 배열은 check를 해서 건너뛰는 방식으로도 풀어보았는데요, 맞게끔 푼 것인지 잘 모르겠는데 확인좀 부탁드립니다!
-
미해결스프링 시큐리티
/preAuthorize 접근 시 NullPointerException
안녕하세요. @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true) 설정 후 /preAuthorize 접근하니 아래와 같이 예외가 발생하였습니다. https://github.com/pmamoon/study 에 소스를 올렸습니다. 검토 부탁드립니다. 감사합니다. java.lang.NullPointerException: null at org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl.getReachableGrantedAuthorities(RoleHierarchyImpl.java:141) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.expression.SecurityExpressionRoot.getAuthoritySet(SecurityExpressionRoot.java:167) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.expression.SecurityExpressionRoot.hasAnyAuthorityName(SecurityExpressionRoot.java:83) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.expression.SecurityExpressionRoot.hasAnyRole(SecurityExpressionRoot.java:79) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.expression.SecurityExpressionRoot.hasRole(SecurityExpressionRoot.java:75) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:130) ~[spring-expression-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:139) ~[spring-expression-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:95) ~[spring-expression-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:188) ~[spring-expression-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.expression.spel.ast.OpAnd.getBooleanValue(OpAnd.java:57) ~[spring-expression-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.expression.spel.ast.OpAnd.getValueInternal(OpAnd.java:48) ~[spring-expression-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:117) ~[spring-expression-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:302) ~[spring-expression-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:26) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.expression.method.ExpressionBasedPreInvocationAdvice.before(ExpressionBasedPreInvocationAdvice.java:59) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.prepost.PreInvocationAuthorizationAdviceVoter.vote(PreInvocationAuthorizationAdviceVoter.java:72) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.prepost.PreInvocationAuthorizationAdviceVoter.vote(PreInvocationAuthorizationAdviceVoter.java:40) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.vote.AffirmativeBased.decide(AffirmativeBased.java:63) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:233) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:65) ~[spring-security-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747) ~[spring-aop-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) ~[spring-aop-5.2.1.RELEASE.jar:5.2.1.RELEASE] at io.security.corespringsecurity.aopsecurity.AopSecurityController$$EnhancerBySpringCGLIB$$b9f56cb.preAuthorize(<generated>) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.2.1.RELEASE.jar:5.2.1.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.27.jar:9.0.27]
-
미해결홍정모의 따라하며 배우는 C언어
3.13 불리언형
#include <stdio.h> #include<stdbool.h> int main() { printf("%u\n", sizeof(_Bool)); // 1 byte _Bool b1; // Bool type 은 true 나 false -> 2가지만 가질 수 있음 b1 = 0; // false b1 = 1; // true // -> 정수형이기 때문에 false : 0, true : 1 printf("%d\n", b1); bool b2, b3; b2 = true; b3 = false; printf("%d %d\n", b2, b3); return 0; } 이렇게 코드 작성했는데 계속 식별자 "_Bool " 이 정의되어 있지 않다는 오류 메시지가 뜹니다 ㅠㅠ 영상에선 오류없이 잘 작동이 되던데 혹시 뭐가 문제인지 알 수 있을까요?
-
해결됨게임 프로그래머 취업 전략 가이드
영어 독해는 어떻게 공부해야하나요?
서류 전형 - 스펙에 영어에 관한 얘기가 나왔는데 그 중에서 영어 독해가 중요하다고 했는데요. 저도 옛날부터 신기술들을 영문 위주로 나오는 걸 느껴서 주위 사람들한테 영문서 읽는 걸 어떻게 해야하냐고 물어보니깐 그냥 읽으라고 합니다. 그냥 읽으면 나중에는 읽힌다고 해서 말도 안되는 말이긴 하지만 그 사람 경험이겠거니 해서 했는데 안되네요. 이 강의의 이후 교육과정을 보더라도 딱히 영어 공부하는 방법에 대한 내용이 없을 것 같아서 물어봅니다. 영어 독해는 어떻게 공부해야하나요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
ㅠㅠ주말에도 공부하고 싶어요 빨리부탁드려요 현기증나요
인프런 아이디 : wlsgus1149 인프런 이메일 : wlsgus1149@naver.com 깃헙 아이디 : wlsgus5932 깃헙 Username : wlsgus5932 ㅠㅠㅠ주말에도 공부하고 싶어요 빨리 부탁드려요 현기증나요
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
12장 몽고 DB대신 mysql로 사용해보려합니다.
안녕하세요 12장에서 데이터베이스를 몽고DB로 사용하지 않고 mysql로 사용해보려합니다. 카카오톡 연동 로그인 때문인데요(9장) schemas/chat.js room: { type: ObjectId, //ObjectId :명시적으로 ID를 선언할 때, required: true, ref: 'Room', //몽구스가 populate로Room의 Object가 아니라 Room에 대한 정보 객체로 치환 해줌 }, 혹시 이 선언을 mysql로 바꾸려면 어떻게 해야할까요?
-
미해결리눅스 쉘 스크립트 마스터
파일접근권한 강의
파일접근권한 강의에 chmod에 대한 설명이 있을줄 알았는데 없네요! 뒤에서 나오나요?
-
해결됨리액트로 나만의 블로그 만들기(MERN Stack)
build후 빈창만 뜬다면(해결법!)
환경: window 실행: putty 에서 실행, 인스턴스 t2 small 사용중 문제: 성공적으로 db까지 연결이 됬지만 아무것도 창이 띄어지지 않습니다. 보시다시피 퍼블릭IP주소를 입력했는데 빈값입니다. 혹시나 해서 dns접속도 했는데 새로고침만 화면 304만 뜹니다. 해결법: 원래는 강사님에게 질문하려다가 문제를 해결해서 혹시나 어려움이 있으신분들을 위해 해결법 작성합니다. server-app.js 들어가서 app.use(helmet)을 app.use(helmet({contentSecurityPolicy: false})로 변경 => 깃허브에 푸쉬후 cd MyBlog 가서 git pull => client/npm run build => MyBlog/npm run build:server
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
게임서버 병렬컴퓨팅
안녕하세요 좋은 강의 잘 듣고 있습니다 수업 외로 질문하나 하고 싶습니다 현재 컴퓨터공학 전공인 대학생인데 이번에 '대규모병렬컴퓨팅'이라는 강의를 수강하게 되었습니다 주제는 CUDA programming 입니다 수업에서는 그래픽스, AI 와 같은 분야에서 많이 활용된다고 해서 게임 서버에서 CUDA, OpenCL과 같은 병렬컴퓨팅 기법을 어떤 곳에 사용하는 지, 그리고 자주 사용하는 지 알고 싶습니다 그렇게 중요도가 높지 않다면 지금 당장 수강하지 않고 충분히 서버 쪽 기본기를 다지고 내년에 수강하려고 생각중이어서 질문드립니다 감사합니다 :)
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
localStorage 관련 질문입니다!
todoList를 하실 때 단어를 추가하면 localStorage에 저장하고 이를 store의 state에서 관리를 하셨는데, 그냥 store에서 관리안하고 바로 localStorage에서만 관리하면 안되는건가요?? 만약 test라는 리스트가 있을때, localStorage.setItem('test', test)이런식으로 저장하고 바로 리스트에 localStorage.getItem('test')로 가져와서 뿌려주면 되는데, 굳이 store에서 fetchTestList를 만들어서 test리스트를 관리하는 이유가 있을까요?? (이런 경우 store에서 관리를 안해도 되는지, 다시말해서 다 localStorage에서 관리를 하면 안되는지..) 질문 이해를 하셨을지 모르겠네요ㅠㅠ
-
해결됨홍정모의 따라하며 배우는 C언어
my_strcat 구현에 대해서 질문이 있습니다.
void my_strcat(char* str1, char* str2) { if (sizeof(str1) - strlen(str1) > strlen(str2)) { for (int i = 0; i < strlen(str2); ++i) *(str1 + strlen(str1) + i) = *(str2 + i); } } 이렇게 하고 puts()를 해보면 첫 글자만 덧붙여지길래 디버깅을 해보니 계속 str[13]에 null 이 찍혀있는 것을 확인했습니다. 그래서 도대체 틀린게 무엇인지 오랜시간 고민을 하다가 void my_strcat(char* str1, char* str2) { int number = strlen(str1); if (sizeof(str1) - number > strlen(str2)) { for (int i = 0; i < strlen(str2); ++i) *(str1 + number + i) = *(str2 + i); } } 이렇게 strlen(str1)을 number로 바꿔보니 제대로 작동하는 것을 확인할 수 있었습니다. 그 이유가 무엇인지 정말 궁금합니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
models.py에서 서버단에서 확인한다는 의미와 create.html관련 질문 드리겠습니다.
models.py에서 모델을 설계할때 전 강의서부터, 어떤 필드들은 foms.py에서 메타클래스로 관리를 하고 어떤 필드들은 서버단에서 관리를 한다고 하시는데... 잘 와닿지 않아서요..ㅜㅜ 그 이유와 목적을 여쭤볼 수 있을까요..? 2. 그리고 create.html에서 히든인풋을 만들어 놓는 이유도 여쭤볼 수 있을까요??? <input type="hidden" name="article_pk" value=""> 저 부분인데 설명하시기를 "히든이라는 타입을 가진 인풋을 만들면 나중에 article_pk, 현재 article의 pk가 무엇인가 를 나중에 value값을 통해서 넘겨줄거고, 그거를 서버에서 받아서 comment를 만들때 완성할겁니다." 라고 하셨고, 추후에 article/detail.html에서 with article=target_article %} 을 통해 create.html안에서 변수를 쓸수 있게 된다고 하셨습니다. 그리고 value = {{ article.pk }} 를 해주셔서 "숨겨서 보내는 article.pk라는 밸류에 article.pk를 담아서 서버로 보낸다"라고 하셨는데 무슨말인지 전혀 모르겠네요... 숨겨서 보내는 건 어떤 의미가 있고, 왜 이렇게 하는지 설명 부탁드려도 될까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
선생님 10:15 구간 질문이 있습니다
이니셜 라이저에서 노드 데이터 초기화 해줄때 Node() : _prev(nullptr), _next(nullptr), _data(T()) 에서 _data에 T()를 넣어 초기화 하는데 이렇게 초기화 하니 _data가 0으로 초기화 되더라고요 근데 어떻게 이게 가능 한지 모르겠습니다 각자료형 예를들어 int()의 생성자가 호출되었다고 가정한다 해도 생성자는 반환형이 없어 0을 반환하지 못할텐데 이게 가능한 이유가 어떻게 되나요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
GetType의 개념이 안잡혀요..
GetFields로 Monster의 필드를 가져왔는데 여기서 GetType이 굳이 필요한지 궁금합니다.아니면 GetType이 Monster의 필드를 가져오는 GetField의수단인지 정확히 GetType과 Type의 개념이 잘 안잡히네요....
-
미해결면접과 취업을 부르는 '퍼블리셔 개인 포트폴리오 홈페이지' 제작
선생님 안녕하세요! 포트폴리오 관련 부탁드립니다~
안녕하세요 선생님! 선생님 수업 열심히 잘 듣고있습니다 다름이 아니라 현재 포트폴리오가 80프로 정도는 완성 되었는데요 제가 지금 만들고있는게 제대로 되고있는지 판단이 안 서더라구요ㅠㅠㅠㅠ 전문가의 조언을 구할 방법이 선생님께 여쭤보는 방법뿐이더라구요 ㅠㅠㅠ 바쁘시겠지만 혹시 포트폴리오 피드백을 부탁드려도될까요? 혹시 피드백 가능하시면, 포트폴리오는 이메일로 보내드리는게 좋을까요??
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
dotenv는 그냥 개발할때만 쓰는건가요?
환경변수를 사용하는 이유는 여러 민감한 정보들을 숨기기 위함인데 dotenv를 사용해서 .env파일을 생성하면 나중에 배포용 서버를 aws같은 서버에 올릴 때는 .env 파일을 빼고 aws 인스턴스에 직접 환경변수를 설정해주는건가요? 아니면 배포할때도 .env파일을 같이 올리나요??