inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

개발환경 구축

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 벤더에서 Orcale OpenJDK 21버전이 안뜨는데 어떤걸로 설정해야되나요??

  • java
  • 객체지향
이찬서 댓글 1 좋아요 0 조회수 384

Vscode 한글 설정이 잘 안되요

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

다음처럼 설정이나 이런 곳에는 한글 적용이 잘 되는데 Error lens 플러그인 설치 후 에러 알려주는 부분에서는 영어로만 됩니다.!

  • javascript
  • react
  • node.js
DH K 댓글 1 좋아요 0 조회수 427

Android에서 vector icon이 깨지고 한자로 보이면 어떻게 수정해야하죠?

미해결

따라하며 배우는 리액트 네이티브 기초

import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; import React from 'react'; import Home from './src/screens/Home'; import Profile from './src/screens/Profile'; import FriendProfile from './src/screens/FriendProfile'; import EditProfile from './src/screens/EditProfile'; import Search from './src/screens/Search'; import Activity from './src/screens/Activity'; import { NavigationContainer } from '@react-navigation/native'; import Status from './src/screens/Status'; import Ionic from 'react-native-vector-icons/Ionicons'; const Stack = createNativeStackNavigator(); const Tab = createBottomTabNavigator(); const getTabBarIcon = (route, focused, size, color) => { let iconName; color = 'black'; if (route.name === 'Home') { iconName = focused ? 'home-sharp' : 'home-outline'; size = focused ? size + 8 : size + 2; } else if (route.name === 'Search') { iconName = focused ? 'search' : 'search-outline'; } else if (route.name === 'Activity') { iconName = focused ? 'heart' : 'heart-outline'; } else if (route.name === 'Profile') { iconName = focused ? 'person' : 'person-outline'; } return <Ionic name={iconName} size={size} color={color} />; }; const BottomTabScreen = () => { return ( <Tab.Navigator screenOptions={({ route }) => ({ tabBarHideOnKeyboard: true, tabBarShowLabel: false, headerShown: false, tabBarStyle: { height: 70, }, tabBarIcon: ({ focused, size, color }) => getTabBarIcon(route, focused, size, color), })} > <Tab.Screen name="Home" component={Home} /> <Tab.Screen name="Search" component={Search} /> <Tab.Screen name="Activity" component={Activity} /> <Tab.Screen name="Profile" component={Profile} /> </Tab.Navigator> ); }; const App = () => { return ( <NavigationContainer> <Stack.Navigator screenOptions={{ headerShown: false }}> <Stack.Screen name="Bottom" component={BottomTabScreen} /> <Stack.Screen name="Status" component={Status} /> <Stack.Screen name="FriendProfile" component={FriendProfile} /> <Stack.Screen name="EditProfile" component={EditProfile} /> </Stack.Navigator> </NavigationContainer> ); }; export default App; { "name": "ReactNativeInsta", "version": "0.0.1", "private": true, "scripts": { "android": "react-native run-android", "ios": "react-native run-ios", "lint": "eslint .", "start": "react-native start", "test": "jest" }, "dependencies": { "@react-navigation/bottom-tabs": "^6.6.1", "@react-navigation/material-top-tabs": "^6.6.14", "@react-navigation/native": "^6.1.18", "@react-navigation/native-stack": "^6.11.0", "react": "18.3.1", "react-native": "0.75.2", "react-native-safe-area-context": "^4.10.9", "react-native-screens": "^3.34.0", "react-native-vector-icons": "^10.1.0" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", "@react-native/babel-preset": "0.75.2", "@react-native/eslint-config": "0.75.2", "@react-native/metro-config": "0.75.2", "@react-native/typescript-config": "0.75.2", "@types/react": "^18.2.6", "@types/react-test-renderer": "^18.0.0", "babel-jest": "^29.6.3", "eslint": "^8.19.0", "jest": "^29.6.3", "prettier": "2.8.8", "react-test-renderer": "18.3.1", "typescript": "5.0.4" }, "engines": { "node": ">=18" } }

  • react
  • react-native
  • cli
ehdns1133 댓글 1 좋아요 0 조회수 183

이벤트 쿼리문제입니다

미해결

따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기

포스트맨에서는 이벤트 쿼리가 답이 옵니다. http://localhost:3000/api/dialogflow/eventQuery http://localhost:5000/api/dialogflow/eventQuery 둘다 답이 옵니다. 다만 터미널과 아래 처럼 브라우저에서 인사말이 오지 않습니다. 시작하면 처음에 이벤트쿼리문이 오게 하려면 어떻게 해야하나요? 메번 감사합니다

  • react
  • node.js
코딩의외로 댓글 1 좋아요 0 조회수 155

혹시 현업에서도 예외 테스트 시, Assertions.assertThrows 를 많이 사용하나요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

@Test void 상품주문_재고수량초과() throws Exception { //given Member member = createMember(); Item item = createBook("시골 JPA", 10000, 10); int orderCount = 11; //when // orderService.order(member.getId(), item.getId(), orderCount); //then Assertions.assertThrows(NotEnoughStockException.class, () -> orderService.order(member.getId(), item.getId(), orderCount),"재고 수량 부족 예외가 발생해야 한다."); } Assertions.assertThrows 사용 시 파라미터 자체에 로직을 넣어줘야 해서, JUnit4 의 expected 옵션과 다르게 테스트의 when 항목을 적지 않아도 되는 상황이 발생하는 것 같아서요. 현업에서도 이 방식을 주로 사용하시나요? (+ 추가 질문) junit 과 assertj.core 라이브러리를 함께 쓰는 경우엔 이렇게 한 쪽을 지저분하게 쓸 수 밖엔 없나요? (isEqualTo와 assertThrows를 하나의 테스트 클래스에서 같이 쓰는 경우) @Test void 주문취소() throws Exception { //given Member member = createMember(); Book item = createBook("시골 JPA", 10000, 10); int orderCount = 2; Long orderId = orderService.order(member.getId(), item.getId(), orderCount); //when orderService.cancelOrder(orderId); //then Order getOrder = orderRepository.findOne(orderId); org.assertj.core.api.Assertions.assertThat(getOrder.getStatus()).isEqualTo(OrderStatus.CANCEL); org.assertj.core.api.Assertions.assertThat(item.getStockQuantity()).isEqualTo(10); }

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
맥스 댓글 1 좋아요 0 조회수 528

Head 태그의 공통화 사용

해결됨

한 입 크기로 잘라먹는 Next.js

MetaData 라는 컴포넌트를 만들어서 Head태그를 공통화 시켜서 props로 title과 description, 그리고 image는 옵셔널로 받으려고 하는데 각 페이지들의 렌더링 방식에 영향을 미치는지 궁금합니다!

  • react
  • typescript
  • next.js
김지후 댓글 1 좋아요 0 조회수 244

회원가입 테스트 에러

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 다음과 같은 에러가 발생합니다 이유가 궁금합니다

  • java
  • spring
  • mvc
  • spring-boot
ghtndl 댓글 2 좋아요 0 조회수 215

한글 커서 한 칸 앞으로 밀려서 쳐짐

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

인텔리제이 에디터에 영어를 칠 때는 괜찮은데 한글만 커서가 한 칸 앞으로 당겨져서 보이네요 ㅠㅠ 진행하는데 큰 문제가 없긴 한데 너무 신경쓰여요 😢 구글링이랑 스택오버플로우에 찾아봤는데 해결방법을 모르겠는데 혹시 같은 이슈가 있으신분 있으실까요?

  • java
  • 객체지향
댓글 2 좋아요 0 조회수 348

윈도우 빌드

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JDK은 21로 Gradle은 8.5로 맞췄는데요 gradlew build하면 BUILD FAILED가 뜨지만 localhost:8080 은 잘작동합니다. 파일경로에는 한글포함안되어있고 gradlew clean build해도 동일한 오류가 발생합니다. 해당 오류가 왜 발생하는지 그냥 진행해도 되는지 궁금합니다.

  • java
  • spring
  • mvc
  • spring-boot
댓글 2 좋아요 0 조회수 432

로드맵에대한 질문입니다.

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

안녕하세요 본강의의 로드맵에관해서 질문있습니 try catch에 관해서 좀 더 공부해보고싶은데 현재 로드맵과 수강내용을 확인해보았는 try / catch 구문에 대한 내용을 다루고있는 섹션은 없는것으로 보입니다. 강의 과정에 해당부분도 어느정도 다루는지 궁굼합니다.

  • java
  • 객체지향
recon 댓글 1 좋아요 0 조회수 104

Comparator질문입니다

해결됨

김영한의 실전 자바 - 중급 2편

public class SortMain2 { public static void main(String[] args) { Integer[] arr = {3,2,1}; System.out.println(Arrays.toString(arr)); System.out.println("Comparator 비교"); Arrays.sort(arr,new AscComparator()); System.out.println("AscComparator:"+Arrays.toString(arr)); } } public class AscComparator implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) { if(o1 > o2){ return 1; } else if (o1 == o2) { return 0; }else return -1; } } SortMain2함수에서 Arrays.sort(arr,new AscComparator()); 부분에서 new AscComapator()로 객체만 생성했는데 어떻게 compare함수까지 호출되서 비교를 할수있는거죠?이해가안갑니다...함수 호출을안해는데..

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
임다정 댓글 2 좋아요 1 조회수 198

강의영상 5분 7초 EAGER 패치 전략

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

비슷한 게시글을 봐도 이해가 잘 가지 않아서 재차 질문 드립니다 제가 이해하는 상황이 맞는지 고견 부탁드립니다 1. fetch = EAGER 쿼리가 두 번 실행 이것이 프록시 강의영상에서 말씀하시는 (N+1) 문제인지 궁금합니다 첫 번째 쿼리는 em.flush(), em.clear() 실행되면 영속성 컨텍스트가 비워지고 이후 jpql 쿼리가 실행되면서 EAGER 패치 전략에 따라 Team도 함께 조회가 됩니다. 두 번째 쿼리는 영속성 컨텍스트가 비워졌고 EAGER 패치 전략으로 조회되어야 합니다. 실제 엔티티로 조회되어야 하는걸로 알고있습니다 하지만 특정 시점에서 Team이 프록시로 로드 되었고 이후 프록시가 초기화되면서 다시 데이터베이스에서 조회하면서 발생한 쿼리로 생각이 듭니다

  • java
  • jpa
뚜방 댓글 1 좋아요 0 조회수 120

BeanFactory 의존관계

미해결

토비의 스프링 6 - 이해와 원리

@Configuration public class ObjectFactory { @Bean public PaymentService paymentService () { return new PaymentService(exRateProvider()); } @Bean public ExRateProvider exRateProvider() { return new WebApiExRateProvider(); } } 여기서 Bean 어노테이션을 붙이면 paymentService가 호출되지 않아도 paymentService와 exRateProvider의 의존관계가 설정이 되는게 맞나요?? 만약 exRateProvider에만 Bean 어노테이션을 붙이지 않으면 어떻게 되는 건가요??

  • java
  • spring
hdh8990 댓글 1 좋아요 0 조회수 234

메서드 영역에 있는 상수풀이

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 자바 8이후로는 힙 영역에 있다고 하는데 맞나요?? 자료에는 메서드 영역에 있길래 여쭤봅니다

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
yuntyu01 댓글 1 좋아요 0 조회수 144

개념이랑 원리는 이해하고

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 실사용은 Executor(멀티스레드), Look(동시성)을 위주로 사용하는 거죠?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
yuntyu01 댓글 1 좋아요 -3 조회수 259

설치 관련 질문

미해결

[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스

npx create-react-native-app@latest 요거 터미널에 입력하니까, ⚠ This tool does not initialize new React Native projects. 뜨는데, 어떻게 해결하면 좋을까요?

  • javascript
  • react
  • node.js
  • react-native
  • typescript
junokks 댓글 1 좋아요 0 조회수 240

네임드락 부모에(facade) 트랜잭션이 없을때

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

자식 service 메서드에 Propagation.REQUIRES_NEW속성은 그럼 필요 없는건가요? public class NamedLockStockFacade { private final LockRepository lockRepository; private final StockService stockService; public void decrease(Long id, Long quantity) { try { lockRepository.getLock(id.toString()); stockService.decrease(id, quantity); } finally { lockRepository.releaseLock(id.toString()); } } } ----------- @Transactional public void decrease(Long id, Long quantity) { Stock stock = stockRepository.findById(id).orElseThrow(); stock.decrease(quantity); stockRepository.saveAndFlush(stock); } 이렇게 자식에만 트랜잭션이 걸려있으면, 커밋이 다되고 lock 풀리는거아니에요? 굳이 부모에 트랜잭션 붙이고 자식트랜잭션에서 NEW하는 이유가 있나요?

  • java
  • spring
  • 동시성
donkey 댓글 1 좋아요 0 조회수 180

깃 push가 안되서 ssh를 한참해메고 있습니다. ㅠㅠ

해결됨

기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)

The authenticity of host ' github.com (20.200.245.247)' can't be established. ED25519 key fingerprint is SHA256:+DiY3wvvV 위와같은 문구가 뜨고 안되네요. ㅠㅠ

  • react
  • 인터랙티브-웹
  • 클론코딩
  • next.js
  • tailwind-css
  • zustand
foxball 댓글 1 좋아요 1 조회수 178

vitest Extension 알려주세요.

미해결

실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트

이렇게 뜨는데 어떤 익스텐션 설치해야될까요?

  • javascript
  • react
  • 소프트웨어-테스트
  • vitest
거누 댓글 1 좋아요 0 조회수 280

unlock()을 호출 했을 때

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

ReentrantLock에서 lock.unlock()을 호출하면, 대기 중인 스레드들이 락을 획득하려고 서로 경쟁하게 됩니다. 제가 이해한 바로는, unlock이 호출된 후 스레드들중 락을 획득한 한개의 스레드는 RUNNABLE 상태로 전환되고, 나머지 락을 획득하지 못한 스레드들은 다시 WAITING 상태로 돌아가는 것이라고 알고 있습니다. 이 과정에서 스레드들이 경쟁하는 순간의 상태가 정확히 어떻게 되는지 궁금합니다. 경쟁순간에는 락을 획득하려는 스레드들 모두 RUNNABLE 상태인가요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
yummngi 댓글 1 좋아요 0 조회수 254

인기 태그

인프런 TOP Writers

주간 인기글