묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
베이스 이미지 설명
안녕하세요~ 강의 잘 듣고있습니다. "Docker file 만들기" 부분 수강중인데요 베이스 이미지 설명하실 때 OS라고 생각하시면 된다고 하셨는데 그 전에 강의 보면 기존 가상화 기술(VM) vs Docker 비교 하는 강의에서 하이퍼 바이저 기반의 가상화와 docker의 차이는 OS 여부라고 하셨는데,,, 갑자기 OS라고 생각하라고 하니... 대혼란이 왔습니다.
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
__del__과 del
클래스 내에서 정의하기를, def __del__(self): Car.car_count -= 1 이후에 파이썬에서 실행시키기를, del car2 print(car1.car_count) print(Car.car_count) 제 질문은, 우리가 정의한 것은 __del__인데, del을 시행할 때 왜 __del__이 시행되는 가 입니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Service와 Entity 비즈니스 로직에 관해
안녕하세요. DDD Start라는 책을 함께 읽으며 영한님의 강좌를 다시 한번 보고 있습니다. 그러던 도중 과연 어디까지 비즈니스 로직으로 보아야할까에 대한 의문점이 생겼습니다. 책에서는 도메인(엔티티) 쪽에 비즈니스 로직을 두고 서비스 레이어는 각 도메인의 함수를 호출하는 형태로 구현하여 서비스를 최대한 얇게 만들어야한다고 하더라구요. 그런데 이번 강의 2분 49초쯤을 보면 중복 회원을 검증하는 코드가 서비스 레이어에 위치해있습니다. 회원가입이라는 기능에서 중복 회원 검증이라는 규칙은 서비스에 있어 핵심 비즈니스 로직이라고 생각하는데요. 이 부분을 엔티티쪽에 두어 검증하지않고 서비스 레이어에 두셔서 혼란이 오더라구요. 질문을 요약하자면, 1. 중복 회원 검증 코드는 비즈니스 로직이라고 봐야할까요? 2. 맞다면 비즈니스 로직은 엔티티에 들어가야 하지 않나요? 3. 요구사항에는 중복 검증뿐만 아니라 수많은 검증 로직들이 존재할텐데, 이를 서비스에 작성해야할지 엔티티에 작성해야할지 어떠한 기준으로 판단해야할까요? 4. 도메인(엔티티)에서는 레포지토리를 호출하면 안된다고 알고 있습니다. 현업에서는 이를 명확하게 지키면서 코드를 작성하나요? 5. 만약 4번이 맞다면, 중복 회원 검증의 경우 실제 데이터베이스에 조회하는 쿼리를 날려야합니다. 이렇게 데이터베이스에 접근해야하는 로직의 경우 엔티티에 작성하면 안되는걸까요? (모든 질문은 DDD를 기반으로 질문드립니다!) 많은 예제들을 살펴보아도 서비스레이어에 작성할지 엔티티쪽에 작성할지 기준을 잡기가 정말 힘드네요.. 이 부분에 대해서 영한님의 의견을 듣고 싶습니다. 감사합니다 :)
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
nullable 처리 관련
최신 버전의 Firebase를 사용하여서 강사님이 올려주신 root_page.dart 파일을 넣어보니 아래와 같은 오류 납니다. nullable 처리가 잘못된건가요? sdk 버전은 아래와 같이 설정해두었습니다. 2.12.0
-
미해결Redux vs MobX (둘 다 배우자!)
action.meta.arg 에 대하여
action.payload에 백엔드서버에서 받은 정보가 저장되고 thunk에 넣어줬던 데이터는 action.meta.arg에 저장되는거 같은데, 영상에선 thunk에 넣어줬던 데이터가 그대로 action.payload에 저장된다고 설명해주셔서 어떤게 맞는지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
finally에서 DispatcherType이 왜 ERROR이 아닌가요?
(영상에서는 9분 18초에 나옵니다) error가 발생하고 난 뒤에 request.getDispatcherType() 한건데 왜 ERROR 타입이 아니라 REQUEST라고 나오나요? 혹시 WAS까지 올라가서 처음 request객체가 만들어질 때 ERROR 타입으로 setDispatcherType() 되는 건가요?
-
해결됨Kevin의 알기 쉬운 RxJava 1부
ObservableSequenceEqualExample.java 예제의 delay( ) 연산자 질문있습니다
안녕하세요, 해당 예제에서의 delay( ) 연산자를 첫 번째 유형(delay(Long delay, TimeUnit unit))으로 바꿔보았는데, 콘솔에 수행 결과 출력없이 종료됩니다. public class ObservableSequenceEqualExample { public static void main(String[] args) { Observable<CarMaker> observable1 = Observable.fromArray(SampleData.carMakers) .subscribeOn(Schedulers.computation()) .delay(300L, TimeUnit.MILLISECONDS) .doOnNext(data -> Logger.log(LogType.DO_ON_NEXT, "# observable1 : " + data)); Observable<CarMaker> observable2 = Observable.fromArray(SampleData.carMakers) .delay(100L, TimeUnit.MILLISECONDS) .doOnNext(data -> Logger.log(LogType.DO_ON_NEXT, "# observable2 : " + data)); Observable.sequenceEqual(observable1, observable2) .subscribe(data -> Logger.log(LogType.ON_NEXT, data)); }} Schedules.computation을 설정해서 그런가 싶어 주석 처리해보아도 결과는 동일했습니다. 어째서 두 유형의 delay( )이 결과 값이 다른지 모르겠습니다 * 추가 내용 (자문자답 아님!) 왜 이러한 차이점이 있는지 확인해본 바로는첫 번째 유형의 delay는 아래와 같이 스케줄러를 통해 computation 스레드로 지정하는 것을 확인했습니다. 이 때문에 observable1, observable2가 각 스레드 computation로 실행되기 때문에 Thread.sleep( )을 주지 않는 이상 콘솔에 출력이 안되는 것 같습니다. - Observable.java @CheckReturnValue@SchedulerSupport(SchedulerSupport.COMPUTATION)public final Observable<T> delay(long delay, TimeUnit unit) { return delay(delay, unit, Schedulers.computation(), false);} 반면 두 번째 유형의 delay 코드는 첫 번째 유형과 달리 실행할 스레드를 지정하는 코드가 없고 flatMap을 통해 데이터를 1개 씩 리턴하기 때문에 sequenceEqual( ) 연산자가 각각의 데이터를 비교할 수 있는 것이 아닐까 추측해봅니다... @CheckReturnValue@SchedulerSupport(SchedulerSupport.NONE)public final <U> Observable<T> delay(final Function<? super T, ? extends ObservableSource<U>> itemDelay) { ObjectHelper.requireNonNull(itemDelay, "itemDelay is null"); return flatMap(ObservableInternalHelper.itemDelay(itemDelay));} 혹시 제가 추측한 내용 중에 틀린 부분이 있는지 확인부탁드립니다ㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
똑같이 한거 같은데 404 오류가 뜨네요..
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
브라우저 경고 의미
제가 리덕스 툴킷을 따로 배워서 리덕스사가 대신 리덕스 툴킷으로 작성중인데, 회원가입을 하면 네트워크상으론 이상없고 데이터베이스에도 잘 저장됩니다. 그래서 서버에는 확실히 문제가 없는 것 같고 프론트 문제인거 같습니다. 콘솔창에 이런 경고가 나오는데 어떻게 해결해야할지 모르겠습니다. 아래는 제 액션 코드입니다. 아래는 제 리듀서 코드입니다. 처음엔 fulfilled만 넣어줘서 저런 경고가 뜨는가 해서 위사진처럼도 해보고 저기다가 return state까지 넣어서 해보기도 했지만 계속 같은 경고가 나옵니다. 아래는 제 스토어 코드입니다. 리듀서만 넣어줘서 안되는것인가 싶어 미들웨어에 [...getDefaultmiddleware()]도 넣어보고 createSerializableStateInvariantMiddleware이것도 해봤지만 안됩니다. 이외에 제가 선생님이랑 다르게 작업한건 툴킷에서 HYDRATE를 어떻게 적용시켜야할지 모르겠어서 빼준것 밖에는 없는것 같습니다. 어떻게 방법이 없을까요?
-
미해결
리눅스에서 pid_t 타입을 자세히 확인해 보려면 어떤 파일을 검색해 보아야 하나요?
프로세스와 쓰레드 강의에서 8페이지의 pid_t 타입을 만나서 그냥 지나치지 않고 자세히 확인해 보려고 하는데 ... 어디를 봐야 하는지 잘 모르겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
메모리 베리어 질문
1. 물을 내린다는 것이 주문현황에 옮긴다는 말인가요? 2. write를 하면 메모리 베리어를 하는것이 주문현황에 옮기기위한 절차라고 해석하면될까요? 근데 메모리베리어의 가시성이란 값을 불러오는 것도 되는것 같은데 메모리베리어는 메모리에 넣고 불러오고 이 두가지를 할 수 있는건가요? 제대로 이해하고 질문하는지는 모르겠지만 한번 올려봅니다!
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
크롤링과 데이터베이스 - 크롤링 코드 작성 시작[4:13]
프로그래밍언어가 위에서 아래로 실행하는 것으로 알고 있습니다. def get_category 함수의 선언과 정의부가 for category in categories: get_category(....... + category['href'], category.get_text()) 보다 아래에 있어서 vs code 에서는 정의가 되지 않았다고 하여 오류가 납니다. 이럴 경우 def get_category 함수의 선언과 정의부의 위치를 앞으로 당겨주면 사용 가능합니다만 문의) 코드를 작성도중에 함수를 추가해서 사용해야 하는 경우 위치를 앞으로 당겨서 작성하다보면 코드 가독성이 떨어질거 같은데 혹시 에디터가 함수의 선언과 정의가 아래 있어도 알아차릴 수 있는 방법이 없나요? 구글검색했을 경우 C, C++ 에는 있는 것 같은데 python은 잘모르겠네요. ㅠ
-
미해결[딥러닝 전문가 과정 DL1101] 딥러닝을 위한 파이썬 레벨1
slack 신청 관련....
안녕하세요 오늘 slack 초대 신청을 하였는데 초대 메일이 도착해서 가입을 하려고 하였습니다. 그런데, 제 닉네임에 구두점이나 특수문자가 있어 불가능하다는 메세지 창이 뜨는데 해당 이메일이 학교 이메일 계정이라서 그런지는 모르겠지만 이름 변경이 불가능한 상황입니다...혹시 새로운 이메일로 가입신청을 해도 괜찮을까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
로그인 & 회원 가입 후 로그인한 유저 정보를 사용하고 싶습니다
안녕하세요! 선생님 강의를 통해 리덕스에 대해 공부하고 있습니다! 로그인 후 다른 페이지나 기능에서 로그인한 유저의 정보를 이용하고 싶은데 어떻게 가져오는 것인지 잘 모르겠습니다. 어떻게 해야하나요? ㅜㅜ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서버 실행 후 jsp 파일을 열려고 하면 404 에러가 뜹니다.
servlet에서 지정해준 url 빼고 html파일이나 jsp파일은 열리지 않습니다. 해결방법을 알 수 있을까요???
-
미해결Vue.js 시작하기 - Age of Vue.js
코드를 따라 쳤는데 message에 값이 변하지 않아요
(사진)
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
redirect 에 대해서 질문드려요
addItemV5 메서드에서는 redirect:/basic/items/" + item.getId(); 라고 하셨는데요 PostMapping 한 editItem에서는 redirect:/basic/items/{itemId} 라고 되있더라구요 redirect:/basic/items/{item.getId()} 로 해보니까 안되서.. 혹시 editItem에서 {itemId}가 @PathVariable로 받아준 Long itemId가 아니라, @PostMapping("/{itemId}/edit") 에서의 itemId를 써준건가요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
코딩 내용 질문입니다.
6x6배열을 이용해서 그래프를 작성할때, public void DFS 함수에 for 문안에 if (adj[now, next]==0) continue; 있는데 이때 now노드와 그다음 next가 연결되어 있지 않아서 스킵하기 위해 작성한것은 이해가 갑니다. 하지만 왜 이렇게 코드를 작성했는지 이해가 가질 않습니다. 왜 adj[now, next]==0이되면 만나지가 않는거죠? 너무 어렵네요.......
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
오류 해결이 안되네요
이틀째 해결을 못하고 있네요 혹시 빠진 데이타가 있나해서 순서대로 입력해도 같은 오류가 나네요 a_element = li_element.select("div.total_wrap > a") type(a_element) bs4.element.ResultSet a_element = li_element.select("div.total_wrap > a")[0] type(a_element) --------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-89-7b9166b2d17d> in <module> ----> 1 a_element = li_element.select("div.total_wrap > a")[0] 2 type(a_element) IndexError: list index out of range
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요! 준영속상태에 대한 질문이 또 있습니다.
아직 이해도가 부족해서 고민을 해봐도 잘 모르겠는 부분이 있어 질문 드립니다. 1. setter가 없는 불변성 Entity를 사용하는 경우 Update를 수행하고 싶을 때 Team team = Team.builder().build(); em.persist(team); Team team2 = team.toBuilder().name("modified").build(); em.merge(team2); 이렇게 @Id가 동일한 새 인스턴스(준영속상태)를 만들고 변경사항을 적용한 후, merge하는 식으로 하는게 맞을까요? 2. 위처럼 Type이 동일하고 Id값이 같은 별도의 인스턴스가 있다면(혹은 setter통해 Id값을 맞추어준다면), 별도의 detach같은 메소드를 수행하지 않아도 준영속상태인 것으로 보아도 될까요?? 감사합니다!