#sts

질문 2
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

6일 전 · 익명 님의 질문 업데이트

Django serializer 현업에서는 어떻게 설계를 어떻게 하시나요?

안녕하세요 RN 개발을 진행하면서 백엔드로 Django를 사용하고 있고, Django를 공부한지 몇개월 되지 않았습니다. 개발을 진행하면서 아래의 문제가 생겼는데, 혹시 애초에 serializer와 model을 잘못 설계한 것은 아닌지, 또한 현업자 분들은 어떻게 시리얼라이저를 사용하시는지 궁금합니다. [문제 설명] 프로젝트의 모델에는 하위 게시글 모델이 여러 개 올 수 있습니다. 모델 구조는 아래와 같습니다. Project { id: number, posts: Post[], } Post { id: number, project: number, <- 무한 참조를 방지하기 위해 id } 앱 개발을 하다가 Post 데이터에서 Project까지 UI를 그려야하는 상황에서 또 프로젝트를 불러오는 API를 사용하니까 (프로젝트 id에서 프로젝트 오브젝트 불러오기, fetchProjectAPI). UI 지연이 되어서 프로젝트 오브젝트를 불러오고 싶은데, 프로젝트 시리얼라이저 내에서 또 포스트 오브젝트가 나오고 거에서 또 프로젝트가 나오는 문제가 생기더라구요. 이와 같은 경우에는 어떻게 해결하면 좋을까요? posts를 제외한 ProjectSummarySerializer를 새로 생성하면 되겠지만 근본적인 해결책은 아니라고 생각합니다 (제외하고 싶은 필드가 생길때마다 시리얼라이저를 만들어야하니깐요). 혹시 애초에 모델을 잘못 설계한걸까요? 또한 애초에 오브젝트로 반환하는 것을 잘 안하나요? (DB 와 송수신 로드를 줄이기 위해서 아이디로만 반환한다던지)

개발자

#django

#serializer

#model

답변 0

댓글 0

보충이 필요해요 1

조회 27

16일 전 · 최범준 님의 질문

MacBook에서 Windows Docker 서버 접속 시 sudo가 필요한데 원인이 뭘까요?

문제 현재 Windows 데스크톱과 MacBook을 사용 중이며, 두 기기는 동일한 로컬 네트워크에 연결되어 있습니다. - 데스크톱(Windows): 유선 랜(Ethernet)으로 연결 - MacBook: Wi-Fi로 연결 Windows 데스크톱에서 Docker를 이용해 로컬 웹 서버(포트 9000)를 실행 중입니다. 컨테이너는 -p 9000:9000 옵션으로 실행되었으며, 0.0.0.0:9000에서 요청을 받을 수 있도록 설정되어 있습니다. 데스크톱에서는 Chrome를 통해 정상적으로 웹 인터페이스에 접속할 수 있습니다. 그러나 MacBook의 Chrome에서 접속하면 페이지를 찾을 수 없다고 합니다. 이상하게도,,, Chrome을 sudo로 실행하면 페이지가 정상적으로 로드됩니다. 추가 정보 - 데스크톱(Windows)과 MacBook은 같은 서브넷에 속해 있습니다. - 웹 서버는 0.0.0.0:9000에서 요청을 받을 수 있도록 설정되어 있어, 다른 기기에서도 접근 가능해야 합니다. - MacBook에서 nc -zv <데스크톱-IP> 9000을 실행하면 포트가 열려 있음을 확인했습니다. - Python 코드에서 requests.get("http://<데스크톱-IP>:9000")을 실행하면, 일반 실행 시 실패하지만 sudo로 실행하면 정상적으로 작동합니다. - MacBook에는 단 하나의 사용자 계정만 존재하며, 해당 계정은 관리자(Admin) 권한을 가지고 있습니다. - macOS 방화벽은 비활성화되어 있으며 (/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate로 확인), sudo pfctl -d로 pf 방화벽을 꺼도 문제가 해결되지 않았습니다. 현재까지 파악한 내용 sudo로 실행하면 정상적으로 동작하기 때문에, 현재 문제는 네트워크 연결 자체의 문제가 아니라 macOS의 보안 정책 또는 네트워크 제한과 관련된 것이 아닐까,, 생각하고 있습니다. 해결하고 싶은 질문 - 왜 Chrome을 sudo로 실행해야만 웹 서버에 접속할 수 있을까요? - 왜 일반 사용자 권한으로 실행한 Python의 requests.get() 요청이 차단되고, sudo를 사용해야만 정상적으로 동작할까요? - macOS에서 일반 사용자 프로세스의 네트워크 접근을 제한하는 정책이 있는 걸까요? 있다면 어떻게 해결할 수 있을까요? 스크립트에 모두 sudo를 붙이면 문제가 해결되긴 합니다만,, 명확한 원인이 궁금합니다. 혹시 비슷한 경험을 하신 적이 있는 분이 계시다면 조언 부탁드립니다! 혹은 힌트 키워드라도 던져주시면 감사하겠습니다!

개발자

#mac

#docker

#local-network

답변 0

댓글 0

조회 35

6달 전 · 노원재 님의 답변 업데이트

ReactNative ios build 에러 3일째 해결을 못했습니다.

