묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결대세는 쿠버네티스 [초급~중급]
강의자료 다운
ㅁ 강좌명 : 대세는 쿠버네티스ㅁ 문의사항강의 자료 다운 방법 문의드립니다.공지에 안내된 방식은 강의 하단의 "강의자료" 버튼을 누르라고 되어 있는데, 실습자료실로 가는 버튼은 보이는데 "강의자료" 버튼은 보이지 않습니다.
-
미해결CSS Flex와 Grid 제대로 익히기
반응형 페이지 step4 order
강사님! 아이템 배치 순서를 order로 배치하면 접근성 면에서 문제가 생긴다고 하셨는데 이같은 경우에는 html 구조가 primary, secondary-a, secondary-b 순서로 되어있는데 화면상에서 보이는 순서랑 달라도 괜찮은 건가용? 혹시 다른 방법은 뭐가 있는지 궁금합니다!
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
버튼 id 중복
<Firebase 회원가입 구현> 강의 4:14에 회원가입하기 버튼의 id를 joinBtn이라고 했고 이전의 강의인 <회원가입 로그인 페이지 꾸미기 - 1>강의의 4:28에 인트로화면의 회원가입버튼의 id도 똑같이 joinBtn이라고 했는데 id가 같아도 왜 의도한 대로 동작하는지 궁금합니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
리트코드 184번 테이블 2개
SELECT d.Name AS Department, e.Name AS Employee, e.Salary AS Salary FROM Department d, Employee e WHERE e.DepartmentId = d.Id AND e.Salary IN (SELECT MAX(Salary) FROM Employee WHERE DepartmentId = d.Id)다른 풀이 중에, 테이블을 조인하지 않고 풀었던 예제가 있는데, 잘 이해가 안됩니다 ㅠㅠ FROM절에 2개의 테이블(행과 열이 일치하지 않는)을 나란히 쓸 경우 어떻게 작동되는걸까요?
-
미해결Do it! Node.js 프로그래밍(개정판)
왜 this를 썻는지...
설명이 어려우면 애매하면 소리를 일부러 줄이는건지..참 이상하군요;;;그리고 내용중에 this는 왜 쓰는지 이해 안되고버전이 바뀌어서 그런지 static으로 임의의 함수이름을 올려서 하면 전혀 함수를 못찾네요 ㅠㅠ 에휴
-
미해결스프링 핵심 원리 - 기본편
@PostConstruct 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]항상 친절한 답변 감사드립니다.'빈 생명주기 콜백시작' 강의에서 초기화 메소드는 빈이 생성되고 빈의 의존관계 주입이 완료된후 호출된다고하셨는데 빈이 생성만되고, 빈의 의존관계주입이 필요없는경우는 빈이 생성되고나서 초기화 메소드가 호출되는건가요?MyLogger빈이 생성될땐 의존관계주입을하지않고 단지 MyLogger빈이 생성되기만하는거같은데 생성되고나서 초기화메소드가 호출되서요..빈의 의존관계주입이 필요없는 경우에는 빈이 생성되고나서 초기화 메소드가 호출되는건가요???
-
미해결배달앱 클론코딩 [with React Native]
퍼미션 문제로 빌드가 실패합니다
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.자꾸 여기서 빌드 fail 이 나서 클릭해보면 퍼미션 때문이라고 해서 node_module을 지웠다 다시 인스톨 해보기도 하고 아예 프로젝트를 지웠다 다시 해보기도 하는데 해결이 안되네요. 이런 경우에는 node_module에 퍼미션을 따로 줘야 하는게 맞는건가요? 줘야 한다면 몇으로 줘야 하는지 아님 다른 해결 방법이 있는지 알고 싶습니다
-
해결됨Flutter 응용 - 공공 API를 활용한 앱 만들기 (MVVM 패턴)
강의를 활용하여 공공API를 받아오는데 오류가 나옵니다
강의를 보면서 공공API 인증키를 받아 새로 어플을 만들어 보고 있는데_TypeError (type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>')오류가 자꾸 나옵니다스택오버플로우같은곳에 나와있는 해결법으로 오류를 없애면 비슷한 양식의 다른 오류가 나오거나저 e 부분이 널값이 됩니다혹시 어떻게 해야될지 방향성이라도 알려주실 수 있나요?일단 사진처럼 나온다는것은 e 안에 API정보가 들어오긴 했다는것같은데이 안에 result값 제외 어떤 값이든 입력시 널값으로 받아오는 것 같습니다ex) data, name 등API 양식이랑도 관련이 있을까요?강의중에 API말씀하실때 대괄호 부분 관련해서 얘기하셨던것 같은데 그거랑도 관련이 있을까요?{"result":{"data":[{"time_type":"오전“,"lon":"129.2478","water_temp":"13.4",“air_temp":"1.2","total_score":"매우나쁨","name":"부산북동","weather":"흐림","wind_speed":"10.6","date":"2022-11-30","wave_height":"0.5","lat":"35.2341"},이 부분에서 시간을 너무 잡아먹어서 고민이네요 +추가로 key를 지우면 _TypeError (type '(dynamic) => Null' is not a subtype of type '(String, dynamic) => void' of 'f')오류가 나옵니다 이쪽이 더 연관 있을지도 모르겠어요
-
해결됨게임 프로그래머 취업 전략 가이드
클라 취준생 공부 방향에 대해 질문드립니다
안녕하세요 저는 Unity와 C#만 다를 줄 아는 클라이언트 지망생입니다.올해 면접을 진행하며 CS적인 부분에서 부족한 부분도 많고, 최적화 부분이 많이 부족하다 느껴져 처음부터 다시 공부를 시작하려 합니다.이 상황에서 C#과 Unity를 집중적으로 파는게 아닌, C++로 다시 시작해 언리얼까지 공부하면 많이 비효율적일까 싶어 질문드립니다.참고로 공부 기간은 6개월 이상 잡고 있으며, 현재 프로그래밍 수준은 자료 참고 없이 적당한 수준에 기능 구현 가능한 수준입니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
multer 사용시 file 외 name값은 못받나용?
const formData = new FormData(); formData.append('testimg', files[0]); formData.append('foldername', 'testfolder'); formData.append('key1', 'value1'); axios.post('/crm/arr_image', formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then((res) => { console.log('성공~~~~~~~~~~~'); }).catch((err) => { console.log('에러입니다 에러'); console.error(err); }); const upload = multer({ storage: multer.diskStorage({ // 경로를 설정 destination(req, file, cb) { console.log(req); console.log(req.body); console.log(req.file); console.log(req.headers); console.log('원래 안찍히는거야? 왜 안찍혀?'); try { fs.readdirSync(`uploads/${req.body.foldername}`); } catch (error) { fs.mkdirSync(`uploads/${req.body.foldername}`); } cb(null, `uploads/${req.body.foldername}`); }, filename(req, file, cb) { //파일명 설정 const ext = path.extname(file.originalname); const filename = randomChracter(6); console.log(filename); cb(null, filename + Date.now() + ext); }, }), });안녕하세요! 질문 있습니다!강좌에서는 Multer 밖에다가 폴더를 체크하고 만들었었는데폴더 이름이 프론트의 input - value 값에 있어서 요청이 들어올때마다 체크를 해줘야 해서위처럼 만들었는데요! 이게 axios 를 사용 안하고 그냥 post 요청하면 폴더가 생성이 되는데formData 객체를 생성해서 name - value 값을 넣어줬는데multer 내 req.body 내에 아무것도 안찍히더라구요?? ㅠㅠ원래 이러는건가요? 아니면 코드상에 문제가 있는걸까요??formData.append('foldername', 'testfolder');요 값을 multer 내 req.body로 받을수는 없는걸까요? ㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
함수가 끝나는 시점에서 크래쉬가 나요!
#include <iostream> using namespace std; #include <list> //양방향 리스트, 링크드 리스트. template<class T> class Node { public: Node() : _next(nullptr), _prev(nullptr), _data(T()) { } Node(const T& value) : _next(nullptr), _prev(nullptr), _data(value) { } public: Node* _next; Node* _prev; T _data; }; template<class T> class Iterator { public: Iterator() : _node(nullptr) { } Iterator(Node<T>* data) : _node(data) { } Iterator<T>& operator++() { _node = _node->_next; return *this; } Iterator<T> operator++(int) { Iterator<T> temp = *this; _node = _node->_next; return temp; } Iterator<T>& operator--() { _node = _node->_prev; return *this; } Iterator<T> operator--(int) { Iterator<T> temp = *this; _node = _node->_prev; return temp; } T& operator*() { return _node->_data; } bool operator==(const Iterator& right) { return _node == right._node; } bool operator!=(const Iterator& right) { return !(*this == right); } public: Node<T>* _node; }; //[1]->[2]->[3]->[4]->[header]가 빈 깡통이어도 기본 template<class T> class List { public: typedef Iterator<T> iterator; List() :_size(0) { _header = new Node<T>(); _header->_next = _header; _header->_prev = _header; } ~List() { //TODO while (_size > 0) pop_back(); delete _header; } void push_back(const T& value) { AddNode(_header, value); } // [1] <-> [2] <-> 3 <->[header] // [1] <-> [2] <-> [ header ] void pop_back() { RemoveNode(_header->_prev); } iterator insert(iterator iter, T _data) { return iterator(AddNode(iter._node, _data)); } iterator erase(iterator iter) { Node<T>* target = RemoveNode(iter._node); return iterator(target); } private: Node<T>* AddNode(Node<T>* before, const int& value) { Node<T>* newNode = new Node<T>(value); Node<T>* prevNode = before->_prev; prevNode->_next = newNode; newNode->_next = before; before->_prev = newNode; newNode->_prev = prevNode; ++_size; return newNode; } Node<T>* RemoveNode(Node<T>* target) { Node<T>* prevNode = target->_prev; Node<T>* nextNode = target->_next; prevNode->_next = nextNode; nextNode->_prev = prevNode; --_size; delete target; return nextNode; } public: iterator begin() { return iterator(_header->_next); } iterator end() { return iterator(_header); } int size() { return _size; } public: Node<T>* _header; int _size; }; template<class T> void test(T); int main() { /*List<int> li; List<int>::iterator eraseIt; for (int i = 0; i < 10; i++) { if (i == 5) { eraseIt = li.insert(li.end(), i); } else { li.push_back(i); } } li.pop_back(); li.erase(eraseIt); for (auto i = li.begin(); i != li.end(); ++i) { cout << *i << endl; }*/ test(List<int>()); } template<class T> void test(T) { T li; T::template iterator eraseIt; for (int i = 0; i < 10; i++) { if (i == 5) { eraseIt = li.insert(li.end(), i); } else { li.push_back(i); } } li.pop_back(); li.erase(eraseIt); for (auto i = li.begin(); i != li.end(); ++i) { cout << *i << endl; } } 해당 코드에서 main에서 주석으로 처리한 부분은 잘 되는데 template로 작성한 펑션이 끝나면 Invalid address specified to RtlValidateHeap 크래쉬가 나는데 이유가 궁금합니다.. ㅠ
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
eclipse 에서 디비 연결이 안됩니다
Mysql 로 연결은 성공했는데 eclipse에서 안되네요분명 com누르면 아래에 파란색 com이 떠야하는데 왜이러는지 모르겠어요 그래서 mysql 에서 호스트랑 포트 확인해봤는데 정상적으로 맞게 설정한게 보이는데 왜 안되는지 모르겠어요
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
Entity 상속관계 매핑 설정 시 request , edit , response 클래스 분리
안녕하세요! 호돌맨님 해당 강의를 보면서 토이프로젝트를 진행 중 질문이 생겨서 글을 씁니다.간단한 Quiz 맞추는 프로젝트를 만들고 있는데 Quiz 엔티티에 JPA 싱글테이블 전략 상속관계로 주관식 , 객관식 , 서술형으로 자식엔티티를 생성했습니다.자식엔티티를 생성 하고 보니 기존 Quiz의 Request , Edit , Response 클래스를 어떻게 변경해야하는지 답이 안 생겨서 이렇게 질문 드립니다. 🙇🏻♂️🙇🏻♂️🙇🏻♂️🙇🏻♂️자식 엔티티 각각 Request , Edit , Response 클래스 생성 -> 컨트롤러 파라미터에서 어떻게 받지? 컨트롤러 메서드로 분리시켜야하나? -> 그럼 프론트엔드에서는 더더욱 복잡해진다.기존 Quiz Request, Edit , Response 의 각각 자식 엔티티의 필드 추가 -> 컨트롤러 파라미터에거 받을 수 있고, 컨트롤러 메서드가 분리 필요 X -> 컨트롤러에서 데이터 검증은 어떻게 진행되는거지? 객관식인 경우 보기 필드가 필수값일텐데 보기 멤버 변수에 @NotBlank를 추가한다면 주관식이나 서술형 문제유형일 경우엔 오류가 나타나는 상황코드가 추가된 노션 링크 전달 드리겠습니다.https://devysk.notion.site/Entity-request-edit-response-c7433eccd6e24ee486a60bd59013a2a8
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
DetailVeiw 및 ListView.as_view() 파라미터 설정에 대한 질문
DetailVIew 및 ListView 에서as_view() 할때 model, template_name_field, template_name 등등 상속으로 받은 클래스 변수를 초기화 해줍니다.여기서 질문은제가 클래스를 만들어 위 내용에 동일한 클래스 변수 생성하여 다중 상속하고 classmethod를 선언하여 메소드에 상속 된 변수를 선언할려고 하는데 코어에 as_view() 처럼 무엇이 상속되었는지 표시가 나오지 않습니다. 해당 내용에 대한 해결 방법에 대해 질문드립니다.아래 내용은 스크린샷 입니다.코어에서 as_view()제가 만든 함수
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
V1, V2차이 그리고 @ModelAttribute 기능에 대해서 질문이에용 ㅠㅠ
V1, V2 에서 값을 잘못 입력했을때 addForm으로 넘어가잖아요 V1은 잘못 입력한 데이터가 유지되는데 V2는 왜 유지가 되지 않나요?V1@PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { //검증에 실패하면 다시 입력 폼으로 if (!errors.isEmpty()) { log.info("errors = {} ", errors); model.addAttribute("errors", errors); //model.addAttribute("item", item) <<자동추가되는거아님? return "validation/v1/addForm"; }V2public String addItemV1(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { //검증에 실패하면 다시 입력 폼으로 if (bindingResult.hasErrors()) { log.info("errors={} ", bindingResult); //model.addAttribute("item", item)<<자동추가되는거아님? return "validation/v2/addForm"; }V1,V2 모두 @ModelAttribute 애노테이션에 의해서 model.addAttribute("item", item) 이 추가 된 후 item이 addForm으로 넘어가서 둘 다 값이 유지 돼야 된다고 생각 하는데.........제가 어디서 놓치고 있는지 모르겠습니당 ㅠㅠ
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 자료 보내주세요~
강의 자료에 파일이 없습니다.fredy8262@gmail.com여기로 보내주시면 감사하겠습니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
포스팅 관련 질문 드립니다.
강사님 안녕하세요.내용이 너무 좋아서 블로그에 정리 하면서 듣고 싶은데, 혹시 PDF에 있는 자료 스샷과 강의 해주시는 내용을 정리해서 글을 올려도 될까요??만약 가능하다면 출처는 꼭 밝히겠습니다.!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
font awesome cdn script 태그, link 태그 적용
이전 강의들에서 font awesome의 아이콘들을 보고 미리 적용하고 싶어서 script 태그 넣을 위치를 찾는데요. CNA로 만든 프로젝트에는 index.html 문서가 없어서 nextjs에서 body 밖에서 html 태그 넣는 방법을 찾아보고 _document.tsx 라는 예약 파일을 알게되었습니다. 그 폴더 내에서 next/head가 아닌 next/document에서 불러온 Head 태그 내에다가 link 태그로 스타일 시트를 다운로드 받았는데이번 강의에서처럼 _app.tsx에 next/head에서 불러온 Head 안에 넣는 것과 차이가 있나요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
id를 다시 1부터 하고 싶어요
DB Browser에서 우클릭해서 '레코드 삭제'로 '모든 내용'을 삭제 시킨 다음 다시 id를 1부터 하고 싶은데 실제 마지막으로 사용됐던 id+1부터 쌓이는데 불편하네요 ㅠㅠ 어떻게 하면 1부터 시작할 수 있나요? 일부 삭제후 추가 할때는 당연히 마지막 id+1부터 추가되는게 맞긴한데, 다 날리고 싶을 땐 어떻게 하면 되는지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
webapp 디렉토리 역할
webapp 디렉토리는 정적 web 관련 파일들을 정리하는 것으로 수업을 들으며 이해할 수 있었습니다.기존에 Spring 입문 강의에서는 resources 디렉토리 내에 정적 web 관련 파일들을 모아놨었어서 헷갈리는 부분들이 조금 있습니다.webapp과 resources 디렉토리의 차이점이 무엇인지webapp, WEB-INF 등의 디렉토리 구조는 메이븐 프로젝트나 War로 패키징해서 배포하는 경우에 사용해야 하는 디렉토리 구조라는 내용을 구글링할 수 있었는데, 그러면 그래들 프로젝트나 jar 패키징 할 때는 꼭 지키지 않아도 되는건지자바 프로젝트 디렉토리 구조가 빌드 툴에 따라 어떻게 달라지는지 궁금합니다! 아직 자바 프로젝트 환경에 익숙하지 않다 보니, 디렉토리 구조가 헷갈려서 질문드립니다... 감사합니다.