최류현의 컴퓨터 정보공간

👩🏻‍💻프로그래밍/Python

파이썬(Python) input()대신 명령 인자값 받아 처리하기 argv

프로그래밍을 하다보면 명령줄을 통해 프로그램에 값을 전달해야하는 경우가 종종 있습니다. C언어에서는 argc와 argv를 통해 이를 처리할 수 있는데 명령 인자를 받아 처리하는 방법에 대해 자세히 알고 싶다면 이전에 작성한 글을 참고해주세요 (C언어 main함수의 매개변수 argc, argv) 파이썬에서도 C언어와 비슷한 방식으로 sys.argv를 사용하여 명령 인자값을 처리할 수 있습니다. 이번 글에서는 파이썬에서 sys.argv를 활용하는 방법을 예제와 함께 알아보겠습니다. 파이썬 sys.argv파이썬에서는 sys 모듈의 argv 리스트를 사용하여 명령줄 인자를 처리할 수 있습니다. python file.py sam예를들어 터미널에 다음과 같은 방식으로 파이썬 파일을 실행할 수 있습니다. 명령어에서 ..

👩🏻‍💻프로그래밍/Python

파이썬 No GPU found. A GPU is needed for quantization 오류 해결방법

파이썬에서 AI모델을 실행시켜 보니 RuntimeError가 발생하여 GPU를 찾을 수 없다고 출력됩니다.알아보니 위의 오류가 발생하는 것은 PyTorch가 GPU를 인식하지 못하기 때문에 발생하는 문제입니다.  CUDA Toolkit 설치엔비디아 그래픽을 사용하면 먼저 CUDA Toolkit을 설치해야 합니다.(링크)  추가적으로 cuDNN에서도 CUDA버전과 호환되는 압축파일을 내려받습니다.(링크) C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.5첫 번째 파일 설치 후 두 번째로 cuDNN에서 내려받은 압축파일은 해제한 다음 위 경로에 덮어씌워야 합니다.12.5 버전은 포스팅 시점에서 설치한 버전이기 때문에 본인이 설치한 버전으로 폴더가 생성되어 있..

👩🏻‍💻프로그래밍/node.js

[node.js] MongoDB에 데이터 삽입시 만료기간후 자동삭제 설정

MongoDB TTL인덱스node.js에서 서버로 데이터를 입력하거나 출력할 때 사용할 수 있는 데이터베이스 중 하나로 MongoDB가 있습니다. 사용 방법도 간단하고 자료가 많아서 node.js를 막 시작했을 때 접해보기 좋습니다. MongoDB에서는 'TTL (Time To Live)' 인덱스를 사용하여 일정 시간이 지나면 자동으로 데이터가 삭제되도록 할 수 있습니다.(공식 문서 참고)  만료시간 설정하기await db.collection('테이블이름').createIndex({ "createdAt": 1 }, { expireAfterSeconds: 3600 })MongoDB 클라이언트를 통하여 'createAt' 필드에 대한 TTL인덱스를 생성할 수 있습니다.여기서 'expireAfterSecond..

👩🏻‍💻프로그래밍/node.js

[Node.js express] alert경고창 띄운후 페이지이동 (한글깨짐 해결하기)