시뮬레이션을 실행하려고 해도 스크립트 문제, iPhone 버전 범위 문제, 시뮬레이터 문제가 계속 발생합니다. 어떤 도움이라도 감사합니다. ReactNative를 처음 접했습니다. 저희 팀에서 저를 도울 수 있는 사람이 없습니다. #프로젝트 환경 mac M2 ruby -v ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin23] node -v v20.10.0 pod --version 1.15.2 package.json { "name": "labts", "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-native-community/async-storage": "^1.12.1", "@react-native-community/cli": "13.6.9", "@react-navigation/bottom-tabs": "^6.6.0", "@react-navigation/native": "^6.1.17", "@react-navigation/native-stack": "^6.10.0", "@tanstack/react-query": "^5.51.5", "@types/react-native-vector-icons": "^6.4.18", "axios": "^1.7.2", "date-fns": "^3.6.0", "immer": "^10.1.1", "react": "18.2.0", "react-native": "0.74.3", "react-native-calendars": "^1.1305.0", "react-native-date-picker": "^5.0.4", "react-native-dotenv": "^3.4.11", "react-native-get-random-values": "^1.11.0", "react-native-image-crop-picker": "^0.41.2", "react-native-image-zoom-viewer": "^3.0.1", "react-native-paper": "^5.12.3", "react-native-permissions": "^4.1.5", "react-native-safe-area-context": "^4.10.8", "react-native-screens": "^3.32.0", "react-native-splash-screen": "^3.3.0", "react-native-tab-view": "^3.5.2", "react-native-vector-icons": "^10.1.0", "react-native-vision-camera": "^4.5.1", "uuid": "^10.0.0", "yarn": "^1.22.22" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", "@react-native/babel-preset": "0.74.85", "@react-native/eslint-config": "0.74.85", "@react-native/metro-config": "0.74.85", "@react-native/typescript-config": "0.74.85", "@types/react": "^18.2.6", "@types/react-native-dotenv": "^0.2.2", "@types/react-test-renderer": "^18.0.0", "babel-jest": "^29.6.3", "babel-plugin-module-resolver": "^5.0.2", "eslint": "^8.19.0", "jest": "^29.6.3", "prettier": "2.8.8", "react-test-renderer": "18.2.0", "typescript": "5.0.4" }, "engines": { "node": ">=18" } } PodFile require Pod::Executable.execute_command('node', ['-p', 'require.resolve( "react-native/scripts/react_native_pods.rb", {paths: [process.argv[1]]}, )', __dir__]).strip platform :ios, '12.0' use_frameworks! #use_modular_headers! prepare_react_native_project! linkage = ENV['USE_FRAMEWORKS'] if linkage != nil Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green use_frameworks! :linkage => linkage.to_sym end target 'nexlabts' do config = use_native_modules! use_react_native!( :path => config[:reactNativePath], # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) target 'nexlabtsTests' do inherit! :complete # Pods for testing end post_install do |installer| # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 react_native_post_install( installer, config[:reactNativePath], :mac_catalyst_enabled => false, # :ccache_enabled => true ) end end 제가 아래 에러 3가지에 대해 제가 해본 방법들입니다. 1. node 재설치 node_module 폴더 삭제, package-rock.json 삭제 후 재설치 npm install --legacy-peer-deps yarn install 2. Xcode가 node 읽을 수 있도록 설정 sudo ln -s "$(which node)" /usr/local/bin/node 3. Podfile 내 platform 설정 수정 platform :ios, '12.0' or platform :ios, '14.0' 4. Pods 재설치 rm -rf ~/Library/Developer/Xcode/DerivedData or rm -rf ~/Library/Developer/Xcode/DerivedData/* rm -rf Pods rm Podfile.lock pod install --repo-update Xcode \> Product \> Clean Build Folder. cd ./ios pod cache clean -all pod install --repo-update cd ../ npx react-native run-ios --no-packager --simulator="iPhone 15" or npx react-native run-ios --simulator="iPhone 15" or yarn start > i(run ios) Err 1. cocoaPods 설치할 때 [!] CocoaPods could not find compatible versions for pod "React-RuntimeHermes": In Podfile: React-RuntimeHermes (from ../node_modules/react-native/ReactCommon/react/runtime) Specs satisfying the React-RuntimeHermes (from ../node_modules/react-native/ReactCommon/react/runtime) dependency were found, but they required a higher minimum deployment target. Err2. iOS 실행할때 run-ios --no-packager --simulator="iPhone 15" Build description signature: fc1341421f84b87c5245d346c2c17b66 Build description path: /Users/nowonjae/Library/Developer/Xcode/DerivedData/nexlabts-argvodqcybjfcybstpulfpghnzvm/Build/Intermediates.noindex/XCBuildData/fc1341421f84b87c5245d346c2c17b66.xcbuilddata /Users/nowonjae/Desktop/project/NeXLabRN/ios/nexlabts.xcodeproj:1:1: error: Unable to open base configuration reference file '/Users/nowonjae/Desktop/project/NeXLabRN/ios/Pods/Target Support Files/Pods-nexlabts/Pods-nexlabts.release.xcconfig'. (in target 'nexlabts' from project 'nexlabts') warning: Unable to read contents of XCFileList '/Target Support Files/Pods-nexlabts/Pods-nexlabts-resources-Release-output-files.xcfilelist' (in target 'nexlabts' from project 'nexlabts') warning: Unable to read contents of XCFileList '/Target Support Files/Pods-nexlabts/Pods-nexlabts-frameworks-Release-output-files.xcfilelist' (in target 'nexlabts' from project 'nexlabts') error: Unable to load contents of file list: '/Target Support Files/Pods-nexlabts/Pods-nexlabts-frameworks-Release-input-files.xcfilelist' (in target 'nexlabts' from project 'nexlabts') error: Unable to load contents of file list: '/Target Support Files/Pods-nexlabts/Pods-nexlabts-frameworks-Release-output-files.xcfilelist' (in target 'nexlabts' from project 'nexlabts') 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 'nexlabts' from project 'nexlabts') warning: Run script build phase '[CP] Embed Pods Frameworks' 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 'nexlabts' from project 'nexlabts') error: Unable to load contents of file list: '/Target Support Files/Pods-nexlabts/Pods-nexlabts-resources-Release-input-files.xcfilelist' (in target 'nexlabts' from project 'nexlabts') error: Unable to load contents of file list: '/Target Support Files/Pods-nexlabts/Pods-nexlabts-resources-Release-output-files.xcfilelist' (in target 'nexlabts' from project 'nexlabts') warning: Run script build phase '[CP] Copy Pods Resources' 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 'nexlabts' from project 'nexlabts') --- xcodebuild: WARNING: Using the first of multiple matching destinations: { platform:iOS Simulator, id:B5AA2E84-4F83-4749-A986-A1FCE5E398A3, OS:17.5, name:iPhone 15 } { platform:iOS Simulator, id:B5AA2E84-4F83-4749-A986-A1FCE5E398A3, OS:17.5, name:iPhone 15 } ** BUILD FAILED ** ] Err3. Xcode 로 Build 할때 (Any iOS Simulator Device (arm64, x86_64)) Command PhaseScriptExecution failed with a nonzero exit code

개발자

#reactnative

#xcode

#reactnative-run-ios

답변 1

댓글 0

조회 435

6달 전 · 익명 님의 질문

Spring boot 네이버페이 연동하기

스프링 부트 프로젝트를 개발 중인데 네이버 페이를 붙이려고 합니다. 카카오페이는 WebClient 방법으로 완료 하였구요 네이퍼 페이도 같은 방법으로 구현 하려고 하는데 등록된 파트너가 없습니다로만 나옵니다. 네이버페이 개발자센터에서는 SDK를 제공한다고 되어있어서 이게 프론트단에서 진행 되야하는건지 잘 모르겠습니다. 결제서버를 구축중이라 서버쪽에서만 하려고 하는데 블로그글도 많이없어 찾기가 어렵더라구요ㅠㅠ https://dev.apis.naver.com/{partnerId}/naverpay/payments/v2/payment_ready 경로를 이렇게 보내고 있는데요 {error_code=052, message=?? : Partner does not exists. (등록된 파트너가 없습니다.)} 이런 결과가 반환되고 있습니다.. 무슨 문제인지 해결방법을 알고 계신다면 조언 부탁드릴께요 네이버페이 샌드박스 가맹점의 가맹점 Id를 사용하는데 안되는게 이상합니다...

개발자

#spring-boot

#naver-api

답변 0

댓글 0

조회 134

7달 전 · aigoia 님의 답변 업데이트

제가 코딩에 빨리 발을 빼는게 맞겠죠?

안녕하세요. 24살 코딩에 입문한 사람입니다. 본론을 들어가자면 이제 막 개발자 과정 학원이 끝나가는데 솔직히 기본도 모르는거 같고 sts로 Maven 프로젝트 기반으로 만들었다?만 알고 초기 세팅을 선생님이 잡아주셔서 집에서 다시 해볼려고 해도 이미 노션에는 띄염띄염 적어놔서 제대로 세팅도 못하고 팀 프로젝트때는 gpt만 주구장창 돌려서 ajax랑 sql문만 복붙해서 넣고.. 학원에서는 면접 대비 문제를 내줬는데 제대로 답변 할 수 있는게 하나도 없고 코딩테스트 사이트 들어가서 보면 쉬운것도 맞추지 못합니다. 잡코리아나 사람인 같은 곳에선 리액트랑 Vue.js도 많이 요구하는데 리액트는 맛만 봤고 Git 올리는건 할 줄도 모릅니다. 제가 개발자쪽 길을 걷는게 맞을까요? 지금이라도 알바를 하면서 유튜브 영상을 보며 다시 공부를 할려고 하는데 그냥 빠르게 발을 빼야될지 고민입니다.

