묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!
안녕하세요 방금 전 C# part.1 끝낸 비전공자 학생입니다!이제 part.2로 넘어가려고 하는데 커뮤니티 글에 C++ 자료구조가 더 상위호환이라고 들어서 혹시 이제 갓 입문한 학생도 C++ 자료구조를 보는게 더 도움이 될까요?C++ 자료구조를 이해하려면 C++ 지식이 필요한건 아닌지 여쭤봅니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
Connected Component 문제 질문!
안녕하세요!Connected Componenet문제로 방귀 문제를 예시로 들어줬는데 만약 조건중에 어떤 육지는 오염이 되지 않게 해주는 장치가 있다고 한다면 해당 장치가 있는 육지는 ret에 포함되지 않아야 하는데, 이렇게 코드를 짤려면 어떻게 해야할까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-H 질문있습니다 :)
안녕하세요 선생님 🙂6-H 문제를 보자마자 6-E 대칭 차집합 문제가 떠올라서 같은 방식으로 풀어봤는데요,테스트케이스는 맞지만 틀렸다고 나옵니다. 이유가 뭔지 잘 모르겠어서 질문드립니다!! http://boj.kr/0c301b3a0f1546d08e31a6b41e69ea70
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카의 도입 시기를 결정하는 노하우가 더 있을까요?
안녕하세요, 좋은 강의 너무나 감사드립니다.조금 추상적인 질문이어서 곤란하실 것 같아 죄송하네요..ㅎㅎ구체적으로는 말씀드리진 못 하지만, 현재 저희 회사에서 어떠한 하드웨어 장비를 통해 실시간으로 데이터를 수집/통계생성/조회 등의 서비스를 제공하려고 준비 중에 있습니다. 강의 중에 GPS 서비스에 대해 종종 언급하셨는데 그 경우와 유사한 IoT 서비스입니다.지금은 하드웨어 쪽에 투자를 하는 상황이라 간단하게 HTTP 통신으로 하드웨어 몇 대의 데이터를 수집하고 Spring Boot 서버가 데이터를 받아서 처리하고 있습니다.실제 제품 환경에서는 부하 등 여러 요소를 고려하여 MQTT 를 사용한 데이터 수집을 하려고 계획하고 있습니다. 그러던 차에 Kafka 에도 관심을 가져서 강의를 수강해봤는데 Kafka 가 생각보다도 훨씬 대형 서비스에서 써야 할 것 같아서 저희 회사 서비스에서 사용할 만한 건 아닌가...고민하다가 직접 여쭤보려고 합니다.하드웨어는 2초에 1번씩 데이터를 수집하고 전송합니다. 추측하건대 이후에도 1초에 수십 번의 트래픽이 발생하지는 않을 것 같습니다. 만약 그렇게 해야 하더라도 수십 번 수집한 데이터를 1~2초에 1번씩 전송해도 괜찮습니다.수집하고 전송할 데이터, 그러니까 Record 의 Value 는 JSON 형태이며 약 100byte 정도입니다.하드웨어 장비는, 하드웨어 담당자의 의견을 따르자면 최대 100만 대까지 생산하려는 것 같습니다.서비스는 물론 확장이야 할 수 있겠지만, 현재 이와 관련하여 구체적으로 구상된 사업 아이템은 없는 것 같습니다. 즉, 수집한 데이터를 사용하는 서비스는 하나만 있습니다.그러면 단순 계산해서 최대 1초에 100MB 의 요청 / 1초에 100만 번의 요청을 처리해야 한다면, 이정도면 Kafka 도입이 의미가 있을까요?강의에서 언급한 대로, Kafka 를 IaaS 로 운영한다고 하더라도 서버 비용이 월 몇 십만 원씩 내면서 도입할 가치가 있냐고 하면, 솔직히 그렇게 보이진 않거든요 결론적으로 질문은 아래와 같습니다.웬만한 대기업, 대형 서비스가 아니고서야 Kafka 도입은 오버스펙일까요?저희 회사처럼 단일 서비스에 대한 데이터 처리와 고가용성을 확보하려고 하더라도 Kafka 도입이 의미가 있을까요? 강의에서 언급된 인스턴스 스펙보다 낮은 수준의 인스턴스에서 Kafka 를 실행하는 건 괜찮을까요?Kafka 는 어느 정도의 트래픽이 발생해야 도입이 유의미할까요?Kafka 도입을 고려하는 시점에 대한 의사결정 요소에 어떤 것들이 있을까요? 키워드 위주로만이라도 설명해주시면 제가 한 번 조사해보도록 하겠습니다.
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
handler, static 질문이 있습니다.
안녕하세요,mysite>urls.py에handler404 = 'mysite.views.error_404_view' # #404에러 발생시 처리 handler500 = 'mysite.views.error_500_view'이렇게 작성하고,views.py 에서 def 로 함수 정의해서 쓰는데요.handler404, handler500 views.py에 context로 연결하는 예제 하나만 보여주시면 안될까요.원래 질문은 handler404, handler500를 어디에 쓰는지 모르겠다 였는데, 강의 후반부에 context로 연결해서 쓴다고 말씀해주셔서 질문을 바꿨습니다. 다른 질문은 static 부분에서 main.html 에서 <img src = "{% static 'mysite/django.png' %}" alt="Django image" />이렇게 작성해서 사용하는데, static을 settings.py에 정의해서 사용하신다고 알려주셨는데, 어떤 부분과 대응 되는지 잘 모르겠습니다. STATIC_URL ='/static/' 이부분 뒤로 붙어서 static/mysite/django.png 이런식으로 읽어오게 되는게 맞을까요?질문 받아주셔서 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-G 질문있습니다 :)
안녕하세요 선생님 🙂 한가지 이해가 되지 않는 부분이 있어서 질문 드립니다. result = -1인 경우를 아래와 같이 처리했는데요, if (X <= Y) { cout << "-1" << '\n'; return 0; }X == Y일 경우는 당연히 정답처리가 되긴 하지만.. 혹여나 예외로 Y의 값이 X보다 클 경우를 예외처리하려고 했는데요, 이게 왜 틀렸다고 나오는지 이해가 되지 않습니다. 항상 감사합니다:)http://boj.kr/9feefe6cb25d4acbaef72f01f91a84cb
-
미해결처음 만난 리액트(React)
mini-blog 프로젝트 질문합니다
// PostListItem.jsx import React from "react"; import styled from "styled-components"; const Wrapper = styled.div` width: calc(100% -32px); padding: 16px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border: 1px solid grey; border-radius: 8px; cursor: pointer; background: white; :hover { background: lightgrey; } `; const TitleText = styled.p` font-size: 20px; font-weight: 500; `; // 글의 제목만 표시 function PostListItem(props) { const { post, onClick } = props; return ( <Wrapper onClick={onClick}> <TitleText>{post.title}</TitleText> </Wrapper> ); } export default PostListItem; // PostList.jsx import React from "react"; import styled from "styled-components"; import PostListItem from "./PostListItem"; const Wrapper = styled.div` display: flex; flex-direction: column; align-items: flex-start; justify-content: center; :not(:last-child) { margin-bottom: 16px; } `; function PostList(props) { const { posts, onClickItem } = props; return ( <Wrapper> {posts.map((post) => { return ( <PostListItem key={post.id} post={post} onClick={() => { onClickItem(post); }} /> ); })} </Wrapper> ); } export default PostList; 안녕하세요, 소플님. mini-blog 프로젝트 실습 질문합니다.박스 테두리가 강의 영상과 다르게 나오는데 style부분에서 어느 파일을 고쳐야 할지 잘 모르겠습니다.좋은 강의 무료로 해주셔서 감사합니다!
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
GC와 UPROPERTY 에대한 질문입니다.
안녕하세요 교수님. 교수님의 12강 강의를 수강 중에 UE의 UObject 메모리 관리에 대해 궁금한 점이 있어 질문 드리게 됐습니다. "UPROPERY 지정을 통해 GC에 의해서 관리되는 UObject가 회수되지 않도록 한다."라고 저는 이해했는데 맞게 이해한 것일까요? 만약 그렇다면 해당 메모리는 항상 Heap에 잔류한다고 봐도 될까요? 더 이상 필요 없어진 UObject라서 메모리에서 삭제하고 싶다면 어떻게 진행해야 하는 것인지 궁금합니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
현장강의는 어디서 들을 수 있나요???
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현장강의를 들어야 수업을 따라갈 수 있을것같아요 ㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
static TypeConversion conversion, template argument 없는 경우
준비해주신 강의자료TypeCast.h153번줄에 있는 선언에 대한 질문입니다. static inline bool CanConvert(int32 from, int32 to){static TypeConversion conversion;return s_convert[from][to];} CanConvert 함수안에 있는 TypeConversion 타입의정적변수 선언이 문법적으로 잘 이해가 가지 않습니다 TypeConversion은 class template이기 때문에선언할 때 template argument값(=typeList)을 줘야 한다고 생각했습니다.(제가 생각했던 예시)ex) static TypeConversion<TL> conversion; 근데 예시 코드에는 생략하여도 잘 동작해서관련해서 어떤 문법인지 찾으려고 했는데 찾지 못했습니다 개인적으로 열심히 고민해봤는데 default type이 정해진 경우에 생략이 가능하고template function에는 인자 값을 통해 추론해템플릿 인자값을 생략하는 경우도 있었지만둘 다 해당하지 않는 것 같습니다 TypeConversion<TL>::CanConvert(ptr->_typeId, IndexOf<TL, remove_pointer_t<To>>::value)를 통해서 이미 template class가 인자 값을 받아서인스턴트화 했기 때문에 생략이 가능한 것으로 이해해도 괜찮을까요? -수정Injected-class-name 라는 cpp reference를 찾았습니다제가 궁굼해 하는게 이게 맞을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcMemberRepository 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이런 오류가 뜨는데 대체 어떻게 해결해야 할까요? ㅠㅠpackage hello.hello_spring.repository; import hello.hello_spring.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); } } error: JdbcMemberRepository is not abstract and does not override abstract method cleatStore() in MemberRepository public class JdbcMemberRepository implements MemberRepository{
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
uninstall beautifulsoup4 했더니 인텔리제이를 삭제하려 하는데..
평소에 인텔리제이로 자바 공부를 하긴 했는데 이건 무슨 경운가요..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-c 코드 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.제가 작성한 아래의 코드에서 항상 실제 답보다 1이 작게 나오는데 그 이유를 알 수 있을까요?#include <bits/stdc++.h> using namespace std; int n, m, ny, nx; int dy[] = {-1, 0, 1, 0}; int dx[] = {0, 1, 0, -1}; int mp[51][51]; int dp[51][51]; // 2차원 dp 배열로 수정 // dp[y][x]: 현재 위치에서 최대 몇 번 이동할 수 있는가? int move(int y, int x) { // 이미 계산된 값이 있으면 그 값을 반환 if (dp[y][x] != -1) return dp[y][x]; dp[y][x] = 0; // 이동 불가능한 상태로 설정 (기본값) // 4방향 탐색 for (int i = 0; i < 4; i++) { ny = y + mp[y][x] * dy[i]; nx = x + mp[y][x] * dx[i]; // 오버플로우 처리 및 구멍 처리 if (ny >= n || nx >= m || ny < 0 || nx < 0 || mp[ny][nx] == 0) continue; int ret = move(ny, nx); dp[y][x] = max(dp[y][x], ret + 1); // 현재 위치에서 한 번 이동하고 나서 계산 } return dp[y][x]; } int main() { cin >> n >> m; // 입력 받기 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { char v; cin >> v; if (v == 'H') { mp[i][j] = 0; // 'H'는 구멍이므로 0으로 처리 } else { mp[i][j] = v - '0'; // 숫자는 변환해서 저장 } } } // DP 테이블 초기화 (-1로) memset(dp, -1, sizeof(dp)); // 배열 처리 확인 for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cout << mp[i][j] << " "; cout << dp[i][j] << " "; } cout << "\n"; } // 첫 위치에서 최대 이동 횟수 계산 int result = move(0, 0); cout << result << "\n"; return 0; }
-
미해결Next + React Query로 SNS 서비스 만들기
rightSectionWrapper,leftSectionWrapper 중앙정렬 질문입니다!
flex 컨테이너 안에 rightSectionWrapper,leftSectionWrapper 에 각각 flex-grow:1을 주어 컨테이너의 남은 여백을 똑같이 가져가고 leftWrapper에는 flex-end, rightWrapper에는 flex-start를 주어 중앙정렬 처럼 보이게 나타내는 것까지는 이해 하였습니다.그런데 직접 코드를 작성하여 로컬에서 실행해보니 flex-grow가 적용이 되질 않습니다. . 개발자 도구를 확인해보면 분명 적용돼있는데 오른쪽 끝에 덩그러니 여백이 남아있습니다. 깃허브의 코드와 비교해보니 다른게 없어 ch2-1의 코드를 복붙해서 로컬에서 돌려봤더니 똑같이 flex-grow가 적용되지 않았습니다. 어떤 문제가 있어서 그런 것일까요 .. ? 코드는 문제가 없어 보이긴하는데 .. import { ReactNode } from "react"; import style from "@/app/(afterLogin)/layout.module.css"; import Link from "next/link"; import Image from "next/image"; import ZLogo from "../../../public/zlogo.png"; export default function AfterLoginLayout({ children, }: { children: ReactNode; }) { return ( <div className={style.container}> <header className={style.leftSectionWrapper}> <section className={style.leftSection}></section> </header> <div className={style.rightSectionWrapper}> <div className={style.rightSectionInner}> <main className={style.main}>{children}</main> <section className={style.rightSection}></section> </div> </div> </div> ); } .container { display: flex; align-items: stretch; background-color: #fff; } .leftSectionWrapper { display: flex; align-items: flex-end; flex-direction: column; flex-grow: 1; } .leftSection { background-color: orange; height: 100dvh; width: 275px; padding: 0 8px; } .rightSectionWrapper { display: flex; align-items: flex-start; height: 100dvh; flex-direction: column; flex-grow: 1; } .rightSectionInner { display: flex; flex-direction: row; background-color: aqua; width: 990px; height: 100%; } .rightSection { background-color: aquamarine; height: 100%; }
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
[문제 5번] 중복제거
혹시 입력 받은 배열을 list(set(배열명))을 통해 중복을 제거한 후 deque 자료구조로 바꾸면 시간 복잡도상 문제가 될까요?
-
해결됨Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
Reactor 3부의 오픈 일정에 관해서 문의드립니다!
안녕하세요 최근에 Spring MVC 말고도 Spring WebFlux에 대해서도 관심을 가지게 되어 Reactor 공부를 막 시작한 주니어입니다. 해당 강의가 3부까지 기획되어 있는 것으로 강의소개를 봤었습니다. 강사님께서도 무척이나 바쁘시겠지만, 혹시 3부는 언제쯤 오픈할 예정이신지 여쭤봐도 될까요? 강의 잘 보고 있습니다! 감사합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-e 해설보고 질문드립니다
답안으로 적어주신 코드에서 n=2 11 11 을넣었을땐 ()자체가 생성이안되는데 해설이 잘못된걸까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-F 질문드립니다 :)
안녕하세요 선생님 🙂 한군데 이해가 가지 않는 부분이 있어서 질문드립니다. 아래의 코드는 Check함수에서 init_attack 변수를 설정하여 attack으로 초기화하도 않았을 뿐더러 아예 사용을 하지 않았습니다. 결론부터 말씀드리면 틀렸는데요, 이게 왜 틀린건지 이해가 되지 않습니다. 혹시 call by value인가요? 입력 값에서 용사의 공격력을 이미 입력받았고, 그 공격력을 포션방을 갔을 때 입력받은 용사의 공격력을 증가시키면 된다고 생각했는데요, 이게 왜 안되는걸까요?http://boj.kr/9ca6118540e54a259b26c070a1b20868
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
범위 체크 질문있습니다.
http://boj.kr/c5c442d82b24467fbbac115beed3793c와 같이저는 배열 [0][0]~[x-1][y-1]이 아니고 배열을 넉넉하게 잡아[0][0][0][0][0][0][0][0] // 사용 ______ _[0][0] _____________ _[0][0] _____________ _[0][0]_____________ _[0][0]_____________ _[0][0][0][0][0][0][0][0] 과 같은 형태로[1][1] ~ [x][y] 까지 활용을 했는데요. 문제가 메모리를 정말 타이트하게 잡지 않는 이상 선생님께서 말씀하신 범위체크하고 위 방법은 취향 차이라고 보면 될까요?
-
해결됨태블로를 향한 첫 걸음
Quick Table 값 동시에 여러 개 보기
Table Calculation 기능을 이용해서 테이블의 수치를 다양한 형태를 보고 싶은데요.예를 들어 Sales의 경우,Sales 기존 값 - 전체 구성 비율 - 누적 합계 등 이런 퀵테이블 계산결과를 각 열로 동시에 테이블 안에 보고 싶으면 어떻게 해야 할까요?