묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
[해결법공유] W/System: Ignoring header X-Firebase-Locale because its value was null.
강의랑 똑같이 만들었는데 계속 위 문구로 계속 fail로 뜰 때 해결법 공유합니다. 단말기를 연결해서 쓰는 경우에 단말기가 인터넷에 연결되어있지 않으면 발생하는 에러라고하네요. 핸드폰 와이파이 켜니까 바로 해결됐습니다. https://jtuto.com/w-system-ignoring-header-x-firebase-locale-because-its-value-was-null-android-firebase/
-
미해결Python 부트캠프
소수점 출력 질문입니다.
안녕하세요?강의 중에 소수점 자리 표현 출력은 format형만 가르쳐 주셨는데 f용법으로는 소수점 자리 표현이 가능한지 궁금합니다
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
스케일링 방식 질문
안녕하세요. 강의 잘 듣고 있습니다 :)평가 실습 - 피마 인디언 당뇨병 예측 15분 58초에서 StandardScaler 를 사용해서 스케일링 작업을하시는데요. 스케일링 방식에는 z-score 변환과min_max 방식이 있는데 각각 어떤 경우에 사용되는 건가요?어떨 때는 z-score 변환으로 스케일링 하는 것이 좋고,어떨 때는 min_max 스케일링 방식이 좋은지 알고 싶습니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
debug오류가 있습니다
이렇게 오류가 뜨면서 인텔리j의 실행이 끝나는데 어떻게 해결해야하나요? 그래서인지 localhost:8080에 연결이 안됩니다ㅠㅠ//SpringConfigpackage hello.hellospring; import hello.hellospring.repository.JdbcMemberRepository; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import javax.sql.DataSource; // bean으로 등록하는 방법@Configuration public class SpringConfig { private DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } // 생성자를 통해서 등록하는것이 생성자 주입 @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository(){ // return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); } }//Jdbcpackage 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); } }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); } }
-
미해결네트워크, 그림으로 이해하자(2022ver.)
네트워크 전반적인 과정에 대해 문의드립니다.
안녕하세요. 강의가 큰 도움이 되었습니다. 강의를 다 듣고 네트워크의 전반적인 부분을 한번에 이해해보려고 하는데, 어려운 점이 있어서 문의드립니다. 클라이언트(웹브라우저)가 HTTP 메서드를 통해서 서버에 요청하는 경우, 어떻게 네트워크를 타는지 과정을 알아보고 있습니다. 일부는 웹 서칭을 했고, 일부는 전공 강의를 참고했습니다. 정리해보면 아래의 8단계를 거치는 것 같았습니다. 브라우저가 직접 메시지를 네트워크에 보낼 수는 없고, 운영체제에 의뢰해서 메시지를 전달한다.OS의 프로토콜 스택에서 메시지를 받고 수신처 주소 등의 제어정보를 덧붙인다.패킷을 LAN 어댑터(=랜카드)에 넘긴다.LAN 어댑터는 다음 Hop의 MAC주소를 붙인 프레임을 전기신호로 변환시킨다.신호를 LAN 케이블에 송출시킨다.전달된 프레임이 스위치를 거쳐서 라우터에 도착한다. 인터넷의 여러 라우터를 거쳐서 목적지 네트워크(웹 서버측의 랜)에 도달한다. 최종적으로 패킷이 물리적인 웹 서버에 도착한다. 웹 서버의 프로토콜 스택은 패킷을 추출하여 메시지를 복원하고 웹 서버 애플리케이션에 넘긴다.메시지를 받은 웹 서버 애플리케이션은 요청 메시지에 따른 데이터를 응답 메시지에 넣어 클라이언트로 회송한다. 몇 가지 질문이 있습니다. Q1) 1번에서 프로토콜 스택에서 '수신처 주소'를 덧붙인다고 했는데, 이는 IP 주소를 붙여서 IP 패킷을 만든다는 의미인가요? 아니면 MAC 주소를 말한다는 것인가요? Q2) LAN 어댑터와 랜카드가 같은 것인가요?Q3) 랜카드가 프레임을 전기신호로 변환하는 것은 이해하였는데, 랜카드에서 '다음 Hop의 MAC 주소'를 붙여서 프레임을 만드나요? 그리고 랜카드는 다음 Hop이 무엇인지, 다음 Hop의 MAC주소는 무엇인지 어떻게 알 수 있나요? ARP로 MAC주소를 받아온다고 배웠는데, ARP가 네트워크 계층에 속하면 라우터에서 MAC주소를 알아낼 수 있는거 아닌가요...? 랜카드에서는 같은 네트워크에 연결된 장치들의 MAC주소를 어떻게 알고있나요? Q4) 데이터가 -> 전기신호로 변환되는 것은 보내는 사람의 PC에서만, 전기신호가 -> 데이터로 변환되는 것은 받는 사람의 PC에서만 이뤄지는 것인가요? 그럼 라우터와 라우터 사이에서도 전기 신호로 통신해야 할텐데, 그 라우터들은 전기 신호의 의미(IP 주소 등)을 어떻게 이해하나요? Q5) 위의 과정에서 잘못된 점이 있다면 말씀해주시면 정말 감사하겠습니다! 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
getserversideProps 성능이슈
안녕하세요 제로초님, 실제 프로젝트에서 getserversideProps 를 주로 쓰고있는데 성능 이슈가 생겨서 질문드립니다.랜더링할 컴포넌트가 많아서인지 아니면 제가 최적화를 잘못해서인지 새페이지를 접근할때마다 접근시간이 꽤오래걸립니다. (프로덕션모드에서는 그나마 괜찮습니다만 느립니다)그래서 이전에 공지사항으로 보내주신 getStaticPath와 getStaticProps만 써서 Incremental Rendering 에 관해서 좀찾아봤는데 솔직히 감을 잡기가 너무어렵더라구요.혹시 도움이 될만한 자료나 싸이트가 있을까요?? 최대한 참고해서 해보도록하겠습니다. 좋은하루보내세요
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임 오류 원인을 모르겠습니다.
import java.util.*; class Main { public static int solution(int count, int[][] array) { int answerRow = 0; int max = 0; for (int i = 0; i < count; i++) { int tmp = 0; for (int j = 0; j < count; j++) { for (int k = 0; k < 5; k++) { if (array[i][k] == array[j][k]) { tmp++; break; } } } if (tmp > max) { max = tmp; answerRow = i; } } return answerRow + 1; } public static void main(String[] args) { Scanner kb = new Scanner(System.in); int count = Integer.valueOf(kb.nextLine()); int[][] array = new int[count][5]; for (int i = 0; i < count; i++) { for (int j = 0; j < 5; j++) { array[i][j] = kb.nextInt(); } kb.nextLine(); } System.out.print(solution(count, array)); } }채점 사이트의 2번, 3번 케이스에서 런타임 오류가 나는데 원인을 모르겠습니다. 제 로컬에서는 런타임 오류가 나지 않고 2, 3번 모두 올바른 결과가 나옵니다. 혹시 원인을 알려주시면 정말 감사하겠습니다!
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
ajax 질문 있습니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html><html lang="en"><head> <title>Spring MVC02</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> <script type="text/javascript"> $(document).ready(function()){ loadList(); }); function loadList(){ //서버와 통신 : 게시판 리스트 가져오기 $.ajax({ url : "boardList.do", type : "get", dataType : "json", success : makeView, error : function(){ alert("error"); } }); } function makeView(data){ alert(data); } </script></head><body> <div class="container"> <h2>Spring MVC02</h2> <div class="panel panel-default"> <div class="panel-heading">BOARD</div> <div class="panel-body">Panel Content</div> <div class="panel-footer">김성규</div> </div></div></body></html> 위와같이 선생님과 코드를 똑같이 만들었고 오류메시지도 출력되는게 없는데localhost:8081내용 : 이런 메세지창이 뜨지 않습니다따로 설정해야하는게 있는건가요?
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
Practice9 자동 캐시 정리 구현하기에서 질문
ViewModel에서 saveCacheDeleteMdoe 와 getCacheDeleteMode 함수 두 가지를 구현하실 때 왜 하나는 viewModelScope을 사용하시고 하나는 withContext를 사용하신건지 궁금합니다!
-
미해결프로젝트로 배우는 Vue.js 3
40강 수강 중 에러가 떠서 질문 드립니다 !! ㅠㅠ
40강 이전까진 순조롭게 진행 중이였는데 구글링도 해보고 했는데도 해결이 잘 안 되서 질문 드립니다... ㅠㅠ수업 내용을 따라서 한 결과, 화면은 일단 이렇게 뜹니다 !!그래서 무엇이 문제일까 곰곰히 또 생각을 하며 영상을 몇번 돌려보았는데, Terminal 에 npm install vue-router@4 입력 시이렇게 뜨는게 혹시 문제가 되는건가요?? WARN 으로 도배가 되는군요... ㅠㅠㅠㅠ그리고 저와 비슷한 에러가 뜬 분의 질문 답변을 따라서이것도 try 해보았는데 안 되었습니다 !!도와주세요 ㅠㅠㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
3분37초쯤
<tr th:each="member : ${members}"> <td th:text="${member.id}"></td> <td th:text="${member.name}"></td> <td th:text="${member.address?.city}"></td> <td th:text="${member.address?.street}"></td> <td th:text="${member.address?.zipcode}"></td> </tr> 여기서 ${member.id} 대신에 *{id}를 써도 되던데 그러면 후자로 써도 상관없는건가요?
-
미해결Flutter + Firebase로 넷플릭스 UI 클론 코딩하기 [무작정 플러터]
firebase 프로덕트 모드로 진행했는데, 홈화면이 안뜹니다... ㅜ
W/Firestore( 2223): (24.3.1) [Firestore]: Listen for Query(target=Query(movie order by name);limitType=LIMIT_TO_FIRST) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null} 이런 오류가 나는데 왜그러는걸까요??ㅠ궁금합니다~
-
미해결부트스트랩 5(Bootstrap 5) - 기초부터 웹 프로젝트 만들기
Post Content -2 질문
제일 마지막 부분 텔레그램과 이메일 아이콘 사이 점은 왜 생기는 건가요 다른 아이콘으로 바꿔도 있고me 줘서 공간을 띄어봐도 계속 있던데 없애는 방법 알고 싶습니다.
-
미해결Flutter 초급 - Http통신, 상태관리
화면새로고침 질문.
커뮤니티 앱을 만들고 있습니다. 그런데 막히는 부분이 있어서 질문드립니다.글작성 버튼 클릭 후 화면이동 후 목록화면에서 화면을 그릴때 새로운 데이터(DB)가 있으면 바로 그려서 보여줘야하는데 그러지못하고있습니다.상태관리를 하면 될거같은데 어떤식으로 해야할지모르겠습니다. RefreshIndicator( onRefresh: () async { setState(() => communityViewModel.onEvent(CommunityEvent.community_query())); await Future.delayed(Duration(seconds: 3)); },스크롤을 내렸을때 새로운데이터를 가져오는 것은 이런식으로 코드작성하니 새로운 데이터를 가져옵니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
11분06초 @Valid
@Valid를 써야 @NotEmpty가 적용 되는건가요?쓰지않으면 @NotEmpty는 그냥 의미없는건가요?
-
미해결스프링부트 시큐리티 & JWT 강의
loadUserByUsername() 메서드 질문 있습니다.
안녕하세요. 먼저 올려주신 강의 덕분에 프로젝트에 시큐리티 적용을 잘했습니다. 복습겸 코드를 보다가 문득 의문이 들어 질문올립니다.해당 메서드에서는 username으로만 계정이 있는지 여부를 판단하는걸로 보여지는데 어떻게 비밀번호에 따라 로그인 처리가 되는걸까요??
-
미해결풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
cors error 해결 방안
지금 강의 듣는 분들은 아마도 vite가 버전3 이상 이라서 client와 server 통신 할 때 cors error가 날거에요!버전 3이상부터는 (Vite 개발 서버의 기본 포트 번호는 이제 5173 입니다. 물론 server.port 옵션을 이용해 3000으로 설정할 수 있습니다.)라고 합니다!https://vitejs-kr.github.io/guide/migration.html#config-options-changes그래서 cors에 localhost:3000 이 아닌 localhost:5173을 넣어주셔야 cors error가 나지 않을거에요!정확한 내용은 아닐수도 있지만 참고 하시면 좋을거같아요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 실행시 계속 오류가 발생합니다.
openJDk 11버전과 환경변수 설정까지 다했고 cmd창에서 직접 h2.bat을 실행하지만 계속 저 오류가 발생합니다. 검색을 해도 마땅한 방법을 찾지 못하여 질문드립니다.
-
미해결웹 게임을 만들며 배우는 React
class형 컴포넌트와 함수형 컴포넌트 질문드립니다.
안녕하세요 제로초님 덕분에 성장해서열심히 포트폴리오를 만들고있는 취준생입니다.모르는게 있으면 가끔 개발자 친구에게 물어보는데요친구는 클래스형 컴포넌트로 코딩을 하고저는 함수형 컴포넌트로 코딩해서 가끔 다툽니다. (친구는 리액트가 흥하기 전부터 리액트를 공부해서 클래스형 컴포넌트에 익숙해서 함수형 컴포넌트는 그냥 건드리지도 않고 배우지도 않았습니다.)친구가 말하기를"지금 현업에서 대부분은 클래스형 컴포넌트로 코딩을 한다 함수형 컴포넌트가 나온지 얼마 안됐는데 어떻게 이전에 클래스형 컴포넌트로 코딩을 했던 회사들이 다 함수형으로 바꾸겠냐. 스타트업이 아닌 이상 80% 회사는 클래스로 코딩한다. 클래스로 코딩해라."이렇게 이야기 하네요.. 저는 뭐 현업 코드를 접해본 적이 없어서 이걸 믿어야 할지.. 클래스로 코딩을 해야할지.. 모르겠습니다...제로초님의 의견을 듣고싶습니다.다른 분들 의견도 궁금해요! 댓글 달아주시면 감사하겠습니다 :)
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
강의 자료 요청드립니다 :)
안녕하세요!강의 자료 요청드립니다!hyunm121@naver.com좋은 강의 감사합니다 :)