안녕하세요, 가격에 qqq 를 넘기게 되면 , 컨트롤러로 넘어가기 전에 스프링에서 만들어주는 FieldError(스프링의 바인딩 오류 처리)의 rejectedValue 에 qqq 가 담기게 된다고 이해했습니다. 그러면 컨트롤러 내부에서 직접 생성하는 FieldError에 있는 rejectedValue의 값은 무시가 되는건가요?? 해당 위치에 임의의 String을 넣어봐도 화면에 출력이 되지 않습니다. 타임리프의 th:field 가 동작할 때 이런 과정을 자동으로 해주는걸까요?? 항상 답변 감사합니다.
모바일 엑셀에서도 자동저장 되는 방법은 없나요? 피씨엑셀도 저장하고 모바일 원라이브에서도 저장하려고 하니 너무 번거롭고 실수하다간 모바일엔 저장이 안되고 그러네요 피씨에서 한번만 저장하면 원pc+원드라이브도 같이 저장되는 방법은 없나요? 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
강사님 안녕하세요 강의 2분 50초에 보여주신 asysnc await 구문을 then 구문으로 변경하면 이렇게 변경할 수 있는지 질문드리고 싶습니다 PPT에서 보여주신 then 소스코드가 13행부터 보여주신 걸 수도 있는데, 혹시 제가 틀린 걸 수도 있어서 궁금해서 질문드립니다
InterLocked질문입니다. 33번째 줄처럼 InterLocked.Exchange를 해주어 인자로 ref _disconnected 값을 가져오는데 _disconnected 의 주소값을 가져외서 Exchange를 해주는 것이니까 _disconnected 가 0일경우 1로 바꿔주는데 1일 경우는 retunr을 하는 것까지는 이해했습니다. 그런데 두번째로 사용하려고 하면 _disconnected 가 계속 1인 상태이니까 어디선가는 0으로 초기화를 해주어야 다음 클라 세션이 연결을 끊을때 끊을 수 잇는것 아닌가요..?
굉장히 사소한 질문이긴 한데요, 제가 moment 를 실험삼아 써보다가 페북이나 유튜브처럼 방금, ~분전 등으로 표시되는 fromNow() 를 써봤는데 분명 방금 쓴 댓글인데 10분이나 22분전으로 막 표시되는 등 시간 정확성이 떨어지는데 이유가 뭘까요?? 다른 것들은 시간 표시가 잘 되었는데 말이죠 moment(post.createdAt).startOf('hour').fromNow()
안녕하세요! 강의 잘 보고있습니다. 우선, 질 좋은 강의를 제공해주셔서 감사합니다. 지연성 강의 들어가기 이전, map,filter,reduce에 대해 서 기존 array에 존재하는 메서드들을 iterator에 적용할수있는 함수로 새롭게 만들어 주셨는데, 새로운 함수를 만들어서 사용하는 이유가 array가 아닌 iterator 객체들도 사용할 수 있게 하기 위함일까요? 그게 아니라면, 지연성에 들어가기 위한 빌드업 과정이라고 생각해야할까요?? 감사합니다!
정말 좋은 강의 감사합니다. 다름이 아니라 querydsl로 페이징 처리를 하게 될 경우 기본이 0부터 시작이 되는데 web 화면에서 작업을 해 보니 <ul> <li> <a th:href="@{/list(searchType=${param.searchType}, keyword=${param.keyword}, page=${userList.getNumber() - 1})}"> <i class="fas fa-angle-double-left"></i> </a> </li> <li th:each="i : ${#numbers.sequence(0, userList.getTotalPages() - 1 )}"> <a th:href="@{/list(searchType=${param.searchType}, keyword=${param.keywrod}, page=${i})}" th:classappend="${i == (userList.getNumber() + 1) ? 'text-blue-600 bg-blue-50 border-blue-300' : ''}" th:text="${i + 1}">1</a> </li> <li> <a th:href="@{/list(searchType=${param.searchKeyword}, keyword=${param.keyword}, page=${userList.getNumber() + 1})}"> <i class="fas fa-chevron-right"></i> </a> </li> <li> <a th:href="@{/list(searchType=${param.searchType}, keyword=${param.keyword}, page=${userList.getNumber() + 1})}"> <i class="fas fa-angle-double-right"></i> </a> </li> </ul> 위와같이 작업을 했는데 하단에 페이지 번호는 1번부터 보여지는데 실제 URL로 보여지는 주소는 ?searchType=&keyword=&page=0 이런식으로 페이지 번호가 0번부터 시작이 됩니다. 그리고 하단의 페이지 번호를 클릭을 해도 당연히 4페이지를 클릭하면 URL에는 page=3으로 표시가 되는데 이 표시되는 값을 변경을 할려면 어떻게 해야할까요?? 구현하려고 하는 것은 하단의 4페이지를 클릭을 하면 4페이지의 정상적인 데이터가 보여지고, 상단의 URL에도 page=4로 표시가 되게 하려고 하는데 잘 안되네요. 어떤식으로 수정을 해 줘야 할까요?
바로 아래에도 질문글 남겼는데...잘 이해가 안되는 부분이 있어서 한개만 더 질문드리겠습니다ㅠ 7:40분 경에 bindingResult.rejectValue("itemName", "required"); # new String[]{"required.item.itemName", "required"); 부분에서 개발자가 에러코드를 "required"로 해놓으면 먼저 "required.item.itemName"을 찾고 없으면 "required"를 찾는다고 말씀하셨는데, required.item.itemName과 required 둘 다 있는 상태인데 범용적인 required를 사용해야하는 경우에는 어떻게 해야되나요? 그럴땐 String 배열로 "required.item.itemName"을 안넘기면 되나요...? 감사합니다ㅜ!!
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요, 맛비님. 강의 영상을 통해 항상 많은 배움을 얻는 중입니다. 감사합니다. 파이프라인 실습편 강의의 Q&A를 읽다가 질문이 하나 생겼습니다. 해당 질문의 답변중에 모듈간의 handshake를 통해 timing을 맞춘다고 답변을 해주신 게 있습니다. 모듈간에 handshake가 필요한 건 이해하였습니다. 제가 궁금한 건, 만약 모듈들을 한 모듈안의 always(clk) 구문으로 구현한다면, always 구문간에 통신할 때도 handshake가 필요한 지 궁금합니다. 제 생각에는 한 모듈안에 여러 always(clk) 구문으로 구현하더라도 각 alway 블록이 하나의 모듈과 같다고 생각이 들긴 합니다. 질문을 정리하면 다음과 같습니다. 1. 모듈들을 한 모듈안의 always 구문으로 보통 구현하지 않는 것 같은데, 가독성을 위한 이유 말고 다른 이유가 있는지 2. 한 모듈 안의 여러 always 구문 v.s. always 블록마다 모듈로 구현 -> 차이점이 무엇인지 기존에 질문이 있을 것 같아서 찾아봤는데 없는 것 같아서 질문드립니다 ㅠ 아직 많이 헷갈리네요 ㅠ 읽어주셔서 감사합니다. 김민호 드림
안녕하세요 김영한 개발자님! 항상 강의 잘 보고 있습니다. 오류 코드를 범용성으로 사용하다가, 세밀하게 작성해야 하는 경우에는 세밀한 내용을 우선순위로 사용한다고 말씀하셨는데, 예를 들어서 평소에는 'required=필수 값 입니다,'로 사용하고 상품이름을 세밀하게 사용하고 싶으면 'required.item.itemName=상품 이름을 필수입니다,'를 new String[]{"required.item.itemName", "required"} 이런 방법으로 사용하면 된다고 이해했습니다. 그럼 만약에 회원가입에서 "가입자의 이름은 필수입니다"라고 표현하고 싶으면 'required.name.userName=가입자의 이름은 필수입니다'라고 properties에 작성한 다음에 new String[]{"required.name.userName", "required"} 이렇게 작성하면 되는 걸까요? 이 때는 그럼 required.item.itemName은 우선순위로 설정하지 않아도 괜찮나요? 항상 친절한 답변해주시는 서포터즈 분들도 감사드립니다!
로그도 찍어보고 브레이크 포인트도 잡아보면서 해보아도 도저히 무슨문제인지 파악이 안되서 질문드립니다. 핸들러함수안에서 아래와같이 1번패킷과 2번패킷으로 Send를 두번 연속호출했을 때 클라이언트에선 2번패킷으로만 두번 호출되더라구요. 근데 또 1번패킷과 2번패킷 Send사이에 브레이크 포인트로 지연시간을 잠깐 둔 후 실행하면 클라이언트에서 제대로 1번 2번 순서대로 받게 되더라구요. 왜 이런 현상이 나오는지에 대해 질문드립니다.
안녕하십니까, 강의 너무 잘 들었고, 실무에도 큰 도움이 될것 같습니다. 실무에 적용해보려고 테스트중인데, 잘 되지 않는 부분이 있어 문의 드립니다. @Aspect 로 어드바이저를 만들어, 특정 빈에 대해 프록시객체가 적용되길 기대하였는데, 그 빈을 주입받는 서비스에 가서 로그를 찍어보니, 프록시 객체가 주입된것이 아니고, 원래의 타겟 객체가 주입되어있었습니다. 표현식이 잘못된거나 한건 아니었습니다. 이것저것 해보다가 빈 생성 순서때문이 아닐까 싶어, 스프링 설정 파일에서 조정을 좀 했더니, 이번엔 잘 되더라구요, @Aspect 로 선언한 class 가 먼저 빈으로 등록이 되고, 원본 타겟이 이후에 빈으로 등록이 되어야만 정상적으로 AOP 가 적용되는것이 맞는걸까요?
안녕하세요 제로초님 질문에 대한 빠른답변 항상 감사드립니다 :) 제로초님 sleact express code에서 이미지를 저장하는 부분의 코드가 이해가 되지 않아서 질문 올립니다 밑에 처럼 코드가 되어있는데 for문을 돌면서 req.files 길이 마다 n번 create를 하는 것인가요? 궁금해서 console.log(req.files)를 입력해보았는데 undefined라고 뜹니다. 코드를 작성하면 잘 저장은 되는데.. 왜 for문을 도는 건가요?? for ( let i = 0 ; i < req . files . length ; i ++) { const chat = await ChannelChat . create ({ UserId : req . user . id , ChannelId : exChannel [ 0 ]. id , content : req . files [ i ]. path , }); }
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
루키스님 좋은강의 잘 듣고있습니다! 다름이 아니라 강의를 듣다가 메모리에 데이터가 저장된 부분을 보니 데이터가 연속적으로 저장되지않고 16바이트 정도 띄워져서 저장이 된걸보고 구글링을하다 64비트 환경이여서 메모리 정렬때문에 8바이트 단위로 저장이 된거구나 라고 생각했는데 이 이유가 맞나요?? 또,막상 이렇게 확인해보니 cccccccc 0113f8a0 0000001 ccccccccc 이런식으로 저장된걸 보니 왜 cccccccc 0113f8a0 ccccccccc 0000001 이 아니지라는 의문이 생기더라구요 이유를 알고싶으면 운영체제를 공부해야하나요? 아니면 컴퓨터 구조쪽을 공부해야하나요??? 무엇을 공부해야 알 수 있을지 궁금해요 ㅜㅜ
[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
몽고DB 데이터 삭제 - SQL과 비교강의 10분 20초 안 녕하세요. 좋은 강의 잘 듣고 있습니다 :) 저는 employees 컬렉션을 만들 때 { capped : true, size:10000 } 으로 옵션을 주고 컬렉션을 만들었는데요. Q1 아래와 같이 조건을 주고 데이터를 삭제하려고 하니 capped 조건이 있는 컬렉션에서 데이터를 삭제할 수 없다는 에러 메시지가 뜨는데 capped 조건이 있는 컬렉션에서는 왜 데이터 삭제가 안되나요? db.employees. deleteMany ( { age : { $lt : 30 } } ) Q2 예를 들어 key 값이 user_id이고 value 값이 a007인 데이터를 a007 8 로 데이터 수정 을 하려고 할 때 capped 옵션 (size : 10000으로 설정)이 부여된 컬렉션에 데이터를 업데이트 할 때 a007과 a007 8 의 규격이 달라서 그런지 데이터 수정이 안됩니다. 수업에서 들은 바로는 capped 옵션을 통해 데이터 저장 공간을 미리 넉넉히 확보해 두는 것으로 알고 있는데 위와 같이 규격이 하나 차이난다고 오류가 나올리가 없는데 왜 데이터 수정에 오류가 생기는 걸까요..? 항상 답변 감사합니다 :)