묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Transactional
안녕하세요 강의 중 @Transactional 처리를 Repository에서 하신 적은 없으신데 저 같은 경우는 em.persist()만 하는데도 Repository에 @Taransactional이 필요하더라구요 없으면 cannot reliably process 'persist' call 와 같은 에러가 발생합니다. 제가 사용하는 코드 입니다. @Transactional@Overridepublic Long save(Member member) { em.persist(member); return member.getId();}// 아래 코드는 서비스 클래스 입니다 // 구글 사용자 정보가 업데이트 되었을 때를 대비하여 update 기능 구현(이름만 반영)@Transactionalpublic Member saveOrUpdate(OAuthAttributes attributes) { Member member = memberRepository.findByEmail(attributes.getEmail()); if (member == null) { Long id = memberRepository.save(attributes.toEntity()); return memberRepository.findOne(id); } return member.update(attributes.getName());}
-
미해결프론트엔드 개발자를 위한 웹팩
Webpack Dev Server 실행시 에러가 납니다.
이번 lecture 실습들에서 에러 없이 쭉오다 Dev Server 실행시 에러가 나고 있습니다. 마침 이전에 작성하신분도 같거나 유사하 에러인거 같습니다. index.html index.js webpack.config.js 모두 blog 에서 copy & past 해서 오타는 없었습니다. package.json 도 동영상과 동일한 환경이었습니다. Dev Server 를 실행하려고 실행하려고 npm run dev 를 치면 오류가 나고 있습니다. 발견 못한게 있나 하고 dev-server 폴더를 삭제하고 처음부터 코딩해도 결과는 같았습니다. "scripts": 안에 "build": "webpack" 을 넣고 npm run build를 치면 성공하여 bundle.js 가 생성됩니다. 아래는 error 났을때 capture 뜬 것들입니다.
-
미해결파이썬 웹서비스API 실전 프로젝트 - 돈 버는 디지털마케팅
질문있습니다.
find도 찾는거고 select도 ul.type_normal를 찾는건데 웹스크래핑중에 두개가 차이가 있나요?
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
초보잊니다
.
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
문제에서 queue와 list의 초기화가 궁금합니다.
Queue<TreeNode> queue = new LinkedList<>();List<Integer> list = new LinkedList<>(); 이와 같이 둘 모두 LinkedList로 초기화한 이유가 궁금해서 여쭤봅니다 ㅠ그냥 PriorityQueue 혹은 ArrayList와 같은 것들로는이 문제의 로직이 설명이 안되는 것인지 궁금합니다 ㅠ어떻게 LinkedList로 바로 생각이 들까요?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
설치..
설치법을 모르겠습니다. 저 명령어대로 쳐도 설치가 안되는대 설치법좀 다시 한번알려주세요
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
CORS 관련하여 질문합니다 !
안녕하세요 선생님, 강의 정말 너무 잘 보고 있습니다. Cors 이전까지는 문제없이 쭉 잘 따라왔습니다. 물론 Cors문제도 해결을 했는데 질문란을 보니 결국 2가지 방법 정도가 많이 쓰이는 것 같더라구요. 첫 번째는 선생님이 알려주신 Proxy 를 사용하는 방법과 두 번째는 백엔드에 cors 를 받아 사용하는 방법 1. 실제 현업에서는 무엇이 더 많이 쓰이는지 궁금하고 2. 백엔드에서 cors를 받아 사용을 하게 되면 axios.get("http://localhost:8080/api/users/login") 과 같은 방식으로 사용을 하게 되는데 저 http://localhost:8080 현업에서도 저런식으로 작성하는 지 혹은 변수같은걸 통해서 생략하는지 궁금합니다. 강의 정말 너무 잘 보고 있고 좋은 강의 무료로 배포해주셔서 감사합니다.
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
robots.txt를 회피하려면 어떻게 해야하나요?
사이트를 Scrapy를 활용해서 할려고 하면 robots 때문에 redirect가 되는데 이를 해결하고자 settings.py에서 ROBOTSTXT_OBEY = False 로도 바꾸긴 했는데 동일하게 안되는데, 이런경우 scrapy로는 작업을 못하는건가요??? 제가 크롤링 하려는 사이트는 www.etherscan.io입니다 2020-10-22 19:09:55 [scrapy.utils.log] INFO: Scrapy 2.4.0 started (bot: etherscan) 2020-10-22 19:09:55 [scrapy.utils.log] INFO: Versions: lxml 4.5.0.0, libxml2 2.9.9, cssselect 1.1.0, parsel 1.6.0, w3lib 1.22.0, Twisted 20.3.0, Python 3.7.7 (default, Mar 26 2020, 10:32:53) - [Clang 4.0.1 (tags/RELEASE_401/final)], pyOpenSSL 19.1.0 (OpenSSL 1.1.1g 21 Apr 2020), cryptography 2.9.2, Platform Darwin-19.6.0-x86_64-i386-64bit 2020-10-22 19:09:55 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.selectreactor.SelectReactor 2020-10-22 19:09:55 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'etherscan', 'NEWSPIDER_MODULE': 'etherscan.spiders', 'SPIDER_MODULES': ['etherscan.spiders']} 2020-10-22 19:09:56 [scrapy.extensions.telnet] INFO: Telnet Password: 3e40e2b9fbf79ea2 2020-10-22 19:09:56 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.memusage.MemoryUsage', 'scrapy.extensions.logstats.LogStats'] 2020-10-22 19:09:56 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2020-10-22 19:09:56 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2020-10-22 19:09:56 [scrapy.middleware] INFO: Enabled item pipelines: [] 2020-10-22 19:09:56 [scrapy.core.engine] INFO: Spider opened 2020-10-22 19:09:56 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2020-10-22 19:09:56 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6026 2020-10-22 19:09:56 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET https://www.etherscan.io/> from <GET http://www.etherscan.io/> 2020-10-22 19:09:56 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/> 2020-10-22 19:09:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404> 2020-10-22 19:09:57 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404> 2020-10-22 19:09:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404> 2020-10-22 19:09:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404> 2020-10-22 19:09:58 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404> 2020-10-22 19:09:59 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404> 2020-10-22 19:09:59 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET https://www.etherscan.io/404> from <GET https://www.etherscan.io/404>
-
미해결[Django] 장고로 인프런 따라만들기
안녕하세요 장고에서 폴더가 안만들어지는데요
장고에서 폴더가 안들어져요 똑같이 따라했는데 잘안되네요
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
concurrently 질문입니다!!
안녕하세요! 강의 너무너무 잘 보았고, 지금 강의대로 직접 연습해보고 있습니다! 강의 내용 중 concurrently를 사용하면 백엔드, 프론트 서버를 한꺼번에 켤 수 있다고 하셨는데 한꺼번에 켜지긴 하지만, 선생님처럼 App.js가 메인으로 뜨지 않고 app.get('/', (req, res) => res.send('Hello World!')); 여기에 설정해놨던 Hello World가 계속 뜹니다 ㅠㅠ (제 서버 포트는 8080, 클라이언트 포트는 3000인데 8080에서는 Hello World가 뜨고, 3000번은 접속이 되지 않습니다.) 선생님처럼 App.js가 메인에 뜨게하려면 어떻게 해야하는지, 제가 어떤 부분을 빠뜨린건지 알려주시면 감사하겠습니다!! ** 추가 위의 문제는 proxy 코드 문제였어요 선생님! const proxy = require('http-proxy-middleware') 부분을 const { createProxyMiddleware } = require('http-proxy-middleware') 로 수정하니 되네요. 버전 문제라고 해요! 혹시 저와 같은 문제가 있으신 분들이 있을까봐 글은 그대로 남겨놓을게요! 좋은 강의 감사드립니다 :)
-
미해결실전! Querydsl
혼자 공부중 궁금한내용 질문드립니다
Spring Data JPA와 QueryDSL을 같이 사용하는이유가 혹시 쿼리가 복잡하지 않고 간단한것들은 Spring Data JPA로 처리하고 복잡한 로직이 들어간다던지 하는 로직들은 @Query 어노테이션으로 처리하면 컴파일단계가 아닌 런타임단계에서 익셉션이 발생하니 사전 방지하고자 QueryDSL을 사용하여 컴파일단계에서 방지하자!! 그래서 2개를 같이사용하는 걸까요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
cascade에 대해서 질문드립니다.
김영한 강사님께서 cascade는 소유자가 하나일때 사용하라고 하셨는데, orderItem 같은 경우는 소유자가 order와 item이 있는데도 불구하고 사용하신 이유가 궁금합니다. 단지 예제를 이용해서 사용하신건지
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
인벤토리 실습
제가 인벤토리와 장비창을 만들 예정인데 일단 토글형태로 I키로 인벤토리를제어 할려고 합니다. 이 인벤토리 관련해서 SetActive으로 껏다 켰다하는 것과 UIManager를 통해서 Instantiate, Destory 중 어떤게 더 바람직 할까요??..
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
axios.defaults.baseURL 지정 후, 다른 서버에 요청을 보내려면?
/front/sagas/index.js 에서 axios.defaults.baseURL = 'http://localhost:3065'; axios.defaults.withCredentials = true; 이렇게 공통으로 지정을 해주는데, 만약에 예외적으로 다른 URL을 사용하고 싶으면 어떻게 하나요? function loadPostsAPI(data) { return axios.get('http://naver.com/test', data); } 이런식으로 개별적으로 URL 넣어주면 될까요? 아니면 애초에 공통URL을 지정해주지 말고 각자 넣어줘야 하는걸까요? 공통URL과 더불어 withCredentials 값도 각자 넣으려면 어떻게 해야하는지 궁금합니다!
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
kubeadm reset 후 init 시 오류
kubeadm reset 후 다시 init 시 아래와 같이 나오고 [root@itsm-ci ~]# kubeadm init W1022 16:20:59.529935 3584 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] [init] Using Kubernetes version: v1.19.3 [preflight] Running pre-flight checks [WARNING SystemVerification]: missing optional cgroups: pids [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 [itsm-ci kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.0.0.73] [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 [itsm-ci localhost] and IPs [10.0.0.73 127.0.0.1 ::1] [certs] Generating "etcd/peer" certificate and key [certs] etcd/peer serving cert is signed for DNS names [itsm-ci localhost] and IPs [10.0.0.73 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. [kubelet-check] It seems like the kubelet isn't running or healthy. [kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused. [kubelet-check] It seems like the kubelet isn't running or healthy. [kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused. [kubelet-check] It seems like the kubelet isn't running or healthy. [kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused. [kubelet-check] It seems like the kubelet isn't running or healthy. [kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused. [kubelet-check] It seems like the kubelet isn't running or healthy. [kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused. 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 로그를 살펴봐도 딱히 알수가 없어서 질문해요. I1022 16:12:24.517130 28853 server.go:411] Version: v1.19.3 I1022 16:12:24.517630 28853 server.go:831] Client rotation is on, will bootstrap in background I1022 16:12:24.522119 28853 certificate_store.go:130] Loading cert/key pair from "/var/lib/kubelet/pki/kubelet-client-current.pem". I1022 16:12:24.524175 28853 dynamic_cafile_content.go:167] Starting client-ca-bundle::/etc/kubernetes/pki/ca.crt W1022 16:12:24.652251 28853 nvidia.go:61] NVIDIA GPU metrics will not be available: no NVIDIA devices found I1022 16:12:24.683063 28853 server.go:640] --cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to / I1022 16:12:24.683903 28853 container_manager_linux.go:276] container manager verified user specified cgroup-root exists: [] I1022 16:12:24.683963 28853 container_manager_linux.go:281] Creating Container Manager object based on Node Config: {RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: ContainerRuntime:d I1022 16:12:24.684185 28853 topology_manager.go:126] [topologymanager] Creating topology manager with none policy I1022 16:12:24.684204 28853 container_manager_linux.go:311] [topologymanager] Initializing Topology Manager with none policy I1022 16:12:24.684216 28853 container_manager_linux.go:316] Creating device plugin manager: true I1022 16:12:24.684341 28853 client.go:77] Connecting to docker on unix:///var/run/docker.sock I1022 16:12:24.684363 28853 client.go:94] Start docker client with request timeout=2m0s W1022 16:12:24.698575 28853 docker_service.go:565] Hairpin mode set to "promiscuous-bridge" but kubenet is not enabled, falling back to "hairpin-veth" I1022 16:12:24.698631 28853 docker_service.go:241] Hairpin mode set to "hairpin-veth" W1022 16:12:24.698810 28853 cni.go:239] Unable to update cni config: no networks found in /etc/cni/net.d W1022 16:12:24.705122 28853 cni.go:239] Unable to update cni config: no networks found in /etc/cni/net.d I1022 16:12:24.705222 28853 docker_service.go:256] Docker cri networking managed by cni W1022 16:12:24.705328 28853 cni.go:239] Unable to update cni config: no networks found in /etc/cni/net.d I1022 16:12:24.738463 28853 docker_service.go:261] Docker Info: &{ID:QG4V:H44H:7F2H:7W5N:DH3H:YTPU:VC7A:NBXY:HDOO:OZXV:NZYE:6SSC Containers:0 ContainersRunning:0 ContainersPaused:0 ContainersSto ror: RemoteManagers:[] Nodes:0 Managers:0 Cluster:<nil> Warnings:[]} LiveRestoreEnabled:false Isolation: InitBinary:docker-init ContainerdCommit:{ID:8fba4e9a7d01810a393d5d25a3621dc101981175 Expect Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.]} I1022 16:12:24.738619 28853 docker_service.go:274] Setting cgroupDriver to systemd I1022 16:12:24.762240 28853 remote_runtime.go:59] parsed scheme: "" I1022 16:12:24.762276 28853 remote_runtime.go:59] scheme "" not registered, fallback to default scheme I1022 16:12:24.762325 28853 passthrough.go:48] ccResolverWrapper: sending update to cc: {[{/var/run/dockershim.sock <nil> 0 <nil>}] <nil> <nil>} I1022 16:12:24.762351 28853 clientconn.go:948] ClientConn switching balancer to "pick_first" I1022 16:12:24.762445 28853 remote_image.go:50] parsed scheme: "" I1022 16:12:24.762463 28853 remote_image.go:50] scheme "" not registered, fallback to default scheme I1022 16:12:24.762483 28853 passthrough.go:48] ccResolverWrapper: sending update to cc: {[{/var/run/dockershim.sock <nil> 0 <nil>}] <nil> <nil>} I1022 16:12:24.762495 28853 clientconn.go:948] ClientConn switching balancer to "pick_first" I1022 16:12:24.762553 28853 kubelet.go:261] Adding pod path: /etc/kubernetes/manifests I1022 16:12:24.762627 28853 kubelet.go:273] Watching apiserver E1022 16:12:24.764326 28853 reflector.go:127] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:46: Failed to watch *v1.Pod: failed to list *v1.Pod: Get "https://10.0.0.73:6443/api/v1/pods?fieldSelector=spec.nodeName%3Ditsm-ci&limit=500&resourceVersion=0": dial tcp 10.0.0.73:6443: connect: connection refused E1022 16:12:24.765110 28853 reflector.go:127] k8s.io/client-go/informers/factory.go:134: Failed to watch *v1.Service: failed to list *v1.Service: Get "https://10.0.0.73:6443/api/v1/services?limit=500&resourceVersion=0": dial tcp 10.0.0.73:6443: connect: connection refused E1022 16:12:24.765661 28853 reflector.go:127] k8s.io/kubernetes/pkg/kubelet/kubelet.go:438: Failed to watch *v1.Node: failed to list *v1.Node: Get "https://10.0.0.73:6443/api/v1/nodes?fieldSelector=metadata.name%3Ditsm-ci&limit=500&resourceVersion=0": dial tcp 10.0.0.73:6443: connect: connection refused 계속 connection refused 만 나오는데 원인을 모르겠습니다. centOS7 에서 진행중이고 selinux permitive, 방화벽은 아예 off 되어 있고 swapoff 도 되어 있습니다. 동영상처럼 진행해도 잘 안되네요.
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
코드내에서 쉼표를 자동으로 찍어주는 기능이있나요?
선생님 혹시 강의 중간중간 쉼표가 안찍혀있는 부분들에 대해서 자동으로 쉼표를 찍어주시는 기능을 사용하시는 것 같은데 어떤기능인지 알 수 있을까요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
signup 구현
안녕하십니까 제로초님. 유저가 회원가입후 같은 컴퓨터로 다른 사람이 회원가입을 할때를 가정하여 테스트 해보았는데. 즉 회원가입이 성공한뒤 한번더 회원가입을 하는 경우. useEffect 를 사용하여 if(SighUpDone)이면 index페이지로 디렉팅이 되도록 되어있어 회원가입후에는 회원가입 페이지로 들어가지 못합니다. 이 문제를 해결하기 위해 생각한 방법으로는 새로운 Dispatch를 통해서 SignUpDone을 false로 만들거나 혹은 SignUpDone 말고 다른 SignUp이 가능한지 상태를 나타낼수있는 변수생성해 이용하면 구현이 가능할꺼 같기는 한데... Dispatch를 사용하지 않고 signup페이지에서만 이기능을 구현할수 있는 방법이 있나요?
-
해결됨스프링 핵심 원리 - 기본편
Service 레이어의 Impl 객체에 대해 질문이 있습니다.
안녕하세요!스프링 예제를 볼 때 마다, Repository에 대해 구현은 여러개 인게 많은데 Service 에 대한 구현 객체는 꼭 Impl 이라는 이름으로 하나 더라구요..ㅜㅜ현업에서 하나의 서비스 인터페이스에 대해 두 개 이상의 서비스 구현체를 만드는 경우가 있나요? 있다면 어떤 예시가 있을까요?감사합니다!
-
해결됨스프링과 JPA 기반 웹 애플리케이션 개발
질문있습니다.(자체해결..)
삭제된 글입니다
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
로그인이 에러가 뜹니다
https://github.com/hwd3004/Blog/tree/28-Header(7)-/-history%40-4.7.2 새 계정 만들어서 하면, 만든 아이디로 로그인까지 잘되어지고, 로그아웃도 잘되는데, 있는 아디로 로그인하려하면 에러가 뜹니다. 무엇을 수정해야할까요?