묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
인텔리제이 질문입니다
삭제된 글입니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Disconnect시
Disconnect시 _disconnect 변수를 1로 바꿔줘서 연속해서 연결해제에 문제가 안생기도록 하는 것은 이해가 됐습니다. 그런데 이제 0으로 다시 초기화를 안시켜줘도 되는지에 대해 궁금합니다. 이 Session Class를 재활용을 안하는 것인지 아니면 굳이 해줄 필요가 없는 것인지 알고 싶습니다.
-
미해결팀 개발을 위한 Git, GitHub 입문
안녕하세요 강사님
삭제된 글입니다
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
개발을 처음 공부하는 사람의 공부기록 작성법
안녕하세요. 현재 html과 css를 듣고 있는데 매일 강의를 듣고 이를 벨로그에 정리하는 식으로 정리를 해보려다보니 단순히 강의내용을 복사붙여넣기 하는 느낌의 저질의 블로그가 탄생했습니다. 다시 강의내용을 복기하는 차원에선 좋은데 이런 걸 원하는게 아닐거라는건 다른 개발자님들의 어려운 내용을 설명한 블로그들을 봐도 대충은 알 것 같습니다. 링크 달아주신 것도 봤는데 자신의 언어로 정제하여 블로그를 작성해야 한다는게 정확히 감이 안잡힙니다. 제가 이해한 다음 남한테 설명하듯이 작성해야 한다는데 기초적인 html과 css를 듣고 있어서 그런건지 강의 내용을 정리하는 수준에 그치는데.. 말이 횡설수설 됐는데 정리하자면 초심자가 공부하면서 스터디 블로그를 어떻게 작성할지 감이 안잡힙니다. 그리고 인강을 어떻게 효율적으로 들을 지 모르겠습니다. 인터넷 강의를 멈춰가면서 하나하나 필기하니 강의 하나 듣는데도 엄청난 시간이 걸리고, 그걸 또 블로그에 정리하려니까 진도가 너무 느려집니다. 전형적인 문과생의 교수님 말씀 하나도 뺴먹지 않고 필기하고 시험을 위한 공부 방식인데 이건 너무 비효율적으로 하고 있는 것 같습니다.
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
promise, async await
정말 많은 감탄과 재미를 느끼며 공부를 하고있습니다. 감사합니다. 수업에서 promise, async await으로 각각 mongoose.connect 로직을 수행하였을 때, promise는 mongoose.connect 아래의 로직들이 수행되었다가 mongoose.connect 연결이 완료되면 then을 통해 로직이 구현됬고, async await으로 하면 아래의 로직들이 수행이 되는 것을 막고 mongoose.connect 로직이 끝내면 아래의 로직이 수행되었잖아요. async await이 promise 기반으로 만들어졌다고 알고 있었는데 이러한 기능적인 차이를 둔것은 개발자가 목적에 맞게 둘 중에 하나를 쓰게 하기 위해 차이를 둔것인지 묻고 싶습니다. 또한 const server = async() => { } 함수로 묶어서 mongodb가 먼저 연결되도록 구현하였는데 이 방법이 신선하게 다가왔습니다. 실무에서도 이와 같이 구현을 하나요?? 감사합니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
manyToMany 관계에서 삭제
삭제된 글입니다
-
해결됨자바스크립트 비기너: 튼튼한 기본 만들기
와 진심으로 소름돋았습니다.
평소라면 생각없이 쓰던 메소드들이었는데 자바스크립트는 이런 원리로 작동하고있었군요. 진짜 이번강의는 듣는 내내 소름 돋으면서 봤습니다. "자바스크립트는 프로퍼티다!!"
-
미해결웹 게임을 만들며 배우는 React
안녕하세요! 질문드립니다.
자식 컴포넌트가 모두 PureComponent or memo를 사용할 경우 부모 컴포넌트도 사용할 수 있는 것으로 이해하였는데요, 자식 컴포넌트가 2레벨 이상(부모,자식,손자,..) 있을 경우 중간에 있는 하나의 자식 컴포넌트만 Component+shod...로 변경하거나 memo를 제거하는 경우 연결되어 있는 모든 컴포넌트도 다 수정해주어야 하는 것일까요?? 강의는 항상 잘보고있습니다 감사합니다 ㅎㅎ
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문이 있어요 선생님!
선생님, 안녕하세요? 저는 dfs를 통해서 조합을 각각 만들어내고, (x좌표,y좌표,움직인횟수) 그 조합을 대하여 큐에 넣어준 이후 dfs를 돌렸습니다. 큐에서는 fcfs로 어차피 1을 먼저 만나게 되는 정보로 방문처리해주면 그 #include<iostream> #include<queue> #include<math.h> #include<algorithm> using namespace std; int map[51][51]; bool visited[51][51]; int N, M; int dx[4] = { 1,-1,0,0 }; int dy[4] = { 0,0,1,-1 }; typedef struct node { int x; int y; int cnt = 0; }Node; queue<Node>Q; Node piz[2501]; int pcnt = 0; int pizza[2501]; int flag = 0; int mini = 10000; void BFS() { int cres = 0; Node current; while (!Q.empty()) { current.x = Q.front().x; current.y = Q.front().y; current.cnt = Q.front().cnt; Q.pop(); //printf("current x : %d y : %d cnt : %d\n\n", current.x, current.y, current.cnt); if (map[current.x][current.y] == 1) { cres += current.cnt; //printf("cres : %d \n\n", cres); } else { for (int i = 0; i < 4; i++) { int x = current.x + dx[i]; int y = current.y + dy[i]; int c = current.cnt + 1; if (x >= 1 && y >= 1 && x <= N && y <= N && !visited[x][y] && map[x][y] == 1) { visited[x][y] = true; Node next; next.x = x; next.y = y; next.cnt = c; //printf("next x : %d y :%d cnt : %d\n\n", next.x, next.y, next.cnt); Q.push(next); } if (x >= 1 && y >= 1 && x <= N && y <= N && !visited[x][y] && map[x][y] == 2) { visited[x][y] = true; Node next; next.x = x; next.y = y; next.cnt = c; //printf("next x : %d y :%d cnt : %d\n\n", next.x, next.y, next.cnt); Q.push(next); } if (x >= 1 && y >= 1 && x <= N && y <= N && !visited[x][y] && map[x][y] == 0) { visited[x][y] = true; Node next; next.x = x; next.y = y; next.cnt = c; //printf("next x : %d y :%d cnt : %d\n\n", next.x, next.y, next.cnt); Q.push(next); } } } } if (mini > cres) { mini = cres; } for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { visited[i][j] = false; } } } void DFS(int start, int level) { if (level == M) { //printf("<<<start>>>\n\n"); for (int i = 0; i < M; i++) { visited[piz[pizza[i]].x][piz[pizza[i]].y] = true; //printf("x : %d y : %d \n\n", piz[pizza[i]].x, piz[pizza[i]].y); Q.push(piz[pizza[i]]); } BFS(); } else { for (int i = start; i < pcnt; i++) { pizza[level] = i; DFS(i + 1, level + 1); } } } int main() { ios_base::sync_with_stdio(false); cin >> N >> M; for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { int input; cin >> input; map[i][j] = input; if (input == 2) { Node start; start.x = i; start.y = j; start.cnt = 0; piz[pcnt++] = start; } } } DFS(0, 0); printf("%d", mini); } 이후 중복의 여지도 없을 것이라 생각했구요, 아무튼 1을 만나게 되면 그 때의 이동값을 누적하는 방식으로 해결했씁니다. 아마 이거 백준에 비슷한 문제있었던 거같은데요 이 문제에서는 3번 케이스에서 유일하게 시간 초과가 나는군요ㅜㅜㅜㅜ 어떤 점이 문제일 지 궁금합니다 선생님.ㅜㅜ!
-
미해결실전! 스프링 데이터 JPA
EntityGraph 메서드 이름으로 쿼리 생성 질문
안녕하세요! 복습하다가 조금 의아한 부분이 있어서 질문드립니다. 19:20 초 메서드 이름으로 쿼리 생성에 페치 조인을 시켜주기 위해 @EntityGraph를 붙여주신 부분에서 질문입니다. 여기서 파라미터에 @Param을 붙여주는 이유가 뭔가요? @Param은 @Query방식에서 파라미터 바인딩하려고 사용했는데 메서드 이름으로 쿼리 생성해주는 경우에는 사용할 필요가 없는게 아닌가 해서 질문드립니다. 만약 여기서 @Param을 붙여줘야 하는게 맞다면 메서드 이름으로 쿼리 생성에서 설명해주셨던 List<Member> findByUsernameAndAgeGreaterThan(String username, int age); 에서는 @Param을 붙이지 않으셨는데 어떤게 맞는 걸까요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
closure_ex2()의 에러 문의
안녕하세요, 수업 잘 듣고 있는 수강생 중 하나 입니다. closure_ex2()에서 발생한 nonlocal 없음으로 인한 에러를 보고 몇가지 테스트를 해보고 제가 이해한 바가 맞는 건지 문의드립니다. 상위함수의 free variable region에서 cnt의 id 값을 print해보고, 내부함수 내용을 모두 지우고 cnt의 id를 print 해보니 free variable region의 cnt와 동일한 id 값을 확인할 수 있었습니다. 마치, 자바스크립트의 런타임 전에 변수가 먼저 선언된 후 런타임에서 변수에 값이 할당되는 것과 메커니즘이 같다는 생각이 들었습니다. 그래서 내부 함수에서 cnt = 3으로 할당한 후 id 값을 print 해보니 그때에는 free variable region과는 다른 id값이었습니다. 다른 질문의 답변에서 mutable과 immutable의 차이 때문이라고 하신 것보다 좀 더 깊게 이해하자면 스코프와 변수의 선언과 할당의 다른 시점에 의해 발생한 에러라고 생각이 됩니다. 내부함수에서 (cnt = cnt + 1 또는 cnt += 1 )라고 쓴 부분에서 cnt라는 변수가 런타임 이전에 선언되고 런타임에서 cnt + 1 을 수행하는데 선언만 되고 할당이 안되어 있기 때문에 reference error가 발생했다고 생각이 되는데요. 제가 이해한 바가 맞는지요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
@Managers가 2개 이상 있으면 어떻게 되는건가요?
안녕하세요 강의 너무 재밌습니다.! 그런데 하이어라키에서 오브젝트 이름을 바꾸어보니, 오브젝트의 이름이 중복되는 것에 제한이 없는 것 같은데, 같은 이름의 오브젝트가 2개 이상 있으면 GameObject.Find("")는 어떻게 작동하는건가요?
-
미해결야곰의 iOS 프로그래밍
제공된 코드블럭 파일
제공된 코드블럭 파일이 6-3-8까지만 작성이 되어있고 6-3-9부터는 없어요
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
프로그램
저는 기본적으로 jdk와 이클립스, 톰캣, 오라클 11g가 설치되어 있는데 이 프로그램으로 해도 수업을 할 수 있는지 궁금합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
while문 하나만 사용해서 구현해보았는데 검수 부탁드립니다!
<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(m, arr) { let answer = 0; let sum = 0; let li = 0; let ri = 0; while (true) { if (sum < m) { sum += arr[ri]; ri++; } else { sum -= arr[li]; li++; } if (sum === m) { answer++; } // ri가 arr.length 이상이고, sum이 m보다 작아지면 반복문 종료 if (ri >= arr.length && sum < m) break; } /**/ return answer; } console.log(solution(6, [1, 2, 1, 3, 1, 1, 1, 2])); console.log(solution(6, [1, 1, 1, 2, 4])); console.log(solution(2, [1, 1, 1])); </script> </body> </html> 안녕하세요, 선생님! 강의 잘 듣고 있습니다. while문 하나만 이용하여 O(n)으로 구현해보았는데 오류가 있는지 확인해주시면 감사드리겠습니다!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다.
선생님, 안녕하세요 선생님께서는 dp배열갱신하실 때 주어진 높이와 너비에서부터 시작을 하셨는데 저와 같은 경우는 i=1 j=1 즉 1,1시작점에서부터 시작을 하되 i+h가 H를 넘어서지 않고 j+w가 W를 넘어서지 않는 조건, 그리고 i-1>=1 j-1>W인 조건 이 두 조건을 충족하는 범위 내에서만 dp를 갱신하도록 해줬는데요 이게 선생님 방식보다 어떤 면에서 비효율인지 궁금합니다. 심지어 case 2는 틀렸다고 나오네요ㅜㅜㅜㅜ문제가 뭘까요? #include<iostream> #include<stdio.h> #include<queue> #include<vector> using namespace std; int H, W; int map[701][701]; int dp[701][701]; int dp2[701][701]; bool visited[701][701]; int h, w; int main() { cin >> H >> W; for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { cin >> map[i][j]; } } cin >> h >> w; dp[1][1] = map[1][1]; for (int i = 2; i <= H; i++) { dp[i][1] = dp[i - 1][1] + map[i][1]; } for (int i = 2; i <= W; i++) { dp[1][i] = dp[1][i - 1] + map[1][i]; } /*printf("\n"); for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { printf("%d ", dp[i][j]); } printf("\n"); }*/ for (int i = 2; i <= H; i++) { for (int j = 2; j <= W; j++) { dp[i][j] = map[i][j] + (dp[i][j - 1] + dp[i - 1][j]) - dp[i - 1][j - 1]; } } //printf("\n"); //for (int i = 1; i <= H; i++) { // for (int j = 1; j <= W; j++) { // printf("%d ", dp[i][j]); // } // printf("\n"); //} //printf("\n"); ////이 부분이 질문입니다!!!!!/////// int ans = -1; for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { if (i + h <= H && i + w <= W && i - 1 >= 1 && j - 1 >= 1) { dp2[i][j] = dp[i + h - 1][j + w - 1] + dp[i - 1][j - 1] - dp[i - 1][j + w - 1] - dp[i + h - 1][j - 1]; if (ans < dp2[i][j]) { ans = dp2[i][j]; } } else { continue; } } } printf("%d", ans); }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Singleton 패턴 관련 문의
안녕하세요. 강의 잘 듣고 있습니다. 제가 Singleton 패턴을 잘 이해한 것인지 헷갈려서.. 아래와 같이 메모해 두었는데 제대로 이해한 것일까요? //그러니까 // Manager s_instance = new Manager(); 이게 안되니까 // go라는 GameObject를 만들어 @Managers 라는 GameObject를 생성해 집어넣던지 있으면 찾아넣던지 하고 // @Managers에 Managers클래스(스크립트)를 컴포넌트로 같다붙인 뒤 // Managers 클래스의 static instance인 s_instance에다가 // @Manager라는 GameObject에 붙어있는 컴포넌트 -> Managers 클래스를 집어넣음으로써 // 결과적으로 Managers의 static instance인 s_instance에다가 // Managers 를 갖다넣음 즉 Manager s_instance = new Manager(); 이거를 // @Managers 라는 GameObject라는 애를 통해서 우회적으로 한 것임. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
톰캣서버가 정상적으로 작동하지않습니다
위사진과 같이 실습에 문제가 생겨 질문드립니다 갑자기 뷰템플릿을 이용한 실습도중 문제가발생하였고 그전에는 원활히 서버가 돌아갔었습니다
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
질문있습니다
print((3>0) & (3>2)) true print(3>0 & 3>2) false 이렇게 나오는데 차이가 뭔지 알 수 있을까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Ai 비전 오픈소스 관련 질문사항
안녕하세요! 저는 Ai 비전을 비즈니스에 활용하기 위해서 강의를 듣고 있습니다. Ai 학습을 위해서 비즈니스 정보가 담긴 데이터들을 넣고 학습을 하게 될텐데요... 혹시...ai 비전 관련 오픈소스를 사용할때 제가 사용하는 학습 데이터들에 대한 정보가 외부로 유출될 가능성은 없는지...그 점이 궁금합니다...