분류 전체보기 41

[ wpf ] 리스트뷰에 바인딩된 데이터 색상 변환 IValueConverter

1. converter 클래스 파일 생성 2. xaml 에서 변환기 호출 csharp 성적 별로 다른 색상으로 변경 xaml c# public class Student { public string name { get; set; } public int java { get; set; } public int csharp { get; set; } public int python { get; set; } public int age { get; set; } } public class ColorConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { So..

WPF 2023.01.03

[ c# ] mysql bulk insert

큐에 담긴 데이터 insert 하는데 한번에 하나씩 인서트 하니까 성능 너무 떨어짐 그래서 한번에 여러개 넣을 수 있게 함 auto increment 여부 상관 없음 와중에 테이블 외래키로 묶여있으면 못 한다는거 같음 public void BulkInsert(ConcurrentBag Rows) if (Rows.Count > 0) { string connection = "Server=ip;User ID=id;Password=pw;Database=db_name;Port=port"; using (MySqlConnection mConnection = new MySqlConnection(connection)) { StringBuilder sCommand = new StringBuilder("INSERT INTO ..

C#/c# 2023.01.01

[ c# ] mysql db 조회시 페이징 이용 (너무 많은 데이터 받아와야할때 사용)

mysql 에서 데이터 조회해와야 하는데 한번에 받아오는 데이터개수가 몇십만개~몇백만개 이상일때도 있음 그럼 무작정 타임아웃나지않게 걸어두고 마냥 기다릴수는 없으니 페이징 처리해서 디비 id (auto increment) 값으로 10000개씩 받아오게 함 public class TestResult { public long id { get; set; } public string name { get; set; } public int score { get; set; } public DateTime time { get; set; } } static void Main(string[] args) { while (true) { using (var connection = new MySqlConnection("Serve..

C#/c# 2022.12.30

[ python ] curses 이용해서 값만 업데이트 되는 터미널 프로그램 만들기

환경설정 Ubuntu 18.04 64bit 언어 / 라이브러리 등 python pika easynetq thread curses 개요 c# 으로 1초 마다 데이터 업데이트 하는 코드 작성 python 으로 1초마다 데이터 업데이트 되는지 모니터링 하는 터미널 프로그램 만듦 왼쪽 파이썬 터미널 프로그램 / 오른쪽 c# 데이터 보내는 쪽 c# 간단하게 랜덤값으로 2개씩 데이터 보냄 public class Monitoring { public int TestCount { get; set; } public int Test1Count { get; set; } } class CreateTestDataSet { readonly IBus bus; IExchange exchange = null; System.Timers...

파이썬/python 2022.12.28

[ Linux ] 리눅스 프로세스 스케줄링 크론탭 , crontab 사용법

리눅스 서버에서 도는 서비스에서 매 시간마다 폴더 생성하고 서비스 돌려야하는데 코드로 구현하는것보다 리눅스 스케쥴링인 크론 사용하면 코드 한줄로 끝낼 수 있어서 편리함 크론탭 설치 apt update -y apt install -y cron service cron start systemctl enable cron.service systemctl list-unit-files | grep cron * 만약 인터넷이 되지 않는 환경이라면 파일 다운받아서 사용해야함 [ 스크립트로 사용하는 법] 크론탭 수정 - 매일 밤 11시 55분에 폴더 생성 - 매일 자정 24시에 Run 프로젝트 실행 crontab -l | { cat; echo -e "55 23 * * * /home/create_folder.sh\n 00 ..

linux 2022.12.28

[ c# ] 매일 밤 12시 폴더 생성 , 폴더 삭제 Task 이용

폴더 생성 태스크 while (true) 현재 요일 폴더 있는지 확인함 없으면 생성 현재 시간과 오늘 오후 11:59 시간 차이 계산 시간 차이만큼 sleep 폴더 제거 태스크 while (true) 설정된 시간 (한 달)보다 더 오래된 폴더 제거 현재 시간과 다음 날 0:00 시간 차이 계산 시간 차이만큼 sleep try { string firstHttpFolderPath = "." + "/" + DateTime.Now.ToString("yyyyMMdd"); DirectoryInfo firstDi = new DirectoryInfo(firstHttpFolderPath); if (firstDi.Exists == false) { firstDi.Create(); } Task.Factory.StartNew(..

C#/c# 2022.12.28