묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨
이진탐색 코드 질문
n, m = map(int, input().split()) duck = list(map(int, input().split())) ducks = sorted(duck) def binary(array, target, start, end): global result while start <= end: sum = 0 mid = (start+end)//2 for i in duck: if i > mid: sum += i - mid if sum < m: end = mid - 1 else : result = mid start = mid+1 result = binary(ducks, m, 0, ducks[-1]) print(result)이 코드에 입력값 4 619 15 10 17대입하면 15가 나와야하는데 나오지 않습니다. 어디가 문제인걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceTest 똑같이 작성했는데 java: ';' expected 에러가 자꾸 떠요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemoryMemberRepository;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.AfterEach;import org.junit.jupiter.api.BeforeAll;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import static org.assertj.core.api.Assertions.*;import static org.junit.jupiter.api.Assertions.assertThrows;public class MemberServiceTest {MemberService memberService; MemoryMemberRepository memberRepository; @BeforeEach public void beforeEach() {memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); }@AfterEach public void afterEach() {memberRepository.clearStore(); //코드가 끝날때마다 clear @Test void 회원가입() {// given Member member = new Member(); member.setName("hello"); // when long saveId = memberService.join(member); // then Member findMember = memberService.findOne(saveId).get(); Assertions.assertThat(member.getName()).isEqualTo(findMember.getName()); }@Test public void 중복_회원_예외() {// given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); // when memberService.join(member1); //then IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); Assertions.assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); }// //then// try{// memberService.join(member2);// fail();// }catch (IllegalStateException e){// // assertThat을 통해 두 객체가 같은지 확인한다.// Assertions.assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.1232131");// } @Test void findMember() {}@Test void findOne() {}}
-
해결됨[Lv.1] iOS 17 앱 개발 기초 - SwiftUI로 시작하기
Frame에 대한 개념 질문
"뷰는 자신의 콘텐트와 자신이 속한 레이아웃에 따라 자동으로 크기가 조절됩니다. 하지만 frame 수정자를 사용하여 뷰의 크기나 영역을 조절 할 수 있습니다."프레임은 해당 글과 같은 역할을 한다고 볼 수 있을거 같은데 아래 실습을 통해 추가적으로 이해를 해보려고 하면 VStack(spacing: 20){ Text("Hello World!") .font(.title) .background(Color.red) .frame(height: 100, alignment: .top) // 100프레임에 대한 컨텐츠는 위에 붙게됨 .background(.orange) .frame(width: 200) .background(Color.purple) .frame(maxWidth: .infinity, alignment: .leading) .background(Color.pink) .frame(height: 400) .background(Color.green) .frame(maxHeight: .infinity, alignment: .top) .background(Color.yellow) } 실질적으로 뷰의 크기나 영역을 frame 함수를 통해 조각조각 붙여나가는 방식으로 구현한다.라고 정리될 거 같습니다. 제가 이해한 게 맞는지 궁금합니다. 이런 식으로 조각을 붙여가면서 구현을 하는 개념으로 이해해도 되는 건지...
-
미해결배달앱 클론코딩 [with React Native]
TypeError: Cannot read property 'status' of undefined
안녕하세요 제로초님!회원가입을 하려면, 계속 아래와 같은 에러가 터미널에 뜹니다.error: [TypeError: Cannot read property 'status' of undefined] ERROR undefined어디가 잘 못 된걸까요,,.env파일 확인 해서 제 IP주소 확인했습니다.signUp 부분을 확인해야하는건지,,import React, {useCallback, useRef, useState, useEffect} from 'react'; import { ActivityIndicator, Alert, Platform, Pressable, StyleSheet, Text, TextInput, View, } from 'react-native'; import {NativeStackScreenProps} from '@react-navigation/native-stack'; import DismissKeyboardView from '../components/DismissKeyboardView'; import axios, {AxiosError} from 'axios'; import Config from 'react-native-config'; // 혹시 이거 설정법 아시나요 import {RootStackParamList} from '../../AppInner'; type SignUpScreenProps = NativeStackScreenProps<RootStackParamList, 'SignUp'>; function SignUp({navigation}: SignUpScreenProps) { const [loading, setLoading] = useState(false); const [email, setEmail] = useState(''); const [name, setName] = useState(''); const [password, setPassword] = useState(''); const emailRef = useRef<TextInput | null>(null); const nameRef = useRef<TextInput | null>(null); const passwordRef = useRef<TextInput | null>(null); useEffect(() => { console.log('email: ', email); console.log('name: ', name); console.log('password: ', password); }, [email, name, password]); const onChangeEmail = useCallback((text: string) => { setEmail(text.trim()); }, []); const onChangeName = useCallback((text: string) => { setName(text.trim()); }, []); const onChangePassword = useCallback((text: string) => { setPassword(text.trim()); }, []); const onSubmit = useCallback(async () => { if (loading) { return; } if (!email || !email.trim()) { return Alert.alert('알림', '이메일을 입력해주세요.'); } if (!name || !name.trim()) { return Alert.alert('알림', '이름을 입력해주세요.'); } if (!password || !password.trim()) { return Alert.alert('알림', '비밀번호를 입력해주세요.'); } if ( !/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/.test( email, ) ) { return Alert.alert('알림', '올바른 이메일 주소가 아닙니다.'); } if (!/^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[$@^!%*#?&]).{8,50}$/.test(password)) { return Alert.alert( '알림', '비밀번호는 영문,숫자,특수문자($@^!%*#?&)를 모두 포함하여 8자 이상 입력해야합니다.', ); } console.log(email, name, password); try { //:TODO log 삭제 console.log('LOGIN REQUEST'); console.log(Config.API_URL); setLoading(true); console.log(email); console.log(name); console.log(password); const response = await axios.post(`${Config.API_URL}/user`, { email, name, password, }); console.log('response: ', response.data); Alert.alert('알림', '회원가입 되었습니다.'); navigation.navigate('SignIn'); } catch (error) { console.log('error: ', error); const errorResponse = (error as AxiosError).response; console.error(errorResponse); if (errorResponse) { Alert.alert('알림'); } } finally { setLoading(false); } }, [loading, navigation, email, name, password]); const canGoNext = email && name && password; return ( <DismissKeyboardView> <View style={styles.inputWrapper}> <Text style={styles.label}>이메일</Text> <TextInput style={styles.textInput} onChangeText={onChangeEmail} placeholder="이메일을 입력해주세요" placeholderTextColor="#666" textContentType="emailAddress" value={email} returnKeyType="next" clearButtonMode="while-editing" ref={emailRef} onSubmitEditing={() => nameRef.current?.focus()} blurOnSubmit={false} /> </View> <View style={styles.inputWrapper}> <Text style={styles.label}>이름</Text> <TextInput style={styles.textInput} placeholder="이름을 입력해주세요." placeholderTextColor="#666" onChangeText={onChangeName} value={name} textContentType="name" returnKeyType="next" clearButtonMode="while-editing" ref={nameRef} onSubmitEditing={() => passwordRef.current?.focus()} blurOnSubmit={false} /> </View> <View style={styles.inputWrapper}> <Text style={styles.label}>비밀번호</Text> <TextInput style={styles.textInput} placeholder="비밀번호를 입력해주세요(영문,숫자,특수문자)" placeholderTextColor="#666" onChangeText={onChangePassword} value={password} keyboardType={Platform.OS === 'android' ? 'default' : 'ascii-capable'} textContentType="password" secureTextEntry returnKeyType="send" clearButtonMode="while-editing" ref={passwordRef} onSubmitEditing={onSubmit} /> </View> <View style={styles.buttonZone}> <Pressable style={ canGoNext ? StyleSheet.compose(styles.loginButton, styles.loginButtonActive) : styles.loginButton } disabled={!canGoNext || loading} onPress={onSubmit}> {loading ? ( <ActivityIndicator color="white" /> ) : ( <Text style={styles.loginButtonText}>회원가입</Text> )} </Pressable> </View> </DismissKeyboardView> ); } const styles = StyleSheet.create({ textInput: { padding: 5, borderBottomWidth: StyleSheet.hairlineWidth, }, inputWrapper: { padding: 20, }, label: { fontWeight: 'bold', fontSize: 16, marginBottom: 20, }, buttonZone: { alignItems: 'center', }, loginButton: { backgroundColor: 'gray', paddingHorizontal: 20, paddingVertical: 10, borderRadius: 5, marginBottom: 10, }, loginButtonActive: { backgroundColor: 'blue', }, loginButtonText: { color: 'white', fontSize: 16, }, }); export default SignUp; 아니면 AppInner부분인건지 모르겟습니다.import SignIn from './src/pages/SignIn'; import SignUp from './src/pages/SignUp'; import Orders from './src/pages/Orders'; import Delivery from './src/pages/Delivery'; import Settings from './src/pages/Settings'; import * as React from 'react'; import {createBottomTabNavigator} from '@react-navigation/bottom-tabs'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; import {useSelector} from 'react-redux'; import {RootState} from './src/store/reducer'; import useSocket from './src/hooks/useSocket'; import {useEffect} from 'react'; import EncryptedStorage from 'react-native-encrypted-storage'; import axios, {AxiosError} from 'axios'; import {Alert} from 'react-native'; import userSlice from './src/slices/user'; import {useAppDispatch} from './src/store'; import Config from 'react-native-config'; import orderSlice from './src/slices/order'; export type LoggedInParamList = { Orders: undefined; Settings: undefined; Delivery: undefined; Complete: {orderId: string}; }; export type RootStackParamList = { SignIn: undefined; SignUp: undefined; }; const Tab = createBottomTabNavigator(); const Stack = createNativeStackNavigator<RootStackParamList>(); function AppInner() { const dispatch = useAppDispatch(); const isLoggedIn = useSelector((state: RootState) => !!state.user.email); console.log('isLoggedIn', isLoggedIn); const [socket, disconnect] = useSocket(); // 앱 실행 시 토큰 있으면 로그인하는 코드 useEffect(() => { const getTokenAndRefresh = async () => { try { const token = await EncryptedStorage.getItem('refreshToken'); if (!token) { return; } const response = await axios.post( `${Config.API_URL}/refreshToken`, {}, { headers: { authorization: `Bearer ${token}`, }, }, ); dispatch( userSlice.actions.setUser({ name: response.data.data.name, email: response.data.data.email, accessToken: response.data.data.accessToken, }), ); } catch (error) { console.error(error); if ((error as AxiosError as any).response?.data.code === 'expired') { Alert.alert('알림', '다시 로그인 해주세요.'); } } }; getTokenAndRefresh(); }, [dispatch]); useEffect(() => { const callback = (data: any) => { console.log(data); dispatch(orderSlice.actions.addOrder(data)); }; if (socket && isLoggedIn) { socket.emit('acceptOrder', 'hello'); socket.on('order', callback); } return () => { if (socket) { socket.off('order', callback); } }; }, [dispatch, isLoggedIn, socket]); useEffect(() => { if (!isLoggedIn) { console.log('!isLoggedIn', !isLoggedIn); disconnect(); } }, [isLoggedIn, disconnect]); useEffect(() => { axios.interceptors.response.use( response => { return response; }, async error => { const { config, response: {status}, } = error; if (status === 419) { if (error.response.data.code === 'expired') { const originalRequest = config; const refreshToken = await EncryptedStorage.getItem('refreshToken'); // token refresh 요청 const {data} = await axios.post( `${Config.API_URL}/refreshToken`, // token refresh api {}, {headers: {authorization: `Bearer ${refreshToken}`}}, ); // 새로운 토큰 저장 dispatch(userSlice.actions.setAccessToken(data.data.accessToken)); originalRequest.headers.authorization = `Bearer ${data.data.accessToken}`; // 419로 요청 실패했던 요청 새로운 토큰으로 재요청 return axios(originalRequest); } } return Promise.reject(error); }, ); }, [dispatch]); return isLoggedIn ? ( <Tab.Navigator> <Tab.Screen name="Orders" component={Orders} options={{title: '오더 목록'}} /> <Tab.Screen name="Delivery" component={Delivery} options={{title: '내 오더'}} /> <Tab.Screen name="Settings" component={Settings} options={{title: '내 정보'}} /> </Tab.Navigator> ) : ( <Stack.Navigator> <Stack.Screen name="SignIn" component={SignIn} options={{title: '로그인'}} /> <Stack.Screen name="SignUp" component={SignUp} options={{title: '회원가입'}} /> </Stack.Navigator> ); } export default AppInner;
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
mysql 관련 docker-compose 빌드 시 에러
강의 하나 들을 때마다 에러가 너무 많이 떠서 진도가 안나가서 미칠 지경이네요 ㅠㅠdocker-compose.yaml 파일을 아래와 같이 설정하고 docker-compose build를 하니 services.mydb.environment.0 must be a string 라는 에러가 떠서 구글링을 하니 environment: - MYSQL_DATABASE: 'dockerProject' - MYSQL_ROOT_PASSWORD: 'root'여기서 띄어쓰기를 없애보라고 하길래 아래와 같이 띄어쓰기를 없앤채로 .yaml파일을 변경하였습니다. version: '3.7' services: mybackend: build: context: . dockerfile: Dockerfile volumes: - ./src:/myfolder/src ports: - 3000:3000 env_file: - ./.env.docker mydb: # platform: linux/86_64 image: mysql:8.0.34 environment: - MYSQL_DATABASE:'dockerProject' - MYSQL_ROOT_PASSWORD:'root' ports: - 3306:3306그리고는 docker-compose build 이후 up을 실행했으나 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...에러가 계속 발생합니다.(docker 말고 내 로컬컴퓨터에서는 mysql 연결 잘 되었음) 다른 질문자 분들 내용을 참조하여 package.json 파일의 mysql2와 typeorm의 버전을 아래와 같이 바꾸었고, .yaml 파일에서도 mysql 버전을 latest에서 8.0.34로 지정해주었습니다. { "name": "graghql", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { "@apollo/server": "^4.9.0", "@nestjs/apollo": "^12.0.7", "@nestjs/common": "^10.0.0", "@nestjs/config": "^3.0.0", "@nestjs/core": "^10.0.0", "@nestjs/graphql": "^12.0.8", "@nestjs/platform-express": "^10.0.0", "@nestjs/typeorm": "^10.0.0", "graphql": "^16.7.1", "mysql2": "3.2.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1", "typeorm": "^0.3.12" }, "devDependencies": { "@nestjs/cli": "^10.0.0", "@nestjs/schematics": "^10.0.0", "@nestjs/testing": "^10.0.0", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/node": "^20.3.1", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", "eslint": "^8.42.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "jest": "^29.5.0", "prettier": "^2.8.8", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-jest": "^29.1.0", "ts-loader": "^9.4.3", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", "typescript": "^5.1.3" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } }그런데도 똑같이 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)...에러가 발생하여 node_modules 파일 및 dist 파일을 삭제 후 다시 yarn install을 했는데,이제는 import도 되지 않습니다....에러 때문에 진도가 나가질 않아, 중간중간에 강의를 멈춰가며 강의와 똑같이 따라가고 있는데 왜 이런 에러가 계속 발생할까요 ㅠㅠ
-
미해결
맥 vscode 질문있습니다.
윈도우에서 vs code 코드 작성후 프로그램 종료후 다시 vscode 실행하면 이전 작업 그대로 화면에 나오는데맥에서는 코드 작성후 프로그램 종료후 다시 실행하면 이전 작업이 안나오고 이화면이 계속 나오는데 윈도우 처럼 할려면 어떻게 해야하나요? ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
별거 아니지만 항상 궁금했던거요
객체로 나타낼 떄 따옴표 쓰는 거 하고 쌍따옴표 쓰는 거 하고 뭔 차이인가요? 그리고 따옴표 쓰면 계속 따옴표 쓰고, 쌍따옴표 쓰면 계속 쌍따옴표로 써야하나요?
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
4-8 지표 정의 연습 문제
4-8 지표 정의 연습 문제 #1지표 목적각각의 카테고리가 잘 작동하는지 확인 목적잘 작동한다는 의미는?배달 서비스의 경우 앱을 통해서 구매를 일으키는것이 목적이기 때문에, 카테고리 기능이 잘 작동한다는것도 궁극적으로 매출으로 잘 이어지는지 확인하는것그렇다면, 각 카테고리가 매출로 잘 이어지는지 확인하기 위해서는 어떤 지표가 필요한가?전체 유입 유저전체 유입 유저 중 카테고리별 유입 유저카테고리별 유입 유저의 매출 전환율전환율 확인을 통해서 실제 매출로의 전환이 잘 이뤄지는지 확인 필요. 카테고리별 유입 유저 매출 전환율이 가장 높은 카테고리가 가장 잘 동작한다고 볼 수 있다고 판단됨. #2 지표 목적 검색 기능에 만족 했는지 확인검색 기능에 만족을 했다는것은 어떻게 확인할 수 있을까? 만족이라는걸 증명할 수 있는 지표는 무엇인가?검색을 통해 구매로 이어졌다면 검색 기능에 만족했다고 볼 수 있지 않을까?검색 기능을 활용하는 유저의 행동 flow앱에 진입평소에 자주 이용하는 가게 혹은 음식이 아니라 다른 음식이 땡기는 경우 혹은 딱히 먹고 싶은게 없는데 뭐 없을까 하는 마음에 둘러보다가 검색 기능까지 다다르는 경우 혹은 친구/지인이 추천해준 음식점을 검색하는 경우 검색 진행 검색 시 나오는 결과 클릭 맘에 드는 가게가 나왔을때 결제 진행 필요한 지표 검색 기능에 진입한 전체 유저 수 검색 기능에서 실제 검색을 진행한 유저 수 실제 검색을 진행한 유저의 클릭 수 (가게 클릭수) 가게를 클릭한 유저가 구매까지 이어진 수 실제 검색 유저 수 / 가게를 클릭한 유저 수 = 검색 결과에 어느정도 만족했기에 가게를 클릭했다고 가정할 수 있음 가게를 클릭한 유저 수 / 가게를 클릭한 유저가 구매까지 이어진 수 = 검색을 통해서 궁극적으로 결제까지 이뤄졌기에 검색 결과에 만족했다고 가정할 수 있음 위 2개의 지표를 보면 되지 않을까욤..! 나머지도 천천히 풀어서 댓글로 올려두도록 하겠습니다!
-
미해결스프링 핵심 원리 - 기본편
화면 확대
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]맥북 확대 어떻게 하시는지 궁금합니다! 스크롤로 하시는건가요 트랙패드로 하시는건가요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
calendar 프로젝트에서 overflow에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 내용으로 텍스트를 많이 넣게되면 이렇게 오버플로우 에러가 나는데 어떻게 해결할 수 있을까요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Validation Data Set Augmentation 문의
안녕하세요.좋은 강의 감사합니다.Validation Data Set Augmentation 관련 문의드립니다.tr_ds = image_dataset(tr_path, tr_label, image_size=IMAGE_SIZE, batch_size=BATCH_SIZE, augmentor=image_augmentor, shuffle=True, pre_func=xcp_preprocess_input) val_ds = image_dataset(val_path, val_label, image_size=IMAGE_SIZE, batch_size=BATCH_SIZE, augmentor=None, shuffle=False, pre_func=xcp_preprocess_input) Validation Set 부분은 Augmentation을 None으로 진행했는데요.Augmentation을 None이 아닌 것으로 진행해도 성능에는 크게 문제가 없을 것으로 생각합니다. (별도 Test Set으로 평가했을 때, 평가 성능이 저하 된다거나 그렇진 않을 것 같아서요.)Validation Set 부분도 Train Set과 마찬가지로 Augmentation을 진행해도 되지 않을까요? 딱히 구글링으로 명확한 답을 찾기 어려워 선생님의 의견을 얻어보고 싶습니다.감사합니다.
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
asyncio와 await 키워
그림에서는 task가 2개 동시에 실행되는걸로 보이는데 왜 피피티에서는 single thread single process라고 하나요?2. await을 만나면 하던 태스크를 잠시멈춘다고했는데, await 뒤에 코드 ~sleep(1)까지 다 읽고 실행한 상태에서 멈추는건가요?태스크와 스레드 차이점이 뭔가요? 똑같은 개념아닌가요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요 강사님
안녕하세요 강사님 플러터 상태관리 관련해서 검색을 해보니까 최근에는 Provider + Bloc 상태관리를 가장 많이 선호한다고 들었는데 혹시 추후에 Bloc 부분을 강의에 추가하실 예정이 있으신지 여쭈어보고 싶습니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
try catch문이 있는데 if문으로 에러처리를 따로 하는 이
router.get("/", async (req, res, next) => { try { if (req.user) { // findOne에서 에러가 생기는 거는 try catch문으로 처리가 안된 const user = await User.findOne({ where: { id: req.user.id }, }); res.status(200).json(user); } else { res.status(200).json(null); } } catch (error) { console.error(error); next(error); } });이부분에서 아직 로그인을 하지 않아서 유저 정보가 없을때 User.findOne에서 에러가 나기 때문에 if문으로 감싸서 아직 유저정보가 없을 때를 예외 처리 해주셨는데 어차피 User.findOne에서 에러가 나면 catch문으로 이동해서 에러가 처리가 되는데 굳이 if else로 예외 처리 하신 이유가 있나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
homebrew와 m1 맥북으로 설치했다면 아래 명령어로 경로 확인 가능
mysql 접속 후 아래 명령어 2가지를 통해 알 수 있음.show variables like 'datadir';select @@datadir;
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Decoder 의 Output Probablilities 계산하는 부분 RNN과 관련하여 질문드립니다.
RNN Decoder의 경우, time step 별로 해당 input 단어에 대한 vocab 사전의 확률분포가 나오면, argmax 하거나, beam searching 하여 output을 최종 산출한다는 것으로 이해했었습니다.강의에서 트랜스포머 Decoder의 경우도 개념은 똑같다고 하셨는데, 트랜스포머도 time step 이 있는건가요? 예를들어,'I love you' 를 '난 널 사랑해' 로 번역할 때,decoder에 attention계산과정 및 Feed Forward 계산과정을 거쳐 나온 최종 attetion vector (seq_len x d model 차원) 가 첫번째 단어 '난' 부터 시작해서 greedy 하게, 혹은 beam search 전략 통하여 확률분포를 구한다고 보면 될까요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
4:52 대리 한다는 의미가 뭔지 잘 모르겠습니다
알려주시면 감사드리겠습니다
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
트랜스포머 Encoder Output이 Decoder Input으로 들어갈 때 관련 질문 드립니다.
Encoder의 Output은 attention vector (seq_len x d model) 하나가 나오는데, Decoder의 인풋으로 들어갈 땐 이를 encoder에서 배웠던 Q, K, V 로 나눈뒤, 이중에서 K, V 가 Decoder의 Encoder-Decoder attention layer에서의 K, V로 사용된다고 보면 될까요?
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
Omit 타입에서 K extends keyof any에 대해서 질문있습니다.
Omit에서 K extends keyof any로 키값만 들어올 수 있도록 제한을 주었는데 이전 강의때 말씀해주셨던 타입은 정확할수록 좋다는 말씀이 생각나서 질문드립니다. 키 값중에서도 T의 키값이 들어와야 더 정확하다고 생각해서 K extends keyof T 가 더 올바르다고 생각하는데 any로 쓴 이유가 있을까요??type E<T, U> = T extends U ? never : T; type P<T, K extends keyof T> = { [P in K]: T[P]; }; type O<T, K extends keyof T> = P<T, E<keyof T, K>>;
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
섹션 16. 근태관리 앱 세팅하기 에러
버전이 맞지 않다고 뜨네요강의보면서 멈춰가면서 그대로 따라했습니다 C:\flutter\bin\flutter.bat --no-color pub getRunning "flutter pub get" in chool_check...Resolving dependencies...The current Dart SDK version is 2.19.6.Because chool_check requires SDK version >=3.0.0 <4.0.0, version solving failed.pub get failedcommand: "C:\flutter\bin\cache\dart-sdk\bin\dart __deprecated_pub --directory . get --example"pub env: { "FLUTTER_ROOT": "C:\flutter", "PUB_ENVIRONMENT": "flutter_cli:get", "PUB_CACHE": "C:\Users\manjin han\AppData\Local\Pub\Cache",}exit code: 1Process finished with exit code 1