C# SMS 전송기 소소한 업데이트

프로그래밍/Talk 2023. 1. 26. 23:29

이전에 C#으로 제작해서 현재 판매중인 SMS 전송기 프로그램을 업데이트 하였습니다. 관련글 : https://pgh268400.tistory.com/283 1. 더블 버퍼링 적용해서 DataGridView 스크롤 렉 제거 2. 엑셀 파일 읽는 Logic을 비동기적으로 변경 - DataGridView 로딩하는건 Invoke() 를 이용해서 Thread-Safe하게 작업 - 성능 향상을 위해 C#의 나름 최신 기술인 Task랑 async & await 를 도입해서 엑셀 파일을 로딩합니다. 이래도 데이터 다 불러오고 DataGridView에 데이터 바인딩할때는 Invoke때문에 메인 쓰레드에서 처리해야되서 여전히 데이터가 크면 로딩할 때 프리징 걸립니다 ㅡㅡ. 이건 근본적으로 DataGridView 성능이 ..

Article Thumbnail
[Python] 구글 코랩(Google Colaboratory)에서 Selenium 사용하기

프로그래밍/Python 2023. 1. 22. 21:15

안녕하세요 파일입니다. 오늘은 Google Colab에서 Selenium을 사용하는 방법에 대해 포스팅 하겠습니다. 구글 코랩은 Jupyter NoteBook과 비슷한 방식으로 실행되는데 저도 정확하게 아는 것은 아니지만, 서버가 실행되서 그 웹페이지에서 코딩을 하고 거기서 코딩을 하면 서버가 커널을 실행해 코드를 연산합니다. 참고 : https://tobefreein2040.tistory.com/10 3. Jupyter Notebook 안녕하세요. 자꿈두입니다. 오늘 공부할 내용은 Jupyter Notebook입니다. Jupyter Notebook? Anaconda를 설치하게 되면 자동으로 설치되는 응용 프로그램중 하나입니다. Jupyter Notebook을 사용하게 되면요 1. 코 tobefreein..

Article Thumbnail
IDA PRO는 신이다.

프로그래밍/Talk 2022. 12. 26. 21:05

CrackMe 풀면서 올리디버거 쓰다가 한번 써봤는데 진짜 그래프 모드만 봐도 달달하네요. 디버깅 모드 키면 지금 깜빡깜빡 거리면서 어디로 점프뛸지도 알려주고, F5 누르면 C언어 비슷하게 복구도 해주고 (디컴파일) Main 함수도 찾아주고.. 진짜 효자가 따로 없습니다. 이 프로그램 쓰면서 아쉬운건 제 지능이네요 ㅋㅋㅋ.. 윈도우 API도 귀찮아서 공부안하고 VB6.0 으로 만들어진 구닥다리 프로그램 구조도 잘 모르고.. 이건 몰라도 되긴한데 IDA도 기능이 엄청 많은거 같은데 좀 더 공부해봐야 겠습니다. IDA Pro 쓰면서 딱 한가지 아쉬웠던 점은 프로그램에 패치(어셈블) 하는 단축키가 없다는 점이였네요. 디버깅 하면서 어셈블리 코드 바꾸는데 Edit - Patch - Assemble 을 계속 눌러..

Article Thumbnail
VMWare VSCode SSH 원격으로 연결해서 프로그래밍 하기

프로그래밍/VSCode 2022. 12. 20. 22:21

안녕하세요 파일입니다. 오늘은 VMWare 안에서 돌리는 리눅스와, 윈도우가 깔린 메인 PC에서 VSCode를 실행해서 SSH로 원격으로 코딩하는 방법을 알아 보겠습니다. 이렇게 하면 메인 PC에서 VSCode로 무언가 작성해서 컴파일 후 프로그램을 실행시키면, 실제로는 SSH로 연결되어 있는 VMWare안의 리눅스 쪽에서 코드가 실행되서 리눅스 환경에서 실행한것과 동일한 효과를 낼 수 있게 됩니다. 즉 느려터진 가상머신 VMWare안에서 VSCode 키고 코딩하는게 아니라 윈도우쪽에서 VSCode켜서 빠르고 편리하게 코딩한다음에, 실행은 실제로 SSH로 연결된 리눅스 쪽에서 실행시키는 겁니다. 일종의 원격(?) 프로그래밍 이라고 볼 수 있겠네요. Why Use? 윈도우에서 리눅스 환경으로 실행하고 싶으..

Article Thumbnail
2023 강의 작성 고민중입니다.

