묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
후기남겼습니다 감사합니다!! 질문하나만 더부탁드립니다 ㅠㅠ
번외질문이지만, 안드로이드 앱을 제작한다고치면 스프링으로 서버를 따로 뛰운후에 안드로이드 스튜디오에서 버튼을 눌렀을때 url로 json을 전송하는 그런 느낌으로 연결하는 그런 느낌일까요? 앱서버=웹서버 이런건가요 웹서버는 MVC에서 뷰에서 반환처리하면서 뷰보여주는것 까진 이해를 했는데, 앱서버에서는 뭘로 소통하는지 이해가 아직 안갑니다ㅠㅠ
-
미해결벡터 미적분학 시리즈1 - 미분 기초
2.2강에서 open set의 정의
정의에 따르면 boundary가 없는 open set도 존재하는 것 같은데요. R처럼요. 맞나요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
도와주세요 ㅠㅠ 왜 오류가 나는지 모르겠네요
# 타입 출력까지는 괜찮은데, # 형 변환부터 출력할 때 오류가 떠요 ㅠㅠㅠㅠㅠ 왜 그런걸까요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
vue3 과 vue2 차이점과 실제 프로젝트 구현시 어떠한것들이 많이쓰이고있는지...
강의는 vue2 기준의 소스들이 많은거 같아서 고민이 드네요 회사에서 vue 공통을 잡아야하는데 강의 기준은 vue3 이 아니여서 자신감이 없네요 기타 사용법들이 파기되었거나 다른방식으로 변경되어서 아직 개념이 적립되지않아서 vue3에 어떻게 녹여야하는지를 모르겠습니다. 정식릴리즈 vue3가 되었는데 vue3로 프로젝트를 진행해도 되는지 여쭈어 봐도 될까요 ... 아니면 아직까지는 실무에서 vue2를 기반으로 가져가는지 알고싶습니다..
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
PUT/POST 실제 차이
put 메소드는 한정된 리소스를 일부 수정하고 그 전체 값을 대체할 때 사용한다고 이해했습니다. 그런데, 제 머리 속에는 서버에 메소드를 전달하여 데이터 처리를 하는 것이 쿼리를 수행하는 것으로 느껴집니다. 예를 들어 1번 유저의 정보를 수정한다고 가정할 시 put/post 메소드 모두 같은 쿼리가 수행 될 것 같습니다. 그렇다면, put과 post의 차이는 pathvariable 사용여부의 차이 일까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
점수계산문제 질문
1이 연속으로 나오는 경우에 첫번째 1은 1 두번째연속1은 2 세번째는 3이잖아요 중간에 1이 있는경우와 이렇게 연속으로 1이 나오는경우 점수가 다른데 코드는 그냥 계속 1을 더하는 거 아닌가요?? 아직 잘 이해가 안돼요ㅜㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA를 SpringDataJPA로 바꿀때 DB에 저장이 안됩니다.
제가 JPA1강의를 듣고 SPRING DATA JPA도 듣고 난 후 JPA1에서 JPA로 만든 예제를 SpringDataJPA로 바꾸고 싶어서 시도해봤는데요.ItemRepository, MemberRepository, OrderRepository는 아래와 같이 만들고 public interface ItemRepository extends JpaRepository<Item,Long> { Item findItemById(Long id); } public interface MemberRepository extends JpaRepository<Member, Long> { Member findMemberById(Long id); @Query("select m from Member m where m.name =:name") List<Member> findByName(@Param("name") String name); } public interface OrderRepository extends JpaRepository<Order,Long> { Order findOrderById(Long id);}동적쿼리부분은 OrderRepositoryImpl을 만들어 OrderRepository를 implements 하는 식으로 해봤는데요 @Repository@RequiredArgsConstructorpublic class OrderRepositoryImpl implements OrderRepository { private final EntityManager em; public List<Order> findAllByString(OrderSearch orderSearch) { //language=JPAQL String jpql = "select o From Order o join o.member m"; boolean isFirstCondition = true; if (orderSearch.getOrderStatus() != null) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " o.status = :status"; } //회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " m.name like :name"; } TypedQuery<Order> query = em.createQuery(jpql, Order.class) .setMaxResults(1000); //최대 1000건 if(orderSearch.getOrderStatus()!=null) { query = query.setParameter("status", orderSearch.getOrderStatus()); } if(StringUtils.hasText(orderSearch.getMemberName())) { query = query.setParameter("name", orderSearch.getMemberName()); } return query.getResultList(); }@Override......@Override......}그리고 나서 ItemService, MemberService, OrderService를 밑에 처럼 작성하였고 @Service@Transactional(readOnly=true)@RequiredArgsConstructorpublic class ItemService { private final ItemRepository itemRepository; @Transactional public void saveItem(Item item){ itemRepository.save(item); } @Transactional public void updateItem(Long itemId, String name, int price, int stockQuantity){ Item findItem = itemRepository.findItemById(itemId); findItem.setName(name); findItem.setPrice(price); findItem.setStockQuantity(stockQuantity); } public List<Item> findItems(){ return itemRepository.findAll(); } public Item findOne(Long itemId){ return itemRepository.findItemById(itemId); }} @Service@Transactional(readOnly = true)@RequiredArgsConstructorpublic class MemberService { private final MemberRepository memberRepository; //회원가입 @Transactional public Long join(Member member){ validateDuplicateMember(member); Member savedMember = memberRepository.save(member); return savedMember.getId(); } // 중복회원 검증 private void validateDuplicateMember(Member member) { List<Member> findMembers = memberRepository.findByName(member.getName()); if(!findMembers.isEmpty()){ throw new IllegalStateException("이미 존재하는 회원입니다!"); } } // 회원 전체 조회 public List<Member> findAllMember(){ return memberRepository.findAll(); } // 회원 조회 public Member findMember(Long id){ return memberRepository.findMemberById(id); }}@Service@Transactional(readOnly = true)@RequiredArgsConstructorpublic class OrderService { private final OrderRepositoryImpl orderRepositoryImpl; private final MemberRepository memberRepository; private final ItemRepository itemRepository; //상품 주문 @Transactional public Long order(Long memberId, Long itemId, int count){ //엔티티 조회 Member member = memberRepository.findMemberById(memberId); Item item = itemRepository.findItemById(itemId); //배송정보 생성 Delivery delivery = new Delivery(); delivery.setAddress(member.getAddress()); //주문 상품 생성 OrderItem orderItem = OrderItem.createOrderItem(item, item.getPrice(), count); //주문 생성 Order order = Order.createOrder(member, delivery, orderItem); //주문 저장 orderRepositoryImpl.save(order); return order.getId(); } //상품 취소 @Transactional public void cancelOrder(Long orderId){ Order order = orderRepositoryImpl.findOrderById(orderId); order.cancel(); } // 상품 조회 public Order findOne(Long orderId){ return orderRepositoryImpl.findOrderById(orderId); } // public List<Order> findOrders(OrderSearch orderSearch) { return orderRepositoryImpl.findAllByString(orderSearch); }}실행을 하였을 때 회원가입과 상품등록을 하면 DB에 Member와 Item은 저장이 되지만 상품 주문을 하면 Order와 OrderItem에는 아래와 같이 아무런 정보도 저장되지 않습니다. 뭐가 틀린걸까 하고 엔티티들을 다시 작성해보고 html문서들도 다시 작성해보았는데도 아무런 이상이 없었고Spring Data jpa를 jpa로 다시 바꾸고 나니까 DB에 Order와 OrderItem들이 저장되었습니다. 제가 Spring Data Jpa를 어떤식으로 잘못 쓴건가요? 그리고 또 하나 질문이 있는데요 위에 MemberRepository를 보시면 Member findMemberById(Long id); 이런식으로 스프링데이터jpa안에 메소드를 만들고MemberService의 회원조회를public Member findMember(Long id){ return memberRepository.findMemberById(id);}이렇게 적었는데 MemberRepsitory에서 Member findMemberById(Long id) 메소드를 지우고 MemberService의 회원조회에서 public Member findMember(Long id){ return memberRepository.findById(id).orElse(null);}이런식으로 orElse(null)을 써도 되는건가요??
-
미해결Python을 이용한 주가 백테스팅 시스템 구축하기
SELECT * FROM 구문 사용 시 UnicodeDecode 에러가 발생합니다.
도대체 왜 발생하는지 모르겠습니다. mysql 내에 테이블 명을 종목명(한글)로 했었으나 데이터를 제대로 불러오지 못하는 것 같아 데이터를 모두 삭제한 후 종목코드로 했으나 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfb in position 38: invalid start byte 오류가 발생했고, table 이름을 숫자만으로 구성하는 경우 발생할 수 있는 문제라는 이야기가 있어 종목코드 앞에 임의의 문자열 i를 추가하여 table 이름을 구축하였으나, 그럼에도 여전히 오류가 발생하고 있습니다. mysql 내에서는 정상적으로 작동하는 구문인데, 파이참 내에서 사용할 경우에만 오류가 발생합니다. [작성 코드] cur.execute("SELECT * FROM `all_data`.`i" + data[0] +"` ORDER BY date desc")save_date = cur.fetchall()print(save_date) [발생 오류]
-
해결됨실전 리액트 프로그래밍
'react-redux 없이 직접 구현하기' 강의 중 궁금한 점이 있어 질문합니다.
안녕하세요. 강의 'react-redux 없이 직접 구현하기'를 듣던 중 궁금한 점이 있어 질문하게 되었습니다. 강의에서 아래와 같은 코드를 작성하셨습니다. const [, forceUpdate] = useReducer((v) => v + 1, 0); 설명하실 때 "상태값 변경 함수(forceUpdate)를 호출할 때마다. 상태값을 변경하는 코드이다. 이 함수(forceUpdate)가 호출될 때마다 컴포넌트를 렌더링하기 위해 작성했다."라고 말씀하셨습니다. 그런데 여기서 "컴포넌트를 다시 렌더링하는 것은 useState를 써도 되지 않을까?" 하는 생각이 들어 해당 라인에 useReducer를 useState로 바꿔서 실행해보니 오류는 발생하지 않았지만 timeline이 하나밖에 추가가 되지 않았습니다. useReducer를 사용한다는 것은 redux에서 발생하는 모든 action들에 대해 감지를 한다는 뜻일까요? 위의 코드가 정확히 구체적으로 어떤 역할과 효과를 가져오는지 잘 모르겠습니다. 답변 주시면 감사하겠습니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
autocomplete-python traceback output: 가 뜹니다
autocomplete-python traceback output: Traceback (most recent call last): File "C:\Users\User\.atom\packages\autocomplete-python\lib\completion.py", line 8, in <module> =print('hello') 를 입력하고 싶은데, pri를 쓰면 위와 같은 메세지가 뜹니다.. 고급설정가서 시스템 설정 - path 편집에서 C:\Users\User\AppData\Local\Programs\Python\Python310 으로 저장도 했고, 재부팅도 했는데 여전히 문제가 발생합니다..ㅠㅠ 어떻게 해야하나요?ㅠㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
CameraController 오류
어제 이전 강의 듣고 나서 다시 켜니까 다음과 같은 오류가 뜨는데 도저히 이유를 모르겠습니다 Assets\Scripts\Controllers\CameraController.cs(5,14): error CS0101: The namespace '<global namespace>' already contains a definition for 'CameraController' Assets\Scripts\Controllers\CameraController.cs(14,10): error CS0111: Type 'CameraController' already defines a member called 'Start' with the same parameter types Assets\Scripts\Controllers\CameraController.cs(19,10): error CS0111: Type 'CameraController' already defines a member called 'LateUpdate' with the same parameter types using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraController : MonoBehaviour { [SerializeField] Define.CameraMode _mode = Define.CameraMode.QuaterView; [SerializeField] Vector3 _delta = new Vector3(3.75f, 7, -7); // the distance between the character and the camera [SerializeField] GameObject _player; void Start() { } void LateUpdate() { if (_mode == Define.CameraMode.QuaterView) { // Move the camera forward, closer to Player when Player gets occuluded by walls RaycastHit hit; if (Physics.Raycast(_player.transform.position, _delta, out hit, _delta.magnitude, LayerMask.GetMask("Wall"))) { // the distance between Player and the wall // Make it a bit closer to Player from the wall float dist = (hit.point - _player.transform.position).magnitude * 0.8f; // Move the camera // from Player, with the same direction towards Camera with the distance calucated above transform.position = _player.transform.position + _delta.normalized * dist; } else { transform.position = _player.transform.position + _delta; // Have the camera follow the player transform.LookAt(_player.transform); } } } public void SetQuaterView(Vector3 delta) { _mode = Define.CameraMode.QuaterView; _delta = delta; } }
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
오류 질문이요
데브라는 프로그램에서 프로그래밍중인 초보 프로그래머입니다. 강의 그대로 타이핑해서 프로그램을 실행시키니 NULL에서 오류가 발생하는데 어떻게 해야하나요
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Action 관련하여..
안녕하세요!! 바쁘신 와중에 빠른 답변 항상 감사드립니다. 사실 Part3. 강의의 InputManager에 대한 이해도를 높히고자 다시 이 부분으로 돌아왔는데요! 이 강의에서는 Action은 단지 인자와 반환형식이 모두 없는 Delegate라고 설명해 주시는데 실제 InputManager에서 Action을 사용하실때는 public Delegate void Action();은 이미 System상 선언되어있으니 생략하더라도 public Event Action KeyAction = null; 라는 Event 선언 없이 바로 Action OnMouseClicked = null; 로 Event를 만든 후 여기에 구독 신청을 하더라구요!! 이건 어떻게 가능한 건가요??? System상 이미 public Event Action까지 선언되어 있는 건가요??
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
POSTMAN 무한로딩
POSTMAN에서 req 전송 시 무한로딩이 발생하고 있습니다.ㅠㅠ다른분들 질문도 보고 ; 표시도 하고 강사님 깃허브랑 비교도 해봤는데... 다른 걸 못 찾겠어서... postman으로 테스트 시 어디서 문제 생기는지 확인하는 방법도 모르겠어서 염치없지만... 시간 되시면 확인부탁드립니다.ㅎㅎ ㅠㅠㅠ
-
미해결제주코딩베이스캠프 Code Festival: JavaScript 100제
질문 드립니다!!
궁금한게 결국 재귀함수를 통해서 if ( arr.length <= 1) return arr; 를 하는게 목적인데 console.log로 리턴값을 확인해보면 12345678910 으로 리턴을 하더라구요. 재귀함수의 인풋으로 들어간 배열의 길이가 1이라면 결국 조건문에의해 배열을 리턴하는데... 배열의 형태가 아닌 12345678910으로 리턴을 하게 되었을까요??
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
pillow 패키지 관련 질문
안녕하세요. 강의를 듣다가 궁금한 점이 생겨 질문 드립니다. model 에서 imageField 를 사용하기 위해선 pillow 를 설치하라고 하셨는데 mac m1 환경에서는 pillow 가 아직 지원하지 않는 건지 자꾸 오류가 발생합니다. ㅠㅠ 혹시 다르게 접근 할 수 있는 방법이 있다면 알려주실 수 있을까요? 참고로 아래는 오류 내용입니다. Exception in thread django-main-thread: Traceback (most recent call last): File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/Users/nohsm/dev/pragmatic/venv/lib/python3.8/site-packages/django/utils/autoreload.py", line 53, in wrapper fn(*args, **kwargs) File "/Users/nohsm/dev/pragmatic/venv/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 118, in inner_run self.check(display_num_errors=True) File "/Users/nohsm/dev/pragmatic/venv/lib/python3.8/site-packages/django/core/management/base.py", line 442, in check raise SystemCheckError(msg) django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues: ERRORS: articleapp.Article.image: (fields.E210) Cannot use ImageField because Pillow is not installed. HINT: Get Pillow at <https://pypi.org/project/Pillow/> or run command "python -m pip install Pillow". System check identified 1 issue (0 silenced). 위에서 보면 pillow 가 설치되지 않았다고 하는데 pip list 로 보면 설치가 되어있습니다. 또한 가상환경에서 실행하였습니다. 마지막으로 좋은 강의 만들어 주셔서 감사합니다.
-
[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
selectivesearch 를 찾을수 없다고 뜨는데 어떻게 해야 해요?,,
삭제된 글입니다
-
데이터 자동화(with VBA)
2강 환경설정 예제파일은 없는 건가요?
삭제된 글입니다
-
미해결스프링 시큐리티
AccessDecisionManager 구현체에 대해서 질문 드립니다!
우선 좋은강의 만들어주셔서 정말 감사드립니다. 질문부탁드릴 내용은 AccessDecisionManager 구현체에 관한 것입니다. 강의에서 구현체가 접근 결정 유형의 따라 3가지가 존재한다고 말씀해주셨는데 코드 실행 영상을 보니 AffirmativeBased 클래스가 실행되어 혹시 해당 클래스가 스프링 시큐리티의 기본값인건지 궁금합니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Location 헤더와 Content-Location
안녕하세요. 강사님. 해당 HTTP 수업과 강사님의 스프링, JPA 수업들을 들었던 상태로 드디어 직접 게시판 REST API 프로젝트를 진행하기 위해 API 명세를 작성해 보면서 검색하던중에 한가지 의문이 생겼습니다. 강사님께선 POST 요청에 대한 201 Created 응답을 할 때, Location 헤더에 생성된 자원의 주소를 포함해서 응답하는걸로 알려주셨는데, 구글링해서 본 글 중 아래와 같은 글을 보았습니다. "따라서 요청의 응답 헤더에 새로 생성된 리소스를 식별할 수 있는 Content-Location 속성을 이용한다. 출처: https://sanghaklee.tistory.com/57 [이상학의 개발블로그]" 강의 내용과 달라서 구글에 영문으로 검색해 보았는데, 영어로봐도 모르겠고 한글로 번역해서 봐도 이해가 잘 안가서 질문드립니다.구글링 결과로 Content-Location 헤더는 반환된 데이터에 대한 대체 위치를 가르킨다고 하고,Location 헤더는 리다이렉션의 대상을 가르킨다고 하고 있습니다... 같은말을 다르게 설명하는느낌입니다. 그런데 Location과 Content-Location은 다르다고합니다.만약 유저 정보를 POST 요청으로 등록한다고 하면 반환된 데이터는 서버에 저장된 데이터이고, 이것에 대한 위치라는 말과 리다이렉션 대상이라는 말은 같은말 아닌가요?ㅜㅜ Content-Location 헤더는 강의 내용에도 있는 콘텐츠 협상시에 쓰인다는 말이 나오는 것 같은데, 그러면 블로그의 정보가 틀린건가요??? 아래는 영어 원문과 번역된 내용입니다... 감이 안잡히네요The Content-Location header indicates an alternate location for the returned data. The principal use is to indicate the URL of a resource transmitted as the result of content negotiation. Location and Content-Location are different. Location indicates the URL of a redirect, while Content-Location indicates the direct URL to use to access the resource, without further content negotiation in the future. Location is a header associated with the response, while Content-Location is associated with the data returned. This distinction may seem abstract without examples. ======================================================= Content-Location헤더는 반환 된 데이터의 대체 위치를 나타냅니다. 주요 용도는 콘텐츠 협상 의 결과로 전송되는 리소스의 URL을 나타내는 것 입니다. Location그리고 Content-Location다릅니다. Location리디렉션의 URL을 Content-Location나타내고 향후 콘텐츠 협상없이 리소스에 액세스하는 데 사용할 직접 URL을 나타냅니다. Location응답과 연관된 헤더이고 Content-Location리턴 된 데이터와 연관됩니다. 이러한 구분은 예 없이 추상적으로 보일 수 있습니다 . 추가적으로, GET /users 같은 컬렉션이 반환되는 경우, 정상적으로 처리가 되었지만 데이터가 아무것도 없는 경우엔 200응답으로 빈 내용을 응답할지, 404에러로 응답할지 구글링 해보면 관점에따라 의견이 갈리던데, 강사님께서는 이러한 경우에 200을 사용하시는지 404를 사용하시는지 궁금합니다.