묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결시스템엔지니어가 알려주는 리눅스 기초편 Bash Shell Script
챠가운 수강후기를 남겼던 학생입니다
안녕하세요, 몇 달 전 선생님의 강의를 듣고 챠가운(?) 평을 남겼던 학생입니다. 제가 갖고 있는 지식에 비해 선생님이 갖고 계신 지식이 비할바는 아니지만,, 저같은 어중이 떠중이 같은 레벨을 가진 사람들에게 주저말고 고급편을 들으라는 의미에서 평을 남겼는데, 정말 감사하게도 오히려 더 긍정적으로 답변을 달아주신 것을 오늘 보았습니다. 정말 감사합니다.. 모된 수강평도 파워 긍정으로 받아들이시는 모습을 보고,,, 강의 내내 보여주셨던 열정이 다시금 떠올랐습니다. 지난 몇달간 취뽀 후 정신이 없어 인프런에 들어오지 못하다가 이번주말 쉘스크립트 강의를 듣고자 인프런에 들어왔고, 후기를 남겼던 기억이 떠올라 방문하였습니다. 그런데 놀랍게도 제가 만약 고급편을 듣게 되었을 때 상황이 된다면 50%정도(?) 할인된 가격으로 수강할 수 있도록 해주시겠다는 답변을 보게되어 문의를 드립니다.. 그,, 말씀,,, hoxy 아직도 유효한 것일까요....,, 선생님의 고급편 쉘스크립트 강의를 할인된 가격에 들을 수 있을지 문의드립니다..!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
질문 드립니다
현재 수업 Lighting까지 듣고있는데요. 듣던 중 이 수업에 대한 이해도가 어느정도여야 학습이 잘된지 확신이 안서서 질문 드립니다. 지금 함수를 보면 그 함수의 상세한 구현 방식이나 인자들의 쓰임새를 알기 보다는 함수의 대략적인 쓰임새와 중요 인자들만 이해하는 정도로 학습을 하고 있는데요... 혼자서 코드를 안보고 작성할 정도의 이해 해야할까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
경로와 urlpattern
안녕하세요 ! urlPatterns에 경로를 지정해줄 때 "/servlet-mvc/members/new-form"을 예로들자면, 맨 앞의 servlet-mvc는 그저 개발자가 원하는 대로 작성할 수 있는 경로이고, 2번째 members부터 실제 존재하는 폴더를 기준으로 적는건가요? 그리고 이번에 평소에 하던대로 했는데 위의 경로는 제대로 동작하지 않아요 ㅠㅠ 화이트라벨 에러 페이지가 뜹니당.. 서버를 돌렸을 때 8080포트도 확인했고 서블릿으로 작성한 페이지는 제대로 나옵니다. 마지막으로, 경로는 어떤 폴더를 기준으로 인식되는지 궁금합니다 ! 감사합니다.
-
미해결밑바닥 부터 시작하는 머신러닝 입문
Chapter 10에 대한 강의안이 없는것 같습니다.
전체 강의안을 다운 받았는데 그 중에 Chapter 10에 대한 강의안이 missing 돼 있는것 같습니다. 한번만 확인해주시고, 그 부분만 따로 올려주시면 감사하겠습니다. 감사합니다.
-
미해결웹 게임을 만들며 배우는 TypeScript
제로초님 질문있습니다!
as const가 아예 readonly로 변경하지만 배열의 push는 막지 못한다는 자막이 있었는데요 제 tsconfig설정에서 해보니까 push나 splice는 안되고, slice는 되는 것 같네요. 기존 배열이나 객체 변환하는 메소드는 안되고 immutable하게 새로운 배열이나 객체를 생성하는 메소드는 된다고 이해하면 될까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
React re-rendering 관련 질문
안녕하세요! 양질의 강의 감사드립니다. 구현 중 해결되지 않는 부분이 있어 질문 올립니다. 사용자가 의도한 움직임만 하면 좋겠지만, 간혹 직접 URL을 입력하는 경우에 대해 고민하고 있습니다. 여기에서 발생한 한가지 문제가 있습니다. 만약 사용자가 게시글을 조회하고자할 때 정상적으로 조회하는 것이 아닌, URL을 통해 게시글의 id를 직접 접근하는 경우를 생각했습니다. 그런데 만약 해당 id가 DB에 없을 때가 있을 수 있고, 이것이 문제가 될 것입니다. 이 때 브라우저에 alert를 발생시키고 Redirect 시키도록 만들어보았습니다. 그런데 이 때 정상적인 게시글도 접속시 alert가 발생하는 것을 발견했습니다. 확인해보니, 서버의 payload값이 클라이언트의 status를 업데이트하기전에 이미 리액트가 초기렌더링을 마쳐두어 기본값으로 설정해뒀던 false 값으로 인해 정상적인 글도 alert가 발생하는 것을 확인했습니다. 물론 false일 때 텅 빈 <div>를 렌더링시킨 뒤, 리렌더링되는 것을 기다려도 되겠지만 리액트가 setState를 마치고나서 렌더링하는 동기적인 방법이 있을까요? 위 이미지에서 보시는 것처럼 false는 서버로부터 payload값을 받아와 저장하는 ServerRes status의 기본값이고, 여러번 false로 렌더링되다가 서버에서 보내준 payload 값을 ServerRes에 업데이트하여 유도된 페이지가 렌더링되는 것을 확인할 수 있었습니다. 아직 react-hook이 익숙하지 않아 발생하는 문제인 것 같습니다 ㅠ.ㅠ. 감사합니다.
-
해결됨블록체인 Dapp 이더리움_트랜잭션
예제 소스 질문 입니다.
안녕하세요! 저번에 문의한 내용에 대한 답변 너무 너무 감사합니다. 이번에도 하나 더 질문 드립니다. 로컬pc에서 가나슈어를 이용하여 테스트하면 정상적으로 동작합니다. 하지만 서버에 geth설치 후 실행하면 3번째 setTx를 이용하여 구현한 부분이 에러가 나네요! 이것저것 로그를 찍어보고 있는데요 Returned error: invalid sender <-- 이런 오류가 발생되네요.. 혹시 어떤 오류 인지 아시는지요~ 전체 오류 로그 txCount ==>113 from ==>0xE9bb502a7150d5326bE9a16BAA9aada75a644c4b privateKey ==> ������v�� �t��ʥ%m�%� }��< address ==>0xd617FB0b6ba3f3855c903a73225DCbD4511E9Fd1 data ==>0x60fe47b100000000000000000000000000000000000000000000000000000000000085c2 verifySignature =>true XshellError: Returned error: invalid sender at Object.ErrorResponse (/home/dapp_tx/node_modules/web3-core-helpers/lib/errors.js:28:19) at /home/dapp_tx/node_modules/web3-core-requestmanager/lib/index.js:302:36 at XMLHttpRequest.request.onreadystatechange (/home/dapp_tx/node_modules/web3-providers-http/lib/index.js:98:13) at XMLHttpRequestEventTarget.dispatchEvent (/home/dapp_tx/node_modules/xhr2-cookies/dist/xml-http-request-event-target.js:34:22) at XMLHttpRequest._setReadyState (/home/dapp_tx/node_modules/xhr2-cookies/dist/xml-http-request.js:208:14) at XMLHttpRequest._onHttpResponseEnd (/home/dapp_tx/node_modules/xhr2-cookies/dist/xml-http-request.js:318:14) at IncomingMessage.<anonymous> (/home/dapp_tx/node_modules/xhr2-cookies/dist/xml-http-request.js:289:61) at IncomingMessage.emit (events.js:388:22) at endReadableNT (internal/streams/readable.js:1336:12) at processTicksAndRejections (internal/process/task_queues.js:82:21) { data: null } InternalServerError: Internal Server Error at Object.throw (/home/dapp_tx/node_modules/koa/lib/context.js:97:11) at setTx (/home/dapp_tx/src/api/eth/eth.controller.js:105:18) at runNextTicks (internal/process/task_queues.js:60:5) at listOnTimeout (internal/timers.js:524:9) at processTimers (internal/timers.js:498:7) at async bodyParser (/home/dapp_tx/node_modules/koa-bodyparser/index.js:86:5)
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
보는 순서에 대한 질문
안녕하세요 강사님 강의를 보는데 목차 순서대로 보는것이 좋을까요? 아니면 필요한 부분만 봐도 상관이 없나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
이미지 데이터 다운로드
제가 웹 지식이 없다보니 이미지 데이터 다운로드 부분에서 혼란이 옵니다. 앱 같은 경우는 DB에 저장되어 있는 이미지가 저장된 url을 클라이언트에게 보내주고 클라이언트가 해당 이미지를 로딩하는 방식을 많이 사용하는 걸로 알고 있습니다. 영한님이 설명해주시는 것을 보면, http header와 함께 이미지 데이터도 바이트코드로 같이 보내주는 것처럼 들리는데 웹 브라우저에게 데이터를 줄 때는 앱과 다른 방식으로 보내는 건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빈연결 에러!
SpringConfig에서 문제가 있는데 이유가 뭔지 모르겠습니다! Could not autowire. There is more than one bean of 'MemberRepository' type.Beans:memoryMemberRepository (MemoryMemberRepository.java)springDataJpaMemberRepository (SpringDataJpaMemberRepository.java)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강사님 질문있습니다 !
안녕하세요. 스프링입문 수업을 듣고있는데요. Service 테스트에서 assertThat을 사용할 수 없어서 질문드립니다. catch 부분에서 assertThat이 안되서 assertions.assertThat으로 사용을 하긴햇는데 주석처리하고나서 assertThrows도 선언이 안되서 import부분 건드려봣는데도 안됩니다 .. package service;import domain.Member;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;class MemberServiceTest { MemberService memberService = new MemberService(); @Test void 회원가입() { //given Member member = new Member(); member.setName("hello"); //when Long saveId = memberService.join(member); //then Member findMember = memberService.findOne(saveId).get(); Assertions.assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test public void 중복_회원_예외() { // given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); // when memberService.join(member1); assertThrows // 이부분은 선언도 안돼요 ㅠㅠ// try {// memberService.join(member2);// fail();// }catch(IllegalStateException e) {// Assertions.assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.");// } // then } @Test void findMembers() { } @Test void findOne() { }}
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
git 권한 요청 드립니다.
인프런 아이디 : andrew.park@lgcns.com 인프런 이메일: andrew.park@lgcns.com 깃헙 아이디: izttotio@hanmail.net 깃헙 Username : daekyungpark 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 수정이 되지 않는 버그
PDF 88쪽은 이와 같이 'saveItem(item);'이라는 코드가 없어서 영속화가 안 되고 이와 같이 'saveItem(item);'을 적어줘야 영속화가 되는 것 같습니다. PDF 자료의 오류인지, 제가 뭔가 다른 곳에서 착각을 한 건진 모르겠지만 혹시나 해서 적어봅니다~
-
미해결실전! 웹사이트제작! Step by Step! (쌩초보 코스)
어떤 순서로 강의를 들으면 좋을까요?
J영님의 강의 11개를 모두 신청했습니다. 실전! 웹사이트제작! Step by Step! (쌩초보 코스) 실전! 웹사이트제작! Step by Step! (한국소비자원 소비자시대- 레이아웃제작 기초) 실전! 웹사이트제작! Step By Step! _Basic (한화캐미컬_반응형웹) 실전! 웹사이트제작! Step by Step! (와이스튜디오_반응형웹) 실전! 웹사이트제작! Step by Step! (대방산업_InteractiveWeb) 실전! 웹사이트제작! Step by Step! (뮤자인_반응형웹) 실전! 웹사이트제작! Step by Step! ('라한호텔' 사이트제작_Application Course) 실전! 웹사이트제작! Step by Step! ('크루알라모드'_반응형웹 제작) 실전! 웹사이트제작! Step By Step! ('포메인'_풀페이지사이트 제작) 실전! 웹사이트제작! Step by Step! ('돕다' 사이트제작_Application Course) 실전! 웹사이트제작! Step by Step! ('돕다' 사이트제작_Basic Course) 어떤 순서로 들으면 좋을까요? 난이도에 따라 순서를 추천해주세요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Update 할 때 조건검사(price >= 0) 는 어디서 하는게 좋은 방법일까요?
안녕하세요. 너무 좋은 강의 잘 듣고있습니다 !! :) 강의 마지막부분에서 가장 좋은 방법이라고 말씀해주신대로, Service 계층에 ItemUpdateDto 를 추가하고, 엔티티 클래스에 update() 함수도 만들어서 구현을 했습니다. 여기서 한 가지 궁금한점이 생겼는데요, - price >= 0 - stockQuantity >= 0 - name 은 빈 문자열이 아님(StringUtils.hasText == true) 등의 조건을 검사하여 exeception 을 날리거나, update 를 진행하고 싶을 때 조건검사를 어디서 하는 것이 가장 좋은지 고민이 됩니다. 제 생각에는 크게 세가지 방법이 있을 것 같은데요.. 1. Controller 에서 검사하여, 검증된 값만 DTO에 담아서 service 에 전달한다. 2. service 에서 엔티티의 update() 함수를 호출하기전에 검사한다. 3. 엔티티 클래스의 update() 함수 내부에서 검사한다. 세 가지 방법에대해 제가 고민해본 내용을 말씀드리면.. Book 클래스의 removeStock() 처럼 엔티티 내부에서 검사하고, NotEnoughStockException 같은 에러를 날리는 비지니스 로직을 넣어야할까요? (코드에 일관성이 있도록..) --> 3번 그런데, Controller 에서 미리 검사를 하면 굳이 service -> repository 를 타고 내려가서 select 쿼리를 날릴 필요가 없어지기 때문에 성능상 유리할 것 같다는 생각도 듭니다. --> 1번 두 군데에서 다 검사를 하는 것이 좋을까요? 실무에서는 보통 어떤 방법을 채택하는지 궁금합니다 .
-
미해결쉽게 시작하는 쿠버네티스(v1.35)
192.168.1.10 에 접속되지 않습니다
강의 흐름대로 동일하게 진행했습니다. 그런데 192.168.1.10에다가 포트번호는 로그에 나온 31641을 입력했는데 접속이 되지 않습니다. 이런경우엔 무엇을 확인해봐야하나요?
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
제공 텍스트가 깨져서 나와요
이렇게 나오는데 해결방법 있을까요? ㅠㅠ
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
웹과 앱의 상태코드
안녕하세요. 양질의 강의 잘 듣고 있습니다. 안드로이드와 스프링 쪽만 건드려봐서 저는 웹 쪽의 지식이 거의 없습니다. 스프링으로 API를 만들어서 웹이 아닌 애플리케이션클라리언트에게 데이터를 넘길 때도 지금 설명하시는 HTTP 상태코드 스펙(100번대 ~ 200번대)을 사용하나요? 지금 약간 혼동이 오는 게 제가 옛날에 교육 받은 곳에서는 아래와 같이 상태 코드를 직접 만들어서 클라이언트와 통신했거든요.. 그럼 아래와 같은 방식으로 하는 건 업계에서 쓰이는 표준을 지키지 않은 건가요? (아래 코드는 상태 코드와 요청에 대한 응답 예시입니다.) package com.example.demo.config;import lombok.Getter;/** * 에러 코드 관리 */@Getterpublic enum BaseResponseStatus { /** * 1000 : 요청 성공 */ SUCCESS(true, 1000, "요청에 성공하였습니다."), /** * 2000 : Request 오류 */ // Common REQUEST_ERROR(false, 2000, "입력값을 확인해주세요."), EMPTY_JWT(false, 2001, "JWT를 입력해주세요."), INVALID_JWT(false, 2002, "유효하지 않은 JWT입니다."), INVALID_USER_JWT(false,2003,"권한이 없는 유저의 접근입니다."), EMPTY_REQUEST_DATA(false, 2004, "요청한 값이 DB에 없습니다(empty)"), // users USERS_EMPTY_USER_ID(false, 2010, "유저 아이디 값을 확인해주세요."), USERS_NO_LOGIN(false, 2011, "로그인을 해주세요"), USERS_INVALID_USER(false, 2012, "존재하지 않거나 적절하지 않은 사용자입니다. 유저 상태를 확인해주세요."), // [POST] /users POST_USERS_EMPTY_EMAIL(false, 2015, "이메일을 입력해주세요."), POST_USERS_INVALID_EMAIL(false, 2016, "이메일 형식을 확인해주세요."), POST_USERS_EXISTS_EMAIL(false,2017,"중복된 이메일입니다."), POST_USERS_INVALID_GENDER(false, 2018, "잘못된 성별입니다."), POST_USERS_EXISTS_NICKNAME(false, 2019, "중복된 닉네임입니다."), /** * 3000 : Response 오류 */ // Common RESPONSE_ERROR(false, 3000, "값을 불러오는데 실패하였습니다."), // [POST] /users DUPLICATED_EMAIL(false, 3013, "중복된 이메일입니다."), FAILED_TO_LOGIN(false,3014,"없는 아이디거나 비밀번호가 틀렸습니다."), /** * 4000 : Database, Server 오류 */ DATABASE_ERROR(false, 4000, "데이터베이스 연결에 실패하였습니다."), SERVER_ERROR(false, 4001, "서버와의 연결에 실패하였습니다."), //[PATCH] /users/{userIdx} MODIFY_FAIL_USERNAME(false,4014,"유저네임 수정 실패"), PASSWORD_ENCRYPTION_ERROR(false, 4011, "비밀번호 암호화에 실패하였습니다."), PASSWORD_DECRYPTION_ERROR(false, 4012, "비밀번호 복호화에 실패하였습니다."), /* * 5000: webtoons * */ INTEREST_WEBTOON_STATUS_INVALID(false, 5001, "알람 설정을 하기 위해, 관심 웹툰으로 우선 등록을 해주세요"), INVALID_EPISODE_IN_WEBTOON(false, 5002, "해당 웹툰에 속한 에피소드가 아닙니다."), INVALID_STARSCORE_VALUE(false, 5003, "별점 값을 다시 확인해주세요"), ALREADY_EXISTS_STARSCORE(false, 5004, "이미 별점이 존재합니다"), WEBTOONS_INVALID_WEBTOON(false, 5005, "존재하지 않는 웹툰이거나 적절하지 않는 요청입니다. 값을 확인해주세요"), EPISODES_INVALID_EPISODE(false, 5006, "존재하지 않는 에피소드이거나 적절하지 않는 요청입니다. 값을 확인해주세요"), HISTORIES_INVALID_HISTORY(false, 5007, "요청하신 기록이 존재하지 않습니다. 다시 확인해주세요"), NO_PAID_EPISODE(false, 5008, "구매가 필요한 에피소드입니다. 구매 후 이용해주세요"); // 6000 : 필요시 만들어서 쓰세요 private final boolean isSuccess; private final int code; private final String message; private BaseResponseStatus(boolean isSuccess, int code, String message) { this.isSuccess = isSuccess; this.code = code; this.message = message; } { "isSuccess": true, "code": 1000, "message": "요청에 성공하였습니다.", "result": { "webtoonInfo": { "webtoonIdx": 1, "color": "#FF001D", "webtoonProfileImageUrl": "https://imageUrl_신의탑_434×330", "webtoonName": "신의탑", "author": "SIU", "synopsis": "자신의 모든 것이었던 소녀를 쫓아 탑에 들어온 소년 그리고 그런 소년을 시험하는 탑", "genre": "판타지", "age": "12세 이용가", "day": "월요웹툰", "totalInterestNum": 8, "isInterested": null, "alarm": null, "paidEpisodeNum": 3 }, "episodeList": [ { "episodeIdx": 6, "thumbnailImageUrl": "https://image~~", "title": "3부 75화", "date": "16일 후 무료", "avgStarScore": null, "isWatched": null, "isPaid": null, "isLastWatchedEpisode": null, "cookie": 2 }, { "episodeIdx": 5, "thumbnailImageUrl": "https://image~~", "title": "3부 74화", "date": "9일 후 무료", "avgStarScore": null, "isWatched": null, "isPaid": null, "isLastWatchedEpisode": null, "cookie": 2 }, { "episodeIdx": 4, "thumbnailImageUrl": "https://image~~", "title": "3부 73화", "date": "2일 후 무료", "avgStarScore": null, "isWatched": null, "isPaid": null, "isLastWatchedEpisode": null, "cookie": 2 }, { "episodeIdx": 3, "thumbnailImageUrl": "https://image~~", "title": "3부 72화", "date": "21.06.13", "avgStarScore": "5.55", "isWatched": null, "isPaid": null, "isLastWatchedEpisode": null, "cookie": 0 }, { "episodeIdx": 2, "thumbnailImageUrl": "https://image~~", "title": "3부 71화", "date": "21.06.06", "avgStarScore": "5.80", "isWatched": null, "isPaid": null, "isLastWatchedEpisode": null, "cookie": 0 }, { "episodeIdx": 1, "thumbnailImageUrl": "https://image~~", "title": "3부 70화", "date": "21.05.30", "avgStarScore": "4.50", "isWatched": null, "isPaid": null, "isLastWatchedEpisode": null, "cookie": 0 } ] } }
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
수업자료 다운이 계속 오류가 계속 떠요.
- 압축을 해제 하는 과정에서 계속 이런 메세지가 떠서 파일이름 바꿔서도 해봤는데 그래도 안되네요.. 혹시 왜 그런지 알 수 있을가요?
-
미해결Spring Boot JWT Tutorial
findOneWithAuthoritiesByUsername로직
삭제된 글입니다