묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결CSS에 날개를 달아주는 Sass (SCSS)
SASS Lint 문법 오류 출력
안녕하세요 강사님~ 강의 잘 듣고 있습니다! 다름이 아니라 강의 초반 SASS린트를 설치해서 사용하라고 하셔서 설치를 했는데 강사님 영상에서도 그렇고 제 PC에서도 보는데도 패널창에서 SASS 린트 문법 오류가 나오더군요.. 혹시 이거 수정할 수 있는 방법이 있을까 싶어서 질문드립니다!
-
미해결만들면서 배우는 리액트 : 기초
영상 오류입니다.
영상 오류로 34초부터 깨진 초록색 화면이 나옵니다.
-
미해결Vue.js 시작하기 - Age of Vue.js
vue
버전2로 설치했는데도 이렇게 뜨네요 왜이러나요?ㅠㅠ
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
터미널 실행시 발생하는 발생하는 오류에 대한 문의입니다
안녕하세요, 선생님 강의 항상 잘 보고있습니다.최근 터미널 코드 실습중인데 터미널 실행하여 트레이닝 시 TypeError: eval() arg 1 must be a string, bytes or code object 위와 같은 오류가 발생합니다.혹시 원인 알수 있을까요? 터미널에서 평가시에는 문제가 발생하지 않습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
패키지 구조 설계
패키지 구조 설계를 강의로 다루는 부분이 있을까요? 아직 제대로된 프로젝을 만든적이 없어서 패키지 구조 설계를 어떻게 해야할지 잘 모르는 상태입니다. 뭔가 알듯하면서도 잘 모르는게 개념이 확실히 안잡혀서 그런것같은데 혹시 패키지 구조 설계를 다루는 강의가 있을까요? 현재는 Spirng 로드맵대로 강의 보고있는중인데 jpa 강의쪽에서 패키지 구조 설계를 다루는지 궁금합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jdbcMemberRepository.java 오류 - 미해결
package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.springframework.jdbc.datasource.DataSourceUtils;import javax.sql.DataSource;import java.sql.*;import java.util.ArrayList;import java.util.List;import java.util.Optional;public class JdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public JdbcMemberRepository(DataSource dataSource) { this.dataSource = dataSource; } @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getLong(1)); } else { throw new SQLException("id 조회 실패"); } return member; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findById(Long id) { String sql = "select * from member where id = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setLong(1, id); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } else { return Optional.empty(); } } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public List<Member> findAll() { String sql = "select * from member"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); List<Member> members = new ArrayList<>(); while(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); members.add(member); } return members; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findByName(String name) { String sql = "select * from member where name = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } return Optional.empty(); } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); }} jdbcMemberRepository.java에요 pdf 파일에 있던 코드를 그대로 복사했는데 순수 JDBC 강의에서는 잘만 되던데 제 컴에선 오류가 뜨네요.
-
미해결따라하며 배우는 TDD 개발 [2023.11 업데이트]
Cannot log after tests are done. Did you forget to wait for something async in your test?
안녕하세요 강사님! 테스트 실행하면 통과하는데, 콘솔에 Cannot log after tests are done 가 뜨는 경우, "테스트가 끝난 후에 log 를 내보낼 수 없다"는 의미로 이해하고 있습니다. 이러한 경고(?)창을 안 뜨게 하는 방법이 있나요? 감사합니다
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
lagest max질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 13:55초쯤에 largest = max(largest,tmp)라고해서 배열중에서 가장큰값을 꺼내오려고 코드짜신걸로알고있는데 굳이 lagest=0하고 배열에있는원소랑 값을 비교하는이유가 혹시 어떤건가요?? 코드작성시 largest=0으로 안하고 largest=max(Line)으로 해도 답은 200이나오는데 굳이 largest=0으로 초기화하는이유가뭔지 궁금합니다
-
미해결
upgrade avaliable to version 2.1.210
업그레이드를 하라는데 이게 뭔가요?
-
미해결스프링 핵심 원리 - 기본편
기본편 구매했으면 입문편은 따로 안봐도될까요?
내용이 중복되서 굳이 안봐도 된다면 기본편부터 학습하려고 하는데, 무료로 제공하는 스프링 입문편을 봐야할까 궁금합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
지금까지 이렇게 이해한 내용이 맞을까요?
마이크로서비스 애플리케이션의 확장성을 위해서 각 애플리케이션에 랜덤포트를 부여. 그러면 api gateway에서는 어떤 마이크로서비스가 어떤 포트번호를 사용하는지 모르기 때문에 eureka를 활용해서 service discovery로 각 마이크로서비스의 위치를 파악. api gateway에서는 각 마이크로서비스의 이름을 'lb://' 처럼 접근해서 로드 밸런싱 적용. 이 때 spring cloud gateway가 netflix의 zuul(요청 전달), ribbon(로드 밸런싱)의 기능을 둘 다 수행할 수 있는 프로젝트기 때문에 가능. 처음 공부하는 분야라 조금씩 헷갈리네요 ㅎㅎㅎ 위처럼 이해한 내용이 맞을까요?
-
미해결마케터를 위한 구글 애널리틱스 실무
PDF 가이드 북 요청드립니다.
안녕하세요, PDF가이드북 아래 메일로 부탁드립니다! tone.kfo@gmail.com 감사합니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
조현영님께서는 switch 구문을 사용하는것에 대해 어떻게 생각하시나요?
라우트 매개변수를 활용해서 url에 데이터베이스의 id 컬럼값을 입력하면 그 id 컬럼에 해당하는 로우를 보여주는 라우터를 스위치 구문을 사용해서 나타내보았습니다. router.get("/:id/info", async (req, res, next) => { try { let productInfo = await Product.findAll({}); switch (req.params.id) { case "1": productInfo = productInfo[1]; break; case "2": productInfo = productInfo[2]; break; case "3": productInfo = productInfo[3]; break; case "4": productInfo = productInfo[4]; break; case "5": productInfo = productInfo[5]; break; case "6": productInfo = productInfo[6]; break; case "7": productInfo = productInfo[7]; break; case "8": productInfo = productInfo[8]; break; case "9": productInfo = productInfo[9]; break; case "10": productInfo = productInfo[10]; break; case "11": productInfo = productInfo[11]; break; default: res.locals.message = "No more product on that url"; res.render("noProduct"); return 0; } res.locals.id = req.params.id; res.locals.productName = productInfo.name; res.locals.productPrice = productInfo.price; res.locals.productOrigin = productInfo.origin; res.locals.productType = productInfo.type; res.render("productInfo"); } catch (err) { console.error(err); next(err); } }); 근데 이런 방식의 단점은 id컬럼이 증가할 때마다 제가 수동으로 케이스문을 추가해야 한다는 것입니다. 조현영님께서는 스위치문을 현업에서 사용해보신 경험이 있으신가요? 사용하신다면 어떤 방향으로 사용하시나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
동적 파일 위치에 대해서 여쭤볼게 있습니다!
안녕하세요. 김영한 선생님의 로드맵대로 현재 HTTP 부분을 수강중인 수강생입니다. 한가지 궁금한 점이 있어서 질문을 남기게 되었습니다. /resources/static/img는 웹사이트에서 메인 이미지 등 고정되는 정적 이미지를 저장하는 곳으로 사용하고 있습니다. 그래서 /resources/static/images 이런식으로 웹사이트 내에서 업로드 되는 이미지를 저장시키면 서버를 다시 키거나, 해당 폴더를 리프레쉬해야 이미지를 불러올 수 있는 것을 확인하였습니다. 웹사이트에서 등록되는 수많은 동적 이미지들은 어디에 두는게 맞는건가요??? 답변부탁드립니다. 감사합니다.
-
해결됨진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
엑셀 _ 데이터형식 (문자, 숫자) 관련 문의드립니다.
새해 복 많이 받으세요. 파워쿼리와 관련된 질문이 아니어서 문의드리기가 좀 그렇지만… 일단 올려보겠습니다. (적합치 않으면 문의글은 삭제하겠습니다) 스마트스토어에서 판매하는 상품들의 사용후기를 - 엑셀로 모으고, 이를 근거로 상품별/월별로 구매자들이 준 평점과 사용후기 내용을 분석해보려고 합니다. * 일단 사용후기들은 아래와 같은 테이블 형태로 수집할 수 있는 상태입니다. 아래 테이블의 값들은 함수/파워쿼리/VBA 등은 적용되지 않은 raw data입니다. (숨긴 부분은 상품명입니다) * 이 테이블 기반으로 피벗테이블을 만들어서 상품별-월별 사용후기 평점의 평균을 구해보려고, 평점 필드의 표시형식을 '평균'으로 설정하여 했더니… "텍스트 데이터 형식을 지원하는 계산이 아니기 때문에 평균이 있는 이 필드를 요약할 수 없습니다."라는 메시지가 떴습니다. (이 메시지는 '합계'를 선택했을 때도 마찬가지로 나타났습니다) 그래서 raw data 테이블의 평점column을 '숫자' 형식으로 나타나도록 변경 후, 다시 피벗테이블을 만들어봤지만 같은 메시지가 뜨고 있습니다. * 그래서 또 다시 피벗테이블을 만들 때 '데이터 모델'에 체크한 후 --> 측정값을 아래와 같이 만들어보고자 했습니다만… 역시 에러메시지가 나타났습니다. 아무래도 raw data 테이블의 평점 column의 데이터 형식에 문제가 있는 것 같습니다만, 구글링을 아무리 해봐도 문제 해결의 실마리를 잡지 못해 문의를 드리게 됩니다. 강사님께서 단번에 답을 주실 수 있는 문제이길 바라며, 다시 한 번 도움을 요청드립니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
logout에 대해서
강의에서 보면 @PostMapping("/logout")public String logout(HttpServletResponse response) { expireCookie(response, "memberId"); return "redirect:/";} private void expireCookie(HttpServletResponse response, String cookieName) { Cookie cookie = new Cookie(cookieName, null); cookie.setMaxAge(0); response.addCookie(cookie);} 강의 코드가 위와 같은데요. 궁금한게 왜 굳이 POST 메서드로 컨트롤러 매핑을 했는지 궁금합니다 세션 쿠키는 어차피 요청시 값이 전달이 되어 GET으로 매핑해도 될것같은데 POST로 매핑한 이유가 궁금합니다.
-
미해결Java TPC 실전프로젝트 (Java API 활용)
스레드 관련 질문입니다.
자바 문법 관련 질문입니다. 1. 서버 클래스에는 inner Class로 스레드를 상속한 ServerReceiver 클래스가 만들어 집니다. 이 클래스를 ServerReceiver thread = new ServerReceiver(socket);을 하고 thread.start(); 해서 실행시킵니다. 채팅 클래스에서는 inner Class에 static이 붙습니다. 이 차이가 무엇인지? 2. 채팅클래스 관련. 주고 받고 하는 두 개의 스레드를 start()(==run()) 메서드를 실행시킬 때 Thread sender = new Thread(new ClientSender(socket,name)); Thread receiver = new Thread(new ClientReceiver(socket)); sender.start(); receiver.start(); 이전에 서버 클래스에서는 ServerReceiver thread = new ServerReceiver(socket); 이런식으로 호출을 해서 사용했습니다. Thread를 상속했기에 Thread로 받을 수 있다는 점은 이해했으나 ClientSender sender=new ClientSender(socket,name); ClientSender receiver =new ClientSender(socket); 이렇게 해도 되는 부분이 아닌지? 궁금합니다~ 3. 클라이언트에서는 메인 클래스에서 실행되는 반면에 서버 클래스는 메인에서 자기 자신의 클래스를 호출하여 메서드를 실행시킵니다. public static void main(String[] args) { new Project06F_MultiChatServer().start(); } 이 start()메서드 안에서 이전에 질문했었던 (static이 붙지 않은)Inner class를 호출합니다. 이 부분도 메인 메서드에서 굳이 자기 자신을 new로 호출해서 메서드를 실행시키는 이유가 궁금합니다. 4. 그리고 Project06F_MultiChatServer 변수 = new Project06F_MultiChatServer(); 변수.start(); 이렇게 하지 않아도 되는 이유도 궁금합니다. 사실 1번과 2번 질문이 이어지는 질문인거 같기는 하지만 일단 모르는 부분이기에 질문드립니다.
-
미해결홍정모의 따라하며 배우는 C언어
헤더파일 작성 질문있습니다
헤더파일의 함수 프로토타입만 따로 놔두는게 함수 입출력을 빠르게 보려는ㄱ게 목적이면 프로토타입만 윗줄에 쭉 나열하고 함수는 아래에 작성해놓으면 한파일로 사용할수 있지 않나요? 굳이 헤더파일과 c파일을 하나 더 만드는 이유가 있나요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
버전이 너무 다릅니다...
이거 버전이 너무 달라서 따라가기 어렵습니다ㅜ최신버전으로 다시 만들어 주세요ㅜ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
domain 질문, front 요청에서 error
1. 현재 domian을 구입하지 않으면 route 에서 연결된 프론트 or 백엔드 도메인은 못들어가나요? 탄력적 IP를 하고 IP 바뀌어서 front ,back -> 도메인이 아닌 바뀐 ip로 변경 git push git pull sudo npx pm2 reload all 똑같이 다시 시작 했는데 .next 오류인거 같은데 회원가입 및 로그인 버튼을 눌렀을 때 아무것도 실행이 되지 않습니다. 탄련적 IP 하기 전에는 회원가입이랑 로그인까지 됐는데 갑자기 왜 안되는걸까요? 현재 프론트에서 새로고침을 누르면 서버사이드렌더링이 실행되고 있습니다. 하지만 프론트에서 저 오류로 인해서 원활하게 진행되지 않고 있습니다.