묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
맥북 IntelliJ 재설치 후 Intellij 내 터미널(terminal)이 작동이 안돼요
Intellij 기반으로 공부하고 있는 맥북 유저입니다.원래는 terminal로 "idea ." 명령어로 Intellij를 실행하고 공부하고 IntelliJ 내부 터미널로 git 명령어를 통해 백업하고 있었습니다.그런데 오늘 intellij를 삭제 후 재설치하고 나니intellij를 터미널에서 "idea ." 명령어로 실행되는 것이 불가능해졌습니다.해당 환경설정하는 방법은 시도해봤습니다. (IntelliJ 실행 -> Tools -> Create Command-Line Launcher)이걸 누르고 나면 아래와 같은 에러가 뜹니다.환경변수에 설정하라는 뜻인 거 같은데 저 경로를 환경변수에 넣으라는 뜻인 거 같아서 시도해봤는데 별 효과가 없었습니다. (intellij -> 환경설정 -> terminal -> Path Variable에 추가해봤습니다.)그리고... IntelliJ 내부에 자체적으로 있는 터미널도 말썽입니다.git 명령어 자체도 못 알아듣고요. (PC 내부에 있는 Terminal에서는 git이라는 명령어가 잘 작동합니다.)그 외에 ls 명령어도 못 알아듣는 상황입니다.해결 방법 아시는 분 계신다면 공유 부탁드립니다...
-
미해결따라하며 배우는 NestJS
auth 컨트롤러 파일에서 signUp은 ": Promise<~>"를 붙이는데 signIn은 왜 안 붙이시나요?
auth 컨트롤러 파일에서 signUp은 ": Promise<~>"를 붙이는데 signIn은 왜 안 붙이시나요?" : Promise<string> "를 붙여줘야 하는 거 아닌가요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
TCP/IP는 4계층인가요 5계층인가요?
안녕하세요! 좋은 강의 잘 듣고 있습니다.네트워크 부분에서 TCP vs UDP 부분을 듣고 있는데, 앞부분에서는 OSI 7계층과 TCP/IP 4계층을 설명해주실 때 하위 계층 중 데이터 링크 계층과 물리 계층이 네트워크 인터페이스 계층으로 통합된 형식으로 그림이 나와있었는데,뒷 부분에서 TCP/IP 전송 계층에 대해 설명해주실때는 5계층으로 데이터 링크 계층과 물리 계층이 존재하는 것으로 나옵니다.혹시 두 가지가 다른 경우인지, 4계층과 5계층 둘 다 있다고 생각하면 될지 궁금합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
node. app.js 실행시 error 발생.
안녕하세요!models 구성하고, app.js 로 db import도 다 했는데, node app.js 실행하면 다음과 같은 에러 메세지가 뜹니다.Post.belongsToMany called with something that's not a subclass of Sequelize.Modelmodels에서 user, hashtag export 가 잘못된거 같아서 다 확인했는데, 문제를 못찾았습니다.어떤 부분이 잘 못된걸까요?감사합니다.
-
해결됨코딩테스트 [ ALL IN ONE ]
트리에 관해 질문 있습니다
해당 코드에서 LCA에 첫번째 인자값에 배열을 넣어주는데 LCA의 함수에서 root는 left와 right를 가지고 있습니다. 무엇인가요...
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
아이템 드랍 확률 조정 질문
안녕하세요 강사님! 다름이 아니라 지금 강의에서는 probability를 백분율 기준으로 세팅한다고 하셨는데 만분율이나 1억만분율 기준으로 세팅하고 싶으면 코드의 어느부분을 손대야하는건지 궁금합니다. 사실 지금 백분율 기준으로 세팅했다고 하셨는데 그 부분도 어디서 세팅하는건지를 모르겠어서..ㅠㅠ 급한 마음에 질문이 앞서 이와 관련해 뒷 강의 부분에 나오면 그거 참고해서 하겠습니다!
-
해결됨CAN 통신 - 자동차 신입이 알아야 할 모든 것
제어기랑 ECU랑 같은 말인가요?
제어기, 전자제어장치, ecu 다 같은 말 인가요?
-
해결됨실전! Querydsl
@Transactional 테스트 케이스안에 query 및 transaction 작동방법
안녕하세요. @Transactional 테스트 케이스안에 query 및 transaction 작동방법이 이해가 안되서 문의드립니다. 일단 @Transactional을 테스트 케이스 붙이면 모든 change들이 테스트 완료후 롤백되는걸로 알고있습니다. 근데 제 update 메소드는 queryFactory.update() 메소드를 사용하고 있고 구글링 & chatgpt를 해본 결과 queryFactory.update()는 transaction을 커밋한다고 나왔습니다. 근데 제가 statsRepository.update() 시점 전과 후에 디버깅을 해보고 DB를 봤는데 값이 아직도 9로 나옵니다. transactional를 테스트 케이스에 안붙이면 메소드 후에 DB값이 10으로 관찰되고요. queryfactory.update()를 통해 transaction을 커밋했으면 DB에 값이 10으로 적용 된 다음에 테스트 끝난 시점에 다시 9로 롤백되는거 아닌가요? 아니면 커밋을 안하나요?좀 했갈려서 도와주셨으면 감사하겠습니다.@Test @Transactional void updateIfMatch(){ //given String Url = “bla” String createdAt = LocalDateTime.now() //when statsRepository.update(url, createdAt) Statistics stats = statsRepository.findById(8L).get() //then assertThat(stats.getRelaySuccessCount()).isEqualTo(10) } //statsRepository @Transactional public void update(String url, LocalDateTime createdAt){ queryFactory .update(statistics) .where(whereClause) .execute(); JPQLQuery<Long> subquery = JPAExpressions.select //etc etc //조인 테이블 쿼리 BooleanExpression whereClause = statistics.id.in(subquery); }
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
디지털 제품 다운로드
안녕 하세요?이미지 파일 또는 pdf 파일등과 같이 디지털 제품을 판매하려고 할때 결제후 각 구매 제품을 다운로드하게 처리 하려면 어떻게 하는것이 좋을까요?1. 모델에 file 추가2.order_detail 뷰에 추가 별도 처리 하면 되는지요?좋은 의견이나 참조 문서가 있으시면 알려주시면 대단히 감사 하겠습니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
좌표질문
좌표에서 위로가면 y축 +1 이 아닌 -1 이유가 궁금합니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어도 괜찮을까요?
function solution(target, arr) { let start = 0; let end = arr.legnth-1; let mid = Number.parseInt((start+end)/2); arr.sort((a,b)=>a-b); while(arr[mid]!==target){ if(arr[mid] > target) end = mid-1; else start = mid+1; mid = Number.parseInt((start+end)/2); } return mid+1; } 안녕하세요 강사님 이분검색 문제 풀이 방법에 대해 궁금증이 생겨 질문 남깁니다.문제 설명만 보고 혼자 풀어본건데 혹시 반례가 있을까요..? 이렇게 풀어도 괜찮을까요? 감사합니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
권한 요청드립니다.
인프런 아이디 : tpdud406인프런 이메일 : tpdud406@gmail.com깃헙 아이디 : tpdud406@gmail.com깃헙 Username : tpdud406
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
10-6 강의 중 A/B 테스트에 대한 질문 드립니다.
A/B Test 는 가설검정이 중요하다고 생각합니다.강의 내용에서는 간략히 설명된다 하더라도 본래의 통계 기법(예를 들어 모수의 표준편차를 알고 / 모름에 따른 Z분포 / T분포를 사용한다던가, 혹은 평균이 차이를 검증하는지, 표준편차의 차이를 확인하는지에 따라 Z분포 / F 분포 를 사용한다던가)을 따라야 한다고 생각합니다.그런데 강의 내용 중 나오는 A/B Testguide 에서는 그러한 입력이나 설정(평균 및 표준편차 기입)이 없이 바로 결과가 나오는 것 같아서요. 이러한 A/B test가 실제 옳은것인지 궁금합니다.
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
<도커 컨테이너와 이미지 조사하기 14분20초>
동영상 보고 몇번 다시 따라했는데 docker kill mywebserver 이후에 다시 run 시키면 vi가 설치안되어있다고 뜹니다ㅜ 어느부분을 다시 확인해봐야 할까요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
다중 인터셉터의 경우 호출 순서가 어떻게 되는지 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예/3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.<스프링 인터셉터 - 인증 체크> 강의 수강 중 의문이 생겨 질문드립니다. 다중 인터셉터의 경우 ( 편의 상 1, 2 로 표기할게요) 구글링해보니까pre 1 -> pre 2 -> 컨트롤러 호출 -> post 2 -> post 1 -> 요청 처리완료 -> after2 -> after 1이 순으로 호출된다고 하는데 맞을까요? 그리고, 미인증상태로 items/add 를 들어갔을 때 pre2 까지 수행 후 리다이렉트 + return false; 니까 다음 인터셉터는 수행되지 않는다 생각해서 after1 도 수행되지 않을 거라 생각했는데 로그에는 수행이 되더라구요. 컨트롤러에서 예외가 발생한게 아니라, preHandle 에서 false를 반환하는 경우에도 afterCompletion은 수행되는건가요?아니면 두번째 인터셉터의 preHandle이 false를 반환한거라 두번째 인터셉터만 건너뛰는거고 첫 번째 인터셉터랑은 무관해서 수행된걸까요?2023-05-09 13:56:35.412 INFO 32688 --- [nio-8080-exec-7] h.login.web.interceptor.Loginterceptor : REQUEST [14810694-f53d-4526-9a1f-5b95b3c0c010] [/items/add] [hello.login.web.item.ItemController#addForm(Model)] 2023-05-09 13:56:35.419 INFO 32688 --- [nio-8080-exec-7] h.l.w.interceptor.LoginCheckInterceptor : 인증 체크 인터셉터 실행 /items/add 2023-05-09 13:56:35.427 INFO 32688 --- [nio-8080-exec-7] h.l.w.interceptor.LoginCheckInterceptor : 미인증 사용자 요청 2023-05-09 13:56:35.432 INFO 32688 --- [nio-8080-exec-7] h.login.web.interceptor.Loginterceptor : RESPONSE [14810694-f53d-4526-9a1f-5b95b3c0c010][/items/add][hello.login.web.item.ItemController#addForm(Model)] 2023-05-09 13:56:35.468 INFO 32688 --- [nio-8080-exec-6] h.login.web.interceptor.Loginterceptor : REQUEST [5fb2bde4-eba5-4f97-b294-bad2597bd5f1] [/login] [hello.login.web.login.LoginController#loginForm(LoginForm)] 2023-05-09 13:56:35.495 INFO 32688 --- [nio-8080-exec-6] h.login.web.interceptor.Loginterceptor : postHandle [ModelAndView [view="login/loginForm"; model={loginForm=LoginForm(loginId=null, password=null), org.springframework.validation.BindingResult.loginForm=org.springframework.validation.BeanPropertyBindingResult: 0 errors}]] 2023-05-09 13:56:35.529 INFO 32688 --- [nio-8080-exec-6] h.login.web.interceptor.Loginterceptor : RESPONSE [5fb2bde4-eba5-4f97-b294-bad2597bd5f1][/login][hello.login.web.login.LoginController#loginForm(LoginForm)] 2023-05-09 13:56:35.699 INFO 32688 --- [nio-8080-exec-8] h.l.w.interceptor.LoginCheckInterceptor : 인증 체크 인터셉터 실행 /favicon.ico 2023-05-09 13:56:35.699 INFO 32688 --- [nio-8080-exec-8] h.l.w.interceptor.LoginCheckInterceptor : 미인증 사용자 요청 2023-05-09 13:56:35.709 INFO 32688 --- [nio-8080-exec-9] h.login.web.interceptor.Loginterceptor : REQUEST [5ad8ae3f-2e48-479e-8013-4ffc72ecaf06] [/login] [hello.login.web.login.LoginController#loginForm(LoginForm)] 2023-05-09 13:56:35.709 INFO 32688 --- [nio-8080-exec-9] h.login.web.interceptor.Loginterceptor : postHandle [ModelAndView [view="login/loginForm"; model={loginForm=LoginForm(loginId=null, password=null), org.springframework.validation.BindingResult.loginForm=org.springframework.validation.BeanPropertyBindingResult: 0 errors}]] 2023-05-09 13:56:35.719 INFO 32688 --- [nio-8080-exec-9] h.login.web.interceptor.Loginterceptor : RESPONSE [5ad8ae3f-2e48-479e-8013-4ffc72ecaf06][/login][hello.login.web.login.LoginController#loginForm(LoginForm)] 혹시 여기서 말하는 '나머지 인터셉터'가 다른 인터셉터의preHandle만 의미하는 건가요? 그래서 postHandle, afterCompletion 이랑은 별개인걸까요 아직 내용을 잘 숙지하지는 못한 상태라 질문이 매끄럽지 못한점 양해부탁드려요.감사합니다.
-
미해결프로젝트로 배우는 Vue.js 3
59강 API body 질문입니다.
59강 TodoForm onSave 함수에서 API를 호출할 때, data 객체를 생성하지 않고 API 바디에 곧바로 todo.value를 넣으면 안될까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[예시질문] 마지막 예시 코드 질문 있습니다.
#include <bits/stdc++.h> using namespace std; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1}; // bool m[3][3]; bool visited[3][3]; bool m[3][3] = { 1, 0, 1, 1, 0, 1, 0, 1, 1 }; // void visit(int x, int y) // { // cout << '(' << x << ", " << y << ')' << '\n'; // visited[x][y] = true; // for(int i = 0; i < 4; i++) // { // int nx = x + dx[i]; // int ny = y + dy[i]; // if(nx < 0 || nx >= 3 || ny < 0 || ny >= 3) // continue; // else // if(!visited[nx][ny] && m[nx][ny]) // visit(nx, ny); // } // } int main(void) { for(int i = 0; i < 3; i++) for(int j = 0; j < 3; j++) for(int k = 0; k < 4; k++) { int nx = i + dx[k]; int ny = j + dy[k]; if(nx < 0 || nx >= 3 || ny <0 || ny >= 3) continue; else if(!visited[nx][ny] && m[nx][ny]) { cout << '(' << nx << ", " << ny << ')' << '\n'; visited[nx][ny] = true; } } // for(int i = 0; i < 3; i++) // for(int j = 0; j < 3; j++) // cin >> m[i][j]; // visit(0, 0); return 0; }강의를 보고 제가 작성한 코드입니다. 강의 내Q. 3 * 3 맵을 입력받아야 함. 이 맵은 1과 0으로 이루어져있고 {0, 0}은 무조건 1임을 보장한다. {0, 0}부터 4방향을 기준으로 한칸씩 탐색해나가며 방문한 정점은 다시 방문하지 않으며 방문하는 좌표를 출력하는 코드. 0은 갈 수 없는 지역. 1은 갈 수 있는 지역을 구현하시오.라는 문제에 따라서 해당 코드로 구현했습니다. 해당 코드의 결과는(1, 0) (0, 2) (0, 0) (1, 2) (2, 1) (2, 2) 정확한 의도와는 다르게 구현된 부분( (0, 0) 부터 가는게 아니라서 출력 순서가 바뀜) 이 있지만 문제에 맞게 작성을 했는데요. 강사님이 작성하신 코드를 그대로 복붙한 결과, 강사님이 작성하신 코드 참조해서 작성한 코드 결과가 모두(0, 0) (1, 0)이렇게 결과가 나왔는데잘못된게 아닌가 싶어서 질문 드립니다. 혹시 제가 뭔가 빼먹었나요.현재까지 본 영상으로 DFS, BFS 에서 사용되는 핵심 부분의 일부를 빌드업으로써 설명을 잘해주셔서 이해가 빨리 됩니다. 근데 아무래도 왜 저런 결과가 나오는지 이해가 잘 안됩니다. 재귀 호출로 인해서 분명 다 조회가 될텐데 말이죠. 강의 잘 듣고 있습니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
쿠버네티스 설치 0509
vagrant : 도커같은 편하게 이미 만들어진 vm 이미지를 다운받을 수 있는 도구 //도커가 나오면서 하락세플러그인 설치vagrant plugin install vagrant-vbguest --plugin-version 0.21init시 Vagrantfile이 생김에디터로 열어서Vagrant.configure("2") do |config| # Node1 config.vm.define:"node-1" do |cfg| cfg.vm.box = "centos/7" cfg.vm.provider:virtualbox do |vb| vb.name="node-1" vb.customize ["modifyvm", :id, "--cpus", 1] vb.customize ["modifyvm", :id, "--memory", 1024] end cfg.vm.host_name="node1" # cfg.vm.synced_folder ".", "/vagrant", type: "nfs" cfg.vm.network "private_network", ip: "192.168.56.11" cfg.vm.network "forwarded_port", guest: 22, host: 19211, auto_correct: false, id: "ssh" cfg.vm.network "forwarded_port", guest: 8080, host: 18080 cfg.vm.provision "shell", path: "bash_ssh_conf_4_CentOS.sh" end # Node2 config.vm.define:"node-2" do |cfg| cfg.vm.box = "centos/7" cfg.vm.provider:virtualbox do |vb| vb.name="node-2" vb.customize ["modifyvm", :id, "--cpus", 1] vb.customize ["modifyvm", :id, "--memory", 1024] end cfg.vm.host_name="node2" # cfg.vm.synced_folder ".", "/vagrant", type: "nfs" cfg.vm.network "private_network", ip: "192.168.56.12" cfg.vm.network "forwarded_port", guest: 22, host: 19212, auto_correct: false, id: "ssh" cfg.vm.network "forwarded_port", guest: 8080, host: 28080 cfg.vm.network "forwarded_port", guest: 30234, host: 30234 cfg.vm.provision "shell", path: "bash_ssh_conf_4_CentOS.sh" end # master config.vm.define:"master" do |cfg| cfg.vm.box = "centos/7" cfg.vm.provider:virtualbox do |vb| vb.name="master" vb.customize ["modifyvm", :id, "--cpus", 2] vb.customize ["modifyvm", :id, "--memory", 2048] end cfg.vm.host_name="master" # cfg.vm.synced_folder ".", "/vagrant", type: "nfs" cfg.vm.network "private_network", ip: "192.168.56.10" cfg.vm.network "forwarded_port", guest: 22, host: 19214, auto_correct: false, id: "ssh" cfg.vm.network "forwarded_port", guest: 8080, host: 48080 cfg.vm.network "forwarded_port", guest: 8001, host: 48001 end end bash_ssh_conf_4_CentOS.sh 파일 생성 저장 #! usrbinenv bash now=$(date +%m_%d_%Y) cp etcsshsshd_config etcsshsshd_config_$now.backup sed -i -e 'sPasswordAuthentication noPasswordAuthentication yesg' etcsshsshd_config systemctl restart sshd vagrant up 하고https://github.com/joneconsulting/k8s/blob/master/install/kubernetes_install.md강사님꺼 그대로 따라함 kubectl get nodes 에러나면 (뭔뜻인진 모름 스택오버플로우에서 찾음)mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config running상태가 아닌거 해결 : 깃허브껄로는 작동을 안함 curl https://docs.projectcalico.org/manifests/calico.yaml -Okubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml KUBECONFIG=/etc/kubernetes/admin.conf 쿠버네티스 대시보드 설치https://may9noy.tistory.com/343 개인 서버에 설치해서 아이피로 접속하고 싶을 때
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ResponseEntity와 @RestController
안녕하세요 강의 너무 잘 듣고 있습니다! 다름이 아니라 섹션 6. 스프링 MVC - 기본 기능 부분을 듣다가 궁금한 점이 생겨서 질문 드립니다. 우선 제가 이해하기로는 ResponseEntity를 사용하는 이유는 데이터(객체)와 함께 HTTP 응답 코드를 같이 반환 할 수 있기 때문이다물론 @ResponseBody와 @ResponseStatus를 같이 쓰면 데이터와 HTTP 응답 코드를 같이 보내줄 수 있지만, @ResponseStatus는 애노테이션이기에 동적으로 HTTP 응답 코드를 설정할 수 없기에 ResponseEntity를 사용하는게 더 효율적이다이렇게 두 가지 정도로 알고 있습니다. 여기서 제가 궁금한 점은 반환 타입이 ResponseEntity인 경우 왜 @RestController를 사용하는지 입니다. 그 동안 저도 ResponseEntity를 반환하는 컨트롤러에 @RestController를 항상 붙여줬는데, 강의를 보다 보니 ResponseEntity를 반환할 때는 @ReponseBody가 필요하지 않아서 @RestController가 아닌 @Controller로도 동작하는데 문제가 없어 보이기에 혹시 다른 이유가 있는지 궁금합니다.개인적으로 생각했을때 ResponseEntity를 반환하는 컨트롤러에 @RestController를 쓰는 이유는중간중간 ResponseEntity가 아닌 String, Object 같은 데이터만 반환하는 메서드가 있을 수 있고, 그런 메서드 마다 @ResponseBody를 붙이는게 번거롭기 때문에@RestController 적용시 스프링 컨테이너가 Bean Scope를 template 영역까지 고려하지 않아서 resource를 절약할 수 있기 때문에(?)이 두가지 정도 떠오릅니다. 만약 추가적으로 ResponseEntity를 반환하는 컨트롤러에서 @RestController를 사용하는 이유가 있을까요?그리고 두 번째 이유는 저도 정확히 아는게 아니라 주변에서 들었던 부분인데 이 이유도 해당된다면 조금 풀어서 설명해주실 수 있을까요?감사합니다!
-
미해결실전! 스프링 데이터 JPA
member 테이블에 member!!!!!!!!!이 안나옵니다.
member 에 저장된 데이터가 없습빈다.