개발자

#개발자

#고민

#자바

#java

답변 1

댓글 0

조회 133

7달 전 · 익명 님의 질문

리액트 네이티브 릴리즈로 배포 시 build.gradle 설정대로 동작 안하는 이유가 뭔지 궁긍합니다.

안녕하세요. 현재 리액트 네이티브로 프로젝트를 진행하고 있습니다. 막바지 단계에 거의 도달해서 이제 배포 준비를 하려고 하는데요, 마지막으로 테스트를 하기 위해 stagingRelease 로 apk 를 만들어서 테스트를 하려고 하니, .env.staging 을 읽지를 못하고 있네요. 이상한건 stagingDebug 로 할 때에는 이런 문제가 없었습니다. 지금 환경변수는 루트 디렉토리에 env 폴더가 있고, 해당 폴더 내에는 3개의 환경변수 파일이 존재합니다. .env.development .env.staging .env.production 이렇게 3개 입니다. project.ext.envConfigFiles = [ productiondebug: "env/.env.production", productionrelease: "env/.env.production", developmentrelease: "env/.env.development", developmentdebug: "env/.env.development", stagingrelease: "env/.env.staging", stagingdebug: "env/.env.staging" ] 위의 코드는 제가 설정한 환경변수 매핑하는 부분입니다. 실제로 stagingrelease 로 빌드 시에 flavor 값이 stagingrelease 로 뜨는 걸 확인했습니다. node_modules 에서 react-native-config 폴더를 찾아서 dotenv.gradle 에서 찍으니까 확인이 가능하더라고요. 제가 궁금한 점은 왜 루트에서 .env 파일만을 읽어서 BuildConfig.java 에서 사용하려고 하는걸까요? .env.staging 을 참조하지 않는 이유가 궁금합니다. 아래는 dotenv.gradle 파일입니다. import java.util.regex.Matcher import java.util.regex.Pattern def getCurrentFlavor() { Gradle gradle = getGradle() def pattern = Pattern.compile("(?:.*:)*[a-z]+([A-Z][A-Za-z0-9]+)") def flavor = "" gradle.getStartParameter().getTaskNames().any { name -> Matcher matcher = pattern.matcher(name) if (matcher.find()) { flavor = matcher.group(1).toLowerCase() return true } } println "Current flavor: $flavor" return flavor } def loadDotEnv(flavor = getCurrentFlavor()) { def envFile = project.hasProperty("defaultEnvFile") ? project.defaultEnvFile : ".env" if (System.env['ENVFILE']) { envFile = System.env['ENVFILE'] } else if (System.getProperty('ENVFILE')) { envFile = System.getProperty('ENVFILE') } else if (project.hasProperty("envConfigFiles")) { project.ext.envConfigFiles.any { pair -> if (flavor.startsWith(pair.key.toLowerCase())) { envFile = pair.value return true } } } println "Reading env from: $envFile" def env = [:] File f = new File("$project.rootDir/../$envFile"); if (!f.exists()) { f = new File("$envFile"); } if (f.exists()) { println "Found env file: $f" f.eachLine { line -> def matcher = (line =~ /^\s*(?:export\s+|)([\w\d\.\-_]+)\s*=\s*['"]?(.*?)?['"]?\s*$/) if (matcher.getCount() == 1 && matcher[0].size() == 3) { env.put(matcher[0][1], matcher[0][2].replace('"', '\\"')) // 각 환경 변수 키-값 쌍 출력 println "Loaded env variable: ${matcher[0][1]} = ${matcher[0][2]}" } } } else { println("**************************") println("*** Missing .env file ****") println("**************************") } project.ext.set("env", env) } loadDotEnv() android { defaultConfig { project.env.each { k, v -> def escaped = v.replaceAll("%","\\\\u0025") buildConfigField "String", k, "\"$v\"" resValue "string", k, "\"$escaped\"" println "Set buildConfigField and resValue: $k = $v" } } } 안드로이드 스튜디오 터미널에서 ./gradlew assembleStagingRelease 명령어를 치게 될 경우, Current flavor: stagingrelease Reading env from: .env.staging ************************** *** Missing .env file **** ************************** 이런 로그가 뜨고 있습니다.

개발자

#react-native

#react-native-config

#다중환경변수

#release

답변 0

댓글 0

조회 57

7달 전 · 전재욱 님의 질문

next.js의 캐시와 react query 캐시 질문

next.js와 react query를 사용해 프로젝트를 진행하다가 이해가 안되는 현상이 있어서 질문드립니다. 어떤 A 라는 페이지에 들어오면 포스트와 포스트의 댓글들이 보이는 상황입니다. 첨부한 코드는 A 페이지를 담당하는 page.tsx 코드와 page 에서 사용중인 컴포넌트중 댓글 컴포넌트인 Comments 컴포넌트, 그리고 Comments 에서 useQuery의 queryFn으로 지정한 getComments 함수의 코드입니다. Comments 컴포넌트의 useQuery의 staleTime은 10초로 해두었고, queryFn인 getComments 함수의 fetch는 revalidate를 60초로 해둔 상황입니다. useQuery의 staleTime보다 fetch의 revalidate 시간을 길게 한건 react query로 인한 클라이언트측의 캐시와, next.js의 fetch에 의한 서버 측의 캐시의 차이점을 확인해보려고 그런것입니다. A 페이지에 처음 들어와 page 컴포넌트가 실행되면 ['posts', id, 'comments'] 쿼리로 인해 받아온 댓글(comments) 데이터가 화면에 보입니다. 이 댓글에는 랜덤으로 생성된 이미지가 있습니다. 우선 10초가 지나기 전에는 새로고침에도 기존의 데이터 그대로 보이고, fetch 요청을 받는 백엔드 api에도 요청이 들어오지 않습니다. react query로 인해 쿼리가 실행되지 않아서 그런 것이겠죠? 그러고 10초가 지나 ['posts', id, 'comments'] 쿼리가 stale 상태가 된 후에 A 페이지를 새로고침하면 ['posts', id, 'comments'] 쿼리는 다시 fresh 해지는데 백엔드 api에는 요청이 들어오지 않았더라구요. 화면상의 댓글의 이미지들도 이전과 동일하게 나옵니다. 저는 이게 "A 페이지에 들어와 page 컴포넌트가 실행되면 ['posts', id, 'comments'] 쿼리가 실행되어 fetch 요청이 실행되는데 이 ['posts', id, 'comments'] 쿼리는 서버 컴포넌트에서 프리패치 되는 거니까, 즉 fetch가 서버쪽에서 실행되는 거니까 react query의 캐시가 아닌 fetch의 캐시 설정을 따른다. 그렇기 때문에 ['posts', id, 'comments'] 쿼리가 실행되어 fetch가 실행되지만 fetch의 캐시는 남아있으니까 캐싱된 값을 사용해서 백엔드 api에는 요청이 안들어온것이다." 라고 생각했고 이걸 확인하기위해 새로고침을 해본것이었기 때문에 이 결과에 대해 납득하긴 했는데요.. 이 생각이 맞는건지가 일단 궁금합니다. 그리고 진짜 이해가 안되는건 이겁니다. A 페이지에 들어오고 10초가 지나 ['posts', id, 'comments'] 쿼리가 stale해지면 이번에는 다른 페이지로 이동했다가 A 페이지로 다시 돌아옵니다. A 페이지에서 새로고침을 하지 않고 사이트 내에서 페이지 이동으로 A 페이지에 다시 들어오는거죠. 이러면 백엔드 api에 요청이 들어오더라구요. 이게 왜 그런건지 모르겠습니다. 10초가 지나 ['posts', id, 'comments'] 쿼리는 stale 해졌지만 60초는 안지나서 fetch의 캐시는 유효한... 위의 새로고침 경우와 동일한 상황인데 새로고침 시에는 api로 요청이 안들어오고, 다른 페이지로 이동했다가 다시 돌아온 경우는 api로 요청이 들어오네요. A 페이지에서 새로고침을 하나, 다른 페이지에서 A 페이지로 페이지 이동을 하나, 둘 다 page 컴포넌트가 실행되고 ['posts', id, 'comments'] 쿼리가 서버에서 프리패치되니까 fetch가 서버에서 실행되는거 아닌가요? 근데 왜 새로고침하면 fetch의 캐싱이 적용되는것처럼 백엔드 api로 요청이 안들어오고 페이지 이동 시에는 들어올까요... 이걸 아무리 생각해도 모르겠습니다. 60초가 지난 후에는 새로고침 시에도 백엔드 api로 요청이 들어오더라구요. 이것으로보아 60초 전에는 새로고침 시 요청이 안들어오는게 fetch의 캐시 때문인것도 맞는 거 같은데, 왜 페이지 이동 시에는 60초 전에도 캐싱값을 안쓰고 api로 요청을 보내는지 모르겠습니다. 어떤 메커니즘으로 이렇게 되는것일까요? 아직 Next.js의 캐싱과 react query에 대해 잘 알지 못해서 이해가 안됩니다.. ㅠ 도와주십쇼..!

개발자

#next.js

#react-query

#프론트엔드

답변 0

댓글 0

조회 79

8달 전 · 장성호 님의 새로운 답변

개발 프로그램 질문이요!

이제 팀프로젝트 들어가서 sts3 쓰다가 설정할게 너무 많아서 spring boot 사용하려하는데 실무에서는 IDE 이클립스랑 sts3,boot 중에 뭘 제일 많이 사용하나요? 전에 다운받았던 프로그램들 지우고싶은데 이걸 두고 계속 사용하며 공부해야하는지 궁금해요

개발자

#java

답변 1

댓글 0

조회 32

7달 전 · 김동휘 님의 새로운 답변

웹 개발자 IDE 추천

웹개발자가 되기 위해 공부하고있습니다 학교를 다니며 eclipse나 sts는 학습한경험이있지만 intellij는 경험이 없어서요 또 요즘엔 intellij를 많이 사용한다고 들었습니다 어떤것을 선택해야 할까요? Eclipse vs intellij 어떤걸 선호하시는지 그리고 여러분들은 어떤걸 사용하고 계신가요?

개발자

#idea

#ide

답변 3

댓글 1

조회 215

7달 전 · 카비젤 님의 새로운 댓글

실무에서 쓰는 프로그램

스프링 프레임워크 이용해서 할 때 sts 이클립스로 하는게 좋은가요 아니면 vs Code 이용하는게 더 편리한가요?! 개발 공부한지 4개월 좀 지나고 있어요! 이외에 다른 의견 있으시면 댓글로 달아주세용

투표

개발자

#개발

#개발환경

답변 6

댓글 2

추천해요 1

조회 853

9달 전 · 박정환 님의 새로운 답변

벨로그를 어떻게 유지하는게 좋을까요??

1년 전 처음 개발공부를 시작했을때부터 벨로그에 글을 올려와서 벨로그가 글 무덤이 되어버렸어요 ㅎ 지금이라도 재정비하는 시간을 가져아하는지 아니면 이대로 그냥 가도 될지가 고민입니다. 제 벨로그 주소입니다 https://velog.io/@sseohyun_0v0/posts 먼저 제 벨로그의 문제점은 다음과 같습니다 1. 표준화되어있지 않다 처음에는 별생각없이 쓰다보니 이미지도 없고 제목도 엉망진창입니다.. 2. 퀄리티가 낮은 글들이 많다 일단 가독성이 낮은 글이 많습니다 특히 초기에 작성한 글은 이모티콘 남발로 인한..^^ 도대체 무슨 글인지 안읽힐때가 많습니다. 3. 너무 기초적인 내용이 많습니다. 그리고 그런 글들은 기초적인 내용에서 끝납니다. - 공부를 시작할때부터 써와서 HTML태그와 HTTP 내용도 가득 담겨있습니다. 이런 글들이 읽는 사람으로 하여금 아니 이걸 모른다고..? 생각이 들게 하지 않을까. 걱정이 됩니다. 4. 글의 깊이가 떨어집니다. 제 수준에서는 강의도 보고, 책도 보고 인터넷도 참고하면서 정리했다고 생각했는데 몇달이 지나서 돌아보면 부족한 점이 많이 보이는 것 같습니다. 클론코딩을 하면서 적어둔 글들이 특히 그런데, 따라가는 것에 조급해서 클린코드나 복잡도는 신경을 많이 못쓴게 티가 많이 납니다. 초반에 적었던 글도 마찬가지이고요 5. 위 이유들로 인해 오히려 전문성이 떨어진다. 실제로 떨어지긴합니다. 최근 글의 수준이 딱 제 수준이 맞습니다. 그러나 예전에 작성했던 너무 기본적인 내용의 글과 깊이가 부족한 많은 글 때문에 오히려 저평가 될까봐 걱정입니다. 앞으로는 저는 어떻게 해야할까요? 1. 그냥 유지 한다. 2. 자신 있는 글들은 유지하고 나머지 글들은 지운다. 일년동안의 노력이 담긴글이라 아쉬운 마음도 있긴 합니다. 그러나 지우는게 맞다는 결론이 나면 무조건 지울 생각입니다. 3. 부족한 글들을 보완한다. 음... 이러면 가장 좋겠지만 현실적으로 어렵기도 합니다. 저는 기초를 다져나가는 중에 제 부족한 점을 발견하는 중이라서 보완할 점은 새로 작성하는 글에 담고 있습니다. 내가 잘못알고 있었던 점을 발견해도 해당 내용을 다시 찾아서 수정 보완하기에는 시간이 너무 많이 소요됩니다.. 또한 다른 분들이 생각하시는 좋은 개발 블로그에 대해서 궁금합니다.

개발자

#벨로그

답변 1

댓글 0

조회 252

9달 전 · Top 10 Best Rated 님의 질문

Top 10 Best Rated - Lists of the Best Products, Services and Reviews

Top 10 Best Rated is a comparison platform that brings you useful top 10 lists worldwide covering a wide variety of products and services that can help you save time and money. Visit now https://top10bestrated.com

개발자

#top-10

#best

#rated

답변 0

댓글 0

보충이 필요해요 2

조회 14

9달 전 · 최용빈 님의 답변 업데이트

파이썬 오류 좀 고쳐주세요 ㅠㅠ

import time import requests import streamlit as st API_BASE_URL = "http://localhost:8000/qna" # Fastapi로 api 생성 def request_chat_api(user_message: str) -> str: url = API_BASE_URL resp = requests.post( url, json={ "user_message": user_message, }, ) resp = resp.json() print(resp) return resp["answer"] def init_streamlit(): st.set_page_config(page_title='Dr. KHU', page_icon='🩺') if "messages" not in st.session_state: st.session_state.messages = [{"role": "assistant", "content": "안녕하세요! Dr.seo입니다🩺"}] # Initialize chat history if "messages" not in st.session_state: st.session_state.messages = [] # Display chat messages from history on app rerun for message in st.session_state.messages: with st.chat_message(message["role"]): st.markdown(message["content"]) def chat_main(): if message := st.chat_input(""): # Add user message to chat history st.session_state.messages.append({"role": "user", "content": message}) # Display user message in chat message container with st.chat_message("user"): st.markdown(message) # Display assistant response in chat message container assistant_response = request_chat_api(message) with st.chat_message("assistant"): message_placeholder = st.empty() full_response = "" for lines in assistant_response.split("\n"): for chunk in lines.split(): full_response += chunk + " " time.sleep(0.05) # Add a blinking cursor to simulate typing message_placeholder.markdown(full_response) full_response += "\n" message_placeholder.markdown(full_response) # Add assistant response to chat history st.session_state.messages.append( {"role": "assistant", "content": full_response} ) if __name__ == "__main__": init_streamlit() chat_main() 이 코드를 실행시키면 자꾸 AttributeError: st.session_state has no attribute "messages". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization 라고 뜨네요..

개발자

#파이썬

#python

답변 2

댓글 1

보충이 필요해요 2

조회 334

10달 전 · lepffm 님의 새로운 답변

스프링 STS와 VS code 중 하나만 쓸 수 있다면 뭘 선택하시겠어요?

저는 인텔리제이밖에 써 본 적이 없어서 둘 다 처음부터 적응해야 합니다. 인터넷이 안 되는 폐쇄적인 환경입니다.

투표

개발자

#ide

답변 1

댓글 0

조회 166

일 년 전 · 익명 님의 질문

[STS] mybatis mapper 사이즈 큰(?) xml 파일을 XML Editor로 열면 30초 이상 걸리는 현상 해결법 질문

[STS] mybatis mapper 사이즈가 큰(60KB정도) xml 파일을 XML Editor로 열면 STS가 이상없음 뜨면서 30초 이상 걸리고 난 후 (정확히 45초 정도 걸렸음) 열리는 현상이 있는데 해결 방법 있을까요? 사이즈 작은 xml 파일은 안그러고 50KB 이상? 정도인 xml 파일을 XML Editor로 열면 오래 걸리면서 열리더라고요.. 구글링 해결법 검색해도 잘 안나오고 STS Heap Size 1024M에서 2048M로 늘려도 똑같은 현상이고 폐쇄망이라 STS 써야됩니다.. 겨우 사이즈도 60KB이고 소스 줄도 1300줄 정도인데 왜이러는걸까요? XML Editor로 열고 싶은데 따로 방법이 없을까요?

개발자

#sts

#mybatis

#xml

답변 0

댓글 0

조회 76

일 년 전 · 김태우 님의 새로운 댓글

페이징 기능을 구현할 때, 없는 페이지는 어떻게 처리하나요?

전체 페이지의 개수가 3개인 경우로 가정하고 질문하겠습니다! 만약 /posts?page=-1, /posts?page=10 처럼 음수가 오거나, 없는 페이지의 번호가 오는 경우 어떻게 처리를 해주는게 가장 좋은 방법인지 궁금합니다. 그냥 1 페이지로 보내주는게 가장 좋을까요?? 물론 이전, 다음 버튼은 첫 페이지 or 마지막 페이지인 경우에 비활성화 처리를 해놨습니다!

개발자

#pagination

답변 2

댓글 3

조회 116

일 년 전 · 익명 님의 질문

iOS navigationDestination 버그

File Control 예제를 만들었는데요. navigationDestination를 실기기에서 사용하면 버그가 생깁니다 하위 폴더로 들어가면 그런데 왜그런질 모르겠어요 ㅠㅠ 로그를 찍거나 Break point 걸면 NavigationLink가 렌더링 되는 것 같은데 말이죠 ㅠㅠ 시뮬에서는 잘됩니다. Simulator: 17.2 Device: 16.3.1 Example: https://github.com/ios-swift-examples/iOSFileManagerExample/blob/main/iOSFileManagerExample/screen/FileListScreen.swift

개발자

#ios

#swiftui

#navigation

답변 0

댓글 0

조회 59

일 년 전 · 이창협 님의 질문

타입스크립트 recoil 타입선언에 대한 질문입니다.

안녕하세요. redux를 recoil로 변경하면서 typescript도 같이 사용해보고 있는데 감이 잘 잡히지 않네요 타입스크립트에서 다른타입의 값을 가져와서 비교후 처리해야한다면 어떻게 해야할지 모르겠어서 질문을 드리게 되었습니다. 애초에 이러한 경우는 성립을 하지가 않는걸까요? 컴포넌트에서 deleteTagHandler에서 Tag타입으로 값을 받아와서 setRemoveToNoteTags()로 Tag타입의 매개변수 tag를 전달해주는데요 selector에서는 NotesList의 타입을 지원하고 있어서 그런거 같습니다... 가르침 부탁드리겠습니다 ㅠㅠㅠ 컴포넌트``` const setRemoveToNoteTags = useSetRecoilState(removeTagsSelector); const deleteTagHandler = (tag: Tag): void => { setTagsState({ type: "delete", tagsList: [tag] }); setRemoveToNoteTags(tag); }; ``` selector``` interface NotesList { mainNotes: Note[]; archiveNotes: Note[]; trashNotes: Note[]; editNote: null | Note; } const initialState: NotesList = { mainNotes: [...notes], archiveNotes: [], trashNotes: [], editNote: null, }; export const notesListState = atom({ key: "notesListState", // 고유한 키 default: initialState, // 초기 상태 }); export const removeTagsSelector = selector({ key: "removeTagsSelector", get: ({ get }) => {}, set: ({ get, set }, newValue: Tag) => { const notesList = get(notesListState); const removeTagFromNotes = (notes: Note[]) => { return notes.map((note) => { return { ...note, tags: note.tags.filter(({ tag }) => tag !== newValue.tag), }; }); ...... ```

개발자

#recoil

#react

#typescript

답변 0

댓글 0

조회 37

일 년 전 · 문정동개발자 님의 댓글 업데이트

recoil selector ts 타입선언 에러.

안녕하세요. recoil을 학습중입니다. 아무리 해도 type에러가 자꾸떠서요.. 지금 #으로 표시해둔 selector의 set부분이 에러가 뜹니다. initailState를 임의로 값을 주었구요 지금 현재 Tag[] 로 타입을 정의했습니다. selector의 newValue에 type을 선언안하니까 에러가 뜨더라구요 제 생각에는 initialState가 Tag[] 배열의 형태인데 컴포넌트에서 넘어오는 newValue의 타입은 Tag이기 때문에 에러가 발생하는거같습니다. 그래서 newValue에 타입을 지정해줬더니 에러가 set쪽으로 넘어가더라구요. 임의의 값을 주어도 이런 에러가 발생하진 않아야된다고 생각하는데, 아무리 생각해봐도 도저히 해결이 안되네요.. 도움이 필요합니다. <components> ``` const [tagsState, setTagsState] = useRecoilState(tagsListSelector); const newTag = { tag: inputText.toLocaleLowerCase(), id: v4() }; setTagsState(newTag); ``` <atoms> ``` interface Tag { tag: string; id: string; } const initialState:Tag[] = [ { tag: "AAA", id: v4() }, { tag: "BBB", id: v4() }, { tag: "CCC", id: v4() }, ]; export const tagsListState = atom({ key: "tagsListState", default: initialState, }); export const tagsListSelector = selector({ key: "tagsListSelector", get: ({ get }) => { return get(tagsListState); }, #set#: ({ set, get }, newValue: Tag) => { const currentTagsList = get(tagsListState); if (currentTagsList.find(({ tag }) => tag === newValue.tag)) { toast.warning("이미 존재하는 태그입니다."); } else { set(tagsListState, [...currentTagsList, newValue]); toast.info("새로운 태그가 등록되었습니다."); } }, }); ```

개발자

#react

#typescript

#recoil

답변 1

댓글 2

조회 80

일 년 전 · 고건 님의 새로운 댓글

nginx 관련 질문 있습니다 ㅠㅠ

안녕하세요, 현재 프로그래밍을 공부하고 있는 학생입니다. 공부를 하던 중 django를 사용해 프로젝트를 진행했고 aws, nginx, uwsgi 로 배포를 진행하게 되었는데, 배포는 성공적으로 됐지만 처리해야할 데이터가 많은 기능을 사용하면 자꾸 아래 오류가 뜨더군요. (퍼블릭 ip 주소는 X로 가렸습니다) 2023/11/07 15:14:13 [error] 7487#7487: *1 upstream timed out (110: Unknown error) while reading response header from upstream, client: xx.xxx.xxx.xxx, server: _, request: "POST /file_upload/upload/ HTTP/1.1", upstream: "uwsgi://unix:/home/ubuntu/docusift/uwsgi.sock", host: "xx.xxx.xxx.xx", referrer: "http://xx.xxx.xxx.xx/success_with_token/WeDkQYs84hDYcDsl/" 구글링을 해봐도, 스택오버플로우를 찾아봐도 110 오류가 unknown error로 뜨는 것에 대한 해결책은 나오지 않아서 이렇게 여쭤보게 되었습니다. 다만 구글링을 해본 결과 설정을 따로 만져줘야 한다는 것을 봐서 설정은 아래처럼 해놓은 상태인데, 아직 해결은 되지 않은 상황입니다. [uwsgi] chdir=/home/ubuntu/docusift/blog module=blog.wsgi:application master=True pidfile=/tmp/project-master.pid vacuum=True max-requests=5000 daemonize=/home/ubuntu/docusift/debug_uwsgi.log home=/home/ubuntu/docusift/venv virtualenv=/home/ubuntu/docusift/venv socket=/home/ubuntu/docusift/uwsgi.sock chmod-socket=666 socket-timeout=600 harakiri = 300 http-timeout = 300 server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { include /etc/nginx/uwsgi_params; uwsgi_pass django; proxy_buffer_size 512k; proxy_buffers 16 512k; proxy_busy_buffers_size 1024k; proxy_connect_timeout 500s; proxy_send_timeout 500s; proxy_read_timeout 500s; send_timeout 500s; } location /static/ { alias /home/ubuntu/docusift/blog/staticfiles/; } http { upstream django { server unix:/home/ubuntu/docusift/uwsgi.sock; } client_max_body_size 100M; proxy_connect_timeout 800s; proxy_send_timeout 800s; proxy_read_timeout 3600; 혹시라도 해결 방법을 아시는 분들 답변 주시면 정말 감사하겠습니다!!!

개발자

#배포

#aws

#ubuntu

#nginx

#uwsgi

답변 1

댓글 1

조회 173

일 년 전 · 박범수 님의 답변 업데이트

django를 열기 위한 ubuntu 서버

안녕하세요 만으로 2년이 조금 안 되는 경력을 갖고 있는 백엔드 개발자입니다. 회사의 서비스를 운영하면서 프론트엔드를 제외한 모든 개발 업무들을 도맡아 해왔는데요 서버 부분은 매번 상황이 터질 때마다 그 상황들을 해결해나가면서 조금씩 성장하는건가 라는 느낌만 받고 있었습니다. 사수분도 따로 없고, 주변에 서버 관련한 시니어분도 없어서 이렇게 질문을 넣게 되었습니다. python django - gunicorn/uvicorn - nginx 이렇게 서버단을 구성하고 있습니다. 초반에는 서버에 관한 지식이 전무하여서 그냥 부팅만 시켜주면 되는건가 했는데, 메모리 누수에 관한 내용을 접하고 우리 서비스도 이런 이유 때문에 셧다운되면 곤란하겠다 싶어서 gunicorn.service에 --max-requests와 --max-requests-jitter를 걸어서 조금이나마 서버가 터지는 일이 없도록 하려고 했습니다. 그렇게 max-requests는 70으로, jitter는 50으로 해서 정말 적은 요청 값을 받고 워커를 리로드하고 하는 식으로 반복을 했는데, 이마저도 버티지를 못하는지 잘 작동해오다가 한 3분? 동안에 갑자기 메모리 사용량이 폭증을 해버렸네요.. 평소에 30~50퍼대의 메모리 사용량을 유지하고 있기에, 절대적인 서버의 사이즈가 문제라고는 생각되지 않았습니다. 그리고 시스템의 로그를 찾아봐도(/var/log/syslog) 특별한 로그가 찍히지 않아서 그냥 답답하기만 했습니다.. 어떤 사유들 때문에 순간적으로 메모리 사용량이 폭증해서 oom-kill이 발생하는지 원인들도 알고 싶고, 그러한 부분들을 막을 수 있는 방법들이 뭐가 있는지도.. 그냥 시니어분들의 조언을 듣고 싶습니다 ㅠㅠ

개발자

#server

답변 1

댓글 0

조회 89

일 년 전 · 익명 님의 질문 업데이트

프론트엔드 개발자를 지망하는 취준생인데 이력서에 뭐가 부족한 것일까요?

5월 19일에 국비 부트캠프를 수료한 후 현재까지 5개월 동안 구직 활동을 하고 있는 취준생입니다. 현재까지 100군데 넘게 스타트업, 중소, 중견, 대기업 가리지 않고 다 지원했는데 면접은 커녕 서류 통과가 되는 곳이 한 군데도 없습니다. 취업에 먼저 성공했던 동료 취준생과 디스코드의 개발자 커뮤니티를 통해 이력서를 수정하고 있는데 현재 맞게 진행되고 있는지 긴가민가 합니다. 그래서 여기 계시는 현직자 분들한테 피드백 요청드리고자 합니다. 가감없는 솔직한 평가 부탁 드리겠습니다. 1. 이력서 제목: '이력서 | 안녕하세요, 정연준입니다!' -부족해도 멈추지 않는 개발자 -아는 것과 모르는 것을 구분할 줄 아는 개발자 2. 자기 소개: `안녕하세요, 신입 React 프론트엔드 개발자 정연준입니다. -시행 착오를 통해 성장해나갑니다. -잘하는 것과 부족한 것을 구분하여 잘하는 것을 부각시키고, 부족한 것을 채울려고 노력하는 개발자가 될려고 합니다. -좋은 서비스와 더불어 사용자가 편하게 이용할 수 있는 서비스를 만드는 것을 목표로 하고 있습니다. ` 3. 개발 직무: 프론트엔드 개발자 4. 프로젝트: -기간: 2023.04.17 ~ 2023.05.19 -서비스 제목: One-Line -한 줄 요약: AI모델이 사용자가 작성한 게시글을 한 줄 요약 및 제목 생성 -프로젝트 종류: 팀 프로젝트 -역할: 프론트엔드 파트(메인 페이지 게시글 목록 전체 조회, 인증 페이지 구현) *메인페이지 게시글 목록 전체 조회 1) Trending 섹션 2) Recent Posts 섹션 *메인 헤더(Global Navigation 메뉴) *인증 페이지에 Firebase Authentication 기능 적용 5. 교육 이력: -기간: 2022.11.28 ~ 2023.05.19 -주관 기관: 엘리스 -교육 프로그램 이름: 엘리스 AI트랙 6기 -학습한 기술 스택: React, Express.js, MongoDB, HTML5, CSS3, JavaScript, GitLab, Python, MySQL, TensorFlow, Pandas, Node.js -세부 사항 *JavaScript 1) JavaScript 기초 2) 싱글 스레드, Event, Promise 개념 숙지 *React 1) React 기초 *Express.js 1) Express.js 기초 *MongoDB + Mongoose 1) DBMS 기초 2) MongoDB, Mongoose 기초 *데이터 분석 1) Python, SQL 기초 2) Pandas 기초 *인공지능 1) 데이터 과학 기초 2) 이미지 처리 기초 6. 링크 -프로젝트 링크: https://10team.vercel.app/ -프로젝트 시연 영상: https://drive.google.com/file/d/16Qni0swyC8HbAY2iqnEy5QWze9ianjln/view?usp=sharing -개인 블로그: https://chadolbaegi128.tistory.com/

