function solution ( test ) { let answer = []; for ( let i = 0 ; i < test . length ; i ++) { for ( let j = 0 ; j < test [ i ]. length - 1 ; j ++) { for ( let k = j + 1 ; k < test [ i ]. length ; k ++) { if ( answer . includes ( ` ${ test [ i ][ j ] } , ${ test [ i ][ k ] } ` )) continue ; if ( answer . includes ( ` ${ test [ i ][ k ] } , ${ test [ i ][ j ] } ` )) { answer . splice ( answer . indexOf ( ` ${ test [ i ][ k ] } , ${ test [ i ][ j ] } ` ), 1 ); continue ; } if ( i !== 0 ) continue ; answer . push ( ` ${ test [ i ][ j ] } , ${ test [ i ][ k ] } ` ); } } } return answer ; }
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
유익한 강의 잘 보고 있습니다. 현재 C# 서버는 존 전체에 이동 패킷을 브로드캐스팅 하는 방식으로 보이는데, 혹시 맵을 Sector, Cell로 구분지어 이동 동기화를 하는 서버를 C++버전에서 다루어 주실 수 있으실까요? Sector, Cell로 맵좌표를 구분지어 사용하는 경우를 이전에 본 것 같은데 괜찮으시다면 강의에서 다루어 주시면 좋을 것 같습니다. 아니면 향후 별도의 강의에서 다뤄 주셔도 괜찮을 것 같습니다.
제로초님 안녕하세요. 강사님의 'axios-cheerio 로 첫 크롤링하기 '편을 보고 직접 다뤄보고자 응용해보던 중, 원하는 결과가 나오지 않아 질문을 올리게 되었습니다. 저는 해당 사이트(네이버 바이브) 에서 ` .track_section .select_all .text_area .text `에 있는 총 곡 수를 받아와 `songsNum`이라는 변수에 저장하고, `songsNum`수만큼 반복문을 돌려 크롤링한 노래 제목과 아티스트 정보를 배열에 따로 저장하여, json 형식으로 제작하고자 합니다. 그러나 하단의 제가 작성한 코드에서 처럼 `$('.track_section .select_all .text_area .text').text();`나 `$('. track_section .text').text();`등을 통해 text값을 가져오려고 해도 값이 가져와지지 않습니다. 뿐만아니라, 노래 제목과 아티스트명을 `$(선택자).text()`를 이용해서 가져오려고 해도 전부 공백이 뜹니다. nodemon을 돌리면서 console.log()로 값이 제대로 가져와지는지 확인하고 있는데, 아래의 사진처럼 계속 공백이 나옵니다. 소스코드 const fs = require('fs'); const axios = require('axios'); const cheerio = require('cheerio'); let vibeUrl = fs.readFileSync('./data/vibe.txt').toString(); let title = new Array(); let artists = new Array(); const crawler = async() => { const response = await axios.get(vibeUrl); if(response.status === 200) { const html = response.data; const $ = cheerio.load(html); const songsNum = $('.track_section .select_all .text_area .text').text(); console.log(songsNum); // for(let i = 0; i < songsNum; i++) { // } } } crawler(); 혹시 선택자를 어떻게 이용해야 제가 원하는 값들을 가져올 수 있을지 여쭤보아도 될까요?
데이터에 실제 데이터를 투입하여 실습을 하는 중 궁금한 점이 생겨 질물 드립니다. 1. Full matrix를 사용자 데이터와 merge 하는 과정에서 Merge가 되지 않는 오류가 발생했습니다. 데이터는 아래와 같습니다. 2. gender기준 추천 모델에서 정확도만 계산했는데 남성 혹은 여성에게 적합한 영화를 추천을 받기위해서는 어떠한 코드를 입력해야 하는지 궁금합니다.
안녕하세요 강사님. 강사님의 수업을 들으며 Playground에서 복습하며 Swift를 배우고 있습니다. 수업을 듣던 중 Playground에서 Auto Statement 기능이 없어진 것을 알게되었습니다. 아래 그림은 Playground가 아닌 환경에서 캡쳐한 화면입니다. Playground가 아닌 환경에서는 if/ifelse/switch/while 등 다양한 statement가 자동완성되는 것을 확인할 수 있었습니다. Playground 환경에서 자동완성 기능을 추가할 수 있는 방법이 있나요?
안녕하세요! 강의를 듣다가 햇갈리는 부분이 있어서 문의 드립니다. --------------------- --------------------- Dockerfile 작성시 1. npm install을 실행하기 위해 package.json을 작성한다. 2. package.json을 컨테이너에 복사해주기 위해 COPY 옵션을 줘서 넣어준다. 3. ./ 경로에 복사할 경우 파일 중복 및 파일 관리 문제가 발생할 수 있어서 WORKDIR 옵션으로 복사할 파일 경로를 설정해준다. --------------------- --------------------- 이런 식으로 흐름으로 진행이 되는것 같은데요, WORKDIR 옵션을 어떻게 줬느냐에 따라서 package.json 파일이 위치하는 경로가 달라질것 같은데.. 질문1. package.json파일의 위치에 상관없이 npm install이 실행 되는건가요?(이건 node.js 공부를 해야하는 거겠죠..? ㅎㅎ) 질문2. 아니면 node.js가 아니라 다른 베이스 이미지 파일을 사용한다면 WORKDIR 경로에 따라서 이미지 실행이 안될수도 있나요? 답변 부탁드리겠습니다 ㅜㅜ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 오늘 들은 강의에 나온 view와 addAttribute를 실습하고 있었습니다. static/tiles/에 있는 이미지를 출력하는 프로그램을 작성하고 있었는데 인텔리제이에서만 정상 동작하고 터미널 빌드시 의도치 않은 결과가 발생하였습니다. 인텔리제이에서 빌드시 1번, 3번은 이미지가 나오며 2번은 나오지 않습니다. 기본 경로가 static이니 예상된 결과대로 작동한 것입니다. 터미널에서 빌드시 아래와 같이 1,2,3번 모두 이미지가 나오지 않습니다 1. 인텔리제이 빌드와 터미널 빌드시 경로가 달라지나요? 2. 터미널 빌드를 통해 jar 파일로 프로그램을 실행한다면 static/tiles/aatrox_0.jpg 파일을 보려면 경로를 어떻게 잡아야하나요? 3. thymeleaf실행 시 html파일이 위치한 경로를 출력하는 방법이 있다면 알려주시면 감사하겠습니다.
안녕하세요! 이번에도 좋은 강의 감사합니다. 명쾌하게 설명해주셨는데, 제가 이해한 것이 맞는지 확인받고자 질문드립니다. 전략이란 의도를 동일하게 사용하기 때문에 템플릿 콜백 패턴도 전략패턴의 일종인데 차이를 생각해보자면 전략패턴은 context의 인스턴스 변수로 전략을 참조하고, 템플릿 콜백 패턴은 context의 관련 메서드로 callback 받는 차이가 있다고 이해하였습니다. 이런 차이로 아래 두가지를 생각해보았는데 제대로 이해한 것이 맞을지 궁금하여 질문드립니다. 1. 전략패턴은 템플릿 콜백 패턴보다 context와 전략간 의존성이 더 강하단 단점이 있고, 반면에 자주 사용되는 context라면 템플릿 콜백 패턴은 재사용성이 떨어진다는 단점이 있을 것 같습니다.(매번 callback을 정의해주어야하므로) 2. 전략패턴은 런타임시 객체가 생성될 때 전략이 정해지고, 템플릿 콜백 패턴은 context가 해당 전략을 실행할 시점에 전략이 정해진다고 정의하여도 괜찮을까요? 감사합니다.
안녕하세요! 시험 응시 전에 궁금한게 있어 질문글 남깁니다:) CSS 코드를 작성하다보면 .content-inner {} 처럼 아무 속성이 없는 줄이 종종 생기는데요, 제출하기 전에 모두 지워주는 것이 좋을까요? 사소한거지만 확실하게 해두는 편이 좋을 것 같아서 여쭤봅니다!
샘플 프로젝트를 스프링 부트 최신버전으로 하고 jdk는 1.8로하고 그래이들로 만들었습니다. HomeController @Controller public class HomeController { @GetMapping("/") public String index() { return "login"; } @GetMapping("/login") public String login() { return "/index__"; } } 이렇게 해서 도메인 접속 시 login페이지로 이동하게 했는데 war로 cafe24에 배포를 하면 정상적으로 login페이지가 보여집니다. 여기까지는 문제가 없는데 문제는 Spring Security를 적용했을 때 발생합니다.ㅠㅠ CustomAuthenticationEntryPoint는 public class CustomAuthenticationEntryPoint implements AuthenticationEntryPoint { @Override public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException { response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); } } 이렇게 되어있고, SecurityConfig 파일은 @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/").permitAll() .and() .formLogin() .loginPage("/login"); http.exceptionHandling() .authenticationEntryPoint(new CustomAuthenticationEntryPoint()); } } 이렇게 되어있습니다. 원래 SecurityConfig에 설정을 다 넣었었는데 Security만 적용을 하고 cafe24에 배포를 하면 404오류가 계속 나와서 아무리 이리저리 방법을 찾아봐도 도저히 방법을 찾을 수 없어서 기본 설정만 저렇게 넣어놓고 테스트를 했는데도 404오류가 나옵니다.ㅠㅠ 분명 로그인 페이지를 /login 으로 하고 기본 로그인 페이지도 이동하는 매핑을 했는데 왜 안되는지 모르겠네요.ㅠㅠ 오류 메시지는 2021-12-02 16:50:12.197 INFO 48329 --- [com-startStop-1] com.example.sample.ServletInitializer : Started ServletInitializer in 7.449 seconds (JVM running for 9.477) 02-Dec-2021 16:50:12.204 심각 [sample.cafe24.com-startStop-1] org.apache.catalina.core.StandardContext.filterStart Exception starting filter errorPageSecurityFilter java.lang.AbstractMethodError at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:112) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4708) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5348) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:974) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1850) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 02-Dec-2021 16:50:12.205 심각 [sample.cafe24.com-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more Filters failed to start. Full details will be found in the appropriate container log file 02-Dec-2021 16:50:12.205 심각 [sample.cafe24.com-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors 02-Dec-2021 16:50:12.207 정보 [sample.cafe24.com-startStop-1] org.apache.catalina.core.ApplicationContext.log Closing Spring root WebApplicationContext 02-Dec-2021 16:50:12.229 경고 [sample.cafe24.com-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [SeedGenerator Thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: sun.security.provider.SeedGenerator$ThreadedSeedGenerator.run(SeedGenerator.java:362) java.lang.Thread.run(Thread.java:745) 02-Dec-2021 16:50:12.230 경고 [sample.cafe24.com-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [SeedGenerator Thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.lang.Thread.sleep(Native Method) sun.security.provider.SeedGenerator$ThreadedSeedGenerator$BogusThread.run(SeedGenerator.java:475) java.lang.Thread.run(Thread.java:745) 입니다. 오류로그를 보면 정확히는 모르겠는데 추측해보면 에러페이지 시큐리티 관련 필터를 불러오지 못해서 발생하는 오류인 것 같은데.. 검색을 해 봐도 해결이 안되네요.ㅠㅠ 왜 로컬에서는 잘 되는데 war로 묶어서 cafe24 호스팅에 배포를 하면 위와같은 오류가 나오고 안될까요?ㅠㅠ jdk버전은 로컬이나 cafe24모두 openJdk1.8버전입니다.
(저는 일단 쉬프트연산자가 a << b라고하면 a를 b만큼 왼쪽으로 옮긴다 정도만 알고있습니다) int _mask = (1 << (int)Define.Layer.Ground | (1 << (int)Define.Layer.Monster); 부분에서 Define에 있는 Ground는 현재 값을 9, Monster = 8로 해두었는데 1. 왜 _mask의 값을 쉬프트 연산자로 1을 왼쪽으로 9만큼(Define.Layer.Ground)옮기고 Monster일때는 1을 왼쪽으로 8만큼 옮기게 해서 _mask에 값을 할당을 하나요? 2. _mask에 왜 하드코딩으로 값을 넣어주지 않고 쉬프트 연산자를 사용해서 정수값을 넣어주나요?? 3. 1 << (int)Define.Layer.Ground하게 되었을때 1을 왼쪽으로 9칸 보내면 0001 0000 0000 으로(2진수) 256이 되서? AddLayer의 9번과 안 맞는것 아닌가요...??? 4. 쉬프트연산을 사용하는것이 빠르다면 왜 빠른것인가요??
pop, insert 말고 swab을 이용한 구현을 했는데 혹시 성능적으로 더 비효율적일까요? 테스트 케이스 자체는 무리없이 수행했습니다. #3-8 곶감(모래시계) N = int(input()) arr = [list(map(int,input().split())) for _ in range(N)] M = int(input()) order = [list(map(int,input().split())) for _ in range(M)] def moveRight(x): for i in range(N-1): x[0], x[i+1] = x[i+1], x[0] return x def moveLeft(x): #print(x) p = N-1 for i in range(p): x[0], x[p-i] = x[p-i], x[0] return x #1. 명령 횟수만큼 타일 옮기기 for i in range(M): j = order[i][0]-1 if order[i][1] == 0: for _ in range(order[i][2]): arr[j] = moveLeft(arr[j]) else : for _ in range(order[i][2]): arr[j] = moveRight(arr[j]) ''' for i in range(N): print(arr[i]) ''' #2. 모래시계의 합 tot = 0 s, e = 0, N for i in range(N): #print(s,e) for j in range(s,e): tot += arr[i][j] if i<N//2 : s +=1 e -=1 else : s -=1 e +=1 print(tot)
예를 들어 iris / Species 예측 모형을 만든 후에 Accuracy를 구하라 하는데요 tmp <- confusionMatrix (test$Species, p3) 한 다음에 tmp$byClass 나 $overall 이 안먹는데 어떻게 하나요? > tmp <- confusionMatrix(tet$Species, p2) > tmp$byClass Error in tmp$byClass : $ operator is invalid for atomic vectors > tmp$overAll Error in tmp$overAll : $ operator is invalid for atomic vectors