묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨
Next.js를 이용한 설계방식에 궁금한 점이 있습니다.
현재 개인 프로젝트로 next.js를 사용하고 있는데 처음이다 보니 잘 감이 오지 않는 것이 있어서요. next.js를 사용한다면 보통의 서비스는클라이언트 - Next.js 서버 - api 서버 - db 대략 이런 구조로 진행이 될것으로 이해하고 있는데요, 혹시 클라이언트 - Next.js 서버 - db 로 Next.js 서버가 api서버 역할까지 하는 식으로 구성하는 경우가 있나요? 찾아보니 Next.js에서도 db를 연결하는 경우가 있는걸 보았는데, 그러면 간단한 crud만 하는 api 서버일 경우 굳이 api서버를 따로 둘 필요가 없을 수도 있을 거란 생각을 해서요!만약 이러한 방식이 그닥 권장되지 않는다면 이유가 무엇인가요?
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
깃허브 레포지토리 권한 신청 합니다.
깃허브 레포지토리 권한 신청합니다.인프런 아이디 : human264@gmail.com인프런 이메일 : human264@gmail.com깃헙 아이디 : human264@gmail.com깃헙 Username : human264
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
split함수 작성시 질문
input.erase(0, pos+delimeter.length()); 대신input.erase(0, pos+delimeter.size()); 로 써도 무방한가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ddl-auto = update 정확한 정의!
안녕하세요 강의 열심히 수강중인 학생입니다. ddl-auto관련 설정이 정확히 궁금해서 여러가지 시도를 해보고 있었습니다! ddl-auto = update 로 진행을 할 경우 궁금증이 생겨서 글 남깁니다.이전과 비교하여 바뀐 부분을 수정한다라고만 생각하고 여러가지를 해보았는데 예를 들면 엔티티 필드 private Integer price에 @NotNull을 작성한 상태였습니다. 이를 지우고 재실행 시켰을 시 여전히 NotNull제약조건이 적용되어있었습니다. 또한 아예 필드를 지웠을 경우에도 데이터 베이스에는 price가 남아있었습니다. 구글링을 해보니 그나마 찾은 것이 없던것을 추가시킨다는 정도의 답변을 찾은 것 같습니다. 그렇다면 제약 조건을 바꾸거나 속성을 삭제하는 경우등은 직접 쿼리를 작성해서 처리해야하는 것일까요? update는 없던 것을 생성 시켜주는 처리만 해주는 것이 맞는지 궁금합니다!
-
미해결홍정모의 따라하며 배우는 C언어
강의 예제
#include <stdio.h> int main() { int number; printf("Input a positive integer : "); scanf("%d", &number); if (number % 2 == 0) printf("Even"); return 0; }강의 예제에서 숫자를 받아서 그 숫자가 짝수면 Even을 출력하는 예제를 만들었습니다.숫자를 문자 'A'로 받으면 'A'는 65니까 당연히 아무것도 출력이 안될줄알았는데 왜 Even이 출력되는걸까요?
-
미해결실전! 스프링 데이터 JPA
loginfailureHandler에서 db에 로그 저장 시 에러
안녕하세요질문이 있어서 글을 남깁니다. 로그인 실패 시 handler에서 DB에 로그를 남기고 싶은데,마지막 loginLogService.saveLoginLog(loginLogDto); 에서 null 됩니다.어떤 것이 문제일까요???답변 부탁드립니다.감사합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
가운데정렬 이안되여
import 'package:flutter/material.dart'; class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( bottom: false, child: Container( width: double.infinity, height: double.infinity, color: Colors.black, child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.center, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Container(color: Colors.red, width: 50, height: 50), Container(color: Colors.orange, width: 50, height: 50), Container(color: Colors.yellow, width: 50, height: 50), Container(color: Colors.green, width: 50, height: 50), ], ), Row( children: [ Container(color: Colors.orange, width: 50, height: 50), ], ), Row( mainAxisAlignment: MainAxisAlignment.end, children: [ Container(color: Colors.red, width: 50, height: 50), Container(color: Colors.orange, width: 50, height: 50), Container(color: Colors.yellow, width: 50, height: 50), Container(color: Colors.green, width: 50, height: 50), ], ), Row(children: [ Container(color: Colors.green, width: 50, height: 50), ],), ], ), ), ), ); } }
-
해결됨XD UI 디자인 + Clone Coding 인터렉티브 반응형웹 포트폴리오!
강사님 수업 잘듣고있습니다.
혹시 스크립트부분을 제이쿼리 대신 바닐라자바스크립트로 대체된 문서나 강의를 추가해주실순 없을까요 ^^; 아무래도 리액트도 공부하다보니, ㅎㅎ
-
미해결
알고리즘 교안 163p "2진법 변환" 부분 질문
이 부분에서 파란색으로 밑줄 친 부분이 왜 필요한 지 모르겠습니다. 또한 왜 저 표현이 16진수로 표현하는건지도 잘 이해가 가지 않습니다. for문 안에 cout<<a;만 쓰더라도 저희가 원하는 출력이 이뤄진다고 생각합니다. (2로 모듈러연산을 취해주었기 때문에 벡터 v에는 0과1밖에 없을텐데 왜 for문 안에 조건을 저런식으로 잡았는지 잘 이해가 가지 않습니다.)
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
./build후 파형 볼 때 display 문제입니다.
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================Simulation을 보기 전에 Objects에서 Name이 안뜨는 문제가 존재합니다. 오른쪽 마우스를 눌러서 Name을 뜨게 하려고 시도해도 저렇게 회색으로 선택할 수 없게 나옵니다. 뭐가 원인일까요...?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
validateDuplicateMember 함수에서 NullPointerException
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]validateDuplicateMember 함수에서 member.getName(); 값이 null이 나와서 다음과 같이 계속 nullException이 납니다.확인 부탁드려요 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 질문입니다..
2일째 고민을 해보았는데..2%까지만 맞고 틀리다고 합니당..ㅠㅠ포기하고 싶지 않은 마음에 도움을 요청합니다!!제가 짠 코드는 이렇습니다!import java.io.*; import java.util.*; // 불이 하나가 아닌 여러개일 수 있다. public class Main { public static int R; public static int C; public static String[][] map; public static int[][] visitedFire; public static int[][] visitedHuman; public static int[] dx; public static int[] dy; public static Node fireLocation; public static Node humanLocation; public static Queue<Node> fireQueue; public static void main(String[] args) throws IOException { // 초기화 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); R = Integer.parseInt(st.nextToken()); C = Integer.parseInt(st.nextToken()); map = new String[R][C]; // 0으로 초기화 visitedFire = new int[R][C]; visitedHuman = new int[R][C]; dx = new int[]{0,1,0,-1}; dy = new int[]{-1,0,1,0}; fireQueue = new LinkedList<>(); // 맵 입력 for (int i = 0; i < R; i++) { String S = br.readLine(); for (int j = 0; j < C; j++) { // 불 좌표, 지훈이 좌표 찾기 map[i][j] = String.valueOf(S.charAt(j)); if(map[i][j].equals("J")){ humanLocation = new Node(j,i); map[i][j] = "."; // .으로 변경 }else if(map[i][j].equals("F")){ // 불이 여러개, 불이 아무것도 없을 수 있다. -> 반레 fireLocation = new Node(j,i); fireQueue.add(fireLocation); visitedFire[i][j] = 1; } } } // (1) 불이 이동할 수 있는 최단경로 fireBfs(); // (2) 사람이 이동할 수 있는 최단경로 + 길 비교해야함 humanBfs(humanLocation.y, humanLocation.x); // 가능한 길 찾아서 int result = Integer.MAX_VALUE; // (3) 가장 짧은 최단거리 찾기 (가장자리 찾기) for (int i = 0; i < visitedHuman.length; i++) { for (int j = 0; j < visitedHuman[i].length; j++) { if((0<i && i<R-1) && 0 < j && j < C-1)continue; // 가장자리가 아닌 경우 pass if(visitedHuman[i][j] > 0) { result = Math.min(result, visitedHuman[i][j]); } } } if(result == Integer.MAX_VALUE){ System.out.println("IMPOSSIBLE"); }else{ System.out.println(result); } } public static void humanBfs(int y, int x){ // tkfk visitedHuman[y][x] = 1; Node node = new Node(x,y); Queue<Node> queue = new LinkedList<>(); queue.add(node); while(queue.size()>0){ Node cur = queue.poll(); for (int i = 0; i < 4; i++) { int nx = cur.x + dx[i]; int ny = cur.y + dy[i]; if(nx < 0 || nx >= C || ny < 0 || ny >= R) continue; if(visitedHuman[ny][nx] == 0 && (map[ny][nx].equals("."))){ if(visitedHuman[ny][nx] < visitedFire[ny][nx] || visitedFire[ny][nx] == 0){ visitedHuman[ny][nx] = visitedHuman[cur.y][cur.x] + 1; Node next = new Node(nx,ny); queue.add(next); } } } } } public static void fireBfs(){ while(fireQueue.size()>0){ Node cur = fireQueue.poll(); for (int i = 0; i < 4; i++) { // 4방향 탐지 int nx = cur.x + dx[i]; int ny = cur.y + dy[i]; if(nx < 0 || nx >= C || ny < 0 || ny >= R) continue; if(visitedFire[ny][nx] == 0 && (map[ny][nx].equals("."))){ visitedFire[ny][nx] = visitedFire[cur.y][cur.x] + 1; // 이동함을 표현 Node next = new Node(nx,ny); fireQueue.add(next); } } } } public static class Node { int x; int y; Node(int x, int y){ this.x = x; this.y = y; } } }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 쿼리 로깅 관련해서 질문이 있습니다.
선생님 안녕하세요 하나 질문이 있습니다. Jpa 사용할때 쿼리를 로그에 찍도록 설정했고 잘 동작합니다. 그런데 그냥 실행시킬때는 찍히지 않는 쿼리가 브레이크 포인트를 걸어서 한줄씩 실행시킬때는 로그에 출력되는 경우가 있습니다. 혹시 이유가 있을까요? 브레이크 포인트를 걸면 select 쿼리가 더 많이 찍혀서 궁금해 문의드립니다.
-
해결됨모두의 깃 & 깃허브
펫치 후 풀 선택해서 받기
안녕하세요, 펫치와 풀 개념은 알겠는데, 풀을 받을 때 5개 중에 2개만 받고 싶을 때는 어떻게 하나요??svn으로 할 때는 update를 할 때 받고싶은 것만 선택해서 받았는데 깃에서는어떤식으로 처리하나요
-
미해결
Jpa 쿼리 로그 관련 문의
선생님 안녕하세요 하나 질문이 있습니다. Jpa 사용할때 쿼리를 로그에 찍도록 설정했고 잘 동작합니다. 그런데 그냥 실행시킬때는 찍히지 않는 쿼리가 브레이크 포인트를 걸어서 한줄씩 실행시킬때는 로그에 출력되는 경우가 있습니다 혹시 이유가 있을까요? 브레이크 포인트를 걸면 select 쿼리가 더 많이 찍혀서 궁금해 문의드립니다
-
미해결실전! 스프링 데이터 JPA
빌더와 생성자의 보안 차이가 궁금합니다!
setter를 지양하는 이유 중에 하나가 보안성이라고 생각했습니다.그런데 builder를 사용하면 똑같이 보안에 문제가 생기지 않나 의문이 들었습니다.값을 변경하거나 삽입할 때 함수를 따로 만드는 것이 가장 보안성이 좋지만 파라미터가 많을 때 가독성과 편리성을 위해 builder를 사용하는 건가요??
-
해결됨처음 만난 리덕스(Redux)
createStore()와 combineReducers()에 대한 질문
각각의 todoReducer, memoReducer에 initialState를 전달하는 방법말고 createStore() 함수의 2번째 인자로 preloadedState를 전달하는 방법은 없나요?const preloadedState = { todo: initialTodoState, memo: initialMemoState, }; const store = createStore( rootReducer, preloadedState, applyMiddleware(loggerMiddleware), );(추가) 위와 같이 작성 후(각 reducer의 초기 상태 전달 안함), 애플리케이션이 동작하지 않더라구요..!(추가) 해서 GPT에게 물어봤습니다! 그랬더니 답변으로이 방법을 사용하면 preloadedState를 통해 전체 앱의 초기 상태를 한 곳에서 관리할 수 있어 유용합니다. 하지만 이 방법은 각 리듀서에서 초기 상태를 설정하는 방법과 병행해서 사용해야 합니다. 왜냐하면 preloadedState는 앱이 시작될 때 한 번만 사용되고, 그 이후에는 각 리듀서에서 정의한 초기 상태가 사용되기 때문입니다.해서 각 reducer에도 각각의 initialState 배열을 전달하니 동작은 하긴 하는데, 이럴꺼면 굳이 preloadedState를 전달하는 의미가 없는 것 같아서 조금 헷갈리네요..!결론적으로 질문은 아래와 같습니다..!1) 각 reducer에게 초기 상태를 전달하지않고 combine한 reducer를 createStore에 전달할 때, 초기 상태를 전달해서 사용하는 방법이 있나요?
-
미해결홍정모의 따라하며 배우는 C언어
다중 구조체 문의
안녕하세요 수강생 입니다.문의 사항이 있어 글 남깁니다.다중 구조체에 대해 문의남깁니다.예를들어struct test{int a=0;int b=0;}TEST[2][2] *PTEST[2][2]; 이런 식 입니다.이때, 구조체에 접근할 때 주소연산자가 아닌 대입으로 접근이 가능한데 왜 그런가요?예를 들어..PTEST[2][2]->a 는 접근이 안되고 TEST[2][2].a는 접근이 됩니다.
-
해결됨디자인 시스템 with 피그마
피크마토큰의 그룹 이동
안녕하세요! 피그마 토큰에 설정하는 도중에 spacing목록 안에 간격 설정을 만들어야 했는데 실수로 다른 목록 안에 만들었습니다 ㅠ 이미 간격을 다 만들어놔서 그룹을 통째로 옮기고싶은데 방법이 따로 있을까요? 아니면 지우고 다시 만들어야 하나요??
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
error처리 질문드립니다
error처리 질문드립니다.현재 라우터에는 /about1234는 없습니다. http://localhost:5000/about12344 여기입력해서 들어가면 강의처럼 err로 가서 asdasd가 나와야하는걸로 이해하고있습니다. 이렇게 나옵니다.asdasd가 나와야하는거 같은데 뭐가 잘못된건지 잘모르겠습니다.