공공데이터와 Folium(Python Library)으로 만드는 제주 오름 지도 안내 서비스
제주 오름 강의를 모두 수강한 뒤 다른 공공API를 이용해서 응용 연습을 해보고 있습니다. 체크박스로 원하는 주소 마커만 보는 기능을 사용했고 마커에 커스텀 아이콘을 사용했습니다.(아이콘 2가지 사용) 이제 부트스트랩에 적용해보려하는데 iconUrl길이가 너무 길어서 코드가 복잡해보입니다. iconUrl을 다른 코드로 대체해서 아이콘이 보이도록 할 수 있을 까요?
안녕하세요 영한님 스프링 기본편부터 querydsl까지 들으면서 혼자 프로젝트를 진행했었고 이제 사이드 프로젝트를 하면서 다른 프론트엔드 개발자와 협업해보고 싶습니다. 구글링을 해도 원하는 정보를 얻을 수 없어서... 질문을 남겨보려고 합니다. 보통 사이드 프로젝트를 진행하면 백엔드(저)는 제 pc로, 프론트엔드 개발자분은 그 분의 pc로 개발하게 될텐데, 제가 api 개발을 마치고 깃허브에 코드를 올려놓으면 프론트분이 제 코드를 clone해서 프론트분의 로컬 환경에서 api를 테스트하는 메커니즘인가요? 또한 만약 이렇게 테스트하게 된다면, 프론트분은 db이 어떻게 접근하는지, 보통 백엔드는 api만 개발하고 테스트는 하지 않는지도 궁금합니다.
복학 전에 개인 작업으로 FPS게임서버를 만들고 있습니다. 구현된 것들: - 신규 유저 접속 시 기존 유저 데이터 전송, 기존 유저에게 신규 유저 스폰 전송 - 키보드 입력(Vertical, Horizontal)을 하나의 Vector3에 저장하여 이전 값과 다를 경우 패킷을 전송 ( 데드레커닝이 맞는진 모르겠음) - 카메라 회전 값을 각 클라이언트에서 0.25초 단위로 동기화 패킷 전송 ( 회전값은 서버에서 검증이 필요없을 거라 생각해서 검증 없이 Echo ) 위에 적은 대로 위의 기능은 문제없이 잘 작동하지만 이동 동기화에 대해서 문제가 심각합니다.... 데드레커닝처럼 이전값과 다를 때만 패킷을 보내는데, 상대 클라이언트는 회전값 동기화가 0.25 + (내RTT/2 + 상대RTT/2)이상이라 이동패킷이 더 빠르게 가버리면 위치값에 대한 데이터 일관성이 깨집니다. 그래서 추가로 1초 단위로 현재 위치를 서버에 전송합니다. 서버는 새로운 위치값을 받고 자신이 갖고 있던 해당 플레이어의 위치값 ( 서버 내에서도 이동방향, 회전값, RTT/2, 오차범위를 기준으로 위치값을 0.25초 단위로 업데이트함) 과 비교하여 이 값이 정상적인 데이터인지 검증합니다. 만약 결과가 정상적이라면 Broadcast, 비정상적이라면 Leave로 구현했습니다. 그런데 문제는 서버에서 검증하는 시간 + 내 RTT / 2 + 상대 RTT / 2 차이 때문에 데드레커닝으로 예측하더라도 계속 이전 위치로 돌아가는 현상이 발생했습니다. 데드레커닝을 포기하자니 너무 느린 반응때문에 FPS에 적합하지 않은 것 같고, 서버 검증을 포기하자니 에디터에 Inspector에서 위치 이동만 해도 핵처럼 보였습니다. FPS에서는 검증을 어떻게 하는게 맞을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 위와같은 에러가 발생합니다. 에러 문구에 17버전 이라고 되어있어 구글링을 통하여 java버전이 제대로 설정되어있지 않음을 파악하고 환경변수 설정을 해주었습니다. 그래도 저 에러가 해결되지않아서 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. stateless (무상태성): 필요한 상태에 대한 정보를 클라이언트가 가지고 오기 때문에 클라이언트의 요청에 어느 서버가 응답해도 상관 없음. 따라서 클라이언트의 요청이 대폭 증가하면 서버를 증설해 해결할 수 있음 connectionless (비연결성): 클라이언트가 서버에 요청을 하고 응답을 받으면 바로 TCP/IP 연결을 끊어 연결을 유지하지 않음으로써 서버의 자원을 효율적으로 관리하고 수 많은 클라이언트의 요청에 대응할 수 있게 함 라고 이해했는데, 손님 - 직원의 예시로 봤을 때 무상태성: 고객이 직원에게 "저는 어떤 물품을 원해요"라고 필요한 정보들 ( = 필요한 상태)을 가진 채로 직원에게 요청 비연결성: 직원이 고객에게 필요한 물품 ( = 응답)을 전달해주었으므로 직원과 고객이 단절됨 ( = 연결 끊김), 이후 직원은 다른 손님에게 "어서오세요 손님"이라고 하면서 맞이함 이렇게 이해하면 될까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의에서의 예시로 보면 Stateful에서는 점원이 바뀌면 구매자가 어떤 것을 사고 싶은지 점원이 파악하지 못함 Stateless에서는 점원이 바뀌더라도 구매자가 필요한 모든 정보를 가진 채로 요청하기 때문에 주문에 문제 없음 이렇게 이해했는데, 그렇다면 Stateful에서는 "서버"가 "클라이언트"의 상태를 기억하고, Stateless에서는 "클라이언트"가 애초에 접속할 때 "서버"에게 필요한 상태를 제공하는 것으로 이해하면 될까요? 만약 그렇다면 "필요한 상태를 가지고 있어야 할 책임이 어느 쪽에 있는가?"에 따라 Stateful과 Stateless로 나누면 되는 것인지 궁금합니다!
채점사이트에 dfs 방식으로 풀이후 제출해보았는데 오답처리가 되어 강사님 강의를 확인했는데 Integer[] arr 을 static 처리를 했는지 여부를 제외하고 전부 코드가 같았습니다. 강사님의 코딩을 그대로 클론하여 검사받아도 오류가 나오고 제가 짠 코드로도 오답이 나오는데 혹시 이유를 알 수 있을까요? 코드 첨부하겠습니다. package section8; import java.util.Arrays; import java.util.Collections; import java.util.Scanner; public class p05 { static int n; static int money; static int answer = Integer.MAX_VALUE; public static void DFS(int count, int sum, Integer[] arr){ if(sum > money)return; if(sum >= answer) return; if(sum == money){ answer = Math.min(answer,count); } else{ for(int i = 0; i<n; i++){ DFS( count+1,sum+arr[i], arr); } } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); Integer[] arr = new Integer[n]; for(int i = 0; i<n; i++) arr[i] = sc.nextInt(); money = sc.nextInt(); Arrays.sort(arr, Collections.reverseOrder()); DFS(0,0, arr); System.out.println(answer); } }
[질문 내용] 강의 내용 중 "JPA와 DB 설정 동작 확인"의 20분 경부터 나오는 ./gradlew clean build 를 실행하다가 -> 아래 화면 캡처와 같이 java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132 에러가 발생했습니다. Test 파일 2개 모두 동일한 에러 메시지입니다. 커뮤니티의 답변 및 구글 검색을 통해 문제를 해결하려 했으나, 해결하지 못해 문의드립니다. (커뮤니티 답변에서 저와 동일한 에러를 만난 경우는 진도가 더 나간 상태에서 발생한 에러였으며, 구글링에서는 대부분 AWS배포와 관련되어 이 에러가 발생하고 그것을 해결한 케이스였습니다.) Test 파일 2개는 아래와 같이 작성되었습니다. 커뮤니티 답변을 모두 확인한 것은 아니었기에, 혹시 저와 동일한 상황에서 동일한 에러가 해결된 경우가 있다면 링크를 부탁드립니다. (혹, 답변을 위해 더 공유해야 할 내용이 있다면 알려주세요)
질문을 찾아봤는데 없는것 같아서 질문 드립니다! 혹시 특정 Service만 OSIV를 끄고 커넥션을 유지하는 방법은 없을까요? 이전 강의에서 hibernate.default_batch_fetch_size는 전체 사이즈를 정하고 @BatchSize처럼 개별적으로 사이즈를 정하듯이 OSIV는 개별적으로 on/off는 불가능한지 궁금합니다.
23분쯤에 UpdateItemDTO를 service계층에서 만들고 controller로부터 String name, int price... 이렇게 따로 받지말고 dto로 한번에 받는게 좋은 설계다 라고 말씀 해주셨는데 그러면 Controller에서 service 계층의 UpdateItemDTO를 알고 있어야 DTO를 service계층으로 보내줄텐데 이렇게 되면 UpdateItemDTO를 service계층에 만드는것은 문제가 따로 없는건가요? 서로 다른 계층에 대해서는 서로 몰라야 한다고 생각했는데 헷갈려서 질문 드립니다.
안녕하세요. 연관관계에 대해서 의문이 생겼습니다. 24분 쯤에 foreign key를 update 한다고 하셨는데 foreign key가 업데이트 되는 것이 실무적으로 발생해도 되는 경우인가요? pk를 참조하고 있기 때문에 개념상으로는 update 되어서는 안되는 데이터라고 생각했는데 상황적으로(팀을 바꾸는 상황)는 update 되는 것이 맞다고 여겨져서 제가 잘못 알고 있는 것인지 궁금해졌습니다. 감사합니다.
Unable to start the daemon process. This problem might be caused by incorrect configuration of the daemon. For example, an unrecognized jvm option is used. Please refer to the User Manual chapter on the daemon at https://docs.gradle.org/7.5/userguide/gradle_daemon.html Process command line: C:\Program Files\Java\jdk-11.0.16\bin\java.exe --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=KR -Duser.language=ko -Duser.variant -cp C:\Users\***(이름부분)\.gradle\wrapper\dists\gradle-7.5-bin\f1w0cc9nuo0eivz97x2xlu9sv\gradle-7.5\lib\gradle-launcher-7.5.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.5 Please read the following process output to find out more: ----------------------- Error: Could not find or load main class org.gradle.launcher.daemon.bootstrap.GradleDaemon Caused by: java.lang.ClassNotFoundException: org.gradle.launcher.daemon.bootstrap.GradleDaemon 혹시 저처럼 이런 오류 뜨는분 계실 까봐 글남깁니다. 제생각인데 이거 원인이 윈도우 사용자이름 때문인거 같습니다 . 사용자 이름이 한글이면 뭔가 안맞아서 이런 오류가 뜨는거같아요. 똑같은 컴에서 사용자 추가해서 실습하니까 아무문제 없이 잘되네요. 제 경험담인데 비슷한 일로 마인크래프트가 있습니다 마인크래프트도 사용자 이름이 한글로 되어있으면 실행이 안되더라고요(Exit code : 0 라고뜨면서 꺼집니다) 그래서 그때 사용자(윈도우 운영체제 계정?)를 새로 만들어서 하니까 잘되더라고요 바보같이 마이크로소프트 계정이름이 한글로 되어있는바람에 컴터 사용자가 한글로 됐고 그래서 이런일이...있는거같습니다.포멧하지 않는이상 해결안되는거같고 다른방법으로 사용장 계정(?)을 새로 만들어서 해결했습니다 저는요.. 좀더 자세히 추측해보자면 C:\Users\hong 이거랑 C:\Users\홍길동 이차이 인거같습니다 이폴더가 이름으로 되는거같은데 한글이면 문제가 되는거같습니다. 혹시 비슷한 문제 있으신분들은 참고하시면 될듯 합니다.
안녕하세요~! 본 강의에서는 사용되지 않았지만 다중공선성 제거를 위해 VIF 10 이상인 피쳐들은 drop하는 게 성능에 더 좋다고 하여 해당 방법을 적용하였는데 오히려 RMSE값이 0.3~0.5 정도 커지는 결과가 나타났습니다.(선형회귀, 릿지, 라쏘) VIF 제거 외에는 강의해주신 내용도 거의 유사한 방식으로 전처리 적용하였습니다. 1. VIF 10 이상인 피쳐들을 제거하는 게 예측률 향상에 무조건 좋은 것은 아닌건가요? 2. 만약 그렇다면 다중공선성 제거를 위한 추가적인 기법이 있을 것 같은데, 대표적으로 활용되는 방법이 어떤게 있을까요? 3. 마지막으로, VIF 10 이상인 피쳐들은 제거하여 성능이 향상되는 데이터셋의 대표적인 예와, 적용이 잘 안되는 예가 있을까요? 이번에도 애매한 질문을 드리는 점 죄송합니다. 아시는 수준에서 답변 주시면 정말 감사하겠습니다^^
온라인 게임을 하다보면 pc의 성능이 안좋거나 인터넷 환경이 불안정한 경우 렉이 걸려 해당 유저의 캐릭터가 멈추는 경우를 봤습니다. 이는 아마도 서버와 패킷을 전송하는 과정에서 pc성능의 문제로 패킷을 소화하지 못하거나 인터넷이 끊겨 패킷을 제때 전달받지 못해서 발생하는 문제라고 생각합니다. 그렇다면 반대의 경우 pc 성능이나 인터넷 환경이 타유저에 비해 압도적으로 뛰어난 경우는 타 유저에 비해 보다 많은 패킷을 주고 받을 수 있을 거라 생각합니다. 그럴 경우 타인보다 더 많은 이동, 공격을 하는 등 유저 간 벨런스에 문제가 생길 것 같고 그를 방지하기 위해 패킷 전송에 있어 일종의 상한선을 걸어야 하지 않을까 라는 생각을 합니다. 마치 프레임 제한을 거는 것처럼요. 이게 맞다면 제 개인적인 판단으로는 그러한 한 번에 전송할 수 있는 패킷의 양, 전송대기 시간 등을 클라이언트 쪽에서 제한하는 쪽으로 코드를 짜야하는 게 맞다고 생각이 드는데 이런 부분을 클라쪽에서 관리를 해야할까요? 아니면 서버 쪽에서 관리를 해줘야 할까요? -- 번외의 질문입니다. 롤의 경우 렉이 걸리는 유저는 혼자 렉이 걸리고 심할 경우 게임에서 나가지는 식인 반면에 닌텐도의 슈퍼마리오메이커2는 유저대전에서 한 명이 렉이 걸리면 전원이 렉이 걸리는 방식으로 알고 있습니다. 게임을 개발하는 개발자로서 마리오 방식보다는 롤의 방식이 유저에게 좀 더 긍정적인 평가를 받을 수 있을 거라 생각하는데 게임사 측에서 마리오 방식을 택하는 이유가 있을까요? 늘 좋은 강의 감사합니다.^^
안녕하세요. 이번에 새로 다시 프로젝트를 만들어 실행해보려고 강의에서 보여주신 대로 메이븐으로 만들어봤는데 강사님께서 만드시는 화면과 제가 만드는 화면이 다르더라고요. Archetype 과 version 을 필수로 입력해야 넘어가지던데 여기에 뭘 추가해줘야하나요? 혹시 몰라 jpa-maven-archetype 을 선택해봤는데 아래처럼 에러가 납니다. 자바 8로도 해봤는데 똑같은 증상을 보입니다!
Student 클래스에 보시면 public Student() { korea = new Subject(); math = new Subject(); } public Student2 (int id, String name) { studentID = id; studentName = name; korea = new Subject("국어"); math = new Subject("수학"); } 이렇게 있는데 저기 빨간 글씨인 첫번째 퍼블릭 스튜던트는 없어도 되는거 아닌가요? 두번째 퍼블릭 스튜던트가 있으면 첫번째건 없어도 되는거죠? 또 첫번째가 있다면 두번째가 없어도 되는 거 맞나요? 둘다 있을 필요는 없지 않나요?