묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결플러터와 장고로 1시간만에 퀴즈 앱/서버 만들기 [무작정 풀스택]
vscode에서 자동으로 코드 정렬
안녕하세요! 좋은 강좌 감사합니다. 강의 중간 중간 코드 정렬과 주석을 해제하는 것을 볼 수 있는데 이 둘의 단축키를 알 수 있을까요...? 윈도우 vscode를 사용중입니다!!
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
타입스크립트
안녕하세요 선생님. 강의를 듣는데 있어 타입스크립트를 어느 정도 공부하는게 좋을지 조언을 받고 싶습니다. 정말 기본적인 문법을 익힌 정도로 들어도 무방할 지 아니면 선생님의 강의인 node + typescript 강의를 듣고 이 강의를 다시 들을지 고민입니다. 감사합니다
-
미해결홍정모의 따라하며 배우는 C++
내부클레스의 friend선언 중 errorC2511
안녕하세요, C++을 수강하는 타전공 학생입니다. 항상 양질의 강의와 수준높은 커뮤니티 질답에 감탄하며 감사히 수강하고 있습니다. 8.12 친구 함수와 클래스 friend강의의 마지막 부분에서 문득 한 클래스에만 friend 키워드를 쓰면 그 클래스의 내부 클래스에 저장된 private 멤버도 접근 가능하게 되는지 궁금해져서 다음과 같이 실험해보았습니다. #include <iostream> using namespace std; class A; // forward declaration class B { private: int m_value = 2; public: void doSomething(A& a, A::C& c); }; class A { private: int m_value = 1; public: // ---내부 클래스 C 추가---- class C { private: int m_value = 3; friend void B::doSomething(A& a, A::C& c); // 오류 발생! }; //-------------------------- friend void B::doSomething(A& a, A::C& c); // 오류 발생! }; void B::doSomething(A& a, A::C& c) { cout << a.m_value + c.m_value << endl; } int main() { A a; B b; A::C c; b.doSomething(a, c); return 0; } 클래스 A에 private멤버를 가진 내부 클래스 C를 추가하고 doSomething함수를 A와 C의 private멤버 둘다 사용하도록 조금 바꿨습니다. 주석 표시한 곳에 클래스 B내 doSomething멤버함수에 대한 선언이 incompatible하다는 오류가 발생합니다. 그리고 컴파일 해보니 어마어마한 컴파일에러가 나오는데, 근본적인 에러는 아래인거 같습니다. error C2511: 'void B::doSomething(A &,A::C &)': overloaded member function not found in 'B' 오버로드될 여지가 없어보이고, 함수이름, 파라미터를 토씨하나 안틀리고 복붙했는데.. 왜 이런 오류가 나는 걸까요? 위 오류가 난 두 줄을 friend class B;로 바꾸면 IDE상에선 오류가 없지만 여전히 위 컴파일에러가 뜨네요. 한편 궁금증으로 돌아가서, 첫 번째 오류 줄인 friend void B::doSomething(A& a, A::C& c);을 지워봤습니다. doSomething함수 내에서 A::C의 private멤버를 접근할 수 없다고 하는 것을 보니 내부 클래스 역시 따로 friend선언을 해주어야 하는거 같은데.. 오류가 떠서 확인할 수는 없었습니다.
-
미해결홍정모의 따라하며 배우는 C++
포인터 벡터에 대해 질문이 있습니다
class Lecture { private: vector<Student*>studnets; } 10분 40 초쯤에 선생님께서 Lecture class 가 사라지면 students instance 는 사라진다 하지만 student* 포인터가 가리키고 있는 원래 주소에 있는것들은 그대로 유지된다고 하셨는데 그렇다면 그 주소에 있는것들은 나중에 delete 을 사용하여 없애주어야하는거 아닌가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
강의코드관련 질문드립니다
제가 복습과 공부기록용으로 티스토리블로그를 하고있습니다. DirectX강의에 나오는 코드들을 블로그에 올려도 괜찮을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계 주인 위배?
안녕하세요. 강사님. 강의 너무 잘 듣고 있습니다. 이번 Cascade, OrphanRemoval 강의를 들으면서 떠오르는 의문점이 하나 있어 질문 드립니다. 이전 "연관관계 주인" 강의에서 외례키가 있는 쪽이 주인이 되고 mappedBy를 선언한 쪽은 readOnly로 사용하는 것이 좋다고 말씀하셨는데요. Cascade와 OrphanRemoval 기능을 사용하게 되면 mappedBy를 선언한 쪽에서 자식을 관리하게 되면서 연관관계 주인이 뒤바뀌는 느낌이 들었습니다. 좋은 기능인 것 같지만 이렇게 사용하면 부모를 조작했는데 자식과 관련된 Query가 나가게 되므로 혼돈이 생기진 않을까 하는 생각이 들었습니다. 제가 잘못 이해하고 있는 것인지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName 관련 에러
package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.junit.jupiter.api.Assertions;import org.junit.jupiter.api.Test;import static org.assertj.core.api.Assertions.*;public class MemoryMemberRepositoryTest { MemberRepository repository = new MemoryMemberRepository(); @Test public void save() { Member member = new Member(); member.setName("ianstream"); repository.save(member); Member result = repository.findById(member.getId()).get(); Assertions.assertEquals(result, member); assertThat(member).isEqualTo(result); } @Test public void findByName() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); // member1 을 찾으면 에러가 나는데 왜일까..? Member result = repository.findByName("spring2").get(); assertThat(result).isEqualTo(member2); }} 위 코드로 테스트 하면 에러가 안납니다. 그런데 아래와 같이 spring1 을 찾으면 에러가 나네요.. package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.junit.jupiter.api.Assertions;import org.junit.jupiter.api.Test;import static org.assertj.core.api.Assertions.*;public class MemoryMemberRepositoryTest { MemberRepository repository = new MemoryMemberRepository(); @Test public void save() { Member member = new Member(); member.setName("ianstream"); repository.save(member); Member result = repository.findById(member.getId()).get(); Assertions.assertEquals(result, member); assertThat(member).isEqualTo(result); } @Test public void findByName() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); // member1 을 찾으면 에러가 나는데 왜일까..? Member result = repository.findByName("spring1").get(); assertThat(result).isEqualTo(member1); }} member1 과 비교하도록 수정도 했는데요.. 아래와 같이 나옵니다 무슨 이유일까요..?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다
삭제된 글입니다
-
미해결홍정모의 따라하며 배우는 C언어
비트연산자질문입니다
#include<stdio.h> int main(void) { printf("AND:%8X\n",0x9&0xA); printf("OR : %8X\n", 0x9 | 0xA); printf(:XOR : %08X\n", 0x9 ^ 0xA); printf("NOT : &08X\n", -0x9): } 출력값이 AND : 00000008 OR : 0000000B XOR : 00000003 NOT : FFFFFF6 로 나오는데, 이유를 알 수 있을까요 ? 비트연산자 논리연산이 이해가 안가네요 ㅠㅠ
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
테스트 커버리지 파일 이름
npm run coverage를 통해 테스트 커버리지를 이용하면 위 사진과 같이 파일 이름이 ...으로 나오는 현상이 계속 발생하는데 혹시 해결 방법이 있을까요???
-
미해결Vue.js + TypeScript 완벽 가이드
두 번째 리포지토리 권한 부탁드립니다.
github: msjulyone@gmail.com email: msjulyone@gmail.com
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿에 대해서 질문있습니다!
서블릿이 싱글톤으로 하나만 생성된다는 것은 알겠는데 만약 url로 /hello, /spring 이렇게 다르게 요청이 올 경우는 싱글톤 서블릿 2개 가 생성된다고 보면 되나요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요
안녕하세요 선생님 ㅎㅎ 프로그래머스 문제를 한번 풀어봤는데 궁금한게 생겼습니다. 프로그래머스는 solution이라는 함수에서 정답을 return 해야 합니다. 저희는 DFS 문제 풀이 할때 main에 있는 변수에 직접 접근 가능 했습니다. 하지만, 프로그래머스에서는 DFS함수에서 solution함수 변수에 접근 불가능 합니다. 이럴 경우, DFS함수 호출시 매개변수로 넘겨 주는게 맞나요?
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
새로고침시 로그인 안되면
혹시나 새로고침시 토큰값은 있는데 페이지가 초기화 되시는분들 saga에서 headers 부분이 대문자 Headers로 되어있지 않나 확인해보세요 소문자로 변경시 유지됩니다. 그러나 원인은 정확히 모르겠네요.. 다른 건 대문자도 동작하던데 아마도 제가 생각하는 원인은 jwt내에서 대문자만 허용하는것 같은데, 강사님 알려주세용
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
리액트 개발 스펙에 대해 질문 있습니다.
실무에서 프론트 엔드 개발할때 next js 리엑트 리덕스 리덕스 사가 antd immer , swr 이정도는 그대로 사용해도 되나요? 그리고 ts 도 적용하는게 좋겠죠? 이외에 어떤 스펙으로 개발하는게 추천할만한지 알려주시면 감사요
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
build 후 start 명령어 후 웹 실행시 속도
삭제된 글입니다
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
css 질문
안녕하세요. start.js 파일을 보면 begin함수에 main.style.WebkitAnimation 및 main.style.animation을 사용하셨습니다. 조금 이해가 안가는데 이 코드의 뜻이 main변수에 style을 적용할건데 animation이라는 이름의 css파일을 적용해라. 라는 뜻이 되는건가요?
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
파일 세분화에 관하여
안녕하세요. 궁금한 것이 있어서 질문 드립니다. css나 javascript 코드를 작성하실 때 파일은 굉장히 세분화해서 적용을 하시던데 (ex. animation.css / default.css / main.css / qna.css 등등) 이렇게 파일을 세분화해서 적용을 하면 어떤 점에서 더 좋은건가요? 유지보수 때문인가요? 그리고 javaScript 또한 index.html에 직접 작성하는 것이 아니라 파일을 따로 만들어서 링크를 적용하시는 것도 유지보수를 위해서 이렇게 하시는건가요? 감사합니다.
-
미해결홍정모의 따라하며 배우는 C++
int **mat = new int *[row] 제가 잘 이해한거 맞나요?
int **mat = new int *[row]; for (int r = 0; r < row; ++r) { mat[r] = new int[col]; } 이 부분이 이해하기 진짜 어려웠습니다.. 1번 봤을떈 이해가 안갔습니다 그래서 동적할당을 이해못해서 그런가해서 다시보고 생각하면서 코드 하나하나 다시 뜯어서 보고 다시 영상 보면서 코드를 보니까 아래처럼 이해를 했는데 이게 맞는걸까요? const int row = 3; const int col = 5; const int arr[row][col] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15} }; //출력하기 위해선 초기화를 해줘야됨 int **mat = new int *[row]; // int *[3]크기의 메모리 할당 / 초기화 //const int arr[row][col] ={1~15} 초기화 해주기 for (int r = 0; r < row; ++r) // 3반복 { mat[r] = new int[col]; //int *r1 = new int{1,2,3,4,5};처럼 초기화를 해야하는데 //하나하나 다 해줄 수 없으니 int *[5] 크기의 메모리 즉 [col]5개를 3번 반복해서 [r]에 1~15를 저장해줌 } for (int r = 0; r < row; ++r) // row 열 만들기 3 { for (int c = 0; c < col; ++c) // col 열 만들기 5 { mat[r][c] = arr[r][c]; //mat[0~2][0~4] } } //출력용 for (int r = 0; r < row; ++r) { for (int c = 0; c < col; ++c) { cout << mat[r][c] << " "; } cout << endl; } //delete for (int r = 0; r < row; ++r) { delete[] mat[r]; }
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
메모리풀에서 16바이트 정렬에 관해 질문드립니다.
안녕하세요 강의 공부하던 중 메모리풀에서 16바이트 정렬을 하는 부분이 있었습니다. 다만 왜 구조체를 16바이트 정렬을 하는지.. 16바이트 정렬을 하면 어떻게 되는건지 성능 향상이 있는건지 이런 부분에 대한 궁금증이 생겼습니다. 이에대한 설명 부탁드립니다.