잡다한 이야기

Language 4

[C#] Semaphore를 사용한 동기화

세마포어는 동시에 엑세스할 수 있는 쓰레드 풀을 제한합니다. 다중 쓰레드에서 하나의 자원에 접근할 때 세마포어는 허용된 Concurrent 갯수 이상은 대기하도록 하고 처리가 완료되면 완료된 쓰레드 개수만큼 다음 쓰레드가 실행되도록 할 수 있습니다. //세파포어 선언 private static Semaphore _resourcePool; //한번에 허용할 수 있는 최대 쓰레드 수 private static int _maximumThreads = 3; [TestMethod] public void Semaphore_TestMethod() { //세마포어를 할당한다. //초기 실행 가능한 쓰레드는 0 //최대 실행 가능한 쓰레드는 3 _resourcePool = new Semaphore(0, _maximumT..

Language/C# 2024.04.12

[IT프로젝트] 세금계산서 자동화 #3

1. cell()함수를 이용해 특정 셀의 값을 가져올 수 있다. # 셀 주소로 값 출력 print(load_ws.cell(row=7, column=3).value) 결과화면 2. max_row, max_column으로 최대 행, 열값을 가져온다. # 시트의 최대 행과 열의 값 max_ro = load_ws.max_row max_col = load_ws.max_column print("maxro : " , max_ro) print("max_col : " , max_col) 결과 화면 3. 반복문을 이용해서 코드, 상호명, 사업자번호, 금액, 배수를 딕셔너리 형태로 저장한다. # 값을 저장할 딕셔너리 명 : dic # 순서 : 코드, 상호명, 사업자번호, 금액, 배수 dic = {} for num in ra..

Language/Python 2022.12.28

[IT프로젝트] 세금계산서 자동화 #2

1. Visual Studio Code를 사용하기 위해 python 확장 프로그램을 설치해줍니다. 2. Python 홈페이지로 가서 python을 다운로드한 후 설치해줍니다. https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 3. 윈도우 검색에서 [고급 시스템 설정 보기]를 실행합니다. 고급탭 > 환경변수 > Path변수 편집 4. 사용자와 시스템 변수의 Path에 아래의 2가지를 추가해주세요. C:\Users\[사용자명]\AppData\Local\Programs\Python\Python311 C:\Users\[사용자명]\AppData\Local..

Language/Python 2022.12.20

[IT프로젝트] 세금계산서 자동화 #1

프로젝트 개요 프로젝트 명 세금계산서 자동화 툴 개발 목적 기존 세금계산서를 발행하는 방식을 좀 더 간편하게 하고자 함. 현행 업무 현황 천년경영(ERP)프로그램에서 해당 월의 거래내역을 엑셀파일로 받고, 이를 정리하여 세금계산서 양식에 일일히 작성함. 소요시간이 크다는 문제점이 있다. 개발언어 Python 개발기간 2022-12-16 ~ 2022-12-31 알고리즘 //천년경영 엑셀파일을 업로드한다 //세금계산서 엑셀파일을 업로드한다. //업로드 한 천년경영파일의 행을 추출한다. //세금계산서파일에 저장했던 데이터를 입력한다. //수정한 세금계산서파일을 저장한다. 조사 openpyxl 사용 (https://wikidocs.net/91661) 안될 경우에는 .csv파일로 변환하여 pandas 사용

Language/Python 2022.12.16