이전에 C#으로 제작해서 현재 판매중인 SMS 전송기 프로그램을 업데이트 하였습니다.
관련글 : https://pgh268400.tistory.com/283
1. 더블 버퍼링 적용해서 DataGridView 스크롤 렉 제거
2. 엑셀 파일 읽는 Logic을 비동기적으로 변경
- DataGridView 로딩하는건 Invoke() 를 이용해서 Thread-Safe하게 작업
- 성능 향상을 위해 C#의 나름 최신 기술인 Task랑 async & await 를 도입해서 엑셀 파일을 로딩합니다. 이래도 데이터 다 불러오고 DataGridView에 데이터 바인딩할때는 Invoke때문에 메인 쓰레드에서 처리해야되서 여전히 데이터가 크면 로딩할 때 프리징 걸립니다 ㅡㅡ. 이건 근본적으로 DataGridView 성능이 구진거라 어쩔 수 없는듯 ㅠㅠ
WPF 공부하고 싶은데 자료가 없어서 독학이 어렵네요. . 책도 없고 ;
3. 양식을 선택하면 이렇게 버튼 하이라이팅 되고 각 양식 버튼의 내용들을 기억합니다.
- 또 API Key랑 Encryption Key 값도 기억합니다.
- 일단은 평문으로 ini 파일로 저장해두는데 보안을 위해서 추후 해쉬 함수로 암호화 해서 저장할 예정입니다. 뭐 .NET 이 보안을 해봤자 얼마나 막히겠냐만은...
4. 버그로 체크박스 2개씩 뜨던 것 해결
- 기존에 DataGridView는 체크박스를 추가하는 기능이 없어서 열(Column) 부분에 수동으로 체크박스 객체를 추가하고, 열 부분에 텍스트 대신 모든 체크박스 추가는 인터넷 소스를 참고하여 직접 Paint를 이용해 그리는 것으로 해결하고 있었습니다. 근데 공개된 코드에 버그가 많아서 가끔 이렇게 체크박스가 2개씩 뜨던걸 해결했습니다.
사실 나중에 와서 웹 버전도 만들긴 했는데 ㅎㅎ; 아직 서비스나 배포용도로 사용하기엔 비용이 들어서 개인적으로만 사용하고 있네요.
'프로그래밍 > Talk' 카테고리의 다른 글
PC방 프로그램 불법 프로그램 감지에 대한 고찰 Feat. Python - 크롬 창 이름 못보게 하기 (0) | 2023.04.10 |
---|---|
[Patch Notes] 네이버 웹툰 다운로더 수정 및 기능 추가 준비 (3) | 2023.03.05 |
IDA PRO는 신이다. (0) | 2022.12.26 |
2023 강의 작성 고민중입니다. (0) | 2022.12.19 |
아 내가 해냈다. [과제 제출 성공] (0) | 2022.12.01 |