inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

섹션 6. 순수 jbdc

해결됨

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

이 부분이 임포트가 아예 안 됩니다ㅠㅠ import org.springframework.jdbc.datasource.DataSourceUtils; 그래서 DataSourceUtils .getConnection(dataSource); 이렇게 인텔리제이에서 빨간 불이 들어오구요ㅠㅠ DataSourceUtils에만 빨간 불이 들어옵니다!! 어떻게 해결해야 할까요!! private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); }

  • java
  • spring
  • mvc
  • spring-boot
권정익 댓글 1 좋아요 0 조회수 205

프로젝션 'new 명령어로 조회' 질문 입니다.

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요? 프로젝션 쿼리에 new 명령어 관련 헷갈리는 부분이 있어서 질문 드립니다! try{ Member member = new Member(); member.setUsername("member1"); member.setAge(10); em.persist(member); em.flush(); em.clear(); List<MemberDTO> result = em.createQuery("SELECT new jpql.MemberDTO(m.username, m.age) FROM Member m", MemberDTO.class) .getResultList(); MemberDTO memberDTO = result.get(0); System.out.println("memberDTO = " + memberDTO.getAge()); System.out.println("memberDTO = " + memberDTO.getUsername()); tx.commit(); } 위와 같은 쿼리를 실행하게 되면 상위에서 생성한 member 객체에 있는 값을 result 로 복사하고 result 값을 memberDTO List의 인덱스 0으로 들어 간 값을 조회하라는 뜻이 맞는건가요..? 수업듣다가 제가 이해한게 맞는지 헷갈려서 질문 드립니다.. 답변 부탁드립니다!! 감사합니다.

  • java
  • jpa
자바만판다 댓글 1 좋아요 0 조회수 341

yarn 관련 강좌 업데이트가 필요합니다.

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

강사님 yarn 버전이 1.22 를 사용하고 있는데 지금 4.x 버전까지 yarn berry(2.0 이상)의 zero install 이나 pnp 등 상당히 많은 업데이트가 진행되었습니다. nest/cli 신규 프로젝트 생성부터 yarn 버전으로 프로젝트 진행에 상당히 불편함을 느끼지 싶습니다. 시간이 되신다면 yarn 관련 강좌 업데이트 부탁드리겠습니다. 감사합니다.

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
Zero.G 댓글 1 좋아요 0 조회수 335

SpinLock & Busy Waiting 강의 질문입니다.

미해결

자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]

안녕하세요! 강의 너무 잘 듣고 있는 수강생입니다. 이전 동기화와 CPU의 관계 강의에서는 CPU가 두 개 이상의 명령어를 처리하면 원자성이 보장이 안된다고 설명을 하셨는데, SpinLock & Busy Waiting 강의에서 test_and_set(int *lock) 메서드는 CPU 하드웨어 계층에서 원자성이 보장된다는 게 이해가 잘 가지를 않습니다. test_and_set(int *lock) 이 메서드는 하나의 명령어만 처리하는 건가요??

  • java
  • 동시성
  • multithread
  • synchronisation
bom 댓글 1 좋아요 1 조회수 267

ios 빌드 에러! 안드는 정상 동작

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

