묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시가 삭제되는 시점
아래 기존 질문에 대한 답글을 읽었습니다. 304를 위해서 바로 삭제하지는 않습니다. -> 캐시가 계속 쌓일 수는 없으니까 어느순간 삭제는 되어야 할 것이라는 생각이 듭니다. 삭제되는 시점이나 기준?! 이 언제가 되는 건가요??
-
미해결프로그래밍 시작하기 : 웹 입문 (Inflearn Original)
인스타그램 카드 만들기 질문 있습니다.
안녕하세요. 강의 잘 들었습니다. 마지막으로 인스타그램 카드만들기 듣고 있는데요. footer 영역할 때 boarder 부분이 저 같은 경우는 이상하네요. CSS 파일 에서 footer.card-comment input 에서 주는 padding 때문인 것 같은데요. 저만 왜 그런 걸 까요? Boxing Size 를 boarder 로 하면 될 것 같은데 footer에서는 못 본것 같아아서요. 혹시 몰라 footer 스타일 시트 부분도 같이 올립니다. 어떻게 해야 하는지 답변 부탁드려요. /* 푸터 */ footer.card-comment { position: relative; height: 55px; border-top: 1px solid #e0e0e0; } footer.card-comment input { width: 100%; height: 100%; border: 0; outline: 0; padding: 0 15px; color: #606060; } footer.card-comment > div { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); } footer.card-comment > div > button { color: #0095f6; opacity: 0.5; padding: 10px 5px; }
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
참조값 반환 질문
Rookiss님 답변에서 궁금한 점이 생겼습니다. 은닉성 답변에서 void main(){ Knight k; int& hp = k.GetHp(); //< 일단 문제는 없음} 이런 표현을 써주셨습니다. 제가 항상 헷갈리던게 반환형이 참조형이면 뭐가 반환되는가가 헷갈렸습니다. 예를 들어, class Knight { public: int _hp; int& GetHp() { return _hp; } }; int main() { Knight k; k._hp = 100; int a = k.GetHp(); int& b = k.GetHp(); return0; } 이런식으로 되어 있을 때 a와 b에서 일어나는 일의 차이를 잘 모르겠습니다 위 코드를 디스어셈블리로 살펴보면 int a = k.GetHp(); 00A71939 lea ecx,[k] 00A7193C call Knight::GetHp (0A710B9h) 00A71941 mov eax,dword ptr [eax] 00A71943 mov dword ptr [a],eax int& b = k.GetHp(); 00A71946 lea ecx,[k] 00A71949 call Knight::GetHp (0A710B9h) 00A7194E mov dword ptr [b],eax ==> 이 실행문이 a에 하나 더 있는 걸 제외하고는 차이가 없습니다. 00A71941 mov eax,dword ptr [eax] 1. 참조값을 반환 한다는게 뭘 반환해 준다는 건가요? - 예전 참조기초 강의에서 int* pointer = &number; 00BA2A59 lea eax,[number] 00BA2A5C mov dword ptr [pointer],eax *pointer = 2; 00BA2A5F mov eax,dword ptr [pointer] 00BA2A62 mov dword ptr [eax],2 int& reference = number; 00BA2A68 lea eax,[number] 00BA2A6B mov dword ptr [reference],eax 이 어셈블리를 통해 int*로 선언된 변수나 int&로 선언된 변수 모두 number의 주소를 담는 바구니라는 것을 확인했습니다. 위와 같은 사실로 제가 생각해 봤을 때, -> 제 생각 : 반환형이 int& 라면-> 참조값 &, 포인터처럼 주소를 담는 바구니는 돌려준다 -> 그 바구니를 따라가다보면 나오는 데이터는 int형이다. int a = k.GetHp()의 뜻 -> 바구니를 따라가다보면 나오는 int형 데이터를 복사해서 a라는 바구니에 대입해주겠다. int& b = k.GetHp()의 뜻 -> 00A7194E mov dword ptr [b],eax 여기서 eax가 return시 [_hp의 주소]를 가지고 있다는 것을 확인했습니다. (008550C9 call Knight::GetHp (08510B9h) 를 F11로 들어가 확인해봤습니다) 즉 b는 _hp의 주소를 가지는 변수이다 -> 그런데 왜 메모리에서 &b를 찍으면 b의 주소에 _hp의 주소가 뜨는게 아니고 100이라는 값이 정확히 뜰까? -> C++에서는 참조라는게 그렇게 작동하니까 결국 리턴 값이 참조형으로 되어있으면 리턴되는 변수의 주소값이 넘어오는 것이다. 위와 같은 결론이 맞는 생각인지 궁금합니다.
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
TypeError: 'bool' object is not callable 오류
코드 진행 중에 오류가 떴습니다. 강의를 보면서 따라했는데 뜨는 이유를 잘 모르겠습니다. 메소드와 변수의 이름이 같을 때 나타난다고 하는데, 잘 모르겠습니다.
-
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
게임 수학 dx 12 강의 출시에 대해서
삭제된 글입니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
reducer action처리에 관하여 질문드립니다
안녕하세요 . 강의를 듣던 도중 저도 다시 한번 코드를 복기해보다가 코드 상 오류가 있는 것은 아니고 흐름에 대해 궁금한 점이 있어 질문드립니다. 일단 제가 기억하기로는 saga와 reducer는 비동기적으로 작동하는 구조입니다. 제로초님 코드에서 PostForm에서는 reducer에서 addPost를 불러와서 request 액션을 전달해주고 그 request가 reducer와 saga로 보내주는 방식이라면, CommentForm에는 reducer에서 선언해놓은 addComment를 거치지 않고 바로 request액션을 전달해주어 Component에서 바로 saga와 reducer로 보내주는 구조를 갖고 있는 것을 보았습니다. 1. 이렇게 dispatch가 이렇게 action을 보내주면 바로 reducer가 처리하게 되는데 /reducers/post.js에 있는 addPost와 addComment의 존재 이유가 단지 가시성때문인가요? 2. 혹시 성능적으로는 크게 차이 없을것같지만 그런쪽에 이슈가 있을까요? reducer의 addPost는 사용하고 왜 reducer의addComment는 왜 사용하지 않았는지 궁금합니다. 3. dispatch에서 해당 데이터를 묶어서 보내는데 addPost처럼 보내기위해서 저는 아래 코드와 같이 데이터를 이렇게 묶어서 보내봤는데 더 좋은 방법이 있을까요? const onSubmitComment = useCallback( () => { const data ={ content: commentText, postId: post.id, userId: id } dispatch(addComment(data)); }, [commentText, id]); 어 사실 더 헷갈렸었는데 질문을 쓰면서 정리하다보니 어느정도 이해가 간 것 같습니다.. 감사합니다
-
[리뉴얼] React로 NodeBird SNS 만들기
게시글 업로드 오류
삭제된 글입니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
강사님 완강했습니다. 질문드려요
강사님 정말 감사합니다. 2번째 완강했습니다. 2번 들으니 확실히 이해되는것들이 훨씬 많았었어요. 강사님의 유튜브 채널에 올라와있는 mern-stack 헤로쿠 deploy 영상을 보고 저도 배포를 해봤습니다. 빌드 success 까지 잘되서 열어보면 index.js 에 작성한 Hello World 만 뜹니다.. 깃을 지우고 다시 해보기도하고 client에서 npm run build 도 여러번 해보고 해봐도 계속 이렇게만 뜨네요.. index.js 에 if (process.env.NODE_ENV === "production") ... 구문도 잘 넣어줬습니다. 무엇이 문제일까요.. 아래는 boiler plate 깃허브 주소입니다! https://github.com/yongmon01/review-project 혼자 도저히 해결이 안되서 질문드립니다 ㅠㅠ
-
미해결코딩테스트 전 꼭 알아야 할 개념과 문제(with 자바)
BFS 문제 질문
안녕하세요. BFS 강의를 보고 응용하여 타사이트 문제도 도전해서 풀어보면서 적용이 되는것에 재미를 느끼고 있습니다. 하지만, 약간의 응용문제를 풀려고 하니 쉽지않네요. ㅠㅠ 프로그래머스 문제 (카카오 컬러링북) 아래 링크 걸어두었습니다. https://programmers.co.kr/learn/courses/30/lessons/1829 -> 카카오컬러링북 BFS 문제인데 강사님께서 강조하시던 1. 마이너스 좌표체크 2. m*n 범위체크 3. grid[x][y] 값체크(문제제시값) 을 하면 해당범위에 잘걸리지않아 카운트가 잘 되지 않고 있습니다. ㅠㅠ 코드는 적어서 올려볼게요. 피드백 주시면 감사하겠습니다 ㅠㅠ * 추가적으로 0과 1이 아닌 아래 문제처럼 1, 2, 3 색깔별로 찾는 문제도 있으면 응용에 도움이 많이 될것같습니다. package com.algoStudy.algo0128;import java.util.Arrays;import java.util.LinkedList;import java.util.Queue;public class BFSTest_04 { // 카카오문제 public static void main(String[] args) { int m = 6, n= 4; int[][] grid = { {'1', '1', '1', '0'}, {'1', '2', '2', '0'}, {'1', '0', '0', '1'}, {'0', '0', '0', '1'}, {'0', '0', '0', '3'}, {'0', '0', '0', '3'} }; System.out.println(new BFSTest_04().solution(m, n, grid)); } // 전역변수 선언// int m,n = 0; // 가로 세로 구하기위해 셋팅 0,0 부터 시작이면 이미 선언되어있음 6x4 int[][] dirs = {{1,0}, {-1,0}, {0,1}, {0,-1}}; // 아래,위,오른,왼 int size = 0; public int[] solution(int m, int n, int[][] picture) { int numberOfArea = 0; int maxSizeOfOneArea = 0; // grid에 필요한 그림 그리기 및 영역 표시 확인 후 카운트 새기 for(int i=0; i<m; i++) { for(int j=0; j<n; j++) { if(picture[i][j] != '0') { // 값이 해당값에 포함되어있다면, 즉 영역이라면 증가시키고 bfs 칠해주기 size = 0; numberOfArea++; // 육지 갯수 카운트 bfs(picture, m, n); // 남은영역 0 칠해주기 if(maxSizeOfOneArea < size) maxSizeOfOneArea = size; } } } int[] answer = new int[2]; answer[0] = numberOfArea; answer[1] = maxSizeOfOneArea; System.out.println(Arrays.toString(answer)); return answer; } private void bfs(int[][] grid, int x, int y) { // bfs는 큐방식을 선언해주는게 이상적 Queue<int[]> que = new LinkedList<>(); que.offer(new int[] {x,y}); while(!que.isEmpty()) { // 값이 있으면 int[] point = que.poll(); // 즉시 빼기기 // 방향 찾아서 0으로 칠하기 for (int[] dir : dirs) { int x1 = point[0] + dir[0]; int y1 = point[1] + dir[1]; // 1. 마이너스 좌표체크 2. m*n 범위체크 3. grid[x][y] 값체크(문제제시값) if (x1 >= 0 && y1 >= 0 && x > x1 && y > y1 && grid[x1][y1] != '0') { grid[x1][y1] = '0'; que.offer(new int[] {x1, y1}); size++; } } } }}
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
계속 의문이 듭니다
이전강의에서 부터 좀 의문이 가던 건데 유니티 문서를 찾아보니까 더 헷갈려서요 지금 구조가 InputManger.OnUpdate() - 키보드/마우스가 눌러졌는지 감지 (Input.anyKey 혹은 Input.GetMousebuttonDown을 사용) 각 Input마다 정의된 Action을 Invoke 각 Action을 구독하고 있는 함수들에게 Event 발생을 알림 (현재로선, PlaterController.cs의 OnKeyBoard(), OnMouseClicked) 거기다 Manager.cs에서 각 매니저들의 인스턴스를 들고 있고 Manager.cs의 Update() 속에서 _input.OnUpdate()를 불러주도록 되어있습니다 이런 구조랑 설명에 대해서 이해는 가거든요 나중에 디버그 할 때나 기능을 추가할 때, 딱 필요한 부분만 찾아서 거기서만 작업해주겠구나 하는 느낌은 드는데 100% 납득이 안갑니다 굳이 이렇게까지 많이 쪼개야 하나 하고요 아직 기능이 많이 추가 된게 아니라서 이렇게 쪼개는 단계가 너무 많아 보여서 그런걸까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
간단한데 이해가 안가서 질문 드립니다.
main>java>com.gamja.gamja 패키지 안에 HelloController.java를 다음과 같이 작성하고 package.com.gamja.gamja; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Hello, world!"; } } 같은 패키지 안에 있는 기본 제공되는 GamjaApplication을 실행했을 때 (프로젝트 명이 Gamja입니다.) package com.gamja.gamja; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class GamjaApplication { public static void main(String[] args) { SpringApplication.run(GamjaApplication.class, args); } } HelloController.java에 있는 return값이 locahost:8080에 출력되는 것은 이유가 뭔가요? GamjaApplication 클래스와 생성된 HelloController클래스 간의 연관성이 궁금합니다 ㅠㅠ
-
미해결인터랙티브 웹 개발 제대로 시작하기
11분 45초에서 강의 backface-visibility
강의에서는 오류 발생하여 .card-side에다가 backface-visibility;를 해 줬는데 저 같은 경우에는 사용하지 않아도 정상적으로 작동합니다. 오류없이 정상적으로 backface-visibility를 써주지 않아도 상관이 없을까요??
-
미해결스프링 핵심 원리 - 기본편
수정자 자동주입
//수정자 자동 주입 @Autowired public DiscountPolicy setDiscountPolicy(@MainDiscountPolicy DiscountPolicy discountPolicy) { return discountPolicy; } 소스코드에 이런시으로 되어있던데 setter 주입하려면 this.dicountpolicy = discountPolicy 이렇게 적어줘야 한ㄴ거 ㅇ아닌가요 ? return discountPolicy 로 적힌 이유가 궁금합니다. 저렇게해도 자동주입이 가능한가요?
-
미해결스프링 핵심 원리 - 기본편
@component와 @quailifier
두개다 ()에 옵션으로 이름을 지정해줄 수 있는데 컴포넌트는 빈 이름을 설정해줄 수 있는거로 알고있고 구분자도 ()에 이름을 지정해서 그것도 충돌하면 빈 이름으로 찾는다 라고 알고있습니다. 둘의 차이가 궁금합니다... 굳이 qualifier 을 써주는 이유가 있나요?
-
미해결더 자바, Java 8
Optional 을 인스턴스 필드 타입으로 쓰지 말자
안녕하세요 백기선님, 13분 40초즈음 부터 나오는 설명에 대해 좀 더 궁금해서 문의드립니다. 인스턴스 필드 타입으로 옵셔널을 쓰면 더 명확해서 null 체크에도 도움이 되겠다 싶었는데요, 강의에서는 사용하지 말 것을 추천하셔서요. 어떤 이유로 도메인 설계에 좋지 않은 것인지, 구체적인 회피 방법(말씀해주신 델리게이션을 실제로 구현하는 방법도 궁금합니다) 은 무엇인지 궁금합니다. 감사합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
질문있습니다. 수업 잘보고 있습니다!
안녕하세요. 수업이 좋아서 하루 2문제씩 풀고 있는 직장인입니다. 혹시나해서 s.toUpperCase() 를 써봤는데 이거도 되던데 이 방법은 별로인가요?
-
해결됨R로 배우는 통계
감사합니다.
프로그래밍 전공인데.. 빅데이터가 하고싶어서 R을 공부중이에요. ADsP도 준비하고있구요. 조금 놀랬던건, 자격증 준비하는 책에도 그렇고 인터넷 강의들도 그렇고 다소 붕뜬 느낌이 있었어요 (기초를 안알려주는?..) 그래서 이렇게 기초이론부터 알려주는 강의를 찾고있었는데 드디어 찾은거 같아서 너무 기쁘네요ㅠㅜㅜㅠㅜ 아 참 질문은, 이 강의를 다 듣고나면 어떤 강의를 듣는게 좋을까요? 추가로 수리통계학을 독학을 할까하는데 도움이 될만한 자료가 있을까요?? 좋은 강의 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
오류 문의 드립니다.
안녕하세요 강사님. 강의 잘 보고 있습니다. redux-saga 적용 중 코딩을 마치고 저장 후 실행해 보니 다음과 같은 오류가 발생하여 이미지 첨부해 드립니다. 코드는 아래와 같습니다. https://github.com/wkdgus1164/zerocho-next/tree/redux-saga/prepare/front 제가 작성했던 코드에서 발생하는 에러이면 오타를 찾아볼 텐데 제가 작성한 코드가 아닌 것 같아서 상세한 내용 없이 질문 올려드리는 점 너무 죄송합니다 ㅜㅜ.
-
해결됨실전 리액트 프로그래밍
강의를 따라 공부중인데 어디서 막혔는지 모르겠습니다.
키보드 조작하는 부분까지 강의를 따라 만들어둔 상태입니다. (스코어 부분 시작 직전까지, 약 37분 45초까지) * 키보드 동작을 넣기전에는 4x4 셀을 그린 후 두 곳에 랜덤하게 숫자2를 표현하였습니다. * 키보드 동작까지 완료 후 4x4 셀을 그린 후 아무런 타일이 생성되지 않고 있습니다. 키보드 동작시에 에러도 없습니다. 강의 진행 중 아무런 에러도 발생하지 않고 코드를 역추적해가며 살펴봐도 어디 부분에서 잘못을 했는지 찾아지지가 않습니다 ㅠㅠ 도움이 필요합니다! * 깃에 올려둔 코드 주소입니다( https://github.com/Doha-Dev/game2048.git )
-
미해결홍정모의 따라하며 배우는 C언어
scanf와 whitespace 관련 질문드립니다.
안녕하세요:) scanf도 getchar() 처럼 입력 받은 것을 버퍼에 넣어놓는다고 하셨는데요. getchar은 띄어쓰기도 하나의 문자로 입력 받는 것을 볼 수 있었습니다. 예를 들면 ab c를 입력 했을 때 a/b/ /c 이렇게 네 개가 입력이 되듯이 말이죠. 그렇다면 scanf도 scanf("%d %d", &rows, &cols); while (getchar() != '\n') continue; 에서 예를 들어, 5 2라고 입력 받았다면 5/ /2 이렇게 띄어쓰기를 포함해 세 개를 입력 받게 될텐데요. 이때는 띄어쓰기가 두번째 %d로 들어가지 않고 띄어쓰기를 무시하고 2가 대신 들어갑니다. 이전의 다른 분 질문 답변에서 "scanf는 %c 로 받지 않는 이상은 whitespace를 무시합니다. " 라고 하셔서 무시한다는 것은 알았습니다. 그런데 이와 같이 무시하는 것이 입력받은 것과 scanf에서 입력받은 %(자료형)이 서로 맞지 않을 경우, whitespace 뿐만 아니라 모두 무시하는 것인가요? 아니면 특별히 whitespace만 무시하는 것인지 궁금합니다. 감사합니다!