묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
반복문 예제문제 실패 문의
반목문 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; } }
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
npm i gsap 질문입니다.
gsap 를 설치 후 npm start를 하니 이러한 오류가 뜹니다. ㅠㅠ 어떻게 해야 하나요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
블릿아이콘 회전부분이 좀 이해가안가
.title:before { position: absolute; content:'\f105'; font-family: fontawesome; right:10px; top:7px; transition: 0.3s; } .title.active:before { transform: rotate(90deg); color: orange; } 저는 before가상클래스에 넣었는데요 그 가상클래스에 속하는 content를 90도 회전시킨다는 의미라는건 알겠는데 .title:before 가상클래스와 .title.active:before 가상클래스는 content부분을 따로 선언해주지 않고도 기준이 되는 content가 .title:before가 기준이면서 .active라는 클래스가 추가됐을경우를 의미하는건가요? 잘 작동되는거 보면 의미는 받아들이겠지만.... .active 가 없는 클래스의 가상클래스가 기준이 되고 거기에 transition을 넣는게 헷갈리긴 합니다.^^;;;
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
플러그인 'cloud_firestore, firebase_auth'는 더 이상 사용되지 않는 Android 임베딩 버전을 사용합니다.
구글링 해봐도 어떻게 해결해야할지 이해가 안되서 질문드려요 에러코드입니다. 어떻게 해야 해결할 수 있을까요? The plugins `cloud_firestore, firebase_auth` use a deprecated version of the Android embedding. To avoid unexpected runtime failures, or future build failures, try to see if these plugins support the Android V2 embedding. Otherwise, consider removing them since a future release of Flutter will remove these deprecated APIs. If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration. Launching lib\main.dart on sdk gphone64 x86 64 in debug mode... Running Gradle task 'assembleDebug'... Plugin project :firebase_core_web not found. Please update settings.gradle. FAILURE: Build failed with an exception. * Where: Build file 'C:\Users\user\StudioProjects\insta_clon\android\build.gradle' line: 27 * What went wrong: A problem occurred evaluating root project 'android'. > A problem occurred configuring project ':app'. > Failed to notify project evaluation listener. > 'org.gradle.api.file.DirectoryProperty org.gradle.api.file.ProjectLayout.directoryProperty(org.gradle.api.provider.Provider)' > Cannot invoke method afterEvaluate() on null object * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 23s Exception: Gradle task assembleDebug failed with exit code 1
-
미해결스프링 핵심 원리 - 기본편
repository와 service의 매핑 관계
안녕하세요 영한님! 스프링 기본편 강의에서 회원관리 도메인과 주문관리 도메인을 설계하는 코드를 따라서 쳐보던 중, repository와 service의 관계에 대해 궁금한 부분이 생겨 질문 드립니다. 서비스를 설계하다 보면 다른 쪽의 서비스 (ex. OrderService에서 member과 관련된 기능 필요) 기능이 필요해질 때가 많이 있는데 그럴 때면 한 서비스 내에서 다른 쪽의 repository를 내부에서 참조하는 것이 맞는지, 아니면 service를 참조하는 것이 맞는지 궁금해져 인터넷을 통해 찾아본 적이 있었습니다. 제가 찾아본 글에서는 repository 와 service는 반드시 1대1로 매핑이 되어있어야 한다고 설명이 되어있었는데영한님의 OrderService 예제에서는 OrderService 내부에서 private final MemberRepository 로 repository를 참조하고 있다는 것을 알게되었습니다. 사실 저는 service 내에서 다른 쪽의 service를 참조하면 잘못된 설계로 인해 빈 순환참조 오류 등의 문제가 생길 수도 있을 것이라 생각하여 repository를 참조하는 쪽이 더 낫지 않나, 라는 생각을 가지고 있었는데repository를 참조하는 것과 service를 참조하는 것 둘 중에 맞는 방법, 또는 영한님께서 생각하시기에 이게 더 낫다 라고 생각하시는 방법이 무엇인지 여쭤보고 싶습니다! 올려주시는 강의 항상 잘 듣고 있습니다, 감사합니다
-
미해결AWS(Amazon Web Service) 입문자를 위한 강의
S3 화면이 전혀 달라요.
화면 모양이 전혀 달라서 따라할수가 없네요
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의자료
안녕하세요~ 강의자료 어디서 다운 받아볼 수 있을까요?
-
미해결Vue.js + TypeScript 완벽 가이드
깃헙 권한 요청드립니다.
2번째 프로젝트 권한 요청 드립니다. bbanchu1@gmail.com
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jar관련 질문 두가지 있습니다.
안녕하세요. 항상 강의 잘 수강하고 있습니다. 감사합니다. 제가 궁금한 것은 2가지 있는데요 첫번로 build를 한 후 jar파일을 만들 때 브랜치에 따라서 버전을 다르게 운영할 수 있는지 궁금합니다. 예를 들어서 master 브랜치 상태에서 build하고, 다른 브랜치 상태에서 build 했을 때 차이가 있는지 알고 싶습니다.(build 파일 없는 상태 조건에서) 두번째는 jar를 생성한 이후 프로젝트 내용이 수정된다면, 기존 jar 파일을 제거하고 재빌드를 해야할까요? 아니면 자동으로 업데이트가 되나요?