묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
서버 이동 강의 질문있습니다.
유익한 강의 잘 보고 있습니다. 현재 C# 서버는 존 전체에 이동 패킷을 브로드캐스팅 하는 방식으로 보이는데, 혹시 맵을 Sector, Cell로 구분지어 이동 동기화를 하는 서버를 C++버전에서 다루어 주실 수 있으실까요? Sector, Cell로 맵좌표를 구분지어 사용하는 경우를 이전에 본 것 같은데 괜찮으시다면 강의에서 다루어 주시면 좋을 것 같습니다. 아니면 향후 별도의 강의에서 다뤄 주셔도 괜찮을 것 같습니다.
-
미해결Node.js로 웹 크롤링하기
axios와 cheerio로 노래 목록 가져오기
제로초님 안녕하세요. 강사님의 '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(); 혹시 선택자를 어떻게 이용해야 제가 원하는 값들을 가져올 수 있을지 여쭤보아도 될까요?
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
Full matrix를 사용자 데이터와 merge 하는 것과 gender기준 추천 모델에서 실제 추천을 받는 방법 질문 입니다.
데이터에 실제 데이터를 투입하여 실습을 하는 중 궁금한 점이 생겨 질물 드립니다. 1. Full matrix를 사용자 데이터와 merge 하는 과정에서 Merge가 되지 않는 오류가 발생했습니다. 데이터는 아래와 같습니다. 2. gender기준 추천 모델에서 정확도만 계산했는데 남성 혹은 여성에게 적합한 영화를 추천을 받기위해서는 어떠한 코드를 입력해야 하는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
멀티스레드에서 shared_ptr에 대해서 주의해야 될 점은 없나요?
c++ 레퍼런스에 shared_ptr에 대해서 스레드 안전하다고 나와있긴한데 이렇게 shared_ptr을 멀티스레드 환경에서 사용하면서 신경써야 될 점은 없는건가요? 그렇다면 저희가 예전에 refcountable 클래스는 왜 만든 것인지도 궁금합니다.
-
미해결UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
간단한 편의성 관련 질문드립니다!
안녕하세요 강사님. 강사님의 수업을 들으며 Playground에서 복습하며 Swift를 배우고 있습니다. 수업을 듣던 중 Playground에서 Auto Statement 기능이 없어진 것을 알게되었습니다. 아래 그림은 Playground가 아닌 환경에서 캡쳐한 화면입니다. Playground가 아닌 환경에서는 if/ifelse/switch/while 등 다양한 statement가 자동완성되는 것을 확인할 수 있었습니다. Playground 환경에서 자동완성 기능을 추가할 수 있는 방법이 있나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
WORKDIR 설정과 관련하여 문의드립니다.
안녕하세요! 강의를 듣다가 햇갈리는 부분이 있어서 문의 드립니다. ------------------------------------------ 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 경로에 따라서 이미지 실행이 안될수도 있나요? 답변 부탁드리겠습니다 ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
view 실습중입니다. 인텔리제이에서 실행하면 이미지가 보이는데 터미널에서 실행하면 이미지가 보이지 않습니다
[질문 템플릿]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파일이 위치한 경로를 출력하는 방법이 있다면 알려주시면 감사하겠습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
수업자료가 뭔가 바뀐거 같습니다
오른손 법칙 수업자료를 다운받으면 이름은 오른손법칙인데 소스가 맵만들기고 맵만들기강의 수업자료를 받아서 까보면 오른손법칙 소스가 나오네용
-
미해결실전! Querydsl
현재 2:30 부분에 ...
현재 강의의 2:30부분에 fetchResults를 사용하려고 보니 decprecated 되어있는데 fetchResult대신에 쓸수있는 것이 혹시 있나요?? 설명에는 fetch()를 대신 사용하라는데 그런건가요?
-
미해결스프링 핵심 원리 - 고급편
전략패턴과 템플릿 콜백 패턴 차이 관련 질문드립니다.
안녕하세요! 이번에도 좋은 강의 감사합니다. 명쾌하게 설명해주셨는데, 제가 이해한 것이 맞는지 확인받고자 질문드립니다. 전략이란 의도를 동일하게 사용하기 때문에 템플릿 콜백 패턴도 전략패턴의 일종인데 차이를 생각해보자면 전략패턴은 context의 인스턴스 변수로 전략을 참조하고, 템플릿 콜백 패턴은 context의 관련 메서드로 callback 받는 차이가 있다고 이해하였습니다. 이런 차이로 아래 두가지를 생각해보았는데 제대로 이해한 것이 맞을지 궁금하여 질문드립니다. 1. 전략패턴은 템플릿 콜백 패턴보다 context와 전략간 의존성이 더 강하단 단점이 있고, 반면에 자주 사용되는 context라면 템플릿 콜백 패턴은 재사용성이 떨어진다는 단점이 있을 것 같습니다.(매번 callback을 정의해주어야하므로) 2. 전략패턴은 런타임시 객체가 생성될 때 전략이 정해지고, 템플릿 콜백 패턴은 context가 해당 전략을 실행할 시점에 전략이 정해진다고 정의하여도 괜찮을까요? 감사합니다.
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
css 질문
안녕하세요! 시험 응시 전에 궁금한게 있어 질문글 남깁니다:) CSS 코드를 작성하다보면 .content-inner {} 처럼 아무 속성이 없는 줄이 종종 생기는데요, 제출하기 전에 모두 지워주는 것이 좋을까요? 사소한거지만 확실하게 해두는 편이 좋을 것 같아서 여쭤봅니다!
-
해결됨[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
배너이미지가 밑으로 내려갔습니다.
탭메뉴 열심히 만들고 있었는데 갑자기 배너 이미지가 갤러리 탭 밑으로 가버렸습니다. 원인을 찾다가 도저히 모르겠어서 질문 드립니다. 감사합니다. <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>산업대학교</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <div class="header-inner"> <header> <div class="header-logo"> <a href="#none"><img src="images/logo-b4-header.png" alt="headerlogo"></a> </div> <div class="navi"></div> </header> </div> <div class="content-inner"> <div class="slide"> <div> <a href="#none"><img src="images/slide-b4-01.jpg" alt="slide1"></a> <a href="#none"><img src="images/slide-b4-02.jpg" alt="slide2"></a> <a href="#none"><img src="images/slide-b4-03.jpg" alt="slide3"></a> </div> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <span>공지사항</span> </div> <div class="tab1"> <a href="#none">산업대학교 동문회장배 자선골프대회<b>2016-09-12</b></a> <a href="#none">개교 100주년 기념 야외 오페라 초청<b>2016-09-10</b></a> <a href="#none">동문회장 및 운영위원장 후보자 추천<b>2016-09-09</b></a> <a href="#none">진행위원회(정회원) 선발 결과<b>2016-09-07</b></a> <a href="#none">산업대학교 동문회 개최일 변경<b>2016-08-30</b></a> </div> </div> </div> <div class="gallery"> <div class="tab-inner"> <div class="btn"> <span>갤러리</span> </div> <div class="tab2"> <a href="#none"><img src="images/gallery-b4-01.jpg" alt="gallery1"></a> <a href="#none"><img src="images/gallery-b4-02.jpg" alt="gallery2"></a> <a href="#none"><img src="images/gallery-b4-03.jpg" alt="gallery3"></a> </div> </div> <div class="banner"> <a href="#none"><img src="images/banner-b4-01.jpg" alt="banner"></a> </div> </div> </div> <div class="footer-inner"> <footer> <div class="copyright"> <div></div> <div></div> </div> <div class="family-site"> <!-- <select> <option value=""></option> <option value=""></option> <option value=""></option> <option value=""></option> </select> --> </div> </footer> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> @charset "utf-8"; body { margin: 0; background-color: #fff; color: #333333; font-size: 15px; } a { color: #333333; text-decoration: none; } .container {} .header-inner { border: 1px solid red; } header { width: 1200px; margin: auto; height: 100px; } header div { border: 1px solid yellowgreen; height: 100px; } .header-logo { width: 200px; float: left; line-height: 130px; } .navi { width: 600px; float: right; } .content-inner {} .slide { border: 1px solid green; width: 1200px; margin: auto; } .slide > div { height: 300px; } .items { /* border: 1px solid red; */ width: 1200px; margin: auto; overflow: hidden; } .items > div { /* border: 1px solid pink; */ height: 200px; float: left; box-sizing: border-box; } .news { width: 425px; } .gallery { width: 425px; } .banner { width: 350px; } .footer-inner { border: 1px solid red; } footer { width: 1200px; margin: auto; overflow: hidden; } footer > div { border: 1px solid blue; height: 100px; float: left; box-sizing: border-box; } .copyright { width: 1000px; } .copyright div { border: 1px solid green; height: 50px; } .family-site { width: 200px; height: 100px; } /* slide */ .slide { width: 1200px; height: 300px; position: relative; overflow: hidden; } .slide > div { width: 3600px; font-size: 0; position: absolute; top: 0; left: 0; animation: slide 10s linear infinite; } @keyframes slide { 0% { left: 0; } 30% { left: 0; } 35% { left: -1200px; } 65% { left: -1200px; } 70% { left: -2400px; } 95% { left: -2400px; } 100% { left: 0; } } /* news & gallery */ .tab-inner { width: 95%; margin: auto; } .btn {} .btn span { border: 1px solid #000; width: 100px; display: inline-block; padding: 5px; background-color: #fff; text-align: center; border-radius: 5px 5px 0 0; border-bottom: none; margin-bottom: -2px; } .tab1, .tab2 { border: 1px solid #000; padding: 0 15px; height: 160px; } .tab1 a { display: block; padding: 5px; border-bottom: 1px solid #000; } .tab1 a:last-child { border-bottom: none; } .tab1 a b { float: right; font-weight: normal; } .tab2 { text-align: center; } .tab2 img { width: 120px; padding-top: 25px; } .banner img { width: 95%; }
-
미해결Spring Boot JWT Tutorial
시큐리티를 적용하고 호스팅에 올리면 오류가 납니다.
샘플 프로젝트를 스프링 부트 최신버전으로 하고 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버전입니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 22:00분 쉬프트 연산자 질문
(저는 일단 쉬프트연산자가 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. 쉬프트연산을 사용하는것이 빠르다면 왜 빠른것인가요??
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Jest 테스트 코드 작성 관련 질문
타입스크립트로 Jest 테스트 코드를 작성해보고 있는데요. 유닛테스트를 작성하여, 직접 작성한 미들웨어에서 next() 함수가 호출되는지 확인해보려고 합니다. class-validator로 req.body가 number인지 검증하는 미들웨어이고, 테스트코드는 다음과 같습니다. import 'reflect-metadata'; import { CreateCheckInDto } from '../check-in/create-check-in.dto'; import { validation } from './validation.middleware'; describe('validation middleware', () => { it('simple test', () => { const req: any = { body: { cardId: '22' }, }; const res: any = {}; const next = jest.fn(); validation(CreateCheckInDto)(req, res, next); expect(next).toBeCalledTimes(1); }); }); 미들웨어 코드는 다음과 같습니다(class validator로 req.body를 검증하는 코드입니다). import { plainToInstance } from 'class-transformer'; import { validate, ValidationError } from 'class-validator'; import { NextFunction, Request, Response, RequestHandler } from 'express'; export function validation(type: any): RequestHandler { return (req: Request, res: Response, next: NextFunction) => { validate(plainToInstance(type, req.body)).then( (errors: ValidationError[]) => { if (errors.length > 0) { res.redirect('redirect'); } else { console.log('nextttttttttttttttt'); next(); } }, ); }; } console.log('nextttttttttttttttt'); 이게 콘솔로그로 찍히는 걸보면 next()부분까지 도달하는 것 같은데 테스트 결과는 기대와 다르게 아래와 같습니다. console.log nextttttttttttttttt at src/middleware/validation.middleware.ts:12:19 FAIL src/middleware/validation.middleware.spec.ts validation middleware ✕ simple test (22 ms) ● validation middleware › simple test expect(jest.fn()).toBeCalledTimes(expected) Expected number of calls: 1 Received number of calls: 0 13 | validation(CreateCheckInDto)(req, res, next); 14 | > 15 | expect(next).toBeCalledTimes(1); | ^ 16 | }); 17 | }); 18 | at Object.<anonymous> (src/middleware/validation.middleware.spec.ts:15:18) 왜 received number of calls가 0이 나오는지 실마리를 찾지 못하여 질문으로 올립니다. 원인해결을 위한 키워드라도 실마리를 주신다면 정말 감사하겠습니다!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
pop, insert 말고 swab을 이용한 구현
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)
-
미해결빅데이터분석기사 실기대비 (R 활용)
작업형 2번, 예측값이 0,1 이 아니고 "a","b","c" 일때
예를 들어 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
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
Pos front[4]질문입니다.
여기서 각 원소들을 Pos {-1, 0}이런 모양으로 넣으셨는데 이게 중괄호 초기화는 아닌거같고 어떤 원리인가요?
-
해결됨Vue.js + TypeScript 완벽 가이드
접근 권한 추가요청드립니다
안녕하세요! 리포지토리 접근 권한 추가 부탁드리겠습니다. github 계정: Kyounghwan01 noh5524@gmail.com 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ExceptionHandler 질문!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 강의에서 다음과 같은 코드를 설명해 주셨습니다. @ResponseStatus(HttpStatus.BAD_REQUEST)@ExceptionHandler(IllegalArgumentException.class)public ErrorResult illegalExHandler(IllegalArgumentException e){ log.error("[exceptionHandler] ex", e); return new ErrorResult("BAD", e.getMessage());} 여기서 IllegalArgumentException 또는 이를 상속한 자식의 예외가 발생했을때, 등록된 @ExceptionHandler를 통해 위의 핸들러로 예외가 처리되고, WAS 에게는 정상 응답후 끝난다고 하셨습니다. 즉, 이전처럼 WAS에서 다시 서블릿으로 예외를 처리할 컨트롤를 호출하지 않는다 하셨습니다. 이는 HandlerExceptionResolver 활용 에서 알려주셨던 내용입니다. 하지만 의문이 있는데, 위 코드에서는 @ResponseStatus가 추가되어 있습니다. @ResponseStatus는 내부적으로 response.sendError(statusCode, resolvedReason); 를 통해 response 내부에 오류가 발생했었음을 상태로 저장하게 됩니다.(이전 강의에서 알려주셨던 내용) 이후 이를 WAS가 인지하게 되어 기본 에러 페이지인 "/error"로 재요청을 보내야 하는것 아닌가요? 스프링 부트는 response.sendError(...) 가 호출되면 모든 오류는 "/error" 를 호출하게 된다. 라고 알려주신게 생각납니다! 이부분이 어떻게 처리되는 것 인가요?? 조금만 더 알려주시면 감사하겠습니다!!