묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
탐색할 때 사용하는 배열에 대해 질문이 있습니다
응용해서 다른 문제를 풀어봤는데 배열을 바꾸면 정답이 계속 바뀝니다...! #include <iostream> #include <algorithm> #include <vector> using namespace std; vector<vector<int>> map(201, vector<int>(201, 1)); vector<vector<int>> visited(201, vector<int>(201, 0)); vector<pair<int, int>> cctvx[4], cctvy[5]; int res = INT_MAX, n; int dx[4] = { 0,1,0,-1 }, dy[4] = { 1,0,-1,0 }; void DFS(int x, int y,int timer,int cctvi) { int xx, yy; if (x == n && y == n) { res = min(timer, res); } else { while (cctvx[cctvi][0].first <= x && x <= cctvx[cctvi][0].second&&cctvy[cctvi][0].first <= y && y <= cctvy[cctvi][0].second) { timer++; cctvi++; if (cctvi == 4) cctvi = 0; } for (int i = 0; i < 4; i++) { xx = x + dx[i]; yy = y + dy[i]; if (xx<1 || xx>n || yy<1 || yy>n) continue; if (map[xx][yy] == 0 && visited[xx][yy] == 0){ visited[xx][yy] = 1; timer++; cctvi++; if (cctvi == 4) cctvi = 0; DFS(xx, yy,timer,cctvi); visited[xx][yy] = 0; } } } } int main() { cin >> n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { cin >> map[i][j]; } } cctvx[0].push_back(make_pair(0, n / 4)); cctvx[1].push_back(make_pair(n - (n / 4), n)); cctvx[2].push_back(make_pair(n - (n / 4), n)); cctvx[3].push_back(make_pair(0, n / 4)); cctvy[0].push_back(make_pair(0, n / 4)); cctvy[1].push_back(make_pair(0, n/4)); cctvy[2].push_back(make_pair(n - (n / 4), n)); cctvy[3].push_back(make_pair(n - (n / 4), n)); visited[1][1] = 1; DFS(1,1,0,0); if (res == INT_MAX) { cout << -1; return 0; } else cout << res; return 0; }
-
미해결
해외유입확진자 수 없어야하는건가요??
해외유입확진자 수 없어야하는건가요? 제가 코드 다쓰여진 파일가지구 실습하고 있는데 강의처럼 해외유입확진자수가 안쓰여져있길래 똑같이써서 돌렸더니 오류가 나서요! p.s.항상 답변 너무 감사드려요! 드디어 부록만 보면 수강완료인데 질문 사소한것도 받아주셔서 감사하고 수고하셨습니다~~^^&
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
재질문입니다.
아래 질문했는데 해결되지 않아 질문드립니다. @Transactional과 @AfterEach-delete() 조합의 기능이 똑같은데, 더 편한 @Transactional를 놔두고 굳이 @AfterEach-delete() 조합을 쓸 때가 있는가요? 둘의 차이가 있는지요?
-
미해결그림으로 배우는 쿠버네티스(v1.35)
마스터 노드 쉘 스크립트 실행 시 오류
마스터 노드 쉘 스크립트 실행 시 다음과 같은 오류가 발생합니다. ----- [root@m-k8s 1.6]# ./WO_master_node.sh I1013 17:13:43.888031 3880 version.go:251] remote version is much newer: v1.22.2; falling back to: stable-1.20 [init] Using Kubernetes version: v1.20.11 [preflight] Running pre-flight checks [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/ [preflight] Pulling images required for setting up a Kubernetes cluster [preflight] This might take a minute or two, depending on the speed of your internet connection [preflight] You can also perform this action in beforehand using 'kubeadm config images pull' [certs] Using certificateDir folder "/etc/kubernetes/pki" [certs] Generating "ca" certificate and key [certs] Generating "apiserver" certificate and key [certs] apiserver serving cert is signed for DNS names [kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local m-k8s] and IPs [10.96.0.1 192.168.1.10] [certs] Generating "apiserver-kubelet-client" certificate and key [certs] Generating "front-proxy-ca" certificate and key [certs] Generating "front-proxy-client" certificate and key [certs] Generating "etcd/ca" certificate and key [certs] Generating "etcd/server" certificate and key [certs] etcd/server serving cert is signed for DNS names [localhost m-k8s] and IPs [192.168.1.10 127.0.0.1 ::1] [certs] Generating "etcd/peer" certificate and key [certs] etcd/peer serving cert is signed for DNS names [localhost m-k8s] and IPs [192.168.1.10 127.0.0.1 ::1] [certs] Generating "etcd/healthcheck-client" certificate and key [certs] Generating "apiserver-etcd-client" certificate and key [certs] Generating "sa" key and public key [kubeconfig] Using kubeconfig folder "/etc/kubernetes" [kubeconfig] Writing "admin.conf" kubeconfig file [kubeconfig] Writing "kubelet.conf" kubeconfig file [kubeconfig] Writing "controller-manager.conf" kubeconfig file [kubeconfig] Writing "scheduler.conf" kubeconfig file [kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env" [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" [kubelet-start] Starting the kubelet [control-plane] Using manifest folder "/etc/kubernetes/manifests" [control-plane] Creating static Pod manifest for "kube-apiserver" [control-plane] Creating static Pod manifest for "kube-controller-manager" [control-plane] Creating static Pod manifest for "kube-scheduler" [etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests" [wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s [kubelet-check] Initial timeout of 40s passed. Unfortunately, an error has occurred: timed out waiting for the condition This error is likely caused by: - The kubelet is not running - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled) If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands: - 'systemctl status kubelet' - 'journalctl -xeu kubelet' Additionally, a control plane component may have crashed or exited when started by the container runtime. To troubleshoot, list all containers using your preferred container runtimes CLI. Here is one example how you may list all Kubernetes containers running in docker: - 'docker ps -a | grep kube | grep -v pause' Once you have found the failing container, you can inspect its logs with: - 'docker logs CONTAINERID' error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster To see the stack trace of this error execute with --v=5 or higher The connection to the server 192.168.1.10:6443 was refused - did you specify the right host or port? ----- 다음은 한 번 더 실행했을 때 오류입니다 ----- [root@m-k8s 1.6]# ./WO_master_node.sh I1013 17:36:26.417655 5928 version.go:251] remote version is much newer: v1.22.2; falling back to: stable-1.20 [init] Using Kubernetes version: v1.20.11 [preflight] Running pre-flight checks [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/ error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR Port-6443]: Port 6443 is in use [ERROR Port-10259]: Port 10259 is in use [ERROR Port-10257]: Port 10257 is in use [ERROR FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml]: /etc/kubernetes/manifests/kube-apiserver.yaml already exists [ERROR FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml]: /etc/kubernetes/manifests/kube-controller-manager.yaml already exists [ERROR FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml]: /etc/kubernetes/manifests/kube-scheduler.yaml already exists [ERROR FileAvailable--etc-kubernetes-manifests-etcd.yaml]: /etc/kubernetes/manifests/etcd.yaml already exists [ERROR Port-10250]: Port 10250 is in use [ERROR Port-2379]: Port 2379 is in use [ERROR Port-2380]: Port 2380 is in use [ERROR DirAvailable--var-lib-etcd]: /var/lib/etcd is not empty [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...` To see the stack trace of this error execute with --v=5 or higher cp: overwrite ‘/root/.kube/config’? configmap/calico-config created customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/kubecontrollersconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org created clusterrole.rbac.authorization.k8s.io/calico-kube-controllers created clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers created clusterrole.rbac.authorization.k8s.io/calico-node created clusterrolebinding.rbac.authorization.k8s.io/calico-node created daemonset.apps/calico-node created serviceaccount/calico-node created deployment.apps/calico-kube-controllers created serviceaccount/calico-kube-controllers created poddisruptionbudget.policy/calico-kube-controllers created ----- 도와주세요ㅜ
-
미해결비전공자를 위한 넓고 얇은 IT 지식 & 나의 개발 유형 알아보기! <M.B.I.T>
화면이 안나와요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 수강중인데 원래 화면이 안나오고 목소리만 나오는게 정상인줄 알았는데, 이상해서요. 화면 안나오는거 어떻게 해결할 수 있나요
-
미해결실전! 스프링 데이터 JPA
로그인한 유저의 데이터만 조회
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[인사말] 안녕하세요. 김영한 선생님. 현재 IT회사에서 근무하는 주니어-시니어 사이의 개발자입니다. 최근 회사에서 프로젝트를 리더급 개발자로 진행하게 되었고 이에 JPA를 부서내에서 처음으로 도입하며, 공통 기능 및 관련 편의 기능들을 담당하게 되어 개발하고 있습니다. 먼저 하기 기능을 구글링과 스택오버플로우도 계속해서 찾아봤습니다. 아래와 같은 기능을 현재 개발자들이 JPA개발자측에 계속해서 요청하는 기능이라고 확인이 되나, 이 기능을 편법으로라도 적용할 수 있는 방법이 없는지 궁금해서 질의드립니다. ------------------------------------------------------------------- [질문 내용] SELECT문에서 각각의 개발자가 직접 코드를 작성하지 않아도, 로그인한 유저의 데이터만 기본적으로 조건절에 대입하여 제공하는 방법이 존재하는지 확인하고 싶습니다. 해당 조회기능이 단편적으로 일부 테이블에서만 사용한다면 Query를 직접 작성하거나, QueryDSL을 통해서 where절에 user관련 조건절을 각각 집어넣어도 상관없다고 생각합니다. 그러나 로그인한 유저관련 조건절을 거의 대부분의 조회문에 넣고싶을 경우, 간단한 쿼리조차도 Query를 직접 작성하거나 QueryDSL을 써야하는 것으로 알고 있습니다. 반복적인 코드라 굉장히 비효율적이라 생각하여, 해당 기능을 공통으로 사용하고 싶으나, 어떻게 작성해야하는 지 떠오르지가 않았기에, 일단 생각나는 만큼 아래와 같은 방법을 생각하거나 작성해봤습니다. 1. 디자인 패턴이나 Functional Interface을 적용해서 감싸봐도 결국은 각각의 개발자가 QueryDSL을 통해 기본적인 쿼리는 작성해야했습니다. 2. 먼저 데이터를 전부 들고온 뒤, API에서 사용자 관련으로 필터링하는 방법은 성능적으로 굉장히 안 좋은 것 같아서 시도하지 않았습니다. 3. 사용자 테이블을 조회하여 해당 사용자에 연관된 매핑을 타고 내려가야하는 방법은 필요 데이터를 내포하는 테이블에 닿기까지 많은 테이블을 조회해야하고, 데이터가 많은 경우 이도 성능적으로 좋지 않아 결국은 QueryDSL를 사용해야 한다고 생각합니다. Q. 가변적으로 변하는 유저의 값을 원하는 JPA 쿼리에 고정적으로 조건절에 집어넣을 수 있는 방법과 관련하여 문의드립니다. 반복적인 작업을 조금이라도 덜어주고자 노력하고 있는데 쉽지가 않네요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
스택과 메모리 질문입니다.
안녕하세요. 현재 강사님의 강의를 수강중인 학생입니다. 스택과 메모리강의를 방금 보았는데 이해가 안되는 부분이 있어 질문 남깁니다. 먼저 사진 1입니다. 사진 1은 강의대로 짠 코드를 f5를 눌러 디버그 했을때의 사진입니다. 현재 rsp는 0x60fe38이라고 나와있습니다. 질문1. 현재 0x60fe38에 들어있는 값은 의미가 있는 값인가요? 그 후 디버깅을 더 진행시켜봤습니다. 사진2 입니다. 사진 2는 MAX라는 함수를 실행시키기 전까지 (위에 push를 모두 실행하기까지) 디버깅을 진행한 사진입니다. 현재 0x60fe38이후 0x60fe30에 rax값이, 0x60fe28에 rbx, 0x60fe38에 5, 0x60fe38에 1이 잘 들어가 있는 것을 확인했습니다. 사진 3입니다. 문제의 사진 3입니다. 방금의 상황에서 f11키를 눌러 step into 해보았습니다. 그랬더니 rsp가 0x60fe18에서 0x60fe10으로 바뀌며 0x60fe10에 이상한 값이 들어있는것을 확인했습니다. 질문2 왜 rsp가 0x60fe18에서 0x60fe10으로 바뀐 건가요? (왜 stack이 한단계 더 쌓인건가요?) 질문3 사진 3에서 0x60fe10에 들어있는 값은 뭔가요? 질문4 사진으론 없지만 함수에서 빠져나가니 rsp가 0x60fe10에서 다시 0x60fe18로 바뀐것을 확인했습니다. 왜인가요..? 이해력이 부족하여 질문이 많습니다.. ㅠㅠ 죄송합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
pages폴더의 파일을 통해 components폴더의 컴포넌트들로 이동 할 경우
안녕하세요 제로초님 제로초님 영상을 보며 조금씩 응용해가면서 개인 사이드프로젝트를 진행하고 있습니다! 하단 로그인 navbar 를 클릭하여 pages의 login.js을 거쳐 LoginForm이라는 컴포넌트로 이동을 하고 있습니다! (마이페이지, 새글작성도 마찬가지) 제로초님의 방식은 AppLayout에서 컴포넌트에 바로 setIsLoggedIn props를 전달하는 방식인데 저는 AppLayout에 컴포넌트가 아닌 각각의 <Link>로 걸어놔서 props를 어떻게 효율적으로 전달해줘야할지 고민이 됩니다 ,,! 효율적인 해결방법이 생각나지않아서 const [isLoggedIn, setIsLoggedIn] = useState(false); 을 props 전달이 필요한 각 pages 마다 정의했고, login페이지에선 로그인이 되어있지 않으면 LoginForm 컴포넌트, 되어있으면 MainPage로 이동하게끔 return 부분의 컴포넌트를 이런식으로 전달을 해줬습니다 <AppLayout> { isLoggedIn ? <MainPage setIsLoggedIn={setIsLoggedIn}/> : <LoginForm setIsLoggedIn={setIsLoggedIn}/>} </AppLayout> 로그인 상태를 다른 페이지로 이동하면 유지하지 못함 (이건 서버가 없어서 그런건가 싶기도 해요..!) const [isLoggedIn, setIsLoggedIn] = useState(false);이 로그인, 마이페이지, 새글작성에 모두 중복되서 정의되어있음 (AppLayout컴포넌트에는 정의되어있지않음) 이런 문제점이 존재해서 혼자 해결해보려고 했지만 적당한 방법을 못찾아서 문의글을 남깁니다 ㅠㅠ AppLayout.js import React, { useState } from "react"; import PropTypes from "prop-types"; import Link from "next/link"; import { Row, Col } from "antd"; import styles from '../styles/styles.module.css'; import LoginForm from './LoginForm'; import MyPage from './MyPage'; const AppLayout = ({ children }) => { return ( <> <Link href="/"> <a><h1 className={styles.logo}>놀멍쉬멍 <img src="logoIcon.png" alt="logoImage" style={{width: '24px'}} /></h1> </a> </Link> <div>{children}</div> <Row className={styles.bottomNav}> <Col xs={4}><Link href="/writePost"><a>새글작성</a></Link></Col> <Col xs={4}><Link href="/community"><a>커뮤니티</a></Link></Col> <Col xs={8}> <Link href="/"> <a><img className={styles.centerNav} src='../icon.png'/></a> </Link> </Col> <Col xs={4}><Link href="/myPage"><a>마이페이지</a></Link></Col> <Col xs={4}><Link href="/login"><a>로그인</a></Link></Col> </Row> </> ); }; AppLayout.propTypes = { children: PropTypes.node.isRequired, }; export default AppLayout; pages/login.js import React, {useState} from "react"; import AppLayout from "../components/AppLayout"; import Head from 'next/head'; import MainPage from '../components/MainPage'; import LoginForm from '../components/LoginForm'; const login = () => { const [isLoggedIn, setIsLoggedIn] = useState(false); return ( <> <Head> <meta charSet="utf-8" /> <title>로그인 | 놀멍쉬멍</title> </Head> <AppLayout> { isLoggedIn ? <MainPage setIsLoggedIn={setIsLoggedIn}/> : <LoginForm setIsLoggedIn={setIsLoggedIn}/>} </AppLayout> </> ); }; export default login; components/LoginForm.js import React, { useCallback, useState } from 'react'; import {Form, Input, Button} from 'antd'; import Link from 'next/link'; import styles from '../styles/login.module.css'; import styled from 'styled-components'; const LoginBtn = styled(Button)` background-color: white; border: 1px solid #857171; &:hover { background-color: #857171; border: 1px solid #857171; color: white; } `; const LoginForm = ({setIsLoggedIn}) => { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const onChangeEmail = useCallback((e) => { setEmail(e.target.value); },[]); const onChangePassword = useCallback((e) => { setPassword(e.target.value); },[]); const onSubmitBtn = useCallback(() => { setIsLoggedIn(true); console.log(email, password); }, [email, password]); return ( <> <Form className={styles.LoginForm} onFinish={onSubmitBtn}> <div> <label htmlFor="user-email">이메일</label> <br /> <Input name="user-email" value={email} onChange={onChangeEmail} required/> </div> <div> <label htmlFor="user-password">비밀번호</label> <br /> <Input name="user-password" type="password" value={password} onChange={onChangePassword} required /> </div> <div className={styles.buttonWrapper}> <LoginBtn htmlType="submit" loading={false}>로그인</LoginBtn> < br/> <span>놀멍쉬멍이 처음이신가요?</span> <Link href="/signup"><a>회원가입</a></Link> </div> </Form> </> ); }; export default LoginForm; 폴더구조
-
미해결초보를 위한 쿠버네티스 안내서
쿠버네티스 rollout에 대해 질문있습니다.
안녕하세요. 쿠버네티스 관련하여 질문이 있습니다. yaml파일에서 이미지를 불러올떄 imagePullPolicy: Always와 버전 latest를 사용하고 있으며, 이미지는 버전관리 없이 docker hub latest로만 업데이트 되고 있습니다. 그런데 궁금한 부분이 이전 rollout undo 명령어를 사용하여 이전에 사용한 팟을 다시 실행하는 기능이 있던데, 이 경우 이전에 사용한 lateset 이미지를 사용하여 Pod을 다시 실행하는 것인지?? 아니면 이미지를 다시 다운받아서 이전 팟에 띄우는 것인지 궁금합니다.
-
미해결
리액트 state로 css변경 함수 질문드립니다.
import React, { useEffect, useState } from 'react'; import styles from './product_list.module.css'; import Product from './product_item/product_item'; const ProductList = ({products}) => { const [filterDisplay, setFilterDisplay] = useState('none'); const filterHandler = () => { if (filterDisplay === 'none') { setFilterDisplay('display'); console.log(filterDisplay); } else { setFilterDisplay('none'); console.log(filterDisplay); } } return ( <section className={styles.product_list}> <button onClick={filterHandler} className={styles.filterBtn}><i className="fas fa-filter"></i></button> <div style={{ display: filterDisplay, }} className={styles.filterBox}> <div className={styles.bikeBox}> <button className={styles.bikeBtn}>MTV</button> <button className={styles.bikeBtn}>하이브리드</button> <button className={styles.bikeBtn}>로드바이크</button> </div> </div> {/* <button className={styles.btn_regiprod}>버튼</button> */} { products.map(product => <Product key={product.id} product={product} /> ) } </section> ) }; export default ProductList; 해당 코드입니다. filterHandler()함수가 작동하면 하단 div의 스타일 display 속성값이 display로 바뀌어서 박스가 보였다 안보였다하게 만들고싶은데, 콘솔에는 변경된 state가 나오는데 실제로 작동이 안되네요... 해결법있을까요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
안녕하세요 제로초님 3:25초경에 해당하는 주소에 들어가서 css 파일로 만들어서 html에 연결했는데 css파일에서 오류가 발생했습니다.
안녕하세요 제로초님 3:25초경에 해당하는 주소에 들어가서 css 파일로 만들어서 html에 연결했는데 css파일에서 오류가 발생했습니다. css 파일 내에서 only속성 때문에 오류가 발생하는데요.. 아래는 html 파일과 css 파일입니다. html 파일은 강의에서 말씀하신대로 슬랙에 들어가 현재에 맞게 아이콘 코드를 바꿔주었습니다. 그래도 적용이되지 않아서 파일로 만드려고 해당하는 주소에 들어가서 css 파일 내용을 복사했는데 어디가 문제인지 모르겠습니다.
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
취약점 분석 방법론(3) 에서 궁금한 점 질문드립니다.
취약점 분석 방법론(3)을 듣고 있는데 이해가 잘 안가는 부분이 있어 질문드립니다. 데이터 타입이 문자형일 경우 '||'와 'a'를 넣어서 취약점유무확인을 할수있다고 하셨는데 그 이유에 대해서 정확하게 이해가 되지 않습니다.ㅠ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
안녕하세요 다른 질문이 생겨 글 남깁니다.
프로젝트 진행중에 게시판에서 사진 파일을 업로드 하는 기능을 넣어서 사용 하는데 기존에는 백엔드 소스폴더 내에 uploads폴더를 만들어 사용 했습니다. 도커를 이용해서 프로젝트를 배포 시키면 당연히 배포 서버에서 글을 작성하면 괜찮지만, 코드 수정등의 이유로 재 배포를 하면 재 배포된 폴더내용 그대로 들어가게 되어 upload폴더 내용이 초기화 되버립니다. 이런 static 폴더는 애초에 컨테이너를 따로 만들어서 사용하게 해야 하는건가요 아니면 다른 방법으로 해결해야 하나요 궁금합니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
httpMessageConverter와 ModelAttribute
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이번 강의에서 Http 메시지 컨버터는 JSON 데이터를 바디에서 직접 읽거나 쓰는 경우에 사용된다고 들었습니다. 그리고 바디에서 사용되니까 @RequestBody, @ResponseBody에서 사용한다는 사실도 알았습니다. 그렇다면 @ModelAttribute같은 것은 다른 converter를 사용해서 객체로 만들어주는 것인가요? 데이터를 읽어서 객체로 넣어준다는 사실에서 기능이 비슷하다고 느끼는데 body와 parameter라는 차이 때문에 다른 converter를 쓰는 것인지 궁금합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
시작부터 헷갈리네요
설치 후 다운받아야 하는 3가지 모두 다운을 받았는데 이후에 <html> 작성할때부터 화면이 다른데 어떻게 해야 하나요>? 그리고 셋팅 제이슨 검색도 안되네요 ㅠ 윈도우 10입니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
DAO, DTO, Entity, Domain
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 1. 제가 최근에 dto, dao같은 개념을 찾아봤는데 이해하고 있는 것이 맞나 궁금합니다. dto는 itemUpdateForm, itemSaveForm class, dao는 itemRepository이고 Service는 따로 구성을 하지 않았다. 2. 도메인 모델과 엔티티라는 개념을 명확하게 설명된 것을 못찾겠어서 질문드립니다. 우리가 만든 코드에서는 둘 다 Item을 의미한다고 생각되는데 둘의 차이가 무엇인지 모르겠습니다. - 이건 착각인지 모르겠는데 도메인 객체, 엔티티 class라고 많이 보이는 것 같은데 이것도 의미가 있나요
-
미해결단 두 장의 문서로 데이터 분석과 시각화 뽀개기
set_index()
강의 따라가면서 만들고 있는데 오류나는데 혹시 잘못된것이 있나요?
-
해결됨타입스크립트 입문 - 기초부터 실전까지
타입 가드의 정의
안녕하세요 강사님:) 타입 가드에 대해 질문이 있어 글을 남깁니다. 우선 핸드북에는 타입 가드에 대한 자료가 없어 타입스크립트 한글 공식 문서 를 봤습니다. 여기서는 타입 가드에 대한 정의가 "타입 가드는 스코프 안에서의 타입을 보장하는 런타임 검사를 수행한다는 표현식입니다." 라고 나와있고, 강의에서 예시로 들어주신 'target is Developer' 와 같은 표현식 외에도 typeof 연산자와 in 연산자도 타입 가드의 방식으로 표현되어 있더라구요. 그렇다면 타입가드 라는 것이 그냥 런타임에서 타입 에러가 나지 않게 보장해주는 방법 중 하나라고 보면 될까요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
강의 두번쨰 보는중이에요
판교님 vue시리즈 듣다가 완강하지 못하고 팀프로젝트에서 Vue 프론트엔드개발을 맡다 왔는데 다시보니 이해가 더 잘 되는 부분도 있고 재밌네요.. 에러코드, 예외처리 등 여러가지로 많이 배워갑니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberForm Class 관련 질문이 있습니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 잘 보고 있습니다. 좋은 강의 무료로 듣게 해주셔서 감사합니다. 다름이 아니고 Controller에 VO의 성질을 띄고 있는 MemberForm 클래스에 대해서 궁금한게 있는데요, domain 패키지에 변수 name 값을 가지고 있는 Member 라는 객체가 있는데 굳이 왜 만들었는지..? 잘 이해할 수가 없어서 질문드립니다 ! 제 생각은 이렇습니다..! public String create(MemberForm form) { Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } // 강의에서 작성한 코드 public String create(Member member) { member.setName(form.getName()); memberService.join(member); return "redirect:/"; } // 그냥 domain의 setName()을 사용해서 이렇게 바꿔도 될까요 ?