코드의 내용을 보자면 admin에서 action을 이용해 여러개의 쿼리셑을 받아 각각을 한번씩 처리합니다. @admin.display(description=f"지정 주문결제를 취소합니다.") def make_cancel(self, request, queryset): for order in queryset: order.cancel("관리자가 주문결제를 취소했습니다.") self.message_user(request, f"{queryset.count()}개의 주문결제를 취소했습니다.") 그런데 Order의 cancel()에서 orderpayment_set, 즉 manytomany 중계 테이블내 모든 관련한 결제 내역을 가져와 cancel을 시도합니다. 결제 가능 여부를 확인하는 코드에서 보자면 def can_pay(self) -> bool: return self.status in (self.Status.REQUESTED, self.Status.FAILED_PAYMENT) 두 가지 조건만 있습니다. 실패했거나, 성공한 경우 입니다. 때문에 DB에는 관련한 주문이 여러간의 실패 + 1건의 성공의 이력인데 굳이 모든 이력을 가져와 cancel을 하는 이유가 무엇인지 알고 싶습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 데이터 소스로 HikariDatasource를 사용하면 트랜잭션 매니저를 통해 트랜잭션을 시작할 때 커넥션을 획득하게 되는데 이 때 획득하는 커넥션은 커넥션 풀에서 하나 가져와서 트랜잭션 동기화 매니저에 넘겨주는거죠?
2025 시나공 빅데이터 분석기사 실기 교재를 가지고 공부하고 있습니다. p.245 / 04.데이터 전처리 / 레이블 인코딩 관련 문의입니다. 결측치를 가지는 object 컬럼의 경우 레이블 인코딩을 하는 경우 "결측치"를 하나의 값으로 분류하는 거 같습니다. 이러한 경우 레이블 인코딩 후 결측치가 존재하지 않는 것으로 결과가 나옵니다. 문의) 결측치를 포함한 object 타입의 컬럼의 경우 결측치 변환 후 레이블 인코딩을 진행하는 게 맞는지? 결측치와 관계없이 레이블 인코딩을 진행하는 게 맞는지? 문의드립니다.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 관련 질문들 찾아보고 다 따라해봤습니다. 인텔리제이 캐시삭제부터 webapp아래 WEB-INF폴더를 만들고 application.properties 에 따로 설정을 하는거까지 정말 다~~~해보았으나 아래 사진들처럼 white label에서 벗어날 수가없습니다. 이전 강의들의 index파일들도 전부 resources아래 static에 만들지않으면 whitelabel이 떴습니다. 정말 어떻게 해야할까요 앞으로도 강의 진행을 해야되는데 너무 답답하네요
133 <ipython-input-75-22be5135b79e>:17: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)` df['f3'] = df['f3'].replace('vip',3) 133 정답 아래 이것이 어떤 에러 메시지인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용]@GetMapping("/add") public String addForm(@ModelAttribute("member")Member member, Model model){ model.addAttribute("member", member); return "members/addMemberForm"; } @PostMapping("/add") public String save(@Validated @ModelAttribute("member")Member member, BindingResult br){ if(br.hasErrors()){ return "members/addMemberForm"; } m emberRepository.save( member); return "redirect:/"; } 이렇게 되어있으면 if(br.hasErrors()){ return "members/addMemberForm"; } 이 경우 즉 잘못 입력되어 @Validated에 걸린 경우 해당 틀린 폼을 유지 및 경고 창을 띄운 form을 다시 사용자에게 보여주는 것으로 알고 있는데 이 때 @GetMapping으로 다시 들어가서 폼을 사용자에게 보여주는 것인지 아니면 또 @PostMapping으로 실행되는 것인지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기서는 form방식을 바탕으로 로그인 기능을 구현하는 법을 알려주셨는데 api 방식으로 할 때 로그인, 보안 기능을 만들 때도 강의에서 알려주신 내용과 개념 및 구현원리 적으로는 유사하게 코드를 작성하면 될까요?
코드로 배우는 React with 스프링부트 개정판3 영는 React with 스프링부트 개정판3 영풍문고 IT 코너에 메인으로 전시되어 있네요. 최근 개정판 맞죠? 너무 반가워서 ^^ 응원 하러 왔어요 ^^ 스프링 mvc의 기초를 다져준 이 강의에 꽤나 인상이 깊었나 봐요 ^^ 이어서 Reactor, webflux 강의도 기대해 봅니다 ^^)*
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
수업한 것을 보고 새롭게 만들었어요! 근데 사이트에서 자꾸 이게 떠요 RateLimitError : You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors . Traceback: File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\streamlit\runtime\scriptrunner\exec_code.py", line 88, in exec_func_with_error_handling result = func() File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\streamlit\runtime\scriptrunner\script_ runner.py ", line 579, in code_to_exec exec(code, module.__dict__) File "C:\Users\a0108\OneDrive\바탕 화면\creative\ creative.py ", line 76, in <module> main() File "C:\Users\a0108\OneDrive\바탕 화면\creative\ creative.py ", line 48, in main st.info (askGpt_mart(prompt)) File "C:\Users\a0108\OneDrive\바탕 화면\creative\ creative.py ", line 6, in askGpt_mart response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt) File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_resources\chat_ completion.py ", line 25, in create return super().create(*args, **kwargs) File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_resources\abstract\engine_api_ resource.py ", line 153, in create response, _, api_key = requestor.request( File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_ requestor.py ", line 298, in request resp, got_stream = self._interpret_response(result, stream) File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_ requestor.py ", line 700, in _interpret_response self._interpret_response_line( File "C:\Users\a0108\OneDrive\바탕 화면\creative\creative_env\lib\site-packages\openai\api_ requestor.py ", line 765, in _interpret_response_line raise self.handle_error_response( 코드는 이렇게 짜여 있어요! import openai import streamlit as st def askGpt_mart(prompt): messages_prompt = [{"role": "system", "content": "친절하고 과학에 대해 깊게 알고 있는 다정한 과학자야. 그래서 답변할 때 다정하고 구체적으로 답변하고 단어가 어려우면 단어의 대체언어도 같이 나태내줘"},{"role":"user","content": f"{prompt}에 대한 실험 도구와 재료를 알려줘"}] response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt) gptResponse = response["choices"][0]["message"]["content"] return gptResponse def askGpt_method(prompt): messages_prompt = [{"role": "system", "content": "너는 똑똑하고 친절한 과학자야. 그래서 실험 방법을 구체적으로 쉽게 설명해주고 어려운 단어는 쓰지 않아."},{"role":"user","content": f"{prompt}에 대한 실험 방법을 알려줘"}] response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt) gptResponse = response["choices"][0]["message"]["content"] return gptResponse def askGpt_dev(prompt,prompt1,prompt2,prompt3): messages_prompt = [{"role": "system", "content": "너는 똑똑하고 친절하고 섬세한 과학자야. 원래 실험 방법에서 사용자의 환경을 고려하여 적절하게 실험 방법을 바꿔서 구체적이고 세세하게 알려주는 과학자야."},{"role":"user","content": f"나는 {prompt}에 대한 실험을 할거야. 하지만 나는 {prompt1}이 없어. 그래서 {prompt1}은 쓰지 못해. {prompt1}을 사용하는 실험 방법을 바꾸되 성공하게 하는 실험 방법을 알려줘 나는 {prompt2}에서 실험을 진행할 거야. 상황과 환경에 맞는 실험 방법을 부탁해. 또 {prompt3}(이)라는 추가적인 환경과 조건이 있으니까 이 모두를 적절히 고려해서 완전히 구체적이고 세부적이고 자세한 실험 방법을 알려줘" }] response = openai.ChatCompletion.create(model='gpt-4o-mini', messages=messages_prompt) gptResponse = response["choices"][0]["message"]["content"] return gptResponse def askGpt(prompt): messages_prompt = [{"role": "system", "content": "너는 청자가 이 실험을 처음 하는 사람인 것을 알아서 이 실험이 실패할 수 있는 일을 구체적이고 자세하게 설명하면서 그러지 않기 위해서 어떻게 해야하는지 답하는 과학자야"},{"role" : "user", "content":f"{prompt}에 대한 실험 주의사항을 구체적으로 알려줘"}] response = openai.ChatCompletion.create(model='gpt-3.5-turbo', messages=messages_prompt) gptResponse = response["choices"][0]["message"]["content"] return gptResponse def main(): with st.sidebar: # Open AI API 키 입력받기 open_apikey = st.text_input(label='OPENAI API 키', placeholder='Enter Your API Key', value='',type='password') # 입력받은 API 키 표시 if open_apikey: openai.api_key = open_apikey st.markdown('---') st.header("AI 실험 도우미 ⚗️") st.markdown("---") ex_name = st.text_input("실험 이름",placeholder="거울 구리 실험, 나트륨 폭발 실험, 코끼리 실험...") co1,co2 = st.columns(2) with co1: if st.button("실험 도구 및 재료 안내"): prompt = ex_name st.info(askGpt_mart(prompt)) with co2: if st.button("실험 방법 안내"): prompt = ex_name st.info(askGpt_method(prompt)) st.markdown("===") col1,col2,col3 = st.columns(3) with col1: no_mar = st.text_input("없는 준비물",placeholder="유리막대, 비이커, 전자현미경...") with col2: where = st.text_input("장소",placeholder="집, 학교 실험실, 대학 생명과학 실험실...") with col3: add = st.text_input("추가 정보",placeholder="습도를 바꾸지 못함, 기온이 20도 이상으로 올라가지 않음...") if st.button("AI 실험 도우미"): prompt,prompt1,prompt2,prompt3 = ex_name,no_mar,where,add st.info(askGpt_dev(prompt,prompt1,prompt2,prompt3)) if st.button("주의사항"): prompt = ex_name st.info(askGpt(prompt)) if __name__=='__main__': main()