묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
Incrementing 모드로 JDBC Source Connector 생성하기 질문
고생하십니다.질문은 해당 강의 진행중에 에러가 발생하여 질문드립니다. vi ~/connector_configs/mysql_jdbc_om_source_00.json을 통한 사전 설정값{ "name": "mysql_jdbc_om_source_00", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "tasks.max": "1", "connection.url": "jdbc:mysql://localhost:3306/om", "connection.user": "connect_dev", "connection.password": "connect_dev", "topic.prefix": "mysql_om_", "topic.creation.default.replication.factor": 1, "topic.creation.default.partitions": 1, "catalog.pattern": "om", "table.whitelist": "om.customers", "poll.interval.ms": 10000, "mode": "incrementing", "incrementing.column.name": "customer_id" } } 명령실행값http POST http://localhost:8083/connectors @mysql_jdbc_om_source_00.json명령 결과값HTTP/1.1 201 Created Content-Length: 566 Content-Type: application/json Date: Tue, 25 Apr 2023 01:47:21 GMT Location: http://localhost:8083/connectors/mysql_jdbc_om_source_00 Server: Jetty(9.4.44.v20210927) { "config": { "catalog.pattern": "om", "connection.password": "connect_dev", "connection.url": "jdbc:mysql://localhost:3306/om", "connection.user": "connect_dev", "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "incrementing.column.name": "customer_id", "mode": "incrementing", "name": "mysql_jdbc_om_source_00", "poll.interval.ms": "10000", "table.whitelist": "om.customers", "tasks.max": "1", "topic.creation.default.partitions": "1", "topic.creation.default.replication.factor": "1", "topic.prefix": "mysql_om_" }, "name": "mysql_jdbc_om_source_00", "tasks": [], "type": "source" } 이렇게 post를 통해서 올렸을 때, CONNECT쪽에서 아래와 같은 문제가 계속 발생하고 있습니다. Either no records were produced by the task since the last offset commit, or every record has been filtered out by a transformation or dropped due to transformation or conversion errors. (org.apache.kafka.connect.runtime.WorkerSourceTask:484)connect에 에러가 발생해 일단 강의 진행을 멈춘 상태입니다. 제가 혹시 놓친 부분이 있을지 질문드립니다.
-
미해결선형대수학개론
2.6강의 example 4 find a basis for the null space of the following matrix
안녕하세요 선생님공부를 하다가 식이 어떻게 유도가 되었는지 잘 이해가 안가서 이렇게 질문을 드립니다 x2[2,1,0,0,0] +x4[1,0,-2,1,0] + x5[-3, 0, 2,0 ,1]여기 부분이 어떻게 유도가 되었는지 궁금합니다 +추가질문선생님 그리고 풀의를 보면 1열과 3열에 pivot postion을 확인하여 기저가 1열과 3열인 것 같은데위에 x2, x4, x5랑 다른 의미의 기저인가요? 아님 그냥 기저가 다양하게 있다보니 이렇게 나오는건가요? 감사합니다
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
unity ML-Agent 생성 모델 활용한 inference
unity에서 디지털 트윈환경을 구축하고 ML-Agent로 학습한 모델을실제 운영환경에 적용하여 inference하려고 할 때모델 input/output은 어떻게 구성할 수 있나요?참고할 만한 자료가 있을까요?
-
미해결
코딩할 때 용량차이 이미지 코드
코딩할 때 로딩속도 때문에 통이미지를 바로 넣기보다 html코드작성을 하는걸 더 선호하는데코드가 길어지면 또 그것도 느려지는거 아닌가 하는 의문이 문득 들어서요!통이미지가 많은 것 보다 코드작성이 훨씬 로딩에는 좋은게 맞을까요? 아 추가적으로svg보다 image로 넣는게 보통 용량이 더 큰가요?
-
해결됨팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
심볼의 모션을 스프라이트시트로 생성할때..
선생님 안녕하세요.심볼의 모션 이미지 들을 스프라이트 시트로 생성하려고 하는데요다른 동작의 이미지로 바뀌게 되면서 처음 이미지보다 크기가 커지게 되면 이미지가 잘리게 됩니다. 심볼 내부로 가서 크기를 바꿔봤는데 안됩니다. 해결 방법이 있을까요? ㅠ.ㅠ;
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
unitychan 프리팹에 Poolable 스크립크를 추가하면 nullreference 에러가 발생합니다.
pool manager #3강을 듣고 있습니다.유니티짱 프리팹에 Poolable을 삽입하고 실행하면NullReferenceException 에러가 발생합니다.코드는 아래와 같습니다.답변해주시면 감사하겠습니다. ㅜㅜ//Poolable.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class Poolable : MonoBehaviour { //오브젝트가 이 컴포넌트를 들고 있으면 메모리 풀링 적용 public bool isUsing; //풀링이 됐는지 확인 } //PoolManager.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class PoolManager { #region Pool class Pool { public GameObject Original { get; private set; } #region 설명 /*이 속성은 get 접근자를 가지고 있어 Original GameObject을 가져올 수 있습니다. 또한 private set 접근자를 가지고 있어 Original GameObject을 Pool 클래스 내부에서만 설정할 수 있습니다. private set 접근자가 있는 속성을 사용하면 값을 읽을 수는 있지만 클래스 외부에서 그 값을 변경할 수 없습니다. 이렇게 하면 Original GameObject은 Pool 클래스의 lnit() 메서드로만 설정할 수 있으므로 풀을 특정 GameObject로 초기화할 수 있습니다.*/ #endregion public Transform Root { get; set; } #region 설명 /* //이 코드는 Pool 클래스의 Root 속성을 나타냅니다. 이 속성은 해당 풀에 속한 오브젝트들을 담을 게임 오브젝트의 Transform 컴포넌트입니다. get 접근자와 set 접근자를 모두 가지고 있으므로, 해당 속성은 읽기 및 쓰기가 가능합니다. Root 속성이 null인 경우, 새로운 게임 오브젝트의 Transform 컴포넌트를 만들어 Root 속성으로 할당합니다. */ #endregion Stack<Poolable> _poolStack = new Stack<Poolable>(); #region 설명 /* Pool 클래스 내부에 Stack<Poolable> 타입의 _poolStack 멤버 변수를 선언합니다. 이 스택은 풀링을 위해 사용되며, Poolable 객체의 인스턴스들을 담아 놓습니다*/ #endregion public void lnit(GameObject original, int count = 5) #region 설명 /*인자로 original, count를 받아서 Original, Root를 초기화합니다. Original은 Pool 클래스 내에서 사용되는 GameObject 변수이며, Root는 Pool 내에서 생성된 객체들의 부모 객체로 사용됩니다. 그리고 for문을 사용하여 count만큼 Create 함수를 호출하여 Poolable 객체들을 생성하고 Push 메서드를 호출하여 Stack에 추가합니다. Push 메서드는 Pool 클래스 내부에 구현되어 있으며, Poolable 객체를 Stack에 추가하고 비활성화합니다. */ #endregion { Original = original; Root = new GameObject().transform; Root.name = $"{original.name}_Root"; for (int i = 0; i < count; i++) { Push(Create()); } } Poolable Create() #region 설명 /*Create() 메소드는 새로운 객체를 생성하고, 이를 Poolable 컴포넌트를 추가한 뒤 반환합니다. 첫 번째로 Instantiate 메소드를 사용하여 Original 게임 오브젝트의 복사본을 만들어 go 변수에 할당합니다. 이후 go 변수의 이름을 Original 게임 오브젝트의 이름으로 변경합니다. 마지막으로 go.GetOrAddComponent<Poolable>() 메소드를 호출하여 Poolable 컴포넌트가 이미 추가되어 있으면 해당 컴포넌트를 반환하고, 추가되어 있지 않으면 새로운 Poolable 컴포넌트를 추가한 뒤 반환합니다. 이렇게 반환된 Poolable 컴포넌트가 Push 메소드에서 사용됩니다. */ #endregion { GameObject go = Object.Instantiate<GameObject>(Original); // 복사본은 go에 저장 go.name = Original.name; return go.GetOrAddComponent<Poolable>(); } public void Push(Poolable poolable) #region 설명 /*Push 함수는 Poolable 객체를 받아서 _poolStack 스택에 저장합니다. 이 함수는 객체 풀링의 핵심입니다. 먼저 poolable이 null인 경우, 즉 재활용할 객체가 없는 경우 함수를 바로 종료합니다. 그렇지 않으면, poolable의 transform의 parent를 Root로 설정하여 원본 객체의 하위 개체로 추가합니다. 그리고 gameObject를 비활성화하고, Poolable.isUsing 변수를 false로 설정하여 해당 객체가 사용 중이 아님을 나타냅니다. 마지막으로, poolable을 _poolStack 스택에 푸시합니다. 이렇게 되면 풀에 객체 가 추가되고, 다음에 필요할 때 재활용할 수 있습니다.*/ #endregion { if (poolable == null) return; poolable.transform.parent = Root; #region 설명 /* transform은 Unity 게임 오브젝트의 구성 요소 중 하나로, 게임 오브젝트의 위치, 회전 및 크기를 관리합니다. transform.parent 속성은 해당 게임 오브젝트의 부모 객체의 transform을 나타냅니다. 따라서 poolable.transform.parent = Root; 코드는 poolable 게임 오브젝트의 transform의 부모를 Root로 설정하여, Root 아래에 생성된 모든 게임 오브젝트가 Root의 자식으로서 계층 구조적으로 관리되도록 합니다.*/ #endregion poolable.gameObject.SetActive(false); #region 설명 /* 인자로 전달된 poolable 객체의 게임 오브젝트를 비활성화합니다. 이것은 해당 객체가 풀에 반환되어 사용 가능한 상태가 되었음을 의미합니다.*/ #endregion //업데이트문을 받지않고 수면상태 poolable.isUsing = false; _poolStack.Push(poolable); } public Poolable Pop(Transform parent) #region 설명 /*Pop 함수는 오브젝트 풀에서 사용 가능한 Poolable 객체를 꺼내서 반환하는 함수입니다. parent 매개변수는 반환된 Poolable 객체를 부모로 하는 Transform을 설정할 때 사용됩니다. 함수는 다음과 같은 동작을 수행합니다: _poolStack 스택에서 사용 가능한 Poolable 객체를 가져옵니다. _poolStack 스택에 사용 가능한 Poolable 객체가 없으면 Create() 함수를 호출하여 새로운 Poolable 객체를 만듭니다. 가져온 혹은 새로 만든 Poolable 객체를 활성화합니다. parent 매개변수로 받은 Transform을 부모로 하는 Poolable 객체의 Transform을 설정합니다. isUsing 변수를 true로 설정하여 해당 객체가 사용 중임을 나타냅니다. Poolable 객체를 반환합니다.*/ #endregion { Poolable poolable; if (_poolStack.Count > 0) poolable = _poolStack.Pop(); else poolable = Create(); poolable.gameObject.SetActive(true); poolable.transform.parent = parent; poolable.isUsing = true; return poolable; } } #endregion Dictionary<string, Pool> _pool = new Dictionary<string, Pool>(); #region 설명 /*Dictionary는 key-value pair를 저장할 수 있는 C#의 데이터 구조 중 하나입니다 이 코드는 Dictionary<string, Pool> 타입의 _pool 변수를 선언합니다. Dictionary는 key-value 쌍의 컬렉션으로, 각각의 key에 대응하는 value를 저장합니다. 여기서 key는 string 타입이고 value는 Pool 타입입니다. 따라서 _pool 변수는 string 타입의 key와 Pool 타입의 value를 가지는 Dictionary입니다. 이 변수는 나중에 게임 오브젝트를 풀링할 때 사용됩니다.*/ #endregion //다른곳에 기생 리소스 매니저 보조 Transform _root; #region 설명 /*_root 라는 이름의 Transform 타입 변수를 선언하고 있습니다. Transform은 Unity Engine에서 게임 오브젝트의 위치, 회전, 크기 등의 정보를 담고 있는 컴포넌트입니다. _root 변수는 풀링된 객체들이 모여있는 루트 오브젝트를 가리키는 역할을 합니다. 이 변수는 lnit() 함수에서 생성됩니다.*/ #endregion //트렌스폼은 게임 오브젝트와 연결 public void lnit() #region 설명 /*lnit 함수는 Pool 클래스가 생성될 때 호출되며, Pool 클래스 내부에서 사용되는 변수인 _root를 초기화합니다. _root는 Pool 클래스에서 생성된 모든 객체들이 생성될 때 사용되는 부모 객체입니다. 먼저 if문을 사용하여 _root가 null인지 확인합니다. null이라면, _root가 존재하지 않으므로 새로운 GameObject를 생성하고 _root 변수에 할당합니다. GameObject가 생성되면 해당 GameObject의 이름을 "@Pool_Root"으로 설정하고, Object.DontDestroyOnLoad 함수를 사용하여 게임 오브젝트를 씬 전환시 파괴되지 않도록 합니다. 이렇게 함으로써, Pool 클래스는 게임이 실행되는 동안 계속해서 _root 객체를 사용할 수 있으며, 필요한 경우 Poolable 객체들을 _root 객체의 하위에 위치시켜 관리할 수 있습니다.*/ #endregion { if (_root == null) { _root = new GameObject { name = "@Pool_Root" }.transform; Object.DontDestroyOnLoad(_root); } //게임이 실행된이후로 영구적으로 존재 //풀링이 필요하면 pool_root 산하로 이동해서 보관 } public void CreatePool(GameObject original, int count = 5) #region 설명 /*이 함수는 GameObject을 이용해서 새로운 객체 풀을 생성하는 역할을 합니다. 함수 인자로 original과 count를 받습니다. original은 객체 풀링을 위해 복제할 원본 게임 오브젝트를 의미합니다. count는 생성할 초기 오브젝트 개수를 나타냅니다. 함수 내부에서는 Pool 객체를 생성하고 lnit() 메소드를 이용해 생성한 original과 count를 초기화합니다. 그리고 이 Pool 객체의 Root 프로퍼티를 _root의 자식으로 설정합니다. 마지막으로, _pool 딕셔너리에 original의 이름과 pool을 추가합니다. 따라서, CreatePool() 메소드를 호출하여 객체 풀을 생성하면 해당 원본 게임 오브젝트를 original로 하는 Pool 객체가 생성되고, 이 Pool 객체는 _root 아래에 생성된 후, _pool 딕셔너리에 추가됩니다. 이렇게 생성된 객체 풀은 나중에 필요할 때 GetPool() 메소드를 이용하여 언제든지 접근할 수 있습니다.*/ #endregion { Pool pool = new Pool(); pool.lnit(original, count); pool.Root.parent = _root; //루트를 pool_root에 연결 _pool.Add(original.name, pool); } public void Push(Poolable poolable) #region 설명 /*위 코드는 입력받은 Poolable 객체를 다시 풀에 반환하는 메서드입니다. 입력받은 Poolable 객체의 GameObject 이름을 키로 사용하여, 해당 GameObject의 프리팹이 풀에 존재하는지 검사합니다. ContainsKey 메서드는 Dictionary 클래스에 있는 메서드로, 지정된 키가 Dictionary 컬렉션에 포함되어 있는지 여부를 확인합니다. 여기서는 _pool 딕셔너리에 입력받은 Poolable 객체의 GameObject 이름이 존재하지 않으면, 해당 객체의 게임 오브젝트를 파괴하고 메서드를 종료합니다. 만약 프리팹이 존재하면 해당 객체를 다시 Push 메서드를 이용하여 해당 프리팹의 Pool 객체에 반환합니다.*/ #endregion //풀에다가 푸시하는 함수 //다 사용한다음에 반환하는 작업 { string name = poolable.gameObject.name; if (_pool.ContainsKey(name) == false) #region 설명 /*ContainsKey는 Dictionary<TKey, TValue>에 키가 포함되어 있는지 여부를 반환하는 메서드입니다. 키가 포함되어 있으면 true를, 그렇지 않으면 false를 반환합니다. 예를 들어, Dictionary<string, int> 인스턴스 dict가 있다고 가정해보겠습니다. 이 경우 dict.ContainsKey("apple")은 dict에 "apple"이라는 키가 포함되어 있는지 확인하고, 있으면 true를, 없으면 false를 반환합니다.*/ #endregion { GameObject.Destroy(poolable.gameObject); return; } _pool[name].Push(poolable); } public Poolable Pop(GameObject original, Transform parent = null) #region 설명 /*해당 함수는 풀에서 객체를 꺼내는 역할을 수행하는 함수입니다. 먼저, _pool이 해당 original 객체의 키를 가지고 있는지 확인합니다. 만약 해당 original 객체의 키가 없으면, CreatePool 함수를 통해 새로운 풀을 생성합니다. 그러나 해당 함수에서는 객체를 반환하지 않고, null을 반환하고 있습니다. 객체를 반환하기 위해서는 Pool 클래스의 Pop 함수를 호출해야 합니다. 또한, Transform parent 인자를 활용하여, 해당 객체를 생성한 후, 지정된 부모 객체의 자식으로 추가할 수 있습니다.*/ #endregion // 꺼내는 함수 // parent는 없을 수 도 있다고 체크함. { if (_pool.ContainsKey(original.name) == false) //풀에 오리지날 네임이 있는지 확인 CreatePool(original); return null; } public GameObject GetOriginal(string name) #region 설명 /*이 코드는 이름이 name인 GameObject가 포함된 풀의 Original GameObject를 가져오는 함수입니다. name: 가져오려는 GameObject의 이름 _pool Dictionary에 name을 key로 가지는 Pool이 있는지 검사합니다. 없다면 null을 반환합니다. 있다면 해당 Pool의 Original GameObject를 반환합니다. 이를 통해 필요한 GameObject를 재사용할 수 있습니다.*/ #endregion { if (_pool.ContainsKey(name) == false) return null; return _pool[name].Original; } //@@신이동할때 캐시를 날린다. public void Clear() { foreach (Transform child in _root) #region 설명 /* _root의 자식들에 대해 반복문을 실행하는 코드입니다. _root는 Transform 타입의 변수이며, 생성한 Pool 객체들의 Root Transform을 담고 있는 부모 객체입니다. 즉, _root의 자식들은 Pool 객체의 Root Transform입니다. 따라서 이 코드는 생성한 모든 Pool 객체들의 Root Transform에 대해 반복문을 실행합니다.*/ #endregion //루트 산하에 접근 GameObject.Destroy(child.gameObject); _pool.Clear(); //풀 초기화 } }
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
안녕하세요 질문이 있습니다
C++에관한 질문이 아니라 죄송합니다훌륭한 언리얼 개발자를 위해 강의를 수강하고 있습니다.작은규모의 회사에서 진행중인 프로젝트가 언리얼 기반으로 진행중인데 언리얼에서 html5가 최신버전에선 지원을 안한다고 유니티로 바꾸는게 어떻냐는 의견이 나옵니다.1.실제로 아예 최신버전에선 html5를 지원을 안하고 사용할 수 없을까요?2.언리얼에도 아직 미숙한데 유니티를 다시 처음부터 배우게면서 두마리 토끼를 잡으려고 하면 초보인 저에게는 힘든일이될까요? 감사합니다
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 타임아웃 설정이 안됩니다.
안녕하세요.로그인 처리1 마지막 부분 세션 타임아웃 설정부분.pdf 41page가 안됩니다.application.properties 파일에서server.servlet.session.timeout=10이렇게 해보기도 하고SessionInfoController에서session.setMaxInactiveInterval(10);이렇게 해보아도 타임아웃이 되지 않습니다.제가 기대하는 것은 10초 뒤에는 세션아웃이 되어서 로그인이 필요한 페이지에 접근이 않되는 것인데요.제가 잘못이해하거나 설정이 안된 부분이 있다면 알려주시면 감사하겠습니다.제가 작성한 프로젝트는 여기에 올렸습니다.https://drive.google.com/file/d/1q1VbFHc21BpUgeTIjCvCd5WmXW-abwHm/view?usp=share_link
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
BaseListView 클래스의 get 메서드는 언제/누가 호출하나요?
BaseListView 클래스 get 메서드 로직은 대체로 이해가 가는데 ListView클래스 기반 뷰 내부로직에서 어디에서 이 get메서드를 호출하는지 궁금합니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
페이징 처리 매개변수와 페이징처리과정 의문
Q1, Q2, Q3 이 있는데 Q1은 해결한것 같습니다(?) Q1강의 슬라이드에서필기 해주실때paginate_by=10 넘겨줄때 page=3 이라고 하셨는데paginate_by = ~개씩 보기page = 몇 페이지에서의 (현재 보는 페이지)라는 의미라면page 라는 이름의 매개변수까지 전달해주면 혹시 어디로 전달되나요? page라는 값은 쿼리할때도 응답받으로때도 계속 코드에서 기억하고 있어야 할 것 같은데 안보이고있네요..ㅎㅎ살펴보고있는데 page라는 변수는 클래스변수에도 없고 위 그림의 paginate_queryset 메서드의 인자로도 없고 그래서요 (물론 리턴값으로는 나오지만..)자문자답아 paginate_queryset 메서드 상단에 있었네요.(그전 DetailView에서 pk, slug 식별자가 디폴트였던것처럼) page 매개변수도 page_kwargs 클래스변수로 있고 그 값을 룩업 해서 self.kwargs 라는 딕셔너리 클래스변수에서 먼저 뒤지고없다면 아예 HttpRequest 객체에서 뒤지고그래도 없다면 1(첫페이지) 로 하드코딩해서 초기화 하네요 Q2그리고 pagination_queryset 메서드의 page_size 매개변수는 어떤 의미 인가요? 보니깐 get_paginate_by(self, queryset) 로 그냥 단순 paginate_by (몇개씩 볼껀지) 클래스변수를 그대로 getter 해오고 page_size 라는 get_context_data메서드 내 지역변수로 쓰고 버리던데...? 궁금합니다자문자답-> 조회한 전체 qs 수 군요~ Q3get_paginate_by 메서드에 왜 QuerySet 객체가 있을까요? 분명히 이렇게 설계한 이유가 있을꺼 같은데?왜냐면 get_context_data 메서드 안에서get_paginate_by(queryset: QuerySet) 호출한번하는데사실상 API는 get_paginate_by 메서드는 단순하게 클래스변수인 self.paginate_by 를 리턴해주고 있어서 여쭤봅니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
DetailView 의 템플릿처리(기본 목적)를 확장 하는 방법
View 챕터 수강 중입니다.View 의 CBV 부터는 뭔가 새롭고, 헤비하고 그만큼 공부시간도 늘어나고 있네요.이번 수업에서 중간에 선생님께서 아래 이미지 처럼 말씀하셨는데,질문아래 이미지 처럼 CVB API:DetailView 기본목적인 템플릿 처리가 아니라 아래 이미지 처럼 다양한 응답 포맷으로 확장하려면 어디를 어떻게 어떻게 확장 해야하나요?그리고 템플릿처리가 아닌 다른처리를 위해 Bulit-in API를 확장하는 방식이 자주 쓰이는 방식으로 잘 익혀놔야하는건지? 궁금하고요또 향후 뒤쪽 수업에 더 자세히 배울수 있는내용인건지 궁금합니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
CBV DetailView pk_url_kwarg 클래스변수 재정의
만약 urls.py 에서 URL Cpatured Value에 uid라는 식별자로 받았으면CBV DetailView 클래스의 pk_url_kwarg 클래스변수를 당연히 재정의 해줘야하는데어떤식으로 하는지 궁금합니다.아예 DetailView 클래스를 상속받아서 확장할때클래스변수 model 이든 pk_url_kwargs 든 재정의 한다음확장한 블라블라DetailView클래스 로 .as_view() 메서드 호출하면 될꺼같은건 알겠는데커스텀클래스 만들지 않고 하는 방식이 있다면(?) 궁금합니다!그리고 보통 실무적으로/관례적으로 어떤방식으로 쓰이고 강사님은 어떨때 어떤방법을 선호 하시는지 궁금하고 그 이유도 궁금합니다.(100% 이방법이 옳다 이방법이 많이 쓰인다 라는게 없다는건 알지만 장고가 아직은 낯설어서 best practice를 알고싶어서 그렇습니다) 만약 아래 강의 슬라이드 코드를 기반으로 살펴보면아래코드처럼 as_view 메서드 호출 할 때 인자로 넘겨주면 되는건가요?그러면 as_view 메서드 부터 이후 로직에서 알아서 내부적으로 클래스변수에 setter 해주나요? (그런 로직이 있다면)post_detail1 = DetailView.as_view(mode=Post, pk_url_kwarg='uid')
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JSP 로 보여지지 않아요
JSP 형식으로 보여지지 않아요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
logoutUser API 요청 시 에러 원인을 모르겠습니다...
로그인 정상 진행되었고 로그아웃 api 요청 시 토큰값 정상적으로 전달하고 있습니다.api 요청 후 이런 에러가 발생해요에러가 해결이 안돼서 한번 봐주시면 감사하겠습니다그리고 만약 logoutUser 정상적으로 동작되면 해당 토큰을 만료시키는 방식인건가요? 강의 이해하기 쉽게 잘 알려주셔서 늘 감사합니다~~
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편
소스 에셋과 타겟 에셋이 겹침 문제
강의 시청중 질문사항 있어서 올립니다.언리얼엔진5 스파르타 클래스 - 체인을 이용한 리타게팅 편에서20분 15초 구간 중, 타겟을 설정했을 시 소스 에셋과 타겟 에셋이 겹쳐서 보입니다.강의를 아무리 돌려봐도 이유를 잘 모르겠습니다. 버그인거 같기도 하구요.엔진 버전은 5.1.1 입니다. 알려주시면 감사하겠습니다~
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
nginx에 대해서
좋은 강의 잘 보고 있습니다. 감사합니다.nginx에 대한 감이 잘 안잡혀서 그러는데,개발환경에서는 서버로 http 요청이 오면 개발서버가 그에따른 정적파일을 제공하고,운영환경에서 서버로 http 요청이오면 nginx가 그에따른 정적파일을 제공한다라고 이해하면 될까요 ?그리고 위에서 말하는 개발환경은 개발이 로컬 머신에서만 이루어지는 걸 의미하는게 맞을까요 ?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
s3 연결하기 강의중 이미지 포함 post
안녕하세요 제로초님 늦은 밤에 죄송합니다현재 이미지 업로드하고 미리보기까지 나오는거 확인하고 올렸는데 성공했다고만 뜨고 정작 이미지 파일만 빼고 post성공한거같습니다 그리고 게시글은 올려 지긴 하나 사진 빼고 내용만 나옵니다 지금까지 콘솔내용을 보고 Images에 어떻게 넣을까 고민하다가 postform하고 백에서 routes/post.js부분을 건드려봤지만 아무런 성과가 없었습니다 에러도 안나와서 어딜봐야할지 잘모르겠습니다 ㅠㅠ
-
해결됨토비의 스프링 부트 - 이해와 원리
강사님 bind, bindOrCreate 차이 질문있습니다.
Binder.get(evn).bind("",bean.getClass());Binder.get(evn).bindOrCreate("",bean.getClass()); 해당 클래스 타입으로 Environment 빈 정보를 읽어서값을 바인딩해주고 null이 될경우 새 빈 오브젝트로 만들어준다고 하셨는데 1.여기서 바인딩 결과가 null이 될경우라는게 무슨 의 미인지 잘 이해가 안갑니다. 그리고 저희가 만든 @MyConfigurationProperties 어노테이션에는@Component가 메타어노테이션이 들어있고실제 스프링이 사용하는@ConfigurationProperties 에는@Component가 없더라구요@EnableConfigurationProperties에서는직접 레지스트리에 저장하는거같은데 제가 이해한게 맞을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
2023년 4월 중순 openfeign 에러 관련
안녕하세요. 저같은사람이 없기를 바라며 오류 해결법을 올립니다...환경은 23년 기준 스프링부트. 스프링클라우드 모두 최신버전입니다. (대신 강의처럼 maven이 아닌 gradle입니다)23년 4월중순부터 강의를 잘 따라하다가 빌드후 실행하면 user-service에서 에러가 나는겁니다.openfeign 관련 에러였습니다. org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'rabbitConnectionFactory': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.context.event.AbstractApplicationEventMulticaster.retrieveApplicationListeners(AbstractApplicationEventMulticaster.java:264) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.event.AbstractApplicationEventMulticaster.getApplicationListeners(AbstractApplicationEventMulticaster.java:221) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:413) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:419) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:370) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1036) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1003) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.cloud.context.named.NamedContextFactory.destroy(NamedContextFactory.java:113) ~[spring-cloud-context-4.0.1.jar:4.0.1] at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:200) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1177) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1170) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1084) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) ~[spring-boot-3.0.4.jar:3.0.4] at com.example.userservice.UserServiceApplication.main(UserServiceApplication.java:20) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-3.0.4.jar:3.0.4] 2023-04-24T23:38:38.274+09:00 INFO 14780 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2023-04-24T23:38:38.274+09:00 INFO 14780 --- [ restartedMain] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down' 2023-04-24T23:38:38.480+09:00 WARN 14780 --- [ restartedMain] o.s.b.f.support.DisposableBeanAdapter : Invocation of destroy method failed on bean with name 'inMemoryDatabaseShutdownExecutor': org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] 2023-04-24T23:38:38.481+09:00 INFO 14780 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2023-04-24T23:38:38.484+09:00 INFO 14780 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. 2023-04-24T23:38:38.486+09:00 INFO 14780 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2023-04-24T23:38:38.509+09:00 INFO 14780 --- [ restartedMain] .s.b.a.l.ConditionEvaluationReportLogger : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2023-04-24T23:38:38.534+09:00 ERROR 14780 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController' defined in file [E:\study\1.Web\2.BackEnd\MSA\user-service\out\production\classes\com\example\userservice\controller\UserController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'userServiceImpl': Unsatisfied dependency expressed through field 'orderServiceClient': Error creating bean with name 'com.example.userservice.client.OrderServiceClient': FactoryBean threw exception on object creation at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:245) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1344) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1188) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:961) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584) ~[spring-context-6.0.6.jar:6.0.6] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) ~[spring-boot-3.0.4.jar:3.0.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) ~[spring-boot-3.0.4.jar:3.0.4] at com.example.userservice.UserServiceApplication.main(UserServiceApplication.java:20) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-3.0.4.jar:3.0.4] Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userServiceImpl': Unsatisfied dependency expressed through field 'orderServiceClient': Error creating bean with name 'com.example.userservice.client.OrderServiceClient': FactoryBean threw exception on object creation at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:712) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:692) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:133) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:481) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1408) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1405) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ~[spring-beans-6.0.6.jar:6.0.6] ... 24 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.example.userservice.client.OrderServiceClient': FactoryBean threw exception on object creation at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:154) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:90) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1823) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1265) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:259) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1628) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1585) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1368) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1325) ~[spring-beans-6.0.6.jar:6.0.6] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:709) ~[spring-beans-6.0.6.jar:6.0.6] ... 39 common frames omitted Caused by: java.lang.IllegalStateException: PathVariable annotation was empty on param 0. at feign.Util.checkState(Util.java:136) ~[feign-core-12.1.jar:na] at org.springframework.cloud.openfeign.annotation.PathVariableParameterProcessor.processArgument(PathVariableParameterProcessor.java:52) ~[spring-cloud-openfeign-core-4.0.1.jar:4.0.1] at org.springframework.cloud.openfeign.support.SpringMvcContract.processAnnotationsOnParameter(SpringMvcContract.java:280) ~[spring-cloud-openfeign-core-4.0.1.jar:4.0.1] at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:126) ~[feign-core-12.1.jar:na] at org.springframework.cloud.openfeign.support.SpringMvcContract.parseAndValidateMetadata(SpringMvcContract.java:193) ~[spring-cloud-openfeign-core-4.0.1.jar:4.0.1] at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:65) ~[feign-core-12.1.jar:na] at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:142) ~[feign-core-12.1.jar:na] at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:58) ~[feign-core-12.1.jar:na] at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:50) ~[feign-core-12.1.jar:na] at feign.Feign$Builder.target(Feign.java:197) ~[feign-core-12.1.jar:na] at org.springframework.cloud.openfeign.DefaultTargeter.target(DefaultTargeter.java:30) ~[spring-cloud-openfeign-core-4.0.1.jar:4.0.1] at org.springframework.cloud.openfeign.FeignClientFactoryBean.loadBalance(FeignClientFactoryBean.java:398) ~[spring-cloud-openfeign-core-4.0.1.jar:4.0.1] at org.springframework.cloud.openfeign.FeignClientFactoryBean.getTarget(FeignClientFactoryBean.java:446) ~[spring-cloud-openfeign-core-4.0.1.jar:4.0.1] at org.springframework.cloud.openfeign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:421) ~[spring-cloud-openfeign-core-4.0.1.jar:4.0.1] at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:148) ~[spring-beans-6.0.6.jar:6.0.6] ... 50 common frames omitted Process finished with exit code 0에러는 다음과 같구요...Error creating bean with name 'rabbitConnectionFactory'를 아무리 검색해도 답이 안나오길래중간에 PathVariable annotation was empty on param 0.를 검색해서OrderSerivceClient 인터페이스에서 getOrders 함수의 @PathVariable에 value를 써주니까 에러가 사라졌습니다!! 뭔가 lib파일이 업데이트 됐다봅니다... before@GetMapping("/order-service/{userId}/orders") List<ResponseOrder> getOrders(@PathVariable String userId); after@GetMapping("/order-service/{userId}/orders") List<ResponseOrder> getOrders(@PathVariable(value = "userId") String userId); 세시간동안 gradle로 초기화해보고 별짓 다해보다 포기하려던 찰나에 해결했습니다.저같은분은 없기를 바라겠습니다... 블로그 참조 https://lemontia.tistory.com/1046 혹시 다른방식으로 해결하신분 답변 부탁드립니다!
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
h2 동작방식을 제가 이해하고있는지 확인해주세요
h2 애플리케이션은 jdbc:h2:tcp://localhost/~/test 즉, tcp통신을 통해 test.mv.db 파일에 데이터를 저장한다. h2.sh 애플리케이션을 실행하면 os에 org.h2.driver가 등록된다. jdbc가 제공하는 DriverManager는 os에 등록된 org.h2.driver를 관리하는 객체이다. 제가 이해한 내용이 맞을까요? 확인해주시면 감사합니다!