묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[유니티 3D] 실전! 생존게임 만들기 - Advanced
크로스헤어 문제
크로스헤어를 하고 있는데 못 해결하고 있는 문제가 있습니다. 걷고 있으면 애니메이터에서 crosshair_idle 이랑 crosshair_walk를 계속해서 왔다갔다해요. 제가 한 부분까지 다 돌려서 봤는데 문제는 없는 것 같았어 요. 전체코드:(Playercontroller) using UnityEngine; using System.Collections; using System.Collections.Generic; public class PlayerController : MonoBehaviour { //스피드 조정 변수 [SerializeField] private float walkSpeed; [SerializeField] private float runSpeed; [SerializeField] private float crouchSpeed; private float applySpeed; [SerializeField] private float jumpForce; //상태 변수 private bool isWalk = false; private bool isRun = false; private bool isCrouch = false; private bool isGround = true; //움직임 체크 변수 private Vector3 lastPos; //앉았을 때 얼마나 앉을지 결정하는 변수 [SerializeField] private float crouchPosY; private float originPosY; private float applyCrouchPosY; //땅 착지 여부 private CapsuleCollider capsuleCollider; // 민감도 [SerializeField] private float lookSensitivity; // 카메라 한계 [SerializeField] private float cameraRotationLimit; private float crrentCameraRotationX = 0; //필요한 컴포넌트 [SerializeField] private Camera theCamera; private Rigidbody myRigid; private GunController theGunController; private crosshair thecrosshair; // Start is called before the first frame update void Start() { capsuleCollider = GetComponent<CapsuleCollider>(); myRigid = GetComponent<Rigidbody>(); theGunController = FindObjectOfType<GunController>(); thecrosshair = FindObjectOfType<crosshair>(); applySpeed = walkSpeed; originPosY = theCamera.transform.localPosition.y; applyCrouchPosY = originPosY; } // Update is called once per frame void Update() { IsGround(); TryJump(); TryRun(); TryCrouch(); Move(); Movecheck(); cameraRotation(); CharacterRotation(); } private void TryCrouch() { if(Input.GetKeyDown(KeyCode.LeftControl)) { Crouch(); } } private void Crouch() { isCrouch = !isCrouch; thecrosshair.crouchingAnimation(isCrouch); if(isCrouch) { applySpeed = crouchSpeed; applyCrouchPosY = crouchPosY; } else { applySpeed = walkSpeed; applyCrouchPosY = originPosY; } StartCoroutine(CrouchCoroutine()); } IEnumerator CrouchCoroutine() { float _posY = theCamera.transform.localPosition.y; int count = 0; while(_posY != applyCrouchPosY) { count++; _posY = Mathf.Lerp(_posY, applyCrouchPosY, 0.3f); theCamera.transform.localPosition = new Vector3(0, _posY, 0); if(count > 15) break; yield return null; } theCamera.transform.localPosition = new Vector3(0, applyCrouchPosY, 0f); } private void IsGround() { isGround = Physics.Raycast(transform.position, Vector3.down, capsuleCollider.bounds.extents.y + 0.1f); } private void TryJump() { if(Input.GetKeyDown(KeyCode.Space) && isGround) { jump(); } } private void jump() { if(isCrouch) Crouch(); myRigid.velocity = transform.up * jumpForce; } private void TryRun() { if(Input.GetKey(KeyCode.LeftShift)) { Running(); } if(Input.GetKeyUp(KeyCode.LeftShift)) { RunningCancel(); } } private void Running() { if(isCrouch) Crouch(); theGunController.CancelFineSight(); isRun = true; thecrosshair.runningAnimation(isRun); applySpeed = runSpeed; } private void RunningCancel() { isRun = false; thecrosshair.runningAnimation(isRun); applySpeed = walkSpeed; } private void Move() { float _MoveDirX = Input.GetAxisRaw("Horizontal"); float _MoveDirZ = Input.GetAxisRaw("Vertical"); Vector3 _moveHorizontal = transform.right * _MoveDirX; Vector3 _moveVertical = transform.forward * _MoveDirZ; Vector3 _velocity = (_moveHorizontal + _moveVertical).normalized * applySpeed; myRigid.MovePosition(transform.position + _velocity * Time.deltaTime); } private void Movecheck() { if(!isRun && !isCrouch) { if(Vector3.Distance(lastPos, transform.position) >= 0.01f) isWalk = true; else isWalk = false; thecrosshair.walkingAnimation(isWalk); Vector3 position = transform.position; lastPos = position; } } private void CharacterRotation() { float _yRotation = Input.GetAxisRaw("Mouse X"); Vector3 _characterRotationY = new Vector3(0f, _yRotation, 0f) * lookSensitivity; myRigid.MoveRotation(myRigid.rotation * Quaternion.Euler(_characterRotationY)); } private void cameraRotation() { float _xRotation = Input.GetAxisRaw("Mouse Y"); float _cameraRotationX = _xRotation * lookSensitivity; crrentCameraRotationX -= _cameraRotationX; crrentCameraRotationX = Mathf.Clamp(crrentCameraRotationX, -cameraRotationLimit, cameraRotationLimit); theCamera.transform.localEulerAngles = new Vector3(crrentCameraRotationX, 0f, 0f); } }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
Astar를 이용한 마우스 이동
안녕하세요. Astar 알고리즘을 이용해서 키보드 대신 LOL처럼 우클릭시 마우스 좌표로 이동하는 알고리즘을 짜보았는데요. LOL은 갈 수 없는 벽을 클릭하면 가장 가까운 걸 수 있는 지형으로 가는 걸 보고 따라 해봤는데요. 제가 짠 알고리즘은 이렇습니다. 1. 갈 수 없는 곳을 클릭한다. (Pos dest : ButtonDown했을때 마우스 좌표) (CanGo(dest) == false) 2. dest를 시작점으로 상하좌우 방향, 길이가 1로 BFS를 돈다. (Pos here : BFS탐색중 현재 좌표) 3. BFS탐색중 (CanGo(here) == true) 가 나오면 탐색을 멈추고 4. dest = here 5. dest 까지 Astar 를 실행한다. 여기서 시간복잡도가 대략 Astar : O(VlogV) BFS : O(v^2) 이고 이걸 클라마다, 클라가 마우스를 연타할 때마다 계산해야 하는 게 맘에 안 듭니다. 혹시 개선사항이나 다른 알고리즘 힌트가 있을까요? 제가 고민해본 개선사항은 Astar 경로를 구간별로 캐싱인데 몇일동안 생각이 정리가 되지 않아 질문드립니다!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
vector와 그냥 배열을 쓰는 기준이 뭔가요??
선수 과목에 강사님께서 만드신 C언어 강의가 있길래 듣고 왔는데 문법적인 면에서 자꾸 막히는게 많네요. vector와 일반 배열의 차이는 알겠는데 언제 vector를 써야하고 언제 일반 배열을 써야하는지 알려주세요.
-
미해결엑셀 매크로와 VBA 기초부터 실무활용까지 완전 정복
1004런타임 오류 문의
VBA 수업을 열심히 듣고 있습니다. 실습을 하면서 수업을 하는데 어느 순간부터 갑자기 엑셀을 닫을 때 마다 아래 처럼 에러 메시지가 계속 나오네요 Visual basic 오류로 보이는데, 어떻게 조치하면 될까요?
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
제가 선생님 구글이메일로 5강 질문좀 보냈습니다.! 답변좀 부탁드리겠습니다. ㅠㅠ
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
querydsl config 관련 질문 드립니다.
안녕하세요. 강의 정말 잘 들었습니다! 제가 들었던 강의 중에 가장 일목요연하게 말씀을 잘 해주시는 것 같아요 ㅠㅠ 얼마전에 유튜브에서 배민의 마이크로서비스 여행기도 너무 재미있게 잘 보았습니다! 다름이 아니라 querydsl 관련하여 질문이 있어서 문의를 드립니다. 강의 내용과는 조금 다른 부분일 수도 있지만 ㅠㅠ 구글링을 해봐도 답이 나오지 않아, 제가 물어볼 수 있는 곳이 여기밖에 없어서 간절한 마음에 질문을 올립니다.... 결론적으로 제가 하고 싶은 건, 여러 DB를 하나의 쿼리로 묶고싶습니다. 테이블이 아닌 데이터베이스가 분리되어있는 형태입니다. 1) jpaQueryFactory에는 하나의 entityManager만 연결해야하나요? 현재 저는 여러개의 DB를 사용하고 있고, 각각의 DB에 대한 config 파일이 별도로 분리되어있는 형태입니다. public class ADataSourceConfig ...{ ... @Bean(name="AEntityManager") public LocalContainerENtityManagerFactoryBean entityManager(@Qualifier("ADataSource") DataSource dataSource) { .... } @Bean(name="AJpaQueryFactory") public JPAQueryFactory AJpaQueryFactory(@Qualifier("AEntityManager") EntityManager entityManager){ return new JPAQueryFactory(entityManager); } } ... public class BDataSourceConfig ...{ ... @Bean(name="BEntityManager") public LocalContainerENtityManagerFactoryBean entityManager(@Qualifier("BDataSource") DataSource dataSource) { .... } @Bean(name="BJpaQueryFactory") public JPAQueryFactory AJpaQueryFactory(@Qualifier("BEntityManager") EntityManager entityManager){ return new JPAQueryFactory(entityManager); } } 2) 만일 그렇다면, RepositoryCustom 안에서는 하나의 jpaQueryFactory 밖에 불러올 수 없게 되는 형태가 되는데 여러개의 DB를 하나의 Impl 안에서는 사용을 할 수 없게 되는건가요 ?ㅠ_ㅠ 애초에 구조를 잘못잡은 건지 원래 되지 않는 형태인건지 궁금합니다. public class ACustomImpl implement Custom{ @Autowired private JPAQueryFactory queryFactory; QAEntity a = QAEntity.aEntity; //db a QBEntity b = QAEntity.bEntity; //db b @Override public List<A> getA(){ return queryFactory .select(a) .from(a) .innerJoin(b) .... } } 긴 글 읽어주셔서 감사합니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
서로 다른 Origin끼리의 axios 사용법
안녕하세요! 지금 강의 따라가면서 axios 사용법을 익히는 중입니다~ 다른 서버에서 돌아가고 있는 php 파일을 axios로 불러오고 싶은데 cors 정책에 걸려서 다음으로 나갈 수가 없어서요..! 서로 다른 서버에서의 axios 사용은 어떻게 하는게 좋을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Json 매핑
Json 객체 매핑 시 setter가 없어도 되는데 http 요청 데이터 - API 메시지 바디 - JSON에서는 setter가 있어야 한다고 하셨는데 어떤게 맞는 걸까요?
-
미해결캐글 Advanced 머신러닝 실전 박치기
학습완료후 나의 .csv 파일을 캐글에 submission 했을때 평가에 대한 질문.
안녕하세요. 현재 캐글 Home Credit Default Risk 시작하기 섹션 부분 수강 중입니다 캐글에 submission을 할때 'SK_ID_CURR' 과 '내가 산출해낸 1이될 확률값' 만을 CSV 파일로 만들어서 제출을 합니다. 그런데 이 정보만 가지고 캐글에서 어떻게 test 데이터에 대한 auc값을 산출해내는지 궁금합니다. 제 모델(코드)를 제출해야 해당 모델에 test데이터를 넣어서 auc값을 산출해낼수있는것 아닌지요? 캐글에서 어떻게 저렇게 할수있는지 궁금합니다.
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
객체 리터럴 , 생성자 함수 방식 질문
안녕하세요. 객체 리터럴하고, 생성자 함수 방식 관련해서 궁금한 점이 있어 질문합니다. 객체 리터럴의 경우 하나의 객체를 바로 만드는거고, 생성자 함수의 경우 해당하는 인자값들로 객체를 만들어주는 방식인데, 주로 객체 리터럴을 많이 사용하고, 권장한다고 하셨는데, 재사용성에 있어서는 생성자 함수가 더 좋은 방식인 것 같은 생각이 들어가지고요 . 만약 어떠한 요청을 받아, User 객체를 생성해야 할 때 매요청마다 객체 리터럴로 생성하는거보단 생성자 함수 하나 만들어놓고, 인자값만 넘겨서 User 객체를 사용하는게 더 효율적인 방식인게 아닌가 하는 생각이 들어서 질문드립니다. 상황에 따라 사용하면 되는 것일까요 ?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
질문이 있습니다😅
height: 100%가 상위 부모요소를 따라간다고 알고 있는데, body태그와 html태그에 height값을 안받앗는데 어떻게 브라우저 화면에 맞춰진건가요????
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
드랍존 에러 질문드립니다 저번에도 질문 드렸는데 답을 안 해주셔서 다시 써요ㅠㅜ
드랍존에 영상을 마우스로 끌어와서 하는건 작동이 되는데 드랍존 클릭을 하면 Uncaught TypeError: inputRef.current.click is not a function 이런 에러가 뜹니다. 해결 방법 좀 부탁드릴게요ㅠㅜ
-
미해결스프링 핵심 원리 - 기본편
스프링 공부 방법
안녕하세요 김영한개발자님! 저는 현재 강사님의 스프링 로드맵을 따라 수강 중인 대학교3학년 학생입니다. 다름아니라, 스프링으로 웹 개발 프로젝트(간단한)를 혼자 해보고 싶은데, 공부를 시작한지 얼마 안되어서 언제 어떤 식으로 진행을 해야 할지 막막해서 질문을 남깁니다. 1. 스프링 강의를 다 들은 다음에 프로젝트를 시작하는 것이 좋을 까요? 2. 웹 페이지 구현을 하려면 처음부터 끝까지 혼자 다 짜보는게 좋은가요? (학교에서 html, css, javascript를 간단하게 해본적이 있고, 스프링은 처음입니다.) ps. 항상 열심히 강의해주셔서 감사합니다.^^ 많은 것을 배워가고 있습니다.
-
미해결Flutter 입문 확장판 - 인스타그램 클론 2.0
flutter로 만든앱을 배포하고 싶은데, 결제시스템 관련 질문이 있습니다.
안녕하세요? flutter로 만든 앱을 앱스토어에 배포하려고 합니다.이때 결제 시스템을 구현하려면https://pub.dev/packages/in_app_purchase 단순히 위 라이브러리를 사용해서 구현하면 되는건지 궁금합니다. +추가질문 입니다. - PG사가 결제를 처리하는곳으로 알고있는데, 인앱결제를 구현하려면 무조건 PG사에 최초수수료를 내고 가입을 해야되는건가요? 그냥 저 위에 라이브러리를 쓰면 PG사에 가입을 따로 안해도 되는건가요? - 아임포트라는것도있던데,https://github.com/iamport/iamport_flutter앞서 언급한 flutter에서 제공하는 in_app_purchase와의 차이는 무엇인지 찾아봐도 나오지가 않아서 질문드립니다.. - 웹을 만들지 않고도 앱만으로 결제 시스템을 구현할 수 있는건가요?? 검색해도 나오는 자료가 많지 않아 이렇게 질문 드립니다. 강사님.감사합니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
NULL 처리
강사님 안녕하세요. 1. 저는 다음과 같이 코드를 작성했어요. CREATE FUNCTION getNthHighestSalary (N INT) returns INT BEGIN RETURN( SELECT DISTINCT MIN(salary) FROM employee ORDER BY salary DESC LIMIT O, N); END 큰 순서대로 0번 이후부터 (1번부터) N개 나열 후 최소값을 찾을 생각이었는데, 자꾸 200이 아닌 100이 나옵니다. 아무래도 ORDER BY DESC가 제대로 작동하지 않는 것 같은데 이유가 뭘까요?? 2. LIMIT에서 결과가 나오지 않으면 NULL을 돌려주기때문에 서브쿼리에서 IF문/CASE문을 안써도 된다고 하셨는데,(6:00) 이 부분이 잘 이해가 안가요. CASE문 쿼리 (함수 부분은 생략하겠습니다) SELECT CASE WHEN count(sal.salary) <n THEN null ELSE min(sal.salary) END FROM (SELECT DISTINCT salary FROM employee ORDER BY salary desc LIMIT n) as sal) 와 LIMIT OFFSET 쿼리 SELECT DISTINCT salary FROM employee ORDER BY salary DESC LIMIT 1,N 은 크게 다를 것 없는 것 같은데, 첫번째는 NULL 나오게 하려고 서브쿼리 & CASE WHEN 처리를 하는 반면, 두번째는 그냥 NULL이 나온다고 하시는데 왜 두개가 다른건지 잘 모르겠습니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
노드버드를 firebase에 올리려 합니다.
제목같이 firebase에 올리려 하는데 잘 되지가 않습니다. 제가 기본 지식이 많이 부족해서요.. MySQl은 GCP의 CloudSQL에 연결하였습니다. 아래는 firebase.json의 내용이고요.. { "hosting": { "public": "public", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "rewrites": [{ "source": "**", "function": "app" }] } } 아래는 index.js를 위 firebase.json과 맞춘겁니다. app.set('port', process.env.PORT || 80); app.listen(app.get('port'), () => { console.log('running @', app.get('port'), ' port by me...'); }); exports.app = functions.https.onRequest(app); 그렇게 해서 firebase serve로 서버 실행을 하면 로컬에서는 정상적으로 되는 것처럼 보입니다. 그런데 port관련해서 조금 문제가 있는 듯합니다. 아래는 실행 후 나오는 내용들 중 일부... + functions: Using node@12 from host. i functions: Watching "C:\Users\xxxxx\Node_js_Test\node_js_textbook\nodebird2firebase\functions" i hosting: Serving hosting files from: public + hosting: Local server: http://localhost:5000 > process.env.PORT: undefined + functions[app]: http function initialized (http://localhost:5001/xxxx/us-central1/app). > running @ 80 port by me... > success database connection... 위와 같이 내가 지정한 포트는 80, 위에 firebase가 로컬에서 지정한 포트는 5000번 포트.. 그런데 실행은 정상적인듯 합니다. 포트 80에서 돌아 갑니다. 자료 올라가고, 조회되고, 로그인되고, 카카오도... 그런데 GCP firebase cloud Function에 deploy하면 아래와 같이 에러가 발행하네요.. i deploying functions i functions: ensuring required API cloudfunctions.googleapis.com is enabled... i functions: ensuring required API cloudbuild.googleapis.com is enabled... + functions: required API cloudbuild.googleapis.com is enabled + functions: required API cloudfunctions.googleapis.com is enabled i functions: preparing functions directory for uploading... i functions: packaged functions (85.94 KB) for uploading + functions: functions folder uploaded successfully i functions: updating Node.js 12 function app(us-central1)... Functions deploy had errors with the following functions: app(us-central1) To try redeploying those functions, run: firebase deploy --only "functions:app" To continue deploying other features (such as database), run: firebase deploy --except functions Error: Functions did not deploy properly. deploy 시의 메시지는 위와 같으며 주의: 버전 7.7.0 이하의 Firebase CLI로 배포된 새로운 HTTP 및 HTTP 호출 가능 함수는 기본적으로 비공개이며, 호출하면 HTTP 403 오류가 발생합니다. 새 함수를 배포하기 전에 명시적으로 이 함수를 공개로 설정하거나 Firebase CLI를 업데이트하세요. 위의 내용도 인증되지 않은 호출 허용 과 같이 수정을 하였습니다. 아주 작은 샘플 스태틱 페이지는 정상적으로 됨을 확인 하였고요.. 포트 지정이나 그런 부분에 무슨 문제가 있을까요? 고견을 부탁드립니다. 감사합니다. ps. AWS에 시스템을 올렸더니 시스템이 너무 잘 죽네요.. 물론 디버깅을 해야겠지만 firebase가 더 좋은 솔루션 같아 진행을 하고 있습니다.
-
미해결스프링 핵심 원리 - 기본편
Assertions. 에서 임포트를 받지 못합니다 import org.assertj.core.api.Assertions; 받지못하니 기능수행이 안되네요 bulid.gradle에 추가해야 할꺼같은데요
import hello.core.AppConfig;import hello.core.member.MemberService;import hello.core.member.MemberServiceImpl;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import static org.assertj.core.api.Assertions.*;//ctrl + e 이전코드로 가기class ApplicationContextBasicFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("빈 이름으로 조회") void findBeanByName() { MemberService memberService = ac.getBean("memberService",MemberService.class); Assertions //assertThat(memberService).isInstanceOf(MemberServiceImpl.class); }}
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 => http 요청 데이터 - post html from 강의
안녕하세요 강의 잘 듣고 있어요! post는 회원가입과 같은 url에 숨겨야 하는 정보일 때 사용한다고 알고 있는데 그정도로 이해하면 될까요? form에서도 get을 사용하면 되는데 굳이 post를 사용하는 이유가 더 있을까 해서요. 바디에 담아서 요청한다고 해도 어차피 개발자 도구 열어서 바디에 요청한 데이터가 보이든 Get으로 요청하여 url에 보이든 똑같은게 아닌가 싶어서요 지금까지 그냥 당연하게 생각 했는데 문득 궁금해져서 질문 드립니다!! http 강의 올리신 내용에도 딱 이정도로만 설명을 하신 걸로알고 있어서 ㅜㅜ
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
리포지토리 권한 부여에는 얼마나 걸릴까요..?
리포지토리 권한 부여에 걸리는 기간은 얼마나 되나요? 시간이 있을 때 배워두고 싶은데요...ㅠㅠ 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
webapp 질문드립니다.
영한님 안녕하세요. Spring MVC 강의를 듣던 도중 질문드립니다. 빌드까지는 성공적으로 인식이 되는데, webapp/index.html도 들어있는데, localhost:8080/ 또는 localhost:8080/index.html과 같은 경로를 입력하면 white label error가 발생합니다. 밑에서 비슷한 질문이 있어서 확인해보니 war파일로 빌드를 했습니다. 어떻게 해결을 해야되는지 잘 모르겠습니다. 샘플코드로 올려주신 코드로 일부 코드들을 변경하고 있지만 이 부분은 해결되지 않고 있습니다.