안녕하세요. 강의 내용과 관련하여 질문이 있어 글 남깁니다. 강의에서 10:00 정도에 변경 감지 방법에 대해 설명하시는 부분입니다. 트랜잭션 상에서 엔티티를 다시 조회하여 내용을 변경하면 이 엔티티는 영속 상태이므로 변경 감지가 된다. 따라서 save() 를 하지않아도 알아서 변경 감지되어 DB에 update된다. 라고 이해했습니다. 제가 궁금한 부분은, itemRepository.findOne(itemId); 부분에서 엔티티를 조회하는데, 이 엔티티는 원래 준영속 상태의 엔티티였고, findOne() 을 함으로써 다시 영속성 컨택스트에 들어온 건가요? 아니면 생성된 때부터 지금까지 죽 영속 상태였나요? 강의의 맥락상, 지금 준영속 객체를 변경하는 방법에 대해 배우고 있으니 전자일 것이라고 생각했습니다. 만약 제가 생각한대로 준영속 상태에서 변경된 것이 맞다면, merge와 역할 자체는 같은게 맞나요? 물론 디테일한 로직이 좀 다르지만, 역할 자체만 보면 merge또한 준영속 객체를 기발으로 영속 객체를 만들어 반환해주는 거고, 변경 감지 기법도 findOne()을 통해 준영속 객체를 영속 객체로 다시 만들어주는 것이니까요. 이 둘의 차이점은 객체가 통째로 갈아치워지느냐, 부분 수정이 가능하냐 이것 정도만 있다, 라고 이해해도 될까요?
[질문 내용] 여기서 주문상품수량이 10개니 예외가 터지지않고 fail로 가는거로 알고있는데요 Expected jpabook.jpashop.exception.NotEnoughStockException to be thrown, but nothing was thrown 이러한 에러는 뜨는데 예외가 터지지않았기에 fail이 떠야하는데 fail안에 있는 메세지가 안뜹니다 한가지 더 질문이 있씁니다 주문상품수량을 11로 바꿧을떄 마지막에 fail을 적지않고 테스트를 돌렸을땐 예외를 터트려서 테스트가 성공적으로 끝나는데요 여기서 위와같이 fail메서드를 적어도 원래는 위에서 예외가 처리됏기떄문에 테스트가 정상적으로 끝나야 되는게 맞는거 아닌가요? 테스트를 돌렷는데 fail문이 뜹니다 그 뜻은 예외가 터지지않았다는 말이죠.. 의문이 듭니다 도와주세요ㅠㅠ
안녕하세요~ 강의를 수강하면서 작성한 일부 html/css 코드를 개인 블로그에 재사용하여 css에 관련된 내용정리/요약을 하고 싶은데 가능할지 여쭙고 싶어 질문 드렸습니다! 예를들어 inline과 block에 관한 글을 작성한다면 (01-04-inline-block) 폴더에 있는 html과css코드를 사용하는 식으로 재사용이 가능할까요? 감사합니다!
선생님 질문이있습니다. 스크롤라 제이에스를 $(document).ready(function(){ $(".animate").scrolla({ mobile:true, once:false }) }) 작성하고, html 에 동일하게 넣었는데 <section class="visual animate" data-animate="motion"> 클래스가 motion 이렇게 붙는게아니라.. 선생님과 다르게 animate__motion 이렇게 붙습니다 혹시..이유를 할수있을까요?
안녕하세요.. <button onclick=" javascript: location.href=' http://www.daum.net ', '_blank'">다음사이트 바로가기</button> 여기서 _blank 는 무엇을 의미하나요? 그리고 쌍따옴표 안에 맨 앞에 javascript: 는 붙여도 되고 안 붙여도 되는걸까요??
기존 생성했던 npx create-react-app my-app 명령어로 생성했던 my-app 실제 경로로 들어가서 폴더 삭제하고 npm uninstall -g create-react-app npm install -g create-react-app npx create-react-app my-app 수행 시 C:\Program Files\nodejs>npx create-react-app my-app Need to install the following packages: create-react-app@5.0.1 Ok to proceed? (y) y npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap. node:fs:1380 const result = binding.mkdir( ^ Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\my-app' at Object.mkdirSync (node:fs:1380:26) at module.exports.makeDirSync (C:\Users\김진구\AppData\Local\npm-cache\_npx\c67e74de0542c87c\node_modules\fs-extra\lib\mkdirs\make-dir.js:23:13) at createApp (C:\Users\김진구\AppData\Local\npm-cache\_npx\c67e74de0542c87c\node_modules\create-react-app\createReactApp.js:257:6) at C:\Users\김진구\AppData\Local\npm-cache\_npx\c67e74de0542c87c\node_modules\create-react-app\createReactApp.js:223:9 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { errno: -4048, code: 'EPERM', syscall: 'mkdir', path: 'C:\\Program Files\\nodejs\\my-app' } Node.js v20.11.0 에러가 발생합니다. 어떻게 조치해야할까요 ??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 이 과정에서 jdbc:h2:~/jpashop까지 입력을 완료하고 데이터베이스가 잘 생성이 되었는데 ~ /jpashop.m v.db이 어디에 생성된건지 모르겠습니다. ~ /jpashop.m v.db
안녕하세요 헷깔리는게 있어서 질문을 드립니다. JSX 사용시에 XSS 방지가 된다고 말씀해주셨는데 JSX 문법 사용하지 않고 createElement 사용하더라도 방지가 되는 것 아닌가요? + 제가 생각했던 것은 JSX 가 내부적으로 createElement 를 호출하고 createElement 메소드 내에서 escape 가 일어나는 것 아닌가 했는데, chatGPT 한테 물어본 결과 JSX 문법을 사용하면 createElement 를 호출 하기 전에 escape 을 완료하는 것으로 이해를 하였습니다. 이렇게 이해하는 것이 맞을까요..?
안녕하세요.. 궁금한점이 있어서 질문드립니다.. 밀리의 서재 홈페이지에서 검사를 눌러봤는데 div 다음 data-v-003e81a0 이 부분은 어떤 걸 의미하는지요? 속성명="값" 이렇게 안쓰고 저렇게 쓸 수도 있나요? 그리고 p태그 아래에 글자들에 쌍 따옴표로 묶어준 것도 왜 인지 궁금합니다.. 검사 화면에는 쌍따옴표가 있는데 실제 화면에는 쌍따옴표가 안뜨는건 왜 그럴까요..? https://www.millie.co.kr/v3/brand/update?utm_source=google&utm_medium=cpc&utm_campaign=pc&utm_content=brand&utm_term=%2B%EB%B0%80%EB%A6%AC%EC%9D%98%2B%EC%84%9C%EC%9E%AC%2B&gad_source=1&gclid=Cj0KCQiA-62tBhDSARIsAO7twbb3uOaPxtCl7MI2dexTMHLKLnXTEK9kaIQLua7WRA7sAHVtG_zOt70aAqWJEALw_wcB 그리고 여기서 쓰신 확장 프로그램 이름도 알려주실수 있으실까요..?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 값타입 @MappedSuperclass의 차이가 무엇인가요? BaseEntity를 @MappedSuperclass로 놓고 상속받아서 여러 속성을 한꺼번에 갖는것과 값타입 클래스를 @Embeddable로 설정해서 위임하는 것의 차이가 궁금합니다. 둘다 여러 속성들을 동시에 관리해서 다른 테이블의 속성으로 사용하기 위한 목적이라면 하나만 있으면 될 것 같은데, 왜 굳이 2개 모두 필요한가요?
선생님.. 텍스트 복사하러 넷플릭스 사이트에 갔는데.. 궁금한 것이 생겨서 여쭤봅니다.. https://www.netflix.com/kr/ newletter div 부분에 원래 클릭 하지않으면 아래 화면이 뜨고 이메일을 입력하려면고 클릭하면 아래 화면처럼 placeholder가 사라지고 background 텍스트가 되는것 같은데.. 이렇게 만들려면 어떻게 하면 되나요..?
[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
안녕하세요, 알고리즘 개선하기 강의를 들은 이후, 새로 짜여진 알고리즘의 원리(?)에 대해 공부하는 중입니다. 그런데, select 부분에 대한 이해가 어려워 질문 올려봐요 ㅠㅠ answer.addEventListener("click", function(){ //'answer' 버튼을 클릭했을 때 4 var children = document.querySelectorAll('.answerList'); for(let i = 0; i < children.length; i++){ children[i].disabled = true; // 버튼 비활성화 children[i].style.WebkitAnimation = "fadeOut 0.5s"; // 0.5초동안 main 섹션이 사라지면 children[i].style.animation = "fadeOut 0.5s" // 사용자가 어떤 한 버튼만 클릭해도, 다른 버튼들은 다 무시가 되고 모든 버튼들이 사라진다. } setTimeout(() => { var target = qnaList[qIdx].a[idx].type; // 우리가 선택한 버튼이 가지고 있는 타입이 target에 할당됨. //버튼을 클릭하는 순간에 바로 값 증가 for(let i = 0; i < target.length; i++){ select[target[i]] += 1; // 이 반복문이 돌고나면 사용자가 버튼을 클릭하였을 때, 12간지의 순서대로 해당하는 type의 값이 1씩 증가 } for(let i = 0; i < children.length; i++){ children[i].style.display = 'none'; // 버튼이 보이지 않게 } goNext(++qIdx); console.log(target); console.log(children.length); },450); //450 경과 시 }, false); 저는 이 for문 안에 들어있는 select[target[i]] += 1; 이 부분을 이해하기 위해 calResult() 부분에 console.log(select); 를 작성하였고, 임의로 선택된 모든 버튼에 대한 select 값을 받을 수 있었습니다. // console.log(select); [2, 4, 3, 4, 4, 3, 4, 4, 2, 5, 1, 6] 우선 저는 처음에 이 숫자들이 select 값이라는 것은 알고 있었으나 진짜 무엇을 의미 하는 지 알 수 없어 수기로 디버깅을 해보았습니다. 모든 버튼에 대한 type 값을 추적해가며 적어보았는데 qIdx 선택한 버튼 type 0 a [1, 2, 4, 9] 1 c [7, 4, 9, 11] 2 b [7, 9 ,11] 3 c [0, 3, 6, 5] 4 c [2, 5, 8] 5 b [0, 3, 6, 10] 6 a [1, 7, 11] 7 c [1, 7, 11] 8 b [1, 3, 6, 11] 9 a [4, 9, 11] 10 c [2, 5, 8] 11 a [3, 6, 4, 9] 선택한 버튼에 대한 type 값의 누계를 도출해보니 [2, 4, 3, 4, 4, 3, 4, 4, 2, 5, 1, 6] // select console에 제가 요청했던 select 값과 동일한 배열이 나왔습니다. 또한 0~11까지의 띠 순서 그대로 오름차순으로 배정된 것을 발견할 수 있었습니다. 제가 부족한 지식을 동원하여 생각한 바로는 type 값을 누계할 때 오름차순으로 정렬하라는 어떤 메세지가 있지 않으면 [4, 2, 3, 4, 4, 3, 1, 4, 2, 6, 4, 5] 이런식으로 순서에 상관없이 해당 값에 대한 누계만 select 에 담길 것으로 예상하였으나 오름차순으로 배열이 정리되어 정렬 원리가 궁금하였습니다. select[target[i]] += 1; 이 부분에서 자동으로 저희가 선택한 버튼들의 type 을 select 배열에 넣을 때, 각 누계 값이 0 부터 11까지의 오름차순으로 자동 정렬되나요? const select = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; 아니면 저희가 초반에 select 에 0값으로 총 12개의 빈자릿수를 만들어 주었을 때부터 각 자리당 0부터 11까지의 인덱스 주소가 자동 배정되는 건가요? 아니면 이 배열(select)의 정렬방식에 대하여 놓친 부분이 있을까요? 도와주세요 ㅠㅠ