Data/meltingpot-gquvlbyucsuermbjkfmfldzpeszt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build export TEMP_DIR\=/Users/kim-yongmin/Library/Developer/Xcode/DerivedData/meltingpot-gquvlbyucsuermbjkfmfldzpeszt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build export TEMP_FILES_DIR\=/Users/kim-yongmin/Library/Developer/Xcode/DerivedData/meltingpot-gquvlbyucsuermbjkfmfldzpeszt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build export TEMP_FILE_DIR\=/Users/kim-yongmin/Library/Developer/Xcode/DerivedData/meltingpot-gquvlbyucsuermbjkfmfldzpeszt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build export TEMP_ROOT\=/Users/kim-yongmin/Library/Developer/Xcode/DerivedData/meltingpot-gquvlbyucsuermbjkfmfldzpeszt/Build/Intermediates.noindex export TEST_FRAMEWORK_SEARCH_PATHS\=\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.4.sdk/Developer/Library/Frameworks export TEST_LIBRARY_SEARCH_PATHS\=\ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/lib export TOOLCHAINS\=com.apple.dt.toolchain.XcodeDefault export TOOLCHAIN_DIR\=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain export TREAT_MISSING_BASELINES_AS_TEST_FAILURES\=NO export UID\=501 export UNINSTALLED_PRODUCTS_DIR\=/Users/kim-yongmin/Library/Developer/Xcode/DerivedData/meltingpot-gquvlbyucsuermbjkfmfldzpeszt/Build/Intermediates.noindex/UninstalledProducts export UNSTRIPPED_PRODUCT\=NO export USER\=kim-yongmin export USER_APPS_DIR\=/Users/kim-yongmin/Applications export USER_LIBRARY_DIR\=/Users/kim-yongmin/Library export USE_DYNAMIC_NO_PIC\=YES export USE_HEADERMAP\=YES export USE_HEADER_SYMLINKS\=NO export USE_HERMES\=true export USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES\=YES export VALIDATE_DEVELOPMENT_ASSET_PATHS\=YES_ERROR export VALIDATE_PRODUCT\=NO export VALID_ARCHS\=arm64\ arm64e\ i386\ x86_64 export VERBOSE_PBXCP\=NO export VERSION_INFO_BUILDER\=kim-yongmin export VERSION_INFO_FILE\=React-Codegen_vers.c export VERSION_INFO_STRING\=\"@\(\#\)PROGRAM:React-Codegen\ \ PROJECT:Pods-\" export WRAP_ASSET_PACKS_IN_SEPARATE_DIRECTORIES\=NO export XCODE_APP_SUPPORT_DIR\=/Applications/Xcode.app/Contents/Developer/Library/Xcode export XCODE_PRODUCT_BUILD_VERSION\=15E204a export XCODE_VERSION_ACTUAL\=1530 export XCODE_VERSION_MAJOR\=1500 export XCODE_VERSION_MINOR\=1530 export XPCSERVICES_FOLDER_PATH\=/XPCServices export YACC\=yacc export arch\=undefined_arch export variant\=normal /bin/sh -c /Users/kim-yongmin/Library/Developer/Xcode/DerivedData/meltingpot-gquvlbyucsuermbjkfmfldzpeszt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build/Script-46EB2E00012AD0.sh /bin/sh: /Users/kim-yongmin/Desktop/RN: No such file or directory Command PhaseScriptExecution failed with a nonzero exit code warning: Run script build phase '[CP-User] [Hermes] Replace Hermes for the right configuration, if needed' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'hermes-engine' from project 'Pods') warning: Run script build phase 'Bundle React Native code and images' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'meltingpot' from project 'meltingpot') warning: Run script build phase '[CP-User] [RN]Check rncore' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'React-Fabric' from project 'Pods') --- xcodebuild: WARNING: Using the first of multiple matching destinations: { platform:iOS Simulator, id:6467FA54-9230-43CA-9818-9D9D12368E26, OS:17.4, name:iPhone 15 } { platform:iOS Simulator, id:6467FA54-9230-43CA-9818-9D9D12368E26, OS:17.4, name:iPhone 15 } ** BUILD FAILED ** The following build commands failed: PhaseScriptExecution [CP-User]\ Generate\ Specs /Users/kim-yongmin/Library/Developer/Xcode/DerivedData/meltingpot-gquvlbyucsuermbjkfmfldzpeszt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build/Script-46EB2E00012AD0.sh (in target 'React-Codegen' from project 'Pods') (1 failure) 이런 에러가 발생하면서, 안드는 정상 동작하지만 ios는 정상 동작하지 않습니다. 해결 방법을 열심히 찾아봤는데 잘 모르겠습니다...!!

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김용민 댓글 2 좋아요 1 조회수 982

리액트 네이티브 스타일 라이브러리 사용에 대한 궁금증입니다.

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