프로그래밍/Talk 2022. 12. 19. 21:23

현재 제 블로그에서 제대로 강의 작성된 글이 C랑 Python 정도 밖에 없습니다. 사실 완성도가 제일 높은건 C고 Python은 2달도 안되는 기간에 작성해서 내용이 좀 허접합니다. 그래서 추가로 강의글을 작성해볼까 하는데 현재 작성에 고민중인 내용은 아래와 같습니다. 1. 시스템 소프트웨어 2. 자료구조 3. C# 4. Java 사실 1, 2 는 강좌라기 보다 그냥 강의 노트 정리에 가까울 거 같고 C#이나 Java 중에 더 작성하기 만만해보이는건 자료가 좀더 많은 Java인데 실제로 제가 많이 써본건 C#이라 고민이 되는군요 총총... 기록 안하면 또 다 까먹어버릴탠데.. 고민을 좀 해봐야겠습니다

Article Thumbnail
아 내가 해냈다. [과제 제출 성공]

프로그래밍/Talk 2022. 12. 1. 02:20

앞에서 시달리던 과제 제출에 드디어 성공했습니다. 이걸 제출 성공하네.. 빨리 C랑 C++ 망하고 Rust 가 다 독차지 해버렸으면 좋겠네요 ㅎㅎ. 아마 이번 과제는 난이도상 제출 성공 인원이 그래봤자 10명 안밖이 아닐까 싶습니다. 요새 C언어 과외까지 해서 나름 C언어 내용에 꾀차고 있다고 생각했는데 이중 연결 리스트 구현에서 제 머리가 터져버렸습니다 진로 관련해서는 이미 있는거 뜯는 보안쪽이나(디어셈블리) Python, Java 같은 High Level 개발자가 마음에 갑니다. 이번에 OS 스케줄러 구현에 시달리면서 느꼈는데 커널 개발이나 시스템 프로그래밍은 제 분야가 아닌거 같아효 ㅎㅎ 그냥 추상화된 문자열 타입이나 Syntatic Sugar 이 행복하단걸 몸소 채감했습니다. 그리고 리눅스에서 C..

Article Thumbnail
[C/C++] 연결리스트 구현은 되도록 라이브러리(인터넷)를 사용합시다

프로그래밍/Talk 2022. 11. 29. 00:58

혹시 본인이 과제로 연결 리스트를 구현할일이 생겼다? 그러면 본인이 정말 머리가 잘돌아가는 유능한 프로그래머가 아니라면.. 되도록 인터넷이나 라이브러리를 참고해서 구현하는것을 추천드립니다. (사실 참고하라곤 했는데 복붙하고 유사도 검사 피하기 위해 변수 이름 정도만 바꾸는게 편합니다.) 아니 직접 구현하는게 자기 실력느는데 무슨 소리냐? 네 이것도 맞습니다.. 당연히 자기가 직접 구현해봐야 실력이 늘지요 ㅎㅎ; 근데 단일 연결리스트는 직접 구현한다고 쳐도, 이중 연결 리스트는 정말 제대로 생각했는데도 C/C++ 동적할당 & 포인터 특성상 NULL 포인터를 참조한다던가, 잠정적으로 어디선가 문제가 터져서 공포의 Segmentation Fault(메모리 참조 오류) 를 만날 가능성이 높습니다. 그러므로 되도..

Article Thumbnail
[C] 쓰레드 스케줄러 과제 구현 90% -> 50%...

프로그래밍/Talk 2022. 11. 27. 03:34

pthread 계열의 Thread 함수를 직접 구현하고, 스케줄러까지 구현해서 쓰레드를 Round Robin 형태로 스케줄링 실행하는 과제를 진행하고 있습니다. 저번에는 비슷하게 시스템 콜로 Tree를 구현했었는데 이번건 진짜 말도 안되게 어렵네요. 머리가 아파집니다. 분명 다 제대로 구현했다고 생각했는데 thread_join() 구현하는 부분에서 계속 프로그램이 터지네요 ;; 과제하라고 테스트 케이스를 던져줬는데 계속 내용도 바뀌고 출력이 어떻게 나와야 한다는 것도 없으니 제대로 진행하고 있는지도 모르겠고 짜증만 납니다 ㅡㅡ. C로 연결리스트도 만들고, 컨텍스트 스위칭도 구현해보고, clone() 으로 쓰레드도 생성해보고 사실 초반에 잘 돌아갈때까진 나름 즐거웠는데 join 에서 막히니 시간은 계속 뺏..

Article Thumbnail