묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
학습 방법에 대해 질문드립니다.
안녕하세요. 강의를 학습하다가 어느 정도 수준까지 학습해야 하는지? 근본적인 궁금증이 생겨 질문드립니다. 제가 생각한 학습수준은 다음과 같은데요, 1. 별다른 설명 없이 코드를 보고나서 이게 뭔지 이해할정도의 수준 2.강의중 설명해주시는 개별 함수들을 외우는 수준 + 1 3.강의중 달아주시는 주석(주제에 대한 설명)들을 외우는 수준 + 1, 2 4.강의에서 나오는 구조들을 파악하고 어떻게 돌아가는지 아는 수준 + 1, 2 ,3 5.별도의 참고 내용 없이, 강의의 예시 그대로 강의 안보고도 똑같이 코딩할수 있는 수준 + 1, 2 ,3, 4 6.다른 사람들에게 5의 내용을 설명할수 있는 수준 + 1, 2 ,3, 4, 5 7.강의에 나온 내용들을 응용해서 포트폴리오 게임을 제작할수 있는 수준 + 1, 2 ,3, 4, 5, 6 강의를 들을떄 대략 어느 수준을 목표로 하며 공부하는것이 좋을까요? 물론 완벽하게 강의의 내용을 100% 흡수하는것이 가장 좋겠지만, 시간적인 제약도 있어서 질문드려봅니다. 약간 무례한 질문일수도 있지만, 답변해주신다면 정말 감사하겠습니다. 무더운 여름날 건강히 보내세요!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
getWriter().write()랑 getWriter().println()이 무슨 차이인가요?
getWriter.write()랑 println()의 차이가 뭔지 알고 싶습니다!
-
미해결
파이썬 출력이 안됩니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
TypeError: nextCallback is not a function (next-redux-wrapper 7.0)
next-redux-wrapper가 7.0.0 버전으로 업데이트되면서 수정사항이 생겼습니다. 에러 Server Error TypeError: nextCallback is not a function 해결 방법(변경사항) version 6.0.2 > const getServerSideProps = wrapper.getServerSideProps(async (context) => { context.store.dispatch(~~~); context.store.dispatch(END); await store.sagaTask.toPromise(); }); version 7.0.0 > const getServerSideProps = wrapper.getServerSideProps( (store) => async ({ req, res, ...etc }) => { store.dispatch(~~~); store.dispatch(END); await store.sagaTask.toPromise(); } ); 추가적으로 동적라우팅 (강의 : 다이나믹 라우팅) 할 때도 (req, res, ...etc) > (req, res, params, ...etc) 로 수정하시면 됩니다. next-redux-wrapper 참고 자료(getServerSideProps) (https://github.com/kirill-konshin/next-redux-wrapper#getserversideprops) 변경사항 (https://github.com/kirill-konshin/next-redux-wrapper#upgrade-from-6x-to-7x)
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
범위 전송 질문입니다.
안녕하세요 선생님. 항상 좋은 강의 잘듣고 있습니다 POST 같이 리소스 생성하는 곳에 범위전송을 걸면 중복으로 리소스 생성이 요청이되서 GET,PUT 같이 멱등성이 만족하는 메서드에만 써야될거 같은데 제가 생각한게 맞나요?
-
미해결실전! 웹사이트제작! Step by Step! ('돕다' 사이트제작_Basic Course)
잘못 구입한거 같네요..
제 기억에 똑같은 내용이 유튜브에 올라왔었고 이건 나머지 세부까지 다 만드는 영상인줄알았는데.. 뭔가 만들다 만 느낌이네요 ㅠㅠ
-
미해결실전! 스프링 데이터 JPA
JPA 에서 행 연산 방법 질문입니다
안녕하세요 JPA 로드맵을 따라 JPA를 공부하고 있는 수강자 입니다. 만약 테이블에 상품명, 상품 수량, 상품 단가 가 있고 이를 출력할때는 상품명, 상품 수량, 상품 단가, (수량 * 단가 ) as 비용 ...; 이런식으로 데이터 행의 다른 컬럼의 값을 연산해서 출력 한다거나 조건문에 넣을수 있는 방법이 JPA에 있나요? 아니면 네이티브 쿼리나 마이바티스 같이 SQL 자체를 직접 작성해야 하는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
'관심사의 분리'에서 별개의 memberrepository인스턴스
'관심사의 분리' 강의에서 아래와 같이 MemoryMemberRepository인스턴스를 따로 만들었는데 테스트가 통과하는 이유를 모르겠습니다. 멤버에 join해도 OrderService내의 memberrepository에는 안들어올테고, 할인이 제대로 처리 안돼야 정상일듯 해서요.
-
미해결유니티(Unity)로 시작하는 게임개발: Part 2. C# 프로그래밍 입문
연습문제파일
강의 항상 잘보고 있습니다. 강사님 강의를 보다보면 연습문제 모아논 파일들이 있는데 혹시 연습문제 모음집이 따로 있나요?? 찾을수가 없네요..
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
401 unauthorized error
안녕하세요 강사님! 늘 빠른 답변 감사합니다. 다름이 아니라 제가 해당 영상을 보고 제 docker registry 에 eureka image 를 push 하기 위해서 build를 하려고 하는데, 다음과 같은 에러가 뜨더라구요. [+] Building 1.5s (4/4) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 37B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => ERROR [internal] load metadata for docker.io/library/openjdk:17-ea-11-jdk-slim 1.4s => [auth] library/openjdk:pull token for registry-1.docker.io 0.0s ------ > [internal] load metadata for docker.io/library/openjdk:17-ea-11-jdk-slim: ------ failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to authorize: rpc error: code = Unknown desc = failed to fetch oauth token: unexpected status: 401 Unauthorized 무엇이 문제일까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
OneToOne 매핑에서 Unique constraint와 Soft delete
안녕하세요, 김영한 강사님. 일대일 관계에서 DB에 Unique constraint를 걸어준다는 것에는 공감이 되었습니다. 그런데 저번 강의 어떤 질문에서, 실무에서는 데이터 이력 유지를 위해 deleted를 나타내는 컬럼을 추가하여 활용한다고 말씀하신걸 봤는데, 이 경우 만약 Member의 기존 Locker가 삭제되어야하고, 새로운 Locker를 매핑해주어야 한다면, memberId에 걸린 Unique constraint에 의해 새로운 Locker 추가가 불가능한것이 아닌가 생각이 들었습니다. 짧은 검색을 통해 제약조건을 deleted = false인 컬럼에만 걸수 있는 방법이 있다는 것을 알았는데요, 실무에서도 이렇게 사용하시는지, 다른 방법이 있을지 궁금합니다. 감사합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
회문문자열 질문
public String mysolution(String str) { Boolean answer = true; str = str.toLowerCase(); char[] c = str.toCharArray(); int lt = 0 , rt = str.length()-1; while(lt<rt) { if(c[lt]!=c[rt]) { answer = false; break; } lt++; rt--; } return answer ? "YES" :"NO"; } 위처럼 문자열바꾸기 할떄 썼던 방법을 쓰는것 보다 강의에서 풀어주신 방법이 더 효율적인 이유가 궁금합니다!!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 관계에서 '주인이 아닌쪽은 읽기만 가능'의 의미가 궁금합니다.
안녕하세요, 김영한 강사님. 양방향 매핑 관계에서 '주인이 아닌쪽은 읽기만 가능하다' 라고 설명해 주셨는데요, 이 의미가 잘 이해가 가지 않습니다. 저는 이를 이해하기로, Member(하인) - Order(주인) 관계에서 List<Order> orders = member.getOrders(); 로 가져온 order 객체들에 대해 수정이 불가능하다라고 이해를 했는데요, 간단한 실험을 해보니 orders.forEach(order -> { order.setOrderStatus(OrderStatus.CANCEL); entityManager.persist(order); }); 의 방법으로 order들이 update 되는 것을 확인할 수가 있었습니다. 반대로 order.getMember(); 로 가져온 member들에도 수정이 가능했고요. 혹시 제가 잘못 이해하고 있는것일까요? 감사합니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
좋은 강의 만들어 주신 덕분에 지난 과제와 이번 과제 모두 혼자 할 수 있었습니다.
좋은 강의 내주셔서 정말 감사드립니다. 처음에는 내가 할 수 있을까 걱정했지만, 지난시간과 이번 시간에 내준 과제 모두 스스로 해결했습니다. 강의를 들으면 들을수록 제 자신이 성장하는게 느껴지네요. 특히 뷰 만드는것이 제일 힘들었는데, 강의 보면서 터득한 부트스트랩으로 도큐멘트를 보면서 만들어보니 재밌더군요, 과제 구현 중에 Subgraph라는 것을 말씀하셨는데, @EntityGraph(attributePaths = {"event", "event.study"})List<Enrollment> findByAccountAndAcceptedOrderByEnrolledAtDesc(Account account, boolean accepted); 이런식으로 해도 동작하더라구요. 그래도 이렇게 하는 것 보다 엔티티 도메인 클래스에 직접 명시해주는게 낫나요? 항상 좋은 강의 감사드립니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
백엔드에대한 응답처리
saga에서 백엔드 요청을하고 그에대한 응답처리도 saga에 작성해둔 try catch 문으로 해결하는데 여기서 백엔드에서 로그인 미들웨어로 로그인안된경우 응답을 exports.isLoggedIn = (req, res, next) => { if (req.isAuthenticated()) { next(); } else { res.status(401).send('로그인이 필요합니다.'); } }; 이렇게 하게되어있습니다. 여기서 로그인 체크 미들웨어에서 로그인이 안되어서 응답을 401 로그인이 필요합니다로 전달하게되면 saga에서 작성된 try catch 에서 에러를 잡아서 상태를 변경하는데 만약 로그인이 되어있지않아 "로그인이 필요합니다"라는 응답을 메세지로 화면에 보여주고싶으면 이것도 saga에서 처리하는게 맞나요? 현재 코드는 function likePostAPI(data) { return axios.patch(`/post/${data}/like`); } function* likePost(action) { try { const result = yield call(likePostAPI, action.data); yield put({ type: LIKE_POST_SUCCESS, data: result.data, // {PostId: ... UserId: ...} }); } catch (err) { console.error(err); yield put({ type: LIKE_POST_FAILURE, data: err.response.data, }); } } 에러발생시 응답으로 전달된 "로그인이 필요합니다." 에러메세지를 띄우려고 할 경우 아래처럼 작성하려는데 다른 좋은방법이있나요? 아니면 그냥 아래처럼 작성해도 괜찮을까요?? function likePostAPI(data) { return axios.patch(`/post/${data}/like`); } function* likePost(action) { try { const result = yield call(likePostAPI, action.data); yield put({ type: LIKE_POST_SUCCESS, data: result.data, // {PostId: ... UserId: ...} }); } catch (err) { console.error(err); alert(err.response.data); yield put({ type: LIKE_POST_FAILURE, data: err.response.data, }); } }
-
미해결Tip으로 배우는 엑셀(Excel)
2:21분 즈음에 절대참조를 언급하시는데 그건 어떤건가요?
절대참조는 어떤 것인지 궁금합니다.
-
미해결처음 배우는 리액트 네이티브
Notification Icon들의 색깔과 배경을 어떻게 바꿀까요?
react native를 이제 막 배우는 초보입니다. 간단하게 webview를 통해 개발의 맛을 보고 있는 중인데요. Notification bar에 나오는 아이콘들의 색깔와 배경을 어떻게 지정을 하는지 모르겠어요 --; 강의를 들어보고, doc을 찾아봤는데도 어떻게 접근을 해야할지 몰라서입니다. 마찬가지로 제일 하단에 home 버튼, back버튼의 색깔와 배경도 어떻게 접근을 해야할지요? 아래와 같이 해봤답니다. --; import * as React from 'react'; import {StyleSheet,View, Text} from 'react-native' ; import { NavigationContainer} from '@react-navigation/native'; import { createStackNavigator} from '@react-navigation/stack'; import { WebView } from 'react-native-webview'; function HomeScreen() { return ( <WebView source={{ uri: 'http://segerodc.org/' }}/> ); } const Stack = createStackNavigator(); function App() { return ( <NavigationContainer> <Stack.Navigator screenOptions={{ headerStyle:{ height:27, backgroundColor: '#555555', }, headerTitleStyle:{ fontSize: 0, }, headerTintColor: '#fff', }} > <Stack.Screen name="Home" component={HomeScreen} /> </Stack.Navigator> </NavigationContainer> ); } export default App;
-
미해결리눅스 입문 - 개념으로 탄탄히!!
리눅스를 쓰는 이유
안녕하세요 선생님. 정말 좋은 강의 제공해주셔서 감사드립니다. 들으면서 드는 생각이 있어 질문 드립니다. 어떤 프로그램을 최대한 활용하기 위해서는 CLI를 이용하는 것이 좋은 것 같다는 생각이 드는데, OS가 리눅스여야 하는 이유가 있나요? 윈도우에서 CLI를 통해 프로그램을 이용하는 것보다 리눅스에서 프로그램을 이용하는게 속도가 더 빠른건가요?
-
미해결업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초
FileNotFound Error
driver = webdriver.Chrome() 이걸 입력했더니 아래와 같은 에러가 뜨네요 ..크롬 드라이버 버전확인해서 설치했고 맥북입니다! -------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/common/service.py in start(self) 71 cmd.extend(self.command_line_args()) ---> 72 self.process = subprocess.Popen(cmd, env=self.env, 73 close_fds=platform.system() != 'Windows', /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, user, group, extra_groups, encoding, errors, text, umask) 950 --> 951 self._execute_child(args, executable, preexec_fn, close_fds, 952 pass_fds, cwd, env, /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session) 1820 err_msg = os.strerror(errno_num) -> 1821 raise child_exception_type(errno_num, err_msg, err_filename) 1822 raise child_exception_type(err_msg) FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver' During handling of the above exception, another exception occurred: WebDriverException Traceback (most recent call last) <ipython-input-12-ec48251f04f8> in <module> ----> 1 driver = webdriver.Chrome() /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py in __init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, keep_alive) 71 service_args=service_args, 72 log_path=service_log_path) ---> 73 self.service.start() 74 75 try: /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/webdriver/common/service.py in start(self) 79 except OSError as err: 80 if err.errno == errno.ENOENT: ---> 81 raise WebDriverException( 82 "'%s' executable needs to be in PATH. %s" % ( 83 os.path.basename(self.path), self.start_error_message) WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
완강 후
강사님 강의 너무 잘 듣고있습니다^^ 하루에 4문제 정도 꾸준히 풀고 강의 듣고있습니다. 다름이 아니라 몇일 지나면 강의를 다 볼 것같은데 아직 문제를 딱 보고 뭘 물어보는 문제이고 어떻게 접근해야할지를 정확하게 모르겠어서 해당 강의 문제를 다시 풀어볼려고하는데 .. 새로운 문제를 도전하는게 좋을까요?