일반적인 웹 개발의 경우, module css, tailwind css, styled-components, emotion, style-x, module css 등 정말 다양한 대체안들이 많은것으로 알고 있습니다. 리액트 네이티브도, tailwind css나, styled-components, emotion을 사용할 수 있는 것으로 알고 있는데, 현업이나 다양한 프로젝트에서도, react-native에서 제공해주는 style-sheet를 사용하는 편인가요? 보통 리액트에서, 스타일을 적용할 떄 일반적인 컴포넌트 코드와, 스타일 코드를 따로 분리해서 적용시켜주는 방식을 많이 쓰곤하는데, 리액트 네이티브는 이렇게 한 파일에 사용하는 방법밖에 없는지 이 부분도 궁금합니다!

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김용민 댓글 1 좋아요 1 조회수 754

영상 재생은 되는데 영상이 안보입니다

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

코드 버그는 아닌데 인프런 문제인지 갑자기 선생님 강의 영상은 안보이고 재생만 됩니다.. MAC OS (Chrome,Safari 둘다 영상이 안보여요)

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
데브핑 댓글 1 좋아요 1 조회수 816

useEffect 의존성 질문

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

장소 등록 후 MapHomeScreen으로 돌아가는 코드입니다. useEffect의 의존성 배열이 없이 사용하셨는데 어떤 이유가 있으신가요?! 빈 배열이나, 의존성을 안 넣으신 이유가 궁금합니다.

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
장경찬 댓글 1 좋아요 1 조회수 247

@react-navigation/drawer 접근 에러

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

강의에서 알려주신대로 babel.config.js 에 plugins: [ 'react-native-reanimated/plugin' ], 추가. npx react-native start --reset-cache 했지만 에러가 발생합니다. 에러는 node_modules에 @react-navigation/drawer 를 못찾는다고 하는데 왼쪽 디렉토리 보시면 해당 폴더는 있습니다. 방법이 있을까요?

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
Grace 댓글 3 좋아요 1 조회수 393

회원가입 버튼 클릭 시 아무런 반응이 없습니다..

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

강사님.. 제가 어딘가 빠트린 부분이 있는 것 같은데.. 에러도 안나서 도저히 못찾고 있습니다..ㅠㅠ 백엔드와 postgresql 서버 모두 실행중입니다.. 이런 경우 오류를 확인할 수 있는 꿀팁 같은게 있을까요?! 혹시 몰라서 깃헙 공유드립니다.. https://github.com/KMSKang/react

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
강프로그래머 댓글 1 좋아요 1 조회수 578

데이터베이스의 작동 방식

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

강의 내용과는 조금 별개로 궁금한 점이 있어서 질문드립니다. 지금 테스트환경에서는 userModel을 한두개 생성해서 테스트하지만, 실제로 네임드 앱들은 유저의 수가 수억개씩 존재하는데, 그렇게되면 데이터베이스가 특정 PostModel에 해당하는 하나의 user객체를 식별하는데 오랜 시간이 걸리지 않나요? 그 시간 차이가 미비해서 따로 신경쓰지 않아도 되는건지, 혹은 컴퓨터만의 쿼리 탐색 방법이 따로 존재하는건지 궁금합니다!

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
코린이 댓글 1 좋아요 0 조회수 199

marker.d.ts 에러 문제

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

import {LatLng, MapMarkerProps} from 'react-native-maps'; // marker props의 타입을 변경 declare module 'react-native-maps' { export interface MyMapMarkerProps extends MapMarkerProps { coordinate?: LatLng; } } Interface 'MyMapMarkerProps' incorrectly extends interface 'MapMarkerProps'. Type 'MyMapMarkerProps' is not assignable to type '{ anchor?: Point | undefined; calloutAnchor?: Point | undefined; calloutOffset?: Point | undefined; centerOffset?: Point | undefined; coordinate: LatLng; ... 22 more ...; zIndex?: number | undefined; }'. Types of property 'coordinate' are incompatible. Type 'LatLng | undefined' is not assignable to type 'LatLng'. Type 'undefined' is not assignable to type 'LatLng'.ts(2430) 이런 에러가 발생합니다. 강의와 동일하게 했는데 그렇습니다! 아래 질문주신분 답변에 응답이 없어서 다시 질문드리는 점 양해부탁드립니다!

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김용민 댓글 1 좋아요 1 조회수 247