개발자

#프론트엔드-취준

#react

#javascript

답변 3

댓글 5

추천해요 7

보충이 필요해요 1

조회 2,247

7달 전 · 백승윤 님의 새로운 답변

서버 운영중에 궁금증이 생겼는데 이 로그는 해킹시도인가요?

django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'pingjs.qq.com'. You may need to add 'pingjs.qq.com' to ALLOWED_HOSTS. 2023-10-03 05:09:32,644 [ERROR] django.security.DisallowedHost: Invalid HTTP_HOST header: 'pingjs.qq.com'. You may need to add 'pingjs.qq.com' to ALLOWED_HOSTS. Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/usr/local/lib/python3.9/site-packages/django/utils/deprecation.py", line 133, in __call__ response = self.process_request(request) File "/usr/local/lib/python3.9/site-packages/django/middleware/common.py", line 48, in process_request host = request.get_host() File "/usr/local/lib/python3.9/site-packages/django/http/request.py", line 167, in get_host raise DisallowedHost(msg) django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'pingjs.qq.com'. You may need to add 'pingjs.qq.com' to ALLOWED_HOSTS. 2023-10-03 05:09:32,646 [WARNING] django.request: Bad Request: /ping.js 2023-10-03 05:09:32,646 [WARNING] django.request: Bad Request: /ping.js 2023-10-03 05:38:50,055 [WARNING] django.request: Not Found: /wp-admin/setup-config.php 2023-10-03 05:38:50,055 [WARNING] django.request: Not Found: /wp-admin/setup-config.php 2023-10-03 05:38:55,464 [WARNING] django.request: Not Found: /wp-admin/install.php 2023-10-03 05:38:55,464 [WARNING] django.request: Not Found: /wp-admin/install.php 2023-10-03 05:39:03,014 [WARNING] django.request: Not Found: /readme.html 2023-10-03 05:39:03,014 [WARNING] django.request: Not Found: /readme.html 2023-10-03 05:39:12,407 [WARNING] django.request: Not Found: /license.txt 로그를 까보면 이런식으로 무언가 요청을 엄청 많이 하더라구요 ?? 방지하는 방법이라던가 혹시 어떻게 대처해야할지 아시는분이 있을까요 ..?

