본문 바로가기

프로그래밍10

[python3 & 2] 쓰레드 thread 에서 반환값 return value 얻는 방법은? thread는 프로그램에 여러 로직 간에 동시성을 갖게 해주는 아주 중요한 요소입니다. 보통의 프로그램은 하나의 로직으로만 수행되지 않고 여러 로직이 동시적으로 수행되어 지게 됩니다. 오늘 포스팅에서는 쓰레드 thread 에서 반환값 return value 를 얻는 방법에 대하여 포스팅 하려고 합니다. 방법1. 전역번수 사용 일반적으로 쓰레드를 시작하게 되면 반환값은 없이 해당 쓰레드는 로직을 마치면 자동으로 종료되게 됩니다. 그 전에 원하는 값을 공통으로 접근 할 수 있는 변수에 저장할 수 있다면 반환값이 있는 함수처럼 사용할 수 있게 됩니다. from threading import Lock from threading import Thread #전역변수 data_list = [] lock_for_dat.. 2023. 4. 17.
[python3] 경과시간 확인 방법 & 잡설... 프로그래밍을 하다보면 로직이 얼마나 오랜 시간이 걸렸는지 또한 중요한 요인이 된다. cpu 자원과 사용자의 인내력이 무한대라면 좋겠지만 그렇지 않기 때문에 무심코 지나칠 수 없기도 하다. 원래는 c# 개발자이나 이제 1년간의 달콤한 휴직기간 또한 끝나가던 차에 hello world 프린트 하는 것도 잊어 버릴것 같아 사이드 프로젝트로 파이썬을 이용해서 크롤링 crawling 을 해보고 있었습니다. python 을 처음 해봤는데 언어 자체는 간단명료하고 사용자 친화적이란 느낌을 많이 받았습니다. ide 는 vs code 를 사용해서 그런지 visual studio 를 사용하던 기억이 있어 디버깅은 아직 익숙치가 않습니다. 크롤링 crawling 을 처음 해보면서 python 에는 강력한 외부 라이브러리들이.. 2023. 4. 15.
M1 Mac 에서 flutter 설치 시, flutter doctor --android-licenses 오류 종류 및 해결 방법 저와 같이 m1 mac 에서 flutter 설치 중 아래와 같은 오류 발생 시 참고 하시기 바랍니다. 1. username@machinename ~ % flutter doctor --android-licenses The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. 해.. 2023. 2. 10.
[C#][.NET framework] Directory.GetFiles() 로 여러 확장자 필터링 하기 지난번 포스팅에서 폴더 내 파일 목록을 가져오는 방법에 대해 공유 했다면 이번엔 복수개의 확장자로 필터링 하는 방법에 대해 포스팅 하려고 한다. var files = Directory.EnumerateFiles("C:\\path", "*.*", SearchOption.AllDirectories) .Where(s => s.ToLower().EndsWith(".mp3") || s.ToLower().EndsWith(".jpg")); 위 코드와 같이 *.* 로 전체 검색 후, 경로의 마지막이 필터링 원하는 확장자인지 LINQ 를 통해 추출할 수 있다. ※기존엔 Directory.GetFiles() 함수를 사용했다면, 해당 함수에 '메모리 이슈'가 있다고 하여 Directory.EnumerateFiles 함수 사.. 2021. 8. 25.
[C#][.Net Framework] 폴더 내 파일 목록 가져오기 이것도 역시 아이폰 사진 정리 프로그램 개발 중 알게된 팁을 공유하고자 한다. 폴더 내 파일 목록을 가져오는 방법은 'Directory.GetFiles()' 함수를 이용하면 간단하다. //하위 디렉토리 포함하여 확장자가 mov 인 파일(*.mov) 목록만 조회하기 string[] path = Directory.GetFiles(SrcPath, "*.mov", SearchOption.AllDirectories); //해당 디렉토리에서만 모든 파일(*.*) 목록 조회하기 string[] path = Directory.GetFiles(SrcPath, "*.*", SearchOption.TopDirectoryOnly); 파일 갯수에 대한 제한은 찾을수가 없었지만, 필자가 테스트 해본바로 27,000개 파일 배열도.. 2021. 8. 24.
[C#][.Net Framework] 사진,영상 메타데이터 얻는 방법 아이폰 사진 정리 프로그램을 제작하면서 사진 및 영상의 메타데이터를 얻어올 필요가 있었다. 여러가지 검색해 본 결과, 아래 C# API 를 사용하는것이 가장 간편하고 정확했다. Nuget 패키지 관리를 접속하여 'MetadataExtractor' 를 검색하여 설치합니다. 코드는 아래와 같이 함수를 만들어 사용하면 편합니다. public static string GetMetaData(string filePath, string directoryName, string tagName) { IEnumerable directories = ImageMetadataReader.ReadMetadata(filePath); MetadataExtractor.Directory directory = directories.Wher.. 2021. 8. 24.
반응형