묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[React 1부] 만들고 비교하며 학습하는 React
[순수JS 1] 검색결과 2 reset 버튼 이런식으로 하면 문제되는 점이 있을까요?
안녕하세요 선생님 강의 잘 듣고 많이 배워가고 있는 초보자입니다.저는 searchResultView의 element의 innerHTML을 초기화 해버리는 식으로 풀이를 했었는데요, 혹시 이러면 나중에 문제가 발생할 수 있는 부분이 있을까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
뒤집은 소수 / 런타임 에러 + 궁금증
안녕하세요 강사님예시 문제는 합격하는데 다른 4개의 테스트 케이스는 통과하지 못하고 있습니다.문제는 런타임에러가 뜨는데 왜 뜨는지 정확한 이유를 아무리 보아도 모르겠습니다...많이 더러운 코드지만 무엇이 문제인지 확인 한번 부탁 드리겠습니다...import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public String solution(String str) { String answer = ""; String[] arr = new StringBuilder(str).reverse().toString().split(" "); List<Integer> list = new ArrayList<>(); for (String s : arr) { int target = Integer.parseInt(s); if (target != 2 && target % 2 == 0) continue; if (target == 1) continue; boolean check = true; for (int j = 3; j <= Math.sqrt(target); j+=2) { if (target % j == 0) { check = false; break; } } if (check) list.add(target); } for (int i =list.size()-1; i >= 0; i--) { answer += list.get(i) + " "; } return answer; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int input1 = in.nextInt(); in.nextLine(); String str = in.nextLine(); Main main = new Main(); System.out.println(main.solution(str)); return; } }알아낸점저와 비슷한 사례를 겪는 분들을 질문창에서 발견하고 강사님이 적어두신 2번 케이스의 문제를 복사해서 적어보았는데 통과하였습니다.저는 split() 메서드를 이용해서 입력받은 문자열을 배열로 변경하는데 이때 문자열 맨 뒤에 공백이 존재하게 되면 런타임 에러가 발생 하는것을 확인했습니다. 아무래도 그부분 때문인것 같은데 맞다면 확인 한번 부탁드리겠습니다.변경코드를 수정하였습니다.import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public String solution(String[] arr) { String answer = ""; for (int i = 0; i < arr.length; i++) { String s = new StringBuilder(arr[i]).reverse().toString(); int target = Integer.parseInt(s); if (target != 2 && target % 2 == 0) continue; if (target == 1) continue; boolean check = isPrime(target); if (check) answer += target + " "; } return answer; } private boolean isPrime(int target) { for (int j = 3; j <= Math.sqrt(target); j+=2) { if (target % j == 0) { return false; } } return true; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int input1 = in.nextInt(); String[] arr = new String[input1]; for (int i = 0; i < input1; i++) { arr[i] = in.next(); } Main main = new Main(); System.out.println(main.solution(arr)); return; } } 이렇게 하니 해결되었습니다. 궁금증혹시 실제 코딩테스트 볼때도 split을 사용할때 요청값끝부분에 있는 공백의 존재 가능성도 염두해두고 사용을 해야하나요? 아니면 단순 이 사이트의 실수였을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
UserHandlerExceptionResolver
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]여기에 질문 내용을 남겨주세요.MyHandlerExceptionResolver 는 에러가 터지면 서블릿 컨테이너까지 가고 또 다시 /error을 요청하고UserHandlerExceptionResolver 이건 그냥 바로 그자리에서 끝내는데그 차이가 response.sendError(...)이 response.SendError 해주냐 안해주냐 차이라고 생각하면 될까요 ?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
CDN에 리소스를 올린다는 의미가 무엇인가요??
Static resource는 cdn에 올려서 사용한다고 하셨는데.. cdn에 올린다는 의미가 무엇인가요?사용자가 서버에 접속했을때 리소스를 cdn에서 가져올 수 있는지 궁금합니다
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
API 서버를 WAS로 볼 수 있는건가요??
디비와 통신하고 비지니스 로직을 처리하여 클라이언트에 응답하는 API 서버를 WAS라고 할 수 있을까요??
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
왜 findByLoginId는 Optional로 반환하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요! MemberRepository 코드 중에 findById는 예전 강의에서 스펙상 Member 객체를 반환하는걸로 권고(?)된다고 들었던 것 같은데, 그렇다면 왜 findByLoginId는 Optional<Member>로 반환하는건가요?Optional이 NullPointerException 발생을 줄이기 위해 래퍼 역할을 한다는 것은 알겠는데, 두 메서드의 반환값 차이가 있는 이유가 무엇인지 궁금합니다!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]패치 조인을 한다는 것은 "영속성 컨텍스트를 사용한다." 라고 이해해도 되나요?
-
해결됨Flutter 앱 개발 기초
강의 내 Flutter 버전 문의
안녕하세요.제가 못찾아서 그런지 강의에 이용되는 Flutter 버전을 어떻게 맞추어야 하나요~?
-
미해결스프링 핵심 원리 - 고급편
강의 자료 다운로드 안돼요
아이패드로 강의 시청하다가 강의자료 다운로드 누르고 다시 노트북으로 다운로드 받을려니깐 다운로드를 받을 수 있는 표시가 없어요
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
split 사용
function solution(s) { let answer = ""; let count = 0; for (let i = 0; i < s.length; i++) { if (s[i] === s[i + 1]) { count++; } else if (s[i] !== s[i + 1]) { answer += s[i] + (count + 1); count = 0; } } return answer.split("1").join(""); } let str = "KKHSSSSSSSE"; console.log(solution(str));강사님 코드가 거의 비슷한데 마지막에 1을 없애주기 위해서 split을 사용해서 1을 없애 주고 다시 문자열로 만들어주었는데, 이정도는 시간과 별로 상관이 없나요??
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
DNS 서버를 여러대 두는 이유
영상보고 도움 많이 받고 있습니다.영상에서 naver.com 에 대한 DNS가 여러대 있을수도 있다고 했는데 DNS 서버를 여러대 두는 이유는 무엇인가요..? 제가 생각하는건 A 서비스를 서버 한대를 띄웠다고 했을때, 트래픽이 많아지면 서버의 대수를 늘려야한다고 생각하는데요.DNS서버도 이런 트래픽의 영향때문에 여러대를 두는 것일까요? 추가로 궁금한 점은 DNS 서버한테 요청을 할때도 L2 -> L3 이런식으로 다 거쳐서 올라가는건가요?? 질문이 허접한거 같지만 ㅠㅠ 잘 부탁드립니다
-
해결됨따라하며 배우는 리액트 A-Z[19버전 반영]
map 함수를 쓸때
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 위는 JSX고 아래는 자바스크립트라서 묶어주는 괄호가 다른건가요??똑같이 소괄호 또는 중괄호 하면 오류가나는데 이유가 있나요??
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
브라우저 렌더링 부분 교재 관련 질문입니다!
안녕하세요 강사님! 우선 좋은 강의 감사드립니다 :)열심히 보고 있습니다 ㅎㅎ..브라우저 렌더링 관련되어 의문이 생겨 질문을 남겨보니 시간 여유있으실 때 답변해주시면 좋겠습니다.렌더 트리? 렌더 레이어 ?? 렌더객체??짧게 브라우저 렌더링 관련하여 공부를 하고 인강을 들으면서 다시 복기를 하였을 때 렌더레이어라는 말을 처음 들어보는 것 같아 추가적으로 정보를 찾아보려고 browser render layer 와 같은 키워드를 찾아보았습니다. [Naver D2 - 하드웨어 가속에 대한 이해와 적용] 글을 발견하였고 아래와 같은 설명이 있었습니다.DOM 트리: HTML 웹 페이지를 파싱한 트리로, HTML 문서의 각 요소를 쉽게 처리(추가, 삭제 등)하기 위하여 브라우저의 엔진이 사용하는 트리다. RenderObject 트리: DOM 트리로부터 만들어지는 트리로, DOM 트리의 노드 가운데 실제 화면에 표현되는 노드만으로 구성된 트리다. RenderLayer: 브라우저의 엔진이 하드웨어 가속 등을 처리하기 위해 사용하는 논리적인 레이어로, 각 RenderObject의 속성에 따라 RenderLayer에 할당된다. GraphicsLayer: 하드웨어 가속 처리를 위한 물리적인 레이어로, 레이어별 RenderObject를 GraphicsLayer 단위로 렌더링한 뒤 최종적으로 GPU를 통해 합성된다. 그리고 PDF 기준 150~151번째 페이지에 아래와 같은 코멘트가 있습니다. Q. 렌더객체와 렌더레이어는 1:1 대응일까요?- NO : display:none으로 사라지는 노드들이 있을 수 있기 때문입니다.하지만 DOM 트리와 렌더트리는 1:1대응이 됩니다. 이렇게 렌더트리가 생성된 후..제가 이해한 바로는 위 D2에서 이야기하는 RenderObject Tree 를 렌더트리라고 명명 하신 것 같습니다.(아니면 저의 이해력부족인 것 같습니다 🥲)DOM트리에서 렌더트리(RenderObject Tree)를 생성할때 이미 font-size의 상속 및 display:none에 해당하는 DOM 객체에 대한 수정이 이루어지고 그렇게 된다면 1:1 대응이 되지 않는것이 맞는 것 같다는 생각이 들어 문의를 드립니다!그렇다면 DOM트리와 렌더트리(Render Object Tree) 렌더레이어(Render Layer) 그 어느것도 1:1대응이 되지 않는 것이 아닐까요?질문 끝까지 읽어주셔서 감사합니다 :)답변 기다리고 있겠습니다!
-
해결됨따라하며 배우는 리액트 A-Z[19버전 반영]
수업자료 질문
안녕하세요수업에서 보여주는 nextjs13 관련 pdf 문서는 따로 공유 안 되는 걸까요...?
-
미해결
passport를 이용한 로컬 로그인 구현중 프론트가 변하지 않음
강의 보면서 passport를 이용해 로컬 로그인 구현중이지만 로그인을 해도 <% if user %>로 분기처리한 부분이 작동하지 않고 redirect 해도 동일한 화면만 보입니다. 소스코드는 github에서 가져와서 동일할 것입니다. 제가 원인을 찾아보던중 passport 전략의 마지막 부분이라 할 수 있는 serializeUser으로 user가 제대로 done을 통해 넘어가지 못했나 싶어 serializeUser에서 console.log(user.id)를 밑에 사진처럼 시도 해봤지만 문제 없었습니다.module.exports = () => { //serializeUser. 로그인 시 실행 passport.serializeUser((user, done) => { console.log(user); done(null,user.id); //session에 저장하고 싶은 정보 = user.id }); //deserializeUser. 매 요청 시 실행. serUser에서 done의 두번째 인수(=user.id)가 매개변수(=id) passport.deserializeUser((id,done) => { //db에서 아이디로 유저를 찾고 User.findOne({ where : {id}}) .then(user => done(null, user)) //user를 req.user에 저장 .catch(err => done(err)); }); local(); kakao(); };그러면 마지막 done(null,user.id)에서 세션으로 제대로 유저 아이디를 못 올려주고 있는거 같은데 뭐가 문제인지 모르겠습니다. 그리고 참고로 2번이상 로그인을 시도할 시 뷰는 안변하지만 쿼리에 '로그인한 상태입니다'라고 에러메세지가 뜹니다. 그리고 참고로 app.js에서 아래와 같이initialize와 sessino은 세션 생성후 적용했습니다app.use(session({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false, }, })); app.use(passport.initialize()); app.use(passport.session());
-
해결됨[코드캠프] 강력한 CSS
단위심화 강의 중 질문 있습니다.
안녕하세요 단위심화 강의 중 두 번째 실습 과정 중, 두 번째 줄에 사진이 3장밖에 안 들어가는데 왜 그런건가요..?? flex-wrap: wrap; 까지 적용시켰는데 되지 않네요. 보시는 바와 같이 윗줄은 4장이 출력 되는데, 밑줄은 3장만 출력이 됩니다. 제가 작성한 코드는html<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>06-02-calc2</title> <link rel="stylesheet" href="./index.css"> </head> <body> <div class="container"> <div class="sidebar"> <ul> <li>메뉴1</li> <li>메뉴2</li> <li>메뉴3</li> <li>메뉴4</li> </ul> </div> <div class="contents"> <div class="item">상품</div> <div class="item">상품</div> <div class="item">상품</div> <div class="item">상품</div> <div class="item">상품</div> <div class="item">상품</div> <div class="item">상품</div> </div> </div> </body> </html>css* { box-sizing: border-box; } .container { display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; } .sidebar { width: 170px; background-color: orange; padding: 5px 15px; } .sidebar ul { width: 100%; padding: 0; } .sidebar ul li { list-style: none; padding: 5px 0; color: #ffffff; border-bottom: 1px dashed rgba(255,255,255,0.3); /* 메뉴 사이 구분선*/ } .contents { width: calc(100% - 170px); display: flex; flex-direction: row; align-items: flex-start; flex-wrap: wrap; } .item { width: 24%;/ height: 180px; background-image: url("../img/dochihello.jpg"); }
-
미해결스프링 핵심 원리 - 기본편
추상화비용이 발생한다는 것이 궁금합니다 영환님!
영환님 인터페이스를 활용할 때 추상화 비용이라는 것이 발생한다고 하셨는데 구글링 검색해도 정확한 지식을 얻기 힘들어서 질문 드립니다.수업 내용의 기능을 확장할 가능성이 없다면, 필요할 때 리팩터링해서 인터페이스를 도입하는 방법 등 수업 내용은 이해했으나 추상화라는 비용이 정확히 무엇인지 궁금합니다!
-
미해결비전공자/입문자를 위한 Data Science(DS)와 AI 학습 & 취업 가이드
강의 자료 부탁드립니다.
안녕하세요 오늘부터 강의를 듣게 되었습니다.강의를 들으면서 활용하기 위해 강의자료를 요청드립니다!tony121367@gmail.com 입니다
-
미해결업무가 100배 빨라지는 엑셀 데이터 활용과 분석 노하우
offset 함수 관련
안녕하세요. 선생님오늘도 질문을 드립니다. offset 함수로 데이터 실적 찾아오기를 실습하고 있습니다.그런데 제가 OFFSET (기준셀, 행이동, 열이동)에서 행이동, 열이동에 1,2 등등을 넣어서 이동한 뒤 데이터를 가져온다는 기본적인 내용은 이해를 했습니다. 그런데 =offset ( #C7, 0, D#6) 여기서 금액 셀(C7)을 고정하고 행은 움직이지 않은 상태에서 7월 셀을 선택하시는 부분이 잘 이해가 잘 되지 않습니다. 영상에서도 해당 내용을 설명하시면서 '1월에 선택하면 해당하는 만큼 11칸이 이동한다' 이런 비슷한 말씀을 해주셨는데잘 이해가 되지 않습니다. 결론적으로는=offset( C7,1,-1) 같이 간단한 이동을 통해서 데이터를 가져오는 것은 이해를 하겠으나여기서 심화된 내용들을 잘 이해하지 못하겠네요ㅜㅜ 보다 자세히 설명해주실 수 있으실지 부탁드립니다. 오늘도 좋은 하루 보내시길 바랍니다.감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
thymeleaf 적용이 안됩니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술상품목록 - 타임리프 진행중에 문제가 생겼습니다.타임리프에 문제가 있는지.. 변수가 안담깁니다.구글링으로 찾아봐서 캐쉬초기화도 해봤고"http://www.thymeleaf.org" 를 http://thymeleaf.org 로 변경도 해봤지만 경고문만 사라지고 해결되지 않았습니다.근데 여기서 이상한건th:onclick="|location.href='@{/basic/items/add}'|" 이 타임리프 문장은 작동이 되는것 같아요저 코드대로 /basic/items/add 경로로 이동이 됩니다.자바코드에 문제가 있나 확인도 해봤지만 문제점을 찾지 못했습니다 확인해야할게 더 있으면 알려주시면 감사하겠습니다...