묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[8 - N] 질문입니다.
안녕하세요 선생님, 답지에서 모르는 부분이 생겨 질문을 드립니다. https://www.acmicpc.net/source/share/0a4fdcae351643db83359907f8b3da8518라인에서 if (dist[here] != here_dist)continue; 가 의미하는 바를 정확히 모르겠습니다. 현재 이해한 것은 아래와 같습니다. here_dist : 이전에 갱신되어 pq에 추가된 값dist[here] : 이후에 갱신되어 수정된 값기존 거리보다 새로운 거리가 짧을 때만 dist 갱신 및 pq에 추가 작업이 일어나므로 dist에 저장된 값과 here_dist 값이 다르다는 것은 이후에 갱신 된 값이 더 작기 때문에 here_dist값이 마지막에 갱신된 dist[here]과 다른 값일 경우 가장 작은 값이 아니므로 현재 노드로 선택될 자격을 잃어버려 continue로 다음 후보 노드로 이동하게 된다.이런식으로 현재 노드로 선택하지 않고 이동시키는 코드가 맞을까요?
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
roomDB에 넣을 변수형에 관한 질문
안녕하세요. todoList관련 공부를하다 질문이 있어 남깁니다.다름아니라 AddTodoActivity를 작성할 때 title을 toString으로 형변환?을 해서 넣는 것을 확인했는데요. 그렇다면 Double형식의 변수를 edittext로 입력받아서 roomDB에 넣을 때는 어떤식으로 형변환을 해야하는지 궁금합니다.강의 너무나 잘 듣고 있습니다. 감사합니다. :) 안녕하세요, 조이스입니다. 잘 안되는 부분이 있어서 답답하셨죠?제가 최대한 빨리 답장드리도록 하겠습니다 :) - 학습 관련 질문을 남겨주세요. 상세히 에러 로그, 캡처, 소스코드와 함께 남겨주시면 더 좋습니다.- 먼저 유사한 질문이 있지 않은지 검색해주세요.- 인프런 서비스 운영 관련 문의는 인프런 1:1 문의하기를 이용해주세요.
-
미해결이펙티브 자바 완벽 공략 1부
HelloService 구현체
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 아이템 1의 장점3,4,5 강의를 듣다가 궁금한 것이 생겨 문의 드립니다.HelloSerivce의 주석 처리를 풀고 static HelloService of(String lang) { if (lang.equals("ko")) { return new KoreanHelloService(); } else { return new EnglishHelloService(); } }HelloSerivceFactory main 메소드에 아래의 코드를 넣으면 public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { HelloService eng = HelloService.of("eng"); ServiceLoader<HelloService> loader = ServiceLoader.load(HelloService.class); loader.stream().forEach(a -> System.out.println(a.get().hello())); ChineseHelloService, EnglishHelloService 2개의 구현체가 ServiceLoader에 등록되며HelloNi Hao가 출력되는 것이 아닌가요?Ni Hao만 출력되었는데,제가 강의 내용을 잘못 이해한건지, 2개 다 출력하려면 어떻게 코드를 입력해야할지 궁금해 문의 드립니다.감사합니다.
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
KStreamJoinKTable 에서
ADDRESS_TABLE에서 기존의 key에 주소를 새로 작성했을 때에는, consumer에 메시지가 새로 뜨지 않고, ORDER_STREAM에서 기존의 key에 새로운 value를 작성했을 때에만 consumer에 메시지가 새로 뜨는 이유는 무엇인가요?
-
미해결스프링 핵심 원리 - 기본편
Member 클래스에서 Grade 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요! 사진 첨부와 같이 Grade에서 빨간줄 에러가 뜨는데 왜그럴까요..?ㅜㅜ 영한쌤 카테고리를 보면 member 패키지안에 Grade Enum 클래스가 있는거 같은데 제꺼엔 그클래스가 첨에 파일 불러오기 할때부터 없던데 혹시 그래서일까요..?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
test.mv.db 삭제 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 버전을 최신 버전으로 다운받아서 강의자료에 있는 1.4.00 버전으로 다시 다운을 받았는데요, test.mv.db 파일을 삭제해야 한다고 하셔서 해보는데 윈도우라 어떻게 하는건지 모르겠습니다...ㅠㅠdir /w로 검색해서이렇게는 나왔는데 rm test.mv.db 또는 윈도우는 rmdir test.mv.db로 지우는게 아닌가요?이렇게 나오고 삭제가 되지 않는데 삭제 방법이 궁금합니다ㅠ
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
vi /etc/sysconfig/docker 하면 new File만 나와요
이거 왜이럴까요..??
-
미해결데이터 분석 SQL Fundamentals
Dbeaver 실행시 꼭 Postgres 실행이 된 상태여야하나요?
안녕하세요! Dbeaver 실행시 꼭 Postgres 실행이 된 상태여야 하는지 궁금합니다..! 왠지 컴퓨터가 느려지는 것 같아서요ㅠㅠ
-
해결됨디자인 시스템 with 피그마
컴포넌트를 리액트기반 코드로 추출하는 법
디자인시스템을 json코드로 추출이 가능한대혹시 컴포넌트를 코드로 추출하는 방법이 없을까요?overlay플러그인을 이용해봤는데 생각보다 오류가 많아서 혹시나 하여 여쭈어봅니다ㅠㅠ
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
생성한 변수 hm 미사용 & 미치는 영향
스프링 MVC 2편 중 섹션 7. 로그인 처리2 - 필터, 인터셉터의 '스프링 인터셉터 - 요청 로그' 강의 11:09쯤에 코드 중 다음과 같은 코드가 있는데요. if(handler instanceof HandlerMethod){HandlerMethod hm = (HandlerMethod) handler;}위와 같이 만든 hm이라는 변수를 사용하지 않는데 만드는 이유가 뭔지, 왜 캐스팅해서 무엇을 보여주고자 하는지 모르겠습니다.바로 밑에 로그에 출력하는 handler에 영향을 주나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
수업 순서에 질문있습니다.
섹션1,2,3을 마친 학생입니다.섹션4인 react를 시작하다보니 버전도 안맞고 혼자 헤매다 보니까섹션23부터 다시 react파트부터 리뉴얼 되었더라구요섹션1,2,3을 마쳤다면섹션3~섹션22까지 뛰어넘고 23부터 들으면 되는건가요?그렇게 하는게 맞다면 진도에 의한 수료증은 어떻게 받을수 있나요?
-
미해결5개 거래소별 코인차익알림봇, 구체적인 개발 가이드 with Python
이벤트 참여 !
이벤트 참여 ! 참고해서 더 발전하고 싶어요 !
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
react-hook-form으로 기본값 설정하기
안녕하세요 지금 section31과제를 진행하고 있습니다.제가 지금 useForm으로 포트폴리오 과제를 진행하고 있는데 초기값 설정하는 데 어려움이 있습니다현재 useForm이 가지고 있는 defalutValues속성으로 기본값을 설정하는데 console에서는 data값이 찍히는데 defaltValues에서는 undefined값으로 나옵니다.변수가 먼저 선언되고 값이 할당이 안되는 걸까요?useForm에서는 기본값을 어떻게 설정해야 하는걸까요?useForm을 사용하기 시작했는데, 점점 벅찬거같아요... 이제라도 input으로 변경해야할까요..export default function BoardWriteUI({isEdit, data, onSubmitCreate, onSubmitUpdate, onClickMoveToBack}) { console.log(data) const {register,watch, formState : {errors, isValid}, handleSubmit} = useForm({ mode : 'onSubmit', defaultValues : { writer : data?.fetchBoard.writer, password : "", title : data?.fetchBoard?.title, contents : data?.fetchBoard?.contents, } });
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
11. 임시반장정하기 질문 있습니다.
아래의 3중 for문에 print문을 넣어서 실행해보면 자기자신과 같은 경우도 포함되어 if문에 들어가게 되는데, 그렇게 해서 count에 1이 더해지는 것은 잘못된 로직 아닌가요? 그렇다면 3중 for문 안의 if문 조건에 i != j 를 포함시켜야 맞지 않을까요? public int solution(int n, int[][] arr) { int answer = 0; int max = Integer.MIN_VALUE; for (int i = 1; i <= n; i++) { // i번 학생 int count = 0; for (int j = 1; j <= n; j++) { // j번 학생 for (int k = 1; k <= 5; k++) { // k : 학년 if (arr[i][k] == arr[j][k]) { System.out.println("arr[" + i + "][" + k + "] = " + arr[i][k] + " / arr[" + j + "][" + k + "] = " + arr[j][k]); count++; System.out.println("count : " + count); System.out.println(); break; } } } if (count > max) { max = count; answer = i; } } return answer; }
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
gorouter 7 버전 상세화면 이동 오류
안녕하세요강의 실습 중 오류가 발생해서 도움을 요청드립니다현재 개발 중인 환경은 윈도우에서 안드로이드 시뮬레이터로 진행 중이며 IDE 는 인텔리제이를 사용하고 있고 gorouter 7.0.1 버전을 사용해서 실습을 하고 있습니다GoRouter 설정 부분은 7.0.1 버전 실습 강좌를 참고해서 변경했고 정상적으로 로그인 및 스플래시 스크린까지 동작을 했습니다.레스토랑 리스트에서 레스토랑 상세화면으로 이동하는 부분을 실습 중 오류가 발생합니다첫번째. context에서 gorouter 관련 메소드가 자동완성이 안되며 실제로 동작도 하지 않습니다.두번째. context.named() ,context.go() 둘 다 아래와 같은 오류가 나타납니다 레스토랑 스크린import 'package:actual/common/component/pagination_list_view.dart'; import 'package:actual/restaurant/component/restaurant_card.dart'; import 'package:actual/restaurant/provider/restaurant_provider.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; // 미사로 나옵니다 class RestaurantScreen extends StatelessWidget { const RestaurantScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return PaginationListView( provider: restaurantProvider, itemBuilder: <RestaurantModel>(context, index, model) { return GestureDetector( onTap: () { context.go("/restaurant/${model.id}"); }, child: RestaurantCard.fromModel(model: model), ); }, ); } } 레스토랑 디테일 스크린import 'package:actual/common/layout/default_layout.dart'; import 'package:actual/common/model/cursor_pagination_model.dart'; import 'package:actual/common/utils/pagination_utils.dart'; import 'package:actual/product/componet/product_card.dart'; import 'package:actual/rating/component/rating_card.dart'; import 'package:actual/rating/model/rating_model.dart'; import 'package:actual/restaurant/component/restaurant_card.dart'; import 'package:actual/restaurant/model/restaurant_detail_model.dart'; import 'package:actual/restaurant/model/restaurant_model.dart'; import 'package:actual/restaurant/provider/restaurant_provider.dart'; import 'package:actual/restaurant/provider/restaurant_rating_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:skeletons/skeletons.dart'; class RestaurantDetailScreen extends ConsumerStatefulWidget { static String get routeName => "restaurantDetail"; final String id; const RestaurantDetailScreen({required this.id, Key? key}) : super(key: key); @override ConsumerState<RestaurantDetailScreen> createState() => _RestaurantDetailScreenState(); } class _RestaurantDetailScreenState extends ConsumerState<RestaurantDetailScreen> { final ScrollController controller = ScrollController(); @override void initState() { super.initState(); ref.read(restaurantProvider.notifier).getDetail(id: widget.id); controller.addListener(listener); } void listener(){ PaginationUtils.paginate(controller: controller, provider: ref.read(restaurantRatingProvider(widget.id).notifier)); } @override Widget build(BuildContext context) { final state = ref.watch(restaurantDetailProvider(widget.id)); final ratingsState = ref.watch(restaurantRatingProvider(widget.id)); print(ratingsState); if (state == null) { return DefaultLayout( child: Center( child: CircularProgressIndicator(), ), ); } return DefaultLayout( title: "제목", child: CustomScrollView( controller: controller, slivers: [ renderTop( model: state, ), if (state is! RestaurantDetailModel) renderLoading(), if (state is RestaurantDetailModel) renderLabel(), if (state is RestaurantDetailModel) renderProducts(products: state.products), if (ratingsState is CursorPagination<RatingModel>) renderRatings( models: ratingsState.data, ), ], ), ); } SliverToBoxAdapter renderTop({ required RestaurantModel model, }) { // 일반 위젯 넣기 return SliverToBoxAdapter( child: RestaurantCard.fromModel(model: model, isDetail: true), ); } SliverPadding renderRatings({ required List<RatingModel> models, }) { return SliverPadding( padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 16.0), sliver: SliverList( delegate: SliverChildBuilderDelegate( (_, index) => Padding( padding: const EdgeInsets.only(bottom: 16.0), child: RatingCard.fromModel( model: models[index], ), ), childCount: models.length, ), ), ); } SliverPadding renderLoading() { return SliverPadding( padding: EdgeInsets.symmetric( vertical: 16.0, horizontal: 16.0, ), sliver: SliverList( delegate: SliverChildListDelegate( List.generate( 3, (index) => Padding( padding: const EdgeInsets.only(bottom: 32.0), child: SkeletonParagraph( style: SkeletonParagraphStyle( lines: 5, padding: EdgeInsets.zero, ), ), ), ), ), ), ); } SliverPadding renderLabel() { return SliverPadding( padding: EdgeInsets.symmetric(horizontal: 16.0), sliver: SliverToBoxAdapter( child: Text( "메뉴", style: TextStyle( fontSize: 18.0, fontWeight: FontWeight.w500, ), ), ), ); } SliverPadding renderProducts({ required List<RestaurantProductModel> products, }) { return SliverPadding( padding: EdgeInsets.symmetric(horizontal: 16.0), sliver: SliverList( delegate: SliverChildBuilderDelegate( (context, index) { final model = products[index]; return Padding( padding: const EdgeInsets.only(top: 16.0), child: ProductCard.fromRestaurantProductModel(model: model), ); }, childCount: products.length, ), ), ); } } 라우터 설정부분 (auth_provider.dart)List<GoRoute> get routes => [ GoRoute( path: "/", name: RootTab.routeName, builder: (_, state) => RootTab(), routes: [ GoRoute( path: "restaurant/:rid", name: RestaurantDetailScreen.routeName, builder: (_, state) => RestaurantDetailScreen( id: state.pathParameters['rid']!, ), ), ], ), GoRoute( path: "/splash", name: SplashScreen.routeName, builder: (_, state) => SplashScreen(), ), GoRoute( path: "/login", name: LoginScreen.routeName, builder: (_, state) => LoginScreen(), ), ]; 메인import 'package:actual/common/provider/go_router.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; void main() { runApp( ProviderScope( child: _App(), ), ); } class _App extends ConsumerWidget { const _App({Key? key}) : super(key: key); // 라우팅시 BuildContext 사용하기 위한 구조 @override Widget build(BuildContext context, WidgetRef ref) { final router = ref.watch(routerProvider); return MaterialApp.router( theme: ThemeData( fontFamily: "NotoSans", ), debugShowCheckedModeBanner: false, routerConfig: router, ); } } 라우트 프로바이더 (go_router. dart)import 'package:actual/user/provider/auth_provider.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; final routerProvider = Provider<GoRouter>((ref) { final provider = ref.read(authProvider); return GoRouter( routes: provider.routes, initialLocation: "/splash", refreshListenable: provider, redirect: (context, state) { return provider.redirectLogic(state); }, ); }); 오류 로그======== Exception caught by gesture =============================================================== The following NoSuchMethodError was thrown while handling a gesture: Class 'ConsumerStatefulElement' has no instance method 'go'. Receiver: Instance of 'ConsumerStatefulElement' Tried calling: go("/restaurant/5ac83bfb-f2b5-55f4-be3c-564be3f01a5b") When the exception was thrown, this was the stack: #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:38:5) #1 RestaurantScreen.build.<anonymous closure>.<anonymous closure> (package:actual/restaurant/view/restaurant_screen.dart:17:21) #2 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:275:24) #3 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:654:11) #4 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:311:5) #5 BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:281:7) #6 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:167:27) #7 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:469:20) #8 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:445:22) #9 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:331:11) #10 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:400:7) #11 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:363:5) #12 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:320:7) #13 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:293:9) #14 _invoke1 (dart:ui/hooks.dart:158:13) #15 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:382:7) #16 _dispatchPointerDataPacket (dart:ui/hooks.dart:91:31) Handler: "onTap" Recognizer: TapGestureRecognizer#cc27d debugOwner: GestureDetector state: ready won arena finalPosition: Offset(158.8, 246.5) finalLocalPosition: Offset(142.8, 190.5) button: 1 sent tap down ==================================================================================================== F/crash_dump32(30915): crash_dump.cpp:474] failed to attach to thread 188: Permission denied
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 루키스님. 클라 연동에 관해서 질문을 드리고 싶습니다.
안녕하세요 루키스님.제가 비쥬얼 스튜디오에서 윈도우 어플리케이션을 만들어서 DX11포폴을 만들고 서버를 연동하려고 시도중입니다. 이 상황에서 wWinMain에 ClientServiceRef service = MakeShared<ClientService>( NetAddress(L"127.0.0.1", 7777), MakeShared<IocpCore>(), MakeShared<ServerSession>, // TODO : SessionManager 등 1); ASSERT_CRASH(service->Start()); GThreadManager->SetFlags(1); for (int32 i = 0; i < 2; i++) { GThreadManager->Launch([=]() { while (true) { service->GetIocpCore()->Dispatch(10); } }); } //밑은 DX11을 작동시켜주기 위한 함수들입니다. while (true) { if (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE)) { if (WM_QUIT == msg.message) break; if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } else { CEngine::GetInst()->progress(); CEditorObjMgr::GetInst()->progress(); ImGuiMgr::GetInst()->progress(); // 렌더 종료 CDevice::GetInst()->Present(); } }이렇게 쓰레드를 생성해서 작동을 시켜주었습니다.그런데 생성된 게임 윈도우에서 X키를 눌러서 프로그램을 강제로 종료시켰는데, 이 메인 쓰레드 자체는 정상적으로 WM_DESTROY를 호출 받아서 종료되었는데, 멀티 쓰레드들이 멈추지 않고 계속 돌아 프로그램이 종료되지 않고, 좀비처럼 살아남는 현상이 계속되고 있습니다.쓰레드를 강제로 종료시키니 메모리 릭이 남고, 어떻게 문제를 해결해야할지 해결책을 찾지 못해서 이렇게 질문 남깁니다.참고) 루키스님의 패킷 직렬화#3 코드를 참조해서 만들고 있습니다!감사합니다.
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
Atom 서비스 종료 되었으니 vs code로 하면 되는거죠??
우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original) 과목을 수강하려 하는데 영상이 오래되어서 그런지 아톰으로 설명하시네요 vs code 쓰면 되는거죠??
-
미해결JSP WEB MVC Model2 Programming(중급 과정)
강의가 완강이안된것같은데 미완된부분 다른강사님이라도 촬영해주실수없나요?
강의구성을 보니까 게시판 crud까지만 강의하고 해당강사님께서 계약만료로 하차하신것같은데... 너무아쉽습니다. 많이 쓰이는게 model2방식인데 중간에 강의흐름이 끊겨서... 혹시 소프트캠퍼스의 다른강사님꼐서 원래 예정했던 커리큐럼중 빠진 뒷부분을 완성해주실수없으신지?
-
미해결뉴욕 프로덕트 디자이너가 알려주는, 입문자를 위한 UX디자인 개론
좋은 UX/UI 사례 분석 과제 - 유튜브
주제: 유튜브 - 재생 목록 내 영상 시청 화면의 UX/UI 분석분석 배경: 재생 목록 요소가 같이 보이게끔 유튜브 영상을 시청한 적이 있습니다. 소소하지만 현 상태를 나타내는 UI 아이콘이 눈에 띄었고, (우측 재생 목록 요소 내, 재생 중 애니메이션과 좋아요 버튼이 표시됨) 사용자를 위한 세심한 배려로써 느껴져 좋은 경험을 받았던 것 같습니다. 또한 수업에서 배운 원리들도 몇 가지 보여 분석하면 좋겠다고 생각했습니다.좋은 UX/UI 사례1. 일관적인 재생 목록: 재생 목록 내 UI 요소들이 동일하게 디자인 되어 있습니다. 사용자는 재생 목록을 스크롤하여 올리거나 내리면서 이전/이후 목록 확인이 가능한 것을 쉽게 예측할 수 있습니다. 2. 재생 영상과 재생 목록 별 유사성의 원리:왼쪽의 경우 현재 재생중 영상이 전체 화면의 80% 채웠고, 나머지 부분은 재생목록으로 표시되어 있습니다. 화면상의 비율뿐 아니라 각각 제공되는 기능이 다르기에 UI상에서도 차이가 보입니다.사용자는 재생 영상 혹은 재생 목록 관련 영역을 구분하여 필요한 기능을 찾아갈 수 있습니다.3. 현재 상태를 알려주는 UI:왼쪽 재생 영상이 실제로 재생중이라면 우측 재생목록에서는 재생중 애니메이션이, 좋아요 버튼을 눌렀다면 해당 아이콘이 표시됩니다. 사용자는 현 영상 상태를 UI 상에서 확인 가능합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ConflictingBeanDefinitionException
질문:ConflictingBeanDefinitionException 을 왜 import 할 수 없는건가요? 사례:자동 빈 등록 vs 자동 빈 등록에 대해서 아래와 같이 테스트 코드를 작성해서ConflictingBeanDefinitionException 예외를 발생시키는지 검증하는 테스트 코드를 작성해보았습니다그런데 아래와 같이 ConflictingBeanDefinitionException 을 찾을 수 없다고 오류가 발생하였습니다.자동 import가 안되길래 검색을 통해서 경로를 찾아서 직접 아래와 같이 임포트 하였습니다.그런데 여전히 import가 되지를 않는데 어떤 문제가 있나요?