묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨코어 자바스크립트
return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.
선생님 안녕하세요.아래 코드에서 궁금한 점이 있습니다.function user(_name) { var _logged = true; return { get name() { return _name }, set name(v) { _name = v }, login() { _logged = true }, logout() { _logged = false }, get status() { return _logged ? 'login' : 'logout'; } }}var roy = user('재남');[질문 ①]제가 알기로 return 문은 하나의 객체만 리턴할 수 있는 걸로 알고 있습니다. 따라서 return { } 안에 있는 get, set, login, logout 함수들을 임의의 주소값 100번지에 담아서 리턴한다고 생각해도 될까요?[질문 ②] 위와 같은 문법을 객체 리터럴 반환이라고 부르나요?[질문 ③] 만약 return문 안에 있는 get, set, login, logout 함수들을 넣지 않고 동일한 동작을 하는 함수를 만든다면 어떻게 코드를 작성할까?.... 문법이 이상해서 잘 이해가 되지 않아서 질문드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
패킷직렬화 암호
간결하게 얘기하자면 패킷직렬화하고 클라나 서버로 보낼떄 패킷을 암호화처리를 하여서 보내야하는것으로 알고있는데 Protobuf에서 자체적으로 암호화처리를 하고 보내는건가요? 아니면 Protobuf와 별개로 암호화처리를 해줘야하는건가요?
-
미해결
-2147417851, '서버에서 예외 오류가 발생했습니다. 문제해결
안녕하세요, 일코님.엑셀 파일의 각 시트의 데이터를 읽어와서,한글 보고서에 표로 넣는 자동화를 해보려고 시도 중입니다. 첫 번째 표는 잘 들어가는데,두 번째 표를 돌리면 계속 아래 오류가 나면서 진행이 안되네요.x0x1x0.py", line 35, in Execute return self._oleobj_.InvokeTypes(15001, LCID, 1, (11, 0), ((8, 1), (9, 1)),actname ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pywintypes.com_error: (-2147417851, '서버에서 예외 오류가 발생했습니다.', None, None) Retrying in 5 seconds... Creating table with rows: 4 and columns: 4 Error inserting table (attempt 3): (-2147417851, '서버에서 예외 오류가 발생했습니다.', None, None) Error type: <class 'pywintypes.com_error'> Error args: (-2147417851, '서버에서 예외 오류가 발생했습니다.', None, None) Traceback: Traceback (most recent call last): File "c:\StartCoding\직부캠결과보고서자동화.py\직부캠결과보고서.py", line 33, in insert_table_in_hwp hwp.HAction.Execute("TableCreate", hwp.HParameterSet.HTableCreation.HSet) File "C:\Users\김유빈\AppData\Local\Temp\gen_py\3.12\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0.py", line 35, in Execute return self._oleobj_.InvokeTypes(15001, LCID, 1, (11, 0), ((8, 1), (9, 1)),actname ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pywintypes.com_error: (-2147417851, '서버에서 예외 오류가 발생했습니다.', None, None) 코드를 GPT로 수정해보면,첫 번째 표의 마지막 셀에 두 번째 표의 모든 내용이 붙는 것은 가능한데,첫 번째 표를 만들고 그 닫음에 새로운 줄에서 두 번째 표가 붙는 게 계속 안됩니다. 혹시, 해당 문제를 해결할 수 있는 방법이 있을까요?ㅠㅠ 아래 내용은 제가 사용한 전체 코드입니다.import os import pandas as pd import win32com.client as win32 import time import traceback def get_latest_download(): downloads_path = os.path.join(os.path.expanduser('~'), 'Downloads') files = [os.path.join(downloads_path, f) for f in os.listdir(downloads_path) if f.endswith('.xlsx') or f.endswith('.xls')] latest_file = max(files, key=os.path.getctime) return latest_file def read_excel_data(file_path): if file_path.endswith('.xlsx'): xl = pd.ExcelFile(file_path, engine='openpyxl') elif file_path.endswith('.xls'): xl = pd.ExcelFile(file_path, engine='xlrd') else: raise ValueError("지원되지 않는 파일 형식입니다. .xls 또는 .xlsx 파일을 사용해주세요.") return xl def clean_data(data): return data.astype(str).apply(lambda x: x.str[:1000]) def insert_table_in_hwp(hwp, data, max_retries=3): for attempt in range(max_retries): try: rows, cols = data.shape print(f"Creating table with rows: {rows} and columns: {cols}") hwp.HAction.GetDefault("TableCreate", hwp.HParameterSet.HTableCreation.HSet) hwp.HParameterSet.HTableCreation.Rows = rows hwp.HParameterSet.HTableCreation.Cols = cols hwp.HAction.Execute("TableCreate", hwp.HParameterSet.HTableCreation.HSet) for i in range(rows): for j in range(cols): if i != 0 or j != 0: hwp.Run("MoveRight") cell_value = str(data.iloc[i, j]) hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = cell_value hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) print("Table inserted successfully.") return except Exception as e: print(f"Error inserting table (attempt {attempt + 1}): {e}") print(f"Error type: {type(e)}") print(f"Error args: {e.args}") print("Traceback:") traceback.print_exc() if attempt < max_retries - 1: print(f"Retrying in 5 seconds...") time.sleep(5) else: print("Max retries reached. Moving to next sheet.") def move_cursor_outside_table(hwp): # Move the cursor outside the table hwp.HAction.Run("MoveDown") # Move down to make sure cursor is out of the table hwp.HAction.Run("BreakPara") # Add a new paragraph break to ensure separation hwp.HAction.Run("MoveDown") # Move down again hwp.HAction.Run("BreakPara") # Add another paragraph break to ensure clear separation def write_to_hwp(xl, hwp_file, output_file): hwp = win32.Dispatch("HWPFrame.HwpObject") hwp.RegisterModule("FilePathCheckDLL", "AutomationModule") hwp.Open(hwp_file, "HWP", "forceopen:true") # "표1" 누름틀 찾기 hwp.HAction.GetDefault("AllReplace", hwp.HParameterSet.HFindReplace.HSet) hwp.HParameterSet.HFindReplace.FindString = "표1" hwp.HParameterSet.HFindReplace.ReplaceString = "표1" hwp.HParameterSet.HFindReplace.IgnoreMessage = 1 hwp.HAction.Execute("AllReplace", hwp.HParameterSet.HFindReplace.HSet) # 누름틀 위치로 이동 및 내용 삭제 hwp.Run("Select") hwp.Run("Delete") for idx, sheet_name in enumerate(xl.sheet_names): try: print(f"Processing sheet: {sheet_name}") data = clean_data(xl.parse(sheet_name, header=None)) print(f"Data from sheet {sheet_name}:\n{data}") if idx > 0: # 두 번째 시트부터는 줄바꿈 추가 hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = "\r\n\r\n" hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = sheet_name hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = "\r\n" hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) time.sleep(2) insert_table_in_hwp(hwp, data) move_cursor_outside_table(hwp) hwp.Run("BreakPara") hwp.Run("BreakPara") time.sleep(3) except Exception as e: print(f"Error processing sheet {sheet_name}: {e}") print("Traceback:") traceback.print_exc() hwp.SaveAs(output_file, "HWP") hwp.Quit() if __name__ == "__main__": latest_file = get_latest_download() xl = read_excel_data(latest_file) hwp_file_path = os.path.join(os.path.expanduser('~'), 'Desktop', '교육결과보고서.hwp') output_file_path = os.path.join(os.path.expanduser('~'), 'Desktop', '교육결과보고서(자동화).hwp') write_to_hwp(xl, hwp_file_path, output_file_path)
-
미해결'이것이 리눅스다' 저자의 Red Hat CentOS7 리눅스 서버&네트워크 강좌
vmware를 대체하는 프로그램 사용
안녕하세요회사에서 리눅스 전반적인 정리 차원에서 강의 들으려고 하는 사람입니다. 다름이 아니라 아무래도 회사이다보니 영상에서 소개된 vmware 사용이 불가할것 같다는 생각이 드는데 혹시 virtualbox나 hyper-v 이용해서 실습진행하면 무리가 있을까요?감사합니다.
-
미해결김영한의 실전 자바 - 중급 2편
강의 질문
Regular languages: deterministic and non-deterministic finite automata, regular expressions. Context-free languages: context-free grammars, push-down automata. Turing machines, the Chomsky hierarchy, and the Church-Turing thesis. Introduction to Complexity Theory and NP-Completeness. 안녕하세요 선생님. 항상 강의 잘 듣고 있습니다. 혹시나 이거를 다루어주시는 강의가 혹시 있을까요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
DRAM Flow 관련 질문
Precharge 상태가 왜 VDD와 동일한지 궁금합니다. 제 생각에는 0.5Vcc를 유지해야 하는게 아닌가 싶어서 질문을 드립니다.20:04초 그림을 보게되면 Precharge 상태에서 BL이 VDD와 동일하게 차 있는 것을 볼 수 있는데 이렇게 되면 Charge Sharing이 일어나게 되면 캐패시터에 Write되지 않은 상태(0.5Vcc)에서 무조건 전압이 높아지고, 센스 앰플에 의해 1의 신호가 전달되면 캐패시터의 값이 Write가 일어나지 않았는데도 1의 값을 저장하게 되는게 아닌가 싶어 질문 남깁니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
<p th:text="'안녕하세요.ddd ' + ${data}" >안녕하세요. 손님</p>
<p th:text="'안녕하세요.ddd ' + ${data}" >안녕하세요. 손님</p> 이 부분에서, 정작 p태그의 사이 공간에 들어가는 내용 즉, "안녕하세요. 손님" 이 부분은 아예 화면에는 렌더링이 안 되는 걸로 보이는데 이 부분은 그러면 개발자 입장에서는 주석처럼 사용하는 건가요? 타임리프에서 p 태그의 사이공간은 어떻게 활용되는지 궁금합니다.
-
미해결
How Can I Change My Name on an Etihad Airways Ticket?
With Etihad Airways, you can easily change your name on a ticket. Here are certain things to keep in mind while changing your name:You can change your name only through the call center or ticketing office of the airline.Request a name change or correction from the travel agent if you have made your booking through a third party.Different approaches apply to changing names for group trips. To change names with a group booking, contact the airline directly.You can’t change or correct your name through the airline’s website or mobile app.For any assistance, get in touch with the customer service team of the airline.You have to pay USD 100 or AU $150 (for tickets purchased in Australia) as a name change fee to Etihad Airways for any name corrections or changes. However, due to typographical errors, the airline doesn’t charge for changing a name title such as Mr./Miss/Mrs. or making name corrections of up to 3 characters.The airline charges an amount for changing or making corrections in the following cases:From maiden name to married name or vice versa.Adding a last name, surname, or middle name.Changing a name partially or completely, with valid proofs.Making changes from a shortened name or nickname to a complete name. For more information about the Etihad Airways name change policy and fees, visit Airtripgo.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
수업 자료가 잘못 업로드 되어 있는 것 같습니다~!
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 섹션1의 6번째 강의(출력 포멧과 입력) 수업 자료를 다운 받았는데 1번째 강의와 같은 예제파일이 들어있습니다(python-question1-web.ipynb) 해당 강의에 맞는 예제 파일로 바꿔주셔야 할 것 같습니다!!
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
checked 가상클래스에서 transform 속성을 사용할 때 관련 질문입니다.
'확장선택자 실전 퍼블리싱 5' 강의에서 .heading .text1 을 translateY 로 위치를 이동시켰을 때의 경우 다른 라디오 버튼을 눌렀을 때 이동했던 .text1 이 원래 위치로 돌아가는 모션이 보였는데, 이 강의에서 h1을 이동시켰을 경우에는 이동했던 h1이 이동한 위치에 그대로 머물러 있는 이유를 모르겠습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
GraphQLClient 설치 후 모듈을 못찾습니다.
코드상에서 graphQLClient 자동완성 알될때 부터 이상하였지만 import 하는부분 from 에서는 자동완성이 되었습니다.하지만 위 이미지 처럼 에러가 발생합니다.package.json 은 아래와 같습니다.node_modules 는 아래와 같습니다.설치됨을 다 확인하였으나 인식을 못하네요.tsconfig.json 에서 "module": "node" 에서 Bundler로 변경하니 해결되었습니다.이렇게 수정하여도 문제없을까요? 추가로 해당 이슈에 대해 발생 원인을 알 수 있을까요?
-
해결됨구글 애널리틱스 GA4 완전 정복 실무 마스터 클래스
탐색 분석 실무 신규방문자와 재방문자 분석 강의에서 세그먼트 설정 관련 질문드립니다.
탐색 분석 실무 신규방문자와 재방문자 분석 강의에서 세그먼트 설정 관련 질문드립니다. 세그먼트 유형에서 User와 Session 세그먼트의 차이가 세그먼트 포함 범위로 이해가 되는데요.왜 이번에 신규 방문자와 재방문자에 대한 구분을 할 때에 세션 세그먼트가 아닌 유저 세그먼트로 나눴나요?유저 기준으로 나누면 재방문/신규방문 모두 세션 번호가 1인 유저가 모두 포함될텐데, 그렇게 생각하면 세션 세그먼트로 나눠서 보는게 오히려 맞을 거 같아서요. 설명 부탁드립니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
100Mhz가 100만? 1억?
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)[1. 질문 챕터] : [Verilog HDL/FPGA 외전1 - 시계만들기] Chapter 1. 1초 만들기의 1분경[2. 질문 내용] : 에 100Mhz가 100만이라고 하시고 그 다음 문제들도 다 기술하시는데 1M이 10^6이면 1억 Cycle이 발생해야하는거 아닌가요?[3. 시도했던 내용, 그렇게 생각하는 이유] : 음... 그냥 곱해도 100X 1,000,000 이여서... 다른 분들도 분명 생각했을 건데 질문을 아무도 안했기에 너무 당연한거라 질문을 안한것인지 제가 뭔가 잘못이해한것인지 혼란스럽습니다.Verilog HDL/FPGA 외전1 - 시계만들기] Chapter 1. 1초 만들기
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
zipkin.jar 윈도우용 파일 제공이 가능할지요?
먼저 좋은 강의 감사합니다. 현재 윈도우 환경에서 강의를 듣고 있습니다. 집킨 파트를 수강하는데 zipkin.jar 를 받을수 있는 방법이 없습니다. 윈도우에서는 강의에서 나온 curl 명령에서 bash 명령어가 먹지도 않고 해서 제대로 다운로드도 안됩니다. 해서 zipkin.jar 파일을 따로 올려주실수는 없으실지 문의 드립니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
5번 정다면체 - 특정 길이의 리스트 선언 질문입니다.
cnt=[0]*(x+y+3) 에서 +3을 해주는 이유가 무엇인지 궁금합니다. x+y가 나올 수 있는 최대값이니, cnt = [0]*(x+y)만해도 되는 것 아닌가 했는데, list index out of range 라는 오류 메세지가 뜹니다. ㅠㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
MAX_NUMBER를 1'000'000까지 하면 답이 안나오는데 혹시 어떤게 문제인지 봐주실 수 있나요?
1,000번이나 100'000번까지 하면 바로 답이 나오는데 100만번으로 설정하면 계속 기다려도 감감무소식이라서 문제를 잘 모르겠습니다 ㅠㅠ. #include "pch.h" #include "CorePch.h" #include "CoreMacro.h" #include "ThreadManager.h" #include <iostream> // 소수 구하기 // 1과 자기 자신으로만 나뉘면 그것을 소수라고 함. Mutex m; bool CalculateRepeatToSelf(int32 selfNum) { int8 count = 0; for (int32 i = 2; i <= selfNum; i++) { if (count > 2) return false; if (selfNum % i == 0) { count++; } } if (count == 1) return true; return false; } int32 PreCalcuate(int32 order, int32 devision, int32 interval) { // 1, 10, 100'000 // 2, 10, 100'000 // 3, 10, 100'000 // ... // 10, 10, 100'000 int32 startNum = (order - 1) * interval + 1; int32 endNum = order * interval; int32 count = 0; for (int32 i = startNum; i <= endNum; i++) { if (CalculateRepeatToSelf(i)) count++; } return count; } int main() { const int MAX_NUMBER = 1'000'000; //const int MAX_NUMBER = 10'000; // 1229 //const int MAX_NUMBER = 1'000; // 168 // 1~MAX_NUMBER까지 소수 개수 // 멀티스레드로 병렬로 구해서 덧셈한다. /*for (int32 i = 1; i <= 20; i++) { if (CalculateRepeatToSelf(i)) count++; } cout << count << endl;*/ // ------------------------ vector<thread> threads; int32 devision = thread::hardware_concurrency(); int32 interval = MAX_NUMBER / devision + 1; atomic<int32> totalCount = 0; for (int32 i = 1; i <= devision; i++) { threads.push_back(thread([&totalCount, i, devision, interval](){ totalCount+= PreCalcuate(i, devision, interval); })); } for (thread& t : threads) { t.join(); } cout << "Total: " << totalCount.load() << endl; }
-
해결됨파이썬 알고리즘 트레이딩 파트2: Interactive Brokers API를 활용한 실시간 알고리즘 트레이딩
환경세팅에서 막히네요....
수업에 업로드된 yml파일로 환경을 복원해도 위와 같은 오류가 나타나서 진도를 못나갑니다.ㅠ PairTrading 임포트도 안되구여...ib_insync 는 개별설치하여 해결했구여...
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
CAS 와 동기화락 질문 있습니다!
안녕하세요. 영한님 강의 재밌게 잘 보고 있습니다. 몇 가지 궁금한 점이 있습니다 CAS가 버전을 사용하는 Optimistic lock의 개념이고 동기화 락이 Pessimistic lock 방식의 개념이라고 생각해도 될까요??2대 이상의 서버에 로드밸런싱이 적용 된 실제 운영 환경에서도 해당 방식들이 흔히 쓰이는지 궁금합니다~
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
이해확인 질문
두 가지 방법 (groups, 폼 객체 분리)에 대해 groups는 조건문 처럼 느껴졌고, 그래서 Item 클래스 하나만 이용해서 조건적 로직을 통해 각 컨트롤러에 입맛에 맞게 Item 객체에 검증을 수행하는 것 처럼 느껴졌습니다.이러한 조건문 적인 특징은 Item에 무언가 추가될 경우 수 많은 조건문들을 수정해야하는 느낌을 받았습니다. 또한 Item이 계속해서 바뀔 수 있겠다는 생각이 들었습니다. 이러한 과정에서 인터페이스로 연결된 수많은 컨트롤러에서 에러가 발생할 가능성이 있지 않을까 생각했습니다.반면 폼 객체 분리는 상황마다 Item과 비슷하지만 더욱 규제가 추가된, 입맛에 맞는 새로운 클래스를 구성해서 활용하는 . 데 있어서 더 확장적이라고 생각했습니다.제 이해가 맞을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 트랜잭션 전파
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]중복_회원_예외() 테스트에서 @Rollback(false)를 적용하고 테스트를 돌리면member1 & member2 모두 DB에 데이터가 들어가지 않는데이유를 생각해 보면 테스트에서 시작하는 중복_회원_예외() 메서드에서 2번의 조인 모두 @Rollback 이랑 @Transactional 모두 1개의 물리 트랜잭션에 묶여 있는 것이고 1개의 논리 트랜잭션인 2번째 join이 실패하였으니첫 번째 논리 트랜잭션은 @Rollback(false)이지만 해당 물리 트랜잭션이 실패 판정되어서 모두 롤백 되는 거겠죠?서비스 레벨에서 join()을 Propagation.REQUIRES_NEW를 통해 신규 물리 트랜잭션을 만드니까 예상대로 member1만 DB에 적용됩니다정리하면 테스트에서 붙이는 트랜잭션 또한 트랜잭션 전파 원리는 동일테스트에 트랜잭션을 붙이면 추가적으로 @Rollback(true)가 default로 붙는데 이 또한 같이 같은 원리로 전파된다가 맞을까요?