본문 바로가기

전체 글

[Windows] Failover Cluster 생성실패 (로그온 실패) 문제점 MSSQL MSCS를 구성하기 위해 장애조치(Failover) 클러스터를 구성하려고 하였습니다. 만들기 과정에서 계속 실패가 발생했고 원인을 알 수 없었습니다. 원인확인 이벤트 뷰어에서 관리자 이벤트를 살펴보았습니다. Cluster Service가 시작이 불가능했고 Service Control Manager에서 7024 오류가 발생하였습니다. Cluster Service 서비스가 서비스 특정 오류 로그온 실패 : 사용자는 이 컴퓨터에서는 요청된 로그온 유형을 허가받지 않았습니다. 때문에 종료되었습니다. 로그인에 문제가 있을 것 같아서 Windows 로그의 보안 로그를 확인했습니다. 내용을 보니 감사 실패 - 4625 가 발생하였고 상세 내용중 다음이 있었습니다. 로그온을 실패한 계정 계정 이름 C.. 더보기
[ReactJS] create-react-app의 실행 포트 변경 ReactJS로 프로젝트를 시작하면, 보통 create-react-app을 사용합니다. 개발을 하고 시작을 하려면 다음과 같은 명령을 실행하게 됩니다. yarn run start 그러면 http://localhost:3000으로 페이지가 열리게 됩니다. 실행 Port 변경하기 Start Script 수정하기 실제 start 스크립트를 보면 다음과 같이 포트를 설정하고 있습니다. const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000; 따라서 package.json 파일에서 scripts 부분의 start에 PORT 환경변수 설정을 추가합니다. 여기서는 Windows환경에서 9090포트로 변경하겠습니다. { ... "scripts": { "start": .. 더보기
[CUDA] Nvidia GPU Driver 호환 버전 CUDA를 활용할 때 버전에 맞는 Nvidia GPU Driver가 필요합니다. 버전호환표는 아래와 같습니다. CUDA Toolkit Toolkit 권장 버전 최소 요구 버전 Linux Windows Linux Windows CUDA 12.2 Update 2 >= 535.104.05 >= 537.13 >=525.60.13 >= 525.41 CUDA 12.2 Update 1 >= 535.86.09 >= 536.67 >=525.60.13 >= 525.41 CUDA 12.2 GA >= 535.54.03 >= 536.25 >=525.60.13 >= 525.41 CUDA 12.1 Update 1 >= 530.30.02 >= 531.14 >=525.60.13 >= 527.41 CUDA 12.1 GA >= 530.3.. 더보기
[Python 3.8] TypeError: 'type' object is not subscriptable 문제점 Python 3.8을 사용중인데 typing을 활용하여 타입에 대한 힌트를 지정할 때 다음과 같은 오류가 발생합니다. Traceback (most recent call last): File "main.py", line 13, in def test(num_list: list[int]) -> list[int]: TypeError: 'type' object is not subscriptable 원인 typing 힌트에서 제너릭에 대한 지원은 Python 3.9부터 시작됩니다. 관련 문서는 PEP 585 (https://peps.python.org/pep-0585/) 에 있습니다. 해결방법 1 Python에 대한 버전업이 가능하다면 3.9 이상으로 올리면 됩니다. 해결방법 2 Python에 대한 버전업이.. 더보기
[Python] 숫자를 문자열로 변경하기 (int to string, float to string) 원하는 것 파이썬에서 숫자를 문자로 변경하고자 합니다. 다른 문자열과 합치거나, 문자열 타입으로 저장해야할 때 필요합니다. 방법 1 str() 함수를 사용합니다. int_str = str(10) # 10 float_str = str(10.0) # 10.0 방법 2 f-string 을 활용합니다. num: int = 10 int_str = f"{num}" # 10 float_num: float = 10.0 float_str= f"{float_num}" # 10.0 방법 3 str.format() 을 활용합니다. num: int = 10 int_str = "{}".format(num) # 10 float_num: float = 10.0 float_str= "{}".format(float_num) # 10.0 더보기
[Python] 문자열을 연산자로 사용하기 원하는 것 문자열로 연산식을 받고 이것에 대한 계산결과를 보고 싶습니다. 예로 "3 + 2" 를 받으면 5이라는 결과를 받고 싶습니다. 해결방법 단순하게 if를 사용해도 eval 을 사용해도 됩니다. 그런데 eval의 경우에는 원하는 용도 이외에도 처리해버리기 때문에 위험합니다. 다른 방법으로 python에서는 operator 라는 패키지를 제공합니다. 이것을 활용하여 연산처리를 진행하면 됩니다. import operator ops = { "+": operator.add, "-": operator.sub, "*": operator.mul, "/": operator.truediv } input = "3 + 2" split_input = input.split(" ") print(ops[input[1]](in.. 더보기
[Docker] python 3.10에서 "RuntimeError: can't start new thread" 발생 환경 Python 3.10.13 Docker 3.18.03.1 문제점 기존 Python 3.8을 사용할 때는 별다른 문제가 없었으나 3.10.12로 Base 이미지를 변경을 하고 코드를 실행하는데 다음과 같이 오류가 발생하였습니다. Traceback (most recent call last): ... File "/usr/local/lib/python3.10/threading.py", line 935, in start _start_new_thread(self._bootstrap, ()) RuntimeError: can't start new thread Thread 생성시 오류가 발생하였습니다. 원인 기존 3.8을 사용할때는 Debian의 버전이 bullseye이었으나 3.10에서 bookworm으로 변경되.. 더보기
[Git] Your 'pull.rebase' configuration may also be set to 'preserve' 문제점 Git에서 rebase 명령을 실행하는데 다음과 같은 오류가 발생합니다. $ git rebase -i -p HEAD~1 fatal: --preserve-merges was replaced by --rebase-merges Note: Your `pull.rebase` configuration may also be set to 'preserve', which is no longer supported; use 'merges' instead $ 원인 옵션으로 -p를 넣을 경우 --preserve-merges 옵션이 적용됩니다. 해당 옵션은 더이상 지원하지 않습니다. 해결방법 -r (--rebase-merges) 옵션으로 변경하여 Rebase를 진행합니다. $ git -i -r HEAD~3 더보기