묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
react query를 이용한 로그인 유저 정보 가져오는 방법
깃허브에 올려주신 react query의 부분을 보고 공부하는 과정중에 궁금한 점이 생겨 질문드립니다.로그인 정보를 가져오기 위한const { data: me } = useQuery<User>('user', loadMyInfoAPI);useQuery를 이용해 캐싱한 데이터를 가져오는 방법과,리덕스, 리코일의 전역관리 상태 라이브러리를 이용하여 로그인 정보를 관리하는 방법중에 어떠한 방법이 나은 방향인지 궁금합니다.저의 경우는 전역 상태로 관리해, 데이터를 한 번만 가져와서 여러 곳에서 사용할 수 있어서 코드의 중복을 줄일 수있다고 생각하였는데 왜 useQuery를 이용해 캐싱한 데이터를 가져오는 방법을 사용하였는지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
인텔리제이 무료 버전에서 mysql 콘솔 오류 관련 질문
인텔리제이 무료버전에서 Database 탭이 없는 것 같아서 무료 plug-in을 통해 작업 중인데 DDL, DML 제외하고 sql 명령어가 먹지 않습니다. 해결 방법이 없을까요..?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의 pdf, 구글 드라이브에 대해 질문있습니다!
안녕하세요강사님의 도커강의 잘 듣고 있습니다.다름이 아니라 제가 현재 도커 강의를 복습하고 있는데, pdf파일이나 구글drive에서 강의 자료 파일을 확인해보면, 반정도 짤려있거나, 깨져있었습니다.혹시 window pdf나 구글 드라이브에 있는 파일 다시 올려주실 수 있으실까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
백준 17141 추가문제 입니다. 8-15번 피자문제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 교수님교수님께서 알려주신 8-15번 풀이를 적용하여추가문제 백준 17141 연구소 2를 풀고 있습니다그런데 어떻게 풀어도 계속 메모리 초과가 나서 뭐가 문젠지 모르겠습니다...import java.util.*;class Pointo{ int y; int x; Pointo(int y, int x){ this.y=y; this.x=x; } }public class Main { static int n; static int m; static int[][] arr; static int[] pm; static int[] dx= {0,0,+1,-1}; static int[] dy= {+1,-1,0,0}; static ArrayList<Pointo> list=new ArrayList<>(); static int answer=Integer.MIN_VALUE; public static void main(String[] args) { Scanner scanner=new Scanner(System.in); n=scanner.nextInt(); m=scanner.nextInt(); arr=new int[n][n]; pm=new int[m]; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { arr[i][j]=scanner.nextInt(); if(arr[i][j]==2) { list.add(new Pointo(i,j)); } } } dfs(0,0); if(answer!=0)System.out.println(answer); else System.out.println("-1"); } public static void dfs(int val, int next) { if(val==m) { bfs(0); return; } else { for(int i=next; i<list.size(); i++) { //list에서 m개뽑자 pm[val]=i; dfs(val+1,i+1); } } } public static void bfs(int val) { int[][] copyarr=new int[n][n]; int[][] dis=new int[n][n]; Queue<Pointo> q=new LinkedList<>(); for(int i=0; i<pm.length; i++) { int l=pm[i]; int qx=list.get(l).x; int qy=list.get(l).y; q.add(new Pointo(qy,qx)); copyarr[qy][qx]=2; } //copyarr 벽 만들기 for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { if(arr[i][j]==1) { copyarr[i][j]=1; } } } while(!q.isEmpty()) { Pointo p=q.poll(); for(int i=0; i<4; i++) { int nx=p.x+dx[i]; int ny=p.y+dy[i]; if(nx>=0 && ny>=0 && nx<n && ny<n) { if(copyarr[ny][nx]!=1) { copyarr[ny][nx]=2; dis[ny][nx]=dis[p.y][p.x]+1; q.add(new Pointo(ny,nx)); } } } } count(copyarr,dis); } public static void count(int[][] arr, int[][] dis) { int maxy=0; for(int i=0; i<n; i++) { for(int j=0; j<n; j++) { if(dis[i][j]>maxy) maxy=dis[i][j]; } } answer=Math.max(maxy,answer); }}
-
미해결
스프링 db-2 테스트 관련
spring db-2 강좌를 학습하다가 궁금한 점이 생겨서 질문드립니다. 테스트 진행시에 새로운 테스트에만 h2 할당하는 작업을 하는 대신 임베디드 테스트를 진행할때 schema.sql 을 활용해서 미리 테이블을 만드는 과정이 나옵니다. 그런데 그런 과정을 하지 않아도 자동으로 생성을 해주는 것인가요?? 전파 강의를 듣다가 그런 작업 없이도 test가 돌아가는 것을 보고 궁금해서 질문드립니다.
-
해결됨디자인 시스템 with 피그마
border
border Opaque 혹은 transaprent의 정확한 의미와 어디에 이용이 될까요!!
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
`장고설계철학 개발환경`으로 `파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트` 강의 듣기
장고설계철학 강의 듣고 바로 이어서 듣는중인데아래와 같이 두 강의의 구축한 개발환경이 다른상황 입니다. Q1.1. 혹시 아래에 적은 장고설계철학 개발환경으로 그대로 진행해도 괜찮은 버전인건지 궁금하고2. 팩키지관리명령어가 서로 달라도 패키지가 저장되는 경로는 동일해서 장고설계철학 개발환경으로 그대로 진행도 상관 없는지/있는지 궁금합니다.개발환경 - 파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트Python~=3.7.13 ( 아나콘다파이썬 사용)Django~=3.0.0 (3.0.14 설치됨)pip install 명령어로 패키지 설치/관리IDE(VSC) - 디폴트 터미널: 명령프롬프트개발환경 - 장고설계철학Python~=3.10.4 ( 공식홈 사용)Django~=4.0.10python -m install 명령어로 패키지 설치/관리IDE(Pycharm PRO) - 디폴트 터미널: 다운받아 설치한 최신윈도우파워쉘
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
굳이 DTO를 join하지 않고 Member 객체를 만들어서 저장 후 넣는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제목처럼 form이 DTO의 역할을 하는 것인데 굳이 도메인인 멤버 객체를 생성해서 setName하고 join에 넣는 이유가 궁금합니다. 사실 form에서 넘어온 데이터를 바로 join에 넣으면 새로운 객체를 만들지 않아도 되서 큰 자원은 아니지만 낭비하지 않을 수 있지 않나요?..! 저렇게 사용하는 이유에 대해서 고민해보았는데 DTO의 역할은 단순하게 데이터의 전달 역할만 하는 것이기 때문에 그 역할을 지키기 위해 영상에 나온 것과 같이 사용하는 것일까요?!
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
문서 내 특정 표의 내용 읽기
한 문서 안에 표가 여러개 있을 때하나씩 접근해서 표의 행과 열, 그리고 셀로 접근해서셀의 데이터를 읽어 오고 싶습니다. "한/글 표에 데이터프레임 채우기" 강의에서 특정 표로 접근하는 부분은확인하고 잘 되고 있습니다.여기서 각 셀을 순환하면서 접근하여 각 셀 내에 있는 텍스트를 읽어 오고 싶습니다. 답변 부탁 드립니다. 감사합니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
--target-port=3000 옵션이 먹지 않는 것 같습니다.
안녕하세요 강의 잘 듣고 있습니다.강의 내용중의 chk-hn 이미지를 사용하셨는데, 소스를 좀 볼 수 있을까요?문제는 제 스스로 chk-hn 이미지를 만들어 도커허브에서 내려받아 실행해도,--target-port=3000 옵션이 먹지 않는 것 같습니다.kubectl expose deployment chk-hn --type=LoadBalancer --port=80 --target-port=3000 C:\Users\tjoeun>curl 192.168.1.11curl: (28) Failed to connect to 192.168.1.11 port 80 after 21003 ms: Couldn't connect to server [root@m-k8s ~]# kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE chk-hn LoadBalancer 10.110.168.22 192.168.1.11 80:31690/TCP 5s deploy-nginx NodePort 10.105.80.228 <none> 80:32118/TCP 22m kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 7h46m nginx NodePort 10.111.41.62 <none> 80:30987/TCP 3h47m[root@m-k8s ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES chk-hn-7b767c6d5d-6fqkd 0/1 ImagePullBackOff 0 25m 172.16.221.134 w1-k8s <none> <none> chk-hn-7b767c6d5d-bvqvk 0/1 ImagePullBackOff 0 25m 172.16.103.134 w2-k8s <none> <none> chk-hn-7b767c6d5d-mvhh2 0/1 ImagePullBackOff 0 26m 172.16.132.6 w3-k8s <none> <none> [root@m-k8s ~]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE chk-hn LoadBalancer 10.100.109.67 192.168.1.11 80:30878/TCP 33m kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 30h[root@m-k8s ~]# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME m-k8s Ready control-plane 29h v1.25.0 192.168.1.10 <none> CentOS Linux 7 (Core) 3.10.0-1127.19.1.el7.x86_64 containerd://1.6.7 w1-k8s Ready <none> 29h v1.25.0 192.168.1.101 <none> CentOS Linux 7 (Core) 3.10.0-1127.19.1.el7.x86_64 containerd://1.6.7 w2-k8s Ready <none> 29h v1.25.0 192.168.1.102 <none> CentOS Linux 7 (Core) 3.10.0-1127.19.1.el7.x86_64 containerd://1.6.7 w3-k8s Ready <none> 29h v1.25.0 192.168.1.103 <none> CentOS Linux 7 (Core) 3.10.0-1127.19.1.el7.x86_64 containerd://1.6.7 제 nodejs 소스는 아래와 같습니다. 감사합니다.const http = require("http"); const hostname = "0.0.0.0"; //const hostname = "127.0.0.1"; // 서버 호스트 이름 const port = 3000; // 서버 포트 const server = http.createServer((req, res) => { const host = req.headers.host; // 요청의 호스트 이름 console.log(`호스트: ${host}`); // 콘솔에 호스트 이름 출력 res.statusCode = 200; res.setHeader("Content-Type", "text/plain; charset=utf-8"); res.end( `안녕하세요, Node.js HTTP 서버입니다!\n접속한 호스트네임과 포트는 ${hostname}:${port}입니다.` ); }); server.listen(port, hostname, () => { console.log(`서버 실행 중: http://${hostname}:${port}/`); }); Dockerfile# 사용할 이미지를 선택합니다. FROM node:14-alpine # 앱 디렉토리를 생성하고, 작업 디렉토리로 설정합니다. WORKDIR /app # 앱 의존성을 설치합니다. COPY package*.json ./ RUN npm install # 앱 소스를 추가합니다. COPY . . # 컨테이너에서 사용할 포트를 지정합니다. EXPOSE 3000 # 컨테이너를 시작할 때 실행할 명령어를 설정합니다. CMD [ "npm", "start" ]
-
해결됨3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
안녕하세요~ 신규 강의 수강 쿠폰 부탁드립니다.
안녕하세요EA + egovframe 수강 관련 쿠폰 요청합니다.감사합니다
-
해결됨아이폰 앱 개발 입문 2편
프레임워크 빌드 시, 빌드 파일 없음
[그림 1] 프레임워크 관련 강의 사진, 빌드 시 프레임워크 사용 가능(좌측 product 폴더 밑의 Util framework)[그림 2] 학습자 화면, 빌드 시 프레임워크 사용 불가 혹시 빌드를 잘못한 걸까 싶어, 다시 했습니다만, 강의 화면처럼 프레임워크가 나오지 않네요. 어떻게 하면 프레임워크를 새 프로젝트의 "Embedded Content"로 옮길 수 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@NotNull과 nullable의 차이 및 EnumType 질문
둘 다 null을 허가하지 않는 다는 의미로 쓰이는 것 같은데어떤 차이가 있는 건가요 ? @EnumType 애노테이션을 제거하고 멤버를 추가해도 @EnumType.Ordinal 옵션을 적용 한 것처럼 Integer로 컬럼을 만들고 user = 0, admin=1 으로 잘 저장하던데 @EnumType은 어떤 역할을 하는 것인가요? EnumType.String이 필수로 써야할만큼 EnuType.Ordinal은 안좋은 옵션같은데 Default가 String이 아니라 Ordinal인 거는 따로 무슨 이유가 있는 건가요 ?
-
해결됨CAN 통신 - 자동차 신입이 알아야 할 모든 것
실무에서 버스 설계시 종단저항 궁금점
종단저항에 대해서 여쭤보겠습니다.종단 저항이 캔 버스 끝단에 120옴을 다는 것으로 설명 들었습니다.실무에서 can 설계를 할때 종단저항이라는 것을 HW(모듈) 즉 pcb에 붙어 있는건가요??만약 pcb에 종단저항이 붙어있다면 끝단에 있는 모듈(종단 저항이 붙어있음)과 중간에 있는 모듈(종단 저항이 안붙어있음)의 위치를 변경하면 종단저항 위치가 달라지니 통신이 안될수도 있을까요?그럼 처음 can 버스 설계를 할때 양 끝단에 어떤 모듈이 위치할지 계획하고 그 모듈에 종단 저항을 달아서 주문을 해야하는걸까요?? 버스형 구조란게 상황에따라 추가적으로 붙을 수 있는 장점이 있는건데 이렇게 하면 장점이 사라지는것 같아서,,,만약에 하드웨어 즉, pcb에 종단저항이 안달려 있다면 어디에 달려있는걸까요? 선에 달려 있는건거요? 아니면 커넥터를 종단저항이 달린 커넥터를 사용하는걸까요??==========================================================실제 자동차에 CAN을 연결할 때 CAN 버스를 만들기 위해서 PCB(모듈)에 CAN 커넥터를 연결하고 CAN 버스 인터페이스(HW) 장치(이더넷 스위치 같은??)에 연결, 그리고 여러 모듈들을 이 인터페이스 커넥터에 꽂으면 완성(통신 가능)되는 형태인가요?시뮬레이션이 아닌 실무에서는 어떻게 하는지도 궁금합니다. 감사합니다.
-
해결됨디자인 시스템 with 피그마
토큰 실행이 안돼요
accent/negative/warning/positive 색상만들고 각 색상에컬러스타일을 넣었습니다. dark 모드를 선택하면 다시 primary 색상으로 빠져버리고 다시 글로벌 선택하면 primary로 돌아가서 다 하얗게 되네요ㅜㅜㅜㅜ어떻게해야하죠
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
REQUEST를 실행해도 loadPostLoading이 바로 바뀌지 않습니다.
안녕하세요 제로초님! const { mainPosts, hasMorePosts, loadPostsLoading } = useSelector( (state) => state.post, ); useEffect(() => { function onScroll() { if ( window.scrollY + document.documentElement.clientHeight > document.documentElement.scrollHeight - 300 ) { if (hasMorePosts && !loadPostsLoading) { console.log('로딩상태 ; ', loadPostsLoading); console.log('불러오기'); dispatch({ type: LOAD_POSTS_REQUEST, }); } } } window.addEventListener('scroll', onScroll); return () => { window.removeEventListener('scroll', onScroll); }; }, [hasMorePosts, loadPostsLoading]);현재 여기까지 코딩이 진행된 상태인요! 콘솔로 찍어보니이렇게 두번 REQUEST를 보내게 됩니다.리덕스를 찍어봤을 때는이렇게 나옵니다.reducers 부분은const reducer = (state = initialState, action) => produce(state, (draft) => { switch (action.type) { case LOAD_POSTS_REQUEST: draft.loadPostsLoading = true; draft.loadPostsDone = false; draft.loadPostsError = null; break; case LOAD_POSTS_SUCCESS: draft.loadPostsLoading = false; draft.loadPostsDone = true; draft.mainPosts = action.data.concat(draft.mainPosts); draft.hasMorePosts = draft.mainPosts.length < 50; break; case LOAD_POSTS_FAILURE: draft.loadPostsLoading = false; draft.loadPostsError = action.error; break; ...saga > post.js 코드는function loadPostsAPI(data) { return axios.get('/api/post', data); } function* loadPosts(action) { try { // const result = yield call(loadPostsAPI, action.data) yield delay(1000); const id = shortid.generate(); yield put({ type: LOAD_POSTS_SUCCESS, data: generateDummyPost(10), }); } catch (err) { yield put({ type: LOAD_POSTS_FAILURE, data: err.response.data, }); } } function* watchLoadPosts() { yield throttle(5000, LOAD_POSTS_REQUEST, loadPosts); }이 상태입니다.조건문에서 !loadPostsLoading < 이걸 지우면 엄청난 양으로 REQUEST가 보내지는 것을 보니 !loadPostsLoading 이게 먹히는 것 같기는 합니다.왠지 REQUEST가 보내진 후 loadPostsLoading이 true로 변경된 것 같기는 한데 이게 useEffect 코드에서는 아직 false로 인식해서 또 REQUEST를 보내는 것이 아닌가 하는게 제 추측인데요, 맞을까요?ㅠㅠ
-
미해결홍정모의 따라하며 배우는 C++
cout << (bValue ? 1 : 0 ) <<"입니다"; 라는 코드에서 삼항연산자에 괄호 유무 차이에 따른 오류 질문입니다.
cout << (bValue ? 1 : 0 ) <<"입니다"; 라는 코드에서 삼항연산자에 괄호 유무 차이에 따른 오류 질문입니다.cout << bValue ? 1 : 0 라고 입력시 잘 동작하지만 삼항연산자 이후 endl이나 추가적인 문구를 추가해보니 오류가 발생합니다. 하지만 괄호로 묶었을 땐 정상 동작을 하는것을 보고 왜 괄호가 필요한지 의문이 생겨서 질문 남깁니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
템플릿 엔진 설명 중에서
# Q1`템플릿엔진` 설명하실때`"복잡한 문자열을 손쉽게 조합하기 위한, 문자열 렌더링 엔진"` 이라고 하셨는데,복잡한문자열 이라는게 예를 들면 어떤건가요?데이터가 동적으로최종적으로 장고에서 나가는 문자열을 만들때전체적인 구조(와꾸) 예) HTML, 이메일공통내용 등1번에서 데이터가 동적으로 바뀔 필요가 있을때동적을 바뀔 데이터를 `복잡한 문자열` 이라고 한건가요? # Q2장고설계철학 들어서 꼭 템플릿엔진이 템플릿파일(html)을 뷰단으로 렌더링/포워딩 할때만 쓰이는게 아니고 메일내용 만들때도 인지는 하고 있는데자꾸 복잡한문자열 저 말이 무슨 말인지 몰라서 여쭤봅니다. 그리고 장고템플릿엔진 API는설계철학에서 배운 render 함수와 render_to_string함수가 맞죠? 그리고 상대적으로 자주 쓰이는 다른 API는 어떤상황에서, 어떤API가 더 있을까요? (from django.shortcuts import render)(from django.template.loader import render_to_string)render 함수 내부적으로는render -----> render_to_string 참조 한다고 기억하고 있습니다. # Q3그리고 장고에서 최종적으로 나가는(HTTP응답/이메일내용) 데이터의 포맷 이"HTML, 이메일공통내용(텍스트) ..." 처럼 모두 문자열 인가요?아니면 장고에서 최종적으로 나가는 것 중에서 문자열이 아닌것들은 장고템플릿엔진 거치지 않고,문자열인 것들만 장고템플릿엔진 거치고 최종적으로 문자열 형태로 나가는건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
인텔리제이 mysql 콘솔창 질문
11강에서 부터 진행하시는 것을 보면 인테릴제이에서 mysql 콘솔창을 사용하시는 것으로 보입니다. 구글링 해보니까 커뮤니티 에디션에서는 사용이 불가한 것 같아서 위의 사진과 같이 비슷한 plug-in 사용해서 현재 작업중인데 강사님처럼 sql문 실행했을 때 결과값을 볼 수가 없습니다 ㅠㅠㅠ 해결 할 수 있는 방법이 없을까요??
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
PS,PL 통신관련 질문있습니다.
안녕하세요 맛비님!강의 듣던중 궁금한점이 있어서 질문 드립니다.지금 강의 내용에서는 axi4-lite interface를 이용하여 pc에서 fpga로 데이터를 write하고 fpga에 write한 데이터를 다시 pc로 read하는 flow로 동작하는 내용인데, 데이터를 pc에서 fpga로 write하지 않고 fpga 로직 상에서 출력되는 데이터 (예를 들면, 카운터 값)을 axi4-lite interface를 이용하여 pc로 read 해올 수 있는 방법도 있는지 궁금합니다.