안녕하세요 선생님? 강의 정말 잘보고있습니다. 감사합니다. 다름이 아니라 강의 내용처럼 따라서 잘구성해보았습니다. 잘돌아갑니다. 그런데 해결하고 싶은게 있습니다. 동일 서비스 중 하나가 중단됬을때 Gateway가 LB방식이라 중단된줄 모르고 중단된 서비스로 요청이 들어갑니다. 그러다보니 Connection 오류가 납니다. 대략 30초에서 1분 이후부터는 살아있는 서비스로만 요청이가서 잘 동작합니다. 만약 운영중이라면 30초에서 1분동안은 서비스가 불안할텐데 어떡하면 해결할 수 있을까요? 시스템 구성은 다음과 같습니다. GW <-> Discovery <-> 동일서비스 #3개(만약 #2번이 다운됬을때 #2번 서비스가 호출되어 서비스가 됬다 안됬다 하는 현상발생) 좋은 방법이나 예제가 있으면 감사하겠습니다.
카프카 설정을 잘못하여 에러를 발생시켜 보았는데 아래와 같은 메세지를 출력하며 계속 연결을 시도하는 것을 확인했습니다. Connection to node -1 (/127.0.0.1:9092) could not be established. Broker may not be available. Bootstrap broker 127.0.0.1:9092 (id: -1 rack: null) disconnected Node -1 disconnected. 혹시 이러한 경우 몇번만 연결을 시도하고 예외를 발생시킨다거나 하는 방법이 있을까요?? 추가로 이런 상황에서는 보통 어떤식으로 장애 대응을 하는지 궁금합니다. 브로커의 수를 늘리는 것도 이러한 상황을 방지할 수는 있겠지만, 결국 언제나 문제는 생길 수 있다고 생각하여 질문드립니다.
안녕하세요, 이번 달에 강의를 듣기 시작한 학생입니다. 현재 알고리즘에 대한 지식이 있고 이전부터 코딩테스트 문제들을 조금씩 풀어본 상태입니다. 강사님의 강의를 아직 많이 들어보진 않았지만, 초반부를 듣다보니 궁금한 점이 생겨 이렇게 여쭤봅니다. 강사님께서 강의를 하시는 문제들이 백준에서 어느정도 난이도인지 궁금합니다... 보통 대기업의 코딩테스트를 보려면 '골드 몇 이상, 실버 몇 이상, 플레 몇 이상'이라고 하는데, 제가 수강한 강의 앞부분은 대체로 쉬워서인지 대기업을 준비하는 입장의 난이도는 아니라고 생각합니다... 혹시 뒷부분에 있는 문제 난이도가 어느정도인지 알 수 있을 까요?? 감사합니다.
이번에 스프링을 배워보고자 인프런을 찾게 되었습니다. 강의 내용에 따라 자바 11버전을 다운 받고 IntelliJ 커뮤니티 버전을 설치해서 실행을 하려는데 아래 문장이 뜨면서 실행 자체가 안되네요 검색을 해봐도 나오질 않아서 해결방법이 있나 여쭙습니다. Internal error. Please refer to https://jb.gg/ide/critical-startup-errors java.lang.SecurityException: Could not open windows registry node Software\JavaSoft\Prefs at root 0xffffffff80000001: Access denied at java.prefs/java.util.prefs.WindowsPreferences.openKey( WindowsPreferences.java:554 ) at java.prefs/java.util.prefs.WindowsPreferences.openKey( WindowsPreferences.java:516 ) at java.prefs/java.util.prefs.WindowsPreferences.openKey( WindowsPreferences.java:502 ) at java.prefs/java.util.prefs.WindowsPreferences.removeSpi( WindowsPreferences.java:703 ) at java.prefs/java.util.prefs.AbstractPreferences.remove( AbstractPreferences.java:336 ) at com.intellij.ide.Prefs.put( Prefs.java:19 ) at com.intellij.ide.gdpr.EndUserAgreement.setAccepted( EndUserAgreement.java:80 ) at com.intellij.ide.gdpr.Agreements$applyUserAgreement$2.invoke(Agreements.kt:60) at com.intellij.ide.gdpr.Agreements$applyUserAgreement$2.invoke(Agreements.kt) at com.intellij.ide.gdpr.AgreementUi$setAcceptButton$1.actionPerformed(AgreementUi.kt:219) at java.desktop/javax.swing.AbstractButton.fireActionPerformed( AbstractButton.java:1972 ) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed( AbstractButton.java:2313 ) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed( DefaultButtonModel.java:405 ) at java.desktop/javax.swing.DefaultButtonModel.setPressed( DefaultButtonModel.java:262 ) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased( BasicButtonListener.java:279 ) at java.desktop/java.awt.Component.processMouseEvent( Component.java:6648 ) at java.desktop/javax.swing.JComponent.processMouseEvent( JComponent.java:3392 ) at java.desktop/java.awt.Component.processEvent( Component.java:6413 ) at java.desktop/java.awt.Container.processEvent( Container.java:2266 ) at java.desktop/java.awt.Component.dispatchEventImpl( Component.java:5022 ) at java.desktop/java.awt.Container.dispatchEventImpl( Container.java:2324 ) at java.desktop/java.awt.Component.dispatchEvent( Component.java:4854 ) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4948 ) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent( Container.java:4575 ) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent( Container.java:4516 ) at java.desktop/java.awt.Container.dispatchEventImpl( Container.java:2310 ) at java.desktop/java.awt.Window.dispatchEventImpl( Window.java:2802 ) at java.desktop/java.awt.Component.dispatchEvent( Component.java:4854 ) at java.desktop/java.awt.EventQueue.dispatchEventImpl( EventQueue.java:781 ) at java.desktop/java.awt.EventQueue$4.run( EventQueue.java:730 ) at java.desktop/java.awt.EventQueue$4.run( EventQueue.java:724 ) at java.base/java.security.AccessController.doPrivileged( AccessController.java:399 ) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege( ProtectionDomain.java:86 ) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege( ProtectionDomain.java:97 ) at java.desktop/java.awt.EventQueue$5.run( EventQueue.java:754 ) at java.desktop/java.awt.EventQueue$5.run( EventQueue.java:752 ) at java.base/java.security.AccessController.doPrivileged( AccessController.java:399 ) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege( ProtectionDomain.java:86 ) at java.desktop/java.awt.EventQueue.dispatchEvent( EventQueue.java:751 ) at com.intellij.ide.IdeEventQueue.dispatchEvent( IdeEventQueue.java:402 ) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters( EventDispatchThread.java:207 ) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter( EventDispatchThread.java:128 ) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter( EventDispatchThread.java:121 ) at java.desktop/java.awt.WaitDispatchSupport$2.run( WaitDispatchSupport.java:191 ) at java.desktop/java.awt.WaitDispatchSupport$4.run( WaitDispatchSupport.java:236 ) at java.desktop/java.awt.WaitDispatchSupport$4.run( WaitDispatchSupport.java:234 ) at java.base/java.security.AccessController.doPrivileged( AccessController.java:318 ) at java.desktop/java.awt.WaitDispatchSupport.enter( WaitDispatchSupport.java:234 ) at java.desktop/java.awt.Dialog.show( Dialog.java:1080 ) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show( DialogWrapperPeerImpl.java:712 ) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show ( DialogWrapperPeerImpl.java:453 ) at com.intellij.openapi.ui.DialogWrapper.doShow( DialogWrapper.java:1672 ) at com.intellij.openapi.ui.DialogWrapper.show ( DialogWrapper.java:1630 ) at com.intellij.ide.gdpr.Agreements.showEndUserAndDataSharingAgreements(Agreements.kt:19) at com.intellij.idea.StartupUtil.lambda$showEuaIfNeeded$25( StartupUtil.java:607 ) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run( CompletableFuture.java:1768 ) at java.desktop/java.awt.event.InvocationEvent.dispatch( InvocationEvent.java:318 ) at java.desktop/java.awt.EventQueue.dispatchEventImpl( EventQueue.java:779 ) at java.desktop/java.awt.EventQueue$4.run( EventQueue.java:730 ) at java.desktop/java.awt.EventQueue$4.run( EventQueue.java:724 ) at java.base/java.security.AccessController.doPrivileged( AccessController.java:399 ) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege( ProtectionDomain.java:86 ) at java.desktop/java.awt.EventQueue.dispatchEvent( EventQueue.java:749 ) at com.intellij.ide.IdeEventQueue.dispatchEvent( IdeEventQueue.java:402 ) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters( EventDispatchThread.java:207 ) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter( EventDispatchThread.java:128 ) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy( EventDispatchThread.java:117 ) at java.desktop/java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:113 ) at java.desktop/java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:105 ) at java.desktop/java.awt.EventDispatchThread.run( EventDispatchThread.java:92 ) ----- Your JRE: 17.0.4+7-b469.53 amd64 (JetBrains s.r.o.) C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.2\jbr
안녕하세요! Response 클래스가 필요하다는 것은 잘 이해했습니다. 그런데 Response 클래스를 서비스가 아닌 컨트롤러에서 변환하는 것은 어떻게 생각하시나요? 서비스에서는 리포지토리에서 엔티티를 반환받아서, 컨트롤러에 엔티티를 전달하고 컨트롤러에서 엔티티를 Response로 변환하여 리턴하는 식으로 현재 개발을 해봤는데요. 생각을 좀 해보니까, 엔티티를 Response로 변환하는 것을 비즈니스 로직이라고 생각하면 서비스에 포함시키는게 맞는것 같고.. 뭔가 Response는 화면UI 에 따라 자주 변할 수 있는 가능성이 많으니까 차라리 서비스는 항상 엔티티만 리턴하고 컨트롤러에서 UI에 맞게 변환만 해서 반환하는 것도 나쁘지 않다고 생각했는데요. 혹시 어떤 방법이 실무에서 자주 쓰이는지 궁금합니다.
스프링을 학습할때 modelAttribute와 비슷한 기능을 수행하여주는 커맨드 객체 라는것을 학습한적이 있었습니다 둘다 요청받은 파라매터를 사용하여 자동으로 객체를 만들어 준다는것 까지 똑같은거 같은데 modelAttribute가 model에 자동으로 바인딩 시켜준다는것 이외에 커맨드 객체와의 차이점이 있나요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
int nextX = x+ dx[dir];로 선언해주셨는데, 만약에 cin >> N 값에 3을 입력하면 dir이 Right의 방향을 가리키고 있다가 down으로 nextX=3이 되면 방향이 전환된 후 int nextX = x+ dx[dir];을 거치면 nextX 가 2값을 갖게 되는 데 왜 그런지 잘 모르겠습니다..
앞선 강의에서 사용했던 persistence.xml, pom.xml을 그대로 복사해서 붙였는데 에러가 납니다. 1. persistence.xml 의 경우 xmlns=" http://xmlns.jcp.org/xml/ns/persistence " URI is not registeded 2. pom.xml 의 경우 dependency 부분에서 invalid content was found~ 라고 에러 메시지가 뜹니다 3. Member 클래스 Entity 어노테이션이 적용되지 않습니다 * jdk, java 언어는 모두 11임을 확인했습니다 persistence.xml pom.xml Entity 어노테이션 적용 불가 관련
현재 지금 eGovFrame-4.0.0 을 사용하고 있는 중입니다., 강의 내용대로 EXPORT 하기 위해 WAR file을 생성해준 뒤, C드라이브에 들어가보면 war파일이 정상적으로 생성이 되지 않습니다. (압축 풀기 이런것도 없습니다.) 이것 저것 연결 프로그램도 바꿔보면서 해보았는데, 해결책을 찾지 못하였습니다. 어떻게 해야하나요?