묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
BasicItemControllerV2 코드 질문있습니다.
@PostMapping("/add") public String addItem2(@ModelAttribute("item") Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model){ //검증 오류 결과를 보관 Map<String,String> errors=new HashMap<>(); //검증 로직 if (!StringUtils.hasText(item.getItemName())) { bindingResult.addError(new FieldError("item","ItemName","상품 이름은 필수입니다.")); // errors.put("itemName", "상품 이름은 필수입니다."); } if (item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000) { bindingResult.addError(new FieldError("item","Price","가격은 1,000 ~ 1,000,000 까지 허용합니다.")); // errors.put("price", "가격은 1,000 ~ 1,000,000 까지 허용합니다."); } if (item.getQuantity() == null || item.getQuantity() >= 9999) { // errors.put("quantity", "수량은 최대 9,999 까지 허용합니다."); bindingResult.addError(new FieldError("item","Quantity","수량은 최대 9,999 까지 허용합니다.")); } //특정 필드가 아닌 복합 룰 검증 if (item.getPrice() != null && item.getQuantity() != null) { int resultPrice = item.getPrice() * item.getQuantity(); if (resultPrice < 10000) { // errors.put("globalError", "가격 * 수량의 합은 10,000원 이상이어야 합니다. 현재 값 = " + resultPrice); bindingResult.addError(new ObjectError("item","가격 * 수량의 합은 10,000원 이상이어야 합니다. 현재 값 = + resultPrice")); } } if (bindingResult.hasErrors()){ log.info("errors={}",errors); model.addAttribute("errors",errors); return "validation/v2/addForm"; }위에 코드는 BasicItemControllerV2 중 일부 입니다.FieldError는 item class에 있는 엔티티를 찾아서오류를 출력해주는건가요?ObjectError는 item class에 엔티티가 없어서 새로 item 객체를 생성해서 가격을 검사하는건가요?
-
미해결Practical Testing: 실용적인 테스트 가이드
@SpringBootTest 여러 개 사용 시 데이터 남아있는지 여부 문의
안녕하세요. 프로젝트 내에서 통합 테스트를 위해서 @SpringBootTest를 사용한 여러 테스트 코드를 작성하였습니다.예를 들어 아래와 같이 별개의 2개 테스트 코드에는 각각 school table의 값을 생성 및 조회하는 코드가 들어있습니다.@SpringBootTest @Transactional class aTest { // JPA 사용해서 school Table의 data 생성/조회 } --------------------- @SpringBootTest @Transactional class bTest { // JPA 사용해서 school Table의 data 생성/조회 } 위와 같이 테스트 코드를 작성하고 aTest.java 에서 school table에 3개의 데이터를 넣은 경우, bTest.java 에서 school 테이블의 값을 읽었을 때, aTest.java에서 넣은 값은 지워지는 것인지요? 아니면 그대로 남아 bTest.java 에서 조회가 가능한 것인지요?@Transactional이 들어가 있는 경우 데이터가 rollback 되는 것으로 알고 있어서, bTest.java에서 읽었을 때는 빈 테이블이 있을 것으로 예상했는데, 테스트를 해보면 School table의 id 값(자동 증가하는 값)이 bTest.java에서 처음 읽었을 때 4로 보이는 현상이 있어서 질문을 드립니다.
-
미해결스타트업 성장과 함께하는 AWS 클라우드 아키텍쳐 올인원
Autoscailing crontab 질문
안녕하세요 강사님 ec2를 ha 구성을 하게 되면 crontab은 어떻게 관리를 하는지 궁금합니다.예를 들어서 target instance에 crontab이 있다고 가정하면 cpu가 증가하여 ec2가 3대가 생기면 특정 시간에 crontab이 돌면 각각의 ec2에 crontab이 1번씩 발생해서 총 3번이 발생할거 같은데 특정 혹시 현업에서는 보통 crontab을 어떻게 관리를 하시나요?
-
미해결김영한의 실전 자바 - 기본편
개인적인 공부 방향성 질문
안녕하세요. 코딩 질문과 직접적인 관련은 없지만 훌륭한 멘토분들의 조언 역시 엄청난 자산이라고 생각해서 조언을 얻고자 합니다. 현재 자바를 3개월정도 공부한 상황인데. 김영한 선생님의 고급까지 마무리 함과 더불어 spring framework 를 공부하는게 어떤 면에서 도움이 될까요? 일종의 알고리즘을 배우는 과정인건가요 ? 또는 Spring framework 이외에도 어떤 공부를 병행하면 좋을지 모르겠습니다. 도움주시면 감사드리겠습니다.
-
해결됨김영한의 실전 자바 - 중급 1편
섹션 7. 내부 클래스 질문
예를 들어public class Outer{ public class Inner{ } } 이렇게 바깥 클래스와 내부 클래스가 있을 때,Inner 클래스를 생성하려면 Outer 인스턴스를 생성하고 그 참조값을 받아서 Inner 인스턴스를 생성하는 건데,main 메서드에서 Outer객체를 생성하면 그 내부에 있는 Inner클래스는 같이 생성되서 따로 Inner클래스를 생성하지 않아도 되는 게 아닌가요??ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
logit glm 차이
로지스틱 회귀모델 작성시 문제 1-1에서는 logit, 문제 1-2에서는 glm을 사용하셨는데요. 둘은 어떤 차이가 있나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
문제 3번 도대체 어떻게 하는건가요??
public List<FruitAmount> FruitAmount(String name){ String sql = "select " + "sum(case when is_sale = false then price else 0 end) as salesAmount, " + "sum(case when is_sale = true then price else 0 end) as notSalesAmount " + "from fruit where name = ?"; return jdbcTemplate.query(sql,new Object[]{name},(rs, rowNum) -> new FruitAmount( rs.getString("name") ) ); }가장 어떻게 할지 모르겠는건getMapping 사용하면서 매개변수를 받는법을 모르겠습니다... 힌트가 될 강의라도 알려주시면 감사해요
-
해결됨견고한 결제 시스템 구축
토스 페이먼츠 결제위젯 연동 api 키 비활성화
안녕하세요! 토스페이먼츠 회원가입 후 결제위젯 연동 api 키를 받으려고 했지만 이렇게 뜹니다... 이용 신청하기 버튼을 클릭하면 사업자 등록번호를 입력하라는 창이 뜨네요. 어떻게 하면 좋을까요? ㅠㅠ
-
미해결Verilog FPGA Program 1 (HIL-A35T)
Text Editor에 관한 질문입니다.
안녕하세요 FPGA 보드를 구입해 공부를 시작하는 수강생 입니다. 강의 초반 부 vivado tool 설정에서 text editor를 ultra editor로 설정하라고 하셨는데 ultra editor로 설정하고 코드를 작성하려 했지만 uedit32.exe를 찾을 수 없다는 오류 메시지와 함께 작성을 할 수 없더라고요. 그래서 ultra editor 다운해 사용하려 했는데 구매를 해야 하는 editor여서 질문드립니다. 이 editor를 구입한 후 설정해 강의를 진행해야 할까요. 아니면 디폴트 값으로 설정해 진행해도 될까요?
-
해결됨야, 너도 AI 서비스 만들 수 있어. [이미지 AI 서비스 서버리스 풀스택]
문의입니다.
도커에 사용한 python 파일들의 설명이 부족하여 궁금한 점이 많이 생겼습니다.우선 Dockerfile을 보다 궁금한 점 질문합니다. 아래와 같이 파일을 복사하는 부분이 있습니다.ADD convert_diffusers_to_original_stable_diffusion.py .ADD train.sh .ADD train_dog.sh .ADD train_cat.sh . 그런데 app.py 에서# train = os.system("bash train_dog.sh")# train = os.system("bash train_cat.sh")이렇게 주석 처리된 부분을 제외 하고, convert_diffusers_to_original_stable_diffusion.py이 파일은 실행되는 부분이 없어보입니다.?아래와 같이 주석은 있는데 어떤 용도로 사용할려고 했던건지 궁금합니다.# Compressed model to half size (4Gb -> 2Gb) to save space in gdrive folder: Models/# steps = 1200# compress = os.system("python convert_diffusers_to_original_stable_diffusion.py --model_path 'stable_diffusion_weights/" +# str(steps)+"/' --checkpoint_path ./model.ckpt --half")# print(compress) 그리고 dog.sh, cat.sh 파일을 실행하면 어떤 결과를 얻을 수 있나요소스를 보니 train_dreambooth.py 파일을 실행하는 하는 프로그램으로 보이네요
-
해결됨빅데이터/텍스트마이닝 분석법 (LDA,BERTtopic,감성분석,CONCOR with ChatGPT)
데이터 전처리2 에서 utf-8 저장 시 한글 깨짐
데이터 전처리2 에서 utf-8로 저장하면 한글이 깨지고 cp949로 하게 되면 오류가 지속적으로 뜹니다.utf-8로 저장하고 싶습니다.cp949오류는 계속해서 gpt로 고쳐 봤는데 고쳐지지 않고 있습니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
intelliJ 최신버전과 kotlin 1.6버전 충돌. 빌드 오류
안녕하세요! 혹시 사용하고 계시는 intelliJ의 버전 알수 있을까요? 저는 최신버전 2024.1을 사용중이었는데요 해당 버전으로 강사님의 build.gradle 스펙과 동일하게 하여 빌드를 하니Downloading kotlinc-dist?라는 말이 뜨면서 무한 로딩이 걸리며 빌드가 5분이 지나도 끝나지 않습니다 ㅜㅜ 테스트도 실행이 안되구요kotlin버전 1.6이 최신 intelliJ 버전에서 지원하지 않는다는?? 답변을 보고 kotlin을 1.7버전으로 업그레이드 해봐도 되지 않았고, 사용중인 intelliJ 버전을 2023.1 로 다운그레이드 하여 실행하니 정상적으로 동작하긴 합니다... IDE 버전에 따라 언어 버전 호환성 문제가 있는거 같습니다 ㅜㅜ 참고로 최신 intelliJ를 사용했을땐 "org.jetbrains.kotlin.plugin.jpa" 플러그인슬 설치하지 않아도 12강에 말씀하신것 처럼 Book.kt 에서 오류가 나지 않았습니다! 2023.1로 다운그레이드 하니 오류가 나네요 ㅎㅎ
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
jenkins에서 소스 빌드하기에서 오류가 발생해요
이러한 오류가 발생하였고, 해당경로입니다. 파일들 삭제후 다시 시도해봐도 똑같은 오류가 발생합니다. 경로도 확인했습니다.
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
L2 스위치에서 gateway 질문드립니다.
안녕하세요 L2 공부하다가 헷갈리는 부분이 있어 질문드립니다! 사진 구성을 설명드리면L2와 L3가 동일한 1.1.1.x/24 대역을 사용하고L3가 vrrp 구성으로 vip가 1.1.1.30/24 일 때L2 SW#1~2는 defaut gateway로 1.1.1.30/24을 바라보고 있습니다. 1번 질문이때, L2 SW#2가 1.1.1.30/24으로 프레임을 보낼때 L2 SW#2 입장에서 gateway IP의 mac 주소가 L2 SW#1 과 연결된 포트에서 올라오기 때문에 1번 경로로 보내게 되는게 맞을까요? 2번 질문L2는 IP를 보지 않는다고 알고 있는데L2 SW#2는 자신의 mac address table 에서 gateway IP의 mac 주소가 어떤건지 어떻게 구분하는건가요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
eslint 링크 에러
eslint와 관련된 설정값 파일 링크가 404가 발생합니다!
-
미해결따라하며 배우는 리액트 네이티브 기초
There was a problem loading the requested app
qr코드를 카메라로 찍어서 expo로 열면 다음과 같이 연결할 수 없다고 뜨는데 어떻게 해결할 수 있을까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Master Node에서 인증서 가져오기
scp root@192.168.56.30:/root/.kube/config ~/.kube192.168.56.30 vm을 꺼놨어서 못 가져오는 거 같아서 192.168.56.30 vm을 동작시키려니 저런 에러가 발생합니다. 1.192.168.56.30 vm을 켠 상태로 위 명령어를 작성하는게 맞나요? (인강을 보니 이건 켠 상태로 하는게 맞네요)2.오류를 어떻게 해결할 수 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
fill 초기화 관련해서 질문이 있습니다.
안녕하세요 fill 초기화 관련해서 질문이 있어 문의드립니다. http://boj.kr/00d897247c6444c892367e2aba528316)http://boj.kr/bd2af7cba0de4b399e84dd0b74e5cc08 1번은 실패, 2번은 성공인데 fill 함수 초기화하는 부분을 제외하면 둘 다 같은데 1번을 제출하면 런타임에러(OutOfBounds)가 발생하는데 원인이 궁금합니다. 감사합니다.
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
q-input과 :rules 속성을 함께 쓸때, items-center 속성이 이상한 현상
안녕하세요q-span과 q-input을 나란히 배치하는 UI를 만들고 있습니다. 세로 중앙정렬을 위해서 Container에 item-center 옵션을 사용하고 있는데, q-input에 :rules 속성만 주면 중앙 정렬이 깨지네요. 어떻게 해야 세로 중앙정렬이 가능할까요? 아래는 제가 시도해본 4가지 상황입니다. ps. 글쓰는거 코드랑 함께 넣는거 어렵네요. ㅠㅠ<template> <q-page> <!-- 유효성 검사 없이 items-center --> <div class="row q-mt-md bg-primary"> <div class="row full-width items-center"> <q-span class="text-h6 col-3" align="right">신청자</q-span> <q-span class="col-1"></q-span> <q-input class="" dense outlined v-model="userName" /> </div> </div> <!-- 유효성 검사와 items-center 모두 없음 --> <div class="row q-mt-md bg-primary"> <div class="row full-width"> <q-span class="text-h6 col-3" align="right">신청자</q-span> <q-span class="col-1"></q-span> <q-input class="" dense outlined v-model="userName" /> </div> </div> <!-- 유효성 검사와 items-center 모두 존재--> <div class="row q-mt-md bg-primary"> <div class="row full-width items-center"> <q-span class="text-h6 col-3" align="right">신청자</q-span> <q-span class="col-1"></q-span> <q-input class="" dense outlined v-model="userName" :rules="['text']" /> </div> </div> <!-- 유효성 검사 존재하고 items-center 없을 경우 --> <div class="row q-mt-md bg-primary"> <div class="row full-width"> <q-span class="text-h6 col-3" align="right">신청자</q-span> <q-span class="col-1"></q-span> <q-input class="" dense outlined v-model="userName" :rules="['text']" /> </div> </div> </q-page> </template>
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
현재 SQL 인젝션 강의를 듣고 있어요
SQL 인젝션 강의를 다 듣고 다음 단계에서는다른 사람이 소유한 사이트에 html이나 동영상 같은걸 무단으로 등록하는 방법과 방어 방법을 배우고 싶은데 이건 웹쉘 차트1~3까지 들으면 되나요 ?? 난이도는 인젝션과 비교했을 때 어떤게 좀 더 낮은지 궁금해요