[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 본 강의를 통해 스프링 공부를 시작한 학생입니다. 강의를 듣다가 궁금한 점이 생겨 질문 드립니다. domain의 Member 클래스에도 Getter, Setter가 있고, controller의 MemberForm 클래스에도 Getter, Setter가 있는데 MemberController의 create 함수에서 member.setName은 있고 form.setName은 없는 이유가 궁금합니다. createMemberForm.html의 <form action="/members/new/ method="post">를 통해 사용자가 입력한 "spring"이라는 이름이 value값으로 넘어가는 것, 그리고 @PostMapping이 있는 create 함수로 넘어가는 것까진 이해했는데 왜 이 함수에서 MemberForm의 set 함수 코드는 없는 것인지 궁금합니다. 사용자가 이름을 입력했을 때, 스프링이 자동으로 MemberForm의 name 값을 입력한 이름으로 설정해준 건가요? 답변 미리 감사합니다.
안녕하세요 해당 수업에서 만약 Book 의 모든 필드를 변경하고자 한다면 실제 실무에서는 어떻게 사용하면 좋을까 하면서 만들어 보았는데, 틀린 부분이나 고쳐야할 부분이 있다면 말씀해주실 수 있을까요 ? 작은 부분이라도 조언 해주시면 감사하겠습니다! 1. DTO @Getter @Setter public class UpdateBookDto { private String name ; private int price ; private int stockQuantity ; private String author ; private String isbn ; public static UpdateBookDto updateBookAll ( String name , int price , int stockQuantity , String author , String isbn) { UpdateBookDto bookDto = new UpdateBookDto() ; bookDto. name = name ; bookDto. price = price ; bookDto. stockQuantity = stockQuantity ; bookDto. author = author ; bookDto. isbn = isbn ; return bookDto ; } } 2. Controller public class ItemController { @PostMapping ( "/{itemId}/edit" ) public String updateItem ( @PathVariable String itemId , @ModelAttribute ( "form" ) BookForm form) { UpdateBookDto bookDto = UpdateBookDto. updateBookAll ( form.getName() , form.getPrice() , form.getStockQuantity() , form.getAuthor() , form.getIsbn() ) ; itemService.updateItem(form.getId() , bookDto) ; return "redirect:/items" ; } } 3. Service public class ItemService { @Transactional public void updateItem (Long itemId , UpdateBookDto dto) { Book findBook = (Book) itemRepository.findOne(itemId) ; findBook.changeBook( dto.getName() , dto.getPrice() , dto.getStockQuantity() , dto.getAuthor() , dto.getIsbn() ) ; } } 4. Book public class Book extends Item { public void changeBook (String name , int price , int stockQuantity , String author , String isbn) { super .changeItem(name , price , stockQuantity) ; this .author = author ; this .isbn = isbn ; } }
안녕하세요 강사님 지금 QA진행중인 시스템이 있습니다. 스프링시큐리티를 기반으로 만들었고, 계층권한, ipvoter등을 적용 했습니다. 개발환경 및 dev 까지는 서버가 한대라서 이슈가 없었는데 stage 서버 두대인 곳에서 운영을 시작하다보니 이슈가 생겼습니다. 하지만 이 이슈는 ip hash를 통해서 로드벨런싱을 시켜서 어느정도 해소가 되는 분위기 였습니다. 그런데 또 발 생한 이슈는 ip hash가 되지만 동일한 계정으로 로그인을 여러 PC에서 시도를 하고 한 쪽 피씨에서 로그아웃을 하면서 context를 clear처리를 하게 되면 다른 PC에서 세션이 활성화 되어있는 사용자에게도 영향이 가고 있습니다. 지금 현재 처리로직은 custom 한 filter에서 request가 들어오면 쿠키를 검사하여 context를 생성하고 다른 pc에서 로그아웃을 할 것을 대비해 interceptor에서 한번 더 체크하여 쿠키 리프레쉬 및 context를 재생성 합니다. 하지만 controller -> service 쪽 까지 진입을 하는 과정에서 동일 하게 오류가 재현이 되고 있습니다. 그래서 로그아웃을 하면 context도 함꼐 사라지는 듯한 의심이 들고 있습니다. ( 제 생각 입니다..) 시큐리티 context는 ThreadLocal로 .. ThreadSafe인 것 으로 알고 있는데... 서두가 너무 길었죠.. 질문입니다. 1. 같은 계정으로 로그인을 한다면 하나의 context가 생성 되고 그것을 공유하는 것 인 걸까요?.. 2. 아니면 ThreadSafe인데 제가 어딘가 의도치 않게 동기화가 되게끔 처리를 했을까요.? 3, 만약 같은 계정 로그인시 동일한 context가 생성이 된다면 ip같은 것으로 다른 context인것 처럼 생성 하고 싶은데 방법이 있을까요?? 감사합니다. ps. 바로 일전 프로젝트도 스프링시큐리티로 구현을 했지만 권한, 및 voter의 기능을 쓰지 않고 쿠키 및 일반 적인 처리를 해서 이슈가 없었습니다.
django와 html을 연결하여 vscode내에서 로컬로 웹사이트를 볼 수 있게 설정한 뒤 aws를 이용하여 외부로 웹페이지를 배포하고자 유튜브에 올라와있는 (2257) Django 프로젝트 AWS 배포하기 - YouTube 를 참고하여 천천히 따라나갔습니다. vscode상에 있는 django와 html을 연결한 내용을 git에 올린 뒤 우분투에서 git clone을 통해 받아와 /home/ubuntu/내 프로젝트 를 완성하였고 유튜브를 따라 천천히 나아가다가 마지막에 service nginx start를 한 후 public 주소를 입력 시 502 에러가 뜨는 것을 확인하였습니다. 우분투 내에서 python manage.py runserver 0.0.0.0:8000을 입력하면 외부에서 홈페이지가 잘 뜨니 코드상에는 문제가 없는것 같고 우분투에서 /var/log/nginx/error.log을 통해 에러코드를 cat으로 확인하니 2022/06/14 14:17:05 [crit] 4751#4751: *1 connect() to unix:/home/ubuntu/Final-term-project-DjangoWeb-/uwsgi.sock failed (13: Permission denied) while connecting to upstream, client: 121.136.144.86, server: _, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/home/ubuntu/Final-term-project-DjangoWeb-/uwsgi.sock:", host: "52.35.25.97" 이렇게 떠서 구글링을 통해 권한을 shmod로777로 변환해보거나 해도 여전히 502가 떴었습니다. 이에 제가 내린 결론은 /etc/nginx/nginx.conf /etc/nginx/sites-enabled/default uwsgi.ini 이 세가지를 설정하는 과정에서 값을 틀리게 입력했다는 것이 저의 생각입니다. 이것이 현재 저의 home/ubuntu/프로젝트/ 의 상태입니다. html과 django의 연결은 구글링을 통해 한 웹사이트로 구성하였으며 이는 git 에 올라갔고 git clone을 통해 우분투에 받아와진 상태입니다. uwsgi.ini의 상태입니다. vi /etc/nginx/nginx.conf를 통해 입력한 값입니다. vi /etc/nginx/sites-enabled/default를 통해 입력한 값입니다. 이후 sudo service nginx restart를 시도한 후 aws에 있는 제가 만든 인스턴스의 public주소를 주소창에 입력하자 502 에러가 나왔고 에러log는 맨위에 있는 것이 나왔습니다. 여러 오타도 찾아보고 사용자권한도 설정하며 계속 수정해나갔지만 결과에 도달할 기미가 보이지 않아 질문/ 답변에 찾아와 질문드리게 되었습니다. 도움을 주시면 감사할 것 같습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 1. 2. 사진첨부해드리고 말씀드리겠습니다 1) member객체를 인스턴스하고, em.persist(member)를 할 시점에서 List<Order>에 여러 order객체들이 있을경우 같이 저장하기위해 CASCADE를 ALL로 지정한게 맞는지 궁금합니다. 2) 위의 내용이 맞을 때, 밑에 내용에서 createOrder 메소드 for문 안에서 order.addOrderItem(orderItem)를 하고나서 order를 persist 할경우, 여러개의 orderItem이 같이 저장되기위해서 해당 Order 엔티티안에 orderItems 리스트객체를 cascade cascadeType.All선언해야하는데, OrderItem이 Item과 연관관계가 있어서 cascade all를 선언 안하는게 맞는지 궁금합니다. 만약 그게 맞다면 caseCade.All를 선언 안하면 order 객체을 persist 할 시점에 List<orderItem>들을 같이 저장이 안되는걸로 알고 있습니다. 그렇다면 order 엔티티 안에 createOrder 메소드로 반환값 받는 order에 있는 OrderItems 리스트 객체를 for문으로 돌려서 각각의 OrderItem객체를 persist 하여 order값도 같이 persist 시키는게 맞는건지 궁금합니다.
안녕하세요 종은 강의 잘 청강하고 있습니다. Mmdetection mask RCNN 모델을 훈련시키려고 하는데, 강좌중 정확도와 재현성에 대한 강의를 보고 궁금증이 생겼습니다. 정확도와 재현성을 조정이라는 표현이 맞는지 모르겟는데, 정확도와 재현성중 사용자가 둘중 어떤 것을 높여서 교육시키는 것이 가능한지요? 가능하다면 훈련시 어떤 변수를 조정해서 훈련을 시켜야하는지요?? Mmdetection. Config 변수가 너무 많아서 좀 복잡한것 같은데... 이러한 부분은 어떤 문서를 봐야 이해가 될수 있을까요?? 홈페이지도 너무 광범위해서 초보자는 좀 헤매게 되는것 같습니다. 참. 그리고 혹시 tracking 에 대한 강좌 계획은 없으신지도 궁금합니다.
안녕하세요 강사님, 강의를 듣다가 동전 문제를 BFS로 풀 수 있을거 같아 이렇게 풀었는데, 괜찮은 코드인지 여쭤보고 싶습니다. import java.io.BufferedReader ; import java.io.InputStreamReader ; import java.util.* ; public class Main { static int N , M , count ; static int [] arr ; static Queue<Integer> queue = new LinkedList<>() ; public void input () throws Exception { BufferedReader br = new BufferedReader( new InputStreamReader(System. in )) ; StringTokenizer st = new StringTokenizer(br.readLine()) ; N = Integer. parseInt (st.nextToken()) ; arr = new int [ N ] ; st = new StringTokenizer(br.readLine()) ; for ( int i = 0 ; i < N ; i++) { arr [i] = Integer. parseInt (st.nextToken()) ; queue .offer( arr [i]) ; } st = new StringTokenizer(br.readLine()) ; M = Integer. parseInt (st.nextToken()) ; } public int BFS () { while (! queue .isEmpty()) { count ++ ; int len = queue .size() ; for ( int i = 0 ; i < len ; i++) { int value = queue .poll() ; for ( int X : arr ) { int data = value + X ; if (data == M ) return count + 1 ; // 동전의 값을 Queue 에 삽입 전에 체크하기 때문에 +1 를 추가해서 리턴 if (data < M ) queue .offer(data) ; } } } return count ; } public static void main (String[] args) throws Exception { Main main = new Main() ; main.input() ; System. out .println(main.BFS()) ; } }
안녕하세요. 도메인 내에서 비즈니스 로직을 작성하는 것이 객체지향적이다 라는 말씀을 듣고 생각해보다가, 양방향 연관 관계 편의 메서드에서의 setter 사용이 생각났습니다. public class Order { public void setDelivery (Delivery delivery) { this .delivery = delivery ; delivery.setOrder( this ) ; } } 이와 같이 양방향 연관 관계에서는 한쪽에 setter 함수가 불가필 할듯 한데, setter 함수를 무조건적으로 사용하면 안되는 것은 아니고 지양한다는 정도로만 받아들여도 될까요 ? 감사합니다.
블록체인 분야 기술을 배우고싶은 분들 or 블록체인 분야 취업을 원하시는 분들 주목! 서울시에서 뉴딜일자리사업 일환으로 IT 블록체인과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! https://blog.naver.com/kjc_sh/222745988610 자세한 내용은참고해주세요 오픈카카오톡 문의 [ https://open.kakao.com/o/stkiOIhe ]
1. gradle 버전이 7 이상이신 경우 6.xx대로 다운그레이드 하시고 2. https://gaemi606.tistory.com/entry/Spring-Boot-REST-Docs-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0 의 'Gradle 버전에 맞게 수정하기!' 의 코드대로 따라해주세요. 화이팅!
왼쪽 상단에 IntelliJ IDEA> Preferences 상기 항목이 안나와요? 어디서 찿을수 있을까요? 버전은 아래와 같습니다. IntelliJ IDEA 2022.1.2 (Community Edition) Build #IC-221.5787.30, built on June 1, 2022 Runtime version: 11.0.15+10-b2043.56 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 750M Cores: 8 Kotlin: 221-1.6.21-release-337-IJ5787.30
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 일부 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 스프링 부트와 JPA 활용 강의를 듣고 토이프로젝트를 진행하려고 하는데, entity relation diagram을 간단하게 그릴 툴이 뭐가 있을까 싶어서 질문 남깁니다. Draw.io나 erdcloud 등의 사이트를 봤지만 초심자가 무턱대고 접하기엔 생각보다 벽이 있어서, 강사님께서 직접 사용하시는 툴은 어떤 것인지 궁금해 질문합니다.
안녕하세요. '딥러닝-컴퓨터비전-완벽가이드'를 수강하고 있는 고준규입니다. 다름이 아니라 정밀도와 재현율에 대해 질문이 있어서 글을 남깁니다. COCO 데이터셋이나 Pascal VOC 데이터셋과 같이 성능평가로 검증된 데이터셋이 아닌 직접 object detection을 사용하여 문제를 해결하기위해 custom 데이터를 활용하여 데이터 라벨링을 하였습니다. 이 때, 모델의 평가를 진행하였는데, precision score (0.6)가 recall score (0.9)에 비해 낮은 결과를 얻는 것을 확인했습니다. 이를 자체적으로 분석해본 결과, 사람이 직접 라벨링을 하다보니 사람이 놓친 부분을 모델이 탐지하여 precision score가 낮아지는 것을 확인하였고 결론지었습니다. 이럴 경우, custom 데이터셋을 새롭게 수정해서 학습을 시켜야하는 것이 맞는 방법인 것으로 보이나 현실적으로 이를 수정하기에는 비용이 생각보다 많이 들 것 같아서 다른 방법을 생각해보고 있습니다. 혹시 이와 관련되어 조언을 얻을 수 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 회원가입 () 실행시 db에 값은 들어가는데 콘솔에 java.util.NoSuchElementException: No value present 오류 뜨는데 왜 이런 건가요?
일단 상품등록하는데 문제는 없습니다. 위와 연결된 Controller에 매핑과 BookForm 설정 똑같이 했는데 강의에 영한님이 한것처럼 html에서 th:object="${form}" 나 th:field="*{name}" 을 command+click 으로 연결된곳으로 갈수도 없고 Cannot resolve 'form' 오류 뜨면서 빨간줄 그어지는데 해결할수 있는 방법있을까요? 저도 그 편한 기능 쓰고 싶습니다 진짜루 ..ㅠㅠ 인텔리제이는 IntelliJ IDEA 2022.1.2 (Ultimate Edition) 쓰고 있습니다.
강의에서 jwt방식을 예로 드셨던 세션정책Stateless에서 세션을 사용하지 않는다고 말씀하셨습니다. 궁금한 점은 jwt토큰방식을 사용하더라도 세션은 사용하는 것이 아닐까라는 의문입니다. 이유는 jwt방식으로 인증에 성공하면 Authentication객체를 securityContext에 저장하고 세션에 캐싱을 하며 controller에서 principle이나 @preauthorize 등과같은 기능을 사용할 수 있기 때문입니다.