개발자

#django

#nginx

답변 2

댓글 0

추천해요 1

조회 661

일 년 전 · 정하승 님의 질문 업데이트

api의 첫번째 호출 이후부터 antd Button 렌더링 안되는 이슈가 있습니다.

```jsx import { Popover, Modal, Button, Image, Result } from "antd"; const [prevImg, setPrevImg] = useState(["any"]); const [loading, setLoading] = useState(false); const [removeImgFiles, setRemoveImgFiles] = useState([]); const combinePrevImages = (prevImages, newImages) => { const combinedImages = [...prevImages, ...newImages]; return combinedImages; }; useEffect(() => { const postSeg = async () => { try { const res = await axios.post( "apiurl", { filepath: filePath, clips: sortableList.map(list => `${list.seg.start}-${list.seg.end}`), frame: frameValue }, { proxy: false } ); return res.data; } catch (error) { console.error("Error posting segments:", error); return []; } finally { setLoading(false); } }; const postSegments = async () => { if (segments[0]?.start === 0 && segments[0]?.end === 0) return; if (sortableList && filePath) { setLoading(true); const res = await postSeg(); const combinedPrevImg = combinePrevImages(prevImg, res.results); setPrevImg(combinedPrevImg); console.log("Post Request Success"); } }; postSegments(); }, [filePath, segments, frameValue]); const handleModalOpen = useCallback(() => setModalOpen(true), []); const handleModalClose = useCallback(() => { setRemoveImgFiles([]); setModalOpen(false); }, []); const handleDeleteButtonClick = async () => { if (removeImgFiles.length > 0) { setPrevImg([...removeImgFiles]); setRemoveImgFiles([]); } else { const result = await showSwal({ title: "Are you sure delete?", showCancelButton: true, confirmButtonText: "Confirm", cancelButtonText: "Cancel", confirmButtonColor: "#3085d6", cancelButtonColor: "#d33" }); if (result.isConfirmed) { setRemoveImgFiles([...prevImg]); setPrevImg([]); } const success = await Promise.all(removeImgFiles.map(deleteFiles)); return success; } } const handleRemoveFinish = async () => { if (removeImgFiles) { for (const filePath of removeImgFiles) { try { await removeFile(filePath); } catch (e) { console.log("File Remove Error", e); } } } setRemoveImgFiles([]); handleModalClose(); }; return ( <motion.div initial={{ x: width }} animate={{ x: 0 }} exit={{ x: width }} transition={mySpring} > <div style={{ fontSize: 12, padding: "0 5px", color: "var(--gray12)", display: "flex", justifyContent: "space-between", alignItems: "center" }} > <FaAngleRight title={t("Close sidebar")} size={20} className="angle-right" role="button" onClick={toggleSegmentsList} /> {header} <FaExpandArrowsAlt title={t("Image Inspection")} size={18} className="expand-arrow-alt" style={{ cursor: "pointer" }} role="button" onClick={!loading ? handleModalOpen : handleModalClose} /> <Modal title={t("Image Inspection")} centered onCancel={handleModalClose} open={modalOpen} footer={[]} width="100%" > <div className="imagecontainer"> <Button danger className="toggle-remove" onClick={handleDeleteButtonClick}> {removeImgFiles.length > 0 ? "Add" : "Remove"} </Button> {prevImg?.length > 10 && prevImg.map(img => ( <Popover key={img}> {removeImgFiles?.includes(img) ? ( <span> <Result className="result" icon={<FaSmile />} subTitle="delete" /> </span> ) : <Image key={uuidv4()} src={img} preview={{ src: img }} alt={uuidv4()} /> )} </Popover> ))} </div> <Button block onClick={handleRemoveFinish}> Finish </Button> </Modal> </div> ) ``` api 호출을 통해 frameValue 개수(여기서는 12개씩) 만큼 이미지를 렌더링 하고 있는데 두번째 호출부터는 Button이 렌더링되지 않아서 어디가 잘못됐는지 알고싶습니다.. 필요한 부분이 imagecontainer 클래스네임인 div를 렌더링 해야합니다.

