묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션5 아나그램 문제
안녕하세요. 강의 너무 잘보고 있습니다. 섹션5 아나그램 문제를 풀면서 input 값을 변경해보니 다음처럼 문자의 개수가 맞지 않아도 YES가 출력됩니다. 수정이 필요할 것 같습니다..!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
static 키워드에 대한 의문
안녕하세요 강의를 들으며 많은 것을 배워가고 있습니다. static 키워드에 관해 두가지 질문을 드리고 싶습니다. 1. static 변수는 프로그램의 시작과 함께 데이터 영역에 할당이 된다고 배웠습니다. 의문점은 문득 코드를 살펴보다 static으로 선언된 Input이라는 변수는 인스턴스화 하기 전에 할당되는 변수인데 get으로 _input을 반환한다는게 조금 어색하게 다가왔습니다. 혹시나 하는 마음에 s_instance를 반환하는 Instance 프로퍼티를 가지고 유사하게 실험을 했습니다. static Managers s_instance;에서 static을 없애니 Instance로 선언된 프로퍼티의 get부분에서 s_instance를 static으로 선언하라는 에러가 났습니다. 위의 두 줄과 아래 두 줄이 동일한 매커니즘을 거치는 것 같은데 한쪽은 static이 없고 한쪽은 static이 있어야 하는 상황에 대해서 알고싶습니다. 2. 두번째 질문은 static 메서드와 static 변수는 정확히 어느 시점에서 할당이 되는지 궁금합니다. 구글링을 해보니 "클래스가 메모리에 올라갈때" 라는 다소 추상적인 글을 확인할 수 있었습니다. 이 말이 로딩과정에 일어나는 일이라고 이해해도 되는걸까요? 이에 대해 조금 자세히 설명을 부탁드려도 될까요?
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
판다코딩님
판다코딩님 강의 내용 보면서 완벽히 따라했습니다 모든 수업이 끝났는데요 개발자도구에서는 에러가 안나는데 공유하기 버튼을 누르면 요청에 실패 하였다고 뜹니다 어떻게 해결할까요
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
Dynamic Web Project 생성이 안됩니다..
강의 내용 중 Dynamic Web Project 생성하는 것이 나옵니다. 생성시 아래와 같이 src 폴더가 조회가 안되길래 그냥 넘어가서 완료 눌렀더니 failed while installing java 15 이렇게 뜨면서 실패가 되더군요.. 아무리 구글링을 해도 해결책을 찾을 수 없어 문의드립니다. 혹시 몰라 환경변수 설정은 다시해봤는데 그래도 안됩니다..
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
const user = new User(req.body)의 async
const user = new User(req.body)는 왜 async를 안해주는지 궁금합니다. 애초에 new User는 동기적으로 처리되는 코드인가요? 감사합니다!
-
미해결자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!
다차원 배열에서 열 출력
System.out.println("arrMul[0] : "+ Arrays.toString(arrMul[0])); 이것은 0번째 행을 출력하던데 0번째 열을 출력은 어떻게 할 수 있을까요?
-
미해결도커 쓸 땐 필수! 도커 컴포즈
[Q : 4강 도커 컴포즈의 장점2]
django, postgres 순으로 해도 웹페이지가 잘 나오는데, 이건 무슨 이유일까요? (도커 버전 20.10.3) (물론, 이때는 강사님처럼 django 컨테이너의 경우 환경변수를 적용하지 않았습니다.)
-
해결됨스프링 핵심 원리 - 기본편
인텔리제이 질문입니다
삭제된 글입니다
-
미해결[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부터는 없어요