묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
test어노테이션이 붙어있고 transactional어노테이션이 붙어있는 경우에 매번 롤백하나요?
서비스 클래스에 transactional 어노테이션 붙여져 있어도 test코드에서 또 transactional 어노테이션 붙이잖아요 그 이유가 테스트를 여러번 수행해야하고 그때마다 테스트 시 변경한 것들을 되돌려놔야하는데 저 어노테이션이 있으면 롤백해서 그런거라는 답변을 들었는데 test인 어노테이션이 붙어있는 경우에는 롤백을 하는건가요? 원래같으면 뭔가가 잘못된 경우에 롤백하잖아요 수행시마다 롤백하는게 아니라
-
미해결워드프레스 속성 마스터 클래스
UpdraftPlus 백업/복원시 워드프레스 버전 차이 문제...
안녕하세요 강사님. UpdraftPlus에 대한 질문이 하나 더 있어서 올립니다. 백업/복원을 하는 플러그인인 것은 알겠는데, 문제는 워드프레스가 이미 설치된 상황에서 플러그인을 설치해서 백업/복원을 해야 한다는 것이죠. 현재 제 워드 프레스 버전이 B(최신 버전)이고, 다른 도메인에 있는 워드프레스 버전 A인 웹사이트를 UpdraftPlus로 백업을 해서 파일을 다운로드 받은 후, 워드프레스 버전 B가 설치된 도메인에 그 파일들을 복원시키면 워드프레스 버전이 A로 바뀌나요? 아니면 B인 상태에서 테마, 글, 페이지, 플러그인, 데이터베이스 등만 복원이 되는 것인가요? 만일 워드프레스 버전이 그대로 B라면, 복원한 웹사이트는 워드프레스 버전 A를 이용해서 작성된 거라 문제가 생기지는 않을까요?
-
미해결워드프레스 속성 마스터 클래스
UpdraftPlus Wordpress Backup Plugin 설치가 안됩니다. 이유가 뭘까요?
설치를 안한 것이 분명한데 설치 폴더가 이미 존재한다면서 설치가 안되네요. 문제가 무엇인지 잘 모르겠습니다. 이유를 혹시 아시면 알려주시면 감사하겠습니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
상세페이지 null 값 반환
main페이지의 값은 정상적으로 불러와 지는데 상세페이지 값이 null값으로만 출력됩니다. 포스트맨으로 값 전달하는건 정상적으로 출력됩니다.. 왜 상세페이지는 널값만 나올까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
extend()
extend()를 사용하면 안될까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
그래서 결국 클래스 내부의 _hp는 따로 캡처를 못하는건가요?
영상 마지막에 this를 캡처하게되면 어떻게되는지 잘 이해를 했습니다. 근데 결국 클래스내부에서 _hp만 캡처하여 사용하는방법은 없는건가요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
github 리포지토리 권한 요청 드립니다!
인프런 아이디 : junyoung.jeong@itmsg.co.kr 인프런 이메일 : junyoung.jeong 깃헙 아이디 : bargyoon@gmail.com 깃헙 Username : bargyoon
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Runwith, springboottest어노테이션이 없이 테스트 하면 어떻게 되나요?
이전에는 그 어노테이션 없이 test를 진행했던것같은데 이번에는 저 어노테이션이 추가가되어있네요 어떤 차이인거죠? runwith 어노테이션은 junit에 내장된 러너를 사용하는 대신 어노테이션에 정의된 러너 클래스(springrunner.class)를 사용한다는데.. junit에 내장된 러너랑 어노테이션에 정의된 러너클래스랑은 무슨차이인건가요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
반복문 예제문제 실패 문의
반목문 Question 에서 products 리스트 적용 후에 정답을 한번 선언식 말고 표현식으로 써보려고 했거든요 let getPrice = function(products){ const length = products.length; for(let i = 0; 0 < length; i++){ console.log(products.length[i]) } } 이렇게 했을때는 별 문제가 없어보이고 products.length 로 확인했을때도 이상없이 2 라고 나오는것을 확인했는데요, getPrice(products) 를 실행하니 반복횟수가 어마어마하게 계속 늘어나면서 컴퓨터가 마비되려고 하네요 반복문에 뭐너가 틀린게 있는건지 다른부분에서 틀린건지 궁금해서 남겨 놓습니다 ㅠㅠ
-
미해결대세는 쿠버네티스 (초급~중급편)
multi master Storage service
현재 쿠버네티스 버전은 1.22.7 이고 , 마스터 이중화를 진행하였습니다. 현재 storage service를 적용하기 위해서 여러가지 찾아보다가 StorageOS는 현재 1.18 버전 위로는 docs에 없어서 설치 할 수 없었고, Ceph를 설치하려고 합니다. 근데 궁금한 것이 현재 마스터 이중화가 되어 있는 상황에서 Ceph 설치를 master 한 곳에만 하면 되는 것인지, 아니면 두개의 master에 설치를 해야할지 모르겠습니다. 그리고 궁금한 것이 Ceph를 깔면 pod가 죽었을 때 기존 파일들을 다른 노드에서도 사용할 수 있나요??
-
미해결스프링 프레임워크 핵심 기술
PropertyEditor non thread-safe 한 이유
안녕하십니까 한가지만 여쭤봐도 될까요? 제가 기초가 부족해서 갑자기 이부분이 헷갈리더라고요 죄송합니다 강의를 보던중에 PropertyEditor는 non thread-safe라서 변수를 공유하기 때문에 값이 달라질수 있다고 하셔서(싱글톤이라 그런가요?) 궁금증이 생겼는데 스프링에서 단순 클래스에서 변수를 사용하는 것은 공유를 안하나요? ex) public class Test{ int i = 1; ... } 스프링에서 여러명이 동시에 클래스 또는 함수를 사용해서 i 값을 변경해도 해당 사용자는 독립적으로 i 값을 참고하나요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
dropdown 메뉴와 차이점
앞전 강의에서 마우스 오버했을때 서브 메뉴들이 display 되면서 나오는 강좌가 있었는데 그건 jquery가 안들어가도 됐는데.... 그거와 차이점은 스크립트함수가 있는 slideDown을 쓸수있느냐 없느냐 차이인건가요? 그래서 좀더 부드럽게 나오게 하는차이인가요? jquery안쓰고는 slidedown효과를 줄수없는거죠?css만 가지고는요.?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
유니크 제약조건과 duplication exception의 차이
회원가입을할때 같은 이름의 회원이면 duplication exception이 뜨도록 예외처리를 해놨고, 정말 동시에 두사람이 같은이름으로 가입하게 되면 오류가뜰수있어서 member의 name을 유니크 인덱스로 설정해줘야해요 근데 ... 뭔차이인지 잘 모르겠어서요 유니크인덱스로 설정한다는게 중복값을 허용하지 않도록 설정하는거잖아요? 그거랑 duplication exception이랑 뭐가 다른건가요?https://www.inflearn.com/questions/59250이걸 참고해봐도 둘의 차이는 잘 모르겠어서요--duplication exception만했을 경우엔 디비에 직접 접근해서 insert를 중복으로 하면 오류가 생기겠네요 그래서 유니크 제약조건이 필요한것같아요 근데 개발자가 디비에 직접 접근할수는 있어도 사용자는 디비에 직접 접근할 일이 없지않나요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
환경설정 문의
환경설정 강의를 보면 IDE 프로그램을 아톰을 사용하시는데 이미 파이참으로 설정을 한 상태입니다, 파이참을 이용해도 강의를 듣고 추후 이용하는데에는 무관 한가요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
sublime3 html 저장한 다음 web browser로 켰을때 다음과 같이 나타납니다.
기입을하고 저장한 다음 브라우저를 활용해서 켰을 경우 이렇게 나타나게 됩니다 ㅠㅠ 해결할 방법이 있을까요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
join시 id값을 반환하는 이유
리파지토리에 저장을 하면 원래는 엔티티의 id값이 없는데 영속성 컨텍스트에 Member를 저장하면서 id값을 자동으로 넣어줘요. 그래서 id값을 리턴해서 잘 저장됐는지 확인하는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
long이 아니라 Long(객체 타입)을 쓰는 이유가 뭔가요?
왜그러는거죠?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃헙 권한 요청드립니다
인프런 아이디 : plgrimvue4 인프런 이메일 : plgrimvue4@gmail.com깃헙 아이디 : iij0573 깃헙 Username : iij0573
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
영속성 컨텍스트와 트랜잭션에 대한 질문입니다.
안녕하세요 영한님. 늘 강의 잘 듣고 있습니다. 강의에서는 Controller단에서 찾아서 넘기면 JPA와 관계가 없는 애가 넘어온다고 하셔서 아래 코드로 테스트 해보았는데, 값이 변경되길래 조금 찾아보았고, 제가 이해한 것이 맞는건가 확인차 질문 올립니다. 1. Spring에서 Controller단의 경우 트랜잭션 범위 밖이기 때문에 읽기만 가능하며, 읽을때에도 영속성 컨텍스트에 등록은 된다.(기본적으로 open-in-view : true이기 때문에) 2. 하지만 말 그대로 "읽기"이기 때문에 persist / merge / flush 등을 호출시 에러를 터트려 트랜잭션 범위 밖에서는 값을 변경할 수 없다. 3. 그럼에도 아래의 코드로 item의 price와 name이 변경되는 것은 1번에 의해 item은 영속성 컨텍스트로 관리되고 있었기 때문이고 orderService의 order()가 종료될 때 플러시 발생 -> 더티체킹 동작시 DB에서 불러왔을때와 다르니 정상적으로 update 발생4. 만약 application.yml에서 open-in-view : false로 변경 시컨트롤러단에서 find 한 엔티티들은 영컨에 등록되지 않아 더티체킹도 안될 뿐더러 넘겨받은 member / item을 service단에서 그대로 사용하려 할 경우 에러 발생 (org.hibernate.LazyInitializationException: could not initialize proxy) ``` @PostMapping("/order") public String order(@RequestParam("memberId") Long memberId, @RequestParam("itemId") Long itemId, @RequestParam("count") int count) {// orderService.order(memberId, itemId, count);// 테스트 Member member = memberRepository.findOne(memberId); Item item = itemRepository.findOne(itemId); item.setPrice(88888); //더티체킹이 일어나는 시점은 트랜잭션 종료 지점이라 해당 지점에서는 변경이랑 관련이 없다. //그래서 트랜잭션이 있는 서비스 메소드 부분을 주석쳐버리면 변경은 일어나지 않는다.// 얘네는 다 에러// entityManager.flush();// memberRepository.save(member);// itemRepository.save(item); orderService.order(member, item, count); return "redirect:/orders"; } @Transactionalpublic Long order(Member member, Item item, int count) { item.setName("변경된 책 이름"); //배송정보 생성 Delivery delivery = new Delivery(); delivery.setAddress(member.getAddress()); delivery.setStatus(DeliveryStatus.READY); //주문상품 생성 OrderItem orderItem = OrderItem.createOrderItem(item, item.getPrice(), count); //주문 생성 Order order = Order.createOrder(member, delivery, orderItem); //주문 저장 orderRepository.save(order); return order.getId();} ``` 으로 이해했는데 맞는지 모르겠습니다...
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
게임 오브젝트 던지기 질문
안녕하세요 강사님 배운 것을 토대로 게임도 만들어보고 2번째 게임 제작 중입니다. 게임 오브젝트를 드래그 앤 드롭으로 던지면 해당 속도만큼 게임 오브젝트가 날라가는 것을 구현하려고 합니다. 해당 구현부만 테스트 중이며 구글링으로는 마우스 클릭 시 오브젝트가 날라가는(?) 형식의 글 밖에 안보여서 질문드립니다. 제 나름대로 어느정도 구현을 하였는데 마우스 드래그 시작 시 이전 속도를 없애는 코드가 작동하지 않습니다. 그리고 귀찮으실 수 있겠지만 실제 게임에서는 구현을 어떤 식으로 하는지 궁금합니다. using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; public class Test : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { Rigidbody rb; float y; float startTime, endTime; Vector3 startPostion, endPostion; private void Awake() { // y축 고정 y = transform.position.y; rb = GetComponent<Rigidbody>(); } // 드래그 중일 시 해당 객체가 따라오도록 설정 public void OnDrag(PointerEventData eventData) { transform.position = GetPosition(eventData); } public void OnBeginDrag(PointerEventData eventData) { startTime = Time.time; startPostion = GetPosition(eventData); // 드래그 시작 시 속도를 0으로 만듬(작동안함) rb.velocity = Vector3.zero; } // 드래그 종료 시 속도를 구해 해당 방향으로 날려보냄 public void OnEndDrag(PointerEventData eventData) { endTime = Time.time; endPostion = GetPosition(eventData); // 속도 = 이동거리 / 걸린시간 Vector3 dir = (endPostion - startPostion).normalized; float dis = (endPostion - startPostion).magnitude; float speed = dis / (endTime - startTime); // 해당 방향으로 속도의 10배에 가하는 힘을 가한다. rb.AddForce(dir * speed * 10f); } // 레이캐스트는 해당 객체가 아닌 해당 객체 뒤의 물체에 하며, 그 물체의 좌표를 반환 Vector3 GetPosition(PointerEventData eventData) { RaycastHit[] hits; Ray ray = Camera.main.ScreenPointToRay(eventData.position); //Debug.DrawRay(Camera.main.transform.position, ray.direction * 100f, Color.red, 1.0f); hits = Physics.RaycastAll(ray, 1000f); foreach (RaycastHit hit in hits) { if (hit.collider.name != transform.name) { return new Vector3(hit.point.x, y, hit.point.z); } } return transform.position; } }