묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 환경에서 gradlew 오류문제
저의 경우는 윈도우 환경에서 컴파일시 오류가 발생합니다. PS F:\Project\SpringProject\Project\Hello-Spring> ./gradlew build> Task :bootJar FAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':bootJar'.> Error while evaluating property 'mainClass' of task ':bootJar' > Failed to calculate the value of task ':bootJar' property 'mainClass'. > Main class name has not been configured and it could not be resolved* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 1s4 actionable tasks: 1 executed, 3 up-to-date 프로그램의 버전에 따른 문제로 보이는 데요.. 사용하고 있는 intelliJ 는 2021.2 (Community Edition) 입니다. Java 는 JDK11 을 사용하고 있습니다. 해결방법은 build.gradle 파일에 bootJar { mainClassName = 'SAHN.HelloSpring.HelloSpringApplication'} 를 추가하여 해결하였습니다. 이때 intelliJ에서 mainClassName이 자동으로 비활성화 되는데, 무시하고 위내용을 집어넣으면 컴파일이 잘됩니다. 혹 비슷한 경험이 있으신 분들은 참고 하시기 바랍니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Gateway와 set-Cookie 에 대한 질문입니다.
안녕하세요 강사님 해당 강의를 통해서 엄청난 꺠달음과 영감을 얻게되어 감사하다는 말씀을 먼저 올리고싶습니다. 제가 해당 강의를 통해서 성장을 하여 감히 마이크로서비스를 이용해서 프로젝트를 진행하고 있습니다. 하지만 프로젝트를 진행하다 보니 몇일 동안 해결할 수 없는 문제와 마주하게 되어 이렇게 문의 드립니다. 우선 Spring Cloud Gateway 가 존재하고 User-Service 가 그 뒤에 위치해 있습니다. User-Service 에서는 사용자가 로그인을 한다면 access_token 과 refresh_token 을 쿠키에 담아서 반환합니다. 그리고 로그아웃을 한다면 access_token 과 refresh_token 의 쿠키 값에 null 을 넣고 expires 를 과거로 만들어 만료되도록 합니다. Front 에서는 로그인을 수행하면 access_token 과 refresh_token 을 잘 받아서 브라우저에 저장하는 것을 확인하였습니다. 로그아웃을 수행한다면 응답으로 set-cookie 를 잘 받아오는 것도 확인을 하였습니다. - access_token=; expires= 1960 00:00:00 ... httpOnly; - refresh_token=; expires= 1960 00:00:00... httpOnly; 하지만 실제 브라우저에서는 쿠키가 지워지지 않더라구요.. axios의 credential 과 gateway 에서의 cors filter 도 설정을 잘 하였습니다. 실제 프로젝트 소스는 아래에 있습니다. - User-Service :: https://github.com/dhslrl321/PCUSS-User-Service - Gateway Service :: https://github.com/dhslrl321/PCUSS-Gateway-Server - Front 비동기 통신 코드 :: https://github.com/dhslrl321/PCUSS-Official-Site/blob/master/client/services/authService.js - Front axios 모듈 :: https://github.com/dhslrl321/PCUSS-Official-Site/blob/master/client/utils/api.js
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대일[1:1] 15: 23 외래키
외래키에 null허용하는 것은 얼마든지 가능한 이야기인데 DBA입장에서 왜 치명적이라고 말씀하신건지 이유가 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타입 컨버터
안녕하세요. 타입컨버터에 대한 강의를 듣고 있는데요 혹시 메시지 컨버터(Http Message Converter)도 타입 컨버터와 같은건지 궁금합니다. ArgumentResolver가 타입 컨버터를 이용해서 컨트롤러 메소드 파라미터에 값을 넘겨 주는건가요? 타입컨버터와 ArgumentResolver의 차이점을 잘 모르겠습니다. 둘다 메소드 파라미터에 객체를 생성해서 넘겨주는것 같아서요
-
미해결우디의 일러스트레이터 강좌
매직봉 활용 질문이요
일러스트 2020 버전을 사용 중입니다. 마술봉으로 흰색영역을 클릭했는데 흰색 영역이 안잡히고 면색부분에 ? 물음표만 뜹니다 삭제하면 당연히 안경이랑 흰색배경 모두 날라가구요.. 어떻게 해결해야 되는지 모르겠어요 도와주시면 감사하겠습니다..!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
싱글톤 패턴 흐름 질문
안녕하세요 Rookiss님 강의 잘 듣고있습니다. 다름이 아니라 싱글톤 패턴 복습을 하던 중 제가 이해하고 있는게 정확한지 궁금해서 질문드립니다 유니티상에서 Play 버튼을 눌렀을 때 start가 실행되고 update가 프레임마다 실행된다고 알고있습니다. MonoBehavior를 상속받은 여러 클래스들은 start와 update를 각각 실행할 것인데 이때 Managers 클래스가 맨 처음 실행되나요 아니면 랜덤으로 실행되나요? 만약 Managers 클래스가 맨 처음 실행된다면 18:17 에서 프로퍼티로 Managers 인스턴스를 가져올 때, Init()을 하고 생성된 인스턴스를 리턴하도록 하지 않고 start에만 Init()을 넣어두면 되는데 굳이 Init()을 넣은 이유는 Managers 클래스가 맨 처음 실행된다는 보장이 없으니까 다른 곳에서 Managers 인스턴스를 사용하려고 할 때 Init()으로 생성하도록 하는 것인지 궁금합니다. 한마디로 어떤 함수가 실행될 지 몰라서 프로퍼티에서도 Init을 하도록 설정한 건가요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
데이터 JPA 를 듣다가 다시 와서 질문남깁니다~
아래에 질문 두개 있습니다! order , orderItem , item 엔티티를 자연쿼리 + projection 을이용해서 페이징을 해봤는데요! projectionDto JPARespository controller 일대 다대 일 관계를 자연쿼리 프로젝션 으로 페이징을 size=2 로하여 2건만 가져오려 합니다. 결과는 같은 아이디인 order_id : 4인 2개의 값이 나왔는데요, order를 기준으로 조회하여 페이징 하려면 데이터가 누락이 될텐데 질문 1) 자연쿼리 + 프로젝션으로는 컬렉션 조인 페이징을 할 수 없지만 그냥 조회용으로만은 사용가능한건가요~? (아니면 이것또한(자연+프로젝션 이용) 다대일은 다대일 끼리 조인, Lazy로딩을 이용해서 일대다를 조인시키는 방식 여기 강의에 V5 방식처럼 만들면 할수 있나요?(해봤는데 포스트맨 출력형태는 아래 사진과 같더군요 ㅠㅠ) 자연쿼리+ 프로젝션도 한계가있다고 하신거같았는데 이것도그중하나 일까요? 아니면 다른방식이있는지 궁금합니다! -------------------------------------------------------- 제가원하는 형태는 지금 v5강의처럼 이런형태였거든요! 질문 2) 다대일 ,일대일 부분끼리 조인을 하고 Lazy로딩을 이용해서 나머지 일대 다 관계를 조인하는 방식 이잖아요 ! 혹시 이렇게 컬렉션 조인을 페이징 하는방법이 쿼리DSL 부분에도 나오나요~?
-
미해결구글애즈로 배우는 퍼포먼스마케팅 필수 (2023년 업데이트)
품질점수 데이터
안녕하세요! 강의 12분 31초쯤에 구글애즈 품질 점수 데이터 키워드별로 확인하는 것은 어떻게 해야 하나요? 동일하게 구글애즈에서 키워드 > 검색키워드 들어가보았는데 제 계정에는 뜨지 않는 것 같습니다~
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Vector 사용시 swap 함수 에러 발생
Vector<int> a; Vector<int> b; b.swap(a); 위와 같은 코드를 작성해서 컴파일하면 오류가 발생합니다. 2>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector(1459): message : 클래스 템플릿 멤버 함수 'void std::vector<unsigned char,StlAllocator<unsigned char>>::swap(std::vector<unsigned char,StlAllocator<unsigned char>> &) noexcept'을(를) 컴파일하는 중입니다. 2>E:\AsioServer\NetLib\Packet.h(34): message : 컴파일되는 함수 템플릿 인스턴스화 'void std::vector<unsigned char,StlAllocator<unsigned char>>::swap(std::vector<unsigned char,StlAllocator<unsigned char>> &) noexcept'에 대한 참조를 확인하세요. 2>E:\AsioServer\NetLib\Packet.h(136): message : 컴파일되는 클래스 템플릿 인스턴스화 'std::vector<unsigned char,StlAllocator<unsigned char>>'에 대한 참조를 확인하세요. 해결을 해볼려고 구글링을 해봐도 정보를 얻기가 힘드내요. 어떻게 해결을 할수 있을까요?
-
미해결AWS 클라우드 서비스 인프라 구축 이해와 해킹, 보안
도커 설치하는데 apt-get update부터 되지 않습니다.
삭제된 글입니다
-
미해결그림으로 배우는 자바, 파트2: 객체지향!
홍팍님 스프링..!
홍팍님 유튜브랑 사이트에 스프링부트 일부분 있는데 본 강의로는 언제 나오는지 궁금합니다ㅜ 유튜브에 있는 스프링부트 강의 듣는데 진짜 제가 여러 스프링 강의랑 , 교재 봤는데 홍팍님처럼 이해되게 쉽게 가르쳐주는분 못봤습니다.. 혹시 스프링강의는 전체강의 언제 유료로 볼수 있을까용??
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
requests
requests 오류가 납니다 이유가 뭔 가요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 풀이 가운데 struct로 생성된 State는 생성자가 있는데 Lion은 왜 생성자가 없나요? 생성자를 만들어야하는거 아닌가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
프로퍼티 관련 은닉성 질문입니다.
말씀하신대로 get set을 프로퍼티로 만들고 지향하는 바에 따라 private를 임의로 붙이는 것으로 접근을 제한할 수 있다는 사실을 이해했습니다. 다만 여기서 추가로 궁금한 케이스는 class의 경우 기본 동작이 ref 형식으로 이루어진다 들었는데 get으로 가져온 변수가 타 함수에서 동작 도중 값이 변경될 경우(예를 들어 ++ -- 같은 증감연산자 등) 원본에 영향이 가는지를 알고 싶습니다. 추가로 그러한 점을 고려해서 const 를 붙이려 했는데 public int Hp {const get; private set; } public const int GetAttack() { return _iAttack;} 두 가지 모두 에러가 나더군요. const 관련하여 어떻게 사용해야 될 지도 문의하고 싶습니다. // 자동 완성 프로퍼티로 만들 시 변수의 기본 접근지시제어자는 private인가요? // 늘 빠르고 친절한 답변 감사합니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
mid 질문있습니다
while문 안에서 lt rt를 경우에 따라 mid-1, mid+1로 재설정하시는데 그냥 둘다 mid로 재설정해도 동일한 값이 나오는데 그렇게 해도 문제가 없나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
데이터베이스 연결오류
안녕하세요 선생님 데이터베이스를 연결하는데 문제가 생겨서 질문올립니다. 이전 다른 강의에서 jpashop 데이터베이스를 사용해서 이름을 바꿔 jpabook으로 데이터베이스 설정을 변경했습니다. h2를 켜고 데이터베이스를 연결하려하니 데이터베이스 자료가 없다는 메세지와 함께 연결이 되질 않습니다. /Users/namkihyeok/ 경로를 찾아보니 역시나 jpaboo 데이터베이스가 생성되지 않았습니다. 데이터베이스를 생성해야 연결이 되는데 어떻게 데이터베이스를 생성해야할까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
풀이질문드립니다.
function solution(arr) { let answer = arr; let tmp; for (let i = 1; i < arr.length; i++) { tmp = arr[i]; for (let j = i - 1; j >= 0; j--) { if (tmp < arr[j]) { arr[i--] = arr[j]; arr[j] = tmp; } } } return answer; } const arr = [11, 7, 5, 6, 10, 9]; console.log(solution(arr)); 혹시 문제가 될만한 사항이 있을까요...?
-
미해결게임 프로그래머 취업 전략 가이드
수강듣고 몇가지 질문 드립니다.
안녕하세요. 완강하고 몇가지 질문이 있어서 올립니다. 약간 개인적인것도 포함되어있어서 여기다 올려야할지 말지 한참을 고민하다가 민망함을 무릅쓰고 올려봅니다 ^^; 일단 제가 선생님이 말씀하신 최악의 케이스라.. 강의들으면서 완전 멘붕이 왔었는데요. 반년짜리 학원출신(유니티)에 스타트업으로 시작하게되었습니다. 학원 다닐때 당시 모바일 게임이 전망이 좋겠다 싶어 모바일 개발을 시작했고, 스타트업 다니면서 캐주얼 게임 6개정도 개발, 출시를 했습니다 (1개는 출시까지는 못갔습니다) 사수도 없던 회사라.. 다니는 동안 약간의 불안감은 있었지만, 나름 게임도 출시되고 성과도 어느정도 있어서 버티다가 출시까지 못간 게임을 개발하면서 느낀게 많아서 현재 그만둔 상태입니다. (경력 2년이네요) 지금 4개월간 선생님이 올리신 서버 강의와 기초부터 하고있는데, 하면서도 이것도 모르고 여태 개발을 했다는게 경악스럽고 부끄럽네요. 거기다 선생님이 올린 현재 강의를 보면서 결정타가 꽂혀버려 현타(?)가 왔는데.. 지나버린거 후회하면서 보내는 시간도 사치인거같아 정신 추스르고 질문 몇개 드립니다 ㅠㅠ 1. 일단 지금 그만두고 4개월간 독학을 하고있는데, 이게 그만두고 공백이 길면 안좋다고 하더라구요. 반년 넘어가기전에 이력서 넣어보면서 진행하는게 맞을까요? 2. 기술적 퀄리티가 좀.. 그렇긴하지만 일단 게임 출시 이력도 있고, 위에서 말씀드렸다시피 냈던 게임들 중 3개 정도가 스토어 상위권에 올라갔던적도 있고 다운로드 수도 150~400만 정도되는 게임들입니다. 그런데 이 수치가 이력서 작성할 때 프로그래머한테 가치가 있는 수치인가요? 3. 경력 자소서도 신입 자소서처럼 비슷하게 접근해야할까요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
채점 질문
안녕하세요 선생님. 설명 잘 들었습니다. 선생님의 설명을 듣고, 구현을 하여 채점을 했는데요, 선생님의 코드와 완전히 같지는 않지만, 로직은 동일하게 작성하였습니다. 그결과 input data 1,2,4,5에 대해서는 success가 나왔는데 input data 3에 대해서는 exit code -182485 과 같은식으로 나오길래 input data 3의 값을 copy and paste 하여 직접 실행해 보았고, 그 결과는 output data 3과 일치하였습니다. 이런 경우, 단순히 실행과정에서 오류가 난것으로 생각하면 될까요? ======================================== (참고용 코드) #include <stdio.h> #include <stdlib.h> #include<algorithm> #include <math.h> int main(){ int height, width; int y , x ; int **arr; int i,j; int max = -1; int tmp; //1_1. 전체 땅의 가로 세로를 입려갇는다 (세로 먼저 입력 후 가로 입력) scanf("%d%d",&height, &width); //1_2. 주의할 점은, 가장자리 부분에 000000..0000을 추가하기 위해, 기존 height * width 사이즈 보다 //1씩 키워 height+1 x width+1의 크기로 다이나믹 테이블을 생성해야 한다 arr = (int**)calloc(height+1, sizeof(int*)); for(i=0; i<width+1; i++) arr[i] = (int*)calloc(width+1, sizeof(int)); //1_3. 이때, 가장자리 부분에는 0으로 초기화 되어있으므로(calloc() 함수에 의해) 그 0을 이용하여, // 일관된 규칙을 기반으로 다이나믹 테이블을 완성시킨다 for(i=1; i<=height; i++){ for(j=1; j<=width; j++){ scanf("%d",&tmp); arr[i][j] = arr[i-1][j] + arr[i][j-1] - arr[i-1][j-1] + tmp; } } //1_4. mask의 size를 입력받는다 scanf("%d%d",&y, &x); //2. 다이나믹 테이블의 특성을 이용하여, 각 mask 안에 포함된 element의 합을 (일정한 규칙의 식을 통해) 구한다 int idx1, idx2; for(i=1; i<=(height+1-y); i++){ for(j=1; j<=(width+1-x); j++){ idx1 = i+y-1; idx2 = j+x-1; tmp = arr[idx1][idx2] - (arr[idx1][idx2-x] + arr[idx1-y][idx2]) + arr[idx1-y][idx2-x]; if(tmp > max) max = tmp; } } //3. 결국 max에는 최댓값이 남아있게 되고, 남게 되는 최댓값을 출력한다 printf("%d\n", max); //clean Up return 0; }
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
ssr 쿠키 , pm2 logs
안녕하세요. next 11 버전으로 올리고 올려주신 코드로 ssr 을 하는데 쿠키가 전달이 안되는 거 같습니다 ㅠㅠ ssr 말고 그냥 useEffect 에 dispatch 넣어서 전송해보니 로그인이 되는데 ssr 로 바꾸면 안되는 거 보니 쿠키 생성은 됐고 전달이 안되는 건 확실한 거 같은데요. export const getServerSideProps = wrapper.getServerSideProps((store) => async ({ req }) => { const cookie = req ? req.headers.cookie : ''; console.log(`req.headers.cookie : ${req.headers.cookie}`); axios.defaults.headers.Cookie = ''; if (req && cookie) { axios.defaults.headers.Cookie = cookie; } store.dispatch({ type: LOAD_MY_INFO_REQUEST, }); store.dispatch(END); await store.sagaTask.toPromise();}); 그래서 console 로 req.headers.cookie 를 찍어보려하는데 pm2 logs 를 해서 모든 로그를 봐도 프론트 서버에 적어둔 console 은 터미널에서 보이지가 않아서 질문 드립니다. console.log(`req.headers.cookie : ${req.headers.cookie}`); 어떻게 확인할 수 있을까요?