묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
역할과 구현을 분리함으로 얻는 이점의 궁금함
안녕하세요! 이제 막 공부하기 시작했습니다. 공부 중에 궁금한 점이 생겨서 질문을 올립니다.예제 만들기 1에서 회원 서비스로 회원가입과 회원조회를 인터페이스로 만든 후 구현객체를 만들었습니다.왜 회원 서비스를 인터페이스와 구현객체로 나눈 것인지 잘 이해가 가지 않습니다. 회원 저장소는 인터페이스로 만들어 구현 객체를 원하는 객체로 장착하기 위해 인터페이스로 만든 것은 이해했습니다. 회원 서비스를 역할과 구현을 나눔으로 얻는 이점이 있나요 ?
-
미해결이펙티브 자바 완벽 공략 1부
프로젝트 설정 관련 질문
안녕하세요! '소스 코드' 강의에서 알려주신 대로 상호 의존하는 부분을 주석 처리하고 mvn install 하는 도중 오류가 있어 질문 드립니다. java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid' 라는 오류가 발생하여 JDK 설정을 11 로 바꾸어 주었습니다.lombok 관련 문제인 것으로 되어서, 버전을 1.18.30 으로 바꾸어 주었습니다. 그러나 이 경우에는 컴파일 에러 (AppConfig 등 Chinese Hello Service 를 참조하는 클래스들에서) 가 발생합니다.현재 상황은 위와 같습니다. 해결할 방법이 없을까요?
-
해결됨코딩테스트 [ ALL IN ONE ]
디스코드 Doubly LinkedList 구현 코드 관련 질문
def insert(self, idx, value): new_node = Node(value) if idx == 0: new_node.next = self.head self.head = new_node else: current = self.head for _ in range(idx-1): current = current.next new_node.next = current.next current.next = new_node def remove(self, idx): if idx == 0: self.head = self.head.next # garbage collector가 알아서 처리해준다. else: current = self.head for _ in range(idx-1): current = current.next current.next = current.next.nextdef insert의 if문에서 self.head.prev=new_node 이렇게 연결지어주지 않아도 괜찮나요?def insert의 else문에서 new_node.prev=current current.next.prev=new_node 이 부분을 추가 안해도 괜찮나요?def remove의 if문에서 garbage collector가 알아서 처리해주신다고 했는데 1->2->3 이렇게 연결되어있고 인덱스 0인 1을 삭제한다고 했을 때 위의 코드대로 하면 head는 2를 가리킨 상태여도 1이랑 2는 아직 연결되어있는데 알아서 삭제가 되나요? 그래서 self.head.prev=None 이 코드를 추가해야된다고 생각했는데 맞을까요?def remove의 else문에서 마찬가지로 current.next.prev=current 문을 추가하지 않아도 괜찮나요?
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
폴리곤 포함 프레임 내 색상 관련 문의
위의 그림처럼 폴라곤이 있는 프레임 부분에 칼라가 채워져 나옵니다. 여러 가지 방법을 시도해봤지만 해결이 되지 않아 질문 남깁니다. 고맙습니다.
-
미해결비트코인 암호화폐 자동매매 코인봇 만들기 Part 1 - 무위험 전략 학습하기
빗썸 종합실습 실행하는데 오류가 납니다.
안녕하세요.빗썸 종합실습을 예제를 받아서 키변경만 하고 실행하였는데 오류가 납니다.뭐가 문제인지 확인 부탁드립니다. PS C:\Python310\python_test> & C:/Python310/python.exe c:/Python310/python_test/bithumb_xrp_basic_auto_trader.pyXRP 보유 개수 : 0.0Traceback (most recent call last): File "c:\Python310\python_test\bithumb_xrp_basic_auto_trader.py", line 164, in <module> xrp_buy_price = float(result['data'][0]['price'])IndexError: list index out of rangePS C:\Python310\python_test>
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
D 유형할 때 마다 우측에 스크롤바가 생깁니다
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <div class="main-content"> <div class="left"> <header> <div class="header-logo"></div> <div class="navi"> <ul class="menu"> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> </ul> </div> <div class="spot-menu"></div> </header> </div> <div class="right"> <div class="slide"> <div class="slide-image"></div> <div class="slide-banner"> <a href="#none"><img src="images/D image/banner-01.png" alt="banner-01"></a> <a href="#none"><img src="images/D image/banner-02.png" alt="banner-01"></a> <a href="#none"><img src="images/D image/banner-03.png" alt="banner-01"></a> </div> </div> <div class="items"> <div class="shortcut"> <a href="#none"><img src="images/D image/shortcut-01.png" alt="shortcut -1"></a> <div class="shortcut-content"> <h3>fkldmsklmclkmdclmd</h3> <p> fdjdoijfijiowejfdnfndsjfndsncncnfdkljfodsjlkcnkndksjhbfkjdshfkdjsnklcmdslkcjndksjhckdsbcjhdsbfihnuwhfeiuhfnjkdnkfjbds <br> <b>202039202</b> </p> </div> <a href="#none"><img src="images/D image/shortcut-02.png" alt="shortcut-02"></a> </div> <div class="news-gallery"></div> </div> </div> </div> <footer> <div class="footer-logo"> <a href="#none"><img src="images/D image/footer-logo.png" alt="footer-logo"></a> </div> <div class="footer-content"> <div class="footer-link"> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> </div> <div class="copyright"> dfjdsfijdiofjodsfodsmnckljdsicjdiosfjodsnflkndkfjgdsfdsfds </div> </div> </footer> </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: #000; } a { text-decoration: none; color: #000; } .main-content { display: flex; } .main-content > div { border: 1px solid #000; } .left { width: 200px; } .right { flex: 1; } /* header */ header {} header > div { border: 1px solid #000; } .header-logo { height: 100px; } .navi { height: 400px; } .spot-menu { height: 50px; } /* slide */ .slide { position: relative; } .slide > div { border: 1px solid #000; } .slide-image { height: 400px; } .slide-banner { width: 150px; height: 300px; position: absolute; top: 0; right: 10px; } .slide-banner a {} .slide-banner a img { width: 150px; display: block; } /* shortcut */ .shortcut { height: 200px; display: flex; align-items: center; margin: 0 30px; gap: 50px; } /* news - gallery */ .news-gallery { border: 1px solid #000; height: 250px; } /* footer */ footer { display: flex; } footer > div { height: 120px; box-sizing: border-box; } .footer-logo { width: 200px; padding-top: 15px; box-sizing: border-box; } .footer-content { flex: 1; } .footer-content div { height: 60px; } .footer-link { padding-top: 20px; box-sizing: border-box; } .footer-link a, .footer-link span { color: royalblue; } .footer-link a:hover { text-decoration: underline; } .copyright { padding: 10px 0px; box-sizing: border-box; } 뭐가 문젠질 도저히 모르겠습니다..
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
간격 조정 관련 질문
아래 이미지와 같이 여러 개를 선택했을 때 간격 조정이 뜨지 않는 경우가 종종 발생하고 있습니다. 해결방법을 찾아봐도 발견하지 못해 질문 남깁니다. 고맙습니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
corr = df.corr() 입력시 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의랑 똑같이 했는데도 이러한 오류가 등장합니다could not convert string to float: '와라와라호프'
-
해결됨김영한의 실전 자바 - 기본편
궁금즘이 생겨서 질문을 남깁니다.(자바 관련 질문은 아닙니다.)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕 하세요. 서점에서 책을 읽다가 궁금해진 게 있어서 질문을 남깁니다.프로그래밍 언어로 일하는 사람들, 언어로 공부하는 사람들, 그냥 사람들(언어를 공부 안한 사람들)의 말을 들어보면,"나는 개발자가 될 거야, 아니면 프로그래머가 될 거야., @@개발자야, 프로그래머가 힘들다던데?" 라는 말을 들어본 기억이 있고,저도 "@@개발자가 되어서 @@을 하겠다."라고 말하는 편입니다.여기서 궁금증이 생기더라고요.개발자는 정의는 어느 정도 알겠는데 프로그래머는 정확한 정의를 모르겠더라고요.(그냥 프로그램밍을 하는 사람?)무엇 이든 정확히 알아야 길을 갈 수 있듯이 말입니다. (영한 님이 보여준 미로 사진이 생각나네요.)프로그래머의 정의를 정확하게, 알기 쉽게 설명 해줄 수 있으신가요?답변 부탁 드립니다.
-
미해결
Creating a PUBG Clone in C++ - Challenges and Proces
PUBG(배틀그라운드)와 같은 게임의 C++ 버전을 개발하는 것은 게임 개발 컨셉, 네트워킹, 그래픽 프로그래밍 및 기타 다양한 요소에 대한 심층적인 이해가 필요하기 때문에 여기서 완전한 구현을 제공하는 것은 불가능합니다. 그러나 C++로 PUBG와 유사한 게임을 개발할 때 고려해야 할 주요 구성 요소와 개념을 개요로 제시할 수 있습니다. 또한 해당 게임을 만드는 과정과 도전, 그리고 그에 대한 기사 초안을 작성할 수 있습니다.C++에서 PUBG 클론 - 주요 구성 요소:게임 엔진: 렌더링, 물리학, 오디오, 입력 처리, 네트워킹 등의 기능을 지원하는 게임 엔진을 개발하거나 활용해야 합니다. C++ 게임 개발에 대한 인기있는 선택지는 Unreal Engine 및 Unity(이는 C++ 플러그인을 지원하지만 C#을 사용함)입니다.네트워킹: 멀티플레이어 게임 플레이를 위한 클라이언트-서버 아키텍처를 구현합니다. 클라이언트와 서버 간의 게임 상태 동기화, 플레이어 이동, 상호 작용 및 공정한 게임 플레이를 보장하는 것이 포함됩니다.그래픽: OpenGL 또는 DirectX와 같은 그래픽 API를 활용하여 현실적인 3D 그래픽을 렌더링합니다. 지형 생성, 캐릭터 모델링, 애니메이션, 조명 및 그림자와 같은 시각적 효과를 구현합니다.물리학: 실제 물체 간의 상호 작용을 처리하기 위해 물리 엔진(예: Bullet Physics)을 통합합니다. 충돌, 중력 및 캐릭터 애니메이션의 랙돌 물리와 같은 실제적인 상호 작용이 포함됩니다.인공 지능: NPC(봇 또는 적)를 제어하기 위한 AI 알고리즘을 개발합니다. 이는 탐색, 결정 만들기 및 전투 전략과 같은 행동을 포함합니다.게임 플레이 메카닉: PUBG에서 영감을 받은 핵심 게임 플레이 메카닉을 구현합니다. 섬으로의 낙하, 무기와 보급품 획득을 위한 건물 탐색, 축소되는 플레이 영역을 탐색하고, 다른 플레이어와의 치열한 전투 등이 이에 해당합니다.사용자 인터페이스: 메뉴, 게임 내 HUD(헤드업 디스플레이), 인벤토리 관리, 지도 표시 등 직관적인 사용자 인터페이스를 설계하고 구현합니다.사운드 및 음악: 게임 경험을 향상시키기 위해 사운드 효과 및 배경 음악을 통합합니다. 현실적인 공간적인 사운드 효과를 위해 위치 기반 오디오를 구현합니다.Sure, here's a basic model in C++ for a simple text-based RPG game:cppCopy code #include <iostream> #include <string> #include <cstdlib> #include <ctime> using namespace std; // Player class representing the player character class Player {https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=412 private: string name; int health; int attack; public:https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=413 // Constructor to initialize player Player(string playerName, int playerHealth, int playerAttack) { name = playerName;https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=414 health = playerHealth; attack = playerAttack; } https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=415 // Method to display player information void displayInfo(https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=419) {https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=418 cout << "Name: " << name << endl; cout << "Health: " << health << endl; cout << "Attack: " << attack << endl; }https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=416 // Method for player to attack int doAttack() {https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=417 return attack + rand() % 10; // random attack value between (attack) and (attack + 9) } // Method to receive damage void receiveDamage(int damage) {https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=420 health -= damage; if (health < 0) { health = 0; } } // Method to check if player is alive bool isAlive(https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=421) {https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=422 return health > 0;https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=423 } }; int main() { // Seed for random number generation srand(time(0));https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=424 // Create player object Player player("Hero", 100, 20); // Display player information player.displayInfo(https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=425); // Simulation of battle int round = 1; while (player.isAlive(https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=426)) {https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=427 cout << "\nRound " << round << ": "; int enemyAttack = 10 + rand(https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=428) % 10; // Random enemy attack value between 10 and 19 cout << "Enemy attacks for " << enemyAttack << " damage." << endl; player.receiveDamage(enemyAttack); if (!player.isAlive(https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=429)) {https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=430 cout << "Game Over! You were defeated." << endl; break; }https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=431 int playerAttack = player.doAttack(); cout << "You attack for " << playerAttack << " damage." << endl; https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=432 // Player attack // Assuming enemy's health is fixed at 50 for simplicity cout << "Enemy Health: 50" << endl; https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=433 round++; }https://iweaon2515.expandcart.com/index.php?route=product/product&product_id=434 return 0; }기사 초안: C++에서 PUBG 클론 개발 - 도전과 과정소개: 최근 몇 년간 PlayerUnknown's Battlegrounds(PUBG)와 같은 배틀 로얄 게임은 전 세계 게이머들 사이에서 엄청난 인기를 얻었습니다. 이 기사에서는 C++에서 PUBG의 클론을 개발하는 과정과 도전에 대해 탐구하고, 개발에 필요한
-
해결됨코딩테스트 [ ALL IN ONE ]
초기화할때 질문
이 영상 문제풀이에서 def __init__(self, homepage): self.head=self.current=ListNode(val=homepage) 이렇게 초기화를 해주셨는데 self.head=ListNode(val=homepage) self.current=ListNode(val=homepage) 이거와의 차이점이 뭔가요?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
서브 쿼리 사용 관련
아직 JOIN 파트는 수강하지 않고 코테 문제에 익숙해지기 위해 이전에 CASE까지 수강한 내용을 바탕으로 프로그래머스를 풀고 있습니다.그런데 중간에 "서브 쿼리"를 다루는 문제들이 많이 나오는거 같은데 본 강의에서 그 부분에 해당하는 내용도 다루시는지 궁금합니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-F 백준 런타임에러
안녕하세요 선생님dev에서 출력까지 모두 확인하고 백준에 제출하였는데 런타임에러(Segfault)가 뜨네요. 왜 그런건지 알수있을까요??http://boj.kr/909703751c8045c0af6d239464b65482
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
데이터베이스에있는 북마크 정보 불러오기 강의 질문
안녕하세요. 좋은강의 정말 잘 보고있습니다. 항상 감사합니다. 질문이 있는데 Bookmark 액티비티에서 북마크 정보 불러올때 override fun onDataChange(snapshot : DataSnapshot){~~for ~~rvAdapter.notifyDataSetChanged() }위처럼 for문 다 돌면 rvAdapter를 동기화 시켜주는 코드를 쓰는데 저 코드가 실행되면 제일 onCreate함수가 다시 불리는건가요??아니면 val rvAdpater = RVAdapter(contentModels,baseContext)recyclerView.adapter = rvAdapter 요 부분만 다시 불리는건가요?? rvAdapter.notifyDataSetChanged() 이 함수에 대해 조금 더 자세한 설명을 부탁드리겠습니다.
-
해결됨독하게 시작하는 C 프로그래밍
나이, 이름 입력 예시에서 scanf_s() 함수 사용 이후 gets_s() 함수 사용 시 오류
gets_s() 함수가 키보드 추상화 파일의 버퍼에서 null이 나올 때까지 문자열을 가져오는 함수잖아요.scanf_s() 함수를 통해 5\n 이 저장되었다고 했을 때, %*c를 통해 \n을 제거하지 않으면 gets_s() 함수는 \n이 들어있어서 입력을 중지하는 거라고 이해했습니다.여기서 질문입니다. null이랑 \n 이랑 다르다고 알고 있는데 왜 null 이 나온 것처럼 gets_s() 함수가 수행되지 않는지 궁급합니다!!감사합니다. (꾸벅)
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
웹 페이지 배경 검은색 출력
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]배경이 흰색 페이지였다가 hello 서블릿 호출을 클릭하니까배경이 검정색으로 바뀌었습니다. 혹시 왜 그런걸까요??뭔가 파라미터 값을 넘길때만 그런 것 같기도 합니다
-
미해결Vue.js - Django 연동 웹 프로그래밍
mixin 에러가 나서 실행이 안되요.
도움 부탁 드리겠습니다.
-
해결됨[React / VanillaJS] UI 요소 직접 만들기 Part 1
보통 GNB가 있는 프로젝트에 이렇게 심혈을 기울여 Routes를 따로 만드나요?
GNB를 구성하는 다양한 방법이 있을 것 같은데혹시 널리알려진 정형화 된 방법이 있을까요? 혹은 관련 지식이 프로젝트에서 알려주신 방법이 마음에 들어서 한번 적용해보려고 합니다. 🙂
-
해결됨개발자를 위한 쉬운 도커
안녕하세요 VScode 관해서 질문있습니다
안녕하세요 좋은 강의 잘 듣고 있습니다 :)강의 내용대로 VScode랑 컨테이너에 마운트해서 잘 실행되는거 까지 확인했습니다!그런데 핫 리로드(?) 인가요 변경 사항을 저장하거나 새로고침을 눌러도 반영이 안되고 npm run serve로 다시 실행을 해야 하더라구요혹시 따로 추가를 해야하는 사항이 있을까요?
-
미해결
Next에서 CORS 프록시 설정하는 방법 있을까요?
안녕하세요 next.js14에서 api호출때문에 프록시서버를 설정하려하는데 검색해보니까config파일에서 프록시설정하면된다해서next.config.mjs에서rewrite로 이렇게 설정해봤는데 get요청은 되는데 post에서 cors 오류가 떠서요 혹시 해결방법 아실까요? async rewrites() { return [ { source: "/api/:path*", destination: `API주소/api/:path*`, }, ]; },