개발자

#react

답변 0

댓글 0

조회 81

2년 전 · 장성호 님의 새로운 답변

mysql 관련오류

0 8 09:46:09 create table week( name varchar(30) not null,-- 일정 이름 start_time time default '10:00:00',-- 시작 시간 end_time time default '16:00:00',-- 끝나는 시간 number tinyint auto_increment primary key, check (start_time<end_time) ) Error Code: 1050. Table 'week' already exists 0.000 sec

개발자

#mysql

답변 1

댓글 0

조회 134

2년 전 · 장형주 님의 새로운 답변

파이썬 requests.get에서 params에 dictionary 적용하는 방법!!

파이썬에서 requests.get 메소드로 API 요청 보낼 때 params에 dictionary 는 어떻게 적용할 수 있나요 ㅠㅠ 제 생각에는 params에 unicode를 넣는 방식이 문제인 것 같긴 한데....

개발자

#python

#api

#request

답변 2

댓글 0

조회 347

2년 전 · ㅇㅅㅇㅇㅅㅇ 님의 새로운 답변

useQuery 응답 순서 문제 (query key의 일부가 다른 경우)

useQuery에서 API 호출에 필요한 parameter 가 달라지는 경우에 query key의 일부를 변경하여 재호출을 하는 것으로 알고 있는데요. useQuery({ queryKey: [ reactQueryKeys.search, searchParams, ], queryFn: () => requestSearch( searchParams, ), }) (여기서 searchParams 가 상태 값이어서 달라지는 값입니다.) parameter만 다르고 찌르는 곳이 같은 API 요청을 2번 연속으로 한다고 했을 때, 첫 번째 요청과 두 번째 요청의 결과가 요청한 순서대로 오는 것을 보장할 수 있을까요? 제가 느끼기에는 첫 번째 요청과 두 번째 요청이 서로 독립적으로 동작한다고 느껴졌거든요. 만약 응답 순서를 보정하지 않는다면 보장할 수 있는 방법이 있을지 궁금합니다. 검색어 자동완성이나, 지도를 움직일 때마다 API 요청을 하는 경우 응답 순서 문제가 발생할 수 있을 것 같아서요.