Nodejs에서 alert를 사용하여 경고창을 띄워야 하는 경우가 있을 수 있습니다.이럴 때 자바스크립트를 사용하여 경고문을 띄운 후 이동하고자 하는 페이지로 이동하는 코드까지 함께 작성해 보겠습니다.  res.write("") res.redirect('/')먼저 alert문과 페이지 이동을 각각 나눠서 이런 식으로 작업하게 되면 아래와 같은 오류를 만나볼 수 있습니다. node:_http_outgoing:659     throw new ERR_HTTP_HEADERS_SENT('set');   app.get('/', (req,res)=>{ try{ const id = req.params.id } catch(e){ res.writeHead(200, {'Con..

👩🏻‍💻프로그래밍/각종 오류

C언어 GCC 컴파일 에러

GCC컴파일 에러리눅스 환경에서 c언어 파일을 작성하고 gcc컴파일 명령을 실행하였더니 정상적으로 컴파일되지 않고 다음과 같은 오류가 발생하였습니다. note: include ‘’ or provide a declaration of ‘printf’   오류 해결방법대부분의 경우 stdio.h파일을 제대로 불러오지 못해서 발생하는데 작성한 소스코드를 살펴보면 오타로 인한 경우가 많습니다.사진처럼 inlcude로 오타를 입력할 경우에도 같은 오류가 발생할 수 있습니다. 다음과 같이 스펠링이 틀리지 않게 수정해 준 뒤 다시 컴파일하면 정상적으로 컴파일됩니다.

👩🏻‍💻프로그래밍/Tailwind CSS

Tailwind CSS IntelliSense 설치 및 자동완성 오류 해결법| VSCode

VSCode에디터에서 Tailwind CSS의 자동완성을 도와주는 IntelliSense확장프로그램 설치하면 Tailwind 문법을 사용할 때 일부만 입력해도 자동완성이 되거나 실제 css스타일을 미리 보는 등 굉장히 편리하게 사용할 수 있습니다. 근데 직접 설치해보니깐 설치를 해도 자동완성이 되지 않아서 문제 해결 방법을 찾아보다가 몇 가지 설정이 필요한 걸 알게 되어 설치 방법부터 자동완성 오류 해결 방법까지 공유해드리려고 합니다. Tailwind CSS IntelliSense 설치아직 Tailwind CSS IntelliSense 확장프로그램을 설치전이면 VScode 좌측메뉴 extensions에서 설치합니다. 저는 이미 설치가 되어있기때문에 Disable라고 표시되지만 최초 설치 시에는 insta..

👩🏻‍💻프로그래밍/Tailwind CSS

Tailwind 사용법 UI구성요소 버튼,텍스트박스 등 코드 얻는법

Tailwind 공식문서 UI구성요소Tailwind에서 사용할 수 있는 문법들을 사용하려면 보통 공식문서를 참고하여 코드를 참고합니다.(링크) 공식문서에서는 부트스트랩처럼 UI 구성요소(Elements)도 별도로 제공을 해줍니다. 그 예시로 버튼에 대한 다양한 요소코드를 제공하는데 Get the Code를 눌러 코드를 확인하려고 하면 유료 결제가 필요합니다. 금액대별 플랜을 구매하면 tailwind에서 제공하는 UI요소에 대한 코드를 평생 사용할수 있긴 하지만 당장 일부 요소들은 이미 업로드된 수많은 코드들이 있습니다.  무료 Tailwind CSS 구성요소Flowbite는 Tailwind CSS의 요소들을 바로 사용할수 있도록 코드로 제공합니다.(링크)Flowbite에서는 부트스트랩에서 제공하는것처럼 ..

👩🏻‍💻프로그래밍/Python 문제풀이

백준 1427번 소트인사이드 | [BACKJOON/Python / 1427]

문제링크 문제배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.  출력첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 예제 입력 & 출력 풀이num = list(input())num.sort(reverse=True)print(''.join(num))문제에 주어진대로 내림차순 정렬하기위해서는 sort 정렬함수에다가 reverse값을 True로 주면됩니다.기본 sort()함수는 리스트 오름차순 정렬입니다. 그리고 출력할때 .join함수를 사용하여 num리스트를 문자열로 공백없이 출력합니다.

👩🏻‍💻프로그래밍/Python 문제풀이

백준 1181번 단어 정렬 | [BACKJOON/Python / 1181]

문제링크  문제알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.길이가 짧은 것부터길이가 같으면 사전 순으로단, 중복된 단어는 하나만 남기고 제거해야 한다.입력첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.   출력조건에 따라 정렬하여 단어들을 출력한다. 예제 입력 & 출력  풀이N = int(input())inpp = []for i in range(N): word = input() if word not in inpp: # 중복되지 않는 단어만 리스트에 추가합니다. inp..

👩🏻‍💻프로그래밍/각종 오류

파이썬 null bytes 오류 해결법

파이썬에서 파일 실행 시 source code string cannot contain null bytes라는 오류가 출력됩니다.원인은 파일의 인코딩 문제로 발생하는데 읽어오려는 파일의 인코딩 방식을 UTF-8로 변경하면 해결됩니다.vscode 에디터를 사용하면 에디터 하단에 현재 파일의 인코딩 유형을 확인할 수 있습니다.  인코딩 변경전읽어오려는 문제의 파일 인코딩 변경 전 UTF-16 LE라고 표기되어 있습니다.  인코딩 변경 후인코딩 방식을 클릭한 다음 UTF-8로 변경해 주면 됩니다.이때 변경하는 과정에서 기존의 텍스트 내용이 깨지니깐 코드를 복사해 둔 다음에 인코딩 변경 후 다시 붙여 넣어주시는 걸 권장해 드립니다.

최류현의 블로그
'👩🏻‍💻프로그래밍' 카테고리의 글 목록