묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
UIView는 왜 필요한가요?
안녕하세요.현재 "코드로 UI짜기" 강좌를 진행 중입니다.문득 이런 생각이 들어 질문 드립니다. UIView 없이 바로 라벨이랑 텍스트 필드만 사용하면 안되는건가요? UIView의 역활은 어떤 것이 있는지요.검색 능력 부족인지 웹에서는 좋은 답을 찾지 못해 질문드립니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨디자인 시스템 with 피그마
한페이지 내에서 다크 모드와 라이트 모드를 동시에 볼 수는 없나요?
안녕하세요 선생님. 토큰을 이용해 다크와 라이트 모드를 열심히 만들었습니다.디자인 가이드로 한페이지내에 다크와 라이트 모드를 함께두고 보여주고 싶은데,체크박스를 바꿀때마다 색이 바껴서 난감합니다.제가 방법을 헷갈린 건지 확인해 주실 수 있을까요?해당 옵션을 Apply to selection으로 바꿔봐도 안되는것 같아요ㅜ
-
해결됨토비의 스프링 부트 - 이해와 원리
스프링부트가 @EnableConfigurationProperties를 사용하는 이유
안녕하세요! 토비님!강의 정말 잘 듣고 있습니다. 덕분에 공부가 많이 되고 있어요. 강의 내주셔서 정말 감사합니다 :) 해당 강의를 듣고 나서, @Import가 더 간결해보이는데, 스프링 부트는 왜 굳이 @EnableConfigurationProperties()를 사용했을까? 라는 의문이 들어 아래와 같은 작은 고민을 해보았습니다.처음에는 ServerProperties 빈 등록을 자동화 하기 위한 장치라고 생각했는데, 두 애너테이션 모두 클래스명을 일일히 적어주어야 하는걸 보니 자동화를 위한 것은 아닌 것 같다는 생각이 들어, 고민의 방향을 바꿔 보았습니다.결론적으로, 저는 "@EnableConfigurationProperties()를 사용하는 이유가 @Import만으로는 어떠한 추가적인 행위를 할 수 없기 때문에 @EnableConfigurationProperties를 구현해서 사용한 것 아닐까..?"라고 추측이 되는데, 스프링 부트에서 @EnableConfigurationProperties() 라는 애너테이션을 도입한 이유가 무엇일까요..?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
대댓글 기능 구현
대댓글 기능을 구현하라고 했는데, graphql을 보면대댓글 기능을 구현할 수 있는 query가 보이지 않아요.fetchBoardcomments는 있는데, 이건 그냥 댓글 리스트를 가져오는 query고 대댓글 리스트를 가져오는 query는 안보여요.혹시나 해서 포트폴리오 리뷰를 참고했지만 SECTION9-1에서 대댓글 기능 구현에 대한 언급은 따로 없는거같아서요. 제가 못찾는건가요?
-
미해결
안녕하세요 뒤에 손님 대신 hello!!가 들어가야하는데..
글 제목 대로 안녕하세요 hello!!가 나와야하는데 data가 안들어가고 안녕하세요. 손님만 나옵니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
궁금한게생겼습니다.
공부하다가 보니 원소의 개 수 말고 원소를 뽑아내려고 하는데public int solution(int n, int[] arr) { int answer = 1, max = arr[0]; for (int i = 1; i < n; i++) { if (arr[i] > max) { answer = arr[i]; i++; System.out.print(answer + " "); } } return answer; }이렇게 해도 이상하지는 않을까요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
kafka streams 데이터 보관 주기 질문
안녕하세요카프카 스트림즈 학습중에 궁금한 점이 있어 질문드립니다.예를 들어 말씀드리겠습니다kstream 으로 변경되는 상품의 가격 정보를 받아온다고 가정하고, ktable 로 해당 상품의 마스터성 정보를 받는다고 해보겠습니다.카프카 스트림즈를 써도 결국엔 카프카 브로커에 로그로 쌓이는 것이고, 로그 압축이나 삭제 정책에 따라 A라는 상품의 정보가 있다가 사라질 수 있을 것 같은데요4월 1일에는 A상품의 정보(상품이름, 판매처 등)가 로그에 있어서 데이터를 읽어올수 있었지만 4월4일에는 기간이 지나 삭제되었다거나 하는 경우가 있을 것 같아서요카프카 스트림즈를 띄우는 서버의 메모리나 로컬 디스크에 모든 내용을 가지고 있는 건지가 궁금하구요만약 해당 서버에 데이터가 있다면 서버가 다운되거나 했을때 리밸런싱 혹은 서버가 재시작 되었을때 사라진 로컬데이터의 복구 기능이 구현되어있는 건지 궁금합니다또한 로컬에 저장된다면 그동안 스트림을 거쳐간 모든 데이터를 가지고 있는건지.. 데이터가 대용량이 된다면 로컬 머신의 저장공간을 고려해야하는지 궁금합니다 그리고.. 만약 카프카 스트림엔 데이터가 없고 rdb등의 저장소에 데이터가 있다면 이걸 가져와서 쓸수 있는지도 궁금합니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
강의 난이도와 강의가 취업에 충분한지 궁금합니다
안녕하세요 취업을 위해 강의를 구매하고 듣고 있습니다혹시 이강의 만으로 취업이 가능할까요?보통 국비학원이나 오프라인 코드캠프 과정에 비해 내용이 좀 적은 편인가요?난이도가 입문이라고 되어 있어서 더 따로 공부해야 취업을 위한 실력이 가능한 건지 궁금합니다혹시 부족하다면 어떤 부분을 따로 공부하는게 좋나요?그리고 또 알고리즘같은 것도 여기서 다루나요? 따로 공부해야 하나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
자바 버전 변경/각종 의존성 변경해도 해결되지가 않습니다 ㅜ
plugins { id 'java' id 'org.springframework.boot' version '2.7.1' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'jpabook' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' //추가 implementation 'org.springframework.boot:spring-boot-starter-validation' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //JUnit4 추가 testImplementation("org.junit.vintage:junit-vintage-engine") { exclude group: "org.hamcrest", module: "hamcrest-core" } } test { useJUnitPlatform() }
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
isEmpty 체크
안녕하세요 선생님,커뮤니티를 생성하는 핸들러 생성하기(1) 강의 9:29분에 보면 sub Name, Title이 있는지 isEmpty로 체크를 해주고 있습니다.이런 체크은 백엔드에서만 해주는건가요 아니면 프론트, 백엔드 둘 다 해줘야 하는건가요? 강의에서 말씀하신 것처럼, 만약 프론트에서 체크를 해줘서 프론트에 error를 전달하기 위한 목적이 아니라면, 백엔드에서 isEmpty 메서드로 체크 해줄 필요가 없는건가요?
-
미해결배달앱 클론코딩 [with React Native]
setting을 통해 build 하는 경우 Failed to install the app
C:\Users\jeong\setting>npm run android> fooddeliveryapp@0.0.1 android> react-native run-androidinfo Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.Jetifier found 927 file(s) to forward-jetify. Using 8 workers...info JS server already running.info Installing the app...> Task :react-native-safe-area-context:compileDebugJavaWithJavac> Task :react-native-screens:generateDebugRFile FAILEDDeprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.Use '--warning-mode all' to show the individual deprecation warnings.See https://docs.gradle.org/6.9/userguide/command_line_interface.html#sec:command_line_warnings52 actionable tasks: 52 executedWarning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01Warning: ����ġ ���� ���(URI: "", ����: "base-extension")�Դϴ�. �ʿ��� ��Ҵ� <{}codename>,<{}layoutlib>,<{}api-level>�Դϴ�.Note: Some input files use or override a deprecated API.Note: Recompile with -Xlint:deprecation for details.FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':react-native-screens:generateDebugRFile'.> Could not resolve all files for configuration ':react-native-screens:debugCompileClasspath'. > Failed to transform react-native-0.71.0-rc.0-debug.aar (com.facebook.react:react-native:0.71.0-rc.0) to match attributes {artifactType=android-symbol-with-package-name, com.android.build.api.attributes.BuildTypeAttr=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-api}. > Execution failed for JetifyTransform: C:\Users\jeong\.gradle\caches\modules-2\files-2.1\com.facebook.react\react-native\0.71.0-rc.0\7a7f5a0af6ebd8eb94f7e5f7495e9d9684b4f543\react-native-0.71.0-rc.0-debug.aar. > Java heap space* 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.orgBUILD FAILED in 16serror Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01Warning: ����ġ ���� ���(URI: "", ����: "base-extension")�Դϴ�. �ʿ��� ��Ҵ� <{}codename>,<{}layoutlib>,<{}api-level>�Դϴ�.Note: Some input files use or override a deprecated API.Note: Recompile with -Xlint:deprecation for details.FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':react-native-screens:generateDebugRFile'.> Could not resolve all files for configuration ':react-native-screens:debugCompileClasspath'. > Failed to transform react-native-0.71.0-rc.0-debug.aar (com.facebook.react:react-native:0.71.0-rc.0) to match attributes {artifactType=android-symbol-with-package-name, com.android.build.api.attributes.BuildTypeAttr=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-api}. > Execution failed for JetifyTransform: C:\Users\jeong\.gradle\caches\modules-2\files-2.1\com.facebook.react\react-native\0.71.0-rc.0\7a7f5a0af6ebd8eb94f7e5f7495e9d9684b4f543\react-native-0.71.0-rc.0-debug.aar. > Java heap space* 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.orgBUILD FAILED in 16s at makeError (C:\Users\jeong\setting\node_modules\@react-native-community\cli-platform-android\node_modules\execa\index.js:174:9) at C:\Users\jeong\setting\node_modules\@react-native-community\cli-platform-android\node_modules\execa\index.js:278:16 at processTicksAndRejections (node:internal/process/task_queues:96:5) at async runOnAllDevices (C:\Users\jeong\setting\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:109:5) at async Command.handleAction (C:\Users\jeong\setting\node_modules\@react-native-community\cli\build\index.js:192:9)info Run CLI with --verbose flag for more details.C:\Users\jeong\setting> 개발환경까지 모두 제거하고 여러번 다시 깔고해봤는데 되지가 않습니다...과거에 혼자서 최신버전 react native로는 빌드에 성공한 적이 있긴합니다.....
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Cannot resolve symbol 'String'
[질문 내용]1.MemoryMemberRepository를 실행하는데 String이 에러가 뜹니다. 구글링을 토대로 캐쉬 삭제, jdk 확인 까지 다해보았는데도 자꾸만 에러가 뜨네요.. 왜이러는 걸까요??? 2.그리고 jdk 설정이 문제라면 어떻게 설정 해야 옳은걸까요??
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
게시물 넘버링
한개 만 알려주시면 안될까요게시글 생성될때마다 게시물 넘버링 1, 2 , 3 이런식으로 넘버링 자동생성 넣고 싶은데 코드좀 알려주시면 안될까요.. 한번만 부탁드립니다. ^^
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
@Transactional -> @Sql로 변경 시 영속성 컨텍스트 초기화 관련입니다.
@Trarnsactional로 @BeforeEach-@Test-@AfterEach가 묶여서 영속성 컨텍스트로 관리되던 게 @Sql로 변경되면 @BeforeEach에서 em.clear()할 필요도 없어지는 게 맞는 거죠? 다른 특이사항이 있다면 말씀해주시면 감사하겠습니다. account.checkOwner()에서 user.getUsername() 추가 후 쿼리 확인 결과 select user 쿼리가 나가는 것도 확인했습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
동영상 파일같이 파일의 크기가 큰 파일을 업로드 다운로드 하는 것도 같은 방식으로 구현하나요?
강의에서는 이미지랑 작은 크기의 파일만 upload,download 하는 코드 였는데, 동영상 같이 크기가 큰 파일도 똑같이 Multipart이용해서 구현하나요? 그리고 보통 크기가 큰 파일을 업로드 다운로드 할 경우에는 따로 적용하는 방법이 있을까요? 업로드,다운로드만 전용으로 하는 서버를 따로 둔다든가하는..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Spinlock과 랜덤 메타의 차이
안녕하세요, Rookiss님수업을 듣다가 궁금한 점이 있어서 질문 드립니다. Spinlock의 경우 프로세스 및 쓰레드가 공유 자원에 접근하기 위해 지속적으로 대기하기 때문에 이로 인한 CPU 성능 부하가 발생한다고 저는 이해하였습니다. 따라서 위와 같은 Spinlock의 단점을 보완하기 위해 랜덤 메타에서는 sleep 혹은 yield라는 함수를 사용하였는데, 이는 프로세스 및 쓰레드(?)를 running 상태에서 asleep 상태로 변경하는 것으로 저는 이해하였습니다. 그러면 이 과정에서 자연스럽게 context switching에 의한 오버헤드가 지속적으로 발생하게 되며, 이로 인한 오버헤드가 Spinlock에 의한 오버헤드보다 더 큰 경우도 발생하지 않을까요? 예를 들면 this_thread::sleep_for(std::chrono::milliseconds(100))이라는 함수를 while문 내부에 작성한다면, 프로세스 및 쓰레드는 100ms를 간격으로 지속적으로 running 상태와 asleep 상태를 순회할 것입니다. 이 과정에서 context switching이 발생하게 되고, 이로 인한 오버헤드가 Spinlock에서 while문을 지속적으로 순회하는 오버헤드에 비해 더 큰 경우도 발생하지 않을까요? 감사합니다.
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
(수정) D 타입 메가 메뉴 서브메뉴 높이 설정에 문제가 있습니다
.menu {list-style: none;position:relative;padding: 0;margin:auto;}.menu li {background-color: #fff;text-align: center;}.menu li > a {display:block;padding:5px;}.menu li:hover > a{background-color: #000;color:#fff;}.sub-back{ /* display: none;position:absolute;background-color: #00000060;top:0;left:100%;z-index: 1000;width:100vw; }.mega-menu { / display: flex; /}.sub-menu { / height:calc(128px / 4); / / display:flex; align-items:center; */}.sub-menu a { display:block; padding:5px;}.sub-menu a:hover { background-color: bisque;}
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
순환참조
user와 auth가 서로를 import하고 있어서 forwardRef로 순환 참조를 막아줬는데 auth에선 userRepository를 사용하고 있고 user에선 authService.jwtLogin()을 사용하는데 순환 참조가 발생하는 건가요? 안 막아줘도 되는건가요?
-
미해결[React 1부] 만들고 비교하며 학습하는 React
버전이 어떻게 되는지가 궁금합니다.
이제 배우게 될 리액트는 버전이 어떻게 되는지가 궁금합니다. 최신 버전인 18버전의 강의가 될까요?? 함수형 기반과Class 기반이 있는것 같은데어떤지 궁금해서 질문을 남깁니다...
-
해결됨시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
웹 서버 접속 관련 질문입니다.
현재 "2-2. 웹 서버 트러블 슈팅을 위한 쉘 스크립트" 부분 수강하고 있습니다. 강의에서 index.html 접속하실 때 172.81.1.91로 접속하셨는데요. 제 환경에서는 192.168.56.1로만 접근이 됩니다. nginx 돌아가는 것도 확인했습니다.cent1 ifconfig는 172.18.1.91로 나오고(eth1), 윈도우 ipconfig에서는 192.168.56.1로 나오는 상황인데요(VirtualBox Host-Only Network). 그냥 이대로 수강해도 문제가 없는지, 문제가 있다면 어떻게 해결해야 하는지 궁금합니다.