개발자

#react

#tanstack-query

#react-query

답변 2

댓글 0

조회 308

2년 전 · 커리어리 AI 봇 님의 새로운 답변

리액트에서 데이터 불러올 때 오류

안녕하세요, react에서 데이터를 불러오고 있습니다. 코드에서 res.data를 return 값에서 불러오려고 하는데요, {posts && posts.map(post => <p key={post.id}>{post.title}</p>)} 이렇게 불러오면 에러가 뜹니다 ㅠㅠ 어떤 부분이 잘못되었는지 말씀해 주시면 감사하겠습니다..!

개발자

#react

#axios

답변 2

댓글 0

조회 370

일 년 전 · 김규혁 님의 질문 업데이트

맥북M1 embedded redis 적용질문

안녕하세요 spring 에 대해 공부 중인 취준생입니다 M1 을 사용중인데 계속 에러가 발생해서 찾아보니 embedded 는 m1 이 지원이 안된다고 하더라구요 https://da-nyee.github.io/posts/how-to-use-embedded-redis-on-m1-arm/ 이 링크 방법대로 진행하면 가능하다고 하는데 마지막에 나와있는 EmbeddedRedisConfiguration 부분이 잘 이해가 가지 않습니다.. 코드를 그냥 복붙하자니 에러뜨는 부분 전부 import 를 해도 에러가 발생하고 도저히 뭐가뭔지 모르겠네요… 혹시 최대한 간단하게 해결방법 좀 알려주실 수 있으신분 계실까요… 이것만 며칠을 붙잡고 있더니 멘탈이 너덜너덜해지네요.. 콘솔에는 Suspect RAM error? Use redis-server —test-memory to verify it. 라고 나옵니다