react-native-vector-icons 에러 관련 질문

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

import React, {useRef, useState} from 'react'; import {Alert, Pressable, StyleSheet, View} from 'react-native'; import MapView, { Callout, LatLng, LongPressEvent, Marker, PROVIDER_GOOGLE, } from 'react-native-maps'; import {useSafeAreaInsets} from 'react-native-safe-area-context'; import Ionicons from 'react-native-vector-icons/Ionicons'; import MaterialIcons from 'react-native-vector-icons/MaterialIcons'; import {StackNavigationProp} from '@react-navigation/stack'; import {alerts, colors, mapNavigations} from '@/constants'; import {CompositeNavigationProp, useNavigation} from '@react-navigation/native'; import {DrawerNavigationProp} from '@react-navigation/drawer'; import {MainDrawerParamList} from '@/navigations/drawer/MainDrawerNavigator'; import {MapStackParamList} from '@/navigations/stack/MapStackNavigator'; import useUserLocation from '@/hooks/useUserLocation'; import usePermission from '@/hooks/usePermission'; import mapStyle from '@/style/mapStyle'; import CustomMarker from '@/components/CustomMarker'; type Navigation = CompositeNavigationProp< StackNavigationProp<MapStackParamList>, DrawerNavigationProp<MainDrawerParamList> >; const MapHomeScreen = () => { const inset = useSafeAreaInsets(); const navigation = useNavigation<Navigation>(); const mapRef = useRef<MapView | null>(null); const {userLocation, isUserLocationError} = useUserLocation(); const [selectLocation, setSelectLocation] = useState<LatLng | null>(); usePermission('LOCATION'); const handleLongPressMapView = ({nativeEvent}: LongPressEvent) => { setSelectLocation(nativeEvent.coordinate); }; const handlePressAddPost = () => { // if (!selectLocation) { return Alert.alert( alerts.NOT_SELECTED_LOCATION.TITLE, alerts.NOT_SELECTED_LOCATION.DESCRIPTION, ); } navigation.navigate(mapNavigations.ADD_POST, { location: selectLocation, }); // 다시 뒤로 돌아왔을때는 위치를 초기화 setSelectLocation(null); }; const handlePressUserLocation = () => { if (isUserLocationError) { // 에러 메시지 표시 return; } mapRef.current?.animateToRegion({ latitude: userLocation.latitude, longitude: userLocation.longitude, latitudeDelta: 0.0922, longitudeDelta: 0.0421, }); }; // 1. 나의 위치 구하고. (geolocation) // 2. 지도를 그곳으로 이동. return ( <> <MapView ref={mapRef} style={styles.container} provider={PROVIDER_GOOGLE} showsUserLocation followsUserLocation showsMyLocationButton={false} customMapStyle={mapStyle} onLongPress={handleLongPressMapView}> <CustomMarker color="RED" score={3} coordinate={{ latitude: 37.52016541, longitude: 127.127520372, }} /> <CustomMarker color="BLUE" coordinate={{ latitude: 37.550165411, longitude: 127.127520372, }} /> {selectLocation && ( <Callout> <Marker coordinate={selectLocation} /> </Callout> )} </MapView> <Pressable style={[styles.drawerButton, {top: inset.top || 20}]} onPress={() => navigation.openDrawer()}> <Ionicons name="menu" color={colors.WHITE} size={25} /> </Pressable> <View style={styles.buttonList}> <Pressable style={styles.mapButton} onPress={handlePressAddPost}> <MaterialIcons name="add" color={colors.WHITE} size={25} /> </Pressable> <Pressable style={styles.mapButton} onPress={handlePressUserLocation}> <MaterialIcons name="my-location" color={colors.WHITE} size={25} /> </Pressable> </View> </> ); }; const styles = StyleSheet.create({ container: { flex: 1, }, drawerButton: { position: 'absolute', left: 0, top: 20, paddingVertical: 10, paddingHorizontal: 12, backgroundColor: colors.PINK_700, borderTopRightRadius: 50, borderBottomRightRadius: 40, shadowColor: colors.BLACK, shadowOffset: {width: 1, height: 1}, shadowOpacity: 0.5, // 안드는 elevation elevation: 4, }, buttonList: { position: 'absolute', bottom: 30, right: 15, }, mapButton: { backgroundColor: colors.PINK_700, marginVertical: 5, height: 48, width: 48, alignItems: 'center', justifyContent: 'center', borderRadius: 30, shadowColor: colors.BLACK, shadowOffset: {width: 1, height: 2}, shadowOpacity: 0.5, elevation: 2, }, }); export default MapHomeScreen; 제대로 import도 한 것 같고, 실제로 안드로이드에서는 아이콘 이모지가 매우 정상적으로 보이는데 ios에서만 아이콘이 다르게 보이거나, 아예 안뜹니다. drawer 이모지도 동일하게 동작합니다. 혹시 어떻게 해결하는지에 대해 알고싶습니다! cache clean도 진행해보았습니다!!!

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김용민 댓글 1 좋아요 1 조회수 493

트랜젝션 옵션의 전파에 대해 질문드립니다.

미해결

실전! 스프링 데이터 JPA

예전에 영한님이 답변하신 내용 중에 스프링이 제공하는 트랜잭션은 처음 시작한 트랜잭션을 기반으로 전파됩니다. 그러니까 서비스에서 트랜잭션을 시작하면 리포지토리의 트랜잭션이 해당 트랜잭션을 그대로 이어 받습니다. 라는 내용이 있었습니다. 그렇다면, 컨트롤러, 서비스, 리포지토리 순으로 코드가 진행된다고 할 때, 만약 서비스 계층에 @Trasnactional(readonly=false) 가 걸려있고 리포지토리 계층에 @Trasnactional(readonly=true) 가 걸려있으면 서비스 계층이 먼저 호출되므로 readonly=false 옵션이 적용된 채로 리포지토리 계층까지(기존 리포지토리 계층의 옵션은 무시된채로) 코드가 흘러가는걸까요?

  • java
  • spring
  • spring-boot
  • jpa
Jaesang Yoon 댓글 2 좋아요 0 조회수 239

consumer 셋팅 숫자 출력이 안됩니다.

미해결

실습으로 배우는 선착순 이벤트 시스템

docker exec -it kafka kafka-console-consumer.sh --topic coupon_create --bootstrap-server localhost:9092 --key-deserializer "org.apache.kafka.common.serialization.StringDeserializer" --value-deserializer "org.apache.kafka.common.serialization.LongDeserializer" 라고 터미너에 입력한 후에 테스트 코드 package com.example.coupon_server.service; import com.example.coupon_server.repository.CouponRepository; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; @SpringBootTest public class ApplyServiceTest { @Autowired private ApplyService applyService; @Autowired private CouponRepository couponRepository; @Test @DisplayName("쿠폰 한개 적용 테스트") public void applyOneCoupon() { applyService.applyCoupon(1L); long count = couponRepository.count(); assertThat(count).isEqualTo(1); } @Test @DisplayName("쿠폰 여러개 적용 테스트") public void applyMultiCoupon() throws InterruptedException { int threadCount = 1000; ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch latch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) { long userId = i; executorService.submit(() -> { try { applyService.applyCoupon(userId); } finally { latch.countDown(); } }); } latch.await(); Thread.sleep(10000); long count = couponRepository.count(); assertThat(count).isEqualTo(100); } @Test @DisplayName("한명당 한개의 쿠폰만 발급") public void applyOneCouponPerUser() throws InterruptedException { int threadCount = 1000; ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch latch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) { long userId = i; executorService.submit(() -> { try { applyService.applyCoupon(1L); } finally { latch.countDown(); } }); } latch.await(); Thread.sleep(10000); long count = couponRepository.count(); assertThat(count).isEqualTo(1); } } 로 작성했지만 터미널에서 강사님과 같이 숫자들이 찍히자 않습니다. 그리고 터미널 안의 글씨 너무 작은것 같아요

  • java
  • docker
  • spring-boot
  • kafka
  • redis
