강의를 수강하고 토이프로젝트를 해보던 중에 막히는 부분이 있어서 질문 드립니다ㅠㅠ 이런 식으로 중간 부분만 router-view를 이용하여 변경하려고 합니다. 현재 이 부분이 라우터가 '/'일때의 화면입니다. propsdata로 잘 받아와집니다. 그리고 수정페이지에서 정보를입력하고 제출하면 app.vue에서 변경이 됩니다. 근데 여기서 문제가 있습니다ㅠㅠ 1. 제출할 때 router-link로 to='/' 넘기면서 함수를 실행하여 emit으로 제출하려고 하는데 v-on:click을 넣으면 실행이 안됩니다.. 2. app.vue에서 변경된 데이터가 화면에 반영이 되지 않습니다. v-on으로 받아온 함수에서 console로 찍었을 때 변경이 되는건 확인을 했는데, 화면을 봤을 때는 반영이 안됩니다ㅜㅜ 도와주시면 감사하겠습니다..
Sbcglobal Email Not Working issue is a common one that can take place at anytime due to several reasons. However, you don’t need to worry if you are not capable of handling your problems on your own. Simply make a connection with the experts and you will get a feasible solution to tackle it down.
안녕하세요. Vue3를 적용해서 코드 작성을 연습하고 있는데 Vue3에서는 공식적으로 slot, slot-scope가 deprecated 된걸로 압니다. 그렇다면 알려주신 renderless component 개념은 vue3에서 사용이 안되는걸까요? 아니면 deprecated 됨에도 불구하고 다른 속성(?), api(?)를 사용해서 구현해야 하나요? 이후에도 많이 사용되는 구현 방법일지 궁금합니다.
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
7강 마무리 서버코드를 받아서 릴리즈로 실행하기 위한 작업을 몇가지 한뒤에, 로컬에서 돌려서 정상작동하는걸 확인하고, aws에 올려서 테스트 했습니다만, 서버쪽에선 이상한 곳에서 함수 동작이 멈춰버리고, 클라쪽에선 접속하고 캐릭터가 스폰되지 않아 배경만 덩그러니 있습니다. 멀티스레딩 비동기 프로그래밍에 익숙하지 않은 저로선 전혀 예상이 안가는 이상한 동작을 하여 질문드립니다. aws에서 인바운드규칙 설정하였고, public IP DNS로 Liseten걸어놨습니다. 1) 클라쪽 동작 로그 2) 서버쪽 동작 로그 3. 이상 동작을 확인하기위해 함수 한줄마다 Log를 찍어놨습니다. public void EnterGame(GameObject gameObject) { int checkCount = 0; Console.WriteLine($"EnterGame{++checkCount} int checkCount = 0;"); if (gameObject == null) return; Console.WriteLine($"EnterGame{++checkCount} if (gameObject == null)"); GameObjectType type = ObjectManager.GetObjectTypeById(gameObject.Id); if (type == GameObjectType.Player) { Console.WriteLine($"EnterGame{++checkCount} if (type == GameObjectType.Player)"); Player player = gameObject as Player; Console.WriteLine($"EnterGame{++checkCount} Player player = gameObject as Player"); _players.Add(gameObject.Id, player); Console.WriteLine($"EnterGame{++checkCount} _players.Add"); player.Room = this; Console.WriteLine($"EnterGame{++checkCount} player.Room = this;"); Map.ApplyMove(player, new Vector2Int(player.CellPos.x, player.CellPos.y)); Console.WriteLine($"EnterGame{++checkCount} Map.ApplyMove"); // 본인한테 정보 전송 { Console.WriteLine($"EnterGame{++checkCount} ---------- me -----------"); S_EnterGame enterPacket = new S_EnterGame(); Console.WriteLine($"EnterGame{++checkCount} new S_EnterGame()"); enterPacket.Player = player.Info; Console.WriteLine($"EnterGame{++checkCount} enterPacket.Player = player.Info"); player.Session.Send(enterPacket); Console.WriteLine($"player.Session.Send(enterPacket); {enterPacket.Player}"); S_Spawn spawnPacket = new S_Spawn(); Console.WriteLine($"S_Spawn spawnPacket = new S_Spawn(); {enterPacket.Player}"); foreach (Player p in _players.Values) { if (player != p) spawnPacket.Objects.Add(p.Info); } Console.WriteLine($"EnterGame{++checkCount}"); foreach (Monster m in _monsters.Values) spawnPacket.Objects.Add(m.Info); foreach (Projectile p in _projectiles.Values) spawnPacket.Objects.Add(p.Info); player.Session.Send(spawnPacket); } } else if (type == GameObjectType.Monster) { Monster monster = gameObject as Monster; _monsters.Add(gameObject.Id, monster); monster.Room = this; Map.ApplyMove(monster, new Vector2Int(monster.CellPos.x, monster.CellPos.y)); } else if (type == GameObjectType.Projectile) { Projectile projectile = gameObject as Projectile; _projectiles.Add(gameObject.Id, projectile); projectile.Room = this; } // 타인한테 정보 전송 { Console.WriteLine($"EnterGame{++checkCount} ---------- other -----------"); S_Spawn spawnPacket = new S_Spawn(); spawnPacket.Objects.Add(gameObject.Info); Console.WriteLine($"EnterGame{++checkCount} spawnPacket.Objects.Add(gameObject.Info);"); foreach (Player p in _players.Values) { if (p.Id != gameObject.Id) p.Session.Send(spawnPacket); } } }
안녕하세요 5.1 업종테마주수집 과정을 좀 변형해서 네이버금융의 "시가총액" 메뉴의 종목을 여러페이지 크롤링했습니다. 첫페이지 50개 만 가져오면 괜찮은데 이후 2번째 페이지부터 추가해서 가져오면 아래 코드 실행시 오류가 납니다 df_item_info = pd.concat(result.tolist()) TypeError : first argument must be an iterable of pandas objects, you passed an object of type "Series" 페이지 크롤링하는 부분은 아래와 같습니다 raw = pd.DataFrame() for page in range(1,3): url = f"https://finance.naver.com/sise/sise_market_sum.nhn?sosok=0&page={page}" table = pd.read_html(url, encoding="cp949") oneraw = table[1] oneraw = oneraw.dropna(how="all").dropna(axis=1, how="all") raw = raw.append(oneraw) time.sleep(1) 머가 문제인지 잘 모르겠습니다 확인 부탁드립니다 - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요 이제 강의 약 50% 정도를 듣고 있는데, 강의 내용은 따라하는데 활용을 해보려니 막상 어렵네요 문의드리고자 하는 내용은 다음과 같습니다. 예와 달리 실시간으로 입력이 되면 위 예시와 같이 아래 위로 나란히 있는 경우는 거의 없습니다. 출장일과 입력자가 같은 경우 출발과 도착이 다른 행에 있어 총운행거리를 구하기 어려운데, 이런 경우 1) 새로운 시트에 위 2개의 행을 하나로 합치는 방법 2) 아니면 출장일과 입력자가 같은 행의 경우, 총운행거리 셀에 도착 - 출발을 한 숫자 기록 저는 개인적으로 1) 이 좋을 것 같은데 가능한 방법 있을까요? 물론 하나씩 필터 걸어서 할 수 는 있겠지만 편리한 자동화를 한 번 구현해보고 싶어서 그럽니다. 데이터가 적으면 문제가 없겠지만 많은 경우를 대비하여 자동화 해보려고 하는 겁니다. 감사합니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. use strict구문에서는 with구문을 아마도 포함하지 않아서 에러가 생기는 것 같네요 with 자체는 {}에 묶어서 사용을 하면 document참조할때는 되게 편한 함수 같네요
Next로 블로그를 만드는 프로젝트를 진행하고 있습니다. 이게 메인 페이지인데, 다른 페이지를 갔다가 다시 메인페이지로 돌아오면 스크롤이 유지가 안되고 가장 맨 위로 이동하는 문제가 발생합니다. redux + redux-saga로 메인페이지에 다음과 같이 작성했는데 문제되는 부분이 있나요?
1. 다대다 맵핑을 직접 해보고 이해할려고 다이어 그램을 만들었습니다. 2. 회원은 여러개의 상품을 가질수 있다. 3. 그렇다면 회원 도 여러개의 상품을 가지고 상품도 여러개의 회원을 가지니까 N:M 으로 구현하는게 맞을까요? 4. 위를 기반으로 아래 처럼 만들어 봤습니다. 5. COUNT 는 회원이 상품을 총 몇개 주문했는지 가지고 있는걸 표현했습니다.
MyLinkedList.AddLast로 노드의 마지막에 요소를 추가하는거는 이해가 되었어요! 그리고 삭제할 요소가 있다면 MyLinkedListNode node = MyLinkedList.AddLast(데이터) 이렇게 노드에 집어넣고 MyLinkedList.Remove(node); 로 삭제하는것도 이해가 되었는데 그럼 링크드리스트의 경우 중간에 삭제해야하는 데이터가 있다면 처음에 여러데이터를 AddLast로 추가하면서 삭제할 데이터만 미리 MyLinkedListNode에 넣으면서 AddLast로 추가하는것인지 궁금합니다
안녕하세요 수업을 열심히 들은 학생입니다!! 정확히 VPN에 대해서는 설명해주시지 않고 간단히만 설명해주셔서 직접 VPN에 대해서도 공부해봤는데요. VPN의 public subnet에서는 인터넷과 연결이 필요한 ec2를 배치하고 private subnet에서는 외부와의 노출이 차단되어야하는 DB나 백엔드와 같은 부분을 넣어야 한다고 배웠습니다. 그러나 여러 실습 과정들을 보면 private subnet에 ec2를 넣어주는 것을 볼 수 있는데 ec2를 private에 넣는 경우는 어떤 경우인지 알려주실수 있나요?
일반적(?)으로, 코드상에서 존재하는 변수들이나 코드들은 카멜케이스로 작성, 외부 요청 (API 통신)을 때에는 snake case 형식으로 통신을 하는 것으로 알고 있습니다. 물론 상관없다라는 이야기가 나올 수 있지만, 협업관계에서는 되도록 일반적인, 익숙한 약속을 서로 맞춰 사용하는 것이 낫고 최대한 사소한 부분이나 스타일 관련해서는 충돌을 피하는 것이 낫다고 생각하기에, 응답할때에는 snake case 로 보내고 싶습니다. tpyeorm 을 작성하면서 find나, dto 작성이나, 엔티티 작성때에서 camel case 형식으로 변수가 작성되는 것 같은데, 혹시 이들을 응답할때 snake 로 자동변환해주는 어떤 방법이나, 또는 어떤방식으로 사용하고 계신지 궁금해서 질문드립니다!
전 강의에서는 for i := 0; i<5; i++ { fmt.Println(i) } 이런 식의 코드를 짰습니다. 그래서 0부터 시작해 증감식을 통해 4에서 끝나는 것을 알 수 있었습니다. 이번 강의에서는 a := 1 for a <= 2 { fmt.Println(a) } 였습니다. 여기서 알고 싶은 것은 '변수의 위치'와 '왜 무한적으로 1이 생성되는 가' 입니다. a := 1 이라고 선언을 한다고 하셨는데 전 강의에서의 i := 0 은 for 다음에 type되었지만, 지금 강의에서 a := 1 은 for 이전에 type되어있는데 그 이유를 알고 싶고 1은 2보다 작기 때문에 2에 도달할 일이 없다 해서 왜 1이 무한적으로 출력이 되는 것인지 알고 싶습니다. (증감식이 없어서 그런건가요?)
안녕하세요. 강의 잘 듣고 있습니다. @Data 어노테이션이 Getter Setter, toString을 한 번에 해줘서 평소에 자주 사용하고 있었는데요. 아래와 같이 해줬는데 insternal server error가 뜨는데, 왜 이런 에러가 뜨는지 잘 이해가 안 됩니다. @AllArgsConstructor 어노테이션을 지워주고 실행하면 잘 되기는 하는데, @RequiredArgsConstructor와 @AllArgsConstructor가 어느 지점에서 에러가 나는 걸까요? @AllArgsConstructor는 모든 멤버 변수에 대해서 생성자를 만들어주고 @RequiredArgsConstructor는 final이나 @NonNull이 붙은 멤버 변수만 가지고 생성자를 만들어주니 딱히 중복되는 건 없어보이는데... 잘 모르겠습니다 ㅜㅜ @Data @AllArgsConstructor public class HelloData { private String username; private int age; } com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `hello.servlet.basic.HelloData` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (String)"{"username": "kang","age": 25}"; line: 1, column: 2] at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1764) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:400) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1209) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1415) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:362) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:195) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:322) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4593) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3548) ~[jackson-databind-2.12.4.jar:2.12.4] at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3516) ~[jackson-databind-2.12.4.jar:2.12.4] at hello.servlet.basic.request.RequestBodyJsonServlet.service(RequestBodyJsonServlet.java:27) ~[classes/:na] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.50.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.9.jar:5.3.9] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.9.jar:5.3.9] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.9.jar:5.3.9] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
안녕하세요. 제가 람다랑 optional, 컬렉션 그런부분을 아직 잘몰라서 자바 공부가 더 필요한데요. 이 부분 듣다가 궁금증이 있어서 질문 남기게 됐습니다. - 중점적인 내용은 `findName 메소드를 findById메소드 처럼 구현하면 안되냐`입니다. -> 다른 질문글을 통해 id는 유일한 기본키로 사용되서 중복이 없고, 이름은 중복이 있을 수 있다고 하셨습니다. 제가 코드는 정확히 모르겠지만 영한님의 강의를 들어보며 추측해보면 -> store - 객체 -> , values() - 값들중 -> . stream() - 모두 돌리는데 -> .filter() - 가로안에 있는 조건에 해당하는 값이 걸리면 -> .findAny() -리턴해라 이런 의미의 식 같습니다. 또 filter 안에 있는 람다표현식?은 member를 받아서 받은 멤버 객체의 name이 findByName 메소드 호출시 매개변수로 받은 name과 같은지를 체크한 것 같구요. 여기서 궁금한점이 store의 member를 하나씩 쭉 돌리는데 우리가 매개변수로 넘겨준 name과 같은 member를 모두 optional에 담아서 반환하는건가요? 즉, findById는 중복 없이 Optional에 하나의 Member 객체만 담아서 반환되어 코드를 저렇게 짠 것이고 findByName은 중복이 있을 수 있어, 매개변수로 받은 name과 같은 모든 member 객체를 optional에 담아 반환해주는 코드인건가요?