개발자

#java

#spring

답변 1

댓글 0

조회 369

2년 전 · 커리어리 AI 봇 님의 새로운 답변

코인마켓캡은 어떻게 많은 양의 데이터를 계속 업데이트하는 걸까요

React query 연습할겸 업비트api로 코인리스트를 만들어 보고있는중 입니다. 그냥 단순히 리스트만 나오는게 아니라 현재가, 변동률, 변동가격 시각총액등 데이터를 코인마켓캡처럼 1초단위로 계속 업데이트 해주고 싶은데 한번에 보는 코인리스트의 수가 10개만 넘어가도 too many requests경고문이 뜨네요... 그래서 Pagnation으로 코인리스트 개수를 10개로 합의보고 refeting을 1초단위로해봤는데 페이지를 바꿀때 어김없이 too many requests가 떠버리네요... 업비트api 특성상 꼭 url에 코인이름을 담아 보내야하고(코인전체 정보 가져오기 불가능) 제가 필요한 데이터들이 두개의 api에 나눠져있어서(코인정보 api, 코인 분봉 정보 api) 코인 하나의 정보가 필요하면 fetching을 두번하는 꼴이라(코인 10개면 fetching 20번...) 이해하긴 하지만 코인마켓캡이나 다른 코인거래소들은 어떻게 그렇게 많은 양의 데이터를 계속 업데이트하는데 too many requests가 안뜰까요? 분명 저가 알지못하는,놓친 무언가가 있는거 같은데 감을 못잡겠네요... 원리가 궁금합니다.

개발자

#react

#react-query

#javascript

답변 3

댓글 2

추천해요 1

조회 900