SJ 댓글 3 좋아요 0 조회수 475

AOS 플랫폼 문제 [해결]

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

안드로이드 실행시마다, GooglePlay Services keeps stopping이라는 현상이 매초 간격으로 발생하고, 제대로 지도 또한 실행하지 않는 것 같습니다. 혹시 이런 문제를 해결할려면, 어떻게 해야할까요? ios는 정상적으로 실행됩니다! AOS 같은 경우 Matzip isn't responding 하면서, 로그인 회원가입도 잘 동작하지 않습니다. 아래 방법으로 진행해봐도, 제대로 동작하지 않습니다! https://stackoverflow.com/questions/50313967/google-play-services-are-updating-error-on-release-not-emulator-google-play/50327544#50327544 몇시간 찾아봤는데... 특정 기기에서는 동작하지 않는 것 같습니다. 기기를 바꾸니 동작하네요!! 정확한 이유가 궁금하긴 합니다...ㅠㅠ

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김용민 댓글 1 좋아요 1 조회수 350

문법 문의드립니다!

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

안녕하세요 강사님! 알찬 수업 잘듣고 있습니다~ 다름이아닌 아직 typescript문법이 약해서 공부를 동행하며 수업을 진행중인데요 막히는부분이 하나씩 발생하여 문의드려요! 예를들어 하기 문법이 이해가안가면 어느 문서를 참고하는게 좋을까요? ㅠㅠ {...login.getTextInputProps('email')}

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
root admin 댓글 1 좋아요 2 조회수 352

섹션 10. try - with - resources

해결됨

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

질문입니다! 상황 1 . 우선 NetworkClientExceptionV5는 RuntimeException을 상속 받은 상태입니다. public class NetworkClientExceptionV5 extends RuntimeException { public NetworkClientExceptionV5(String message) { super(message); } } 그러면 NetworkClientExceptionV5를 상속받은 ConnectException과 SendException도 RuntimeException이 되는 거구요. public class ConnectExceptionV5 extends NetworkClientExceptionV5 { private final String address; public ConnectExceptionV5(String address, String message) { super(message); this.address = address; } public String getAddress() { return address; } } public class SendExceptionV5 extends NetworkClientExceptionV5 { private final String data; public SendExceptionV5(String data, String message) { super(message); this.data = data; } public String getData() { return data; } } 상황 2 . 그리고 NetworkClientV5는 AutoCloseable을 구현했습니다. import exception.ex5.exception.ConnectExceptionV5; import exception.ex5.exception.SendExceptionV5; public class NetworkClientV5 implements AutoCloseable { private final String address; private boolean connectError; private boolean sendError; public NetworkClientV5(String address) { this.address = address; } public void connect() { if (connectError) { throw new ConnectExceptionV5(address, address + " 서버 연결 실패"); } // 연결 성공 System.out.println(address + " 서버 연결 성공"); } public void send(String data) { if (sendError) { throw new SendExceptionV5(data, address + " 서버에 데이터 전송 실패 : " + data); } // 전송 성공 System.out.println(address + " 서버에 데이터 전송 : " + data); } public void disconnect () { System.out.println(address + " 서버 연결 해제"); } public void initError(String data) { if (data.contains("error1")) { connectError = true; } if (data.contains("error2")) { sendError = true; } } @Override public void close() throws Exception { System.out.println("NetworkClientV5.close"); disconnect(); } } ==질문입니다!!== NetworkServiceV5에서 public class NetworkServiceV5 { public void sendMessage(String data) { String address = "http://example.com"; try (NetworkClientV5 client = new NetworkClientV5(address)) { client.initError(data); // 추가 client.connect(); client.send(data); } } } try (NetworkClientV5 client = new NetworkClientV5(address))에서 컴파일 오류가 납니다. client에서 올라오는 예외들은 다 RuntimeException이므로 따로 throws를 안 해줘도 되는데 왜 해결하려고 하면 throws를 선언하거나 catch를 해야한다고 하는 건가요? RuntimeException은 예외를 throws 선언없이 자동으로 밖으로 던지기에 catch를 안 해도 상관이 없을텐데 왜 alt + enter을 누르면 throws 선언과 catch를 해야만 된다고 하는 건지 이해가 가지 않습니다. 제가 생각하는 건 이런식으로 흘러간다고 생각했습니다. main()에서 (error1 | error2)를 입력 받음 -> sendMessage를 호출 -> sendMessage에서 코드 진행 -> (client.connect | client.send)를 만나서 NetworkClientV5에 들어감 -> (ConnectException | SendException)을 터트림 -> NetworkClientV5에서 예외를 밖으로 던짐 (런타임이라서 throws 선언 안 해도 던져짐) -> NetworkService로 예외가 날라옴 -> 여기서도 처리가 불가능 하니, 예외를 밖으로 던짐 (여기서 throws 선언을 안해도 던져져야 한다고 생각함. 날아온 예외는 RuntimeException이기 때문에) -> main으로 예외가 넘어옴 -> main에는 catch (Exception e)가 있어서 예외를 잡고 정상흐름으로 돌아옴. 마지막은 메인메서드 입니다! import exception.ex5.exception.SendExceptionV5; import java.util.Scanner; public class NetworkmainV5 { public static void main(String[] args) { NetworkServiceV5 service = new NetworkServiceV5(); Scanner scanner = new Scanner(System.in); while (true) { System.out.print("전송할 문자 : "); String input = scanner.nextLine(); if (input.equals("exit")) { break; } try { service.sendMessage(input); } catch (Exception e) { exceptionHandler(e); } System.out.println(); } System.out.println("프로그램을 종료합니다."); } // 공통 처리 예외 private static void exceptionHandler(Exception e) { System.out.println("사용자 메시지 : 죄송합니다. 알 수 없는 문제가 발생했습니다."); System.out.println("==개발자용 디버깅 메시지=="); // 스택 트레이스 출력 e.printStackTrace(System.out); // 스택 트레이스 출력 System.err //e.printStackTrace(); // 필요하면 예외별로 별도의 추가 처리 가능 if (e instanceof SendExceptionV5 sendEx) { System.out.println("[전송 오류] 전송 데이터 = " + sendEx.getData()); } } }

  • java
  • 객체지향
권정익 댓글 1 좋아요 0 조회수 200

데이터베이스와 네스트가 연결이 안됩니다.

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { PostsModule } from './posts/posts.module'; import { TypeOrmModule } from '@nestjs/typeorm'; import { PostModel } from './posts/entities/posts.entity'; @Module({ imports: [ PostsModule, TypeOrmModule.forRoot({ type: 'postgres', host: '127.0.0.1', port: 5432, username: 'postgres', password: 'postgres', database: 'postgres', entities: [PostModel], synchronize: true, }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {} services: postgres: image: postgres:15 restart: always volumes: - ./postgres-data:/var/lib/postgresql/data ports: - '5432:5432' environment: POSTGRESQL_USER: postgres POSTGRESQL_PASSWORD: postgres POSTGRESQL_DB: postgress POSTGRES_HOST_AUTH_METHOD: trust 현재 데이터베이스 도커 컴포즈 코드와 네스트 서버를 연결하려고 합니다. 서버 로그는 이렇게 뜨고, 익스텐션에서 들어가면 이런 에러가 뜹니다. 실습을 못하고 있어요. 도와주세요ㅜㅜ

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
a24746440 댓글 2 좋아요 0 조회수 316

로그인 통신 질문

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

import axios from 'axios'; const axiosInstance = axios.create({ // 안드는 localhost:3000이 안먹힐 수 있기에 10.0.2.2로 테스트 baseURL: 'http://10.0.2.2:3030', withCredentials: true, }); export default axiosInstance; 이럴때 안드로이드는 제대로 동작하지만, ios는 다시 import axios from 'axios'; const axiosInstance = axios.create({ // 안드는 localhost:3000이 안먹힐 수 있기에 10.0.2.2로 테스트 baseURL: 'http://localhost:3030', withCredentials: true, }); export default axiosInstance; 이렇게 바꿔주어야 동작합니다. 이렇게 매번 바꿔서 체크하는게 맞을까요?

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김용민 댓글 2 좋아요 1 조회수 319

인기 태그

인프런 TOP Writers

주간 인기글